Пылесос Xiaomi MiRobotVacuum

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Divan » Вс мар 01, 2020 9:48 pm

Обновил шапку этой темы, выложил видеоинструкцию по созданию сцены, различные сцены и ссылки на статью в connect.
За это сообщение автора Divan поблагодарил:
kas5858 (Пн мар 02, 2020 7:42 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Divan » Чт мар 05, 2020 1:36 am

Спросил у разработчика FloleVac и получил ответ. К сожалению Roborock Sweep one vacuum cleaner (пылесос второго поколения) не поддерживается ПО FloleVac и не удаться извлечь координаты. Скажите, кто-нибудь извлекал координаты другим способом?
СпойлерПоказать
Безымянный.jpg
Безымянный.jpg (43.54 КБ) 5632 просмотра
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
pash4uga
Сообщения: 192
Зарегистрирован: Чт окт 04, 2018 12:04 pm
Благодарил (а): 28 раз
Поблагодарили: 45 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение pash4uga » Чт мар 05, 2020 6:18 pm

Чуть доработал скрипт, что бы между командой stop и зональной уборкой была задержка 1,5 секунды. А то бывало очень редко криво отрабатывало, если их сразу обе отправить.
СпойлерПоказать

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

<script>
     $("#take").click(function() {
  var x = [];
  $("input:checked").each(function(i, item) {
    x.push($(item).attr("value"))
  });
$.get( "../../objects/", { object:"VAC_MI", op:"set",p:"command", v:"app_stop"} );
setTimeout(function() {$.get( "../../objects/", { object:"VAC_MI", op:"set",p:"zoned_clean", v:x.toString()});}, 1500);
$('input:checked').prop('checked', false);
})
 
 $("#goto").click(function() {
$.get("/objects/", { object:"VAC_MI", op:"get", p:"gotoClean" }).done(function(data) {
   $.get( "../../objects/", { object:"VAC_MI", op:"set",p:"goto", v:data });  
 });
});
 </script>
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Divan » Чт мар 05, 2020 10:17 pm

Команда stop не нужна при запуске зональной уборки. В вашем скрипте получается, сначала идет запуск команды stop, пылесос прекращает уборку, а потом идет запуск зональной уборки, то конечно в таком случае будет сбой при запуске зональной уборки. Запуск зональной уборки начинается, как только в свойстве zone clean обновятся координаты, а команды они никак не влияют на запуск зональной уборки. Правильно будет в скрипте убрать команду stop, так она лишняя и не к месту, и создать отдельную кнопку стоп с привязкой к методу. Тогда вы не столкнетесь с проблемой запуска зональный уборки.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Divan » Чт мар 05, 2020 10:36 pm

Скрипт ниже работает отлично, нет никаких проблем с запуском зональной уборки в нескольких помещениях. Есть одно но, у пылесоса максимум можно сразу запустить 5 координат, больше он не обрабатывает, он 5 координату отработает, а остальные, если есть- проигнорирует и поедет на базу.

При запуске уборки, страница не обновляется, чебоксы сбрасываются.

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

<script> $("#take").click(function() { var x = []; $("input:checked").each(function(i, item) { $('input:checkbox').prop('checked', false); x.push($(item).attr("value")) }); $.get( "../../objects/", { object:"XiaomiMiRobotVacuum", op:"set",p:"ZonedClean", v:x.toString()} ); }); </script>
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
pash4uga
Сообщения: 192
Зарегистрирован: Чт окт 04, 2018 12:04 pm
Благодарил (а): 28 раз
Поблагодарили: 45 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение pash4uga » Пт мар 06, 2020 2:37 am

Divan писал(а):
Чт мар 05, 2020 10:17 pm
Команда stop не нужна при запуске зональной уборки. В вашем скрипте получается, сначала идет запуск команды stop, пылесос прекращает уборку, а потом идет запуск зональной уборки, то конечно в таком случае будет сбой при запуске зональной уборки. Запуск зональной уборки начинается, как только в свойстве zone clean обновятся координаты, а команды они никак не влияют на запуск зональной уборки. Правильно будет в скрипте убрать команду stop, так она лишняя и не к месту, и создать отдельную кнопку стоп с привязкой к методу. Тогда вы не столкнетесь с проблемой запуска зональный уборки.
Стоп добавлена специально, а если я не на ту зону отправил куда хотел? Да, такое иногда бывает))
Если без остановки заново попытаться отправить на другие зоны, то ни чего не произойдет, придется через другую кнопку его сначала останавливать.
А так просто отметил новые зоны, и нажал отправить, меньше действий так сказать.
Дело вкуса на самом деле)
Прошивка пылика стоковая.
А вот ограничение в 5 зон, увы, его ни как не обойти...
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Nail » Сб мар 14, 2020 9:47 pm

Мне понравился пылесос XIAOMI VIOMI CLEANING ROBOT. Запуск в МД такой же?
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Divan » Сб мар 14, 2020 9:54 pm

Nail писал(а):
Сб мар 14, 2020 9:47 pm
Мне понравился пылесос XIAOMI VIOMI CLEANING ROBOT. Запуск в МД такой же?
все зависит о модуля milo, советую спросить у автора модуля milo. Вы будете первым, кто проверит такой пылесос на совместимость с MD.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Kis_s
Сообщения: 6
Зарегистрирован: Вс янв 12, 2020 5:25 pm
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Kis_s » Вс апр 05, 2020 6:43 pm

Добрый день! У меня Roborock 2-й редакции. Карта тоже не хотела ничем читаться. Но, почитав https://github.com/marcelrv/XiaomiRobotVacuumProtocol и повозившись с MiHiome понял, что последнии версии MiHome(с цветной картинкой) сами размечают комнаты, дают их редактировать и убирать отдельно.
Вообщем я выкрутился с уборкой комнат таким образом:
1. Разметил в обновленной MiHome комнаты, - она позволяет сделать сколько угодно
2. В модуле xiaomimiio есть возможность подавать разные команды. К сожалению, get_room_mapping выдала только одну комнату. Пришлось давать команду app_segment_clean перебирая параметры номера сегмента, чтобы выяснить, куда пылесос поедет. Таким образом выяснил, что у меня номера сегментов такие: 4 - Душевая, 8 - Детская, 16 - Гостиная, 17 - Прихожая, 18- Ванная, 19 - Спальня, 20 - Кухня, 21 - Гардеробная. Я так понимаю, что при редактировании комнаты(разбитии или слиянии) новые объекты пишутся с инкрементом идентификатора.
3. И самое "неприятное", - модуль xiaomimiio не умеет пока работать с сегментами, поэтому пришлось его "подправить". В файле "/var/www/html/modules/xiaomimiio/xiaomimiio.class.php" исправить строчку:
$this->addToQueue($properties[$i]['DEVICE_ID'], 'app_zoned_clean', '[' . $value . ']');
на
$this->addToQueue($properties[$i]['DEVICE_ID'], 'app_segment_clean', '[' . $value . ']');
формат команды практически не отличается от работы с зонами:
{"id":8338,"method":"app_zoned_clean","params":[[26234,26042,27284,26642,5]]}
{"id":8338,"method":"app_segment_clean","params":[1,2,3,4,10]}
где цифры - найденные в п.п.2 ID комнат, так что изменяя zoned_clean на "4,8" мы отправляем пылесос убирать сегменты 4 и 8 (При этом никаких скобок даже не надо добавлять, скрипт пишет прямо в нужном формате).

Дальше сделал все, как у Вас, только добавил еще состояний, их на самом деле больше, сам код видно в state:
0 Unknown
1 Initiating
2 Sleeping
3 Idle
4 Remote Control
5 Cleaning
6 Returning Dock
7 Manual Mode
8 Charging
9 Charging Error
10 Paused
11 Spot Cleaning
12 In Error
13 Shutting Down
14 Updating
15 Docking
16 Go To
17 Zone Clean
18 Room Clean
100 Fully Charged
3.1. Изменил отображение полей на "Оставшиеся проценты", как в MiHome, например "filter_work_life_p Оставшийся срок работы фильтра (в % от 150 часов)" "main_brush_work_life_p Оставшийся срок работы основной щетки (в % от 300 часов)" "sensor_dirty_life_p Оставшийся срок работы сенсоров (в % от 30 часов)" "side_brush_work_life_p Оставшийся срок работы боковой щетки (в % от 200 часов)"
3.2. Сделал изменение цвета полей информации: меньше 10% - красный, меньше 30% - желтый, иначе зеленый

И все заработало ;о)
PS Спасибо за сцену с пылесосом ;о)))
За это сообщение автора Kis_s поблагодарил:
Divan (Сб май 22, 2021 2:51 pm)
Рейтинг: 1.16%
Мазур
Сообщения: 133
Зарегистрирован: Чт ноя 26, 2015 3:52 pm
Благодарил (а): 32 раза
Поблагодарили: 1 раз

Re: Пылесос Xiaomi MiRobotVacuum

Сообщение Мазур » Вс апр 05, 2020 10:20 pm

Други, подскажите плиз... Где то, что то не так делаю.
Создал эту красивую сцену viewtopic.php?f=32&t=7029
Всё работает, прекрасно... Кроме зональной уборки.
Читал тут https://connect.smartliving.ru/profile/ ... acuum.html
Если запускать по ссылки, то работает.
СпойлерПоказать
Безымянный4.jpg
Безымянный4.jpg (126.37 КБ) 5056 просмотров
Тут может что то не так?
СпойлерПоказать
Безымянный5.jpg
Безымянный5.jpg (168.08 КБ) 5056 просмотров
Тут ставлю галочки, но не работает ((((
СпойлерПоказать
Безымянный6.jpg
Безымянный6.jpg (183.6 КБ) 5056 просмотров
И еще статус пылесоса молчит. :cry:
Ответить