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

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

Модератор: immortal

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

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

Сообщение skysilver »

pruwait писал(а): Вт окт 01, 2019 12:32 pm Именно
Включи все логи в модуле и логи циклов в конфиге МДМ (в БЗ есть описание).

Создай сценарий с кодом и запусти:

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

include_once(DIR_MODULES . 'xiaomimiio/xiaomimiio.class.php');
$miio = new xiaomimiio();
$miio->addToQueue(5, 'miIO.ir_play', '{"freq":38400,"code":"НУЖНЫЙ_ИК_КОД"}'); // где 5 - уникальный внутренний идентификатор шайбы в модуле
По результатам скинь логи модуля (их два) файлами сюда.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm

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

Сообщение pruwait »

skysilver писал(а): Вт окт 01, 2019 12:37 pm Создай сценарий с кодом и запусти:
Готово!
При выполнении сценария отправляется шайбой команда.
skysilver писал(а): Вт окт 01, 2019 12:37 pm Включи все логи в модуле и логи циклов в конфиге МДМ (в БЗ есть описание).
вот тут беда.
в config.php раскомментировал Define('LOG_CYCLES', 1);
перезагрузил апельсинку

поставил три галочки логгирования в модуле
Иду в Xray - Debug, выбираю log_2019-10-01-cycle_xiaomimiio.php.txt

Но там ничего нет.
Что я забыл?
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm

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

Сообщение pruwait »

Нашел вроде.
Вложения
log_2019-10-01-cycle_xiaomimiio.php.txt
(4.67 КБ) 281 скачивание
2019-10-01_xiaomimiio.log
(341.15 КБ) 267 скачиваний
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

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

Сообщение skysilver »

pruwait писал(а): Вт окт 01, 2019 2:26 pm Нашел вроде.
Был отправлен ИК-код размером 468 символов:

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

mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA==mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA==mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA==
При этом общий размер всей API-команды составил 543 символа:

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

{"id":1569928720,"method":"miIO.ir_play","params":{"freq":38400,"code":"mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA==mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA==mk0mUwlk0mkxmEsms0mEsmM2moBCzUAdgEIAZ8CHwGPAYMAwwGPBT8BnwCCm4BBhKkAz4BHgEeAR4HvhFeAP4A/hDlNZmAv4KHgD+CBwZEBOUItwCCgGEAzAFfBBnMpsNKw1VAhuEn4MPjI+G94Z3gY9AA=="}}
Шайба при этом успешно приняла команду, о чем говорит ее ответ:

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

{"result":["ok"],"id":1569928720}
Если по итогу шайба воспроизвела не все ИК-посылки, то это проблема прошивки шайбы.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

Вы бы на количество символов не особо ориентировались))
Судя по виду эта команда в base64 закодирована...а воспроизводит шайба байты raw во-первых расшифрованный, во вторых там может быть зашито несколько повторов. Совсем другие цифры могут быть.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Lex_vx
Сообщения: 4
Зарегистрирован: Ср окт 02, 2019 6:45 pm

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

Сообщение Lex_vx »

Лента Yeelight. Вчера долго не мог подключить, получал в ответ фразу "Вероятно, неверный токен". А через пару часов боли и страданий я заметил, что в MiHome у ленты другой IP, который кончается на 80, а модуль miIO определяет 84. Поменял ручками IP - всё заработало. А через 10 минут модуль повторяет поиск, и снова меняет IP на 84. Если отключить автопоиск, вписав время 0 - цикл падает.
Что делать и кто виноват?
Спасибо.
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm

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

Сообщение pruwait »

Lex_vx писал(а): Чт окт 03, 2019 7:50 am кто виноват?
Тот, кто дает IP. Похоже на маршрутизатор.

Что делать?
Прописать в настройках маршрутизатора постоянный IP для сетевого устройства с текущим мак-адресом.
Lex_vx
Сообщения: 4
Зарегистрирован: Ср окт 02, 2019 6:45 pm

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

Сообщение Lex_vx »

Выяснилось, что miIO находил гейт, а ленту вообще не видел.
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm

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

Сообщение pruwait »

skysilver писал(а): Вт окт 01, 2019 2:44 pm Если по итогу шайба воспроизвела не все ИК-посылки, то это проблема прошивки шайбы.
Я вот тут немного не разобрался.
Есть приложение miHome, которое отправляет шайбе команду, проморгать ИК светодиодом 199 пакетов. И все тип-топ. Прошивка шайбы позволяет сделать все как надо.
А есть модуль Xiaomi miIO (xiaomimiio), который вроде должен делать тоже самое, что и миХоум, то есть без режима разработчика отправлять команду на внутреннем API от Xiaomi... но прошивка не позволяет.
Как же так?
Aleksandr_A
Сообщения: 33
Зарегистрирован: Ср окт 09, 2019 9:24 am

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

Сообщение Aleksandr_A »

я читал-читал ветку, но так и не понял - можно ли управлять подсветкой хаба через miIO? через API не вариант, т.к. хаб оказался из "этих", у которых вроде бы открывается режим разработчика, но на деле - нет.
Ответить