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

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

Модератор: immortal

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

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

Сообщение skysilver » Вт сен 29, 2020 9:18 am

sdenisb писал(а):
Пн сен 28, 2020 10:09 pm
Не подскажите, как организовать зональную уборку (передать координаты) используя пылесос Xiaomi Mi Robot Vacuum Mop (dreame.vacuum.mc1808)?
Для начала нужно выяснять, какие API-команды для этого шлёт Михом пылесосу. Лог кастомного Михом от vevs в помощь.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
sdenisb
Сообщения: 5
Зарегистрирован: Пн сен 28, 2020 10:03 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

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

Сообщение sdenisb » Вт сен 29, 2020 5:44 pm

skysilver писал(а):
Вт сен 29, 2020 9:18 am
sdenisb писал(а):
Пн сен 28, 2020 10:09 pm
Не подскажите, как организовать зональную уборку (передать координаты) используя пылесос Xiaomi Mi Robot Vacuum Mop (dreame.vacuum.mc1808)?
Для начала нужно выяснять, какие API-команды для этого шлёт Михом пылесосу. Лог кастомного Михом от vevs в помощь.
Вот что в логе при отправке в указанную зону (по кардиналам 351,-3761,1372,-2837):
СпойлерПоказать
robot.png
robot.png (56.08 КБ) 3468 просмотров
2020-09-29 17:35:02 -> {"id":8994,"method":"action","params":{"did":"364984516","siid":18,"aiid":1,"in":[{"piid":1,"value":19},{"piid":21,"value":"351,-3761,1372,-2837"}]}}
2020-09-29 17:35:02 <- {"code":0,"exe_time":1,"id":8994,"net_cost":363,"ot_cost":3293,"otlocalts":1601390102328315,"result":{"aiid":1,"code":0,"did":"364984516","out":[],"siid":18}}

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

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

Сообщение skysilver » Вт сен 29, 2020 5:58 pm

sdenisb писал(а):
Вт сен 29, 2020 5:44 pm
Что с этим делать дальше? Как-то передавать через API?
Попробовать код для сценария или метода:

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

$coord = "351,-3761,1372,-2837";

$did = 5;   // где 5 - уникальный внутренний идентификатор пылесоса в модуле
$method = "action";
$params = '{"did":"zoned_clean","siid":18,"aiid":1,"in":[{"piid":1,"value":19},{"piid":21,"value":"'.$coord.'"}]}';

include_once(DIR_MODULES . 'xiaomimiio/xiaomimiio.class.php');
$miio = new xiaomimiio();
$miio->addToQueue($did, $method, $params);
За это сообщение автора skysilver поблагодарил:
sdenisb (Вт сен 29, 2020 6:13 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
sdenisb
Сообщения: 5
Зарегистрирован: Пн сен 28, 2020 10:03 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

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

Сообщение sdenisb » Вт сен 29, 2020 6:12 pm

skysilver писал(а):
Вт сен 29, 2020 5:58 pm
sdenisb писал(а):
Вт сен 29, 2020 5:44 pm
Что с этим делать дальше? Как-то передавать через API?
Попробовать код для сценария или метода:

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

$coord = "351,-3761,1372,-2837";

$did = 5;   // где 5 - уникальный внутренний идентификатор пылесоса в модуле
$method = "action";
$params = '{"did":"zoned_clean","siid":18,"aiid":1,"in":[{"piid":1,"value":19},{"piid":21,"value":"'.$coord.'"}]}';

include_once(DIR_MODULES . 'xiaomimiio/xiaomimiio.class.php');
$miio = new xiaomimiio();
$miio->addToQueue($did, $method, $params);
Отлично, все работает! Спасибо!
astrubin
Сообщения: 14
Зарегистрирован: Пн янв 23, 2017 2:13 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение astrubin » Пн ноя 16, 2020 7:28 pm

Torch писал(а):
Чт янв 09, 2020 2:26 pm
sergey.b писал(а):
Пн ноя 11, 2019 9:53 pm
Подскажите, пожалуйста, увлажнитель который поддерживается, это не deerma.humidifier.mjjsq (так выдает miIO Info на странице всех девайсов)? Выглядит очень похоже.
У меня при выборе увлажнителя, после ввода токена, не подтягиваются данные, есть только 3 стандартных:online,command и message
гляньте в личку
Здравствуйте!
Такая же ситуация с увлажнителем.
Где можно посмотреть решение этой проблемы?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Ср ноя 18, 2020 10:02 am

astrubin писал(а):
Пн ноя 16, 2020 7:28 pm
Такая же ситуация с увлажнителем.
Где можно посмотреть решение этой проблемы?
Покажите, что в miIO.info у него.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Пт ноя 20, 2020 11:03 pm

Закупился тут по случаю 11.11 увлажнителем smartmi и очистителем 3h - подключил, всё работает без проблем. (smartmi выбрал как Mi Air Humidifier 2) Спасибо автору! Единственное, что вылезло - не заполнялись привязанные свойства, видимо потому что первоначально в них null, а модуль сравнивает старое значение с новым, для null это равенство не выполняется. После заполнения вручную - всё работает как часики

Кстати - под питон появился модуль micloud, который позволяет вытащить токены без необходимости ставить на телефон какие-то аппликации

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

from micloud import MiCloud

mc = MiCloud("email@email.com", "password")
mc.login()
token = mc.get_token() # to get your cloud service token.
device_list = mc.get_devices(country="cn")
for device in device_list:
    print(device['name'],device['model'],device['localip'],device['token'])
Если устройства привязаны к европейскому облаку, то

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

mc.get_devices(country="de")
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Пт ноя 20, 2020 11:54 pm

fandaymon писал(а):
Пт ноя 20, 2020 11:03 pm
мойка если температуру не отдает, то в глобальной версии метрика другая
у ерасера есть пу под нее
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Сб ноя 21, 2020 12:06 am

Logrus писал(а):
Пт ноя 20, 2020 11:54 pm
fandaymon писал(а):
Пт ноя 20, 2020 11:03 pm
мойка если температуру не отдает, то в глобальной версии метрика другая
у ерасера есть пу под нее
Отдавать отдаёт, в привязанное свойство не передаётся. Мойка как раз китайская - не уверен, что глобальная версия smartmi есть...
ПУ от Erasera я сразу же поставил 8-) Надо бы и для очистителя добавить шаблон...
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Сб ноя 21, 2020 2:24 pm

fandaymon писал(а):
Сб ноя 21, 2020 12:06 am
Logrus писал(а):
Пт ноя 20, 2020 11:54 pm
fandaymon писал(а):
Пт ноя 20, 2020 11:03 pm
мойка если температуру не отдает, то в глобальной версии метрика другая
у ерасера есть пу под нее
Отдавать отдаёт, в привязанное свойство не передаётся. Мойка как раз китайская - не уверен, что глобальная версия smartmi есть...
ПУ от Erasera я сразу же поставил 8-) Надо бы и для очистителя добавить шаблон...
есть, их более трех версий
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить