Страница 8 из 10

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Вс апр 12, 2020 12:02 pm
dengi.76
dengi.76 писал(а): Вс апр 12, 2020 11:21 am
Kis_s писал(а): Вс апр 12, 2020 10:59 am
dengi.76 писал(а): Вс апр 12, 2020 8:06 am т.к. при ручном изменении свойства " segment_clean" у меня пылесос убирает нужную комнату, а при отправки команды - нет !
Спасибо !
Отдельной "команды" нет. Все должно работать так:
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
Я именно так и сделал - добавил 70 строку, появился segment_clean , и при его изменении пылесос убирает выбранную комнату. В общем смысл понятен - буду разбираться. Спасибо !!!
Спасибо ОГРОМНОЕ ДРУЖИЩЕ !!! Благодаря Вашим подсказкам и инструкции по настройке сцены Пылесос от "Divan" получилось настроить зональную уборку через свойство "segment_clean" на пылесосе Mi Vacuum Cleaner ( roborock.vacuum.m1s ) !

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Вт апр 14, 2020 3:23 pm
kas5858
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 Спасибо за сцену с пылесосом ;о)))
Случайно не знаете как в сегментной уборки поставить количество уборок сегмента, так же как и в зональной?

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Пн апр 20, 2020 4:41 pm
Ander
Друзья, может кто подскажет как регулировать мощность всасывания. Параметр fan_power только отображает текущую мощность но не меняет

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Пн апр 20, 2020 6:49 pm
pash4uga
Ander писал(а): Пн апр 20, 2020 4:41 pm Друзья, может кто подскажет как регулировать мощность всасывания. Параметр fan_power только отображает текущую мощность но не меняет
castom_mode, значения от 101 до 104

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Ср апр 22, 2020 12:52 am
bartwell
pash4uga писал(а): Пн апр 20, 2020 6:49 pm castom_mode, значения от 101 до 104
А как включить режим влажной уборки?

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Ср апр 22, 2020 10:22 am
kas5858
bartwell писал(а): Ср апр 22, 2020 12:52 am
pash4uga писал(а): Пн апр 20, 2020 6:49 pm castom_mode, значения от 101 до 104
А как включить режим влажной уборки?
water_box_custom_mode, значение от 200 до 204

Off 200
Low 201
Medium 202
High 203
Customize (Auto) 204

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Вт май 05, 2020 7:52 pm
Sa1mon
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 есть возможность подавать разные команды. Где и как их подавать, весь модуль пересмотрел.

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Ср май 06, 2020 11:54 am
skysilver
Sa1mon писал(а): Вт май 05, 2020 7:52 pmГде и как их подавать, весь модуль пересмотрел.
п. 12 https://kb.mjdm.ru/xiaomimiio-gui/

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Ср май 20, 2020 12:26 am
Divan
Делюсь идеей. Появилась яндекс станция и стало лениво ставить чебоксы для выбора зональной уборки, захотелось запускать зональную уборку голосом. Сделал управление зональной уборки через яндекс станцию. Это представлено для пылесоса Xiaomi первого поколения, как это работает у пылесоса второго поколения я не знаю, поделитесь своим опытом.

Немного прикола от Алисы :D
SPOILERSPOILER_SHOW
Image1.jpeg
Image1.jpeg (102.65 КБ) 8729 просмотров
Image2.jpeg
Image2.jpeg (67.64 КБ) 8729 просмотров
Image3.jpeg
Image3.jpeg (56.3 КБ) 8729 просмотров
Теперь по делу
Ставим модуль Yandex Home, мануал читать здесь и здесь

В модуле добавляем пылесос и привязываем к двум свойствам
1) StartingCleaning - Старт\стоп уборки с помощью Яндекс Алисы
2) SelectCleaningZone - Выбрать зону уборки с помощью Яндекс Алисы
SPOILERSPOILER_SHOW
Настройка в модуле Yandex Home.JPG
Настройка в модуле Yandex Home.JPG (58.47 КБ) 8729 просмотров
Я яндексе создаем сценарии для запуска зональной уборки
SPOILERSPOILER_SHOW
Сценарий уборка в коридоре.JPG
Сценарий уборка в коридоре.JPG (25.45 КБ) 8729 просмотров
В сценарии имеется 5 источников сигнала, каждый сигнал будет использоваться для зональной уборки, где в majordomo, в свойстве объекта будут значения one two three four five
SPOILERSPOILER_SHOW
5 источников сигнала.JPG
5 источников сигнала.JPG (15.41 КБ) 8729 просмотров
Выбираем источник
SPOILERSPOILER_SHOW
Выбран источник сигнала.JPG
Выбран источник сигнала.JPG (12.17 КБ) 8729 просмотров
В МД создаем связку свойство-метод, который будет запускать зональную уборку при получении этих значении one two three four five и связку-метод для прекращения уборки

Общий вид сценарии в яндексе
SPOILERSPOILER_SHOW
Сценарии пылесос.JPG
Сценарии пылесос.JPG (23.05 КБ) 8729 просмотров

Re: Пылесос Xiaomi MiRobotVacuum

Добавлено: Вс июн 28, 2020 4:59 pm
olis
kas5858 писал(а): Вт апр 14, 2020 3:23 pm Случайно не знаете как в сегментной уборки поставить количество уборок сегмента, так же как и в зональной?
Просто несколько раз укажите 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.