[Модуль] Xiaomi Home (xiaomihome)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
cepxuo
Сообщения: 98
Зарегистрирован: Вт май 02, 2017 7:31 am
Благодарил (а): 31 раз
Поблагодарили: 6 раз

Re: Модуль поддержки Xiaomi Smart Home

Сообщение cepxuo » Вт сен 25, 2018 4:33 pm

Ron писал(а):
Вт сен 25, 2018 12:20 pm
Да что вы прилепились к no_motion?
У меня на no_motion натравлено управление выключением света. Всё работает как часы.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver » Вт сен 25, 2018 4:51 pm

Krinopotam писал(а):
Сб сен 22, 2018 5:04 pm
С датчиками движения все-же что-то не то.
Все с ними нормально. Логика работы обсуждалась неоднократно. Читайте тему, я уже писал viewtopic.php?f=5&t=3644&hilit=no_motio ... 070#p82467

Лично для вас дублирую:
Шлет события о движении (1) не чаще раза в минуту (экономия батареек). Событие о завершении движения (0) не шлет вообще, только доп. статусы no_motion через 2, 3, 5, 10, 20 и 30 минут. Чтобы определять окончание движения (по большей части для графиков мне надо), я запускаю таймер при приходе каждой 1-ки от датчика, который выставляет статус в 0 через 65 сек. Если движение продолжается, то датчик снова пришлет 1 и таймер окончания движения сдвинется еще на 65 сек.

События о движении (единички) прилетают в МДМ моментально. Никаких глобальных задержек у себя не наблюдаю.
За это сообщение автора skysilver поблагодарил:
Krinopotam (Чт сен 27, 2018 8:58 am)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

Re: Модуль поддержки Xiaomi Smart Home

Сообщение Krinopotam » Ср сен 26, 2018 9:02 pm

Ron писал(а):
Вт сен 25, 2018 12:25 pm
UPD
Я не правильно выразил свою мысль в тексте.
Я к тому что тянуть из датчика свойство no_motion - это заморочь.
Используйте статус motion и вокруг него в мажорике описывайте алгоритм зависимостей. Все быстро и четко. Раз в минуту, что очень даже норм все отрабатывает четко.
Да то и сбивает с толку, что motion всегда равен 1.
Сейчас разобрался, что несмотря на то, что значение свойства не меняется, он может запускать метод при обнаружении движения.
Изначально это не очевидно.
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

Re: Модуль поддержки Xiaomi Smart Home

Сообщение Krinopotam » Ср сен 26, 2018 9:05 pm

skysilver писал(а):
Вт сен 25, 2018 4:51 pm
Krinopotam писал(а):
Сб сен 22, 2018 5:04 pm
С датчиками движения все-же что-то не то.
Все с ними нормально. Логика работы обсуждалась неоднократно. Читайте тему, я уже писал viewtopic.php?f=5&t=3644&hilit=no_motio ... 070#p82467

Лично для вас дублирую:
Шлет события о движении (1) не чаще раза в минуту (экономия батареек). Событие о завершении движения (0) не шлет вообще, только доп. статусы no_motion через 2, 3, 5, 10, 20 и 30 минут. Чтобы определять окончание движения (по большей части для графиков мне надо), я запускаю таймер при приходе каждой 1-ки от датчика, который выставляет статус в 0 через 65 сек. Если движение продолжается, то датчик снова пришлет 1 и таймер окончания движения сдвинется еще на 65 сек.

События о движении (единички) прилетают в МДМ моментально. Никаких глобальных задержек у себя не наблюдаю.
Спасибо! Теперь разобрался.
Видимо пропустил это сообщение. Искать информацию среди 130 страниц, это как искать иголку в стогу сена.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver » Ср сен 26, 2018 11:21 pm

Krinopotam писал(а):
Ср сен 26, 2018 9:05 pm
Спасибо! Теперь разобрался.
Пжл-та. Еще кнопочку "палец вверх" можно жмакнуть.))
За это сообщение автора skysilver поблагодарили (всего 3):
Krinopotam (Чт сен 27, 2018 8:57 am) • Samir77 (Вт окт 02, 2018 6:30 pm) • VOVA_iS (Сб мар 09, 2019 5:54 pm)
Рейтинг: 3.49%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
enzo0508
Сообщения: 8
Зарегистрирован: Ср май 23, 2018 12:52 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Модуль поддержки Xiaomi Smart Home

Сообщение enzo0508 » Чт сен 27, 2018 2:40 pm

Со вчерашнего дня какая-то беда, не уходят сигналы от majordomo и все тут, вот что в логе:
15:10:56 Init Xiaomi Home
15:10:56 Bind IP - 192.168.1.45
15:10:56 Gate IP - 192.168.1.18
15:10:56 Cycle debug - yes
15:10:56 DebMes debug - yes
15:10:56 Heartbeat debug - yes
15:10:56 Socket created
15:10:56 Socket bind OK (Binding IP: 192.168.1.45)
15:10:56 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})
15:11:57 Xiaomi data timeout... Try reconnect
15:11:57 Socket created
15:11:57 Socket bind OK (Binding IP: 192.168.1.45)
15:11:57 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})
15:12:59 Xiaomi data timeout... Try reconnect

Куда копать скажите, пожалуйста.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver » Чт сен 27, 2018 2:45 pm

Не только не уходят, но и не приходят. Смотри сеть свою. Режим разработчика проверь у шлюза, чтобы включен был.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

Re: Модуль поддержки Xiaomi Smart Home

Сообщение Ron » Пт сен 28, 2018 2:21 pm

Krinopotam писал(а):
Ср сен 26, 2018 9:02 pm

Да то и сбивает с толку, что motion всегда равен 1.
Сейчас разобрался, что несмотря на то, что значение свойства не меняется, он может запускать метод при обнаружении движения.
Изначально это не очевидно.
А, ну да. Есть такое дело. Сразу и не понять.
Ну и норм, что разобрался.
PS. Честно говоря все девайсы от Сяоми и со всеми 2 модулями мажорик отлично работает.
Ни одного сбоя, если система норм и циклы не падают.
Аватара пользователя
Cresh
Сообщения: 2
Зарегистрирован: Вс сен 30, 2018 8:48 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Модуль поддержки Xiaomi Smart Home

Сообщение Cresh » Пн окт 01, 2018 9:42 am

Господа, спасите помогите.
Дано: 3шт xiaomi gateway ver 3 (lumi.gateway.v3), режим разраба включен (в одной локальной сети с МДМ)

Модуль Xiaomi miio не нашел ни одного, после ручного добавления по IP и ввода токена увидел все три и даже показал датчики в разделе ZigBee

Модуль Xiaomi Home нашел два шлюза, третий не видит в упор. Не "дискаверит" ни одного датчика (6 датчиков температуры, 4 датчика двери, 4 датчика протечки).

Цикл работает без ошибок, хербеат от одного шлюза долетает до МДМ в логи падает.

дебаг вывод:

Код: Выделить всё

Два успешно найденых шлюза
Поиск всех
Поиск выполнен.
Найдено 4 устройств.
 IP 10.11.202.65 DevType 04b4 Serial a187 Token 312c61b9d36ba4220d5d60203c657ca1
 IP 10.11.202.44 DevType 04ae Serial 4dda Token a6fea321afeb5e292105e88f4533aaf8
 IP 10.11.202.24 DevType 04d0 Serial aa9f Token 00000000000000000000000000000000 это третий шлюз (см ниже)
 IP 10.11.202.98 DevType 0420 Serial 38cd Token ffffffffffffffffffffffffffffffff это aquaria camera gateway (на нее и не надеюсь))


Третий не найденый шлюз
Поиск 10.11.202.24
Соединение с устройством IP 10.11.202.24
Статус отладки [1]
Сокет успешно создан

Проверяем доступность устройства 10.11.202.24
Параметр SO_RCVTIMEO сокета успешно задан
 >>>>> Отправляем hello-пакет на 10.11.202.24 с таймаутом 5
 >>>>> Отправлено в сокет 32 байт
 <<<<< Получен ответ от IP 10.11.202.24 с порта 54321
Прочитано 32 байта из сокета
magic: 2131
length: 0020 --> 32 байт
unknown1: 00000000
devicetype: 04d0
serial: aa9f
ts: 000438e4 --> 276708 секунд --> 1970-01-04 04:51:48
checksum: 00000000000000000000000000000000
ts_server: 5bb1ee48 --> 1538387528 секунд --> 2018-10-01 09:52:08
timediff: -1538110820
Поиск выполнен.
Устройство найдено и отвечает.
Проблема воспроизводится: Windows 10, Windows Server 2008 R2
Аватара пользователя
Cresh
Сообщения: 2
Зарегистрирован: Вс сен 30, 2018 8:48 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Модуль поддержки Xiaomi Smart Home

Сообщение Cresh » Пн окт 01, 2018 10:18 pm

Cresh писал(а):
Пн окт 01, 2018 9:42 am
Господа, спасите помогите.
Дано: 3шт xiaomi gateway ver 3 (lumi.gateway.v3), режим разраба включен (в одной локальной сети с МДМ)

Модуль Xiaomi miio не нашел ни одного, после ручного добавления по IP и ввода токена увидел все три и даже показал датчики в разделе ZigBee

Модуль Xiaomi Home нашел два шлюза, третий не видит в упор. Не "дискаверит" ни одного датчика (6 датчиков температуры, 4 датчика двери, 4 датчика протечки).

Цикл работает без ошибок, хербеат от одного шлюза долетает до МДМ в логи падает.

дебаг вывод:

Код: Выделить всё

Два успешно найденых шлюза
Поиск всех
Поиск выполнен.
Найдено 4 устройств.
 IP 10.11.202.65 DevType 04b4 Serial a187 Token 312c61b9d36ba4220d5d60203c657ca1
 IP 10.11.202.44 DevType 04ae Serial 4dda Token a6fea321afeb5e292105e88f4533aaf8
 IP 10.11.202.24 DevType 04d0 Serial aa9f Token 00000000000000000000000000000000 это третий шлюз (см ниже)
 IP 10.11.202.98 DevType 0420 Serial 38cd Token ffffffffffffffffffffffffffffffff это aquaria camera gateway (на нее и не надеюсь))


Третий не найденый шлюз
Поиск 10.11.202.24
Соединение с устройством IP 10.11.202.24
Статус отладки [1]
Сокет успешно создан

Проверяем доступность устройства 10.11.202.24
Параметр SO_RCVTIMEO сокета успешно задан
 >>>>> Отправляем hello-пакет на 10.11.202.24 с таймаутом 5
 >>>>> Отправлено в сокет 32 байт
 <<<<< Получен ответ от IP 10.11.202.24 с порта 54321
Прочитано 32 байта из сокета
magic: 2131
length: 0020 --> 32 байт
unknown1: 00000000
devicetype: 04d0
serial: aa9f
ts: 000438e4 --> 276708 секунд --> 1970-01-04 04:51:48
checksum: 00000000000000000000000000000000
ts_server: 5bb1ee48 --> 1538387528 секунд --> 2018-10-01 09:52:08
timediff: -1538110820
Поиск выполнен.
Устройство найдено и отвечает.
Проблема воспроизводится: Windows 10, Windows Server 2008 R2
НАШЕЛ!!!!

xiaomihome.class.php

Define('XIAOMI_MULTICAST_PEER_PORT', 4321);

Правильно 54321
Ответить