- alias: Humidity in humidor too low id: 4ccbd0aa-829a-45d3-abe7-33ae2552215b triggers: trigger: numeric_state entity_id: sensor.atc_3d13_humidity below: 65 for: minutes: 30 actions: - action: notify.telegram_group_system data: message: Влажность в хьюмидоре ниже 65% (текущая {{ states("sensor.atc_3d13_humidity") }}%) - alias: Humidity in humidor too high id: f6158c69-c088-4258-a623-6c2ee3c2cf72 triggers: trigger: numeric_state entity_id: sensor.atc_3d13_humidity above: 80 for: minutes: 30 actions: - action: notify.telegram_group_system data: message: Влажность в хьюмидоре выше 80% (текущая {{ states("sensor.atc_3d13_humidity") }}%) - alias: Temperature in humidor too low id: 0d95f393-ab18-4aef-8eb9-9bf5165d6638 triggers: trigger: numeric_state entity_id: sensor.atc_3d13_temperature below: 20 for: minutes: 30 actions: - action: notify.telegram_group_system data: message: Температура в хьюмидоре ниже 20°C (текущая {{ states("sensor.atc_3d13_temperature") }}°C) - alias: Temperature in humidor too high id: dcfce935-f705-4ae5-be45-ffb780b3f290 triggers: trigger: numeric_state entity_id: sensor.atc_3d13_temperature above: 25 for: minutes: 30 actions: - action: notify.telegram_group_system data: message: Температура в хьюмидоре выше 25°C (текущая {{ states("sensor.atc_3d13_temperature") }}°C) - alias: PowerOff all media when nobody at home id: 0e2312c7-3cab-413a-aefb-20ff5802c718 triggers: trigger: state entity_id: group.family_persons to: not_home for: minutes: 5 conditions: - or: - condition: state entity_id: group.all_tv state: 'on' - condition: state entity_id: group.all_chromecasts state: 'on' - condition: state entity_id: - media_player.yandex_station_lite_detskaia - media_player.yandex_station_mini2_gostinaia - media_player.yandex_station_mini2_spalnia - media_player.yandex_station_lite_prikhozhaya state: playing - condition: state entity_id: group.all_xbox state: 'on' actions: - action: homeassistant.turn_off target: entity_id: group.all_tv - action: media_player.media_stop target: entity_id: - group.all_chromecasts - action: media_player.turn_off target: entity_id: - group.all_yandex_stations - group.all_xbox - alias: Home Presence Alert id: 12b0184c-bb8b-436a-887a-733d0ddac126 mode: parallel triggers: trigger: state entity_id: - person.alexander - person.irina - person.tatiana - person.olga - person.egor - person.kirill conditions: - and: - condition: template value_template: '{{ trigger.to_state.state = trigger.from_state.state }}' actions: - action: notify.telegram_group_flat_1 data: message: '{{ trigger.to_state.attributes.friendly_name }} {% if trigger.to_state.state == ''home'' %}дома {% elif trigger.to_state.state == ''Дача'' %}на даче {% else %}скорее всего вне дома. {% endif %} ' - alias: Entrance Door - Opened id: 067c832a-9626-4f61-8d19-444d6156e889 triggers: trigger: state entity_id: binary_sensor.0x158d00031c790f_contact from: 'off' to: 'on' actions: action: notify.telegram_group_flat_1 data: message: Открыта входная дверь - alias: Entrance Door - Closed id: c6df423a-a1ec-41fb-b600-3874ffef758b triggers: trigger: state entity_id: binary_sensor.0x158d00031c790f_contact from: 'on' to: 'off' actions: action: notify.telegram_group_flat_1 data: message: Входная дверь закрыта. - alias: Torrent Completed [notify to group system] id: fe45c917-f489-4c38-a3a1-c66e5fedb07f triggers: trigger: event event_type: transmission_downloaded_torrent actions: action: notify.telegram_group_system data: message: Загрузка torrent-файла завершена - alias: Полнолуние [notify to group system] id: d698bdcc-4ce9-4954-a118-8a1f29cf327e triggers: trigger: state entity_id: sensor.moon to: full_moon actions: action: notify.telegram_group_system data: message: Сегодня полнолуние - alias: Gas Alert id: 0ca74008-65a2-4ed1-b860-e27e57b216f2 triggers: trigger: state entity_id: binary_sensor.0x00158d000413b210_gas from: 'off' to: 'on' actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Сработал датчик *газа* на кухне. Откройте окна и перекройте подачу газа (за холодильником). ' inline_keyboard: - Отключить датчик:/poweroff_gas_sensor - alias: Gas Alert - Telegram control - poweroff_gas_sensor id: 3254a184-a04f-4b31-bbe9-1a00e403f134 triggers: trigger: event event_type: telegram_callback event_data: data: /poweroff_gas_sensor actions: - action: switch.turn_off target: entity_id: switch.blitzwolf_shp13_02_3ad702fe_on_off - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' title: '*Внимание*' message: 'Сработал датчик *газа* на кухне. Датчик *газа* отключен ' - alias: Gas Alert - Sensor Powered Off More Than 30 Min id: 3e69fa5f-34f2-4e5e-86e2-467aad2420b6 triggers: trigger: state entity_id: switch.blitzwolf_shp13_02_3ad702fe_on_off to: 'off' for: 00:30:00 actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Питание датчика *газа* отключено более 30 минут ' inline_keyboard: - Включить датчик:/poweron_gas_sensor - alias: Gas Alert - Telegram control - poweroff_gas_sensor id: 50892fe7-741c-4b4d-a71c-a498be52d6b7 triggers: trigger: event event_type: telegram_callback event_data: data: /poweron_gas_sensor actions: - action: switch.turn_on target: entity_id: switch.blitzwolf_shp13_02_3ad702fe_on_off - action: telegram_bot.answer_callback_query data_template: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' title: '*Внимание*' message: 'Питание датчика *газа* отключено более 30 минут Датчик *газа* включен ' - alias: Boiler - Low Temperature Alert id: fe98880b-2fcd-4b6f-9ded-adc174b9b958 triggers: - trigger: numeric_state entity_id: sensor.boiler_water_temp below: 50 - trigger: numeric_state entity_id: sensor.boiler_water_temp below: 40 - trigger: numeric_state entity_id: sensor.boiler_water_temp below: 30 conditions: condition: template value_template: '{{ (trigger.to_state.state | int) = 0 }}' actions: - action: notify.telegram_group_flat_1 data: title: '*Внимание*' message: 'Температура воды в бойлере *{{ trigger.to_state.state }}*°C ' - alias: Kettle - Boil Finished Notification id: c5eaa742-7ea5-4c0b-8d43-d3ce69232a3e triggers: - trigger: state entity_id: binary_sensor.kettle_status from: 'on' to: 'off' conditions: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' actions: - action: notify.telegram_group_flat_1 data: message: Чайник *вскипел* - alias: Washing Machine - Wash Finished Notification id: eed153ad-dca8-464d-8cc5-b30421eec1a1 triggers: - trigger: state entity_id: binary_sensor.washer_status from: 'on' to: 'off' conditions: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' actions: - action: notify.telegram_group_flat_1 data: title: 'Стиральная машина:' message: Стирка *закончена*, не забудьте достать белье. - alias: Dryer Machine - Drying Finished Notification id: e572fd6c-06d2-4c34-a218-4b709734c6e0 triggers: - trigger: state entity_id: binary_sensor.dryer_status from: 'on' to: 'off' conditions: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' actions: - action: notify.telegram_group_flat_1 data: title: 'Сушильная машина:' message: Сушка *закончена*, не забудьте достать белье. - alias: Dishwasher - Dishwashing Finished Notification id: 9ef4d500-e688-4b70-b565-43ebb754bfe2 triggers: - trigger: state entity_id: binary_sensor.dishwasher_status from: 'on' to: 'off' conditions: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' actions: - action: notify.telegram_group_flat_1 data: title: 'Посудомоечная машина:' message: Программа *закончена*, посуда вымыта. - alias: Yandex Station SW Updated id: 3f22e8f0-6f31-49c1-bca1-ce19184c5184 mode: queued max: 10 triggers: - trigger: state entity_id: - sensor.yandex_station_lite_detskaia_sw_version - sensor.yandex_station_lite_prikhozhaya_sw_version - sensor.yandex_station_mini2_gostinaia_sw_version - sensor.yandex_station_mini2_spalnia_sw_version conditions: - '{{ trigger.to_state.state = trigger.from_state.state }}' - '{% set ignore = [''unknown'', ''unavailable'', ''none'', None, null, '''', ''null''] %} {{ trigger.to_state.state not in ignore and trigger.from_state.state not in ignore }} ' actions: - action: telegram_bot.send_message data: target: secret tlg_group_system message: '_Yandex Station:_ Изменилась версия прошивки в {%- if ''detskaia'' in trigger.entity_id %} *Детской*. {%- elif ''gostinaia'' in trigger.entity_id %} *Гостиной*. {%- elif ''spalnia'' in trigger.entity_id %} *Спальне*. {%- elif ''prikhozhaya'' in trigger.entity_id %} *Прихожей*. {%- endif %} Было: {{ trigger.from_state.state }} Стало: {{ trigger.to_state.state }} ' - alias: 'HA: Mount NFS Share from NAS01 [/nmt/nas]' id: eb3ef8ea-e19a-4b1e-b7ff-482089a346b5 triggers: - trigger: homeassistant event: start actions: - action: switch.turn_on target: entity_id: switch.mount_mnt_nas - alias: 'HA: Create Daily Backup' id: acac055e-ea1e-41cd-9f46-62e7a8c006aa initial_state: true triggers: - trigger: time at: 01:00:00 actions: - action: auto_backup.backup_full data: name: Daily Backup {{ now().strftime('%Y-%m-%d') }} keep_days: 7 - alias: 'HASS: ERRORs in System Log - Counter' id: 3b8230a5-49d5-437b-8bd9-d3f72f95425f triggers: trigger: event event_type: system_log_event event_data: level: ERROR mode: parallel max: 50 actions: - action: counter.increment target: entity_id: counter.syslog_errors - alias: 'HASS: WARNINGs in System Log - Counter' id: acdf3489-b611-445c-bd24-2efc9c431124 triggers: trigger: event event_type: system_log_event event_data: level: WARNING mode: parallel max: 50 actions: - action: counter.increment target: entity_id: counter.syslog_warnings - alias: 'HASS: Create Group of Battery Devices' id: 823d8378-6723-4e71-93ce-29c59946347a triggers: - trigger: homeassistant event: start - trigger: time_pattern hours: /2 actions: - action: group.set data: object_id: battery_devices entities: "{%- \n for state in states.sensor \n if is_state_attr(state.entity_id,\ \ 'device_class', 'battery') and\n (state.entity_id.endswith(\"_battery\"\ ) or state.entity_id.endswith(\"_power\"))\n%} {{ state.entity_id }}{%- if\ \ not loop.last -%}, {%- endif -%} {%- endfor %}" - alias: Fix for reload automations id: 4c7a9752-b7d2-4c41-acf6-7d175f6b9d39 triggers: - trigger: event event_type: call_service event_data: domain: automation service: reload - trigger: event event_type: automation_reloaded actions: - action: "{% if trigger.event.event_type == 'call_service' -%}\n automation.turn_off\n\ {% else -%}\n automation.turn_on\n{% endif -%}" target: entity_id: automation.device_needs_attention_notify_to_group_system - alias: Update HA DB SQL sensors id: e41348f5-2915-4a51-8d88-e5f00e7c0b67 triggers: - trigger: time_pattern hours: /1 minutes: '22' actions: - action: homeassistant.update_entity target: entity_id: - sensor.hass_db_events_rows_count - sensor.hass_db_states_rows_count - sensor.hass_db_statistics_rows_count - sensor.hass_db_total_rows_count - sensor.hass_db_size - alias: Update MES sensors id: 7f460de3-11dc-4e23-886c-a14b7db8bfeb triggers: - trigger: time_pattern minutes: '33' conditions: - condition: time after: 07:00:00 before: '22:50:00' actions: - action: homeassistant.update_entity target: entity_id: - sensor.mes_55384_014_37_meter_44259893 - alias: Update Ping sensors for TV id: a164b9f1-bd13-465e-a76b-7831cdfc63d9 triggers: - trigger: time_pattern seconds: '10' actions: - action: homeassistant.update_entity target: entity_id: binary_sensor.samsungtv_40c5100 - alias: Restart Stuck Add-on Z2M-2 id: 0617529b-bc60-48c0-8954-6936aa95ef50 triggers: - trigger: state entity_id: binary_sensor.z2m_2_stuck from: 'off' to: 'on' conditions: - condition: state entity_id: sensor.addons_mostuitto_state state: started actions: - parallel: - action: hassio.addon_restart data: addon: 4b41db2d_zigbee2mqtt - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html title: Внимание message: Z2M-2 похоже завис, перезапускаем... - alias: 'HASS: Login Failed [notify to group system]' id: 142e502b-3e63-49e3-b790-9150f155dc6d mode: queued max: 5 triggers: - trigger: state entity_id: persistent_notification.http_login conditions: - condition: template value_template: '{{ trigger.to_state.state = off }}' actions: - action: telegram_bot.send_message data: target: secret tlg_group_system disable_web_page_preview: true message: '*Внимание* Неудачная попытка входа, ошибка авторизации Источник: {{ state_attr(''persistent_notification.http_login'',''message'') | regex_findall_index(''from (.*)\. '') }} _http://whatismyipaddress.com/ip/{{ state_attr(''persistent_notification.http_login'',''message'') | regex_findall_index(''\((.*)\)'') }}_ ' - action: persistent_notification.dismiss data: notification_id: http_login - alias: 'HASS: IP Banned [notify to group system]' id: ba2318c5-5c2e-4575-aa13-02f53063793d mode: queued max: 5 triggers: - trigger: state entity_id: persistent_notification.ip_ban actions: - action: telegram_bot.send_message data: target: secret tlg_group_system disable_web_page_preview: true message: '*Внимание* Заблокирован IP: {{ state_attr(''persistent_notification.ip_ban'', ''message'').split(''Too many login attempts from '')[1] }} _http://whatismyipaddress.com/ip/{{ state_attr(''persistent_notification.ip_ban'', ''message'').split(''Too many login attempts from '')[1] }}_ ' - action: persistent_notification.dismiss data: notification_id: ip_ban - alias: 'HASS: Home Assistant Start' id: 60f94d65-93d1-49e5-94d7-ca58471d02c4 triggers: - trigger: homeassistant event: start actions: - action: homeassistant.update_entity target: entity_id: sensor.errors_in_system_log_command_line - wait_for_trigger: - trigger: state entity_id: sensor.errors_in_system_log_command_line timeout: 00:00:01 - action: homeassistant.update_entity target: entity_id: sensor.warnings_in_system_log_command_line - wait_for_trigger: - trigger: state entity_id: sensor.warnings_in_system_log_command_line timeout: 00:00:01 - action: notify.telegram_group_system data: message: '_INFO:_ Home Assistant *запущен* за {{ states(''sensor.start_time'') }} сек. Ошибок: *{{ states(''sensor.errors_in_system_log_command_line'') }}*, Предупреждений: *{{ states(''sensor.warnings_in_system_log_command_line'') }}* ' - action: script.turn_on target: entity_id: script.hass_errors_counter_set_at_startup - action: script.turn_on target: entity_id: script.hass_warnings_counter_set_at_startup - action: script.turn_on target: entity_id: script.auto_reboot_by_errors_after_boot - alias: 'HASS: Home Assistant Shutdown' id: 44bdbc77-2894-4c80-9739-6c690bde13f9 triggers: trigger: homeassistant event: shutdown actions: - action: input_boolean.turn_on data: entity_id: input_boolean.ha_shutdown - action: notify.telegram_group_system data: message: _INFO:_ Home Assistant *остановлен*. - alias: 'HASS: ERRORs in System Log [notify to group system]' id: e4140626-d5b1-4a6c-abe1-f99ae0547f0b initial_state: false triggers: trigger: event event_type: system_log_event event_data: level: ERROR actions: - action: notify.telegram_group_system data: message: _{{ trigger.event.data.level }}:_ {{ trigger.event.data.message }} - alias: 'HASS: WARNINGs in System Log [notify to group system]' id: 42541570-874a-46a9-86d0-0db433aaec5b initial_state: false triggers: trigger: event event_type: system_log_event event_data: level: WARNING actions: - action: notify.telegram_group_system data: message: _{{ trigger.event.data.level }}:_ {{ trigger.event.data.message }} - alias: 'HASS: System Config Errors [notify to group system]' id: 3770bcbf-435a-43b2-bfde-b04711e32b61 triggers: - trigger: event event_type: call_service event_data: domain: persistent_notification service: create conditions: - or: - condition: template value_template: '{{ trigger.event.data.service_data.notification_id == ''homeassistant.check_config'' }}' - condition: template value_template: '{{ trigger.event.data.service_data.notification_id == ''invalid_config'' }}' actions: - action: notify.telegram_group_system data: message: '*Внимание, конфигурация содержит ошибки* {% if trigger.event.data.service_data.notification_id == ''homeassistant.check_config'' -%} Перезапуск HA отменён, подробности в логах. {% elif trigger.event.data.service_data.notification_id == ''invalid_config'' -%} {{ trigger.event.data.service_data.message }} {% endif %} ' - action: persistent_notification.dismiss data: notification_id: '{{ trigger.event.data.service_data.notification_id }}' - alias: 'HASS: ERRORs in Automations [notify to group system]' id: 67d49afb-cac6-45e2-99b0-0ad5904d84b2 mode: queued triggers: - trigger: event event_type: system_log_event event_data: level: ERROR conditions: - condition: template value_template: "{{ \n trigger.event.data.message | regex_search('Error while\ \ executing automation') or\n trigger.event.data.message | regex_search('Error\ \ executing script')\n}}" actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html message: "INFO: Ошибка выполнения автоматизации: \n{{ trigger.event.data.message\ \ }}.\n" - alias: 'HASS: Critical Error [notify to group system]' id: d70721b8-e0f2-415a-b917-331781a463ee mode: queued triggers: - trigger: event event_type: system_log_event event_data: level: FATAL - trigger: event event_type: system_log_event event_data: level: CRITICAL actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html message: 'Критическая ошибка системы: {{ trigger.event.data.message }} ' - alias: 'HA: Update Entities Notifications' id: d69b4310-532c-4cda-9a77-3434e6319fef mode: queued max: 50 max_exceeded: silent triggers: - trigger: event event_type: state_changed conditions: - '{{ trigger.event.data.entity_id.startswith(''update.'') }}' - '{{ trigger.event.data.old_state is not none and trigger.event.data.new_state is not none }}' - or: - condition: template value_template: "{% set ignore = ['unknown', 'unavailable', 'none', None, null,\ \ ''] %}\n {{ \n trigger.event.data.new_state.state == 'on' and\n (version(trigger.event.data.new_state.attributes.latest_version)\ \ = version(trigger.event.data.old_state.attributes.latest_version) or\n \ \ version(trigger.event.data.new_state.attributes.latest_version) > version(trigger.event.data.old_state.attributes.latest_version))\ \ and\n trigger.event.data.new_state.attributes.latest_version not in ignore\ \ and\n trigger.event.data.new_state.attributes.latest_version is not none\n\ \ }}\n" - condition: template value_template: "{% set ignore = ['unknown', 'unavailable', 'none', None, null,\ \ ''] %}\n {{ \n trigger.event.data.old_state.state == 'on' and trigger.event.data.new_state.state\ \ == 'off' and\n (version(trigger.event.data.new_state.attributes.installed_version)\ \ = version(trigger.event.data.old_state.attributes.installed_version) or\n\ \ version(trigger.event.data.new_state.attributes.installed_version) >\ \ version(trigger.event.data.old_state.attributes.installed_version)) and\n\ \ trigger.event.data.new_state.attributes.installed_version not in ignore\ \ and\n trigger.event.data.new_state.attributes.installed_version is not\ \ none\n }}\n" actions: - variables: latest_version: '{{ trigger.event.data.new_state.attributes.latest_version }}' installed_version: '{{ state_attr(trigger.event.data.entity_id, ''installed_version'') }}' old_installed_version: '{{ trigger.event.data.old_state.attributes.installed_version }}' friendlyname: '{{- trigger.event.data.new_state.name | regex_replace(''( Update$| Firmware$| Обновление прошивки$)'', '''', True) -}}' - if: - condition: template value_template: '{{ trigger.event.data.new_state.attributes.installed_version = trigger.event.data.old_state.attributes.installed_version }}' then: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html message: 'INFO: {{ friendlyname }} - обновлен ({{ old_installed_version }} -> {{ latest_version }}). ' else: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html message: 'INFO: {{ friendlyname }} - доступно обновление ({{ installed_version }} -> {{ latest_version }}). ' - alias: Device Needs Attention [notify to group system] id: 89bb378c-13b5-4051-bd08-3f226dbc8834 mode: queued max: 30 triggers: - trigger: event event_type: state_changed conditions: - condition: template value_template: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' - condition: template value_template: '{{ states(''sensor.ha_uptime'') > ''1'' }}' - condition: template value_template: "{{ not trigger.event.data.entity_id | regex_search\n (\n '^group.battery_devices$|'\n\ \ '^binary_sensor.lamp_status_|'\n '^sensor.lamp_status_|'\n '^sensor.mirobot_1s_|'\n\ \ '^sensor.xiaomi_vacuum_cleaner_|'\n '^switch.smartir_|'\n '^sensor.openweathermap_|'\n\ \ '.*\\.smartmi_humidifier_\\d{2}_\\w+|'\n '^sensor\\.tplink_smartplug_01_|'\n\ \ '^sensor\\.gosund_sp111_\\d{2}_|'\n '^(switch|button)\\.gosund_sp111_\\\ d{2}_restart|'\n '^sensor\\..*_ble|'\n '^(binary_sensor|switch)\\.domofon_|'\n\ \ '^(binary_sensor|sensor|light)\\.sonoff_basic_|'\n '^(binary_sensor|sensor)\\\ .sonoff_mini_r2_|'\n '^(switch|button)\\.(esp32_miscale2|esp32_bt_proxy)_\\\ d{2}_restart.*|'\n '^sensor\\.xiaomi_mi_scale_2_.*|'\n '^number\\..*_(min|max)_weight|'\n\ \ '^button\\..*_identify|'\n '^sensor\\..*_(weight_current|current_weight)|'\n\ \ '^sensor\\..*_(impedance_current|current_impedance)|'\n '^media_player\\\ .plex_.*|'\n '^(binary_sensor|sensor|switch|button)\\.reolinkcam_(01|02)_.*|'\n\ \ '.*ed5e33eb_0ca3_4263_a681_a68b1045a5e6.*|'\n '^sensor\\.oneplus_8t_ibeacon_.*|'\n\ \ '^binary_sensor\\..*_oneplus_8t_presence$|'\n '^binary_sensor\\..*_holy_iot_.*_presence$|'\n\ \ '^binary_sensor\\..*_nut_gray_1_presence$|'\n '^binary_sensor\\..*_amazfit_gtr_4_presence$|'\n\ \ '^.*\\.nas01_.*|'\n '^vacuum\\.xiaomi_vacuum_cleaner$|'\n '^sensor\\.esp32_bt_proxy_\\\ d{2}_rssi$|'\n '^sensor\\..*_estimated_distance$|'\n '^(sensor|number|switch|button|binary_sensor)\\\ .galaxy_tab_a_8_0_2019_.*$|'\n '^camera\\.reolinkcam_01_rtsp.*$|'\n '^(sensor|binary_sensor|button|switch)\\\ .shellyem_.*|'\n '^sensor\\.ch_main_energy_.*|'\n '^sensor\\..*_geocoded_location$|'\n\ \ '^sensor\\.double_take_.*|'\n '^sensor\\.processor_use$|'\n '^binary_sensor\\\ .avb0r$|'\n '^sensor\\.dacha_nearest_.*|'\n '^sensor\\.dacha_.*_di.*|'\n \ \ '^(media_player|remote)\\.xbox_ch_01|'\n '^(media_player|remote)\\.xbox_v_gostinoi|'\n\ \ '^sensor\\..*_sonoff_pow_r3_0._power_factor$|'\n 'sensor\\.ch_lte_modem_.*|'\n\ \ 'sensor\\.ch_(water|septic)_pump_run_time_.*|'\n '.*\\.rch_.*'\n )\n}}" - condition: template value_template: '{{ trigger.event.data.new_state.state = trigger.event.data.old_state.state }}' - condition: template value_template: '{{ trigger.event.data.new_state.state in [''unknown'', ''unavailable''] }}' actions: - condition: template value_template: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html disable_notification: true message: 'INFO: Объект {{ trigger.event.data.entity_id }} сменил статус на {{ trigger.event.data.new_state.state }}. ' - alias: Low Battery Alert [notify to group system] id: 6d87e0a2-8a6b-4b20-bd28-900af1620584 mode: queued max: 30 triggers: - trigger: event event_type: state_changed conditions: - condition: template value_template: "{{ not trigger.event.data.entity_id | regex_search\n (\n '^sensor\\\ .galaxy_tab_a_8_0_2019_battery'\n )\n}}" - condition: template value_template: '{{ trigger.event.data.entity_id in (expand(''group.battery_devices'') | map(attribute=''entity_id'')) }}' - condition: template value_template: '{{ not trigger.event.data.new_state.state in [''unknown'', ''unavailable''] }}' - condition: template value_template: '{{ (trigger.event.data.new_state.state | int) < (states(''input_number.low_battery_alert_threshold'') | int) }}' actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html title: Внимание, низкий заряд батареи message: '{{ trigger.event.data.new_state.attributes.friendly_name }}: {{ trigger.event.data.new_state.state }} % ' - alias: New Network Device Notification id: 7e5b4f9a-eb87-487f-8e1a-4b980de13734 mode: parallel triggers: trigger: event event_type: device_tracker_new_device actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html title: Найдено новое устройство в сети message: 'MAC: {{ trigger.event.data.mac }} ' - alias: Auto Backup Completed [notify to group system] id: fef0c4de-e2ba-419b-b49e-ff39449e6481 triggers: trigger: event event_type: auto_backup.backup_successful actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html message: 'INFO: Создание резервной копии завершилось успешно. Имя: {{ trigger.event.data.name }} ' - alias: Auto Backup Failure [notify to group system] id: 24f2bb2c-3e2c-47b5-ba9a-a92f0f5bf63a triggers: trigger: event event_type: auto_backup.backup_failed actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html title: Внимание message: 'Создание резервной копии завершилось ошибкой. Имя: {{ trigger.event.data.name }} Ошибка: {{ trigger.event.data.error }} ' - alias: Telegram Bot - Mirror text id: d35faec4-c949-4358-8aff-00e11b560444 triggers: trigger: event event_type: telegram_text actions: action: notify.telegram_group_system data: message: '*{{ trigger.event.data.from_first }} {{ trigger.event.data.from_last }} [{{ trigger.event.data.user_id }}] пишет:* {{ trigger.event.data.text }} ' - alias: Telegram Bot - Start id: d50c7e2c-9f67-40f2-9495-41ba1140c9b5 triggers: - trigger: event event_type: telegram_command event_data: command: /start - trigger: event event_type: telegram_command event_data: command: /start@HAutoBot actions: action: telegram_bot.send_message data: target: '{{ trigger.event.data.user_id }}' message: Привет! Помощь - /help - alias: Telegram Bot - Help id: 1e265eea-3d26-4a04-8402-f25a828f841d triggers: - trigger: event event_type: telegram_command event_data: command: /help - trigger: event event_type: telegram_command event_data: command: /help@HAutoBot actions: action: telegram_bot.send_message data: target: '{{ trigger.event.data.user_id }}' parse_mode: html message: 'Доступные комманды: /status - Текущий статус устройств /whoishome - Кто дома? /weather - Погода дома /weather_ch - Погода на даче /ping - Проверить доступность сервиса HASS ' - alias: Telegram Bot - Ping id: 936c648b-18b6-4636-a941-cc3f3361fdd0 triggers: - trigger: event event_type: telegram_command event_data: command: /ping - trigger: event event_type: telegram_command event_data: command: /ping@HAutoBot actions: action: telegram_bot.send_message data: target: '{{ trigger.event.data.user_id }}' message: 'Pong! _{{ now().strftime("%d.%m.%Y %H:%M:%S") }}_ Current version: {{ states(''sensor.current_version'') }} DB Size: {{ states(''sensor.hass_db_size'') }} {{ state_attr(''sensor.hass_db_size'',''unit_of_measurement'') }} Uptime: {{ states(''sensor.ha_uptime'') }} min. ' - alias: Telegram Bot - Who is home? id: f3af5ecc-3eb8-4542-8207-97f90b6f5abf triggers: - trigger: event event_type: telegram_command event_data: command: /whoishome - trigger: event event_type: telegram_command event_data: command: /whoishome@HAutoBot actions: action: telegram_bot.send_message data: target: '{{ trigger.event.data.chat_id }}' message: 'Сейчас дома: {%- set entites = expand(''group.family_persons'') %}{% for prs in entites %}{% if prs.state == "home" %} {{ prs.attributes.friendly_name }}{% endif %}{% endfor %} {% if is_state("group.family_persons", "not_home") %}Никого нет{% endif %} ' - alias: Telegram Bot - Weather id: b0b0a539-14fb-440c-b57c-269460961819 triggers: - trigger: event event_type: telegram_command event_data: command: /weather - trigger: event event_type: telegram_command event_data: command: /weather@HAutoBot actions: - action: telegram_bot.send_photo data: target: '{{ trigger.event.data.user_id }}' file: /config/www/weather_icons/{{ states("weather.danilovskii") }}.webp caption: 'Температура {{ states(''sensor.danilovskii_temperature'') }}°C Ощущается как {{ states(''sensor.danilovskii_feels_like_temperature'') }}°C Влажность {{ states(''sensor.danilovskii_humidity'') }}% Давление {{ states(''sensor.danilovskii_pressure'') }} hPa ({{ states(''sensor.openweathermap_moskva_danilovskii_pressure_mmhg'') }} mmHg) ' - alias: Telegram Bot - Weather Country House id: c5ac3f4b-80b8-479f-96bf-45274aeba2ec triggers: - trigger: event event_type: telegram_command event_data: command: /weather_ch - trigger: event event_type: telegram_command event_data: command: /weather_ch@HAutoBot actions: - action: telegram_bot.send_photo data: target: '{{ trigger.event.data.user_id }}' file: /config/www/weather_icons/{{ states("weather.nivki_2") }}.webp caption: 'Температура {{ states(''sensor.nivki_2_temperature'') }}°C Ощущается как {{ states(''sensor.nivki_2_feels_like_temperature'') }}°C Влажность {{ states(''sensor.nivki_2_humidity'') }}% Давление {{ states(''sensor.nivki_2_pressure'') }} hPa ({{ states(''sensor.openweathermap_stupino_nivki_2_pressure_mmhg'') }} mmHg) ' - alias: Telegram Bot - Status id: 51572bf5-4960-4034-b09a-17d202c07c18 triggers: - trigger: event event_type: telegram_command event_data: command: /status - trigger: event event_type: telegram_command event_data: command: /status@HAutoBot actions: action: telegram_bot.send_message data: target: '{{ trigger.event.data.user_id }}' message: '*Климат* Гостинная: *{{ states(''sensor.temperature_in_livingroom'') }}°C*, {{ states(''sensor.humidity_in_livingroom'') }}% Детская: *{{ states(''sensor.temperature_in_nursery'') }}°C*, {{ states(''sensor.humidity_in_nursery'') }}% Спальня: *{{ states(''sensor.temperature_in_bedroom'') }}°C*, {{ states(''sensor.humidity_in_bedroom'') }}% Ванная: *{{ states(''sensor.temperature_in_bathroom'') }}°C*, {{ states(''sensor.humidity_in_bathroom'') }}% Туалет: *{{ states(''sensor.temperature_in_toilet'') }}°C*, {{ states(''sensor.humidity_in_toilet'') }}% Кладовая: *{{ states(''sensor.temperature_in_storeroom'') }}°C*, {{ states(''sensor.humidity_in_storeroom'') }}% *Статус устройств* `-= Датчики протечки =-` Нептун (кладовая, туалет, ванна, кухня): *{{ states(''binary_sensor.neptun_water_leakage'') }}* Aqara кладовая: *{{ states(''binary_sensor.0x158d000400e77d_moisture'') }}* Aqara под ванной (слева): *{{ states(''binary_sensor.0x158d0004030d84_moisture'') }}* Aqara справа от ванной: *{{ states(''binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone'') }}* `-= Вытяжка =-` Ванная: *{{ states(''binary_sensor.bathroom_extractor_fan'') }}* Туалет: *{{ states(''binary_sensor.toilet_extractor_fan'') }}* `-= Кондиционеры =-` Детская: *{{ states(''binary_sensor.0x158d00039cf974_contact'') }}* Гостинная: *{{ states(''binary_sensor.0x158d0003d54725_contact'') }}* Спальня: *{{ states(''binary_sensor.0x158d0004073b67_contact'') }}* `-= Крупная бытовая техника =-` Водонагреватель: *{{ states(''binary_sensor.boiler_status'') }}* ({{ states(''sensor.tplink_smartplug_01_current_consumption'') }} W) Стиральная машина: *{{ states(''binary_sensor.washer_status'') }}* ({{ states(''sensor.tplink_smartplug_02_current_consumption'') }} W) Сушильная машина: *{{ states(''binary_sensor.dryer_status'') }}* ({{ states(''sensor.gosund_sp111_09_watt'') }} W) Посудомоечная машина: *{{ states(''binary_sensor.dishwasher_status'') }}* ({{ states(''sensor.gosund_sp111_06_watt'') }} W) Холодильник: *{{ states(''binary_sensor.fridge_status'') }}* ({{ states(''sensor.gosund_sp111_04_watt'') }} W) Духовой шкаф: *{{ states(''binary_sensor.oven_status'') }}* ({{ states(''sensor.gosund_sp111_10_watt'') }} W) `-= Свет =-` Споты в прихожей: *{{ states(''light.sonoff_1000f2f14a'') }}* Споты в коридоре: *{{ states(''light.sonoff_1000f2a500'') }}* Люстра в детской: *{{ states(''light.ikea_e27_detskaia'') }}* Подсветка окна в детской: *{{ states(''light.detskaia_podsvetka_na_okne'') }}* Лампа на столе в детской слева: *{{ states(''light.ikea_e14_level_light_color_on_off'') }}* Лампа на столе в детской справа: *{{ states(''light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light'') }}* Люстра в гостиной: *{{ states(''light.sonoff_1000f3035d'') }}* Споты в гостиной: *{{ states(''light.sonoff_1000f30a9e'') }}* Бра в гостиной: *{{ states(''light.sonoff_1000ab3c28'') }}* Подсветка онка в гостиной: *{{ states(''light.gostinaia_podsvetka_na_okne'') }}* Лампа на столе в гостиной: *{{ states(''light.ikea_e27_level_light_color_on_off'') }}* Споты на кухне: *{{ states(''light.sonoff_1000b72483'') }}* Подсветка кухни: *{{ states(''light.kukhnia_lenta'') }}* Люстра на кухне: *{{ states(''light.ikea_e27_kukhnia'') }}* Споты в Ванной: *{{ states(''light.sonoff_zbmini_04_on_off'') }}* Споты в Туалете: *{{ states(''light.sonoff_zbmini_03_on_off'') }}* Люстра в кладовой: *{{ states(''light.sonoff_1000b6831b'') }}* Люстра в спальне: *{{ states(''light.sonoff_1001053235'') }}* Бра в спальне - лево: *{{ states(''light.sonoff_01minizb_47ef08fe_on_off'') }}* Бра в спальне - право: *{{ states(''light.sonoff_1001045426'') }}* Лампа на столе в спальне: *{{ states(''light.spalnia_stol'') }}* `-= Шторы =-` Кухня - левая: *{{ states(''cover.tze200_rddyvrci_ts0601_5c2fbdfe_window_covering'') }}* Кухня - правая: *{{ states(''cover.tze200_rddyvrci_ts0601_df30bdfe_window_covering'') }}* `-= Розетки =-` Розетка Xiaomi WiFi Plug 01: *{{ states(''switch.mi_smartplugwifi_01'') }}* `-= ТВ =-` Спальня: *{{ states(''media_player.ue43ru7470'') }}* Гостинная: *{{ states(''media_player.ue46es5507'') }}* Кухня: *{{ states(''media_player.ue32es5500'') }}* Детская: *{{ states(''binary_sensor.samsungtv_40c5100'') }}* `-= Chromecast =-` Гостинная: *{{ states(''media_player.gostinaia'') }}* Детская: *{{ states(''media_player.detskaia'') }}* `-= Yandex =-` Прихожая: *{{ states(''media_player.yandex_station_lite_prikhozhaya'') }}* Детская: *{{ states(''media_player.yandex_station_lite_detskaia'') }}* Гостинная: *{{ states(''media_player.yandex_station_mini2_gostinaia'') }}* Спалья: *{{ states(''media_player.yandex_station_mini2_spalnia'') }}* `-= Разное =-` Входная дверь: *{{ states(''sensor.entrance_door_status'') }}* Датчик газа: *{{ states(''binary_sensor.0x00158d000413b210_gas'') }}* Датчик газа (питание): *{{ states(''switch.blitzwolf_shp13_02_3ad702fe_on_off'') }}* Mi Robot: *{{ states(''vacuum.xiaomi_vacuum_cleaner'') }}* Transmission Status: *{{ states(''sensor.transmission_status'') }}* Plex Users: *{{ states(''sensor.plex_plexonubuntu'') }}* ' - alias: 'Alice: Lumos' id: 1385db9f-772d-474e-b9bc-237c073ba44a mode: restart triggers: - trigger: event event_type: yandex_intent event_data: text: Люмос room: Гостиная id: Living_Room_Lumos - trigger: event event_type: yandex_intent event_data: text: Люмос максима room: Гостиная id: Living_Room_Lumos_Maxima - trigger: event event_type: yandex_intent event_data: text: Нокс room: Гостиная id: Living_Room_Nox - trigger: event event_type: yandex_intent event_data: text: Люмос room: Детская id: Nursery_Lumos - trigger: event event_type: yandex_intent event_data: text: Люмос максима room: Детская id: Nursery_Lumos_Maxima - trigger: event event_type: yandex_intent event_data: text: Нокс room: Детская id: Nursery_Nox actions: choose: - alias: Nursery Lumos conditions: - condition: trigger id: Nursery_Lumos sequence: - action: light.turn_on target: entity_id: light.ikea_e27_detskaia - alias: Nursery Lumos Maxima conditions: - condition: trigger id: Nursery_Lumos_Maxima sequence: - action: light.turn_on target: area_id: 24758c6268dd46168d35620719b05ed0 - alias: Nursery Nox conditions: - condition: trigger id: Nursery_Nox sequence: - action: light.turn_off target: entity_id: light.ikea_e27_detskaia - alias: Living Room Lumos conditions: - condition: trigger id: Living_Room_Lumos sequence: - action: light.turn_on target: entity_id: light.sonoff_1000f30a9e - alias: Living Room Lumos Maxima conditions: - condition: trigger id: Living_Room_Lumos_Maxima sequence: - action: light.turn_on target: area_id: 38de229de4ae4b9c9aebbb4973528a2f - alias: Living Room Nox conditions: - condition: trigger id: Living_Room_Nox sequence: - action: light.turn_off target: entity_id: light.sonoff_1000f30a9e - alias: Mirror Yandex Station input_select Name to ID id: 1ec5424e-f770-486c-b4cf-ed29e65dcb36 triggers: trigger: state entity_id: input_select.yandex_station_target_name actions: - action: input_text.set_value target: entity_id: input_text.yandex_station_target_id data: value: "{% if trigger.to_state.state == 'Детская' %}\n media_player.yandex_station_lite_detskaia\n\ {% elif trigger.to_state.state == 'Гостиная' %}\n media_player.yandex_station_mini2_gostinaia\n\ {% elif trigger.to_state.state == 'Спальня' %}\n media_player.yandex_station_mini2_spalnia\n\ {% elif trigger.to_state.state == 'Прихожая' %}\n media_player.yandex_station_lite_prikhozhaya\n\ {% endif %}\n" - alias: 'Auto Reboot: Reset Automatic Reboot Counter' id: 950840e8-8ef1-4984-8996-6ddee1f56cb7 triggers: - trigger: state entity_id: sensor.ha_uptime to: '10' conditions: condition: template value_template: '{{ (states(''counter.auto_reboot'') | int) > 0 }}' actions: - action: counter.set_value target: entity_id: counter.auto_reboot data: value: '0' - alias: 'Auto Reboot: Telegram Control - Cancel Auto Reboot' id: 5524cadd-7b96-41f8-b489-90782e17af80 triggers: trigger: event event_type: telegram_callback event_data: data: /cancel_auto_reboot actions: - action: script.turn_off target: entity_id: script.auto_reboot_by_errors_after_boot - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' title: '*Внимание*' message: Автоматическая перезагрузка Home Assistant *отменена* - alias: Forgotten car key - Alex id: abdaa9e1-cfbc-4c00-b22c-db82f01cd214 triggers: - trigger: state entity_id: binary_sensor.amazfit_gtr_4_presence from: 'on' to: 'off' conditions: - condition: state entity_id: binary_sensor.holy_iot_white_1_presence state: 'on' - condition: state entity_id: binary_sensor.holy_iot_black_1_presence state: 'off' actions: - wait_template: '{{ is_state(''binary_sensor.holy_iot_white_1_presence'', ''off'') }}' timeout: 00:00:30 - if: - '{{ not wait.completed }}' then: - parallel: - action: telegram_bot.send_message data: target: secret tlg_stall_id parse_mode: html title: Внимание message: Возможно, ты забыл ключ от машины - action: notify.mobile_app_kb2003 data: title: Ключ от машины message: Возможно, ты забыл ключ от машины... data: ttl: 0 priority: high channel: alarm_stream importance: max color: red clickAction: entityId:binary_sensor.holy_iot_white_1_presence - alias: Forgotten school pass reminder - Egor id: 0a72e0b9-d7f2-41b9-90b3-5d1a601de887 triggers: - trigger: state entity_id: binary_sensor.0x158d00031c790f_contact from: 'on' to: 'off' conditions: - condition: time after: 07:30:00 before: 08:30:00 - condition: state entity_id: binary_sensor.workday_sensor state: 'on' - condition: state entity_id: calendar.semia_alexander_borisov_school_vacation_egor state: 'off' - condition: state entity_id: binary_sensor.holy_iot_green_1_presence state: 'on' actions: - wait_template: '{{ is_state(''binary_sensor.holy_iot_green_1_presence'', ''off'') }}' timeout: 00:00:30 - if: - '{{ not wait.completed }}' then: - parallel: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 parse_mode: html title: Внимание message: Возможно, Егор забыл пропуск в школу... - action: notify.mobile_app_kb2003 data: title: Пропуск в школу message: Возможно, Егор забыл пропуск в школу... data: ttl: 0 priority: high channel: alarm_stream importance: max color: red clickAction: entityId:binary_sensor.holy_iot_green_1_presence - action: media_player.play_media target: entity_id: media_player.yandex_station_lite_prikhozhaya data: media_content_id: Внимание, возможно, Егор забыл пропуск в школу media_content_type: text extra: volume_level: 0.7 - alias: Catch Possible Frigate FFmpeg Errors id: ad6c6761-94ba-4edb-b744-b844c5f0d2d6 triggers: - trigger: state entity_id: binary_sensor.frigate_reolinkcam_02_ffmpeg_problem from: 'off' to: 'on' actions: - parallel: - action: telegram_bot.send_message data: target: secret tlg_group_system title: '*Frigate Warning*' message: 'Возможна проблема с камерой Reolink 02, будет выполнена попытка перезагрузки Frigate. ' - action: shell_command.restart_frigate_srv01 - alias: Движение в детской id: 6166ef07-c478-44e3-a226-24d7737d6646 initial_state: false triggers: trigger: state entity_id: binary_sensor.0x158d00044cea8e_motion from: 'off' to: 'on' actions: - action: notify.telegram_group_flat_1 data: message: 'В *Детской* обнаружено движение:' - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 1 data: photo: - url: secret dafangcam_03_snapshot_url - delay: seconds: 1 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 2 data: photo: - url: secret dafangcam_03_snapshot_url - delay: seconds: 1 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 3 data: photo: - url: secret dafangcam_03_snapshot_url - alias: Вкл контроль движения в детской id: f46ce78b-11b1-42e9-b217-34ed6eabb7bb triggers: trigger: time at: '23:30:00' actions: - action: automation.turn_on target: entity_id: automation.dvizhenie_v_detskoi - alias: Выкл контроль движения в детской id: 0ffb0c86-cd64-4990-9571-da1799709488 triggers: trigger: time at: 07:00:00 actions: - action: automation.turn_off target: entity_id: automation.dvizhenie_v_detskoi - alias: Вход в квартиру id: 47a5b56e-5c41-4ae6-a3c2-25984c67b1b5 triggers: trigger: state entity_id: binary_sensor.0x158d00031c790f_contact from: 'off' to: 'on' conditions: - condition: state entity_id: binary_sensor.0x158d000309920a_motion state: 'off' actions: - delay: seconds: 3 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 1 data: photo: - url: secret dafangcam_02_snapshot_url - delay: seconds: 1 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 2 data: photo: - url: secret dafangcam_02_snapshot_url - delay: seconds: 2 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 3 data: photo: - url: secret dafangcam_02_snapshot_url - delay: seconds: 3 - action: notify.telegram_group_flat_1 data: message: Camera Snapshot 4 data: photo: - url: secret dafangcam_02_snapshot_url - alias: DafangCam-02 Turn Off Night Mode by Light id: ff6813b7-a4a7-4682-bacb-c28290e43f88 triggers: trigger: state entity_id: light.sonoff_1000f2f14a to: 'on' actions: - action: switch.turn_off target: entity_id: switch.dafangcam02_night_mode - action: switch.turn_on target: entity_id: switch.dafangcam02_ir_filter - action: switch.turn_off target: entity_id: switch.dafangcam02_ir_led - alias: Staircase - Person detected id: 56d572c7-3750-4988-8294-aa241a4f4b31 triggers: - trigger: state entity_id: binary_sensor.reolinkcam_01_person_occupancy from: 'off' to: 'on' actions: - parallel: - sequence: - delay: seconds: 1 - action: telegram_bot.send_message data: target: secret tlg_group_staircase message: '{{ now().strftime(''%d.%m.%Y, %H:%M:%S'') }} Обнаружен человек на лестничной клетке: ' - action: telegram_bot.send_photo data: target: secret tlg_group_staircase url: secret reolinkcam_01_snapshot_url verify_ssl: false - sequence: - action: telegram_bot.send_video data: target: secret tlg_group_staircase url: secret go2rtc_reolinkcam_01_mp4_7s - alias: Staircase - Send recorded video id: 692afba6-c94d-477f-9ac4-d064643898ce triggers: trigger: event event_type: folder_watcher event_data: event_type: deleted file: staircase_movement.mp4.tmp actions: - action: telegram_bot.send_video data: target: secret tlg_group_staircase file: /config/video/staircase_movement.mp4 caption: secret look_at_cam_reolinkcam_01 timeout: 180 - alias: Staircase - Motion detected - Frigate id: 1550b036-824f-47d8-9dcf-674b475c5060 mode: single max_exceeded: silent triggers: - trigger: mqtt topic: frigate_srv01/events payload: reolinkcam_01 value_template: '{{ value_json[''after''][''camera''] }}' variables: id: '{{ trigger.payload_json[''after''][''id''] }}' camera: '{{ trigger.payload_json[''after''][''camera''] }}' target_chat: secret tlg_group_staircase type: '{{ trigger.payload_json[''type''] }}' base_url: secret external_url conditions: - '{{ type = ''end'' }}' actions: - action: telegram_bot.send_message data: target: '{{ target_chat }}' message: '{{ now().strftime(''%d.%m.%Y, %H:%M:%S'') }} Обнаружено движение на лестничной клетке, (ID: {{ id }}): ' - action: telegram_bot.send_photo data: target: '{{ target_chat }}' url: '{{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg' - repeat: sequence: - wait_for_trigger: - trigger: mqtt topic: frigate_srv01/events payload: '{{ id }}' value_template: '{{ value_json[''after''][''id''] }}' timeout: minutes: 2 continue_on_timeout: false - condition: template value_template: '{{ wait.trigger.payload_json[''type''] == ''end'' }}' - action: telegram_bot.send_video data: target: '{{ target_chat }}' url: '{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4' until: '{{ wait.trigger.payload_json[''type''] == ''end'' }}' - alias: Homecoming Greeting id: 8431232f-319a-4184-94e9-bc070403eec4 mode: queued max: 5 triggers: - trigger: state entity_id: sensor.double_take_alexander_b to: dafangcam_02 id: alex - trigger: state entity_id: sensor.double_take_irina_b to: dafangcam_02 id: irina conditions: - condition: template value_template: '{{ (as_timestamp(now()) - as_timestamp(as_local(states[''binary_sensor.0x158d00031c790f_contact''].last_changed))) < 90 }}' actions: - choose: - conditions: - '{{ trigger.id == ''alex'' }}' - '{{ is_state(''person.alexander'', ''home'') }}' - '{{ (as_timestamp(now()) - as_timestamp(as_local(states.person.alexander.last_changed))) < 600 }}' sequence: - action: script.homecoming_greeting data: pers_name: Александр match_filename: '{{ trigger.to_state.attributes.match.filename }}' - conditions: - '{{ trigger.id == ''irina'' }}' - '{{ is_state(''person.irina'', ''home'') }}' - '{{ (as_timestamp(now()) - as_timestamp(as_local(states.person.irina.last_changed))) < 600 }}' sequence: - action: script.homecoming_greeting data: pers_name: Ирина match_filename: '{{ trigger.to_state.attributes.match.filename }}' - alias: Country House CCTV - Toggle Camera id: 97f7f60b-61c2-482b-894a-c12704418075 triggers: - trigger: state entity_id: binary_sensor.coutry_house_presence actions: choose: - alias: Presence Sensor To On conditions: '{{ trigger.to_state.state == ''on'' }}' sequence: - action: switch.turn_off target: entity_id: switch.frigate_srv01_reolinkcam_02 - alias: Presence Sensor To Off conditions: '{{ trigger.to_state.state == ''off'' }}' sequence: - action: switch.turn_on target: entity_id: switch.frigate_srv01_reolinkcam_02 - alias: Country House CCTV - Person detected id: a0d9386b-ecf4-46f1-92d8-6ad1a777d1d9 triggers: - trigger: state entity_id: binary_sensor.reolinkcam_02_person_occupancy from: 'off' to: 'on' conditions: - condition: state entity_id: binary_sensor.coutry_house_presence state: 'off' actions: - action: telegram_bot.send_message data: target: secret tlg_group_country_house message: '{{ now().strftime(''%d.%m.%Y, %H:%M:%S'') }} На даче обнаружен человек: ' - action: telegram_bot.send_photo data: target: secret tlg_group_country_house url: secret reolinkcam_02_snapshot_url caption: secret look_at_cam_reolinkcam_02 timeout: 60 - alias: CH Set current cost per kWh id: 28450e89-7fdf-459d-bcbd-9e3ea9377de7 triggers: - trigger: state entity_id: sensor.country_house_enegry_cost_mes_t1 not_to: - unavailable - unknown not_from: - unavailable - unknown conditions: - '{{ trigger.to_state.state | is_number() }}' actions: - action: input_number.set_value target: entity_id: input_number.country_house_enegry_cost_current data: value: '{{ trigger.to_state.state | float(0) }}' - alias: CH Set Main Energy Meter values for predict id: 3570493e-c074-4d88-b8ce-a196cb1a60a6 triggers: - trigger: state entity_id: - input_number.country_house_enegry_meter_value not_to: - unavailable - unknown not_from: - unavailable - unknown actions: - action: input_number.set_value target: entity_id: input_number.country_house_enegry_meter_predicted_value data: value: '{{ trigger.to_state.state | float(0) }}' - alias: CH Predict energy meter readings id: 36df2266-8486-42de-b42d-d7b956c24e40 triggers: - trigger: time at: '23:59:55' actions: - action: input_number.set_value target: entity_id: input_number.country_house_enegry_meter_predicted_value data: value: '{{ ((states(''input_number.country_house_enegry_meter_predicted_value'') | float(0)) + (states(''sensor.rch_ch_main_energy_daily_total'') | float(0))) | round(2) }}' - alias: CH Push Energy Meter reading id: d20af113-a06c-4eec-a1a0-0a8a4f8f6fa9 triggers: - trigger: state entity_id: - sensor.ch_energy_meter_value_saved_for_transfer not_to: - unavailable - unknown not_from: - unavailable - unknown conditions: - '{{ (now().strftime(''%d'') | int(0)) == (states(''input_number.country_house_enegry_meter_value_transfer_day'') | int(0)) }}' actions: - action: telegram_bot.send_message data: target: secret tlg_group_country_house title: '*Электроэнергия:*' message: 'Зафиксировано новое значение кВт⋅ч для передачи в МЭС. Предыдущее: {{ trigger.from_state.state }} Текущее: {{ trigger.to_state.state }} Расход: {{ (trigger.to_state.state | int(0)) - (trigger.from_state.state | int(0)) }} кВт⋅ч Примерная сумма счета: {{ (((trigger.to_state.state | float(0)) - (trigger.from_state.state | float(0))) * (states(''input_number.country_house_enegry_cost_current'') | float(0))) | round(1) }} руб. ' - action: script.turn_on target: entity_id: script.ch_push_energy_readings_to_mes - alias: CH Energy Meter readings accepted notification id: 99ae89c3-a865-4c3b-841c-729bbbc4b447 triggers: - trigger: state entity_id: - binary_sensor.mes_55384_014_37_meter_44259893_readings_accepted to: 'on' not_from: - unavailable - unknown actions: - action: telegram_bot.send_message data: target: secret tlg_group_country_house title: '*Электроэнергия:*' message: Переданные показания учтены в МЭС ({{ states('sensor.mes_55384_014_37_meter_44259893_zone_t1_period_indication') }} кВт⋅ч). - alias: Дача Водяной Насос - Telegram Control - Включение id: c4ff5d52-df3b-4e02-a8ef-f4a11323dcb4 triggers: trigger: event event_type: telegram_callback event_data: data: /water_pump_on actions: - action: switch.turn_on target: entity_id: switch.rch_sonoff_pow_r3_02 - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - alias: Wait for switch.rch_sonoff_pow_r3_02 wait_for_trigger: - trigger: state entity_id: switch.rch_sonoff_pow_r3_02 from: 'off' to: 'on' timeout: 00:00:10 continue_on_timeout: false - action: telegram_bot.send_message data: target: '{{ trigger.event.data.chat_id }}' message: Насос включен. - alias: Дача - Telegram Control - Turn On Away Mode id: 86da4969-92fa-49c9-aba3-23ab804e7194 triggers: trigger: event event_type: telegram_callback event_data: data: /ch_turn_on_away_mode actions: - action: scene.turn_on target: entity_id: scene.rch_ch_away - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - action: telegram_bot.send_message data: target: secret tlg_group_country_house message: Включен Away Mode - alias: Central Heating State Notification id: a50dc6a0-b2d1-45d9-bab8-7fc62e43fb05 mode: queued max: 10 triggers: - trigger: state entity_id: binary_sensor.central_heating_nursery id: nursery not_to: - unavailable - unknown not_from: - unavailable - unknown - trigger: state entity_id: binary_sensor.central_heating_livingroom id: livingroom not_to: - unavailable - unknown not_from: - unavailable - unknown - trigger: state entity_id: binary_sensor.central_heating_kitchen id: kitchen not_to: - unavailable - unknown not_from: - unavailable - unknown - trigger: state entity_id: binary_sensor.central_heating_bedroom id: bedroom not_to: - unavailable - unknown not_from: - unavailable - unknown conditions: '{{ states(''sensor.ha_uptime'') = ''0'' }}' actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: '{%- if trigger.id == "nursery" %}{% set room = "детской" %}{% set temp = states(''sensor.lumi_lumi_weather_824e9807_temperature'') %} {%- elif trigger.id == "livingroom" %}{% set room = "гостиной" %}{% set temp = states(''sensor.lumi_lumi_weather_bf387507_temperature'') %} {%- elif trigger.id == "kitchen" %}{% set room = "кухне" %}{% set temp = states(''sensor.lumi_lumi_weather_4dad5507_temperature'') %} {%- elif trigger.id == "bedroom" %}{% set room = "спальне" %}{% set temp = states(''sensor.lumi_lumi_weather_temperature'') %} {%- endif %} Отопление в {{ room }} {% if trigger.to_state.state == ''on'' %}*включено*{%else%}*выключено*{%endif%}. Температура в районе трубы отопления {{ temp }}°C. ' - alias: Thermo alert [Nursery] id: bb3a7df3-3e20-4ebe-8b49-bc9ba69ad2b6 triggers: - trigger: template value_template: '{{ (states(''sensor.temperature_in_nursery'') | float(0)) < 22 }}' for: minutes: 5 - trigger: template value_template: '{{ (states(''sensor.temperature_in_nursery'') | float(0)) > 25 }}' for: minutes: 5 actions: - action: notify.telegram_group_flat_1 data: message: 'В *Детской* {% if (trigger.to_state.state | float(0)) > 23 -%} жарко, {% elif (trigger.to_state.state | float(0)) < 23 -%} холодно, {% endif -%} температура: *{{ trigger.to_state.state }}°C*' - alias: Thermo alert [Living Room] id: 0e135e8d-3ad5-40cb-9d8f-9ab3df6b91bd triggers: - trigger: template value_template: '{{ (states(''sensor.temperature_in_livingroom'') | float(0)) < 22 }}' for: minutes: 5 - trigger: template value_template: '{{ (states(''sensor.temperature_in_livingroom'') | float(0)) > 25 }}' for: minutes: 5 actions: - action: notify.telegram_group_flat_1 data: message: 'В *Гостиной* {% if (trigger.to_state.state | float(0)) > 23 -%} жарко, {% elif (trigger.to_state.state | float(0)) < 23 -%} холодно, {% endif -%} температура: *{{ trigger.to_state.state }}°C*' - alias: Thermo alert [Bedroom] id: 524b5b92-0f5d-4429-88d2-9903ec325389 triggers: - trigger: template value_template: '{{ (states(''sensor.temperature_in_bedroom'') | float(0)) < 21 }}' for: minutes: 5 - trigger: template value_template: '{{ (states(''sensor.temperature_in_bedroom'') | float(0)) > 24.5 }}' for: minutes: 5 actions: - action: notify.telegram_group_flat_1 data: message: 'В *Спальне* {% if (trigger.to_state.state | float(0)) > 23 -%} жарко, {% elif (trigger.to_state.state | float(0)) < 23 -%} холодно, {% endif -%} температура: *{{ trigger.to_state.state }}°C*' - alias: AC - long running [8h] id: 09f64418-db04-4327-a714-57d9ea39d1ed triggers: trigger: state entity_id: - binary_sensor.0x158d00039cf974_contact - binary_sensor.0x158d0003d54725_contact - binary_sensor.0x158d0004073b67_contact from: 'off' to: 'on' for: hours: 8 actions: action: notify.telegram_group_flat_1 data: message: 'Внимание, *{{ trigger.to_state.attributes.friendly_name.replace(''Геркон '','''').replace('' on_off'','''') }}* работает больше 8 часов. ' - alias: AC - long running [16h] id: 970eef7a-4b66-4186-88ff-a0542c13c10a triggers: trigger: state entity_id: - binary_sensor.0x158d00039cf974_contact - binary_sensor.0x158d0003d54725_contact - binary_sensor.0x158d0004073b67_contact from: 'off' to: 'on' for: hours: 16 actions: action: notify.telegram_group_flat_1 data: message: 'Внимание, *{{ trigger.to_state.attributes.friendly_name.replace(''Геркон '','''').replace('' on_off'','''') }}* работает больше *16* часов. ' - alias: AC - long running [24h] id: 106513d8-941c-4bfe-8f42-1fe9c95a77de triggers: trigger: state entity_id: - binary_sensor.0x158d00039cf974_contact - binary_sensor.0x158d0003d54725_contact - binary_sensor.0x158d0004073b67_contact from: 'off' to: 'on' for: hours: 24 actions: action: notify.telegram_group_flat_1 data: message: 'Внимание, *{{ trigger.to_state.attributes.friendly_name.replace(''Геркон '','''').replace('' on_off'','''') }}* работает больше *24* часов. ' - alias: Carbon dioxide alert id: 5c2a3b8f-9bc7-4c73-a0b7-62f53e2d8d4a mode: queued max: 10 triggers: - trigger: template value_template: '{{ (states(''sensor.co2_in_nursery'') | int(0)) >= 1000 }}' for: minutes: 10 - trigger: template value_template: '{{ (states(''sensor.co2_in_livingroom'') | int(0)) >= 1000 }}' for: minutes: 10 - trigger: template value_template: '{{ (states(''sensor.co2_in_bedroom'') | int(0)) >= 1000 }}' for: minutes: 10 actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: "Повышенное содержание углекислого газа в \n{%- if 'nursery' in trigger.entity_id\ \ %} *Детской*\n{%- elif 'livingroom' in trigger.entity_id %} *Гостиной*\n\ {%- elif 'bedroom' in trigger.entity_id %} *Спальне*\n{%- endif %} (*{{ states(trigger.entity_id)\ \ }}* ppm).\nНеобходимо проветрить комнату." - alias: Domofon - Opened by Button Notification id: cb5e25c1-dcb7-4b75-a6c4-6b12eb84f86b triggers: trigger: state entity_id: binary_sensor.domofon_button to: 'on' conditions: - condition: state entity_id: binary_sensor.domofon_incoming_call state: 'on' actions: action: notify.telegram_group_flat_1 data: message: '_Домофон_: открыт кнопкой' - alias: Domofon - Incoming Call Notification id: 741a9858-1687-4b2d-8afd-73373e8cc8ba triggers: trigger: state entity_id: binary_sensor.domofon_incoming_call to: 'on' actions: - parallel: - action: notify.telegram_group_flat_1 data: message: '_Домофон_: входящий звонок... {% if is_state(''switch.domofon_automatically_open'', ''on'') or is_state(''switch.domofon_automatically_open_once'', ''on'') %}(*откроется автоматически*){% endif %}' data: inline_keyboard: - '{{ ''-'' if is_state(''switch.domofon_automatically_open'', ''on'') or is_state(''switch.domofon_automatically_open_once'', ''on'') else ''Открыть:/domofon_open, Отклонить:/domofon_reject'' }}' - sequence: - condition: '{{ is_state(''switch.domofon_automatically_open_once'', ''off'') }}' - action: script.domofon_alice_notify - alias: Domofon - Alice Intent control triggers: - trigger: event event_type: yandex_intent event_data: text: Открой домофон id: open actions: choose: - alias: Open Door conditions: - condition: trigger id: open sequence: - action: esphome.domofon_accept_call - alias: Domofon - Telegram Control - domofon_open id: 99d5c580-c382-48b3-bd2d-f6eb00b62c31 triggers: trigger: event event_type: telegram_callback event_data: data: /domofon_open actions: - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: '{{ ''Открываю...'' if is_state(''binary_sensor.domofon_incoming_call'', ''on'') else ''Нет входящего звонка'' }}' - action: esphome.domofon_accept_call - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: '_Домофон_: входящий звонок... {{ ''Домофон *открыт*'' if is_state(''binary_sensor.domofon_incoming_call'', ''on'') else '''' }} ' - alias: Domofon - Telegram Control - domofon_reject id: a50fb75b-0083-4866-8496-bdd013332a88 triggers: trigger: event event_type: telegram_callback event_data: data: /domofon_reject actions: - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: '{{ ''Отклоняю...'' if is_state(''binary_sensor.domofon_incoming_call'', ''on'') else ''Нет входящего звонка'' }}' - action: esphome.domofon_reject_call - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: '_Домофон_: входящий звонок... {{ ''Звонок *сброшен*'' if is_state(''binary_sensor.domofon_incoming_call'', ''on'') else '''' }} ' - alias: Domofon - Mute and UnMute by Time id: 97a74c5f-6a9f-4af6-9f8e-2a7fcd0a5070 triggers: - platform: time at: '21:00:00' - platform: time at: 08:00:00 actions: - action: "{% if trigger.now.hour == 21 -%}\n switch.turn_on\n{% elif trigger.now.hour\ \ == 8 -%}\n switch.turn_off\n{% endif %}" data: entity_id: switch.domofon_mute_sound - alias: Domofon - ESP Board Lost Connection id: 6cac01e7-945c-4f37-8b2d-d75e03107d76 triggers: - trigger: state entity_id: binary_sensor.domofon_status not_to: - unavailable - unknown not_from: - unavailable - unknown conditions: - condition: template value_template: '{{ states(''input_boolean.ha_shutdown'') == ''off'' }}' - condition: template value_template: '{{ states(''sensor.ha_uptime'') > ''1'' }}' actions: - action: notify.telegram_group_system data: message: "*Внимание*\n{% if trigger.to_state.state == 'off' -%}\n _Домофон_:\ \ потеряно подключение к HA.\n{% elif trigger.to_state.state == 'on' -%}\n\ \ _Домофон_: восстановлено подключение к HA\n{% endif %}\n" - alias: Domofon - Open Once for Couriers id: c916925d-cd33-4f30-882b-4049e52acf12 triggers: - trigger: state entity_id: - sensor.kb2003_last_notification - sensor.2109119dg_last_notification condition: - or: - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Курьер .* будет у вас в течение .*'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''В течение .* курьер .* будет у вас'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Курьер в пути. .*'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Курьер забрал заказ и везёт его к вам'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Везёт заказ из Маркет Express'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Уже спешит к вам'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Будет через *.'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''Скоро заказ будет у вас'') }}' - condition: template value_template: '{{ trigger.to_state.state | regex_search(''И уже спешит доставить его вам'') }}' actions: - action: switch.turn_on target: entity_id: switch.domofon_automatically_open_once - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: '_Домофон_: Курьер уже в пути, домофон откроется автоматически.' inline_keyboard: - Отключить звук:/domofon_mute_once - alias: Domofon - Telegram Control - domofon_mute_once id: 97093f78-f059-4918-b451-ca50f698a49d triggers: trigger: event event_type: telegram_callback event_data: data: /domofon_mute_once actions: - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: switch.turn_on target: entity_id: switch.domofon_mute_sound_once - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: '_Домофон_: Курьер уже в пути, домофон откроется автоматически. Звонок домофона *отключен* (однократно). ' - alias: Domofon - Open Once at Enter to Home Zone id: 40d4a1f6-576c-438a-b20f-ba161d9bd3ee max_exceeded: silent triggers: - trigger: zone entity_id: - person.alexander - person.irina zone: zone.domofon event: enter actions: - action: switch.turn_on target: entity_id: switch.domofon_automatically_open_once - action: switch.turn_on target: entity_id: switch.domofon_mute_sound_once - action: notify.telegram_group_flat_1 data: message: '_Домофон_: включен режим однократного авто-открытия.' - wait_for_trigger: - trigger: state entity_id: binary_sensor.0x158d00031c790f_contact to: 'on' timeout: 00:10:00 - choose: - conditions: '{{ is_state(''switch.domofon_automatically_open_once'', ''on'') }}' sequence: - action: switch.turn_off target: entity_id: switch.domofon_automatically_open_once - action: switch.turn_off target: entity_id: switch.domofon_mute_sound_once - action: notify.telegram_group_flat_1 data: message: '_Домофон_: отключен режим однократного авто-открытия.' - alias: Doorbell Ringing id: 420fe43c-f00d-46b6-a787-032b0c58bd47 mode: single max_exceeded: silent triggers: - trigger: state entity_id: binary_sensor.doorbell_ringing to: 'on' actions: - choose: - alias: Mute On conditions: '{{ is_state(''input_boolean.doorbell_mute'', ''on'') }}' sequence: - action: switch.turn_on target: entity_id: switch.galaxy_tab_a_8_0_2019_screen - action: button.press target: entity_id: button.galaxy_tab_a_8_0_2019_load_start_url - action: telegram_bot.send_photo data: target: secret tlg_group_flat_1 url: secret reolinkcam_01_snapshot_url verify_ssl: false caption: '*Внимание*, в дверь звонят _(звонок отключен)_' - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: secret look_at_cam_reolinkcam_01 - action: media_player.play_media target: entity_id: media_player.yandex_station_mini2_gostinaia data: media_content_id: Внимание, в дверь звонят media_content_type: text extra: volume_level: '{% set time = now().hour %}{% if time >= 21 or time < 9 %}0.5{% else %}0.7{% endif %}' - alias: Mute Off conditions: "{{\n is_state('input_boolean.doorbell_mute', 'off') and\n is_state('switch.sonoff_mini_r2_01_doorbell','off')\n\ }}\n" sequence: - action: switch.turn_on target: entity_id: switch.sonoff_mini_r2_01_doorbell - action: switch.turn_on target: entity_id: switch.galaxy_tab_a_8_0_2019_screen - action: button.press target: entity_id: button.galaxy_tab_a_8_0_2019_load_start_url - action: telegram_bot.send_photo data: target: secret tlg_group_flat_1 url: secret reolinkcam_01_snapshot_url verify_ssl: false caption: '*Внимание*, в дверь звонят' - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: secret look_at_cam_reolinkcam_01 - alias: Doorbell - Mute and UnMute by Time id: 325f3e23-39b1-47f5-a415-e5da5e4845e3 triggers: - trigger: time at: '21:00:00' id: turn_on - trigger: time at: 08:00:00 id: turn_off actions: choose: - alias: Mute On conditions: - condition: trigger id: turn_on sequence: - action: input_boolean.turn_on target: entity_id: input_boolean.doorbell_mute - alias: Mute Off conditions: - condition: trigger id: turn_off sequence: - action: input_boolean.turn_off target: entity_id: input_boolean.doorbell_mute - alias: Energy - Apartment - Set Start Time of Tariffs id: 7dc9e636-2951-407e-b50f-31d6b0b22961 triggers: - trigger: time_pattern hours: /1 minutes: '15' conditions: '{{ not states(''sensor.mes_07762_153_47_account'') in (''unavailable'') }}' actions: - action: input_datetime.set_datetime target: entity_id: input_datetime.apartment_enegry_start_time_peak_1 data: time: '{% set time = (state_attr(''sensor.mes_07762_153_47_account'', ''zone_t1_description'') | regex_findall_index(''^(\d+-\d+)'')).replace(''-'','':'') -%} {% if (time.split('':'')[0] | int) < 10 %}0{{ time }}:00{% else %}{{ time }}:00{% endif %} ' - action: input_datetime.set_datetime target: entity_id: input_datetime.apartment_enegry_start_time_peak_2 data: time: '{% set time = (state_attr(''sensor.mes_07762_153_47_account'', ''zone_t1_description'') | regex_findall_index('',.(\d+-\d+)'')).replace(''-'','':'') -%} {% if (time.split('':'')[0] | int) < 10 -%}0{{ time }}:00{%- else -%}{{ time }}:00{% endif %} ' - action: input_datetime.set_datetime target: entity_id: input_datetime.apartment_enegry_start_time_halfpeak_1 data: time: '{% set time = (state_attr(''sensor.mes_07762_153_47_account'', ''zone_t3_description'') | regex_findall_index(''^(\d+-\d+)'')).replace(''-'','':'') -%} {% if (time.split('':'')[0] | int) < 10 %}0{{ time }}:00{% else %}{{ time }}:00{% endif %} ' - action: input_datetime.set_datetime target: entity_id: input_datetime.apartment_enegry_start_time_halfpeak_2 data: time: '{% set time = (state_attr(''sensor.mes_07762_153_47_account'', ''zone_t3_description'') | regex_findall_index('',.(\d+-\d+)'')).replace(''-'','':'') -%} {% if (time.split('':'')[0] | int) < 10 -%}0{{ time }}:00{%- else -%}{{ time }}:00{% endif %} ' - action: input_datetime.set_datetime target: entity_id: input_datetime.apartment_enegry_start_time_night data: time: '{% set time = (state_attr(''sensor.mes_07762_153_47_account'', ''zone_t2_description'') | regex_findall_index(''^(\d+-\d+)'')).replace(''-'','':'') -%} {% if (time.split('':'')[0] | int) < 10 %}0{{ time }}:00{% else %}{{ time }}:00{% endif %} ' - alias: Energy - Apartment - Set Current Tariff id: 0266f51b-5a79-4c13-b925-f50952cc49ed triggers: - trigger: time at: - input_datetime.apartment_enegry_start_time_peak_1 - input_datetime.apartment_enegry_start_time_peak_2 id: peak - trigger: time at: - input_datetime.apartment_enegry_start_time_halfpeak_1 - input_datetime.apartment_enegry_start_time_halfpeak_2 id: halfpeak - trigger: time at: input_datetime.apartment_enegry_start_time_night id: night actions: choose: - alias: Set Peak Tariff conditions: - condition: trigger id: peak sequence: - action: input_number.set_value target: entity_id: input_number.apartment_enegry_cost_current data: value: '{{ states(''sensor.apartment_enegry_cost_peak'') | float(0) }}' - action: select.select_option target: entity_id: group.all_energy_utility_meters data: option: peak - alias: Set Halfpeak Tariff conditions: - condition: trigger id: halfpeak sequence: - action: input_number.set_value target: entity_id: input_number.apartment_enegry_cost_current data: value: '{{ states(''sensor.apartment_enegry_cost_halfpeak'') | float(0) }}' - action: select.select_option target: entity_id: group.all_energy_utility_meters data: option: halfpeak - alias: Set Night Tariff conditions: - condition: trigger id: night sequence: - action: input_number.set_value target: entity_id: input_number.apartment_enegry_cost_current data: value: '{{ states(''sensor.apartment_enegry_cost_night'') | float(0) }}' - action: select.select_option target: entity_id: group.all_energy_utility_meters data: option: night - alias: RSS feed notifications id: 7acc6aec-3319-44e8-bf1c-dc36109f1b89 mode: queued max: 100 triggers: trigger: event event_type: feedreader actions: - choose: - alias: Home Assistant News and Blog Posts conditions: condition: template value_template: '{{ trigger.event.data.link | regex_search(''www.home-assistant.io'') and (states(''sensor.ha_uptime'') | int) > 1 }} ' sequence: - action: telegram_bot.send_message data: target: secret tlg_group_system disable_web_page_preview: true parse_mode: html title: 'INFO:' message: 'Новое пост на www.home-assistant.io: {{ trigger.event.data.title }} {{ trigger.event.data.link }} ' - alias: Home Assistant Alerts conditions: condition: template value_template: '{{ trigger.event.data.link | regex_search(''alerts.home-assistant.io'') }} ' sequence: - action: telegram_bot.send_message data: target: secret tlg_group_system disable_web_page_preview: true parse_mode: html title: Внимание message: 'Новое сообщение на alerts.home-assistant.io: {{ trigger.event.data.title }} {{ trigger.event.data.link }} ' - alias: MCHS Moscow Alerts conditions: condition: template value_template: '{{ trigger.event.data.link | regex_search(''moscow.mchs.gov.ru'') }} ' sequence: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html title: Внимание message: 'Новое оповещение от МЧС (Москва): {{ trigger.event.data.title }} {{ trigger.event.data.link }}' - alias: GitHub HA Repo - Push config id: 816f1400-5e51-4e5c-bc3a-f07e1e4202dd mode: queued max: 5 triggers: - trigger: state entity_id: input_button.git_commint_and_push id: button - trigger: event event_type: timer.finished event_data: entity_id: timer.git_time_to_push id: timer_finished - trigger: state entity_id: input_boolean.git_autocommit from: 'off' to: 'on' id: enable - trigger: state entity_id: sensor.git_number_of_modified_files not_to: - unavailable - unknown not_from: - unavailable - unknown id: files actions: choose: - conditions: '{{ trigger.id == ''button'' }}' sequence: - action: shell_command.git_commint_and_push - action: homeassistant.update_entity target: entity_id: sensor.git_number_of_modified_files - conditions: '{{ trigger.id == ''enable'' }}' sequence: - if: - '{{ (states(''sensor.git_number_of_modified_files'') | int(0)) > 0 }}' then: - action: timer.start target: entity_id: timer.git_time_to_push - conditions: '{{ trigger.id == ''timer_finished'' }}' sequence: - if: - '{{ is_state(''input_boolean.git_autocommit'', ''on'') }}' then: - action: shell_command.git_commint_and_push - action: homeassistant.update_entity target: entity_id: sensor.git_number_of_modified_files else: - action: timer.start target: entity_id: timer.git_time_to_push - conditions: '{{ trigger.id == ''files'' }}' sequence: choose: - conditions: '{{ (trigger.to_state.state | int(0)) == 0 }}' sequence: - action: timer.cancel target: entity_id: timer.git_time_to_push - conditions: '{{ (trigger.to_state.state | int(0)) > (trigger.from_state.state | int(0)) }}' sequence: - action: timer.start target: entity_id: timer.git_time_to_push - alias: GitHub HA Repo - Stars id: b8a8f7d3-1875-4271-b576-1586f2ab425f triggers: - trigger: webhook webhook_id: secret github_ha_repo_stars_webhook local_only: false allowed_methods: - POST actions: - action: telegram_bot.send_message data: target: secret tlg_group_system parse_mode: html disable_web_page_preview: true title: 'GitHub HA Repo:' message: 'Star {{ trigger.json.action }} https://github.com/avbor/HomeAssistantConfig/stargazers' - alias: Smartmi Humidifier - Заданчивается вода id: 992f84be-ee32-497c-833f-7ddc8eb574a4 triggers: trigger: numeric_state entity_id: - sensor.smartmi_humidifier_01_detskaia_water_level - sensor.smartmi_humidifier_02_spalnia_water_level below: 15 conditions: condition: template value_template: '{{ (trigger.to_state.state | int) != 0 }}' actions: - action: notify.telegram_group_system data: message: '{% if ''_01_'' in trigger.entity_id -%} *Smartmi Humidifier 01* (Детская): заканчивается вода (осталось *{{ trigger.to_state.state }}*%)! {% elif ''_02_'' in trigger.entity_id -%} *Smartmi Humidifier 02* (Спальня): заканчивается вода (осталось *{{ trigger.to_state.state }}*%)! {% endif -%}' - alias: Smartmi Humidifier - Выключение по остатку воды id: 41f9fd8c-50e9-43d3-8f1a-777705683f72 triggers: trigger: numeric_state entity_id: - sensor.smartmi_humidifier_01_detskaia_water_level - sensor.smartmi_humidifier_02_spalnia_water_level below: 10 conditions: condition: template value_template: '{{ (trigger.to_state.state | int) != 0 }}' actions: - action: humidifier.turn_off target: entity_id: '{% if ''_01_'' in trigger.entity_id -%} humidifier.smartmi_humidifier_01_detskaia {% elif ''_02_'' in trigger.entity_id -%} humidifier.smartmi_humidifier_02_spalnia {% endif -%}' - action: notify.telegram_group_system data: message: '{% if ''_01_'' in trigger.entity_id -%} *Smartmi Humidifier 01* (Детская): выключен (остаток воды *{{ trigger.to_state.state }}*%)! {% elif ''_02_'' in trigger.entity_id -%} *Smartmi Humidifier 02* (Спальня): выключен (остаток воды *{{ trigger.to_state.state }}*%)! {% endif -%}' - alias: Smartmi Humidifier 01 - Выбор режима id: dd7a9cd6-0161-4af7-9dce-3359e27dfb7c triggers: trigger: state entity_id: input_select.smartmi_humidifier_01_detskaia_mode actions: action: script.set_smartmi_humidifier_mode data: humidifier_entity: humidifier.smartmi_humidifier_01_detskaia humidifier_mode: '{{ trigger.to_state.state }}' - alias: Smartmi Humidifier 01 - Mode Revers Sync id: 8d2b93ea-d103-42e7-90bb-8ee4ca5c0648 triggers: - trigger: state entity_id: sensor.smartmi_humidifier_01_detskaia_mode to: - Auto - Silent - Medium - High not_from: - unavailable - unknown actions: - if: - '{{ states(''sensor.smartmi_humidifier_01_detskaia_mode'') != states(''input_select.smartmi_humidifier_01_detskaia_mode'') }}' then: - action: input_select.select_option target: entity_id: input_select.smartmi_humidifier_01_detskaia_mode data: option: '{{ states(''sensor.smartmi_humidifier_01_detskaia_mode'') }}' - alias: Увлажнение детской - Старт [время] id: cb8d8af5-8a41-4ed8-a1c1-05b4a823fcdd triggers: trigger: time at: '20:00:00' conditions: - condition: state entity_id: humidifier.smartmi_humidifier_01_detskaia state: 'off' - condition: numeric_state entity_id: sensor.humidity_in_nursery below: input_number.target_humidity_01_detskaia - condition: numeric_state entity_id: sensor.smartmi_humidifier_01_detskaia_water_level above: 25 actions: action: humidifier.turn_on target: entity_id: humidifier.smartmi_humidifier_01_detskaia - alias: Увлажнение детской - Стоп [время] id: e2a3cd54-5f73-4e8c-b110-483c2f6be654 triggers: trigger: time at: 07:00:00 conditions: - condition: state entity_id: humidifier.smartmi_humidifier_01_detskaia state: 'on' - condition: state entity_id: input_boolean.smartmi_humidifier_01_detskaia_autocontrol state: 'off' actions: action: humidifier.turn_off target: entity_id: humidifier.smartmi_humidifier_01_detskaia - alias: Увлажнение детской - Старт [Влажность] id: c948d3e9-40c8-48f8-a8d8-dba65319d61b triggers: trigger: state entity_id: - sensor.humidity_in_nursery - input_number.target_humidity_01_detskaia - input_boolean.smartmi_humidifier_01_detskaia_autocontrol conditions: - condition: state entity_id: input_boolean.smartmi_humidifier_01_detskaia_autocontrol state: 'on' - condition: template value_template: '{{ (states(''sensor.humidity_in_nursery'') | round(0)) < (states(''input_number.target_humidity_01_detskaia'') | int) }} ' - condition: state entity_id: humidifier.smartmi_humidifier_01_detskaia state: 'off' - condition: numeric_state entity_id: sensor.smartmi_humidifier_01_detskaia_water_level above: 15 actions: - action: humidifier.turn_on target: entity_id: humidifier.smartmi_humidifier_01_detskaia - alias: Увлажнение детской - Стоп [Влажность] id: ce34b5e0-d1d9-45b0-8a66-65eb392383ec triggers: trigger: state entity_id: - sensor.humidity_in_nursery - input_number.target_humidity_01_detskaia - input_boolean.smartmi_humidifier_01_detskaia_autocontrol conditions: - condition: state entity_id: input_boolean.smartmi_humidifier_01_detskaia_autocontrol state: 'on' - condition: template value_template: '{{ (states(''sensor.humidity_in_nursery'') | round(0)) >= (states(''input_number.target_humidity_01_detskaia'') | int) }} ' - condition: state entity_id: humidifier.smartmi_humidifier_01_detskaia state: 'on' actions: - action: humidifier.turn_off target: entity_id: humidifier.smartmi_humidifier_01_detskaia - alias: Smartmi Humidifier 02 - Выбор режима id: 23a943a3-9594-4392-bdb4-468eccc9a50b triggers: trigger: state entity_id: input_select.smartmi_humidifier_02_spalnia_mode actions: action: script.set_smartmi_humidifier_mode data: humidifier_entity: humidifier.smartmi_humidifier_02_spalnia humidifier_mode: '{{ trigger.to_state.state }}' - alias: Smartmi Humidifier 02 - Mode Revers Sync id: 501ee548-817e-4210-af88-dcbbd2d4d2de triggers: - trigger: state entity_id: sensor.smartmi_humidifier_02_spalnia_mode to: - Auto - Silent - Medium - High not_from: - unavailable - unknown actions: - if: - '{{ states(''sensor.smartmi_humidifier_02_spalnia_mode'') != states(''input_select.smartmi_humidifier_02_spalnia_mode'') }}' then: - action: input_select.select_option target: entity_id: input_select.smartmi_humidifier_02_spalnia_mode data: option: '{{ states(''sensor.smartmi_humidifier_02_spalnia_mode'') }}' - alias: Увлажнение спальни - Старт [Влажность] id: a9f8c4d8-7b10-4128-8411-1aa68a330760 triggers: trigger: state entity_id: - sensor.humidity_in_bedroom - input_number.target_humidity_02_spalnia - input_boolean.smartmi_humidifier_02_spalnia_autocontrol conditions: - condition: state entity_id: input_boolean.smartmi_humidifier_02_spalnia_autocontrol state: 'on' - condition: template value_template: '{{ (states(''sensor.humidity_in_bedroom'') | round(0)) < (states(''input_number.target_humidity_02_spalnia'') | int) }} ' - condition: state entity_id: humidifier.smartmi_humidifier_02_spalnia state: 'off' - condition: numeric_state entity_id: sensor.smartmi_humidifier_02_spalnia_water_level above: 15 actions: - action: humidifier.turn_on target: entity_id: humidifier.smartmi_humidifier_02_spalnia - alias: Увлажнение спальни - Стоп [Влажность] id: ec2f9de0-dacb-4a84-b0c9-0b5eb8e2b4f9 triggers: trigger: state entity_id: - sensor.humidity_in_bedroom - input_number.target_humidity_02_spalnia - input_boolean.smartmi_humidifier_02_spalnia_autocontrol conditions: - condition: state entity_id: input_boolean.smartmi_humidifier_02_spalnia_autocontrol state: 'on' - condition: template value_template: '{{ (states(''sensor.humidity_in_bedroom'') | round(0)) >= (states(''input_number.target_humidity_02_spalnia'') | int) }} ' - condition: state entity_id: humidifier.smartmi_humidifier_02_spalnia state: 'on' actions: - action: humidifier.turn_off target: entity_id: humidifier.smartmi_humidifier_02_spalnia - alias: Kitchen Covers Control by Light id: 24f83b60-8392-4278-8725-6d1a33a0a483 triggers: - trigger: numeric_state entity_id: sensor.outdoor_illuminance below: input_number.kitchen_covers_illuminance_threshold for: 00:10:00 id: dark - trigger: numeric_state entity_id: sensor.outdoor_illuminance above: input_number.kitchen_covers_illuminance_threshold for: 00:10:00 id: lightly conditions: '{{ is_state(''input_boolean.kitchen_covers_auto'', ''on'') }}' actions: choose: - alias: Darkens (Close) conditions: - condition: trigger id: dark sequence: - condition: '{{ states(''cover.kitchen_covers'') in [''open'', ''opening''] }}' - action: cover.close_cover target: entity_id: cover.kitchen_covers - alias: Brightens (Open) conditions: - condition: trigger id: lightly sequence: - condition: '{{ states(''cover.kitchen_covers'') in [''closed'', ''closing''] }}' - action: cover.open_cover target: entity_id: cover.kitchen_covers - alias: Kitchen Covers Control by IKEA Switch id: def20597-6652-43e3-836c-6a1e191967d3 mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 50:32:5f:ff:fe:70:d7:69 id: ikea_sw_5 actions: choose: - alias: 'command: on or move_with_on_off' conditions: '{{ trigger.event.data.command in (''on'', ''move_with_on_off'') }}' sequence: - action: cover.open_cover target: entity_id: cover.kitchen_covers - alias: 'command: off or move' conditions: '{{ trigger.event.data.command in (''off'', ''move'') }}' sequence: - action: cover.close_cover target: entity_id: cover.kitchen_covers - alias: 'command: stop' conditions: '{{ trigger.event.data.command == ''stop'' }}' sequence: - action: cover.stop_cover target: entity_id: cover.kitchen_covers - alias: Свет в Ванной id: 9a24416b-82b6-4fa8-81a7-ea6c71daa727 mode: queued max: 10 max_exceeded: silent triggers: - trigger: state entity_id: timer.bathroom_presence to: idle id: timer_idle - trigger: state entity_id: binary_sensor.lumi_lumi_sensor_magnet_on_off id: magnet - trigger: state entity_id: binary_sensor.trust_iaszone to: 'on' id: motion_on - trigger: state entity_id: binary_sensor.0xa4c138792ba1d268_presence to: 'on' id: presence_on - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:d1:77:62 command: click id: click actions: choose: - alias: Timer Idle conditions: - condition: trigger id: timer_idle sequence: choose: - alias: Presence On conditions: '{{ states(''binary_sensor.0xa4c138792ba1d268_presence'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.bathroom_presence - alias: Motion On conditions: '{{ states(''binary_sensor.trust_iaszone'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.bathroom_presence - alias: Motion Off conditions: '{{ states(''binary_sensor.trust_iaszone'') == ''off'' }}' sequence: choose: - alias: Motion detected > 5 min ago conditions: '{{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.trust_iaszone.last_changed)) > 300 }}' sequence: - parallel: - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_04_on_off - sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''on'') }}' - condition: '{{ is_state(''binary_sensor.bathroom_high_humidity'', ''off'') }}' - action: fan.turn_off target: entity_id: fan.bathroom_extractor - alias: Motion detected <= 5 min ago conditions: '{{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.trust_iaszone.last_changed)) <= 300 }}' sequence: - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_04_on_off - delay: seconds: 0.3 - action: light.turn_on target: entity_id: light.sonoff_zbmini_04_on_off - wait_template: '{{ is_state(''binary_sensor.trust_iaszone'', ''on'') }}' timeout: 00:01:00 - if: - '{{ not wait.completed }}' then: - parallel: - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_04_on_off - sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''on'') }}' - condition: '{{ is_state(''binary_sensor.bathroom_high_humidity'', ''off'') }}' - action: fan.turn_off target: entity_id: fan.bathroom_extractor - alias: Magnet conditions: - condition: trigger id: magnet sequence: choose: - alias: To On conditions: '{{ trigger.from_state.state == ''off'' and trigger.to_state.state == ''on'' }}' sequence: - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''off'') }}' - action: light.turn_on target: entity_id: light.sonoff_zbmini_04_on_off - action: timer.start target: entity_id: timer.bathroom_presence - alias: To Off conditions: '{{ trigger.from_state.state == ''on'' and trigger.to_state.state == ''off'' }}' sequence: - parallel: - sequence: - condition: '{{ is_state(''binary_sensor.trust_iaszone'', ''off'') }}' - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_04_on_off - sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''on'') }}' - condition: '{{ is_state(''binary_sensor.bathroom_high_humidity'', ''off'') }}' - condition: '{{ is_state(''binary_sensor.trust_iaszone'', ''off'') }}' - action: fan.turn_off target: entity_id: fan.bathroom_extractor - alias: Presence conditions: - condition: trigger id: presence_on sequence: - action: timer.start target: entity_id: timer.bathroom_presence - alias: Motion conditions: - condition: trigger id: motion_on sequence: - action: timer.start target: entity_id: timer.bathroom_presence - parallel: - sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''off'') }}' - action: fan.turn_on target: entity_id: fan.bathroom_extractor - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''off'') }}' - action: light.turn_on target: entity_id: light.sonoff_zbmini_04_on_off - alias: Button conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle data: entity_id: light.sonoff_zbmini_04_on_off - delay: 00:00:02 - choose: - alias: Light On conditions: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''on'') }}' sequence: - action: fan.turn_on target: entity_id: fan.bathroom_extractor - alias: Light Off conditions: '{{ is_state(''light.sonoff_zbmini_04_on_off'', ''off'') }}' sequence: - condition: '{{ is_state(''binary_sensor.bathroom_high_humidity'', ''off'') }}' - action: fan.turn_off target: entity_id: fan.bathroom_extractor - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: fan.toggle target: entity_id: fan.bathroom_extractor - alias: Ванная - вытяжка id: 9c4552b3-11ee-4364-bf40-2b142c5f97e6 triggers: - trigger: state entity_id: binary_sensor.bathroom_high_humidity to: 'on' for: minutes: 3 id: high_humidity - trigger: state entity_id: binary_sensor.bathroom_high_humidity to: 'off' for: minutes: 10 id: normal_humidity actions: choose: - alias: High humidity conditions: - condition: trigger id: high_humidity sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''off'') }}' - action: fan.turn_on target: entity_id: fan.bathroom_extractor - alias: Normal humidity conditions: - condition: trigger id: normal_humidity sequence: - condition: '{{ is_state(''fan.bathroom_extractor'', ''on'') }}' - action: fan.turn_off target: entity_id: fan.bathroom_extractor - alias: Кнопки IKEA в Спальне id: ffd8dce9-55d7-449c-a5ed-280604c00930 triggers: - trigger: event event_type: zha_event event_data: device_ieee: 84:fd:27:ff:fe:90:a6:46 id: ikea_sw_1 - trigger: event event_type: zha_event event_data: device_ieee: 84:fd:27:ff:fe:9e:e4:06 id: ikea_sw_2 actions: choose: - alias: 'command: on' conditions: - condition: template value_template: '{{ trigger.event.data.command == ''on'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1001053235 - alias: 'command: off' conditions: - condition: template value_template: '{{ trigger.event.data.command == ''off'' }}' sequence: choose: - alias: If Group is On conditions: - condition: state entity_id: group.light_spalnia_bra state: 'on' sequence: - action: homeassistant.turn_off target: entity_id: group.light_spalnia_bra - alias: If Group is Off conditions: - condition: state entity_id: group.light_spalnia_bra state: 'off' sequence: - action: homeassistant.turn_on target: entity_id: group.light_spalnia_bra - alias: 'command: move_with_on_off' conditions: - condition: template value_template: '{{ trigger.event.data.command == ''move_with_on_off'' }}' sequence: - action: light.toggle target: entity_id: light.spalnia_stol - alias: 'command: move' conditions: - condition: template value_template: '{{ trigger.event.data.command == ''move'' }}' sequence: - action: light.turn_off target: entity_id: group.all_lamps - alias: Sunrise Lighting (Bedroom) id: 35fa00c7-72bd-4a5f-9bef-7bcf13a3bf49 triggers: - trigger: time at: input_datetime.sunrise_in_bedroom condition: - and: - condition: state entity_id: binary_sensor.workday_sensor state: 'on' - condition: state entity_id: calendar.semia_alexander_borisov_vacation state: 'off' - condition: sun before: sunrise before_offset: 00:30:00 actions: - action: script.turn_on target: entity_id: script.sunrise_in_bedroom_left - alias: Wait for OnePlus presence at livingroom wait_for_trigger: - trigger: state entity_id: binary_sensor.living_room_oneplus_8t_presence from: 'off' to: 'on' for: 00:03:00 timeout: 00:30:00 - parallel: - if: - '{{ is_state(''script.sunrise_in_bedroom_left'', ''on'') }}' then: - action: script.turn_off target: entity_id: script.sunrise_in_bedroom_left - if: - '{{ is_state(''light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light_2'', ''on'') }}' then: - action: light.turn_off target: entity_id: light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light_2 - alias: Turn Off All Light When Nobody at Home id: b06cbc8a-6488-412b-8842-e6c72b004ff1 triggers: trigger: state entity_id: group.family_persons to: not_home for: minutes: 5 conditions: - condition: state entity_id: group.all_lamps state: 'on' actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Дома никого нет, но остался включенным свет: {{ ((expand(''group.all_lamps'') | selectattr(''state'', ''eq'', ''on'') | map(attribute=''name'') | list)) | replace("''","") | replace(", ", "\n") }} ' inline_keyboard: - Выключить свет:/turn_off_all_lamps - alias: Light - Telegram Control - Turn Off All Lamps id: a395b9eb-6a18-40bd-a7f4-6e3f133049ba triggers: trigger: event event_type: telegram_callback event_data: data: /turn_off_all_lamps actions: - action: homeassistant.turn_off target: entity_id: group.all_lamps - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: Свет выключен. - alias: Кнопка Xiaomi в Коридоре id: 69f5d88e-f0b9-4f31-9951-fe9f7bd60906 mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:04:5a:11:53 command: click id: click - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:04:5a:11:53 command: hold id: hold actions: choose: - alias: Action Click conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000f2a500 - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000f2f14a - alias: Action Hold conditions: - condition: trigger id: hold sequence: - action: light.turn_off target: entity_id: - group.light_detskaia - group.light_prikhozhaya - group.light_koridor - group.light_gostinaia - group.light_kukhnia - group.light_kladovaya - alias: Свет в Прихожей id: b564ba72-9799-4438-b7c0-2a72a61a864c mode: queued max: 5 max_exceeded: silent triggers: - trigger: state entity_id: timer.hallway_light id: timer - trigger: state entity_id: binary_sensor.0x158d00031c790f_contact id: magnet - trigger: state entity_id: binary_sensor.0x158d000309920a_motion id: motion action: choose: - alias: Timer conditions: - condition: trigger id: timer sequence: choose: - alias: To Off conditions: '{{ trigger.to_state.state == ''idle'' }}' sequence: choose: - alias: Frigate Presence On conditions: '{{ states(''binary_sensor.dafangcam_02_person_occupancy'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.hallway_light - alias: Motion On conditions: '{{ states(''binary_sensor.0x158d000309920a_motion'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.hallway_light - alias: Motion Off conditions: '{{ states(''binary_sensor.0x158d000309920a_motion'') == ''off'' }}' sequence: - action: light.turn_off target: entity_id: light.sonoff_1000f2f14a - alias: Magnet conditions: - condition: trigger id: magnet sequence: choose: - alias: To On conditions: '{{ trigger.from_state.state == ''off'' and trigger.to_state.state == ''on'' }}' sequence: - action: light.turn_on target: entity_id: light.sonoff_1000f2f14a - action: timer.start target: entity_id: timer.hallway_light - alias: Motion conditions: - condition: trigger id: motion sequence: choose: - alias: To On conditions: '{{ trigger.to_state.state == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.hallway_light - condition: state entity_id: light.sonoff_1000f2f14a state: 'off' - action: light.turn_on target: entity_id: light.sonoff_1000f2f14a - alias: To Off conditions: '{{ trigger.to_state.state == ''off'' }}' sequence: - action: timer.finish target: entity_id: timer.hallway_light - alias: Кнопка Xiaomi в Прихожей id: c8299171-1d2a-428f-8f5f-d24d28e82b48 mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:04:5a:11:b1 command: click id: click - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:04:5a:11:b1 command: hold id: hold actions: choose: - alias: Action Click conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000f2f14a - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000f2a500 - alias: Action Hold conditions: - condition: trigger id: hold sequence: - action: light.turn_off target: entity_id: group.all_lamps - alias: Кнопка Xiaomi на Кухне id: 3dd87840-2d90-4823-a4af-844395be2a2a mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:5f:f6:31 command: click id: click actions: choose: - alias: Action Click conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle target: entity_id: light.kukhnia_lenta - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: light.toggle target: entity_id: light.ikea_e27_kukhnia - alias: Подсветка на кухне (сенсор движения - вкл) id: 72c4f7ac-f72c-47fd-bf06-6e3671d12b1d triggers: trigger: state entity_id: binary_sensor.0x158d0003fac0ec_motion to: 'on' conditions: - condition: numeric_state entity_id: sensor.0x158d0003fac0ec_illuminance below: 10 actions: action: light.turn_on target: entity_id: light.kukhnia_lenta - alias: Подсветка на кухне (сенсор движения - выкл) id: 47413029-b8c2-4ec1-ad98-7c72b271766d triggers: trigger: state entity_id: binary_sensor.0x158d0003fac0ec_motion to: 'off' for: minutes: 3 actions: action: light.turn_off target: entity_id: light.kukhnia_lenta - alias: Кнопка Xiaomi в Гостиной id: 20b084dc-0393-44e3-897d-3cec019647a1 mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:5a:9b:c5 command: click id: click - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:5a:9b:c5 command: hold id: hold actions: choose: - alias: Action Click conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000ab3c28 - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_1000f3035d - alias: Action Hold conditions: - condition: trigger id: hold sequence: - action: light.toggle target: entity_id: light.gostinaia_podsvetka_na_okne - alias: Подсветка на окне в Гостиной id: 32c18d2f-1d01-4458-b5e2-05048b73a3d7 triggers: - trigger: numeric_state entity_id: sensor.outdoor_illuminance below: input_number.livingroom_window_light_illuminance_threshold for: 00:10:00 id: dark - trigger: numeric_state entity_id: sensor.outdoor_illuminance above: input_number.livingroom_window_light_illuminance_threshold for: 00:10:00 id: lightly - trigger: time at: 00:30:00 id: time - trigger: state entity_id: group.family_persons from: not_home to: home id: to_home conditions: '{{ is_state(''input_boolean.livingroom_window_light_auto'', ''on'') }}' actions: choose: - alias: Darkens (Turn On) conditions: - condition: trigger id: dark sequence: - condition: state entity_id: light.gostinaia_podsvetka_na_okne state: 'off' - action: light.turn_on target: entity_id: light.gostinaia_podsvetka_na_okne - alias: Brightens (Turn Off) conditions: - or: - condition: trigger id: lightly - condition: trigger id: time sequence: - condition: state entity_id: light.gostinaia_podsvetka_na_okne state: 'on' - action: light.turn_off target: entity_id: light.gostinaia_podsvetka_na_okne - alias: Came Home conditions: - and: - condition: trigger id: to_home - condition: numeric_state entity_id: sensor.outdoor_illuminance below: input_number.livingroom_window_light_illuminance_threshold sequence: - condition: state entity_id: light.gostinaia_podsvetka_na_okne state: 'off' - action: light.turn_on target: entity_id: light.gostinaia_podsvetka_na_okne - alias: Пульт IKEA в Гостиной id: 94f03734-3e9f-47cd-80c6-af9f37236974 mode: restart triggers: - trigger: event event_type: zha_event event_data: device_ieee: d0:cf:5e:ff:fe:33:93:f6 actions: - alias: Set variables variables: target_lamp: light.ikea_e27_level_light_color_on_off - choose: - alias: toggle conditions: '{{ trigger.event.data.command == ''toggle'' }}' sequence: - action: light.toggle target: entity_id: '{{ target_lamp }}' - alias: step_with_on_off conditions: '{{ trigger.event.data.command == ''step_with_on_off'' }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: brightness_step: 8 - alias: move_with_on_off conditions: '{{ trigger.event.data.command == ''move_with_on_off'' }}' sequence: repeat: until: '{{ wait.trigger is not none }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: brightness_step: 8 - wait_for_trigger: trigger: event event_type: zha_event event_data: device_ieee: '{{ trigger.event.data.device_ieee }}' command: stop timeout: milliseconds: 200 - alias: step conditions: '{{ trigger.event.data.command == ''step'' }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: brightness_step: -8 - alias: move conditions: '{{ trigger.event.data.command == ''move'' }}' sequence: repeat: until: '{{ wait.trigger is not none }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: brightness_step: -8 - wait_for_trigger: trigger: event event_type: zha_event event_data: device_ieee: '{{ trigger.event.data.device_ieee }}' command: stop timeout: milliseconds: 200 - alias: press conditions: '{{ trigger.event.data.command == ''press'' }}' sequence: choose: - alias: left button conditions: '{{ (trigger.event.data.args[0] | int(0)) == 257 }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: color_temp: '{% set color_t = (state_attr(target_lamp, ''color_temp'') | int(0)) %} {{ iif ((color_t - 10) > 172, color_t - 10, 172) }}' - alias: right button conditions: '{{ (trigger.event.data.args[0] | int(0)) == 256 }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: color_temp: '{% set color_t = (state_attr(target_lamp, ''color_temp'') | int(0)) %} {{ iif ((color_t + 10 ) < 454, color_t + 10, 454) }}' - alias: hold conditions: '{{ trigger.event.data.command == ''hold'' }}' sequence: choose: - alias: left button conditions: '{{ (trigger.event.data.args[0] | int(0)) == 3329 }}' sequence: repeat: until: '{{ wait.trigger is not none }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: color_temp: '{% set color_t = (state_attr(target_lamp, ''color_temp'') | int(0)) %} {{ iif ((color_t - 10) > 172, color_t - 10, 172) }}' - wait_for_trigger: trigger: event event_type: zha_event event_data: device_ieee: '{{ trigger.event.data.device_ieee }}' command: release timeout: milliseconds: 200 - alias: right button conditions: '{{ (trigger.event.data.args[0] | int(0)) == 3328 }}' sequence: repeat: until: '{{ wait.trigger is not none }}' sequence: - action: light.turn_on target: entity_id: '{{ target_lamp }}' data: color_temp: '{% set color_t = (state_attr(target_lamp, ''color_temp'') | int(0)) %} {{ iif ((color_t + 10) < 454, color_t + 10, 454) }}' - wait_for_trigger: trigger: event event_type: zha_event event_data: device_ieee: '{{ trigger.event.data.device_ieee }}' command: release timeout: milliseconds: 200 - alias: Кнопка Xiaomi в Детской id: b1b33068-e33a-4955-94a0-80bc3b8f61fd mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:3e:fd:9e command: click id: click - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:3e:fd:9e command: hold id: hold actions: choose: - alias: Action Click conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: choose: - alias: Bulb unavailable conditions: '{{ is_state(''light.ikea_e27_detskaia'', ''unavailable'') }}' sequence: - action: light.turn_off target: entity_id: light.sonoff_zbmini_01_on_off - delay: 00:00:01 - action: light.turn_on target: entity_id: light.sonoff_zbmini_01_on_off - wait_for_trigger: - trigger: state entity_id: light.ikea_e27_detskaia to: 'on' timeout: 00:00:30 - action: light.turn_on target: entity_id: light.ikea_e27_detskaia data: brightness: 255 - alias: Relay off conditions: '{{ is_state(''light.sonoff_zbmini_01_on_off'', ''off'') }}' sequence: - action: light.turn_on target: entity_id: light.sonoff_zbmini_01_on_off - wait_for_trigger: - trigger: state entity_id: light.ikea_e27_detskaia to: 'on' timeout: 00:00:30 - action: light.turn_on target: entity_id: light.ikea_e27_detskaia data: brightness: 255 - alias: Relay on conditions: '{{ is_state(''light.sonoff_zbmini_01_on_off'', ''on'') }}' sequence: - action: light.toggle target: entity_id: light.ikea_e27_detskaia - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: light.turn_on target: entity_id: light.ikea_e27_detskaia data: transition: '0.5' brightness: "{%- if (state_attr('light.ikea_e27_detskaia', 'brightness')\ \ | int(0)) <= 3 %}\n 51\n{% elif (state_attr('light.ikea_e27_detskaia',\ \ 'brightness') | int(0)) <= 51 %}\n 102\n{% elif (state_attr('light.ikea_e27_detskaia',\ \ 'brightness') | int(0)) <= 102 %}\n 153\n{% elif (state_attr('light.ikea_e27_detskaia',\ \ 'brightness') | int(0)) <= 153 %}\n 204\n{% elif (state_attr('light.ikea_e27_detskaia',\ \ 'brightness') | int(0)) <= 204 %}\n 255\n{% elif (state_attr('light.ikea_e27_detskaia',\ \ 'brightness') | int(0)) <= 255 %}\n 3\n{% endif %}\n" - alias: Triple click conditions: '{{ trigger.event.data.args.click_type == ''triple'' }}' sequence: - action: light.turn_on target: entity_id: light.ikea_e27_detskaia data: color_temp: 270 - delay: '00:00:00.0500' - action: light.turn_on target: entity_id: light.ikea_e27_detskaia data: transition: '0.5' brightness: 255 - alias: Action Hold conditions: - condition: trigger id: hold sequence: - action: light.toggle target: entity_id: light.detskaia_podsvetka_na_okne - alias: Подсветка на окне в Детской id: 319b4fe1-b76d-459f-ac43-3187f0c9079a triggers: - trigger: numeric_state entity_id: sensor.outdoor_illuminance below: input_number.nursery_window_light_illuminance_threshold for: 00:10:00 id: dark - trigger: numeric_state entity_id: sensor.outdoor_illuminance above: input_number.nursery_window_light_illuminance_threshold for: 00:10:00 id: lightly - trigger: state entity_id: group.family_persons from: not_home to: home id: to_home conditions: '{{ is_state(''input_boolean.nursery_window_light_auto'', ''on'') }}' actions: choose: - alias: Darkens (Turn On) conditions: - condition: trigger id: dark sequence: - condition: state entity_id: light.detskaia_podsvetka_na_okne state: 'off' - action: light.turn_on target: entity_id: light.detskaia_podsvetka_na_okne - alias: Brightens (Turn Off) conditions: - or: - condition: trigger id: lightly sequence: - condition: state entity_id: light.detskaia_podsvetka_na_okne state: 'on' - action: light.turn_off target: entity_id: light.detskaia_podsvetka_na_okne - alias: Came Home conditions: - and: - condition: trigger id: to_home - condition: numeric_state entity_id: sensor.outdoor_illuminance below: input_number.nursery_window_light_illuminance_threshold sequence: - condition: state entity_id: light.detskaia_podsvetka_na_okne state: 'off' - action: light.turn_on target: entity_id: light.detskaia_podsvetka_na_okne - alias: Лампы на столе в Детской id: 2d312381-a7c3-4d33-874b-d7771d8ff178 triggers: - trigger: time at: 00:30:00 id: time_off actions: choose: - alias: Time (Turn Off) conditions: - condition: trigger id: time_off sequence: - parallel: - sequence: - condition: '{{ is_state(''light.ikea_e14_level_light_color_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.ikea_e14_level_light_color_on_off - sequence: - condition: '{{ is_state(''light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light'', ''on'') }}' - action: light.turn_off target: entity_id: light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light - alias: Sunrise Lighting (Nursery) id: d50bfe78-2e35-4870-a24c-71d0f6ebf969 triggers: - trigger: time at: input_datetime.sunrise_in_nursery conditions: - and: - condition: state entity_id: binary_sensor.workday_sensor state: 'on' - condition: sun before: sunrise before_offset: 00:30:00 - condition: state entity_id: calendar.semia_alexander_borisov_school_vacation_egor state: 'off' - condition: state entity_id: calendar.semia_alexander_borisov_school_vacation_kirill state: 'off' actions: - action: script.turn_on target: entity_id: script.sunrise_in_nursery - alias: Kids must sleep at night id: a2e4ec8e-926f-44bf-96fb-0029bd137f32 triggers: trigger: state entity_id: light.ikea_e27_detskaia to: 'on' for: minutes: 2 conditions: condition: time after: 00:00 before: 06:30 actions: - action: homeassistant.turn_off target: entity_id: light.ikea_e27_detskaia - action: notify.telegram_group_flat_1 data: message: _{{ now().strftime("%d.%m.%Y %H:%M:%S") }}_ автоматически выключен свет в детской. - alias: Кубик Aqara в Детской id: 3ac0562a-feca-479d-ba2a-4bf0cc1fe5ce mode: queued max: 5 max_exceeded: silent triggers: - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:05:29:2a:d9 actions: choose: - alias: Rotate conditions: '{{ trigger.event.data.command in (''rotate_right'', ''rotate_left'') }}' sequence: - action: light.turn_on target: entity_id: light.ikea_e14_level_light_color_on_off data: brightness: '{{ (state_attr(''light.ikea_e14_level_light_color_on_off'', ''brightness'') | int(0)) + (trigger.event.data.args.relative_degrees | int) }}' - alias: Flip conditions: '{{ trigger.event.data.command in (''flip'') }}' sequence: choose: - alias: Flip 90 conditions: '{{ (trigger.event.data.args.flip_degrees | int) == 90 }}' sequence: - action: light.toggle target: entity_id: light.ikea_e14_level_light_color_on_off data: brightness: 255 - alias: Люстра в Кладовой id: 4144c0c9-bd8e-4ed4-a6f4-42cf9d5b6228 mode: queued max: 3 max_exceeded: silent triggers: - trigger: state entity_id: binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off id: magnet - trigger: state entity_id: binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone id: motion - trigger: state entity_id: timer.storeroom_light id: timer actions: choose: - alias: Magnet conditions: - condition: trigger id: magnet sequence: choose: - alias: To On conditions: '{{ trigger.from_state.state == ''off'' and trigger.to_state.state == ''on'' }}' sequence: - action: light.turn_on target: entity_id: light.sonoff_1000b6831b - action: timer.start target: entity_id: timer.storeroom_light - alias: To Off conditions: '{{ trigger.from_state.state == ''on'' and trigger.to_state.state == ''off'' }}' sequence: - action: timer.finish target: entity_id: timer.storeroom_light - alias: Motion conditions: - condition: trigger id: motion sequence: choose: - alias: To On conditions: '{{ trigger.to_state.state == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.storeroom_light - condition: state entity_id: light.sonoff_1000b6831b state: 'off' - action: light.turn_on target: entity_id: light.sonoff_1000b6831b - alias: To Off conditions: '{{ trigger.to_state.state == ''off'' }}' sequence: choose: - alias: Door closed conditions: '{{ is_state(''binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off'', ''off'') }}' sequence: - action: light.turn_off target: entity_id: light.sonoff_1000b6831b - alias: Door opened conditions: '{{ is_state(''binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off'', ''on'') }}' sequence: - action: timer.finish target: entity_id: timer.storeroom_light - alias: Timer conditions: - condition: trigger id: timer sequence: choose: conditions: '{{ trigger.to_state.state == ''idle'' }}' sequence: choose: - alias: Motion On conditions: '{{ states(''binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.storeroom_light - alias: Motion Off conditions: '{{ states(''binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone'') == ''off'' }}' sequence: - action: light.turn_off target: entity_id: light.sonoff_1000b6831b - alias: Свет в Туалете id: 7fa56654-f362-4f13-97ca-9d8e4ff52ccb mode: queued max: 10 max_exceeded: silent triggers: - trigger: state entity_id: timer.toilet_presence to: idle id: timer_idle - trigger: state entity_id: binary_sensor.lumi_lumi_sensor_magnet_9bef9603_on_off id: magnet - trigger: state entity_id: binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone to: 'on' id: motion_on - trigger: state entity_id: binary_sensor.0xa4c138b96f4627bc_presence to: 'on' id: presence_on - trigger: event event_type: zha_event event_data: device_ieee: 00:15:8d:00:03:d1:5d:00 command: click id: click actions: choose: - alias: Timer Idle conditions: - condition: trigger id: timer_idle sequence: choose: - alias: Presence On conditions: '{{ states(''binary_sensor.0xa4c138b96f4627bc_presence'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.bathroom_presence - alias: Motion On conditions: '{{ states(''binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone'') == ''on'' }}' sequence: - action: timer.start target: entity_id: timer.toilet_presence - alias: Motion Off conditions: '{{ states(''binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone'') == ''off'' }}' sequence: choose: - alias: Motion detected > 2 min ago conditions: '{{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone.last_changed)) > 120 }}' sequence: - parallel: - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_03_on_off - sequence: - condition: '{{ is_state(''fan.toilet_extractor'', ''on'') }}' - action: fan.turn_off target: entity_id: fan.toilet_extractor - alias: Motion detected <= 2 min ago conditions: '{{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone.last_changed)) <= 120 }}' sequence: - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_03_on_off - delay: seconds: 0.3 - action: light.turn_on target: entity_id: light.sonoff_zbmini_03_on_off - wait_template: '{{ is_state(''binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone'', ''on'') }}' timeout: 00:00:30 - if: - '{{ not wait.completed }}' then: - parallel: - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_03_on_off - sequence: - condition: '{{ is_state(''fan.toilet_extractor'', ''on'') }}' - action: fan.turn_off target: entity_id: fan.toilet_extractor - alias: Magnet conditions: - condition: trigger id: magnet sequence: choose: - alias: To On conditions: '{{ trigger.from_state.state == ''off'' and trigger.to_state.state == ''on'' }}' sequence: - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''off'') }}' - action: light.turn_on target: entity_id: light.sonoff_zbmini_03_on_off - action: timer.start target: entity_id: timer.toilet_presence - alias: To Off conditions: '{{ trigger.from_state.state == ''on'' and trigger.to_state.state == ''off'' }}' sequence: - condition: '{{ is_state(''binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone'', ''off'') }}' - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''on'') }}' - action: light.turn_off target: entity_id: light.sonoff_zbmini_03_on_off - condition: '{{ is_state(''fan.toilet_extractor'', ''on'') }}' - action: fan.turn_off target: entity_id: fan.toilet_extractor - alias: Presence conditions: - condition: trigger id: presence_on sequence: - action: timer.start target: entity_id: timer.bathroom_presence - alias: Motion conditions: - condition: trigger id: motion_on sequence: - action: timer.start target: entity_id: timer.toilet_presence - parallel: - sequence: - condition: '{{ is_state(''fan.toilet_extractor'', ''off'') }}' - action: fan.turn_on target: entity_id: fan.toilet_extractor - sequence: - condition: '{{ is_state(''light.sonoff_zbmini_03_on_off'', ''off'') }}' - action: light.turn_on target: entity_id: light.sonoff_zbmini_03_on_off - alias: Button conditions: - condition: trigger id: click sequence: choose: - alias: Single click conditions: '{{ trigger.event.data.args.click_type == ''single'' }}' sequence: - action: light.toggle target: entity_id: light.sonoff_zbmini_03_on_off - action: fan.toggle target: entity_id: fan.toilet_extractor - alias: Double click conditions: '{{ trigger.event.data.args.click_type == ''double'' }}' sequence: - action: fan.toggle target: entity_id: fan.toilet_extractor - alias: New Year Light [Scheduled] id: 63ea7cdd-f8bc-4a4d-b3ce-72fc493e7392 triggers: - trigger: time at: input_datetime.new_year_illumination_on id: 'on' - trigger: time at: input_datetime.new_year_illumination_off id: 'off' actions: choose: - conditions: '{{ trigger.id == ''on'' }}' sequence: - action: scene.turn_on target: entity_id: scene.new_year_light_on - conditions: '{{ trigger.id == ''off'' }}' sequence: - if: '{{ states("sensor.date")[-5:] != "01-01" }}' then: - action: scene.turn_on target: entity_id: scene.new_year_light_off - alias: New Year Light [Home Presence] id: e0299715-bb22-4667-b4ad-7cf0b72bd433 triggers: - trigger: state entity_id: group.family_persons from: not_home to: home id: home - trigger: state entity_id: group.family_persons to: not_home for: minutes: 5 id: not_home actions: choose: - conditions: '{{ trigger.id == ''home'' }}' sequence: - action: scene.turn_on target: entity_id: scene.new_year_light_on - conditions: '{{ trigger.id == ''not_home'' }}' sequence: - action: scene.turn_on target: entity_id: scene.new_year_light_off - alias: Radio - Selected Name to URL id: 113d01d2-80b9-4a5e-9745-ad34cb66ea4d triggers: - trigger: homeassistant event: start - trigger: state entity_id: input_select.radio_station actions: - action: input_text.set_value target: entity_id: input_text.radio_url_to_play data: value: "{% if is_state(\"input_select.radio_station\", \"Радио Jazz\") -%}\n\ \ http://nashe1.hostingradio.ru/jazz-128.mp3\n{% elif is_state(\"input_select.radio_station\"\ , \"Monte Carlo\") -%}\n http://montecarlo.hostingradio.ru/montecarlo128.mp3\n\ {% elif is_state(\"input_select.radio_station\", \"Monte Carlo Lounge\") -%}\n\ \ http://stream.zeno.fm/953wvvz4gseuv\n{% elif is_state(\"input_select.radio_station\"\ , \"Наше Радио\") -%}\n http://nashe5.hostingradio.ru/nashe-128.mp3\n{% elif\ \ is_state(\"input_select.radio_station\", \"ENERGY\") -%}\n http://ic2.101.ru:8000/v1_1\n\ {% elif is_state(\"input_select.radio_station\", \"Русское Радио\") -%}\n\ \ http://rusradio.hostingradio.ru/rusradio128.mp3\n{% elif is_state(\"input_select.radio_station\"\ , \"Maximum\") -%}\n http://maximum.hostingradio.ru/maximum128.mp3\n{% elif\ \ is_state(\"input_select.radio_station\", \"Детское Радио\") -%}\n http://ic7.101.ru:8000/a199\n\ {% elif is_state(\"input_select.radio_station\", \"Детское Радио (Старое радио)\"\ ) -%}\n http://195.91.237.50:8000/detskoe128\n{% endif %}" - alias: Radio - Selected Name to Device id: fda46b3d-2b94-4aeb-b58d-69d537756cd5 triggers: - trigger: homeassistant event: start - trigger: state entity_id: input_select.output_device action: - action: input_text.set_value target: entity_id: input_text.output_device_to_play data: value: "{% if is_state(\"input_select.output_device\", \"Гостинная (TV)\") -%}\n\ \ media_player.gostinaia\n{% elif is_state(\"input_select.output_device\"\ , \"Детская (TV)\") -%}\n media_player.detskaia\n{% elif is_state(\"input_select.output_device\"\ , \"Ванная (Home Mini)\") -%}\n media_player.mini_v_vannoi\n{% elif is_state(\"\ input_select.output_device\", \"Гостинная (Яндекс)\") -%}\n media_player.yandex_station_mini2_gostinaia\n\ {% elif is_state(\"input_select.output_device\", \"Спальня (Яндекс)\") -%}\n\ \ media_player.yandex_station_mini2_spalnia\n{% elif is_state(\"input_select.output_device\"\ , \"Детская (Яндекс)\") -%}\n media_player.yandex_station_lite_detskaia\n\ {% endif %}" - alias: Radio - Volume Control id: a5915a17-ec28-4adf-a3c3-6ac08f71d11f triggers: trigger: state entity_id: input_number.volume_radio actions: action: media_player.volume_set target: entity_id: '{{ states(''input_text.output_device_to_play'') }}' data: volume_level: '{{ states(''input_number.volume_radio'') }}' - alias: Samsung TV ue43ru7470 Turn On triggers: - trigger: samsungtv.turn_on entity_id: media_player.ue43ru7470 actions: - action: wake_on_lan.send_magic_packet data: mac: 8c:79:f5:51:2f:d1 - alias: Samsung TV ue32es5500 Turn On triggers: - trigger: samsungtv.turn_on entity_id: media_player.ue32es5500 actions: - action: shell_command.chromecast_tv_on data: ip_addr: 172.16.16.194 - alias: Samsung TV ue46es5507 Turn On triggers: - trigger: samsungtv.turn_on entity_id: media_player.ue46es5507 actions: - action: shell_command.chromecast_tv_on data: ip_addr: 172.16.16.211 - alias: 'Scene: Children go to Bed' id: 4ecf7cf0-fc2e-4769-9d95-548dc4d52ba2 mode: restart triggers: - trigger: event event_type: yandex_intent event_data: text: Дети ложатся спать id: sleep actions: choose: - alias: Go to Bed conditions: - condition: trigger id: sleep sequence: - action: scene.turn_on target: entity_id: scene.children_go_to_bed data: transition: 2 - action: script.turn_off target: entity_id: script.nursery_alice_stop_watchdog_1h - wait_for_trigger: - trigger: state entity_id: media_player.yandex_station_lite_detskaia to: - 'off' - paused timeout: 01:00:00 continue_on_timeout: false - action: script.turn_on target: entity_id: script.nursery_alice_stop_watchdog_1h - alias: Sync Shopping List with Yandex id: 930a85ab-d531-42e7-a1a6-86bdfe0a628f mode: single max_exceeded: silent triggers: - trigger: time_pattern minutes: '35' id: time - trigger: event event_type: shopping_list_updated id: event - trigger: state entity_id: - person.alexander - person.irina to: not_home id: state actions: - wait_template: '{{ is_state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''alice_state'', ''IDLE'') }}' - if: - alias: Event trigger condition: trigger id: event then: - delay: 00:05:00 - if: - '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''volume_level'') != 0.1 }}' then: - repeat: sequence: - action: media_player.volume_set target: entity_id: media_player.yandex_station_lite_prikhozhaya data: volume_level: 0.1 - wait_template: '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''volume_level'') == 0.1 }}' timeout: 00:00:01 until: - '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''volume_level'') == 0.1 }}' - '{{ repeat.index <= 3 }}' - if: - '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''is_volume_muted'') != true }}' then: - repeat: sequence: - action: media_player.volume_mute target: entity_id: media_player.yandex_station_lite_prikhozhaya data: is_volume_muted: true - wait_template: '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''is_volume_muted'') == true }}' timeout: 00:00:01 until: - '{{ state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''is_volume_muted'') == true }}' - '{{ repeat.index <= 3 }}' - delay: 00:00:01 - action: media_player.play_media target: entity_id: media_player.yandex_station_lite_prikhozhaya data: media_content_id: update media_content_type: shopping_list - delay: 00:00:03 - wait_template: '{{ is_state_attr(''media_player.yandex_station_lite_prikhozhaya'', ''alice_state'', ''LISTENING'') }}' - action: media_player.volume_mute target: entity_id: media_player.yandex_station_lite_prikhozhaya data: is_volume_muted: false - alias: Планшет в Прихожей - включение экрана id: d8f01254-9cde-41a8-b35a-f296621d3ac9 mode: queued max: 5 max_exceeded: silent triggers: - trigger: state entity_id: light.sonoff_1000f2f14a not_to: - unavailable - unknown not_from: - unavailable - unknown actions: choose: - alias: To On conditions: '{{ trigger.from_state.state == ''off'' and trigger.to_state.state == ''on'' }}' sequence: - action: switch.turn_on target: entity_id: switch.galaxy_tab_a_8_0_2019_screen - action: media_player.volume_set target: entity_id: media_player.galaxy_tab_a_8_0_2019 data: volume_level: "{% if is_state('binary_sensor.time_between_21_08','off')\ \ -%}\n 0.8\n{% else -%}\n 0.3\n{% endif -%}" - alias: To Off conditions: '{{ trigger.from_state.state == ''on'' and trigger.to_state.state == ''off'' }}' sequence: - action: switch.turn_off target: entity_id: switch.galaxy_tab_a_8_0_2019_screen - action: media_player.volume_set target: entity_id: media_player.galaxy_tab_a_8_0_2019 data: volume_level: 0 - action: fully_kiosk.load_url target: device_id: 41638a8b36f2ac6228aed99d142fd286 data: url: about:blank - alias: Планшет в Прихожей - поддержание заряда id: 82fb6789-4385-44cc-b721-90b892063447 max_exceeded: silent triggers: - trigger: numeric_state entity_id: - sensor.galaxy_tab_a_8_0_2019_battery - sensor.sm_t295_hallway_battery_level below: 30 for: minutes: 5 id: low - trigger: numeric_state entity_id: - sensor.galaxy_tab_a_8_0_2019_battery - sensor.sm_t295_hallway_battery_level above: 80 for: minutes: 5 id: hight actions: choose: - alias: Battery Low conditions: - condition: trigger id: low sequence: - condition: '{{ is_state(''switch.sonoff_mini_r2_02_switch'', ''off'') }}' - action: switch.turn_on target: entity_id: switch.sonoff_mini_r2_02_switch - alias: Battery Charged conditions: - condition: trigger id: hight sequence: - condition: '{{ is_state(''switch.sonoff_mini_r2_02_switch'', ''on'') }}' - action: switch.turn_off target: entity_id: switch.sonoff_mini_r2_02_switch - alias: 'Sonoff Dongles: Persistent Notifications' id: 2f4e6840-deb7-4629-80f1-8a34347e64e0 mode: queued max: 5 triggers: - trigger: state entity_id: binary_sensor.sonoff_dongle_e_usb_stick_exist not_from: - unavailable - unknown id: e - trigger: state entity_id: binary_sensor.sonoff_dongle_p_usb_stick_exist not_from: - unavailable - unknown id: p actions: - choose: - conditions: '{{ trigger.id == ''e'' }}' sequence: - choose: - conditions: '{{ trigger.to_state.state == ''off'' }}' sequence: - action: persistent_notification.create data: title: Sonoff ZBDongle-E Disconnected message: 'Sonoff ZBDongle-E **отключен** от VM, недоступны все устройства интеграции **ZHA**. ' notification_id: zbe_disconnected - conditions: '{{ trigger.to_state.state == ''on'' }}' sequence: - action: persistent_notification.dismiss data: notification_id: zbe_disconnected - action: persistent_notification.create data: title: Sonoff ZBDongle-E Connected message: 'Sonoff ZBDongle-E **подключен**, проверьте работу **ZHA** и **Multiprotocol Add-on**. ' notification_id: zbe_connected - conditions: '{{ trigger.id == ''p'' }}' sequence: - choose: - conditions: '{{ trigger.to_state.state == ''off'' }}' sequence: - action: persistent_notification.create data: title: Sonoff ZBDongle-P Disconnected message: 'Sonoff ZBDongle-P **отключен** от VM, недоступны все устройства **Zigbee2MQTT**. ' notification_id: zbp_disconnected - conditions: '{{ trigger.to_state.state == ''on'' }}' sequence: - action: persistent_notification.dismiss data: notification_id: zbp_disconnected - action: persistent_notification.create data: title: Sonoff ZBDongle-P Connected message: 'Sonoff ZBDongle-P **подключен**, проверьте работу **Zigbee2MQTT**. ' notification_id: zbp_connected - alias: 'Sonoff Dongles: Attach USB Stick to HA VM' id: 165f7294-7880-4aaf-955c-d5f301bb1e72 mode: parallel max: 5 triggers: - trigger: state entity_id: binary_sensor.sonoff_dongle_e_usb_stick_exist to: 'off' id: e - trigger: state entity_id: binary_sensor.sonoff_dongle_p_usb_stick_exist to: 'off' id: p actions: - choose: - conditions: '{{ trigger.id == ''e'' }}' sequence: - parallel: - action: telegram_bot.send_message data: target: secret tlg_group_system title: '*Внимание*' message: 'Sonoff Dongle E отключен от VM, будет запущен процесс автоматического подключения. ' - repeat: sequence: - action: shell_command.attach_sonoff_dongle_e_to_ha_vm - delay: 00:03:00 until: - condition: state entity_id: binary_sensor.sonoff_dongle_e_usb_stick_exist state: 'on' - conditions: '{{ trigger.id == ''p'' }}' sequence: - parallel: - action: telegram_bot.send_message data: target: secret tlg_group_system title: '*Внимание*' message: 'Sonoff Dongle P отключен от VM, будет запущен процесс автоматического подключения. ' - repeat: sequence: - action: shell_command.attach_sonoff_dongle_p_to_ha_vm - delay: 00:03:00 until: - condition: state entity_id: binary_sensor.sonoff_dongle_p_usb_stick_exist state: 'on' - alias: 'Sonoff Dongles: USB Stick Attached to HA VM' id: cc1601bd-a416-4fb1-9af9-4a436b7557e9 mode: queued max: 5 triggers: - trigger: state entity_id: binary_sensor.sonoff_dongle_e_usb_stick_exist from: 'off' to: 'on' id: e - trigger: state entity_id: binary_sensor.sonoff_dongle_p_usb_stick_exist from: 'off' to: 'on' id: p actions: - choose: - conditions: '{{ trigger.id == ''e'' }}' sequence: - action: telegram_bot.send_message data: target: secret tlg_group_system title: '*Внимание*' message: 'Sonoff Dongle E подключен. ' inline_keyboard: - Перезапустить HA:/sd_ha_restart, Перезагрузить VM:/sd_vm_reboot - conditions: '{{ trigger.id == ''p'' }}' sequence: - action: telegram_bot.send_message data: target: secret tlg_group_system title: '*Внимание*' message: 'Sonoff Dongle P подключен. ' inline_keyboard: - Перезапустить HA:/sd_ha_restart, Перезагрузить VM:/sd_vm_reboot - alias: Sonoff Dongles - Restart HA id: a5621d7e-91e5-4f14-a6b2-80c774d415ac triggers: trigger: event event_type: telegram_callback event_data: data: /sd_ha_restart actions: - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - action: homeassistant.restart - alias: Sonoff Dongles - Reboot VM id: 08dfe08a-3901-46f3-b16a-e807edf80986 triggers: trigger: event event_type: telegram_callback event_data: data: /sd_vm_reboot actions: - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - action: hassio.host_reboot - alias: Оповещение о начале уборки id: 61fb954b-3450-4fc6-9848-cc5304b54a16 triggers: trigger: state entity_id: vacuum.xiaomi_vacuum_cleaner to: cleaning conditions: condition: template value_template: '{{ trigger.from_state.state = ''unavailable''}} ' actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: '_Mi Robot_: начал уборку.' inline_keyboard: - Остановить:/vacuum_stop, На базу:/vacuum_go_home - alias: Vacuum - Telegram Control - Stop id: 78e4ee4f-d0d7-4d23-9e3c-4ec125f19400 triggers: trigger: event event_type: telegram_callback event_data: data: /vacuum_stop actions: - action: vacuum.pause target: entity_id: vacuum.xiaomi_vacuum_cleaner - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: '_Mi Robot_: начал уборку. Уборка остановлена. ' inline_keyboard: - На базу:/vacuum_go_home - alias: Vacuum - Telegram Control - Go to Base id: 0b1fd434-4044-4ce7-ab8a-262d6250407a triggers: trigger: event event_type: telegram_callback event_data: data: /vacuum_go_home actions: - action: vacuum.pause target: entity_id: vacuum.xiaomi_vacuum_cleaner - delay: 1 - action: vacuum.return_to_base target: entity_id: vacuum.xiaomi_vacuum_cleaner - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: '_Mi Robot_: начал уборку. Уборка остановлена, робот отправлен на базу. ' - alias: Оповещение о возращении пылесоса на базу [notify to group flat] id: 68311ec4-1030-4d7d-a2ea-e9cb21f7f40c triggers: trigger: state entity_id: vacuum.xiaomi_vacuum_cleaner to: docked conditions: condition: template value_template: '{{ trigger.from_state.state = ''unavailable''}} ' actions: - action: notify.telegram_group_flat_1 data: message: '_Mi Robot_: вернулся на базу (закончил уборку).' - alias: Оповещение о забытом пылесосе [notify to group flat] id: db76ec80-b5d6-4991-8a6c-9272b25c1a39 triggers: trigger: state entity_id: vacuum.xiaomi_vacuum_cleaner to: idle for: minutes: 15 actions: - action: notify.telegram_group_flat_1 data: message: '_Mi Robot_: потерялся и бездельничает, отправляем на базу.' - action: vacuum.return_to_base target: entity_id: vacuum.xiaomi_vacuum_cleaner - alias: Оповещение об ошибке [notify to group flat] id: fe6bb5c1-f886-4161-bad7-4bf04be83258 triggers: trigger: state entity_id: vacuum.xiaomi_vacuum_cleaner to: error conditions: condition: template value_template: '{{ trigger.from_state.state = ''unavailable''}} ' actions: - action: notify.telegram_group_flat_1 data: message: '_Mi Robot_: Произошла *ошибка* {{ state_attr(''vacuum.xiaomi_vacuum_cleaner'', "error") }} ' - alias: Ежедневная уборка по будням [утро] id: 67acac52-bf44-4661-9140-2e40f0006175 triggers: trigger: state entity_id: group.family_persons to: not_home for: minutes: 20 conditions: - and: - condition: time after: 08:30:00 before: '10:30:00' weekday: - mon - tue - wed - thu - fri - condition: template value_template: '{{ now().day = states.automation.ezhednevnaia_uborka_po_budniam_utro.attributes.last_triggered.day | default(0) }}' actions: - action: vacuum.set_fan_speed target: entity_id: vacuum.xiaomi_vacuum_cleaner data: fan_speed: Turbo - action: vacuum.start target: entity_id: vacuum.xiaomi_vacuum_cleaner - alias: Регулярная уборка прихожей id: 6c64060c-0a65-4caf-8064-1d5cdfea50a3 triggers: trigger: state entity_id: binary_sensor.0x158d00031c790f_contact from: 'on' to: 'off' conditions: - and: - condition: time after: 09:30:00 before: '21:30:00' - condition: template value_template: '{{ (as_timestamp(now())-(as_timestamp(state_attr("automation.reguliarnaia_uborka_prikhozhei", "last_triggered")))>480) }}' - or: - condition: state entity_id: vacuum.xiaomi_vacuum_cleaner state: docked - condition: state entity_id: vacuum.xiaomi_vacuum_cleaner state: idle actions: - action: script.turn_on target: entity_id: script.start_vacuum_hallway_by_door_sensor - alias: Set cleaning mode id: 8fef5cc1-030e-4549-91b4-ffe25207672c triggers: trigger: state entity_id: input_select.vacuum_power actions: - action: "{% if trigger.to_state.state == 'Silent' %}\n script.set_vacuum_power_silent\n\ {% elif trigger.to_state.state == 'Standard' %}\n script.set_vacuum_power_standard\n\ {% elif trigger.to_state.state == 'Medium' %}\n script.set_vacuum_power_medium\n\ {% elif trigger.to_state.state == 'Turbo' %}\n script.set_vacuum_power_turbo\n\ {% elif trigger.to_state.state == 'Gentle' %}\n script.set_vacuum_power_gentle\n\ {% endif %}\n" - alias: Wakeup Radio - Childrens id: 75d1f4fc-c40b-433a-b6bc-ed480b53365e triggers: trigger: time at: input_datetime.wakeup_radio_in_nursery conditions: - condition: state entity_id: binary_sensor.workday_sensor state: 'on' - condition: state entity_id: calendar.semia_alexander_borisov_school_vacation_egor state: 'off' - condition: state entity_id: calendar.semia_alexander_borisov_school_vacation_kirill state: 'off' actions: - if: - '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''volume_level'') != 0.1 }}' then: - repeat: sequence: - action: media_player.volume_set target: entity_id: media_player.yandex_station_lite_detskaia data: volume_level: 0.1 - wait_template: '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''volume_level'') == 0.1 }}' timeout: 00:00:01 until: - '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''volume_level'') == 0.1 }}' - '{{ repeat.index <= 3 }}' - if: - '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''is_volume_muted'') != true }}' then: - repeat: sequence: - action: media_player.volume_mute target: entity_id: media_player.yandex_station_lite_detskaia data: is_volume_muted: true - wait_template: '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''is_volume_muted'') == true }}' timeout: 00:00:01 until: - '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''is_volume_muted'') == true }}' - '{{ repeat.index <= 3 }}' - delay: 00:00:01 - action: yandex_station.send_command target: entity_id: media_player.yandex_station_lite_detskaia data: command: sendText text: Включи {{ states('input_text.wakeup_radio_in_nursery_query') }} - delay: 00:00:10 - if: - '{{ state_attr(''media_player.yandex_station_lite_detskaia'', ''volume_level'') != 0.1 }}' then: - action: media_player.volume_set target: entity_id: media_player.yandex_station_lite_detskaia data: volume_level: '0.1' - alias: Volume Up 4 times repeat: while: - condition: template value_template: '{{ repeat.index <= 4 }}' sequence: - delay: 00:03:00 - action: media_player.volume_up target: entity_id: media_player.yandex_station_lite_detskaia - action: yandex_station.send_command target: entity_id: media_player.yandex_station_lite_detskaia data: command: sendText text: Повтори за мной 'Доброе утро дети, пора вставать!' - alias: Water Leak Detected id: 2eb96392-3d8a-41b7-87f2-7c6e5c5b6232 triggers: trigger: state entity_id: - binary_sensor.neptun_water_leakage - binary_sensor.0x158d000400e77d_moisture - binary_sensor.0x158d0004030d84_moisture - binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone from: 'off' to: 'on' actions: - action: script.turn_on target: entity_id: script.water_valves_close - alias: Catch Neptun Activated id: 0e013823-d5f8-4362-b7aa-2be3c25da064 mode: queued triggers: trigger: state entity_id: binary_sensor.lumi_lumi_sensor_magnet_opening from: 'on' to: 'off' for: 00:00:05 conditions: condition: state entity_id: input_boolean.neptun_activated state: 'off' actions: - action: input_boolean.turn_on target: entity_id: input_boolean.neptun_activated - alias: Catch Neptun DeActivated id: f17481ec-0be2-4774-b2cb-53fffab68781 mode: queued triggers: trigger: state entity_id: switch.sonoff_1000b68886 from: 'off' to: 'on' conditions: condition: state entity_id: input_boolean.neptun_activated state: 'on' actions: - action: input_boolean.turn_off target: entity_id: input_boolean.neptun_activated - alias: Restart Neptun [twice a month] id: 896b9256-93fc-41d2-8ffc-a4c6503f62e0 triggers: - trigger: time at: '11:00:00' conditions: - and: - condition: time weekday: mon - condition: template value_template: '{{ (as_timestamp(now())|timestamp_custom (''%W'') | int % 2) == 1 }}' actions: - action: switch.turn_off target: entity_id: switch.sonoff_1000b68886 - delay: 5 - action: switch.turn_on target: entity_id: switch.sonoff_1000b68886 - action: notify.telegram_group_flat_1 data: message: '_INFO:_ Нептун был перезапущен. ' - alias: PowerOff Valves After 60 Seconds id: ac6042cd-ab15-4ff2-a0ed-9f873830d221 triggers: - trigger: state entity_id: - switch.rele_aqara_vodoprovodnye_krany_l1 - switch.rele_aqara_vodoprovodnye_krany_l2 to: 'on' for: 00:01:00 actions: action: switch.turn_off target: entity_id: '{{ trigger.entity_id }}' - alias: Valves Relay Software Interlock id: f16be388-8c31-43d0-905b-d9c31968414c triggers: - trigger: state entity_id: switch.rele_aqara_vodoprovodnye_krany_l1 to: 'on' id: open - trigger: state entity_id: switch.rele_aqara_vodoprovodnye_krany_l2 to: 'on' id: close actions: - choose: - alias: open_channel_to_on conditions: - condition: trigger id: open sequence: - if: - '{{ is_state(''switch.rele_aqara_vodoprovodnye_krany_l2'', ''on'') }}' then: - action: switch.turn_off target: entity_id: switch.rele_aqara_vodoprovodnye_krany_l2 - alias: close_channel_to_on conditions: - condition: trigger id: close sequence: - if: - '{{ is_state(''switch.rele_aqara_vodoprovodnye_krany_l1'', ''on'') }}' then: - action: switch.turn_off target: entity_id: switch.rele_aqara_vodoprovodnye_krany_l1 - alias: Оповещения об активации датчиков [notify to group flat] id: 54d437ce-2ec6-4779-93cb-3f36fe99b44c triggers: - trigger: state entity_id: binary_sensor.neptun_water_leakage to: 'on' id: neptun_on - trigger: state entity_id: binary_sensor.0x158d000400e77d_moisture from: 'off' to: 'on' id: aqara_storeroom_on - trigger: state entity_id: binary_sensor.0x158d0004030d84_moisture from: 'off' to: 'on' id: aqara_under_bath_on - trigger: state entity_id: binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone from: 'off' to: 'on' id: aqara_03_near_door actions: - choose: - alias: neptun_on conditions: - condition: trigger id: neptun_on sequence: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Сработал датчик протечки *Нептун*. Водопроводные краны перекрыты Необходимо проверить Кухню, Ванную, Туалет, Кладовую. ' inline_keyboard: - Открыть краны:/water_valves_open - alias: aqara_storeroom_on conditions: - condition: trigger id: aqara_storeroom_on sequence: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Сработал датчик протечки Aqara в *Кладовой*. Водопроводные краны перекрыты Необходимо проверить наличие воды за стиральной машиной. ' inline_keyboard: - Открыть краны:/water_valves_open - alias: aqara_under_bath_on conditions: - condition: trigger id: aqara_under_bath_on sequence: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Сработал датчик протечки Aqara в *Ванной*. Водопроводные краны перекрыты Необходимо проверить наличие воды *слева под ванной*. ' inline_keyboard: - Открыть краны:/water_valves_open - alias: aqara_03_near_door conditions: - condition: trigger id: aqara_03_near_door sequence: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Сработал датчик протечки Aqara в *Ванной*. Водопроводные краны перекрыты Необходимо проверить наличие воды *рядом с ванной, справа*. ' inline_keyboard: - Открыть краны:/water_valves_open - alias: Оповещение о деактивации Нептуна [notify to group flat] id: 344fff46-b0f1-41c3-b6e7-6386b5bc1256 triggers: trigger: state entity_id: binary_sensor.neptun_water_leakage to: 'off' actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 message: Нептун деактивирован. - alias: Оповещение об отключенном Нептуне (>2 мин) id: 1a017a47-40b1-4315-892e-36760a8e86ec triggers: trigger: state entity_id: switch.sonoff_1000b68886 to: 'off' for: 00:02:00 actions: - action: telegram_bot.send_message data: target: secret tlg_group_flat_1 title: '*Внимание*' message: 'Питание контроллера Нептун отключено более 2х минут ' inline_keyboard: - Включить:/neptune_poweron - alias: Neptune - Telegram Control - Open id: d42cd9f6-1a89-4116-8348-d99970407b75 triggers: trigger: event event_type: telegram_callback event_data: data: /neptune_poweron actions: - action: switch.turn_on target: entity_id: switch.sonoff_1000b68886 - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_message data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' message: 'Питание контроллера Нептун отключено более 2х минут Нептун включен. ' - alias: Water Valves - Telegram Control - Open id: b5321723-bc10-4146-88a5-7080d0fe70a8 triggers: trigger: event event_type: telegram_callback event_data: data: /water_valves_open actions: - action: script.turn_on target: entity_id: script.water_valves_open - action: telegram_bot.answer_callback_query data: callback_query_id: '{{ trigger.event.data.id }}' message: Команда отправлена - action: telegram_bot.edit_replymarkup data: message_id: '{{ trigger.event.data.message.message_id }}' chat_id: '{{ trigger.event.data.chat_id }}' inline_keyboard: [] - alias: Wait for script.water_valves_open to stop wait_for_trigger: - trigger: state entity_id: script.water_valves_open from: 'on' to: 'off' timeout: 00:00:40 continue_on_timeout: false - action: telegram_bot.send_message data: target: '{{ trigger.event.data.chat_id }}' message: Водопроводные краны открыты. - alias: Update Saures Sensors after HA Start id: c0192c64-d64b-45b6-ab2e-91170c12f591 triggers: - trigger: homeassistant event: start actions: - wait_template: '{{ has_value(''sensor.saures_api_sid'') }}' - action: homeassistant.update_entity target: entity_id: sensor.saures_controller_1113513_battery - alias: Ya Music - Selected Name to Device id: 2a16fa66-67a7-4960-95b0-9b766528f44d triggers: - trigger: homeassistant event: start - trigger: state entity_id: input_select.yandex_station_start_stream_to actions: - action: input_text.set_value target: entity_id: input_text.yandex_station_device_to_play data: value: "{% if is_state(\"input_select.yandex_station_start_stream_to\", \"Ванная\ \ (Home Mini)\") -%}\n Мини в Ванной\n{% elif is_state(\"input_select.yandex_station_start_stream_to\"\ , \"Гостинная (Яндекс)\") -%}\n media_player.yandex_station_mini2_gostinaia\n\ {% elif is_state(\"input_select.yandex_station_start_stream_to\", \"Спальня\ \ (Яндекс)\") -%}\n media_player.yandex_station_mini2_spalnia\n{% elif is_state(\"\ input_select.yandex_station_start_stream_to\", \"Детская (Яндекс)\") -%}\n\ \ media_player.yandex_station_lite_detskaia\n{% endif %}" - alias: Ya Music - Volume Control id: 0303b471-3e9c-436a-84c0-cc5784eee706 triggers: trigger: state entity_id: input_number.volume_ya_music actions: - if: - '{{ ''Мини в Ванной'' in states(''input_text.yandex_station_device_to_play'') }}' then: - action: media_player.volume_set target: entity_id: media_player.mini_v_vannoi data: volume_level: '{{ states(''input_number.volume_ya_music'') }}' else: - action: media_player.volume_set target: entity_id: '{{ states(''input_text.yandex_station_device_to_play'') }}' data: volume_level: '{{ states(''input_number.volume_ya_music'') }}' - alias: Синхронизация состояния Алисы в Прихожей с Мини в Ванной id: 82c05e64-0259-4f54-8d17-952d241ef34e triggers: - trigger: state entity_id: media_player.mini_v_vannoi from: playing to: 'off' conditions: condition: state entity_id: media_player.yandex_station_lite_prikhozhaya state: playing actions: - action: media_player.media_pause target: entity_id: media_player.yandex_station_lite_prikhozhaya - delay: 00:00:01 - action: media_player.select_source target: entity_id: media_player.yandex_station_lite_prikhozhaya data: source: Станция - alias: Stop Yandex Station triggers: - trigger: event event_type: yandex_intent event_data: text: Выключи колонку в детской id: nursery - trigger: event event_type: yandex_intent event_data: text: Выключи колонку в гостиной id: livingroom - trigger: event event_type: yandex_intent event_data: text: Выключи колонку на кухне id: livingroom - trigger: event event_type: yandex_intent event_data: text: Выключи колонку в спальне id: bedroom - trigger: event event_type: yandex_intent event_data: text: Выключи колонку в прихожей id: hallway actions: - choose: - conditions: '{{ trigger.id == ''nursery'' }}' sequence: - action: media_player.turn_off target: entity_id: media_player.yandex_station_lite_detskaia - conditions: '{{ trigger.id == ''livingroom'' }}' sequence: - action: media_player.turn_off target: entity_id: media_player.yandex_station_mini2_gostinaia - conditions: '{{ trigger.id == ''bedroom'' }}' sequence: - action: media_player.turn_off target: entity_id: media_player.yandex_station_mini2_spalnia - conditions: '{{ trigger.id == ''hallway'' }}' sequence: - action: media_player.turn_off target: entity_id: media_player.yandex_station_lite_prikhozhaya