Страница 12 из 24

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

Добавлено: Вт дек 05, 2017 11:10 pm
skysilver
denis писал(а):Спасибо за модуль, модуль нашел лампу "philips eyecare smart lamp 2", вкл-выкл, регулировка яркости из МДМ работает. С остальным пока не пробовал, но думаю, тоже проблем не будет.
Собственно, остальное на данные момент и не реализовано. Только базовый функционал.

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

Добавлено: Вт дек 05, 2017 11:14 pm
skysilver
Как-то народ не активно отписывается о результатах, что откладывает перевод альфы в бету и ее размещение в маркете. ))

Тем не менее, выпущено еще две сборки. Крайняя 0.6-alpha. В ней, ко всему прочему, добавил в интерфейс кнопку для быстрого получения сведений miIO.info.
miio0.6.png
miio0.6.png (38.9 КБ) 5432 просмотра

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

Добавлено: Вт дек 05, 2017 11:48 pm
VooDooN
А робот-пылесос есть в модуле? Как вообще модуль использовать не из маркета, просто скопировать в папку с другими модулями?

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

Добавлено: Ср дек 06, 2017 12:06 am
woow
skysilver писал(а):Как-то народ не активно отписывается о результатах...
По ка для меня как бы смысла не вижу, хотя интересуюсь, уже накупил несколько девайсов от сиоми, среди них попалась розетка по ошибке без зигби, т.e. без мобильного аппса с ней обращаться нужен токен прочитал методику как его ловить, попробовал не получилось, для меня уж слишком закручено так как бы надобность миИО отпадает. Может кто со временем для рядовых смертных какой метод по проще придумает.

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

Добавлено: Ср дек 06, 2017 12:21 am
skysilver
VooDooN писал(а):А робот-пылесос есть в модуле? Как вообще модуль использовать не из маркета, просто скопировать в папку с другими модулями?
Пылесос есть.

Скачать zip-архив. В нем будет три папки - modules, scripts, templates. Их нужно скопировать в корень папки с МДМ и перезапустить главный цикл, чтобы модуль проинсталлился.

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

Добавлено: Ср дек 06, 2017 12:23 am
skysilver
woow писал(а):розетка по ошибке без зигби, т.e. без мобильного аппса с ней обращаться нужен токен прочитал методику как его ловить, попробовал не получилось, для меня уж слишком закручено так как бы надобность миИО отпадает.
Если есть андроид с рутом, то все очень просто. Если без рута, то чуть сложнее, но реально. ))

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

Добавлено: Ср дек 06, 2017 10:35 am
skysilver
Расковырял api шлюза в части управления радио.

Программу максимум (воспроизведение любого онлайн-радио и голосовые уведомления от МДМ) реализовать не получится, т.к. шлюз "кушает" потоки только в определенном формате, весьма специфичном - кодек AAC, формат плейлиста m3u8, а в самом плейлисте ссылки на какие-то части потока по 5-7 секунд длиной. Муть какая-то! )
Пример плейлиста m3u8 одной китайской станцииПоказать

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

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:7
#EXT-X-MEDIA-SEQUENCE:12064453
#EXTINF:7,
http://live.xmcdn.com/192.168.3.134/live/1065/64/171206_063034_11cf.aac
#EXTINF:7,
http://live.xmcdn.com/192.168.3.134/live/1065/64/171206_063034_11d0.aac
#EXTINF:7,
http://live.xmcdn.com/192.168.3.134/live/1065/64/171206_063034_11d1.aac    
Что получилось:
узнать текущее состояние

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"get_prop_fm","params":[]}' 
получить список текущих радиостанций в избранном

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"get_channels","params":{"start":0}}' 
включить

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_fm","params":["on"]}' 
выключить

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_fm","params":["off"]}' 
переключить

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_fm","params":["toggle"]}' 
следующий трек

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_fm","params":["next"]}' 
предыдущий трек

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_fm","params":["prev"]}' 
изменить громкость

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"volume_ctrl_fm","params":["10"]}' 
добавить свою радиостанцию в избранное

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"add_channels","params":{"chs":[{"id":1022,"url":"http://icecast.vgtrk.cdnvideo.ru/vestifm_aac_32kbps","type":0}]}}'
воспроизвести конкретную радиостанцию из избранного с заданной громкостью

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

php miio-cli.php --ip 192.168.1.45 --sendcmd '{"id":65022,"method":"play_specify_fm","params":[1022,2]}'

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

Добавлено: Ср дек 06, 2017 1:46 pm
smart_g
А теперь надо на MJD поднять свою радиостанцию-Алису и скармливать ее шлюзу.

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

Добавлено: Ср дек 06, 2017 2:00 pm
skysilver
smart_g писал(а):А теперь надо на MJD поднять свою радиостанцию-Алису и скармливать ее шлюзу.
Вижу кучу проблем в связи с этим.

1. Как сформировать правильный поток, которых схавает радио шлюза. Тут без ffmpeg явно не обойдется. А это опять же перекодировка и нагрузка на сервер.
2. Если поток получится сделать, то большую часть времени он будет пустой, т.к. в основном Алиса все же молчит.
3. А еще при каждом включении радио шлюз играет какую-то мелодию, которую хрен отключишь, и со временем она будет невероятно бесить. ))

В принципе пруф-концепт может выглядеть так:
0. В шлюз сохраняется ссылка на плейлист.
1. После say() формируется в кеше файл mp3 с голосом.
2. Этот mp3 конвертируется ffmpeg в нужный формат и обновляется файл плей-листа.
3. Даем команду шлюзу проиграть нужный плейлист с заданной громкостью.
4. Шлюз сначала играет дилинь-дилинь, а потом произносит фразу Алисы.

По итогу, предполагаю, будет весьма заметная задержка. Поэтому такое решение только ради фана. ))

Кстати, в экосистеме сяоми есть wifi-устройства именно для онлайн-радио. Думаю, там такое же апи.

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

Добавлено: Ср дек 06, 2017 2:14 pm
Genplane
Как-то народ не активно отписывается о результатах, что откладывает перевод альфы в бету и ее размещение в маркете. ))
Хочу поблагодарить за модуль. С помощью Amarok поставил себе пару таких розеток. Одна отработала три дня, другая -один. Претензий не было. Сейчас уехал на пару недель. Дома никого. Продолжу по возвращении. Немного оффтопа: одну розетку вскрыл, отрезал- отпаял все контактные площадки, собрал назад с выведенными проводами. Отлично вошла в распредкоробку