[Модуль] Xiaomi miIO (xiaomimiio)

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

Модератор: immortal

Дмитрий Иванов
Сообщения: 83
Зарегистрирован: Вс фев 28, 2016 11:36 pm
Благодарил (а): 17 раз
Поблагодарили: 25 раз

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение Дмитрий Иванов » Вс дек 06, 2020 12:31 pm

Добрый день!
Помогите, пожалуйста, разобраться с мойкой воздуха Smartmi Evaporative Humidifier2, model CJXJSQ04ZM , версия глобальная.
Поставил его, как Mi Air Humidifier 2, вписал токен, но на вкладке данных подтянулись только 3 метрики: online, command и message.
Я ни где не могу найти какими командами управлять увлажнителем. При попытке тестирования API команд, если ввожу команду, как от пылесоса app_start, пишет, что что-то пошло не так.
miIO Info

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

{"id":1607246889,"result":{"life":69504,"uid":1604526798,"model":"zhimi.humidifier.ca4","token":"593fa992a66d9639ede7fc582b2ef8a3","ipflag":1,"fw_ver":"2.1.3","mcu_fw_ver":"0015","miio_ver":"0.0.9","hw_ver":"esp32","mmfree":63012,"mac":"64:90:C1:96:45:CE","wifi_fw_ver":"cef6c0945","ap":{"ssid":"Keenetic-7067","bssid":"52:FF:20:57:6B:54","rssi":-63,"primary":7},"netif":{"localIp":"192.168.1.47","mask":"255.255.255.0","gw":"192.168.1.1"}},"exe_time":40}
З.Ы. Пылесос Mi Roborock Vacuum Cleaner из модуля работает нормально.
Спасибо!
Дмитрий Иванов
Сообщения: 83
Зарегистрирован: Вс фев 28, 2016 11:36 pm
Благодарил (а): 17 раз
Поблагодарили: 25 раз

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение Дмитрий Иванов » Вс дек 06, 2020 4:27 pm

Дмитрий Иванов писал(а):
Вс дек 06, 2020 12:31 pm
Я ни где не могу найти какими командами управлять увлажнителем.
Блин, искал команды управления увлажнителем в форуме, а они в модуле, в разделе справка...
Но, перечисленные там метрики не подтягиваются. Можно ли как-то через метрику "command" попробовать поуправлять?

Внешний вид увлажнителя:
СпойлерПоказать
xiaomi-smartmi-air-humidifier-2-4-l-cjxjsq04zm-white__1.jpg
xiaomi-smartmi-air-humidifier-2-4-l-cjxjsq04zm-white__1.jpg (40.99 КБ) 3430 просмотров
Скрин miIO Info:
СпойлерПоказать
MiIO_info.jpg
MiIO_info.jpg (31.59 КБ) 3430 просмотров
Спасибо!
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение Logrus » Вс дек 06, 2020 5:51 pm

Снимок.PNG
Снимок.PNG (64.04 КБ) 3414 просмотров
https://www.kapiba.ru/2017/11/mi-home.html

18. Для энтузиастов - добавлена возможность логирования различных данных (действия/уведомления/токены/ключи сопряжения и т.п.). Чтобы включить сбор данных, необходимо создать папку "/sdcard/vevs/logs" и перезапустить приложение с полной его остановкой/выгрузкой (или сам телефон). Информация об устройствах, условия/действия сценариев будут собраны все разом при обновлении списка устройств и/или списка сценариев, а уведомления - каждое в отдельности по мере их появлении на устройстве. Чтобы прекратить сбор данных - удаляем указанную папку и полностью перезапускаем приложение или телефон;

19. Для суровых энтузиастов - добавлено логирование сообщений MIIO и MIOTSPEC (новый протокол, приходящий на смену MIIO) при управлении устройством из плагина во всех режимах работы (локальном и облачном).
За это сообщение автора Logrus поблагодарил:
Samir77 (Ср июл 21, 2021 8:45 pm)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
StrangerIV
Сообщения: 18
Зарегистрирован: Чт ноя 08, 2018 11:49 am
Благодарил (а): 11 раз
Поблагодарили: 0

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение StrangerIV » Пн дек 07, 2020 1:25 am

Приветствую всех.
Как теперь можно раздобыть токен? Девайс SmartMi Evaporative Humidifier, первый. (Кстати, в модуле с картинками путаница - на втором картинка от первого, а на первом - от другого первого...)
У программы MiHome с маркета базы miio2.db в папке databases просто нету. В остальных 8 файлах БД токеном и не пахнет.
Файла кэша cache/smrc4-cache тоже нет.
MiHomeAdmin вместо токена дает 32 кода FF.
MiHome от VEVS (последняя) вообще не дает просмотреть девайс, пишет, что в данной стране устройство временно не поддерживается (стоит материковый Китай, как и на оригинальной MiHome, которая девайс видит и прекрасно с ним общается.)
При инициализации устройство меняет токен. Я его так и потерял, он у меня был и МД с его помощью работал с девайсом, но меня дернуло обновить MiHome и сменить в нем регион на настоящий. Вошел в свой же кабинет, но не увидел девайса, решил заново подключить, сделал сброс... Туда он у меня так и подключился, программа упорно искала устройство cb1, а он создавал точку доступа как са1. Сменил регион обратно на чайна мейнленд, девайс нашелся и подключился. Да, он CN "по паспорту", за год с момента первого подключения я успел подзабыть все эти нюансы. МД его тоже увидел, но общаться с ним больше не может. В ответ на тестовую команду получаю

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

...
>>>>> Sent 96 bytes to socket 
Error reading from socket [11] 
Resource temporarily unavailable 
Что-то пошло не так...
Единственное объяснение, которое пришло в голову - сменился токен.
Что еще можно придумать?
Последний раз редактировалось StrangerIV Пн дек 07, 2020 1:39 am, всего редактировалось 1 раз.
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение fandaymon » Пн дек 07, 2020 1:36 am

StrangerIV писал(а):
Пн дек 07, 2020 1:25 am
Приветствую всех.
Как теперь можно раздобыть токен? Девайс SmartMi Evaporative Humidifier, первый. (Кстати, в модуле с картинками путаница - на втором картинка от первого, а на первом - от другого первого...)
У программы MiHome с маркета базы miio2.db в папке databases просто нету. В остальных 8 файлах БД токеном и не пахнет.
MiHomeAdmin вместо токена дает 32 кода FF.
MiHome от VEVS (последняя) вообще не дает просмотреть девайс, пишет, что в данной стране устройство временно не поддерживается (стоит материковый Китай, как и на оригинальной MiHome, которая девайс видит и прекрасно с ним общается.)
При инициализации устройство меняет токен. Я его так и потерял, он у меня был и МД с его помощью работал с девайсом, но меня дернуло обновить MiHome и сменить в нем регион на настоящий. Вошел в свой же кабинет, но не увидел девайса, решил заново подключить, сделал сброс... Туда он у меня так и подключился, программа упорно искала устройство cb1, а он создавал точку доступа как са1. Сменил регион обратно на чайна мейнленд, девайс нашелся и подключился. Да, он CN "по паспорту", за год с момента первого подключения я успел подзабыть все эти нюансы. МД его тоже увидел, но общаться с ним больше не может. В ответ на тестовую команду получаю

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

...
>>>>> Sent 96 bytes to socket 
Error reading from socket [11] 
Resource temporarily unavailable 
Что-то пошло не так...
Что еще можно придумать?
Ну, например, поставить пакет под питон https://github.com/Squachen/micloud и с его помощью вытащить все устройства со всеми токенами
За это сообщение автора fandaymon поблагодарил:
StrangerIV (Пн дек 07, 2020 2:15 am)
Рейтинг: 1.16%
StrangerIV
Сообщения: 18
Зарегистрирован: Чт ноя 08, 2018 11:49 am
Благодарил (а): 11 раз
Поблагодарили: 0

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение StrangerIV » Пн дек 07, 2020 2:19 am

fandaymon писал(а):
Пн дек 07, 2020 1:36 am
Ну, например, поставить пакет под питон https://github.com/Squachen/micloud и с его помощью вытащить все устройства со всеми токенами
Поборолся с питоном, не смог его победить - так и не запустилась эта прога. Плюнул, поставил VEVS-овскую годовалой давности прогу, она всё показала.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение skysilver » Пн дек 07, 2020 12:54 pm

Дмитрий Иванов писал(а):
Вс дек 06, 2020 4:27 pm
Блин, искал команды управления увлажнителем в форуме, а они в модуле, в разделе справка...
Но, перечисленные там метрики не подтягиваются. Можно ли как-то через метрику "command" попробовать поуправлять?
Модель zhimi.humidifier.ca4 не поддерживается модулем. Нужно выяснять API-команды управления и получения статуса для него через логи кастомного Михом.
За это сообщение автора skysilver поблагодарил:
Samir77 (Чт июл 22, 2021 2:48 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
bua
Сообщения: 46
Зарегистрирован: Пн фев 11, 2019 8:42 pm
Откуда: Херсон
Благодарил (а): 10 раз
Поблагодарили: 0

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение bua » Вс дек 20, 2020 2:53 pm

bua писал(а):
Сб фев 22, 2020 11:58 am
Доброго времени суток. Планируется поддержка розетка с 2 USB и блютус приемником (chuangmi.plug.hmi208)?
В Mi home (Vevs) Log включения и отключения usb розетки (на сегодня до сих пор что старая розетка с 2 USB что новая не управляется с модуля)
Если не сложно посмотрите возможно получиться реализовать работу.
СпойлерПоказать
92.168.0.34
chuangmi.plug.hmi208
dea3b3bf8e28a8e0caf9a7d1ba161719

2020-12-20 13:29:40 -> {"id":9273,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:29:40 <- {"code":0,"id":9273,"otlocalts":1608463779351759,"result":["on",true,38,"off"]}
2020-12-20 13:29:44 -> {"id":9274,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:29:44 <- {"code":0,"id":9274,"otlocalts":1608463782833064,"result":["on",true,38,"off"]}
2020-12-20 13:29:45 -> {"id":9275,"method":"set_usb_off","params":[]}
2020-12-20 13:29:45 <- {"code":0,"id":9275,"otlocalts":1608463784162935,"result":["ok"]}
2020-12-20 13:29:54 -> {"id":9276,"method":"set_usb_on","params":[]}
2020-12-20 13:29:54 <- {"code":-3,"error":{"code":-3,"message":"timeout"},"id":9276,"message":"timeout","otlocalts":1608463792638204}
2020-12-20 13:29:55 -> {"id":9277,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:29:55 <- {"code":-3,"error":{"code":-3,"message":"timeout"},"id":9277,"message":"timeout","otlocalts":1608463794296940}
2020-12-20 13:29:58 -> {"id":9278,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:29:58 <- {"code":0,"id":9278,"otlocalts":1608463796827828,"result":["on",true,38,"off"]}
2020-12-20 13:39:26 -> {"id":4336,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:26 <- {"code":0,"message":"ok","result":["on",true,38,"off"],"id":4336}
2020-12-20 13:39:26 -> {"id":4337,"method":"set_usb_off","params":[]}
2020-12-20 13:39:26 <- {"code":0,"message":"ok","result":["ok"],"id":4337}
2020-12-20 13:39:28 -> {"id":4338,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:28 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4338}
2020-12-20 13:39:34 -> {"id":4339,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:34 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4339}
2020-12-20 13:39:40 -> {"id":4340,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:40 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4340}
2020-12-20 13:39:46 -> {"id":4341,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:46 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4341}
2020-12-20 13:39:52 -> {"id":4342,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:52 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4342}
2020-12-20 13:39:58 -> {"id":4343,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:39:58 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4343}
2020-12-20 13:40:03 -> {"id":4344,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:03 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4344}
2020-12-20 13:40:10 -> {"id":4345,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:10 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":4345}
2020-12-20 13:40:25 -> {"id":8106,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:25 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":8106}
2020-12-20 13:40:32 -> {"id":8107,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:32 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":8107}
2020-12-20 13:40:37 -> {"id":8108,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:37 <- {"code":0,"message":"ok","result":["on",false,38,"off"],"id":8108}
2020-12-20 13:40:42 -> {"id":8109,"method":"set_power","params":["off"]}
2020-12-20 13:40:42 <- {"code":0,"message":"ok","result":["ok"],"id":8109}
2020-12-20 13:40:44 -> {"id":8110,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:44 <- {"code":0,"message":"ok","result":["off",false,38,"off"],"id":8110}
2020-12-20 13:40:45 -> {"id":8111,"method":"set_power","params":["on"]}
2020-12-20 13:40:45 <- {"code":0,"message":"ok","result":["ok"],"id":8111}
2020-12-20 13:40:49 -> {"id":8112,"method":"set_usb_on","params":[]}
2020-12-20 13:40:49 <- {"code":0,"message":"ok","result":["ok"],"id":8112}
2020-12-20 13:40:49 -> {"id":8113,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 13:40:49 <- {"code":0,"message":"ok","result":["on",true,38,"off"],"id":8113}
СпойлерПоказать
192.168.0.35
chuangmi.plug.v3
1928adb28f8198d977efed2c9371248

2020-12-20 14:02:59 -> {"id":4239,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 14:02:59 <- {"code":0,"message":"ok","result":["on",true,20,"on"],"id":4239}
2020-12-20 14:02:59 -> {"id":4240,"method":"get_power","params":[]}
2020-12-20 14:02:59 <- {"code":0,"message":"ok","result":[100],"id":4240}
2020-12-20 14:03:05 -> {"id":4241,"method":"get_prop","params":["power","temperature","wifi_led"]}
2020-12-20 14:03:05 <- {"code":0,"message":"ok","result":["on",20,"on"],"id":4241}
2020-12-20 14:03:05 -> {"id":4242,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 14:03:05 <- {"code":0,"message":"ok","result":["on",true,20,"on"],"id":4242}
2020-12-20 14:03:06 -> {"id":4245,"method":"get_power","params":[]}
2020-12-20 14:03:06 <- {"code":0,"message":"ok","result":[100],"id":4245}
2020-12-20 14:03:07 -> {"id":4246,"method":"set_usb_off","params":[]}
2020-12-20 14:03:07 <- {"code":0,"message":"ok","result":["ok"],"id":4246}
2020-12-20 14:03:11 -> {"id":4247,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 14:03:11 <- {"code":0,"message":"ok","result":["on",false,20,"on"],"id":4247}
2020-12-20 14:03:11 -> {"id":4249,"method":"get_power","params":[]}
2020-12-20 14:03:11 <- {"code":0,"message":"ok","result":[100],"id":4249}
2020-12-20 14:03:11 -> {"id":4250,"method":"get_prop","params":["power","temperature","wifi_led"]}
2020-12-20 14:03:11 <- {"code":0,"message":"ok","result":["on",20,"on"],"id":4250}
2020-12-20 14:03:12 -> {"id":4251,"method":"set_usb_on","params":[]}
2020-12-20 14:03:12 <- {"code":0,"message":"ok","result":["ok"],"id":4251}
2020-12-20 14:03:17 -> {"id":4252,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 14:03:17 <- {"code":0,"message":"ok","result":["on",true,20,"on"],"id":4252}
2020-12-20 14:03:17 -> {"id":4254,"method":"get_power","params":[]}
2020-12-20 14:03:17 <- {"code":0,"message":"ok","result":[100],"id":4254}
2020-12-20 14:03:17 -> {"id":4255,"method":"get_prop","params":["power","temperature","wifi_led"]}
2020-12-20 14:03:17 <- {"code":0,"message":"ok","result":["on",20,"on"],"id":4255}
2020-12-20 14:03:18 -> {"id":4256,"method":"set_power","params":["off"]}
2020-12-20 14:03:18 <- {"code":0,"message":"ok","result":["ok"],"id":4256}
2020-12-20 14:03:21 -> {"id":4257,"method":"set_power","params":["on"]}
2020-12-20 14:03:21 <- {"code":0,"message":"ok","result":["ok"],"id":4257}
2020-12-20 14:03:23 -> {"id":4258,"method":"get_prop","params":["power","usb_on","temperature","wifi_led"]}
2020-12-20 14:03:23 <- {"code":0,"message":"ok","result":["on",true,20,"on"],"id":4258}
2020-12-20 14:03:23 -> {"id":4259,"method":"get_power","params":[]}
2020-12-20 14:03:23 <- {"code":0,"message":"ok","result":[100],"id":4259}
2020-12-20 14:03:24 -> {"id":4260,"method":"set_usb_off","params":[]}
2020-12-20 14:03:24 <- {"code":0,"message":"ok","result":["ok"],"id":4260}
2020-12-20 14:03:26 -> {"id":4261,"method":"set_usb_on","params":[]}
2020-12-20 14:03:26 <- {"code":0,"message":"ok","result":["ok"],"id":4261}
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение skysilver » Вс дек 20, 2020 3:25 pm

bua писал(а):
Вс дек 20, 2020 2:53 pm
на сегодня до сих пор что старая розетка с 2 USB что новая не управляется с модуля
Нужен лог модуля.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
bua
Сообщения: 46
Зарегистрирован: Пн фев 11, 2019 8:42 pm
Откуда: Херсон
Благодарил (а): 10 раз
Поблагодарили: 0

Re: [Модуль] Xiaomi miIO (xiaomimiio)

Сообщение bua » Вт дек 22, 2020 5:53 pm

skysilver писал(а):
Вс дек 20, 2020 3:25 pm
bua писал(а):
Вс дек 20, 2020 2:53 pm
на сегодня до сих пор что старая розетка с 2 USB что новая не управляется с модуля
Нужен лог модуля.
В вашем модуле все хорошо. Нашел решение на буржуйском сайте, но работает только с (chuangmi.plug.v3) удалить устройство с MI home. Заново привязать к MI home, посмотреть новый токен привязать к мажору, если не работает повторить. Пару попыток и USB начал включаться, существующие сценарии работают. С устройством типа (chuangmi.plug.hmi208) если в настройке выбрать (chuangmi.plug.v3) USB тоже смог включить, но устройство offline. Тестирую.
Ответить