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

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

Модератор: immortal

VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

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

Сообщение VladPTZ » Пн окт 29, 2018 8:17 pm

skysilver писал(а):
Вс окт 28, 2018 11:04 pm
VladPTZ писал(а):
Пт окт 26, 2018 8:55 pm
А в логи mi home отображается с задержкой и визуальнов включение света это потверждает.
Да, странная картина у тебя.
А можешь в файле цикла /scripts/cycle_xiaomihome.php раскомментировать строчку 130?
https://github.com/sergejey/majordomo-x ... e.php#L130
Предварительно остановить цикл, а потом снова запустить.
После проведи все те же самые тесты, что и выше, - tcpdump + лог debmes + лог cycle. Какое получится время одного и того же события во всех трех логах.
Раскомментировал.
tcpdunp

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

17:04:02.268325 IP lumi-gateway-v3_miio78824175.4321 > 224.0.0.50.9898: UDP, length 112
        0x0000:  4500 008c 0676 0000 ff11 12a1 c0a8 016f  E....v.........o
        0x0010:  e000 0032 10e1 26aa 0078 ef57 7b22 636d  ...2..&..x.W{"cm
        0x0020:  6422 3a22 7265 706f 7274 222c 226d 6f64  d":"report","mod
        0x0030:  656c 223a 2273 7769 7463 6822 2c22 7369  el":"switch","si
        0x0040:  6422 3a22 3135 3864 3030 3031 6266 3230  d":"158d0001bfxx
        0x0050:  3238 222c 2273 686f 7274 5f69 6422 3a33  xx","short_id":3
        0x0060:  3134 3739 2c22 6461 7461 223a 227b 5c22  1479,"data":"{\"
        0x0070:  7374 6174 7573 5c22 3a5c 2264 6f75 626c  status\":\"doubl
        0x0080:  655f 636c 6963 6b5c 227d 227d            e_click\"}"}
cycle_mihome

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

 20:04:02 Received message ({"cmd":"report","model":"switch","sid":"158d0001bfxxxx","short_id":31479,"data":"{\"status\":\"double_click\"}"}) from 192.168.1.111
xiaomi.log

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

20:04:05 0.73334200 {"cmd":"report","model":"switch","sid":"158d0001bfxxxx","short_id":31479,"data":"{\"status\":\"double_click\"}"}
Как видно из лога время сработки в tcpdump совпадает с логом цикла cycle_mihome, запаздывает с логе xiaomi.log, в данном случаи на 3 секунды.
Были случаи когда время во всех трех логах совпадало и свет включался сразу, но были случаи, когда задержка составляла и большее время.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Tort :P
Сообщения: 16
Зарегистрирован: Чт окт 11, 2018 12:33 am
Благодарил (а): 4 раза
Поблагодарили: 1 раз

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

Сообщение Tort :P » Пн окт 29, 2018 8:54 pm

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

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

Сообщение skysilver » Пн окт 29, 2018 9:11 pm

Tort :P писал(а):
Пн окт 29, 2018 8:54 pm
Заработало все само, норм неделю работало и теперь снова invalid key
Тысячу раз включал-выключал режим разработчика, вбивал новые ключи, все бестолку
в чем может быть проблема?
Логи давай.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Пн окт 29, 2018 9:13 pm

VladPTZ писал(а):
Пн окт 29, 2018 8:17 pm
Как видно из лога время сработки в tcpdump совпадает с логом цикла cycle_mihome, запаздывает с логе xiaomi.log, в данном случаи на 3 секунды.
Это справедливо для всех случаев, в т.ч. для тех, когда задержка больше 3 сек?

А случаи с пропуском событий не смог отловить?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

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

Сообщение VladPTZ » Пн окт 29, 2018 9:21 pm

skysilver писал(а):
Пн окт 29, 2018 9:13 pm
VladPTZ писал(а):
Пн окт 29, 2018 8:17 pm
Как видно из лога время сработки в tcpdump совпадает с логом цикла cycle_mihome, запаздывает с логе xiaomi.log, в данном случаи на 3 секунды.
Это справедливо для всех случаев, в т.ч. для тех, когда задержка больше 3 сек?

А случаи с пропуском событий не смог отловить?
Попробую запустить tcpdump на ночь чтобы в файл писал и собрать больше статистики, т.к самые интересные тормоза и пропуски наблюдаю ночью.
Например сегодня в 3 часа ночи попить сходил в полной темноте и свет включился только в коридоре и то когда лег в кровать :)
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Tort :P
Сообщения: 16
Зарегистрирован: Чт окт 11, 2018 12:33 am
Благодарил (а): 4 раза
Поблагодарили: 1 раз

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

Сообщение Tort :P » Вт окт 30, 2018 1:11 am

skysilver писал(а):
Пн окт 29, 2018 9:11 pm
Tort :P писал(а):
Пн окт 29, 2018 8:54 pm
Заработало все само, норм неделю работало и теперь снова invalid key
Тысячу раз включал-выключал режим разработчика, вбивал новые ключи, все бестолку
в чем может быть проблема?
Логи давай.

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

00:07:28 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})

00:07:28 Socket bind OK (Binding IP: 0.0.0.0)

00:07:28 Socket created

00:07:28 Xiaomi data timeout... Try reconnect

00:06:27 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})

00:06:27 Socket bind OK (Binding IP: 0.0.0.0)

00:06:27 Socket created

00:06:27 Xiaomi data timeout... Try reconnect

00:05:26 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})

00:05:26 Socket bind OK (Binding IP: 0.0.0.0)

00:05:26 Socket created

00:05:26 Xiaomi data timeout... Try reconnect

00:04:25 Sending: {"sid":"158d0002424e07","cmd":"write","model":"ctrl_neutral1","data":"{\"channel_0\":\"on\",\"key\":\"abff1f09188311c061d485075c699d94\"}"} to 192.168.1.151

00:04:25 Queue command: {"ID":"437","IP":"192.168.1.151","DATA":"{\"sid\":\"158d0002424e07\",\"cmd\":\"write\",\"model\":\"ctrl_neutral1\",\"data\":\"{\\\"channel_0\\\":\\\"on\\\",\\\"key\\\":\\\"abff1f09188311c061d485075c699d94\\\"}\"}","ADDED":"2018-10-30 00:04:24"}

00:04:25 Sending: {"sid":"158d0002424eb8","cmd":"write","model":"ctrl_neutral1","data":"{\"channel_0\":\"on\",\"key\":\"abff1f09188311c061d485075c699d94\"}"} to 192.168.1.151

00:04:25 Queue command: {"ID":"436","IP":"192.168.1.151","DATA":"{\"sid\":\"158d0002424eb8\",\"cmd\":\"write\",\"model\":\"ctrl_neutral1\",\"data\":\"{\\\"channel_0\\\":\\\"on\\\",\\\"key\\\":\\\"abff1f09188311c061d485075c699d94\\\"}\"}","ADDED":"2018-10-30 00:04:24"}

00:04:23 Sending: {"sid":"158d0002424e07","cmd":"write","model":"ctrl_neutral1","data":"{\"channel_0\":\"off\",\"key\":\"abff1f09188311c061d485075c699d94\"}"} to 192.168.1.151

00:04:23 Queue command: {"ID":"435","IP":"192.168.1.151","DATA":"{\"sid\":\"158d0002424e07\",\"cmd\":\"write\",\"model\":\"ctrl_neutral1\",\"data\":\"{\\\"channel_0\\\":\\\"off\\\",\\\"key\\\":\\\"abff1f09188311c061d485075c699d94\\\"}\"}","ADDED":"2018-10-30 00:04:22"}

00:04:23 Sending: {"sid":"158d0002424eb8","cmd":"write","model":"ctrl_neutral1","data":"{\"channel_0\":\"off\",\"key\":\"abff1f09188311c061d485075c699d94\"}"} to 192.168.1.151

00:04:23 Queue command: {"ID":"434","IP":"192.168.1.151","DATA":"{\"sid\":\"158d0002424eb8\",\"cmd\":\"write\",\"model\":\"ctrl_neutral1\",\"data\":\"{\\\"channel_0\\\":\\\"off\\\",\\\"key\\\":\\\"abff1f09188311c061d485075c699d94\\\"}\"}","ADDED":"2018-10-30 00:04:22"}

00:04:14 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})

00:04:14 Socket bind OK (Binding IP: 0.0.0.0)

00:04:14 Socket created

00:04:14 Heartbeat debug - no

00:04:14 DebMes debug - yes

00:04:14 Cycle debug - yes

00:04:14 Gate IP - undefined

00:04:14 Bind IP - 0.0.0.0

00:04:14 Init Xiaomi Home 

00:04:14 Running cycle_xiaomihome.php
В логах при отправке команды вместо key какой-то токен непонятный
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 30, 2018 11:34 am

Tort :P писал(а):
Вт окт 30, 2018 1:11 am
В логах при отправке команды вместо key какой-то токен непонятный
Ключ/токен вообще не при делах. У тебя данные от шлюза не приходят. Вообще никакие не приходят. А должно как минимум раз в 10 секунд от шлюза приходить heartbeat сообщение.
Цикл не получает никаких данных в течение минуты и переподключается к сокету:

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

Xiaomi data timeout... Try reconnect
Но не помогает. Разбирайся со своей сеткой и шлюзом.
За это сообщение автора skysilver поблагодарили (всего 2):
Ron (Вт окт 30, 2018 12:38 pm) • Tort :P (Вт окт 30, 2018 1:13 pm)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Tort :P
Сообщения: 16
Зарегистрирован: Чт окт 11, 2018 12:33 am
Благодарил (а): 4 раза
Поблагодарили: 1 раз

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

Сообщение Tort :P » Вт окт 30, 2018 1:17 pm

skysilver писал(а):
Вт окт 30, 2018 11:34 am
Разбирайся со своей сеткой и шлюзом.
У меня два шлюза, они оба работают в xiaomi mil0 исправно, может быть проблема в самом модуле xiaomi home или все же моя сеть?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 30, 2018 1:22 pm

Вот не пойму, чего народ упорно сравнивает этот модуль и миИО?! Они РАЗНЫЕ по своей архитектуре в части работы с АПИ! Абсолютно РАЗНЫЕ!

Посмотри выше способы просмотра сетевого трафика на сервере и проверь по аналогии у себя. Тогда будет понятно, доходят вообще до сервера репорты от шлюзов или нет.
За это сообщение автора skysilver поблагодарил:
Ron (Вт окт 30, 2018 1:29 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 30, 2018 1:27 pm

На вскидку способы:
- tcpdump (консоль линукс)
- wireshark (винда, линукс с графикой)
- MoHomeAdmin (винда)
- MulticastTester (смартфон)
За это сообщение автора skysilver поблагодарил:
Tort :P (Вт окт 30, 2018 1:50 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить