miIO - протокол для Xiaomi (Mi Home) устройств

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение Vit » Чт фев 01, 2018 6:31 pm

Удалось вытащить token устройств на ios.
СпойлерПоказать
112233.PNG
112233.PNG (19.8 КБ) 7095 просмотров
445566.PNG
445566.PNG (14.51 КБ) 7095 просмотров
За это сообщение автора Vit поблагодарили (всего 2):
Ron (Пт фев 02, 2018 12:37 pm) • TurburatoR (Вс фев 04, 2018 7:30 pm)
Рейтинг: 2.33%
VaShe
Сообщения: 6
Зарегистрирован: Ср янв 24, 2018 10:07 pm
Благодарил (а): 0
Поблагодарили: 0

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение VaShe » Чт фев 01, 2018 10:29 pm

skysilver писал(а):Раз зигби, значит по протоколу miIO до нее не достучаться. Только через шлюз в режиме разработчика.

У меня есть такая розетка. События и репорты от нее приходят. Также примерно раз в час прилетает heartbeat.

Кроме включения/выключения, пробовал ее нагружать? При изменении нагрузки она железно шлет репорт.
Про протокол miIO понял. Но розетка почему-то не шлет ничего. Я вырезал сообщения от gateway:
while(1) {
echo ".";
//Receive some data
$r = socket_recvfrom($sock, $buf, 512, 0, $remote_ip, $remote_port);
if (strpos($buf,'"model":"gateway"')==false)
echo "\n=>$remote_ip : $remote_port -- " . $buf . "\n";
}
Стал слушать и после этого включил розетку, включил нагрузку, изменил нагрузку, но тишина, только датчик движения "отчитывается":

Socket created
Socket bind OK
...
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"no_motion\":\"120\"}"}
.......
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"no_motion\":\"180\"}"}
...
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"status\":\"motion\"}"}
........
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"status\":\"motion\"}"}
.............
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"no_motion\":\"120\"}"}
.......
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"no_motion\":\"180\"}"}
..
=>192.168.1.40 : 4321 -- {"cmd":"heartbeat","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"voltage\":3005}"}
............
=>192.168.1.40 : 4321 -- {"cmd":"report","model":"motion","sid":"158d0001d541b5","short_id":13847,"data":"{\"no_motion\":\"300\"}"}
...............
=>192.168.1.40 : 4321 -- {"cmd":"heartbeat","model":"","sid":"158d0001f51a4d","short_id":32475,"data":"{\"voltage\":3600}"}
...............

skysilver - не встречал такого? Можешь, что посоветовать?

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

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение skysilver » Пт фев 02, 2018 10:05 am

VaShe писал(а):skysilver - не встречал такого? Можешь, что посоветовать?
Да собственно у меня и опыт-то небольшой. В наличии всего одна зигби-розетка, и такого поведения я за ней не замечал.

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

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение Ron » Пт фев 02, 2018 12:32 pm

skysilver, а что за розетка? А то вайфайная какая-то громоздкая, не вопхнуть нормально даже в подрозетник китайский квадратный, если переделывать и втыкать в livolo розетки. (Они не дорогие, качественно сделаны из хорошего стекла).

Я такие использую, может твоя зигби розетка (если разобрать) и подойдет на разобрать и внутрь Livolo воткнуть.
shawk
Сообщения: 8
Зарегистрирован: Вт янв 09, 2018 10:26 pm
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение shawk » Вс фев 04, 2018 6:48 pm

skysilver писал(а):Важная инфа для юзеров девайсов xiaomi!

Начиная с версии 5.0.30 Mihome в его базе (miio2.db) больше не хранятся токены девайсов! Теперь он их каждый раз подтягивает из облака.

Чтобы узнать токены из базы приложения miio2.db, нужно ставить версию 5.0.29 и старее.
ну и тут напишу:
нашел еще лазейку!
в родном приложении yeelight токен еще хранится. Так что для ламп его еще можно вытянуть.
нашел его в файле miot.xml
За это сообщение автора shawk поблагодарил:
Ron (Пн фев 05, 2018 9:43 pm)
Рейтинг: 1.16%
VaShe
Сообщения: 6
Зарегистрирован: Ср янв 24, 2018 10:07 pm
Благодарил (а): 0
Поблагодарили: 0

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение VaShe » Вт фев 06, 2018 11:19 pm

skysilver писал(а): Розетка-то точно зигби, а не wifi? ;)
Точно зигби.
СпойлерПоказать
20180202_230013+.jpg
Описание для устройства
20180202_230013+.jpg (127.84 КБ) 6928 просмотров
Никак не могу и прослушать обмен с приложением. Поставил на телефон "Packet capture", но ловит только TCP пакеты, хотя вроде в описании было UDP.
На компьютере - вообще ничего не поймал :-(

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

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение skysilver » Вт фев 06, 2018 11:23 pm

VaShe писал(а):На компьютере - вообще ничего не поймал
А у шлюза прошивка актуальная? Сам шлюз какой версии?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
VaShe
Сообщения: 6
Зарегистрирован: Ср янв 24, 2018 10:07 pm
Благодарил (а): 0
Поблагодарили: 0

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение VaShe » Ср фев 07, 2018 9:36 pm

skysilver писал(а):
VaShe писал(а):На компьютере - вообще ничего не поймал
А у шлюза прошивка актуальная? Сам шлюз какой версии?
绿米网关
version code:169
网关ID72556483
Zigbee通道:11
网关信息:
{"ap":{"bssid":"30:5A:3A:62:B3:CC","rssi":-28,"ssid":"HME"},"cfg_time":0,"fw_ver":"1.4.1_151","hw_ver":"MW300","life":388997,"mac":"78:11:DC:64:E1:F6","mcu_fw_ver":"0143","mmfree":182064,"model":"lumi.gateway.v3","netif":{"gw":"192.168.1.1","gw_mac":"30:5A:3A:62:B3:CC","localIp":"192.168.1.40","mask":"255.255.255.0"},"ot":"otu","ott_stat":[29,15,552,322],"otu_stat":[363,315,10495,60,10424,361],"token":"894fcbc5c0b4e264b0be6f8a3faf65ad","wifi_fw_ver":"SD878x-14.76.36.p84-702.1.0-WM"}

子设备信息:
[{"model":"lumi.ctrl_86plug.aq1","did":"lumi.158d0001f51a4d","name":"Termo"},{"model":"lumi.sensor_magnet.aq2","did":"lumi.158d0001dad197","name":"Door"},{"model":"lumi.sensor_motion.v2","did":"lumi.158d0001d541b5","name":"Occupancy Sensor"},{"model":"lumi.ctrl_neutral2.v1","did":"lumi.158d00016da5d8","name":"Левая \/ Правая"}]

Цветом выделил розетку
kraychik
Сообщения: 5
Зарегистрирован: Пн окт 22, 2018 12:18 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: miIO - протокол для Xiaomi (Mi Home) устройств

Сообщение kraychik » Пн окт 22, 2018 12:20 pm

skysilver писал(а):
Сб дек 30, 2017 9:42 pm
sigment, проверь этот токен 629d46a78b6f9a21448ec50963569ff7
Привет. Помаги мне перекодировать токен в 32 значный. Как делать?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: miIO - протокол для Xiaomi (Mi Home) устройств

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

kraychik писал(а):
Пн окт 22, 2018 12:20 pm
Привет. Помаги мне перекодировать токен в 32 значный. Как делать?
Какой токен-то? И где ты его взял не в 32-значном формате?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить