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

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

Модератор: immortal

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

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

Сообщение skysilver » Ср апр 18, 2018 6:10 pm

smart_g писал(а):
Ср апр 18, 2018 5:58 pm
то шлюз будет виден и в другой подсети.
По пингу да, а вот с мульткастом вопрос.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Albert
Сообщения: 57
Зарегистрирован: Чт янв 26, 2017 7:08 pm
Благодарил (а): 40 раз
Поблагодарили: 4 раза

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

Сообщение Albert » Чт апр 19, 2018 10:56 am

IgorAntarov писал(а):
Ср апр 18, 2018 12:16 pm
Ситуация: Windows 10,
..
Вместо списка устройств вижу "Нет данных", хаб xiaomi не появляется.
Как диагностировать привчину и решить проблему?
...
Судя по комментариям здесь, проблема возникает не первый раз:
Здорово будет в базе знаний указать инструкцию что делать в таком случае. Спасибо!
В апреле месяце Microsoft выпустила обязательное обновление, в основном, похоже, после этого и появилась проблема с обоими модулями Xiomi. При чем обновление устанавливается даже если служба обновления отключена, вот так у меня это было. При чем даже если вас брандмауэр отключен и все открыто, то только при новой инсталляции может с полчаса поработать и затыкается.
Давно хотел всё переустановить и это дополнительно подтолкнуло меня на установку Windows 10 LTSB с долгосрочным обслуживанием, в которой отключены всякие не нужные свистелки-перделки, типа гнусных магазинов и левых программок.
Итог: всё отлично работает.
За это сообщение автора Albert поблагодарил:
skysilver (Чт апр 19, 2018 4:14 pm)
Рейтинг: 1.16%
Volk
Сообщения: 23
Зарегистрирован: Пт апр 13, 2018 6:39 am
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение Volk » Сб апр 21, 2018 8:20 am

не могу с сетевыми настройками разобраться, если малина подключена к lаn порту роутера (tp-link) , модуль видит устройства, стоит переключиться на wifi и всё пропало... Что где пробросить? Отключал межсетевой экран, изоляции wifi клиентов нет, multicast port ничего не видит
СпойлерПоказать
2018-04-21 08-34-01.PNG
2018-04-21 08-34-01.PNG (83.16 КБ) 5085 просмотров
Последний раз редактировалось Volk Сб апр 21, 2018 10:25 am, всего редактировалось 5 раз.
Volk
Сообщения: 23
Зарегистрирован: Пт апр 13, 2018 6:39 am
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение Volk » Ср апр 25, 2018 7:08 am

skysilver писал(а):
Пн апр 16, 2018 1:37 am
Volk писал(а):
Вс апр 15, 2018 7:20 pm
я и говорю не помогает, пакеты обновились. после обновлений система таже. модуль по- прежнему не видит шлюз... Как модуль общается с xiaomi gatewey, какой порт и протокол использует?
Сомневаюсь, что дело в версии php. У меня работает на древней 5.4.45

Для связи со шлюзом используется UDP multicast трафик в группе 224.0.0.50 и порт 9898.

Я бы для начала убедился, что пакеты от шлюза доходят до сервера. Для этого на сервер в консоли нужно запустить команду:

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

sudo tcpdump -i eth0 -n udp dst port 9898 -X
имя интерфейса (eth0) подставить свое. При штатной ситуации как минимум каждые 10 секунд д.б. сообщения от шлюза.
СпойлерПоказать

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

skysilver@ihome:~$ sudo tcpdump -i eth0 -n udp dst port 9898 -X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
01:34:56.686154 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 105
        0x0000:  4500 0085 16d9 0000 ff11 0287 c0a8 012d  E..............-
        0x0010:  e000 0032 10e1 26aa 0071 14fd 7b22 636d  ...2..&..q..{"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 6133 6636  d":"158d0001a3f6
        0x0050:  6263 222c 2273 686f 7274 5f69 6422 3a35  bc","short_id":5
        0x0060:  3734 3732 2c22 6461 7461 223a 227b 5c22  7472,"data":"{\"
        0x0070:  7374 6174 7573 5c22 3a5c 2263 6c69 636b  status\":\"click
        0x0080:  5c22 7d22 7d                             \"}"}
01:34:57.652677 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 110
        0x0000:  4500 008a 16de 0000 ff11 027d c0a8 012d  E..........}...-
        0x0010:  e000 0032 10e1 26aa 0076 c871 7b22 636d  ...2..&..v.q{"cm
        0x0020:  6422 3a22 7265 706f 7274 222c 226d 6f64  d":"report","mod
        0x0030:  656c 223a 2267 6174 6577 6179 222c 2273  el":"gateway","s
        0x0040:  6964 223a 2233 3463 6530 3038 3561 3832  id":"34ce0085a82
        0x0050:  6122 2c22 7368 6f72 745f 6964 223a 302c  a","short_id":0,
        0x0060:  2264 6174 6122 3a22 7b5c 2272 6762 5c22  "data":"{\"rgb\"
        0x0070:  3a30 2c5c 2269 6c6c 756d 696e 6174 696f  :0,\"illuminatio
        0x0080:  6e5c 223a 3432 337d 227d                 n\":423}"}
01:34:57.987866 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 135
        0x0000:  4500 00a3 16e0 0000 ff11 0262 c0a8 012d  E..........b...-
        0x0010:  e000 0032 10e1 26aa 008f 6f0a 7b22 636d  ...2..&...o.{"cm
        0x0020:  6422 3a22 6865 6172 7462 6561 7422 2c22  d":"heartbeat","
        0x0030:  6d6f 6465 6c22 3a22 6761 7465 7761 7922  model":"gateway"
        0x0040:  2c22 7369 6422 3a22 3334 6365 3030 3835  ,"sid":"34ce0085
        0x0050:  6138 3261 222c 2273 686f 7274 5f69 6422  a82a","short_id"
        0x0060:  3a22 3022 2c22 746f 6b65 6e22 3a22 706d  :"0","token":"pm
        0x0070:  3654 7646 4250 3366 397a 4263 7a49 222c  6TvFBP3f9zBczI",
        0x0080:  2264 6174 6122 3a22 7b5c 2269 705c 223a  "data":"{\"ip\":
        0x0090:  5c22 3139 322e 3136 382e 312e 3435 5c22  \"192.168.1.45\"
        0x00a0:  7d22 7d                                  }"}
01:35:03.642249 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 105
        0x0000:  4500 0085 16e4 0000 ff11 027c c0a8 012d  E..........|...-
        0x0010:  e000 0032 10e1 26aa 0071 14fd 7b22 636d  ...2..&..q..{"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 6133 6636  d":"158d0001a3f6
        0x0050:  6263 222c 2273 686f 7274 5f69 6422 3a35  bc","short_id":5
        0x0060:  3734 3732 2c22 6461 7461 223a 227b 5c22  7472,"data":"{\"
        0x0070:  7374 6174 7573 5c22 3a5c 2263 6c69 636b  status\":\"click
        0x0080:  5c22 7d22 7d                             \"}"}
01:35:04.640895 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 110
        0x0000:  4500 008a 16e9 0000 ff11 0272 c0a8 012d  E..........r...-
        0x0010:  e000 0032 10e1 26aa 0076 c56d 7b22 636d  ...2..&..v.m{"cm
        0x0020:  6422 3a22 7265 706f 7274 222c 226d 6f64  d":"report","mod
        0x0030:  656c 223a 2267 6174 6577 6179 222c 2273  el":"gateway","s
        0x0040:  6964 223a 2233 3463 6530 3038 3561 3832  id":"34ce0085a82
        0x0050:  6122 2c22 7368 6f72 745f 6964 223a 302c  a","short_id":0,
        0x0060:  2264 6174 6122 3a22 7b5c 2272 6762 5c22  "data":"{\"rgb\"
        0x0070:  3a30 2c5c 2269 6c6c 756d 696e 6174 696f  :0,\"illuminatio
        0x0080:  6e5c 223a 3436 367d 227d                 n\":466}"}
01:35:07.970519 IP 192.168.1.45.4321 > 224.0.0.50.9898: UDP, length 135
        0x0000:  4500 00a3 16ee 0000 ff11 0254 c0a8 012d  E..........T...-
        0x0010:  e000 0032 10e1 26aa 008f a0cb 7b22 636d  ...2..&.....{"cm
        0x0020:  6422 3a22 6865 6172 7462 6561 7422 2c22  d":"heartbeat","
        0x0030:  6d6f 6465 6c22 3a22 6761 7465 7761 7922  model":"gateway"
        0x0040:  2c22 7369 6422 3a22 3334 6365 3030 3835  ,"sid":"34ce0085
        0x0050:  6138 3261 222c 2273 686f 7274 5f69 6422  a82a","short_id"
        0x0060:  3a22 3022 2c22 746f 6b65 6e22 3a22 6d4f  :"0","token":"mO
        0x0070:  4a78 4550 4977 436c 4a65 4962 3961 222c  JxEPIwClJeIb9a",
        0x0080:  2264 6174 6122 3a22 7b5c 2269 705c 223a  "data":"{\"ip\":
        0x0090:  5c22 3139 322e 3136 382e 312e 3435 5c22  \"192.168.1.45\"
        0x00a0:  7d22 7d                                  }"}
Проверь, отпишись. А там дальше будем думать.

ПыСы: и я надеюсь, у тебя выключена изоляция wifi-клиентов на роутере?
такая картина:
СпойлерПоказать

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

root@majordomo:~# tcpdump -i wlan0 -n udp dst port 9898 -X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes

через шнурок веселее, шлюз xiaomi виден
СпойлерПоказать

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

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
07:46:05.762925 IP 192.168.0.108.4321 > 224.0.0.50.9898: UDP, length 136
        0x0000:  4500 00a4 6cc8 0000 ff11 ad39 c0a8 006c  E...l......9...l
        0x0010:  e000 0032 10e1 26aa 0090 80e9 7b22 636d  ...2..&.....{"cm
        0x0020:  6422 3a22 6865 6172 7462 6561 7422 2c22  d":"heartbeat","
        0x0030:  6d6f 6465 6c22 3a22 6761 7465 7761 7922  model":"gateway"
        0x0040:  2c22 7369 6422 3a22 3738 3131 6463 6134  ,"sid":"7811dca4
        0x0050:  3766 6432 222c 2273 686f 7274 5f69 6422  7fd2","short_id"
        0x0060:  3a22 3022 2c22 746f 6b65 6e22 3a22 7065  :"0","token":"pe
        0x0070:  6c59 4273 7842 794a 4343 7261 5754 222c  lYBsxByJCCraWT",
        0x0080:  2264 6174 6122 3a22 7b5c 2269 705c 223a  "data":"{\"ip\":
        0x0090:  5c22 3139 322e 3136 382e 302e 3130 385c  \"192.168.0.108\
        0x00a0:  227d 227d                                "}"}
07:46:15.737133 IP 192.168.0.108.4321 > 224.0.0.50.9898: UDP, length 136
        0x0000:  4500 00a4 6ccb 0000 ff11 ad36 c0a8 006c  E...l......6...l
        0x0010:  e000 0032 10e1 26aa 0090 16dc 7b22 636d  ...2..&.....{"cm
        0x0020:  6422 3a22 6865 6172 7462 6561 7422 2c22  d":"heartbeat","
        0x0030:  6d6f 6465 6c22 3a22 6761 7465 7761 7922  model":"gateway"
        0x0040:  2c22 7369 6422 3a22 3738 3131 6463 6134  ,"sid":"7811dca4
        0x0050:  3766 6432 222c 2273 686f 7274 5f69 6422  7fd2","short_id"
        0x0060:  3a22 3022 2c22 746f 6b65 6e22 3a22 4c4a  :"0","token":"LJ
        0x0070:  7a72 5550 3156 496e 3531 6b56 506c 222c  zrUP1VIn51kVPl",
        0x0080:  2264 6174 6122 3a22 7b5c 2269 705c 223a  "data":"{\"ip\":
        0x0090:  5c22 3139 322e 3136 382e 302e 3130 385c  \"192.168.0.108\
        0x00a0:  227d 227d                                "}"}

куда копать?
Последний раз редактировалось Volk Ср апр 25, 2018 7:51 am, всего редактировалось 2 раза.
sergey_e_moiseev
Сообщения: 2
Зарегистрирован: Пн май 29, 2017 9:38 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение sergey_e_moiseev » Чт апр 26, 2018 11:25 am

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

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

Сообщение skysilver » Чт апр 26, 2018 11:40 am

В Идеи по развитию модуля внес 4 предложения (https://connect.smartliving.ru/tasks/21.html):
1. Добавить в настройки включение/выключение логирования "Отладка DebMes" и "Отладка Cycle".
2. Добавить на вкладку "Общее" инфо о типе батарейки, чтобы было где быстро подсмотреть, когда потребуется замена.
3. Добавить расчет и вывод метрики заряда батареек в процентах.
4. Изменить вывод напряжения батареек на Вольты вместо Милливольт для совместимости с ПУ типа "Датчик напряжения".

Кому интересно, отмечайтесь.
За это сообщение автора skysilver поблагодарил:
Samir77 (Вс май 06, 2018 9:04 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 Smart Home

Сообщение skysilver » Чт апр 26, 2018 11:41 am

sergey_e_moiseev писал(а):
Чт апр 26, 2018 11:25 am
Ппросьба добавить кнопки. В MD определяются как sensor_switch.aq3. Репорты приходят, но парсится только батарейка.
Ну тебе туда же https://connect.smartliving.ru/tasks/21.html :)
За это сообщение автора skysilver поблагодарил:
Samir77 (Вс май 06, 2018 9:05 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
newz20
Сообщения: 172
Зарегистрирован: Пт апр 06, 2018 9:40 am
Благодарил (а): 93 раза
Поблагодарили: 93 раза

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

Сообщение newz20 » Чт май 03, 2018 9:11 pm

Добрый день, кто настраивал кубик от сяоми? Как настроить вращение правильно? В ходе проб значение меняется произвольно и зависят от стороны вращения. Цифры лезут разные от -49000 до 51000. Ткните носом где копать. Видел на видео вращением регулируют громкость или интенсивность подсветки, но описания как это делается не нашел. И еще вопрос значение сработки других режимов всегда 1, меняется только время как с этим быть.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Чт май 03, 2018 9:36 pm

newz20 писал(а):
Чт май 03, 2018 9:11 pm
Добрый день, кто настраивал кубик от сяоми? Как настроить вращение правильно? В ходе проб значение меняется произвольно и зависят от стороны вращения. Цифры лезут разные от -49000 до 51000. Ткните носом где копать. Видел на видео вращением регулируют громкость или интенсивность подсветки, но описания как это делается не нашел. И еще вопрос значение сработки других режимов всегда 1, меняется только время как с этим быть.
К rotate привязан XiButton2. В его logicaction прописал

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

include_once(DIR_MODULES.'app_smarttv/app_smarttv.class.php');
$smartTv=new app_smarttv();
$alias="TVLG";

if ((float)gg('XiButton02.Rotate')<0) {
$smartTv->control($alias,'sendCode',25);
}
else {
$smartTv->control($alias,'sendCode',24);
}
Не могу сказать что прям супер регулирует, но регулирует 8-) Т.е. когда срабатывает Xibutton2, анализируется rotate больше 0 или меньше...
За это сообщение автора fandaymon поблагодарил:
newz20 (Чт май 03, 2018 9:39 pm)
Рейтинг: 1.16%
newz20
Сообщения: 172
Зарегистрирован: Пт апр 06, 2018 9:40 am
Благодарил (а): 93 раза
Поблагодарили: 93 раза

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

Сообщение newz20 » Чт май 03, 2018 9:40 pm

Может еще есть примеры, чем больше кода тем проще понять.
Ответить