[ { "id": "AUT-Notify_Home_Connect_Entity_Finish_Testing", "automation": "- alias: AUT-Notify home connect entity finish(Testing)\n id: AUT-Notify_Home_Connect_Entity_Finish_Testing\n description: 'Testing automation that logs all Home Connect events except those\n that already have specific handling. This helps in discovering and debugging new\n events.\n\n '\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: home_connect_alt_event\n id: input_event\n condition:\n - condition: template\n value_template: \"{% set skip_events = [\\n 'Dishcare.Dishwasher.Event.RinseAidNearlyEmpty',\\n\\\n \\ 'BSH.Common.Event.ProgramFinished',\\n 'BSH.Common.Status.OperationState'\\n\\\n ] %} {{ trigger.event.data.key not in skip_events }}\\n\"\n actions:\n - service: notify.manolo\n data:\n title: An event was triggered from home connect\n message: 'Event: `{{ trigger.event }}` Event.Data: `{{ trigger.event.data }}`\n\n '", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } } ] }, { "id": "AUT-Notify_Home_Connect_Entity_Finished", "automation": "- alias: AUT-Notify home connect entity finished\n id: AUT-Notify_Home_Connect_Entity_Finished\n description: Notifies when the dishwasher program has finished\n initial_state: 'on'\n triggers:\n - domain: home_connect_alt\n type: program_finished\n trigger: device\n device_id: secret momahome_dishwasher_device_id\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: Dishwasher finished\n message: 'Ey, dishwasher just finished.\n\n '", "config": [ { "name": "home connect dishwasher", "room": "kitchen", "type": "home_connect_alt", "id": { "entity_id": null, "device_id": "secret momahome_dishwasher_device_id" } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Notify_Dishwasher_Rinse_Aid_Level", "automation": "- alias: AUT-Notify dishwasher rinse aid level\n id: AUT-Notify_Dishwasher_Rinse_Aid_Level\n description: Monitors and notifies about changes in the dishwasher rinse aid level\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: home_connect_alt_event\n event_data:\n key: Dishcare.Dishwasher.Event.RinseAidNearlyEmpty\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: Dishwasher Rinse Aid Status\n message: '{% if trigger.event.data.value == ''BSH.Common.EnumType.EventPresentState.Present''\n %} Warning: Dishwasher rinse aid is nearly empty. Please refill soon. {% elif\n trigger.event.data.value == ''BSH.Common.EnumType.EventPresentState.Off''\n %} Rinse aid level is now OK. {% else %} Rinse aid status changed to: {{ trigger.event.data.value\n }} {% endif %}\n\n '", "config": [ { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Update presence of man-005 devices", "automation": "- alias: AUT-Update presence of man-005 devices\n mode: parallel\n max: 1000\n triggers:\n - platform: event\n event_type: state_changed\n conditions:\n - alias: Filter by device\n condition: template\n value_template: '{{ trigger.event.data.entity_id is match (''binary_sensor.man_005'')\n }}\n\n '\n actions:\n - variables:\n triggered_entity_id: '{{ trigger.event.data.entity_id }}'\n - service: device_tracker.see\n data:\n dev_id: '{{ triggered_entity_id | regex_replace(''binary_sensor.'', '''')}}'\n host_name: '{{ device_attr(device_id(triggered_entity_id), ''name'') }}.{{ triggered_entity_id\n }}'\n location_name: \"{% if trigger.event.data.new_state.state == 'on' %}\\n home\\n\\\n {% elif trigger.event.data.new_state.state == 'off' %}\\n not_home\\n{% else\\\n \\ %}\\n unknown\\n{% endif %}\\n\"\n source_type: bluetooth_le", "config": [ { "name": "man 005 device tracker", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.man_005", "device_id": null } } ] }, { "id": "AUT-New Release", "automation": "- alias: AUT-New Release\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: binary_sensor.docker_hub_update_available\n from: 'off'\n to: 'on'\n actions:\n service: notify.manolo\n data:\n title: '*New Home Assistant Release*'\n message: '[Home Assistant {{ states(''sensor.docker_hub'') }}](https://github.com/home-assistant/core/releases/tag/{{\n states(''sensor.docker_hub'') }}) is now available'", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } }, { "name": "docker hub update available", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.docker_hub_update_available", "device_id": null } }, { "name": "docker hub version", "room": null, "type": "sensor", "id": { "entity_id": "sensor.docker_hub", "device_id": null } } ] }, { "id": "AUT-Backup Home Assistant", "automation": "- alias: AUT-Backup Home Assistant\n triggers:\n - platform: time\n at: 05:00:00\n - platform: homeassistant\n event: shutdown\n actions:\n - alias: Create backup now\n service: backup.create", "config": [] }, { "id": "AUT-Clean old backups Home Assistant", "automation": "- alias: AUT-Clean old backups Home Assistant\n triggers:\n - platform: time\n at: 05:10:00\n actions:\n - service: shell_command.delete_old_ha_backups", "config": [] }, { "id": "automation_nightstand_buttons", "automation": "- alias: AUT-NightstandButtons\n id: automation_nightstand_buttons\n initial_state: 'on'\n trace:\n stored_traces: 5\n mode: queued\n trigger_variables:\n monica_nightstand_button_id: d207bfdca66e300274e57e4d3ff883f6\n manolo_nightstand_button_id: 66e6c2331edc3c62560fab9b8285ad85\n tmp_yaml_defined_aliases:\n tmp_trigger_nightstand_monica_button:\n platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n tmp_trigger_nightstand_manolo_button:\n platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n tmp_trigger_nightstand_pulsation_and_scene__single_press_01:\n type: remote_button_short_press\n subtype: button_1\n variables: &id002\n scene_alias: beforeSleep\n scene_data:\n state: 'on'\n brightness: 3\n color_temp: 454\n tmp_trigger_nightstand_pulsation_and_scene__double_press_01:\n type: remote_button_double_press\n subtype: button_1\n variables: &id003\n scene_alias: readOnBed\n scene_data:\n state: 'on'\n brightness: 180\n color_temp: 285\n tmp_trigger_nightstand_pulsation_and_scene__long_press_01:\n type: remote_button_long_press\n subtype: button_1\n variables: &id004\n scene_alias: maxIllumination\n scene_data:\n state: 'on'\n brightness: 255\n color_temp: 250\n tmp_trigger_nightstand_pulsation_and_scene__single_press_02:\n type: remote_button_short_press\n subtype: button_2\n variables: &id005\n scene_alias: singleOff\n scene_data:\n state: 'off'\n tmp_trigger_nightstand_pulsation_and_scene__double_press_02:\n type: remote_button_double_press\n subtype: button_2\n variables: &id001\n scene_alias: allOff\n scene_data:\n state: 'off'\n tmp_trigger_nightstand_pulsation_and_scene__long_press_02:\n type: remote_button_long_press\n subtype: button_2\n variables: *id001\n triggers:\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_short_press\n subtype: button_1\n variables: *id002\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_double_press\n subtype: button_1\n variables: *id003\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_long_press\n subtype: button_1\n variables: *id004\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_short_press\n subtype: button_2\n variables: *id005\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_double_press\n subtype: button_2\n variables: *id001\n - platform: device\n domain: zha\n device_id: d207bfdca66e300274e57e4d3ff883f6\n type: remote_button_long_press\n subtype: button_2\n variables: *id001\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_short_press\n subtype: button_1\n variables: *id002\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_double_press\n subtype: button_1\n variables: *id003\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_long_press\n subtype: button_1\n variables: *id004\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_short_press\n subtype: button_2\n variables: *id005\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_double_press\n subtype: button_2\n variables: *id001\n - platform: device\n domain: zha\n device_id: 66e6c2331edc3c62560fab9b8285ad85\n type: remote_button_long_press\n subtype: button_2\n variables: *id001\n actions:\n - alias: Device(s) to apply the scene\n variables:\n entity_to_set: \"{% set all_lights_on = is_state('light.monica_nightstand_light',\\\n \\ 'on') and is_state('light.manolo_nightstand_light', 'on') %} {% set cross_device_already_on_01\\\n \\ = (trigger.event.data.device_id == monica_nightstand_button_id) and (is_state('light.manolo_nightstand_light',\\\n \\ 'on')) %} {% set cross_device_already_on_02 = (trigger.event.data.device_id\\\n \\ == manolo_nightstand_button_id) and (is_state('light.monica_nightstand_light',\\\n \\ 'on')) %} {% set cross_device_already_on = cross_device_already_on_01 or\\\n \\ cross_device_already_on_02 %} {% set should_apply_to_all = cross_device_already_on\\\n \\ or (scene_alias in ['allOff', 'maxIllumination']) %} {% set force_apply_to_one\\\n \\ = (scene_alias in ['singleOff']) %} {% if (not force_apply_to_one) and (should_apply_to_all)\\\n \\ %}\\n light.bedroom_nightstand_lights\\n{% elif trigger.event.data.device_id\\\n \\ == monica_nightstand_button_id %}\\n light.monica_nightstand_light\\n{% elif\\\n \\ trigger.event.data.device_id == manolo_nightstand_button_id %}\\n light.manolo_nightstand_light\\n\\\n {% endif %}\"\n - service: scene.apply\n data:\n entities:\n '{{ entity_to_set }}': '{{ scene_data }}'", "config": [ { "name": "monica nightstand button", "room": "bedroom", "type": "zha", "id": { "entity_id": null, "device_id": "d207bfdca66e300274e57e4d3ff883f6" } }, { "name": "manolo nightstand button", "room": "bedroom", "type": "zha", "id": { "entity_id": null, "device_id": "66e6c2331edc3c62560fab9b8285ad85" } }, { "name": "monica nightstand light", "room": "bedroom", "type": "light", "id": { "entity_id": "light.monica_nightstand_light", "device_id": null } }, { "name": "manolo nightstand light", "room": "bedroom", "type": "light", "id": { "entity_id": "light.manolo_nightstand_light", "device_id": null } }, { "name": "bedroom nightstand lights", "room": "bedroom", "type": "light", "id": { "entity_id": "light.bedroom_nightstand_lights", "device_id": null } } ] }, { "id": "AUT-ManoloWorkMode", "automation": "- alias: AUT-ManoloWorkMode\n initial_state: 'on'\n trace:\n stored_traces: 5\n mode: queued\n triggers:\n - platform: device\n domain: zha\n device_id: fc590f181eaddcfcfc6d6984c7ec76c5\n type: remote_button_short_press\n subtype: turn_on\n actions:\n - service: switch.turn_on\n target:\n entity_id:\n - switch.man_001", "config": [ { "name": "manolo work mode button", "room": "office", "type": "zha", "id": { "entity_id": null, "device_id": "fc590f181eaddcfcfc6d6984c7ec76c5" } }, { "name": "man 001 switch", "room": "office", "type": "switch", "id": { "entity_id": "switch.man_001", "device_id": null } } ] }, { "id": "AUT-ManoloNotWorkingMode", "automation": "- alias: AUT-ManoloNotWorkingMode\n initial_state: 'on'\n trace:\n stored_traces: 5\n mode: queued\n triggers:\n - platform: device\n domain: zha\n device_id: fc590f181eaddcfcfc6d6984c7ec76c5\n type: remote_button_double_press\n subtype: turn_on\n actions:\n - service: switch.turn_off\n target:\n entity_id:\n - switch.man_001", "config": [ { "name": "manolo work mode button", "room": "office", "type": "zha", "id": { "entity_id": null, "device_id": "fc590f181eaddcfcfc6d6984c7ec76c5" } }, { "name": "man 001 switch", "room": "office", "type": "switch", "id": { "entity_id": "switch.man_001", "device_id": null } } ] }, { "id": "ptr_mark_person_as_just_arrived", "automation": "- alias: PTR-Mark person as just arrived\n id: ptr_mark_person_as_just_arrived\n mode: queued\n triggers:\n - platform: state\n from: not_home\n to: home\n entity_id: &id007\n - person.monica\n - person.manolo\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: \"{% if trigger.entity_id == 'person.manolo' %}\\n input_select.manolo_status_dropdown\\n\\\n {% else %}\\n input_select.monica_status_dropdown\\n{% endif %}\\n\"\n option: Just Arrived", "config": [ { "name": "monica person", "room": null, "type": "person", "id": { "entity_id": "person.monica", "device_id": null } }, { "name": "manolo person", "room": null, "type": "person", "id": { "entity_id": "person.manolo", "device_id": null } }, { "name": "manolo status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.manolo_status_dropdown", "device_id": null } }, { "name": "monica status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.monica_status_dropdown", "device_id": null } } ] }, { "id": "ptr_mark_person_as_home", "automation": "- alias: PTR-Mark person as home\n id: ptr_mark_person_as_home\n mode: queued\n triggers:\n - platform: state\n entity_id: &id006\n - input_select.manolo_status_dropdown\n - input_select.monica_status_dropdown\n to: Just Arrived\n for:\n minutes: 10\n - platform: state\n entity_id: *id006\n from: Just Left\n to: Just Arrived\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: \"{% if trigger.entity_id == 'input_select.manolo_status_dropdown'\\\n \\ %}\\n input_select.manolo_status_dropdown\\n{% else %}\\n input_select.monica_status_dropdown\\n\\\n {% endif %}\\n\"\n option: Home", "config": [ { "name": "manolo status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.manolo_status_dropdown", "device_id": null } }, { "name": "monica status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.monica_status_dropdown", "device_id": null } } ] }, { "id": "ptr_mark_person_as_just_left", "automation": "- alias: PTR-Mark person as just left\n id: ptr_mark_person_as_just_left\n mode: queued\n triggers:\n - platform: state\n entity_id: *id007\n from: home\n to: not_home\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: \"{% if trigger.entity_id == 'person.manolo' %}\\n input_select.manolo_status_dropdown\\n\\\n {% else %}\\n input_select.monica_status_dropdown\\n{% endif %}\\n\"\n option: Just Left", "config": [ { "name": "manolo person", "room": null, "type": "person", "id": { "entity_id": "person.manolo", "device_id": null } }, { "name": "manolo status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.manolo_status_dropdown", "device_id": null } }, { "name": "monica status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.monica_status_dropdown", "device_id": null } } ] }, { "id": "ptr_mark_person_as_away", "automation": "- alias: PTR-Mark person as away\n id: ptr_mark_person_as_away\n mode: queued\n triggers:\n - platform: state\n entity_id: *id006\n to: Just Left\n for:\n minutes: 10\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: \"{% if trigger.entity_id == 'input_select.manolo_status_dropdown'\\\n \\ %}\\n input_select.manolo_status_dropdown\\n{% else %}\\n input_select.monica_status_dropdown\\n\\\n {% endif %}\\n\"\n option: Away", "config": [ { "name": "manolo status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.manolo_status_dropdown", "device_id": null } }, { "name": "monica status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.monica_status_dropdown", "device_id": null } } ] }, { "id": "ptr_mark_person_as_extended_away", "automation": "- alias: PTR-Mark person as extended away\n id: ptr_mark_person_as_extended_away\n mode: queued\n triggers:\n - platform: state\n entity_id: *id006\n to: Away\n for:\n hours: 24\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: \"{% if trigger.entity_id == 'input_select.manolo_status_dropdown'\\\n \\ %}\\n input_select.manolo_status_dropdown\\n{% else %}\\n input_select.monica_status_dropdown\\n\\\n {% endif %}\\n\"\n option: Extended Away", "config": [ { "name": "manolo status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.manolo_status_dropdown", "device_id": null } }, { "name": "monica status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.monica_status_dropdown", "device_id": null } } ] }, { "id": "ptr_update_home_occupancy", "automation": "- alias: PTR-Update home occupancy\n id: ptr_update_home_occupancy\n mode: queued\n triggers:\n - platform: state\n entity_id: *id006\n actions:\n - service: input_select.select_option\n data_template:\n entity_id: input_select.home_occupancy_status_dropdown\n option: \"{%- if states(trigger.entity_id) == states('input_select.home_occupancy_status_dropdown')\\\n \\ -%}\\n {{ states(trigger.entity_id) }}\\n{%- else -%}\\n {# Loop over all\\\n \\ states and get the most restrictive #}\\n {%- set status_json = {\\n \\\n \\ \\\"Home\\\": 0,\\n \\\"Just Arrived\\\": 1,\\n \\\"Just Left\\\": 2,\\n \\\n \\ \\\"Away\\\": 3,\\n \\\"Extended Away\\\": 4\\n } -%}\\n {%- set next_home_occupancy\\\n \\ = namespace(value=status_json['Extended Away'],name='Extended Away') -%}\\n\\\n \\ {%- for tracker in expand('group.people_status') if status_json[tracker.state]\\\n \\ < next_home_occupancy.value -%}\\n {%- set next_home_occupancy.value\\\n \\ = status_json[tracker.state] -%}\\n {%- set next_home_occupancy.name\\\n \\ = tracker.state -%}\\n {%- endfor -%}\\n {{next_home_occupancy.name}}\\n\\\n {%- endif -%}\\n\"", "config": [ { "name": "home occupancy status dropdown", "room": null, "type": "input_select", "id": { "entity_id": "input_select.home_occupancy_status_dropdown", "device_id": null } }, { "name": "people status group", "room": null, "type": "group", "id": { "entity_id": "group.people_status", "device_id": null } } ] }, { "id": "AUT-New_Device_Found", "automation": "- alias: AUT-New device found\n id: AUT-New_Device_Found\n initial_state: 'on'\n mode: parallel\n triggers:\n - platform: event\n event_type: device_tracker_new_device\n actions:\n - service: script.notify_in_home_or_all\n data: &id008\n title: 'ALERT: New device found !'\n message: New device called `{{ trigger.event.data.host_name }}` with MAC `{{\n trigger.event.data.mac }}` found\n - service: notify.manolo\n data: *id008", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Notify_Failed_Login_Attempt", "automation": "- alias: AUT-Notify failed login attempt\n id: AUT-Notify_Failed_Login_Attempt\n initial_state: 'on'\n mode: parallel\n triggers:\n - trigger: persistent_notification\n update_type:\n - added\n conditions:\n - condition: template\n value_template: '{{ ''Login attempt'' in trigger.notification.title }}'\n actions:\n service: notify.manolo\n data:\n title: '*{{ trigger.notification.title }} !*'\n message: '{{ trigger.notification.message }}'", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } } ] }, { "id": "AUT-Notify_IP_Banned", "automation": "- alias: AUT-Notify ip_banned\n id: AUT-Notify_IP_Banned\n initial_state: 'on'\n mode: parallel\n triggers:\n - trigger: persistent_notification\n update_type:\n - added\n conditions:\n - condition: template\n value_template: '{{ ''Banning IP'' in trigger.notification.title }}'\n actions:\n - alias: Set variables\n variables:\n banned_ip: '{{ trigger.notification.message.split('' '') | last }}'\n - service: notify.manolo\n data:\n title: '*{{ trigger.notification.title }} !*'\n message: '{{ trigger.notification.message }}'\n data:\n inline_keyboard:\n - Unban {{ banned_ip }} and restart Home Assistant:/unban_ip {{ banned_ip\n }}", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } } ] }, { "id": "AUT-Unban_IP", "automation": "- alias: AUT-Unban IP\n id: AUT-Unban_IP\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: event\n id: event_telegram_command\n event_type: telegram_command\n event_data: &id009\n command: /unban_ip\n variables:\n ip_to_unban: '{{ trigger.event.data[''args''][0] }}'\n - platform: event\n id: event_telegram_callback\n event_type: telegram_callback\n event_data: *id009\n variables:\n ip_to_unban: '{{ trigger.event.data[''data''].split('' '')[1] }}'\n actions:\n - service: shell_command.unban_ip\n data:\n ip_to_unban: '{{ ip_to_unban }}'\n - if: '{{ trigger.id == ''event_telegram_callback'' }}'\n then:\n - service: telegram_bot.answer_callback_query\n data:\n callback_query_id: '{{ trigger.event.data.id }}'\n message: Unbanned and restarting HomeAssistant\n - service: homeassistant.restart", "config": [] }, { "id": "AUT-Notify_Entrance_Door_Opened", "automation": "- alias: AUT-Notify Entrance Door Opened\n id: AUT-Notify_Entrance_Door_Opened\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: binary_sensor.entrance_door_sensor_opened\n to: 'on'\n actions:\n - service: notify.manolo\n data:\n title: '[Debug] *Door Opened*'\n message: The entrance door has been opened.\n data:\n disable_notification: true", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } }, { "name": "entrance door sensor", "room": "entrance", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.entrance_door_sensor_opened", "device_id": null } } ] }, { "id": "AUT-Notify_Entrance_Door_Opened_Extended_Away", "automation": "- alias: AUT-Notify Entrance Door Opened Extended Away\n id: AUT-Notify_Entrance_Door_Opened_Extended_Away\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: binary_sensor.entrance_door_sensor_opened\n to: 'on'\n conditions:\n - condition: state\n entity_id: sensor.home_occupancy_status\n state:\n - Extended Away\n - Just Arrived\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: 'Alert: Door Opened'\n message: The entrance door has been opened while the house is in Extended Away\n mode.", "config": [ { "name": "home occupancy status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.home_occupancy_status", "device_id": null } }, { "name": "entrance door sensor", "room": "entrance", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.entrance_door_sensor_opened", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Notify_Entrance_Door_Opened_Too_Much_Time", "automation": "- alias: AUT-Notify Entrance Door Opened Too much time\n id: AUT-Notify_Entrance_Door_Opened_Too_Much_Time\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: binary_sensor.entrance_door_sensor_opened\n to: 'on'\n for: 00:03:00\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: 'Alert: Door Left Open'\n message: The entrance door has been left open for more than 3 minutes.", "config": [ { "name": "entrance door sensor", "room": "entrance", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.entrance_door_sensor_opened", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Notify_Centinel_Mode_On_Extended_Away", "automation": "- alias: AUT-Notify Centinel Mode on Extended Away\n id: AUT-Notify_Centinel_Mode_On_Extended_Away\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: sensor.home_occupancy_status\n to: Extended Away\n actions:\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.centinel_mode\n - service: script.notify_in_home_or_all\n data:\n title: Centinel Mode\n message: Centinel Mode has been enabled automatically due to Extended Away status.\n data:\n inline_keyboard:\n - Disable Centinel Mode:/disable_centinel_mode", "config": [ { "name": "home occupancy status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.home_occupancy_status", "device_id": null } }, { "name": "centinel mode", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.centinel_mode", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Disable_Centinel_Mode", "automation": "- alias: AUT-Disable Centinel Mode\n id: AUT-Disable_Centinel_Mode\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: telegram_command\n event_data: &id010\n command: /disable_centinel_mode\n - platform: event\n event_type: telegram_callback\n event_data: *id010\n actions:\n - service: input_boolean.turn_off\n target:\n entity_id: input_boolean.centinel_mode\n - service: script.notify_in_home_or_all\n data:\n title: Centinel Mode\n message: Centinel Mode has been disabled.\n - condition: template\n value_template: '{{ trigger.event.event_type == ''telegram_callback'' }}'\n - service: telegram_bot.answer_callback_query\n data:\n callback_query_id: '{{ trigger.event.data.id }}'\n message: Done!", "config": [ { "name": "centinel mode", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.centinel_mode", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Centinel_Mode_Door_Camera_Recording", "automation": "- alias: AUT-Centinel Mode Door Camera Recording\n id: AUT-Centinel_Mode_Door_Camera_Recording\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: binary_sensor.entrance_door_sensor_opened\n to: 'on'\n variables:\n trigger_time: '{{ now().strftime(''%Y%m%d_%H%M%S'') }}'\n conditions:\n - condition: state\n entity_id: input_boolean.centinel_mode\n state: 'on'\n actions:\n - parallel:\n - service: script.notify_in_home_or_all\n data:\n title: 'Alert: Door Opened - Starting Video Recording'\n message: The entrance door has been opened at {{ trigger_time }} while Centinel\n Mode is active. Starting video recordings.\n - sequence:\n - service: camera.record\n target:\n entity_id: camera.entrance_camera\n data:\n duration: 4\n lookback: 4\n filename: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time\n }}_4s.mp4\n - service: script.notify_in_home_or_all\n data:\n title: Door Recording - 4s\n message: First video recording (4s) completed.\n data:\n video:\n - file: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time\n }}_4s.mp4\n caption: 'Recording #{{ trigger_time }} (4s)'\n - sequence:\n - service: camera.record\n target:\n entity_id: camera.entrance_camera\n data:\n duration: 5\n filename: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time }}_5s.mp4\n - service: script.notify_in_home_or_all\n data:\n title: Door Recording - 5s\n message: Second video recording (5s) completed.\n data:\n video:\n - file: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time }}_8s.mp4\n caption: 'Continuation recording #{{ trigger_time }} (5s)'\n - sequence:\n - service: camera.record\n target:\n entity_id: camera.entrance_camera\n data:\n duration: 25\n lookback: 20\n filename: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time }}_25s.mp4\n - service: script.notify_in_home_or_all\n data:\n title: Door Recording - 25s\n message: Final video recording (25s) completed.\n data:\n video:\n - file: /tmp/homeassistant/camera_recordings/entrance_{{ trigger_time }}_25s.mp4\n caption: 'Continuation recording #{{ trigger_time }} (25s)'\n - service: shell_command.delete_old_camera_recordings", "config": [ { "name": "entrance door sensor", "room": "entrance", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.entrance_door_sensor_opened", "device_id": null } }, { "name": "centinel mode", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.centinel_mode", "device_id": null } }, { "name": "entrance camera", "room": "entrance", "type": "camera", "id": { "entity_id": "camera.entrance_camera", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Centinel_Mode_Light_Control_Sunset", "automation": "- alias: AUT-Centinel Mode Light Control - Sunset\n id: AUT-Centinel_Mode_Light_Control_Sunset\n initial_state: 'on'\n triggers:\n - platform: sun\n event: sunset\n conditions:\n - condition: state\n entity_id: input_boolean.centinel_mode\n state: 'on'\n actions:\n - delay:\n minutes: '{{ range(0, 30) | random }}'\n - service: light.turn_on\n target:\n entity_id: group.centinel_mode_lights\n data:\n brightness: '{{ range(180, 255) | random }}'", "config": [ { "name": "centinel mode", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.centinel_mode", "device_id": null } }, { "name": "centinel mode lights", "room": null, "type": "light", "id": { "entity_id": "group.centinel_mode_lights", "device_id": null } } ] }, { "id": "AUT-Centinel_Mode_Light_Control_Night_Off", "automation": "- alias: AUT-Centinel Mode Light Control - Night Off\n id: AUT-Centinel_Mode_Light_Control_Night_Off\n initial_state: 'on'\n triggers:\n - platform: time\n at: '23:00:00'\n conditions:\n - condition: state\n entity_id: input_boolean.centinel_mode\n state: 'on'\n actions:\n - delay:\n minutes: '{{ range(0, 59) | random }}'\n - service: light.turn_off\n target:\n entity_id: group.centinel_mode_lights", "config": [ { "name": "centinel mode", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.centinel_mode", "device_id": null } }, { "name": "centinel mode lights", "room": null, "type": "light", "id": { "entity_id": "group.centinel_mode_lights", "device_id": null } } ] }, { "id": "AUT-No energy in house", "automation": "- alias: AUT-No energy in house\n mode: queued\n triggers:\n - platform: template\n value_template: '{% if ''ONBATT'' in states(''sensor.ups_status'') %}true{% endif\n %}'\n actions:\n - service: remote.send_command\n data:\n entity_id: remote.sony_bravia_tv\n command: PowerOff\n - service: script.notify_in_home_or_all\n data:\n title: 'ALERT: No energy in home !'\n message: 'Ey, we detected that the UPS status is `{{ states(''sensor.ups_status'')\n }}` and the remaining battery is `{{ states(''sensor.ups_battery'') }}%` so\n probably the power has gone out.\n\n With this load (`{{ states(''sensor.ups_load'') }}%`) the expected time of\n battery is `{{ states(''sensor.ups_time_left'') }} minutes`.\n\n Any way, I powered off the tv to save energy.\n\n '\n - service: notify.manolo\n data:\n title: Debug UPS\n message: 'STATUS: `{{ states(''sensor.ups_status'') }}`\n\n STATFLAG: `{{ states(''sensor.ups_status_flag'') }}`\n\n XOFFBATT: `{{ states(''sensor.ups_transfer_from_battery'') }}`\n\n TONBATT: `{{ states(''sensor.ups_time_on_battery'') }}`\n\n CUMONBATT: `{{ states(''sensor.ups_total_time_on_battery'') }}`\n\n '", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } }, { "name": "ups status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_status", "device_id": null } }, { "name": "ups battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_battery", "device_id": null } }, { "name": "ups load", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_load", "device_id": null } }, { "name": "ups time left", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_time_left", "device_id": null } }, { "name": "ups status flag", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_status_flag", "device_id": null } }, { "name": "ups transfer from battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_transfer_from_battery", "device_id": null } }, { "name": "ups time on battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_time_on_battery", "device_id": null } }, { "name": "ups total time on battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_total_time_on_battery", "device_id": null } }, { "name": "sony bravia tv remote", "room": "living room", "type": "remote", "id": { "entity_id": "remote.sony_bravia_tv", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Energy back in house", "automation": "- alias: AUT-Energy back in house\n mode: queued\n triggers:\n - platform: template\n value_template: '{% if ''ONLINE'' in states(''sensor.ups_status'') %}true{% endif\n %}'\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: Energy back in home !\n message: 'Ey, the UPS status now is `{{ states(''sensor.ups_status'') }}` so\n probably the power is back. The current battery is `{{ states(''sensor.ups_battery'')\n }}%`.\n\n '\n data:\n disable_notification: true\n - service: notify.manolo\n data:\n title: Debug UPS\n message: 'STATUS: `{{ states(''sensor.ups_status'') }}`\n\n STATFLAG: `{{ states(''sensor.ups_status_flag'') }}`\n\n XOFFBATT: `{{ states(''sensor.ups_transfer_from_battery'') }}`\n\n TONBATT: `{{ states(''sensor.ups_time_on_battery'') }}`\n\n CUMONBATT: `{{ states(''sensor.ups_total_time_on_battery'') }}`\n\n '", "config": [ { "name": "manolo notification", "room": null, "type": "notify", "id": { "entity_id": "notify.manolo", "device_id": null } }, { "name": "ups status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_status", "device_id": null } }, { "name": "ups battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_battery", "device_id": null } }, { "name": "ups status flag", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_status_flag", "device_id": null } }, { "name": "ups transfer from battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_transfer_from_battery", "device_id": null } }, { "name": "ups time on battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_time_on_battery", "device_id": null } }, { "name": "ups total time on battery", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ups_total_time_on_battery", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Turn off man-003", "automation": "- alias: AUT-Turn off man-003\n triggers:\n - platform: numeric_state\n entity_id: sensor.man_003_energy_current\n below: 0.3\n for:\n minutes: 10\n conditions:\n - condition: state\n entity_id: input_boolean.man_003_auto_poweroff\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: switch.man_003_left\n state: 'on'\n - condition: state\n entity_id: switch.man_003_right\n state: 'on'\n actions:\n - service: switch.turn_off\n entity_id:\n - switch.man_003_left\n - switch.man_003_right\n - service: input_boolean.turn_off\n target:\n entity_id: input_boolean.man_003_auto_poweroff\n - service: script.notify_in_home_or_all\n data:\n title: Kitchen power plug turned off\n message: 'Ey, I (`AUT-Turn off man-003`) detected low power consumption in the\n kitchen power plug so I turned off *both*.\\n\n\n Additionally, I disabled auto turn off kitchen power plug\n\n '\n data:\n inline_keyboard:\n - Turn on Left:/turn_on switch.man_003_left, Turn on Right:/turn_on switch.man_003_right", "config": [ { "name": "man 003 energy current", "room": "kitchen", "type": "sensor", "id": { "entity_id": "sensor.man_003_energy_current", "device_id": null } }, { "name": "man 003 auto poweroff", "room": "kitchen", "type": "input_boolean", "id": { "entity_id": "input_boolean.man_003_auto_poweroff", "device_id": null } }, { "name": "man 003 left switch", "room": "kitchen", "type": "switch", "id": { "entity_id": "switch.man_003_left", "device_id": null } }, { "name": "man 003 right switch", "room": "kitchen", "type": "switch", "id": { "entity_id": "switch.man_003_right", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Telegram turn on device", "automation": "- alias: AUT-Telegram turn on device\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: telegram_command\n event_data: &id011\n command: /turn_on\n - platform: event\n event_type: telegram_callback\n event_data: *id011\n actions:\n - service: switch.turn_on\n data_template:\n entity_id: \"{% if trigger.event.event_type == 'telegram_command' %}\\n {{trigger.event.data[\\\"\\\n args\\\"][0]|default('entity not passed')}}\\n{% elif trigger.event.event_type\\\n \\ == 'telegram_callback' %}\\n {{trigger.event.data[\\\"data\\\"].split(' ')[1]|default('entity\\\n \\ not passed')}}\\n{% else %}\\n switch.event_not_recognized\\n{% endif %}\\n\"\n - condition: template\n value_template: '{{ trigger.event.event_type == ''telegram_callback'' }}'\n - service: telegram_bot.answer_callback_query\n data:\n callback_query_id: '{{ trigger.event.data.id }}'\n message: Done!", "config": [] }, { "id": "AUT-Notify Vacuum Error", "automation": "- alias: AUT-Notify Vacuum Error\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: vacuum.valetudo_roborocks5\n to: error\n - platform: state\n entity_id:\n - sensor.home_occupancy_status\n to: Home\n for:\n minutes: 2\n conditions:\n condition: and\n conditions:\n - condition: state\n entity_id: vacuum.valetudo_roborocks5\n state: error\n actions:\n - delay: 00:00:21\n - service: script.take_camera_snapshot_and_send_telegram\n data:\n camera_entity: camera.roborocks5_map\n notify_to: script.notify_in_home_or_all\n message: '*Something fail in the vacuum...*\n\n Error was: `{{state_attr(\"sensor.valetudo_roborocks5_error\", \"severity\")}}`\n\n Error was: `{{state_attr(\"sensor.valetudo_roborocks5_error\", \"subsystem\")}}`\n\n Error was: `{{state_attr(\"sensor.valetudo_roborocks5_error\", \"message\")}}`\n\n Error was: `{{states(\"sensor.valetudo_roborocks5_error\")}}`\n\n '", "config": [ { "name": "home occupancy status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.home_occupancy_status", "device_id": null } }, { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "valetudo roborocks5 error", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_error", "device_id": null } }, { "name": "roborocks5 map camera", "room": null, "type": "camera", "id": { "entity_id": "camera.roborocks5_map", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } }, { "name": "Take camera snapshot and send telegram", "room": null, "type": "script", "id": { "entity_id": "script.take_camera_snapshot_and_send_telegram", "device_id": null } } ] }, { "id": "AUT-Vacuum", "automation": "- alias: AUT-Vacuum\n initial_state: 'on'\n triggers:\n - platform: time\n at: '12:32:00'\n - platform: time\n at: '11:28:00'\n - platform: state\n entity_id:\n - sensor.home_occupancy_status\n to: Away\n for: 00:05:00\n conditions:\n - condition: and\n conditions:\n - condition: or\n conditions:\n - condition: and\n conditions:\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: time\n after: '10:00:00'\n before: '22:30:00'\n - condition: and\n conditions:\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'off'\n - condition: time\n after: '11:30:00'\n before: '22:30:00'\n - condition: template\n value_template: '{{ states(\"vacuum.valetudo_roborocks5\") == \"docked\" }}'\n - condition: template\n value_template: '{{ states(\"sensor.home_occupancy_status\") != \"Extended Away\"\n }}'\n - condition: or\n conditions:\n - condition: and\n conditions:\n - condition: template\n value_template: '{{ ( as_timestamp(now()) - as_timestamp(states(\"input_datetime.vacuum_last_full_clean\"))\n |int(0) ) /60/60 > 23 }}'\n - condition: and\n conditions:\n - condition: template\n value_template: '{{ ( as_timestamp(now()) - as_timestamp(states(\"input_datetime.vacuum_last_full_clean\"))\n |int(0) ) /60/60 > 13 }}'\n - condition: state\n entity_id: sensor.home_occupancy_status\n state:\n - Extended Away\n - Away\n actions:\n - service: timer.start\n entity_id: timer.vacuum_start_in\n data:\n duration: 00:05:00\n - service: script.notify_in_home_or_all\n data:\n title: Vacuum is going to start\n message: 'Vacuum is going to start in 5 minutes.\n\n '\n data:\n inline_keyboard:\n - 🚫 Stop it 🚫:/vacuum_stop, ✅ Start now:/vacuum_start", "config": [ { "name": "home occupancy status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.home_occupancy_status", "device_id": null } }, { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "workday sensor", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.workday_sensor", "device_id": null } }, { "name": "vacuum last full clean", "room": null, "type": "input_datetime", "id": { "entity_id": "input_datetime.vacuum_last_full_clean", "device_id": null } }, { "name": "vacuum start in timer", "room": null, "type": "timer", "id": { "entity_id": "timer.vacuum_start_in", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Vacuum start", "automation": "- alias: AUT-Vacuum start\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.vacuum_start_in\n - platform: event\n event_type: telegram_command\n event_data: &id012\n command: /vacuum_start\n - platform: event\n event_type: telegram_callback\n event_data: *id012\n actions:\n - service: vacuum.set_fan_speed\n entity_id: vacuum.valetudo_roborocks5\n data:\n fan_speed: Standard\n - service: vacuum.start\n entity_id: vacuum.valetudo_roborocks5", "config": [ { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "vacuum start in timer", "room": null, "type": "timer", "id": { "entity_id": "timer.vacuum_start_in", "device_id": null } } ] }, { "id": "AUT-Vacuum update statistics", "automation": "- alias: AUT-Vacuum update statistics\n mode: queued\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: vacuum.valetudo_roborocks5\n to: returning\n actions:\n - delay: 00:00:10\n - condition: template\n value_template: '{{ (states(''input_number.vacuum_xiaomi_historic_cleaning_time'')|int)\n != (states(''sensor.valetudo_roborocks5_total_statistics_time'')|int) }}'\n - service: input_number.set_value\n target:\n entity_id: input_number.vacuum_xiaomi_historic_cleaning_time\n data:\n value: '{{ states(''sensor.valetudo_roborocks5_total_statistics_time'') }}'\n - service: input_number.set_value\n data_template:\n entity_id: input_number.vacuum_xiaomi_dust_clean_left\n value: '{{ [(states(''input_number.vacuum_xiaomi_dust_clean_left'')|int) - (states(''sensor.valetudo_roborocks5_current_statistics_area'')|int\n // 10000), 0] | max }}\n\n '\n - condition: numeric_state\n entity_id: sensor.valetudo_roborocks5_current_statistics_area\n above: 340000\n - service: input_datetime.set_datetime\n target:\n entity_id: input_datetime.vacuum_last_full_clean\n data:\n datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'\n - delay: 00:00:21\n - service: script.take_camera_snapshot_and_send_telegram\n data:\n camera_entity: camera.roborocks5_map\n notify_to: script.notify_in_home_or_all\n data:\n disable_notification: true\n message: '*Clean finished !*\n\n `{{(states(''sensor.valetudo_roborocks5_current_statistics_area'')|int //\n 10000)}}` square meters have been cleaned\n\n '", "config": [ { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "roborocks5 map camera", "room": null, "type": "camera", "id": { "entity_id": "camera.roborocks5_map", "device_id": null } }, { "name": "vacuum last full clean", "room": null, "type": "input_datetime", "id": { "entity_id": "input_datetime.vacuum_last_full_clean", "device_id": null } }, { "name": "valetudo roborocks5 total statistics time", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_total_statistics_time", "device_id": null } }, { "name": "vacuum xiaomi historic cleaning time", "room": null, "type": "input_number", "id": { "entity_id": "input_number.vacuum_xiaomi_historic_cleaning_time", "device_id": null } }, { "name": "valetudo roborocks5 current statistics area", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_current_statistics_area", "device_id": null } }, { "name": "vacuum xiaomi dust clean left", "room": null, "type": "input_number", "id": { "entity_id": "input_number.vacuum_xiaomi_dust_clean_left", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } }, { "name": "Take camera snapshot and send telegram", "room": null, "type": "script", "id": { "entity_id": "script.take_camera_snapshot_and_send_telegram", "device_id": null } } ] }, { "id": "AUT-Notify Vacuum maintenance", "automation": "- alias: AUT-Notify Vacuum maintenance\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: state\n entity_id: vacuum.valetudo_roborocks5\n to: returning\n - platform: state\n entity_id: input_number.vacuum_xiaomi_dust_clean_left\n conditions:\n - condition: template\n value_template: \"{%- set minimal_notify = 2 -%} {{ \\n (states('input_number.vacuum_xiaomi_dust_clean_left')|int)\\\n \\ < minimal_notify\\n}}\\n\"\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: Vacuum need maintenance\n message: 'Cepillo principal*:* `{{ (states(''sensor.valetudo_roborocks5_main_brush'')|int)\n }} h` _restantes_\n\n Cepillo lateral: `{{ (states(''sensor.valetudo_roborocks5_right_brush'')|int)\n }} h` restantes\n\n Filtro: `{{ (states(''sensor.valetudo_roborocks5_main_filter'')|int) }} h`\n restantes\n\n Limpieza de sensores: `{{ (states(''sensor.valetudo_roborocks5_sensor_cleaning'')|int)\n }} h` restantes\n\n Vaciado del deposito: `{{ (states(''input_number.vacuum_xiaomi_dust_clean_left'')|int)\n }} m²` restantes\n\n '\n data:\n inline_keyboard:\n - Vacuum already cleaned:/vacuum_cleaned", "config": [ { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "vacuum xiaomi dust clean left", "room": null, "type": "input_number", "id": { "entity_id": "input_number.vacuum_xiaomi_dust_clean_left", "device_id": null } }, { "name": "valetudo roborocks5 main brush", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_main_brush", "device_id": null } }, { "name": "valetudo roborocks5 right brush", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_right_brush", "device_id": null } }, { "name": "valetudo roborocks5 main filter", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_main_filter", "device_id": null } }, { "name": "valetudo roborocks5 sensor cleaning", "room": null, "type": "sensor", "id": { "entity_id": "sensor.valetudo_roborocks5_sensor_cleaning", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Telegram reset Vacuum meters", "automation": "- alias: AUT-Telegram reset Vacuum meters\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: telegram_command\n event_data: &id013\n command: /vacuum_cleaned\n - platform: event\n event_type: telegram_callback\n event_data: *id013\n actions:\n - service: input_number.set_value\n data_template:\n entity_id: input_number.vacuum_xiaomi_dust_clean_left\n value: '{{ state_attr(''input_number.vacuum_xiaomi_dust_clean_left'', ''max'')|int\n }}\n\n '\n - condition: template\n value_template: '{{ trigger.event.event_type == ''telegram_callback'' }}'\n - service: telegram_bot.answer_callback_query\n data:\n callback_query_id: '{{ trigger.event.data.id }}'\n message: Done!", "config": [ { "name": "vacuum xiaomi dust clean left", "room": null, "type": "input_number", "id": { "entity_id": "input_number.vacuum_xiaomi_dust_clean_left", "device_id": null } } ] }, { "id": "AUT-Telegram stop Vacuum", "automation": "- alias: AUT-Telegram stop Vacuum\n mode: restart\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: telegram_command\n event_data: &id014\n command: /vacuum_stop\n - platform: event\n event_type: telegram_callback\n event_data: *id014\n actions:\n - service: timer.cancel\n target:\n entity_id: timer.vacuum_start_in\n - service: vacuum.stop\n entity_id: vacuum.valetudo_roborocks5\n - delay: 00:00:30\n - service: vacuum.return_to_base\n entity_id: vacuum.valetudo_roborocks5", "config": [ { "name": "vacuum valetudo roborocks5", "room": null, "type": "vacuum", "id": { "entity_id": "vacuum.valetudo_roborocks5", "device_id": null } }, { "name": "vacuum start in timer", "room": null, "type": "timer", "id": { "entity_id": "timer.vacuum_start_in", "device_id": null } } ] }, { "id": "AUT-Notify Washing machine finished", "automation": "- alias: AUT-Notify Washing machine finished\n triggers:\n - platform: state\n entity_id: sensor.washing_machine_status\n to: Clean\n - platform: state\n entity_id:\n - sensor.home_occupancy_status\n to: Home\n for:\n minutes: 2\n conditions:\n condition: and\n conditions:\n - condition: state\n entity_id: sensor.washing_machine_status\n state: Clean\n actions:\n - service: script.notify_in_home_or_all\n data:\n title: Washing Machine finished\n message: Hey, the washing machine has finished and is ready to be emptied\n data:\n inline_keyboard:\n - Already empty:/washing_machine_already_empty", "config": [ { "name": "home occupancy status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.home_occupancy_status", "device_id": null } }, { "name": "washing machine status", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.washing_machine_status", "device_id": null } }, { "name": "Notify in home or all", "room": null, "type": "script", "id": { "entity_id": "script.notify_in_home_or_all", "device_id": null } } ] }, { "id": "AUT-Washing machine should power on", "automation": "- alias: AUT-Washing machine should power on\n initial_state: 'on'\n triggers:\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.washing_machine_power_on_in\n actions:\n - service: timer.cancel\n target:\n entity_id: timer.washing_machine_power_on_in\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: 'Off'\n - service: switch.turn_on\n target:\n entity_id:\n - switch.man_002", "config": [ { "name": "washing machine power on timer", "room": "laundry", "type": "timer", "id": { "entity_id": "timer.washing_machine_power_on_in", "device_id": null } }, { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } }, { "name": "man 002 switch", "room": "laundry", "type": "switch", "id": { "entity_id": "switch.man_002", "device_id": null } } ] }, { "id": "AUT-Washing machine Running", "automation": "- alias: AUT-Washing machine Running\n triggers:\n - platform: numeric_state\n entity_id: sensor.man_002_current_a\n above: 1\n conditions:\n condition: or\n conditions:\n - condition: state\n entity_id: sensor.washing_machine_status\n state:\n - 'Off'\n - Finishing\n - Clean\n - Scheduled\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: Washing", "config": [ { "name": "washing machine status", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.washing_machine_status", "device_id": null } }, { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } }, { "name": "man 002 current", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.man_002_current_a", "device_id": null } } ] }, { "id": "AUT-Washing machine Clean", "automation": "- alias: AUT-Washing machine Clean\n triggers:\n - platform: numeric_state\n entity_id: sensor.man_002_current_a\n below: 0.001\n for:\n minutes: 8\n conditions:\n condition: or\n conditions:\n - condition: state\n entity_id: input_select.washing_machine_status\n state:\n - Washing\n - Finishing\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: Clean", "config": [ { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } }, { "name": "man 002 current", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.man_002_current_a", "device_id": null } } ] }, { "id": "AUT-Washing machine Emptying", "automation": "- alias: AUT-Washing machine Emptying\n triggers:\n - platform: numeric_state\n entity_id: sensor.man_002_current_a\n above: 0.001\n conditions:\n condition: or\n conditions:\n - condition: state\n entity_id: input_select.washing_machine_status\n state:\n - Clean\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: Emptying", "config": [ { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } }, { "name": "man 002 current", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.man_002_current_a", "device_id": null } } ] }, { "id": "AUT-Washing machine Off", "automation": "- alias: AUT-Washing machine Off\n triggers:\n - platform: numeric_state\n entity_id: sensor.man_002_current_a\n below: 0.001\n for:\n minutes: 15\n conditions:\n condition: or\n conditions:\n - condition: state\n entity_id: input_select.washing_machine_status\n state:\n - Emptying\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: 'Off'", "config": [ { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } }, { "name": "man 002 current", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.man_002_current_a", "device_id": null } } ] }, { "id": "AUT-Washing machine Force Off", "automation": "- alias: AUT-Washing machine Force Off\n triggers:\n - platform: event\n event_type: telegram_command\n event_data: &id015\n command: /washing_machine_already_empty\n - platform: event\n event_type: telegram_callback\n event_data: *id015\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.washing_machine_status\n option: 'Off'", "config": [ { "name": "washing machine status select", "room": "laundry", "type": "input_select", "id": { "entity_id": "input_select.washing_machine_status", "device_id": null } } ] }, { "id": "AUT-Mark windows preferred status as close", "automation": "- alias: AUT-Mark windows preferred status as close\n mode: queued\n triggers:\n - platform: template\n value_template: '{{ states(''binary_sensor.environment_001_temperature_rising'')\n and states(''binary_sensor.dyson_01_temperature_rising'') }}'\n for: 01:30:00\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.windows_preferred_status\n option: Close", "config": [ { "name": "environment 001 temperature rising", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.environment_001_temperature_rising", "device_id": null } }, { "name": "dyson 01 temperature rising", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.dyson_01_temperature_rising", "device_id": null } }, { "name": "windows preferred status", "room": null, "type": "input_select", "id": { "entity_id": "input_select.windows_preferred_status", "device_id": null } }, { "name": "dyson 01 temperature", "room": null, "type": "sensor", "id": { "entity_id": "sensor.dyson_01_temperature", "device_id": null } } ] }, { "id": "AUT-Mark windows preferred status as open", "automation": "- alias: AUT-Mark windows preferred status as open\n mode: queued\n triggers:\n - platform: template\n value_template: '{{ states(''binary_sensor.environment_001_temperature_falling'')\n and (states(''sensor.ble_environment_001_temperature'') < states(''sensor.dyson_01_temperature''))\n }}'\n for: 00:10:00\n actions:\n - service: input_select.select_option\n data:\n entity_id: input_select.windows_preferred_status\n option: Open", "config": [ { "name": "windows preferred status", "room": null, "type": "input_select", "id": { "entity_id": "input_select.windows_preferred_status", "device_id": null } }, { "name": "environment 001 temperature falling", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.environment_001_temperature_falling", "device_id": null } }, { "name": "ble environment 001 temperature", "room": null, "type": "sensor", "id": { "entity_id": "sensor.ble_environment_001_temperature", "device_id": null } }, { "name": "dyson 01 temperature", "room": null, "type": "sensor", "id": { "entity_id": "sensor.dyson_01_temperature", "device_id": null } } ] } ]