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

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

Модератор: immortal

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

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

Сообщение VladPTZ » Чт сен 09, 2021 12:28 pm

Купил обогреватель XIAOMI Mi Smart Space Heater S
Выглядит так
Изображение

Подключил его к модулю как неизвестное устройство.
Протестировал API команды.

В поле "M" пишем set_properties
В поле "P" пишем команды.


[{"did":"power","siid":2,"piid":1,"value":false}] или
[{"value":false,"siid":2,"piid":1}] включение отключение питания


[{ "did": "target_temperature", "siid": 2, "piid": 5, "code": 0, "value": 18 }] или
[{"value":25,"siid":2,"piid":5}] устанавливаем температуру которую держит обогреватель



[{"did":"buzzer","siid":6,"piid":1,"code":0,"value":true}] или
[{"value":true,"siid":6,"piid":1}] включение отключение динамика


[{ "did": "countdown_time", "siid": 3, "piid": 1, "code": 0, "value": 2 }] или
[{"value":5,"siid":3,"piid":1}] Устанавливаем время через который выключается обогреватель


[{ "did": "child_lock", "siid": 5, "piid": 1, "code": 0, "value": false}] или
[{"value":false,"siid":5,"piid":1}] Включение отключение блокировки клавиш


[{ "did": "led_brightness", "siid":7, "piid":3, "code":0, "value":1}] или
[{"value":1,"siid":7,"piid":3}] в теории отключение светодиодов но на практике только бибикает


В поле "M" пишем get_properties
В поле "P" пишем команды.


[{"siid":2,"piid":1}] запрос включено ли питание power

[{"siid":2,"piid":5}] Читаем температуру которую поддерживает обогреватель target_temperature

[{"siid":3,"piid":1}] Читаем через какое время выключить обогреватель countdown_time

[{"siid":4,"piid":7}] Читаем текущую температуру temperature

[{"siid":7,"piid":3}] читаем статус индикатора led_brightness

[{"siid":6,"piid":1}] читаем ствтус динамика. buzzer

[{"siid":5,"piid":1}] читаем статус блокировки клавиш child_lock

Работают все кроме включения отключения светодиода но бибикает на команду.
Готов тестировать доработку модуля.
В случаи необходимости организую удаленный доступ к своей системе для разработчика.
За это сообщение автора VladPTZ поблагодарили (всего 2):
SmoKE_xDDD (Чт сен 09, 2021 4:31 pm) • Samir77 (Пн сен 20, 2021 9:28 pm)
Рейтинг: 2.33%
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

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

Сообщение tarasfrompir » Чт сен 09, 2021 6:14 pm

VladPTZ писал(а):
Чт сен 09, 2021 12:28 pm
Купил обогреватель XIAOMI Mi Smart Space Heater S
Выглядит так
Изображение

Подключил его к модулю как неизвестное устройство.
Протестировал API команды.

В поле "M" пишем set_properties
В поле "P" пишем команды.


[{"did":"power","siid":2,"piid":1,"value":false}] или
[{"value":false,"siid":2,"piid":1}] включение отключение питания


[{ "did": "target_temperature", "siid": 2, "piid": 5, "code": 0, "value": 18 }] или
[{"value":25,"siid":2,"piid":5}] устанавливаем температуру которую держит обогреватель



[{"did":"buzzer","siid":6,"piid":1,"code":0,"value":true}] или
[{"value":true,"siid":6,"piid":1}] включение отключение динамика


[{ "did": "countdown_time", "siid": 3, "piid": 1, "code": 0, "value": 2 }] или
[{"value":5,"siid":3,"piid":1}] Устанавливаем время через который выключается обогреватель


[{ "did": "child_lock", "siid": 5, "piid": 1, "code": 0, "value": false}] или
[{"value":false,"siid":5,"piid":1}] Включение отключение блокировки клавиш


[{ "did": "led_brightness", "siid":7, "piid":3, "code":0, "value":1}] или
[{"value":1,"siid":7,"piid":3}] в теории отключение светодиодов но на практике только бибикает


В поле "M" пишем get_properties
В поле "P" пишем команды.


[{"siid":2,"piid":1}] запрос включено ли питание power

[{"siid":2,"piid":5}] Читаем температуру которую поддерживает обогреватель target_temperature

[{"siid":3,"piid":1}] Читаем через какое время выключить обогреватель countdown_time

[{"siid":4,"piid":7}] Читаем текущую температуру temperature

[{"siid":7,"piid":3}] читаем статус индикатора led_brightness

[{"siid":6,"piid":1}] читаем ствтус динамика. buzzer

[{"siid":5,"piid":1}] читаем статус блокировки клавиш child_lock

Работают все кроме включения отключения светодиода но бибикает на команду.
Готов тестировать доработку модуля.
В случаи необходимости организую удаленный доступ к своей системе для разработчика.
Так забабахай пу просто себе. И вся недолга Самир77 знает чего делать. И модуль не нужен будет
За это сообщение автора tarasfrompir поблагодарили (всего 2):
VladPTZ (Чт сен 09, 2021 11:43 pm) • Samir77 (Пн сен 20, 2021 9:28 pm)
Рейтинг: 2.33%
Спасибо нам ПОМОЖЕТ..!
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

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

Сообщение VladPTZ » Пт сен 10, 2021 12:58 am

Если я со скрипта вызываю

callAPI('/api/module/xiaomimiio','GET',array('did'=>'20','dcmd'=>'get_properties','dopt'=>'[{"siid":4,"piid":7}]'));

Как мне результат выполнения команды забрать?
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

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

Сообщение tarasfrompir » Пт сен 10, 2021 7:49 am

VladPTZ писал(а):
Пт сен 10, 2021 12:58 am
Если я со скрипта вызываю

callAPI('/api/module/xiaomimiio','GET',array('did'=>'20','dcmd'=>'get_properties','dopt'=>'[{"siid":4,"piid":7}]'));

Как мне результат выполнения команды забрать?
Посмотри в контексте в блогах недавний увлажнитель - там все расписано от а до по коду. По примеру сделаеш свое..
За это сообщение автора tarasfrompir поблагодарил:
Samir77 (Пн сен 20, 2021 9:28 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

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

Сообщение VladPTZ » Пт сен 10, 2021 8:17 am

tarasfrompir писал(а):
Пт сен 10, 2021 7:49 am

Посмотри в контексте в блогах недавний увлажнитель - там все расписано от а до по коду. По примеру сделаеш свое..
Да я смотрю код про увлажнитель, я так понял там весь обмен реализован с нуля без модуля, я для начала хочу попробовать реализовать через api самого модуля.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

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

Сообщение tarasfrompir » Пт сен 10, 2021 9:05 am

Ну тогда к автору модуля - или самому добавлять поддержку своего устройства.. Там вроде несложно
Спасибо нам ПОМОЖЕТ..!
Dasisfakt
Сообщения: 29
Зарегистрирован: Вт авг 06, 2019 5:48 pm
Благодарил (а): 27 раз
Поблагодарили: 2 раза

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

Сообщение Dasisfakt » Ср сен 29, 2021 4:17 pm

Добрый вечер, появилась новая фича, получения токенов прямо с модуля, но нужен Python 3. Подскажите как его установить на базовый образ MJ. Система Raspberry на debian 9
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Сб окт 02, 2021 10:43 pm

Dasisfakt писал(а):
Ср сен 29, 2021 4:17 pm
Добрый вечер, появилась новая фича, получения токенов прямо с модуля, но нужен Python 3. Подскажите как его установить на базовый образ MJ. Система Raspberry на debian 9
В базовом образе python уже установлен...не знаю правда какая именно у вас версия образа...но если вдруг его нет - ставится командой

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

sudo apt install python
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
~220v
Сообщения: 96
Зарегистрирован: Пн дек 23, 2019 5:56 pm
Благодарил (а): 109 раз
Поблагодарили: 18 раз

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

Сообщение ~220v » Вс окт 03, 2021 11:30 pm

Доброго!
Подскажете пожалуйста, как правильно составить запрос для устройства Qingping Air Monitor Lite https://aliexpress.ru/item/1005002822370254.html
Требуется с консоли вытащить значение CO2. Поверил только это:
php miio-cli.php --ip 192.168.1.57 --token a21eecbcd7d0bc0c77304e21a777b0ea --info

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

Используем авто-формирование уникальных ID для команд из файла id.json
Информация об устройстве:
{"id":1,"result":{"life":3100118,"uid":xxyyxxyyхх,"model":"cgllc.airm.cgdn1","token":"a21eecbcd7d0bc0c77304e21a777b0ea","ipflag":1,"fw_ver":"2.1.7_0353","mcu_fw_ver":"0354","miio_ver":"0.0.9","hw_ver":"esp32","mmfree":4187984,"mac":"04:CF:8C:99:C5:A1","wifi_fw_ver":"v4.0.1-468-gacabb68b4-dirty","ap":{"ssid":"0v","bssid":"77:88:66:55:99:11","rssi":-39,"primary":11},"netif":{"localIp":"192.168.1.57","mask":"255.255.255.0","gw":"192.168.1.1"}},"exe_time":50}
php miio-cli.php --discover 192.168.1.57 --debug

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

array(2) {
  ["discover"]=>
  string(12) "192.168.1.57"
  ["debug"]=>
  bool(false)
}
Поиск 192.168.1.57
Соединение с устройством IP 192.168.1.57
Статус отладки [1]
Сокет успешно создан

Проверяем доступность устройства 192.168.1.57
Параметр SO_RCVTIMEO сокета успешно задан
 >>>>> Отправляем hello-пакет на 192.168.1.57 с таймаутом 5
 >>>>> Отправлено в сокет 32 байт
 <<<<< Получен ответ от IP 192.168.1.57 с порта 54321
Прочитано 32 байта из сокета
magic: 2131
length: 0020 --> 32 байт
unknown1: 00000000
devicetype: 0793
serial: d609
ts: 002f4c1b --> 3099675 секунд --> 1970-02-05 21:01:15
checksum: ffffffffffffffffffffffffffffffff
ts_server: 6157549f --> 1633113247 секунд --> 2021-10-01 18:34:07
timediff: -1630013572
Поиск выполнен.
Устройство найдено и отвечает.
подозреваю что здесь
https://miot-spec.org/miot-spec-v2/inst ... lc-cgdn1:1
https://github.com/rytilahti/python-miio/pull/900/files
есть описание команд, но не шмогла...
Kas-11
Сообщения: 37
Зарегистрирован: Ср апр 26, 2017 11:52 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

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

Сообщение Kas-11 » Пн окт 11, 2021 3:37 pm

Добрый день!
Купил ДВЕРНОЙ ЗВОНОК. Подключил к модулю. Прописал ТОКЕН. определился как (linp.doorbell.g03).
Выглядит он так https://aliexpress.ru/item/100500313023 ... web201603_

В настройках тип отсутствует.
Я хотел чтобы при нажатии на звонок мне отсылалось сообщение.

Попробовал API команды из этой темы https://github.com/rytilahti/python-miio/issues/521
get_volume - Работает (узнать статус громкости)
set_volume (from 0 to 4) - Работает (громкость для звонка)
play_specified_music (from 0 to 36) - Работает (запускает на проигрывание мелодию)

Можно это устройство добавить в модуль?
Ответить