Clean main branch

This commit is contained in:
2026-07-14 09:46:49 +00:00
parent ccb8b417f0
commit 9c5f315f73
25 changed files with 0 additions and 7915 deletions
-437
View File
@@ -1,437 +0,0 @@
# взято тут 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'