Спасибо ОГРОМНОЕ ДРУЖИЩЕ !!! Благодаря Вашим подсказкам и инструкции по настройке сцены Пылесос от "Divan" получилось настроить зональную уборку через свойство "segment_clean" на пылесосе Mi Vacuum Cleaner ( roborock.vacuum.m1s ) !dengi.76 писал(а): ↑Вс апр 12, 2020 11:21 amЯ именно так и сделал - добавил 70 строку, появился segment_clean , и при его изменении пылесос убирает выбранную комнату. В общем смысл понятен - буду разбираться. Спасибо !!!Kis_s писал(а): ↑Вс апр 12, 2020 10:59 amОтдельной "команды" нет. Все должно работать так:
1. JavaScript в сцене меняет свойство объекта пылесоса. Пусть оно называется "segment_clean". Туда должны попасть номера сегментов 1,2,3,10
2. Это свойство объекта должно быть связано со свойством пылесоса "segment_clean" модуля xiaomimiio на закладке Данные.
3. Как только это происходит, модуль xiaomimiio сам посылает команду пылесосу.
В текущей версии xiaomimiio есть проблема, свойство segment_clean не выводится в закладке Данные пылесоса. Надеюсь, уважаемый skysilver поправит это. Подробности тут: viewtopic.php?f=5&t=4863&e=1&view=unread#p118051
Пылесос Xiaomi MiRobotVacuum
Модератор: immortal
-
- Сообщения: 222
- Зарегистрирован: Вт фев 06, 2018 9:40 pm
- Откуда: Пермь
- Благодарил (а): 117 раз
- Поблагодарили: 7 раз
Re: Пылесос Xiaomi MiRobotVacuum
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
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 Спасибо за сцену с пылесосом ;о)))
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
Re: Пылесос Xiaomi MiRobotVacuum
Друзья, может кто подскажет как регулировать мощность всасывания. Параметр fan_power только отображает текущую мощность но не меняет
-
- Сообщения: 192
- Зарегистрирован: Чт окт 04, 2018 12:04 pm
- Благодарил (а): 28 раз
- Поблагодарили: 45 раз
-
- Сообщения: 61
- Зарегистрирован: Пн апр 23, 2018 11:10 am
- Благодарил (а): 16 раз
- Поблагодарили: 29 раз
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Пылесос Xiaomi MiRobotVacuum
water_box_custom_mode, значение от 200 до 204
Off 200
Low 201
Medium 202
High 203
Customize (Auto) 204
- Рейтинг: 1.16%
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
-
- Сообщения: 28
- Зарегистрирован: Вт май 05, 2020 1:13 pm
- Благодарил (а): 6 раз
- Поблагодарили: 0
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 Спасибо за сцену с пылесосом ;о)))
В модуле xiaomimiio есть возможность подавать разные команды. Где и как их подавать, весь модуль пересмотрел.
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Пылесос Xiaomi MiRobotVacuum
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Пылесос Xiaomi MiRobotVacuum
Делюсь идеей. Появилась яндекс станция и стало лениво ставить чебоксы для выбора зональной уборки, захотелось запускать зональную уборку голосом. Сделал управление зональной уборки через яндекс станцию. Это представлено для пылесоса Xiaomi первого поколения, как это работает у пылесоса второго поколения я не знаю, поделитесь своим опытом.
Немного прикола от Алисы
Теперь по делу
Ставим модуль Yandex Home, мануал читать здесь и здесь
В модуле добавляем пылесос и привязываем к двум свойствам
1) StartingCleaning - Старт\стоп уборки с помощью Яндекс Алисы
2) SelectCleaningZone - Выбрать зону уборки с помощью Яндекс Алисы
Я яндексе создаем сценарии для запуска зональной уборки
В сценарии имеется 5 источников сигнала, каждый сигнал будет использоваться для зональной уборки, где в majordomo, в свойстве объекта будут значения one two three four five
Выбираем источник
В МД создаем связку свойство-метод, который будет запускать зональную уборку при получении этих значении one two three four five и связку-метод для прекращения уборки
Общий вид сценарии в яндексе
Немного прикола от Алисы
СпойлерПоказать
Ставим модуль Yandex Home, мануал читать здесь и здесь
В модуле добавляем пылесос и привязываем к двум свойствам
1) StartingCleaning - Старт\стоп уборки с помощью Яндекс Алисы
2) SelectCleaningZone - Выбрать зону уборки с помощью Яндекс Алисы
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
Общий вид сценарии в яндексе
СпойлерПоказать
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
- olis
- Сообщения: 18
- Зарегистрирован: Вс июл 14, 2019 6:29 pm
- Благодарил (а): 8 раз
- Поблагодарили: 6 раз
Re: Пылесос Xiaomi MiRobotVacuum
Просто несколько раз укажите id сегмента. Например segment_clean = 5,5,17 значит дважды убрать сегмент 5 и потом один раз сегмент 17.
На счет get_room_mapping: у меня при любом раскладе возвращает пустой массив. Пришлось тоже методом тыка сегменты искать. Вот некоторые наблюдения, может кому пригодится:
1. Сегменты, которые в Mi Home сами определились и после этого там не редактировались будут id с 1 по 15. Сегменты, которые редактировались, будут с 16 по 31.
2. Если открыть карту квартиры в Mi Home и командой отправить пылесос в определенный сегмент, то через пару секунд на карте будет подсвечено в какой сегмент он поехал, либо будет отбой. Т.е. не надо ждать и смотреть как пылесос по дому катается пока вы id перебираете.
3. Чем больше операций редактирования сегментов в Mi Home, тем выше id и тем сложнее их потом найти, особенно после id 31. Поэтому, если надо перекроить карту, восстанавливаем в Mi Home карту из автоматического бекапа, который был сделан до начала правок и делаем минимальное число правок. Потом ищем наши сегменты: правленные с 16 по 31, неправленные с 1 по 15.
- Рейтинг: 1.16%