# взято тут https://sprut.ai/article/odin-iz-variantov-upravleniya-pylesosom-1c-stytj01zhm-dreame-vacuum-mc1808-iz-home-assistant select_vacuum_clean_rooms: xiaomi_miot: language: ru translations: # Global dictionary '强劲': 'Турбо' '标准': 'Стандартный' '节能': 'Средний' '关': 'Бесшумный' '低': 'Низкий' '中': 'Средний' '高': 'Высокий' 'Sweep': 'Пылесос' 'Sweep And Mop': 'Пылесос и влажная уборка' 'Mop': 'Влажная уборка' 'Global': 'Авто' 'Edge': 'Очистка углов' 'Point': 'Точечная' 'Remote': 'Дистанционная' 'Mi Robot Vacuum-Mop 2 Lite Robot Cleaner Режим': 'Режим уборки' 'Mi Robot Vacuum-Mop 2 Lite Robot Cleaner Sweep Type': 'Вид уборки' 'Mi Robot Vacuum-Mop 2 Lite sweep water_state': 'Уровень воды' 'starting': 'Начало уборки' 'charger disconnected': 'Зарядное устройство отключено' 'idle': 'Ожидание' 'remote control active': 'Включено управление через пульт' 'cleaning': 'Уборка' 'returning home': 'Возвращение на базу' 'manual mode': 'Ручной режим' 'charging': 'Зарядка' 'charging problem': 'Проблема с зарядкой' 'paused': 'Пауза' 'spot cleaning': 'Уборка точки' 'error': 'Ошибка' 'shutting down': 'Выключение' 'updating': 'Обновление' 'docking': 'Остановка у базы' 'going to target': 'Направление до точки' 'zoned cleaning': 'Уборка зоны' 'segment cleaning': 'Уборка' 'emptying the bin': 'Очистка бака' 'charging complete': 'Зарядка завершена' 'device offline': 'Устройство не в сети' 'Sweeping and Mopping': 'Пылесосит и моет полы' #====================================================================================================================== input_boolean: room_vacuum: name: "Комната уборка" lobby_vacuum: name: "Прихожая уборка" hallway_vacuum: name: "Коридор уборка" bathroom_vacuum: name: "Ванная уборка" kitchen_vacuum: name: "Кухня уборка" #====================================================================================================================== group: all_rooms_for_vac_clean: name: All rooms for vacuum clean entities: - input_boolean.room_vacuum - input_boolean.lobby_vacuum - input_boolean.hallway_vacuum - input_boolean.bathroom_vacuum - input_boolean.kitchen_vacuum #====================================================================================================================== template: # Сенсор просматривает нашу группу на предмет включенных input boolean, # затем забирает их названия, записывает их в строку, разделяя запятой, # и, наконец, заменяет каждое имя в списке соотвестовующим набором цифр в квадратных скобках. - sensor: - default_entity_id: sensor.select_rooms_for_clean icon: mdi:vacuum name: Выбранные комнаты для пылесоса state: "{% set room = expand('group.all_rooms_for_vac_clean') | selectattr('state', 'eq', 'on') | map(attribute='entity_id') | list | join(',') | replace('input_boolean.room_vacuum','[3,1,3,3,1]') | replace('input_boolean.lobby_vacuum','[2,1,3,3,1]') | replace('input_boolean.hallway_vacuum','[5,1,3,3,1]') | replace('input_boolean.bathroom_vacuum','[1,1,3,3,1]') | replace('input_boolean.kitchen_vacuum','[4,1,3,3,1]') %}\n {\"selects\":[{{room}}]}" # Сенсор выаода можности всасывания для обходя ограничения редактора карточки - default_entity_id: sensor.select_vacuum_fan_speed icon: mdi:vacuum name: Выбранная мощность всасывания state: '{{ state_attr(''vacuum.dreame_mc1808_044c_robot_cleaner_2'', ''fan_speed'')}}' # Сенсор выаода уровня воды для обходя ограничения редактора карточки - default_entity_id: sensor.select_water_vacum icon: mdi:vacuum name: Выбранный уровень воды state: '{{ state_attr(''vacuum.stytj01zhm'', ''water_level'')}}' # Сенсор состояния бака с водой - default_entity_id: sensor.vacuum_water_box icon: mdi:vacuum name: Сенсор состояния бака с водой state: '{{state_attr(''vacuum.dreame_mc1808_044c_robot_cleaner_2'',''clean.water_box'')}}' #====================================================================================================================== #Скрипт запуска уборки script: clean_select_rooms: alias: VCM|Убрать выбранные комнаты sequence: - service: xiaomi_miot.call_action data_template: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 aiid: 1 params: - piid: 1 value: 18 - "{{ {'piid':21, 'value': states('sensor.select_rooms_for_clean') } }}" force_params: true #Условия по кторым утсанавливается мощность всасывания и полива - choose: - conditions: - condition: state entity_id: sensor.select_vacuum_fan_speed state: Турбо sequence: - service: script.set_fanspeed_vacum_turbo metadata: {} data: {} - conditions: - condition: state entity_id: sensor.select_vacuum_fan_speed state: Средний sequence: - service: script.set_fanspeed_vacum_strong data: {} - conditions: - condition: state entity_id: sensor.select_vacuum_fan_speed state: Стандартный sequence: - service: script.set_fanspeed_vacum_standart data: {} - conditions: - condition: state entity_id: sensor.select_vacuum_fan_speed state: Тихий sequence: - service: script.set_fanspeed_vacum_silent data: {} - choose: - conditions: - condition: state entity_id: sensor.select_water_vacum state: Low sequence: - service: script.set_water_vacum_low data: {} - conditions: - condition: state entity_id: sensor.select_water_vacum state: Med sequence: - service: script.set_water_vacum_middle data: {} - conditions: - condition: state entity_id: sensor.select_water_vacum state: High sequence: - service: script.set_water_vacum_hight data: {} # Смена уровня воды set_water_vacum_hight: alias: VCM|Смена уровня воды пылесос высокий sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 20 value: 3 set_water_vacum_middle: alias: VCM|Смена уровня воды пылесос средний sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 20 value: 2 set_water_vacum_low: alias: VCM|Смена уровня воды пылесос низкий sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 20 value: 1 # Смена мощности всасывания set_fanspeed_vacum_silent: alias: VCM|Смена мощности всасывания пылесос бесшумный sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 6 value: 0 set_fanspeed_vacum_standart: alias: VCM|Смена мощности всасывания пылесос стандартный sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 6 value: 1 set_fanspeed_vacum_strong: alias: VCM|Смена мощности всасывания пылесос интенсивный sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 6 value: 2 set_fanspeed_vacum_turbo: alias: VCM|Смена мощности всасывания пылесос турбо sequence: - service: xiaomi_miot.set_miot_property metadata: {} data: entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 siid: 18 piid: 6 value: 3 #====================================================================================================================== # автоматизацию, которая сбрасывает булеаны после окончания уборки automation: - alias: 'VCM|reset_select_rooms' id: Reset select rooms trigger: - platform: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 to: 'docked' condition: [] action: - service: input_boolean.turn_off entity_id: - input_boolean.room_vacuum - input_boolean.lobby_vacuum - input_boolean.hallway_vacuum - input_boolean.bathroom_vacuum - input_boolean.kitchen_vacuum - alias: VCM|button_start_clean description: "" trigger: - platform: device domain: mqtt device_id: 975fb5853727f1fa4279bac09fd7fb6b type: action subtype: hold_right discovery_id: 0x00158d0006c6bca8 action_hold_right condition: - condition: or conditions: - condition: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 state: docked - condition: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 state: idle action: - device_id: 885672257bd73c7492a4ba8b72b83699 domain: vacuum entity_id: f9d147842b81972de04c1be4dfd368f3 type: clean mode: single - alias: VCM|button_stop_clean description: "" trigger: - platform: device domain: mqtt device_id: 975fb5853727f1fa4279bac09fd7fb6b type: action subtype: hold_right discovery_id: 0x00158d0006c6bca8 action_hold_right condition: - condition: or conditions: - condition: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 state: cleaning - condition: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 state: error - condition: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 state: paused action: - device_id: 885672257bd73c7492a4ba8b72b83699 domain: vacuum entity_id: f9d147842b81972de04c1be4dfd368f3 type: dock mode: single #====================================================================================================================== # Уведомления Telegram #====================================================================================================================== - alias: "ntf|tg|VCM|clean_water_box_off" id: telegram_ntf_vcm_water_box description: "Напоминание о неснятом баке с водой" mode: single trigger: - platform: state entity_id: sensor.vacuum_water_box to: "1" for: hours: 1 minutes: 0 seconds: 0 action: - repeat: sequence: - service: telegram_bot.send_message data: target: -1002006010424 message: | 💧 ❗ Напоминание: Снимите бак с водой с пылесоса! Он установлен уже более часа. inline_keyboard: - '🌀 Управление пылесосом:/vcm_control' - '🔙 Главное меню:/menu_back, 🗑️ Прочитано:/menu_hide' - delay: hours: 3 while: - condition: state entity_id: sensor.vacuum_water_box state: "1" - alias: "ntf|tg|VCM|vacuum_clean_finish" id: telegram_ntf_vcm_finish description: "Уведомление об окончании уборки" mode: single trigger: - platform: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 from: 'cleaning' to: 'returning' action: - service: telegram_bot.send_message data: target: -1002006010424 message: | ✅ Пылесос завершил уборку 🕒 Завершена в: {{ states('sensor.time') }} ⏱️ Затрачено времени: {{ state_attr('vacuum.stytj01zhm', 'cleaning_time') | default(0) }} мин 🏠 Убрано: {{ state_attr('vacuum.stytj01zhm', 'cleaning_area') | default(0) }} м² 🔋 Заряд: {{ state_attr('vacuum.dreame_mc1808_044c_robot_cleaner_2', 'battery_level') | default(0) }}% {% if state_attr('vacuum.dreame_mc1808_044c_robot_cleaner_2', 'clean.water_box') | int(0) == 1 %} 💧 ❗ Внимание: Бак с водой всё ещё установлен! {% else %} 💧 Бак с водой: Снят {% endif %} inline_keyboard: - '🌀 Управление пылесосом:/vcm_control, 🔙 Главное меню:/menu_back' - '🗑️ Прочитано:/menu_hide' - alias: "ntf|tg|VCM|vacuum_error" id: telegram_ntf_vcm_error description: "Уведомление об ошибке пылесоса" mode: single trigger: - platform: state entity_id: vacuum.dreame_mc1808_044c_robot_cleaner_2 to: 'error' action: - service: telegram_bot.send_message data: target: -1002006010424 message: | {%- set raw = state_attr('vacuum.dreame_mc1808_044c_robot_cleaner_2', 'vacuum.fault') -%} {%- set code = raw | int(0) if raw not in ['unknown', 'unavailable', None] else 0 -%} {%- set errors = { 0: 'Нет ошибки', 1: 'Пылесос подняли (на весу)', 2: 'Щётка заблокирована', 3: 'Ошибка мотора щётки', 4: 'Колесо заблокировано', 5: 'Ошибка датчиков высоты', 6: 'Ошибка колеса', 7: 'Ошибка контейнера для пыли', 8: 'Ошибка лидара (вращение сенсора)', 9: 'Ошибка бампера (столкновение)', 10: 'Ошибка навигации', 11: 'Ошибка зарядки', 12: 'Что-то намоталось на основную щётку', 13: 'Ошибка батареи', 14: 'Ошибка Wi-Fi модуля', 15: 'Ошибка бака с водой', 16: 'Ошибка привода' } -%} {%- if code == 0 -%} ✅ Ошибка пылесоса устранена {%- else -%} ❗ Ошибка пылесоса: {{ errors.get(code, 'Неизвестная ошибка (код ' ~ raw ~ ')') }} {%- endif %} inline_keyboard: - '🌀 Управление пылесосом:/vcm_control, 🔙 Главное меню:/menu_back' - '🗑️ Прочитано:/menu_hide'