Страница 127 из 139
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Сб янв 09, 2021 11:46 am
Alexander Znamensky
skysilver писал(а): Пт янв 08, 2021 10:32 pm
Alexander Znamensky писал(а): Пт янв 08, 2021 9:26 pm
Приобрел розетку Mi Smart Socket Plug 2 Wi-Fi, но она оказалась новой моделью с функцией BLE-шлюза - ZNCZ07CM (chuangmi.plug.212a01).
Насколько сложно добавить поддержку?
Если выбирать другие модели розеток, то есть какая-либо реакция в модуле?
Привет! Вариантов розеток всего три (хотя для очистки совести я еще попробовал две стрип-ленты).
Во всех случаях сообщение одинаковое:
Код: Выделить всё
{"id":1610182233,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4010}
Но, при выборе Mi Smart Socket Plug 2 выдается сообщение:
Код: Выделить всё
{"id":1610183654,"result":{"life":2306,"uid":4152280148,"model":"chuangmi.plug.212a01","token":"abed16108461506f7c2a1b59341640e2","ipflag":1,"fw_ver":"2.1.0_0017","miio_ver":"0.0.8","hw_ver":"esp32","mmfree":42964,"mac":"54:48:E6:7B:62:A0","wifi_fw_ver":"v3.1.6-1-g82923be-dirty","ap":{"ssid":"MikroTik AZ HOME NETWORK 2GHz","bssid":"C4:AD:34:0F:DD:53","rssi":-58,"primary":1},"netif":{"localIp":"172.16.1.53","mask":"255.255.255.0","gw":"172.16.1.1"}},"exe_time":50}
Потом он быстро отваливается и уходит в офф-лайн:
Тоже самое происходит при переходе на Mi Smart Socket Plug with USB.
Код: Выделить всё
{"id":1610185399,"result":{"life":2884,"uid":4152280148,"model":"chuangmi.plug.212a01","token":"abed16108461506f7c2a1b59341640e2","ipflag":1,"fw_ver":"2.1.0_0017","miio_ver":"0.0.8","hw_ver":"esp32","mmfree":42984,"mac":"54:48:E6:7B:62:A0","wifi_fw_ver":"v3.1.6-1-g82923be-dirty","ap":{"ssid":"MikroTik AZ HOME NETWORK 2GHz","bssid":"C4:AD:34:0F:DD:53","rssi":-58,"primary":1},"netif":{"localIp":"172.16.1.53","mask":"255.255.255.0","gw":"172.16.1.1"}},"exe_time":30}
а потом:
Код: Выделить всё
{"id":1610185204,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4010}
либо
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Сб янв 09, 2021 12:52 pm
skysilver
Lyubik писал(а): Сб янв 09, 2021 3:42 am
А если не через Модуль, можно как-то добавить в majodomo?
Мне такие способы не известны. Могу только предложить использовать Home Assistant вместо МДМ, там есть поддержка этого шлюза.
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Сб янв 09, 2021 12:56 pm
skysilver
Alexander Znamensky писал(а): Сб янв 09, 2021 11:46 am
Привет! Вариантов розеток всего три (хотя для очистки совести я еще попробовал две стрип-ленты).
Во всех случаях сообщение одинаковое:
Значит она работает через новую спецификацию miot. Нужно курить логи из кастомного михом и добавлять с нуля поддержку в модуль.
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Вс янв 10, 2021 8:36 am
Ander
Привет,
у меня установлены светильники Philips Zhirui dowmlight в разных комнатах, можно их объединить в группы? В Mi home такая возможность есть
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Пн янв 11, 2021 2:20 pm
legchenkov
skysilver писал(а): Пт янв 08, 2021 10:28 pm
vitt76 писал(а): Пн янв 04, 2021 2:45 pm
А помогут вот
этот топик и
эта спецификация?
В первую очередь поможет наличие у кого-либо самого устройства на руках. )
У меня есть. МиХом от капибары, По инструкции могу всё!

Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Вс янв 17, 2021 4:48 pm
nick7zmail
Ander писал(а):Привет,
у меня установлены светильники Philips Zhirui dowmlight в разных комнатах, можно их объединить в группы? В Mi home такая возможность есть
Можете привязать к 1 устройству все 3...должно как группа работать
Отправлено с моего Xperia XZ1 Compact через Tapatalk
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Ср янв 20, 2021 6:41 pm
Ander
вопрос в том, чтобы послать что-то типа широковещательного пакета, например команду prop_update послать сразу нескольким объектам, а не последовательно
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Чт янв 21, 2021 12:34 pm
skysilver
Ander писал(а): Ср янв 20, 2021 6:41 pm
вопрос в том, чтобы послать что-то типа широковещательного пакета, например команду prop_update послать сразу нескольким объектам, а не последовательно
Самим протоколом такое не предусмотрено. Только отдельные пакеты на IP каждого устройства друг за другом.
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Пт янв 22, 2021 4:59 pm
chelovert
Всем привет. Скажу сразу, что данную ветку не перечитывал. Если инфа дублирующаяся, то прошу модераторов удалить данный пост...
Если кому интересно, то у меня получилось отправить
Mi robot vacuum cleaner 1с на
зональную уборку! (в текущей версии модуля код для зональной уборки закомментарен) Если это интересно, то могу рассказать как доставал
координаты. Это оч просто оказалось. без танцев с FloleVac итп.
Координаты доставал так: (нюанс. тестовый телефон у меня с android 5.1!!!Miezu M3s. На нем точно все работает. На андройдах выше 9го (по-моему) Ввели запрет на пользовательские сертификаты, если приложение их не поддерживает! и скорее всего HttpCanary не будет дешифровывать https запросы )
1. Запустил Mi home на телефоне
2. Запустил HttpCanary на телефоне
3. выбрал в HttpCanary чтобы отслеживал запросы только с MiHome
4. Mihome выбрал зону. Нажал кнопку - начать уборку.
5. Пошел в HttpCanary. Тут будет запрос к api у меня это
https://ru.api.io.mi.com/app/home/rpc/<id робота>
6. Там будет куча таких запросов... но надо среди них найти запрос с координатами... Все. (Пример запроса с координатами ниже)
П.с. через HttpCanary также можно получить token-ы устройств.
+ я так понимаю, что в целом Mi robot vacuum cleaner 1c все равно сколько зон. Ему достаточно только координаты отправить. Вобщем можно его перемещать по заданной траектории.
команда.
Код: Выделить всё
{"did":"<id робота>","siid":18,"aiid":1,"in":[{"piid":1,"value":19},{"piid":21,"value":"x1,y1,x2,y2"}]}}
x1,y1,x2,y2 - соответственно координаты точек прямоугольника (зоны уборки).
<id робота> - думаю можно и без него. хотя пока не проверял.
через miio.class.php команда работает. отправлял на method = action
Код: Выделить всё
$opt = '{"did":"<id робота>","siid":18,"aiid":1,"in":[{"piid":1,"value":19},{"piid":21,"value":"x1,y1,x2,y2"}]}}';
$dev->msgSendRcv('action', $opt, time());
+ приятный бонус. Сохраненные из HttpCanary бинарные данные, которые Mihome шлет прям в пылесос отлично декодируются через miPacket. Надо только их из bin в hex перевести. Делал это командой
Код: Выделить всё
hexdump -v -e '1/1 "%02x"' /path/to/binfile
а потом в скрипте
Код: Выделить всё
$data = <тут строка от предыдущей команды>;
$decrypted = $miPacket->decryptData($data);
Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Вс янв 24, 2021 10:59 am
astotskiy
День добрый.
Приобрел увлажнитель, в MiHome определился как deerma.humidifier.jsq, в модуле выбрал Mi Air Humidifier MJJSQ - во вкладке данные, метрики не обнавляются, пробывал перебирать увлажнители не один не заработал. или этот увлажнитель не поддерживается модулем.
PS: Токен прописал, взял из MiHome от vevsa
miIO Info
Connection to device by IP 192.168.1.55 Debug status [1] Socked created Command to send - {"id":1611475047,"method":"miIO.info","params":[]} Checking device status by 192.168.1.55 Timeout SO_RCVTIMEO successfully set >>>>> Sending hello-packet to 192.168.1.55 with timeout 2 >>>>> Sent 32 bytes to socket <<<<< Reply received from IP 192.168.1.55 , port 54321 32 bytes received magic: 2131 length: 0020 --> 32 bytes unknown1: 00000000 devicetype: 0e38 serial: 4265 ts: 0004d32e --> 316206 seconds --> 1970-01-04 18:50:06 timediff: -1611158841 checksum: ffffffffffffffffffffffffffffffff ts_server: 600d2867 --> 1611475047 seconds --> 2021-01-24 10:57:27 Device 192.168.1.55 available Timeout SO_RCVTIMEO successfully set Using manually set token - 9750666143642dff497a0d64d77a0c9c >>>>> Sending packet to 192.168.1.55 with timeout 2 magic: 2131 length: 0060 --> 96 bytes unknown1: 00000000 devicetype: 0e38 serial: 4265 ts: 0004d32e --> 316206 seconds --> 1970-01-04 18:50:06 timediff: -1611158841 checksum: b537f2a50a1b1e432bf213c74a848faa ts_server: 600d2867 --> 1611475047 seconds --> 2021-01-24 10:57:27 data: 51b91273a52c5eeab43fccb396ba9ab52ece14711b47318d0271c58f83d1787b2d4f890e0acfe9a1768ef77eeaf46dffc6ba6cc5affe133f8dd2c2bd2c43fade >>>>> Sent 96 bytes to socket <<<<< Reply from IP 192.168.1.55 , port 54321 Read 512 bytes from socket magic: 2131 length: 0200 --> 512 bytes unknown1: 00000000 devicetype: 0e38 serial: 4265 ts: 0004d32e --> 316206 seconds --> 1970-01-04 18:50:06 timediff: -1611158841 checksum: 09bb965857a5c4adb6c487a42797d7b0 data: 51b91273a52c5eeab43fccb396ba9ab59aface293ec25bc21f2a914f88aaf6b26e18a78777a9123ec819e4a168aecb8fa876d5531c55422636d1a41674f8038ace7776bc3127a571e3f95cc2c9dbb7757195c94c73131177cf2d99652edfdec9e4116e0fcae7d9ff35d47b348d1e5b5a3cae8a5f4380b48a4cb3b3f61064785c074a944bc9252f5c1966a301997aa1086bce0022f6533570e0929e4dc88a471e92b80321bfe9039170d2938423ae71e3c30926bb61c93dbf4482ed5c2320987c49535190380d647756065f2aaae99a2b1d7e3a8785ad148b80499cce5ea8709e015461a99f5cc9def246b405bc53583f76527ce0a8f638eaaa54d9c59933c17343b87506d34c4c133d2c585a0465cd759c943f70a46a08e3afb21f67d7ef2f467fb4b2f6b38a53dc96939086424692f3d2f3706d1ce82d99c29513aa85012303b77e1fcd4452d73e52ce872cae2760aafc59983706bb6029f7f379809cabe373a0690d4de9323b8bb0fb9471a9ac702cf4c74e0aea3331ebb8c5e4282a6c757798df75bfa97b879a7fba87f11054199b2855e3a7a35f11f131b9782dbe46d8a443bb292f051c3605c75ad9066aa1e25569e22301f2b40bb254d19e3ca7c3e0e12e249c72c71e8e9e77a504a5ef8ae5f7a828cdee47d13a0a6b379ba674447963 Data decrypted: {"id":1611475047,"result":{"life":316206,"uid":1577752887,"model":"deerma.humidifier.jsq","token":"9750666143642dff497a0d64d77a0c9c","ipflag":1,"fw_ver":"2.0.7","mcu_fw_ver":"0113","miio_ver":"0.0.8","hw_ver":"esp8266","mmfree":24448,"mac":"44:23:7C:BE:8D:65","wifi_fw_ver":"2709610","ap":{"ssid":"Alex-Net","bssid":"52:FF:20:57:71:5A","rssi":-40,"primary":3},"netif":{"localIp":"192.168.1.55","mask":"255.255.255.0","gw":"192.168.1.1"},"config_type":"app"},"exe_time":30} JSON data is vaild. {"id":1611475047,"result":{"life":316206,"uid":1577752887,"model":"deerma.humidifier.jsq","token":"9750666143642dff497a0d64d77a0c9c","ipflag":1,"fw_ver":"2.0.7","mcu_fw_ver":"0113","miio_ver":"0.0.8","hw_ver":"esp8266","mmfree":24448,"mac":"44:23:7C:BE:8D:65","wifi_fw_ver":"2709610","ap":{"ssid":"Alex-Net","bssid":"52:FF:20:57:71:5A","rssi":-40,"primary":3},"netif":{"localIp":"192.168.1.55","mask":"255.255.255.0","gw":"192.168.1.1"},"config_type":"app"},"exe_time":30}