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

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

Модератор: immortal

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

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

Сообщение skysilver » Вт окт 01, 2019 11:13 am

pruwait писал(а):
Пн сен 30, 2019 12:46 pm
Похоже дело в типе переменных для хранения данных. Отсюда просьба: доработать код модуля, чтоб была возможность отправлять длинные коды пультов, например до 1024 пакета.
Я не знаю, что можно доработать в модуле в этом плане. Если бы причина была в типе переменной и размере какого-либо буфера, то проблема была бы куда более глобальная - обрезалась бы не просто считываемая ИК-команда, а часть всего JSON-ответа шайбы.

Можно протестировать через модуль следующие команды:
- запуск режима обучения: метод miIO.ir_learn, параметры {"key":"1"}
- чтение обучаемого ИК-кода: метод miIO.ir_read, параметры {"key":"1"}

Вариант ответа на запуск режима обучения:
{"result":["ok"],"id":1569917189}

Вариант ответа на команду чтения ИК-кода:
код не обучен
"result":["(null)"],"id":1569917220}
код обучен
{"result":["FE000000000000000000000000080023224B0034003E00AC01C8024703310FB8138853000102000001000002020002020202020000020101010200020201020202010206478D"],"id":1569917473}

Если бы дело было в типе переменной, то обрезалась бы последняя часть JSON, где id. Т.е. это именно шайба отдает обрезанную ИК-команду.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 01, 2019 11:14 am

pruwait писал(а):
Вт окт 01, 2019 9:56 am
Как добыть токен на новых прошивках, в которых Mi Home меняет токен устройства сразу после спаривания?
А что не так с кастомной сборкой Михом от vevs? Всегда через нее можно было токены достать.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 01, 2019 11:17 am

mires писал(а):
Вт окт 01, 2019 8:32 am
Купил сегодня Mi Smart Sensor Set.
Оказалось, что там новая версия прошивки: 3.3.10_117
Это версия шлюза для российского рынка с евровилкой?

Если так, то никакого режима разработчика у него нет изначально.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение pruwait » Вт окт 01, 2019 11:29 am

mires писал(а):
Вт окт 01, 2019 11:12 am

Да, круто, спасибо. Тока режим разработчика в ключить, так что и решение тоже не подходит
Перечитай абзац "Особенности активации режима разработчика на некоторых шлюзах." несколько раз до полного понимания.
Решение подходит, я столкнулся с этой проблемой ранее, мне помогли.
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение pruwait » Вт окт 01, 2019 11:36 am

skysilver писал(а):
Вт окт 01, 2019 11:14 am
А что не так с кастомной сборкой Михом от vevs? Всегда через нее можно было токены достать.
Для шлюза я достал токен как раз этой сборкой. А вот с шайбой сборка не справилась. Ни в свойствах сети, ни еще где токен не отобразился.
Помогло только чтение логов старой версии михоум, установленной на бесхозном планшете.
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение pruwait » Вт окт 01, 2019 11:37 am

skysilver писал(а):
Вт окт 01, 2019 11:13 am

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

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

Сообщение skysilver » Вт окт 01, 2019 11:40 am

pruwait писал(а):
Вт окт 01, 2019 11:37 am
skysilver писал(а):
Вт окт 01, 2019 11:13 am
Можно протестировать через модуль следующие команды:
Как их подавать на шайбу проще всего?
п. 12 https://kb.mjdm.ru/xiaomimiio-gui/
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт окт 01, 2019 11:43 am

pruwait писал(а):
Вт окт 01, 2019 11:36 am
Ни в свойствах сети, ни еще где токен не отобразился.
В Михом: Мой профиль - Общие устройства - Мои устройства. Это на крайней версии от vevs.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
pruwait
Сообщения: 42
Зарегистрирован: Ср ноя 07, 2018 3:05 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение pruwait » Вт окт 01, 2019 11:52 am

skysilver писал(а):
Вт окт 01, 2019 11:13 am

Вариант ответа на команду чтения ИК-кода:
на "read" отвечает так:

11:49:12 {"result":{"key":"1","code":"mk0mMwlgAiTWazCWTGbTQAggAzAMIAcwEIAZ8CGgEOA68BjwMZAh8EvwfvA84CvwItm4BBzIIHwB/BL8AewQbCI8EPwB/BCmahB+Dn4bXgNfNZmCIc2GlOYDVOFn4H3g5eAx4TfBqeBjkAA="},"id":1569919752}

Опять же, в строке кода не хватает символов до 199!

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

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

Сообщение skysilver » Вт окт 01, 2019 11:56 am

pruwait писал(а):
Вт окт 01, 2019 11:52 am
11:49:12 {"result":{"key":"1","code":"mk0mMwlgAiTWazCWTGbTQAggAzAMIAcwEIAZ8CGgEOA68BjwMZAh8EvwfvA84CvwItm4BBzIIHwB/BL8AewQbCI8EPwB/BCmahB+Dn4bXgNfNZmCIc2GlOYDVOFn4H3g5eAx4TfBqeBjkAA="},"id":1569919752}
Опять же, в строке кода не хватает символов до 199!
Ответ полный, JSON-валидный, не обрезанный нигде. Соответственно, проблема в прошивке шайбы - не умеет она читать и отдавать по API длинные ИК-коды.

Если по ходу обучения повторно делать read (раз в секунду кликать на кнопку Отправить), поле code не меняется?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить