[ { "id": "a4fe52e0-99f0-449d-9bc7-50378d9d6df8", "automation": "- id: a4fe52e0-99f0-449d-9bc7-50378d9d6df8\n alias: night_ambiance\n initial_state: true\n mode: restart\n triggers:\n - trigger: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: -3.0\n - trigger: state\n entity_id: group.household\n to: home\n conditions:\n - condition: time\n before: input_datetime.evening_ambiance_end\n - condition: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: -3.0\n - condition: state\n entity_id: group.household\n state: home\n actions:\n - parallel:\n - action: script.evening_ambiance\n - action: light.turn_on\n target:\n entity_id:\n - light.backyard_string\n - light.front_porch\n - light.side_porch_sconce\n - light.shed_outdoor", "config": [ { "name": "sun", "room": "outdoor", "type": "sensor", "id": { "entity_id": "sun.sun", "device_id": null } }, { "name": "household group", "room": "house", "type": "group", "id": { "entity_id": "group.household", "device_id": null } }, { "name": "evening ambiance end", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.evening_ambiance_end", "device_id": null } }, { "name": "evening ambiance script", "room": "system", "type": "script", "id": { "entity_id": "script.evening_ambiance", "device_id": null } }, { "name": "backyard string light", "room": "backyard", "type": "light", "id": { "entity_id": "light.backyard_string", "device_id": null } }, { "name": "front porch light", "room": "front_porch", "type": "light", "id": { "entity_id": "light.front_porch", "device_id": null } }, { "name": "side porch sconce", "room": "side_porch", "type": "light", "id": { "entity_id": "light.side_porch_sconce", "device_id": null } }, { "name": "shed outdoor light", "room": "shed", "type": "light", "id": { "entity_id": "light.shed_outdoor", "device_id": null } } ] }, { "id": "2c48ecbc-7b65-4938-af37-dcda12952465", "automation": "- id: 2c48ecbc-7b65-4938-af37-dcda12952465\n alias: arrival_lights\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id:\n - person.chris\n - person.karine\n - group.guests\n to: home\n conditions:\n - condition: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: -3.0\n actions:\n - action: light.turn_on\n target:\n entity_id:\n - light.front_porch\n - light.side_porch_sconce", "config": [ { "name": "sun", "room": "outdoor", "type": "sensor", "id": { "entity_id": "sun.sun", "device_id": null } }, { "name": "front porch light", "room": "front_porch", "type": "light", "id": { "entity_id": "light.front_porch", "device_id": null } }, { "name": "side porch sconce", "room": "side_porch", "type": "light", "id": { "entity_id": "light.side_porch_sconce", "device_id": null } }, { "name": "chris person", "room": "house", "type": "person", "id": { "entity_id": "person.chris", "device_id": null } }, { "name": "karine person", "room": "house", "type": "person", "id": { "entity_id": "person.karine", "device_id": null } }, { "name": "guests group", "room": "house", "type": "group", "id": { "entity_id": "group.guests", "device_id": null } } ] }, { "id": "a109af89-0910-45b2-9a0e-11d3ae43ec7c", "automation": "- id: a109af89-0910-45b2-9a0e-11d3ae43ec7c\n alias: turn_off_outdoor\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id: light.outdoor_lights\n to: 'on'\n for: 300\n - trigger: time\n at: input_datetime.evening_ambiance_end\n - trigger: state\n entity_id: binary_sensor.guest_mode\n to: 'off'\n conditions:\n - condition: state\n entity_id: binary_sensor.guest_mode\n state: 'off'\n - condition: state\n entity_id: light.outdoor_lights\n state: 'on'\n for: 300\n - condition: time\n after: input_datetime.evening_ambiance_end\n before: '15:00:00'\n actions:\n - action: light.turn_off\n target:\n entity_id: light.outdoor_lights", "config": [ { "name": "evening ambiance end", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.evening_ambiance_end", "device_id": null } }, { "name": "outdoor lights", "room": "outdoor", "type": "light", "id": { "entity_id": "light.outdoor_lights", "device_id": null } }, { "name": "guest mode", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.guest_mode", "device_id": null } } ] }, { "id": "36afcfe6-d475-447c-b089-d33aec62a774", "automation": "- id: 36afcfe6-d475-447c-b089-d33aec62a774\n alias: broadcast_notifications\n initial_state: true\n mode: queued\n max: 25\n triggers:\n - trigger: homeassistant\n event: start\n - trigger: state\n entity_id: todo.audio_broadcast\n - trigger: state\n entity_id: group.household\n to: home\n for: 120\n - trigger: time\n at:\n - input_datetime.broadcast_weekday_start\n - input_datetime.broadcast_weekend_start\n conditions:\n - condition: numeric_state\n entity_id: todo.audio_broadcast\n above: 0\n - condition: state\n entity_id: group.household\n state: home\n for: 120\n - or:\n - condition: time\n after: input_datetime.broadcast_weekday_start\n before: input_datetime.broadcast_weekday_end\n weekday:\n - mon\n - tue\n - wed\n - thu\n - condition: time\n after: input_datetime.broadcast_weekday_start\n before: input_datetime.broadcast_weekend_end\n weekday:\n - fri\n - condition: time\n after: input_datetime.broadcast_weekend_start\n before: input_datetime.broadcast_weekend_end\n weekday:\n - sat\n - condition: time\n after: input_datetime.broadcast_weekend_start\n before: input_datetime.broadcast_weekday_end\n weekday:\n - sun\n actions:\n - action: todo.get_items\n response_variable: broadcast_items\n target:\n entity_id: todo.audio_broadcast\n data:\n status:\n - needs_action\n - variables:\n broadcast_item: '{{ broadcast_items[''todo.audio_broadcast''][''items''][0]\n }}'\n - action: script.broadcast_notification\n data:\n message: '{{ broadcast_item[''description''] | default(broadcast_item[''summary''],\n true) }}'\n - wait_template: '{{ is_state(''script.broadcast_notification'', ''off'') }}'\n - action: script.manage_broadcast_queue\n data:\n action: pop\n tag: '{{ broadcast_item[''summary''] }}'", "config": [ { "name": "household group", "room": "house", "type": "group", "id": { "entity_id": "group.household", "device_id": null } }, { "name": "audio broadcast todo", "room": "system", "type": "todo", "id": { "entity_id": "todo.audio_broadcast", "device_id": null } }, { "name": "broadcast weekday start", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.broadcast_weekday_start", "device_id": null } }, { "name": "broadcast weekend start", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.broadcast_weekend_start", "device_id": null } }, { "name": "broadcast weekday end", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.broadcast_weekday_end", "device_id": null } }, { "name": "broadcast weekend end", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.broadcast_weekend_end", "device_id": null } }, { "name": "broadcast notification script", "room": "system", "type": "script", "id": { "entity_id": "script.broadcast_notification", "device_id": null } }, { "name": "manage broadcast queue script", "room": "system", "type": "script", "id": { "entity_id": "script.manage_broadcast_queue", "device_id": null } } ] }, { "id": "e50d2e13-9c88-4b02-89af-e863a7d763d5", "automation": "- id: e50d2e13-9c88-4b02-89af-e863a7d763d5\n alias: chris_remote_restore_initial_option\n description: Restore entity selected by Chris' remote after some time\n use_blueprint:\n path: reset_input_select.yaml\n input:\n default_option: light.bedside_chris\n delay: 300\n entity_id: input_select.chris_remote_entity", "config": [ { "name": "chris remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.chris_remote_entity", "device_id": null } }, { "name": "bedside chris light", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.bedside_chris", "device_id": null } } ] }, { "id": "ff872bdf-a0af-4e30-9aa3-449d7ff4367b", "automation": "- id: ff872bdf-a0af-4e30-9aa3-449d7ff4367b\n alias: chris_remote_apply_color_change\n description: Turn on and change the color on Chris' remote entity\n initial_state: true\n max_exceeded: silent\n mode: queued\n triggers:\n - trigger: state\n entity_id: input_select.chris_remote_color\n actions:\n - action: light.turn_on\n target:\n entity_id: '{{ states(''input_select.chris_remote_entity'') }}'\n data:\n rgb_color: '{{ trigger.to_state.state }}'", "config": [ { "name": "chris remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.chris_remote_entity", "device_id": null } }, { "name": "chris remote color select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.chris_remote_color", "device_id": null } } ] }, { "id": "abf7b09f-0e7b-4b0c-b6ef-85631f25c63e", "automation": "- id: abf7b09f-0e7b-4b0c-b6ef-85631f25c63e\n alias: chris_remote\n description: Map Chris' remote buttons to useful actions\n use_blueprint:\n path: zha/bedside_remote.yaml\n input:\n color_input_select: input_select.chris_remote_color\n device_ieee: 00:0d:6f:ff:fe:61:69:25\n entity_input_select: input_select.chris_remote_entity", "config": [ { "name": "chris remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.chris_remote_entity", "device_id": null } }, { "name": "chris remote color select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.chris_remote_color", "device_id": null } } ] }, { "id": "1ff64444-5414-49d5-b314-b0a3a82075c5", "automation": "- id: 1ff64444-5414-49d5-b314-b0a3a82075c5\n alias: update_backend_theme\n initial_state: true\n mode: queued\n triggers:\n - trigger: state\n entity_id:\n - input_select.default_theme\n - binary_sensor.use_alarm_theme\n - binary_sensor.winter_credit_peak_event\n to: null\n actions:\n - action: frontend.set_theme\n data:\n name: \"{%\\n set mode = 'dark'\\n if is_state('binary_sensor.use_dark_theme',\\\n \\ 'on')\\n else 'light'\\n-%} {% if is_state('binary_sensor.use_alarm_theme',\\\n \\ 'on') -%}\\n ios-{{ mode }}-mode-red\\n{%- elif is_state('binary_sensor.winter_credit_peak_event',\\\n \\ 'on') -%}\\n ios-{{ mode }}-mode-light-blue\\n{%- else -%}\\n {{ states('input_select.default_theme')\\\n \\ | default('default', True) -}}\\n{% endif %}\"", "config": [ { "name": "default theme select", "room": "system", "type": "input_select", "id": { "entity_id": "input_select.default_theme", "device_id": null } }, { "name": "use alarm theme", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.use_alarm_theme", "device_id": null } }, { "name": "winter credit peak event", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.winter_credit_peak_event", "device_id": null } }, { "name": "use dark theme", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.use_dark_theme", "device_id": null } } ] }, { "id": "a87a26c7-b1d4-4080-842b-4ee8a6e5b6f5", "automation": "- id: a87a26c7-b1d4-4080-842b-4ee8a6e5b6f5\n alias: update_default_theme\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.use_dark_theme\n - input_boolean.automatic_night_theme\n - input_select.day_theme\n - input_select.night_theme\n to: null\n - trigger: homeassistant\n event: start\n conditions:\n - condition: state\n entity_id: input_boolean.automatic_night_theme\n state: 'on'\n actions:\n - action: input_select.select_option\n target:\n entity_id: input_select.default_theme\n data:\n option: \"{{\\n states(\\n 'input_select.'\\n ~ ('night' if is_state('binary_sensor.use_dark_theme',\\\n \\ 'on') else 'day' )\\n ~ '_theme'\\n ) | default('default')\\n}}\"", "config": [ { "name": "default theme select", "room": "system", "type": "input_select", "id": { "entity_id": "input_select.default_theme", "device_id": null } }, { "name": "use dark theme", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.use_dark_theme", "device_id": null } }, { "name": "automatic night theme", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.automatic_night_theme", "device_id": null } }, { "name": "day theme select", "room": "system", "type": "input_select", "id": { "entity_id": "input_select.day_theme", "device_id": null } }, { "name": "night theme select", "room": "system", "type": "input_select", "id": { "entity_id": "input_select.night_theme", "device_id": null } } ] }, { "id": "54655af9-ddc7-491d-9200-41aaaddbb21a", "automation": "- id: 54655af9-ddc7-491d-9200-41aaaddbb21a\n alias: empty_house\n initial_state: true\n triggers:\n - trigger: state\n entity_id: group.household\n from: home\n for: 30\n conditions:\n - condition: state\n entity_id: binary_sensor.guest_mode\n state: 'off'\n actions:\n - action: script.everything_off\n - action: lock.lock\n target:\n entity_id: lock.kitchen_door", "config": [ { "name": "household group", "room": "house", "type": "group", "id": { "entity_id": "group.household", "device_id": null } }, { "name": "guest mode", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.guest_mode", "device_id": null } }, { "name": "everything off script", "room": "system", "type": "script", "id": { "entity_id": "script.everything_off", "device_id": null } }, { "name": "kitchen door lock", "room": "kitchen", "type": "lock", "id": { "entity_id": "lock.kitchen_door", "device_id": null } } ] }, { "id": "77087f1e-f617-4fa6-8520-22793f3c1bfb", "automation": "- id: 77087f1e-f617-4fa6-8520-22793f3c1bfb\n alias: Use internal heat pump temperature probe\n description: Switch to the internal heat pump temperature probe\n mode: restart\n triggers:\n - trigger: state\n entity_id: input_boolean.use_heat_pump_virtual_probe\n to: 'off'\n actions:\n - action: esphome.ground_floor_heat_pump_use_internal_temperature", "config": [ { "name": "use heat pump virtual probe", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.use_heat_pump_virtual_probe", "device_id": null } }, { "name": "ground floor heat pump use internal temperature", "room": "ground_floor", "type": "esphome", "id": { "entity_id": "esphome.ground_floor_heat_pump_use_internal_temperature", "device_id": null } } ] }, { "id": "4c8cf214-db8a-4d0e-b039-f502dc5e21ed", "automation": "- id: 4c8cf214-db8a-4d0e-b039-f502dc5e21ed\n alias: Sync virtual heat pump temperature probe\n description: Keep the heat pump's external temperature prope in sync with thermostat\n readings\n mode: restart\n triggers:\n - trigger: homeassistant\n event: start\n - trigger: state\n entity_id: input_boolean.use_heat_pump_virtual_probe\n to: 'on'\n - trigger: state\n entity_id: sensor.heat_pump_virtual_probe\n for: 5\n not_to: unavailable\n conditions:\n - condition: state\n entity_id: input_boolean.use_heat_pump_virtual_probe\n state: 'on'\n - not:\n - condition: state\n entity_id: sensor.heat_pump_virtual_probe\n state: unavailable\n actions:\n - action: esphome.ground_floor_heat_pump_set_remote_temperature\n data:\n temperature: '{{ states(''sensor.heat_pump_virtual_probe'') | round(precision\n = 0) }}'", "config": [ { "name": "use heat pump virtual probe", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.use_heat_pump_virtual_probe", "device_id": null } }, { "name": "heat pump virtual probe sensor", "room": "ground_floor", "type": "sensor", "id": { "entity_id": "sensor.heat_pump_virtual_probe", "device_id": null } }, { "name": "ground floor heat pump set remote temperature", "room": "ground_floor", "type": "esphome", "id": { "entity_id": "esphome.ground_floor_heat_pump_set_remote_temperature", "device_id": null } } ] }, { "id": "6ea34d47-1181-4c94-9ab6-43fe4c0b42cc", "automation": "- id: 6ea34d47-1181-4c94-9ab6-43fe4c0b42cc\n alias: notify_update_available\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id: sensor.latest_home_assistant_version\n not_to:\n - unknown\n - unavailable\n conditions: '{{ trigger.to_state.state | version > states(''sensor.current_home_assistant_version'')\n }}'\n actions:\n - action: python_script.notify\n data:\n persistent: true\n push_target: admin\n tag: hass_version\n url: https://github.com/home-assistant/home-assistant/releases/tag/{{ trigger.to_state.state\n }}\n title: Home Assistant Update\n message: Home Assistant {{ trigger.to_state.state }} is available.", "config": [ { "name": "latest home assistant version", "room": "system", "type": "sensor", "id": { "entity_id": "sensor.latest_home_assistant_version", "device_id": null } }, { "name": "current home assistant version", "room": "system", "type": "sensor", "id": { "entity_id": "sensor.current_home_assistant_version", "device_id": null } }, { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } } ] }, { "id": "0c595e90-4186-4152-b80e-41a491749dde", "automation": "- id: 0c595e90-4186-4152-b80e-41a491749dde\n alias: notify_failed_login_attempt\n initial_state: true\n mode: parallel\n triggers:\n - trigger: event\n event_type: call_service\n event_data:\n domain: persistent_notification\n action: create\n service_data:\n notification_id: http-login\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n title: '{{ trigger.event.data.service_data.title }}'\n message: '{{ trigger.event.data.service_data.message }}'", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } } ] }, { "id": "673d5462-19e1-4a63-ad41-75c0690dcaa2", "automation": "- id: 673d5462-19e1-4a63-ad41-75c0690dcaa2\n alias: Notify HA status.\n triggers:\n - trigger: homeassistant\n event: start\n variables:\n action: started\n - trigger: homeassistant\n event: shutdown\n variables:\n action: shut down\n actions:\n - action: notify.admin\n data:\n message: Home-Assistant has {{ action }}.\n data:\n tag: homeassistant-status", "config": [] }, { "id": "c7929657-8241-478e-9a89-d2562c720120", "automation": "- alias: Reload jinja2 templates\n id: c7929657-8241-478e-9a89-d2562c720120\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: event.jinja2_custom_templates_updated\n actions:\n - action: homeassistant.reload_custom_templates", "config": [ { "name": "jinja2 custom templates updated event", "room": "system", "type": "event", "id": { "entity_id": "event.jinja2_custom_templates_updated", "device_id": null } } ] }, { "id": "2c7d9807-9f19-4b55-b944-17005a27e6c0", "automation": "- alias: presence_alarm_armed\n id: 2c7d9807-9f19-4b55-b944-17005a27e6c0\n description: Initialize home alarm states when arming is enabled.\n initial_state: true\n triggers:\n - trigger: state\n entity_id: binary_sensor.presence_armed\n from: 'off'\n to: 'on'\n actions:\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: Intrusion alarm armed.\n - action: script.initialize_alarm_states", "config": [ { "name": "presence armed", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.presence_armed", "device_id": null } }, { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "initialize alarm states script", "room": "system", "type": "script", "id": { "entity_id": "script.initialize_alarm_states", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "249f90de-0afe-4735-9b17-a59f035ec4f3", "automation": "- alias: log_intrusion_clear\n id: 249f90de-0afe-4735-9b17-a59f035ec4f3\n description: Log intrusion cleared events.\n initial_state: true\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.intrusion_activity\n from: 'on'\n to: 'off'\n actions:\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: ({{ states('input_text.presence_armed_id') }}) Intrusion cleared.", "config": [ { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "intrusion activity", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.intrusion_activity", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "64ef04c6-d94c-4d70-a116-d50ab1b295a5", "automation": "- alias: log_presence_alarm_disarmed\n id: 64ef04c6-d94c-4d70-a116-d50ab1b295a5\n description: Log disarming of presence alarm.\n initial_state: true\n triggers:\n - trigger: state\n entity_id: binary_sensor.presence_armed\n from: 'on'\n to: 'off'\n actions:\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: ({{ states('input_text.presence_armed_id') }}) Presence alarm disarmed.", "config": [ { "name": "presence armed", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.presence_armed", "device_id": null } }, { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "1bbacc2c-2ce3-428a-bfdd-6d9480be23b8", "automation": "- alias: record_activity_while_armed\n id: 1bbacc2c-2ce3-428a-bfdd-6d9480be23b8\n description: Record activity in the house while system is armed.\n initial_state: true\n mode: queued\n triggers:\n - trigger: state\n entity_id:\n - sensor.current_door\n - sensor.current_motion\n - sensor.current_window\n variables:\n entity_id: '{{ trigger.to_state.state }}'\n - trigger: state\n entity_id:\n - event.hallway_spots_dimmer_on_pressed\n - event.hallway_spots_dimmer_off_pressed\n - event.kitchen_track_light_dimmer_off_pressed\n - event.kitchen_track_light_dimmer_on_pressed\n - event.backyard_soffit_spots_dimmer_off_pressed\n - event.backyard_soffit_spots_dimmer_on_pressed\n - event.dining_room_light_dimmer_off_pressed\n - event.dining_room_light_dimmer_on_pressed\n - event.side_porch_sconce_dimmer_off_pressed\n - event.side_porch_sconce_dimmer_on_pressed\n - event.master_bedroom_sconces_dimmer_off_pressed\n - event.master_bedroom_sconces_dimmer_on_pressed\n - event.master_bedroom_spots_dimmer_off_pressed\n - event.master_bedroom_spots_dimmer_on_pressed\n - event.kitchen_sink_light_switch_off_pressed\n - event.kitchen_sink_light_switch_on_pressed\n - event.front_porch_light_switch_off_pressed\n - event.front_porch_light_switch_on_pressed\n - event.shed_outdoor_light_switch_on_pressed\n - event.shed_outdoor_light_switch_off_pressed\n - event.shed_light_switch_off_pressed\n - event.shed_light_switch_on_pressed\n - event.master_bedroom_closet_light_switch_off_pressed\n - event.master_bedroom_closet_light_switch_on_pressed\n - event.basement_bathroom_fan_switch_on_pressed\n - event.basement_bathroom_fan_switch_off_pressed\n - event.basement_bathroom_light_switch_on_pressed\n - event.basement_bathroom_light_switch_off_pressed\n - event.basement_bathroom_vanity_dimmer_on_pressed\n - event.basement_bathroom_vanity_dimmer_off_pressed\n - event.basement_hallway_dimmer_on_pressed\n - event.basement_hallway_dimmer_off_pressed\n - event.downstairs_light_switch_on_pressed\n - event.downstairs_light_switch_off_pressed\n - event.guest_bedroom_closet_light_switch_on_pressed\n - event.guest_bedroom_closet_light_switch_off_pressed\n - event.guest_bedroom_spots_dimmer_off_pressed\n - event.guest_bedroom_spots_dimmer_on_pressed\n - event.laundry_dimmer_off_pressed\n - event.laundry_dimmer_on_pressed\n - event.bookshelf_light_switch_on_pressed\n - event.bookshelf_light_switch_off_pressed\n - event.foyer_light_switch_on_pressed\n - event.foyer_light_switch_off_pressed\n - event.living_room_dimmer_off_pressed\n - event.living_room_dimmer_on_pressed\n - event.staircase_dimmer_on_pressed\n - event.staircase_dimmer_off_pressed\n - event.lounge_dimmer_off_pressed\n - event.lounge_dimmer_on_pressed\n - event.main_bathroom_dimmer_on_pressed\n - event.main_bathroom_dimmer_off_pressed\n - event.main_bathroom_fan_switch_on_pressed\n - event.main_bathroom_fan_switch_off_pressed\n - event.main_bathroom_vanity_light_switch_on_pressed\n - event.main_bathroom_vanity_light_switch_off_pressed\n - event.office_spots_dimmer_off_pressed\n - event.office_spots_dimmer_on_pressed\n - event.studio_panel_light_switch_off_pressed\n - event.studio_panel_light_switch_on_pressed\n - event.studio_spots_dimmer_off_pressed\n - event.studio_spots_dimmer_on_pressed\n - event.workshop_light_switch_on_pressed\n - event.workshop_light_switch_off_pressed\n variables:\n entity_id: '{{ trigger.entity_id }}'\n conditions:\n - condition: state\n entity_id: binary_sensor.presence_armed\n state: 'on'\n - condition: template\n value_template: '{{ entity_id != '''' }}'\n actions:\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: '({{ states(''input_text.presence_armed_id'') }}) Intrusion activity:\n {{ entity_id | device_name }} ({{ entity_id }})'\n - action: todo.add_item\n target:\n entity_id: todo.intrusion_record\n data:\n item: '{{ entity_id }}'", "config": [ { "name": "presence armed", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.presence_armed", "device_id": null } }, { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "intrusion record todo", "room": "system", "type": "todo", "id": { "entity_id": "todo.intrusion_record", "device_id": null } }, { "name": "current door sensor", "room": "system", "type": "sensor", "id": { "entity_id": "sensor.current_door", "device_id": null } }, { "name": "current motion sensor", "room": "system", "type": "sensor", "id": { "entity_id": "sensor.current_motion", "device_id": null } }, { "name": "current window sensor", "room": "system", "type": "sensor", "id": { "entity_id": "sensor.current_window", "device_id": null } }, { "name": "hallway spots dimmer on pressed", "room": "hallway", "type": "event", "id": { "entity_id": "event.hallway_spots_dimmer_on_pressed", "device_id": null } }, { "name": "hallway spots dimmer off pressed", "room": "hallway", "type": "event", "id": { "entity_id": "event.hallway_spots_dimmer_off_pressed", "device_id": null } }, { "name": "kitchen track light dimmer off pressed", "room": "kitchen", "type": "event", "id": { "entity_id": "event.kitchen_track_light_dimmer_off_pressed", "device_id": null } }, { "name": "kitchen track light dimmer on pressed", "room": "kitchen", "type": "event", "id": { "entity_id": "event.kitchen_track_light_dimmer_on_pressed", "device_id": null } }, { "name": "backyard soffit spots dimmer off pressed", "room": "backyard", "type": "event", "id": { "entity_id": "event.backyard_soffit_spots_dimmer_off_pressed", "device_id": null } }, { "name": "backyard soffit spots dimmer on pressed", "room": "backyard", "type": "event", "id": { "entity_id": "event.backyard_soffit_spots_dimmer_on_pressed", "device_id": null } }, { "name": "dining room light dimmer off pressed", "room": "dining_room", "type": "event", "id": { "entity_id": "event.dining_room_light_dimmer_off_pressed", "device_id": null } }, { "name": "dining room light dimmer on pressed", "room": "dining_room", "type": "event", "id": { "entity_id": "event.dining_room_light_dimmer_on_pressed", "device_id": null } }, { "name": "side porch sconce dimmer off pressed", "room": "side_porch", "type": "event", "id": { "entity_id": "event.side_porch_sconce_dimmer_off_pressed", "device_id": null } }, { "name": "side porch sconce dimmer on pressed", "room": "side_porch", "type": "event", "id": { "entity_id": "event.side_porch_sconce_dimmer_on_pressed", "device_id": null } }, { "name": "master bedroom sconces dimmer off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_sconces_dimmer_off_pressed", "device_id": null } }, { "name": "master bedroom sconces dimmer on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_sconces_dimmer_on_pressed", "device_id": null } }, { "name": "master bedroom spots dimmer off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_spots_dimmer_off_pressed", "device_id": null } }, { "name": "master bedroom spots dimmer on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_spots_dimmer_on_pressed", "device_id": null } }, { "name": "kitchen sink light switch off pressed", "room": "kitchen", "type": "event", "id": { "entity_id": "event.kitchen_sink_light_switch_off_pressed", "device_id": null } }, { "name": "kitchen sink light switch on pressed", "room": "kitchen", "type": "event", "id": { "entity_id": "event.kitchen_sink_light_switch_on_pressed", "device_id": null } }, { "name": "front porch light switch off pressed", "room": "front_porch", "type": "event", "id": { "entity_id": "event.front_porch_light_switch_off_pressed", "device_id": null } }, { "name": "front porch light switch on pressed", "room": "front_porch", "type": "event", "id": { "entity_id": "event.front_porch_light_switch_on_pressed", "device_id": null } }, { "name": "shed outdoor light switch on pressed", "room": "shed", "type": "event", "id": { "entity_id": "event.shed_outdoor_light_switch_on_pressed", "device_id": null } }, { "name": "shed outdoor light switch off pressed", "room": "shed", "type": "event", "id": { "entity_id": "event.shed_outdoor_light_switch_off_pressed", "device_id": null } }, { "name": "shed light switch off pressed", "room": "shed", "type": "event", "id": { "entity_id": "event.shed_light_switch_off_pressed", "device_id": null } }, { "name": "shed light switch on pressed", "room": "shed", "type": "event", "id": { "entity_id": "event.shed_light_switch_on_pressed", "device_id": null } }, { "name": "master bedroom closet light switch off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_closet_light_switch_off_pressed", "device_id": null } }, { "name": "master bedroom closet light switch on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_closet_light_switch_on_pressed", "device_id": null } }, { "name": "basement bathroom fan switch on pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_fan_switch_on_pressed", "device_id": null } }, { "name": "basement bathroom fan switch off pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_fan_switch_off_pressed", "device_id": null } }, { "name": "basement bathroom light switch on pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_light_switch_on_pressed", "device_id": null } }, { "name": "basement bathroom light switch off pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_light_switch_off_pressed", "device_id": null } }, { "name": "basement bathroom vanity dimmer on pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_vanity_dimmer_on_pressed", "device_id": null } }, { "name": "basement bathroom vanity dimmer off pressed", "room": "basement_bathroom", "type": "event", "id": { "entity_id": "event.basement_bathroom_vanity_dimmer_off_pressed", "device_id": null } }, { "name": "basement hallway dimmer on pressed", "room": "basement_hallway", "type": "event", "id": { "entity_id": "event.basement_hallway_dimmer_on_pressed", "device_id": null } }, { "name": "basement hallway dimmer off pressed", "room": "basement_hallway", "type": "event", "id": { "entity_id": "event.basement_hallway_dimmer_off_pressed", "device_id": null } }, { "name": "downstairs light switch on pressed", "room": "downstairs", "type": "event", "id": { "entity_id": "event.downstairs_light_switch_on_pressed", "device_id": null } }, { "name": "downstairs light switch off pressed", "room": "downstairs", "type": "event", "id": { "entity_id": "event.downstairs_light_switch_off_pressed", "device_id": null } }, { "name": "guest bedroom closet light switch on pressed", "room": "guest_bedroom", "type": "event", "id": { "entity_id": "event.guest_bedroom_closet_light_switch_on_pressed", "device_id": null } }, { "name": "guest bedroom closet light switch off pressed", "room": "guest_bedroom", "type": "event", "id": { "entity_id": "event.guest_bedroom_closet_light_switch_off_pressed", "device_id": null } }, { "name": "guest bedroom spots dimmer off pressed", "room": "guest_bedroom", "type": "event", "id": { "entity_id": "event.guest_bedroom_spots_dimmer_off_pressed", "device_id": null } }, { "name": "guest bedroom spots dimmer on pressed", "room": "guest_bedroom", "type": "event", "id": { "entity_id": "event.guest_bedroom_spots_dimmer_on_pressed", "device_id": null } }, { "name": "laundry dimmer off pressed", "room": "laundry", "type": "event", "id": { "entity_id": "event.laundry_dimmer_off_pressed", "device_id": null } }, { "name": "laundry dimmer on pressed", "room": "laundry", "type": "event", "id": { "entity_id": "event.laundry_dimmer_on_pressed", "device_id": null } }, { "name": "bookshelf light switch on pressed", "room": "living_room", "type": "event", "id": { "entity_id": "event.bookshelf_light_switch_on_pressed", "device_id": null } }, { "name": "bookshelf light switch off pressed", "room": "living_room", "type": "event", "id": { "entity_id": "event.bookshelf_light_switch_off_pressed", "device_id": null } }, { "name": "foyer light switch on pressed", "room": "foyer", "type": "event", "id": { "entity_id": "event.foyer_light_switch_on_pressed", "device_id": null } }, { "name": "foyer light switch off pressed", "room": "foyer", "type": "event", "id": { "entity_id": "event.foyer_light_switch_off_pressed", "device_id": null } }, { "name": "living room dimmer off pressed", "room": "living_room", "type": "event", "id": { "entity_id": "event.living_room_dimmer_off_pressed", "device_id": null } }, { "name": "living room dimmer on pressed", "room": "living_room", "type": "event", "id": { "entity_id": "event.living_room_dimmer_on_pressed", "device_id": null } }, { "name": "staircase dimmer on pressed", "room": "staircase", "type": "event", "id": { "entity_id": "event.staircase_dimmer_on_pressed", "device_id": null } }, { "name": "staircase dimmer off pressed", "room": "staircase", "type": "event", "id": { "entity_id": "event.staircase_dimmer_off_pressed", "device_id": null } }, { "name": "lounge dimmer off pressed", "room": "lounge", "type": "event", "id": { "entity_id": "event.lounge_dimmer_off_pressed", "device_id": null } }, { "name": "lounge dimmer on pressed", "room": "lounge", "type": "event", "id": { "entity_id": "event.lounge_dimmer_on_pressed", "device_id": null } }, { "name": "main bathroom dimmer on pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_dimmer_on_pressed", "device_id": null } }, { "name": "main bathroom dimmer off pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_dimmer_off_pressed", "device_id": null } }, { "name": "main bathroom fan switch on pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_fan_switch_on_pressed", "device_id": null } }, { "name": "main bathroom fan switch off pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_fan_switch_off_pressed", "device_id": null } }, { "name": "main bathroom vanity light switch on pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_vanity_light_switch_on_pressed", "device_id": null } }, { "name": "main bathroom vanity light switch off pressed", "room": "main_bathroom", "type": "event", "id": { "entity_id": "event.main_bathroom_vanity_light_switch_off_pressed", "device_id": null } }, { "name": "office spots dimmer off pressed", "room": "office", "type": "event", "id": { "entity_id": "event.office_spots_dimmer_off_pressed", "device_id": null } }, { "name": "office spots dimmer on pressed", "room": "office", "type": "event", "id": { "entity_id": "event.office_spots_dimmer_on_pressed", "device_id": null } }, { "name": "studio panel light switch off pressed", "room": "studio", "type": "event", "id": { "entity_id": "event.studio_panel_light_switch_off_pressed", "device_id": null } }, { "name": "studio panel light switch on pressed", "room": "studio", "type": "event", "id": { "entity_id": "event.studio_panel_light_switch_on_pressed", "device_id": null } }, { "name": "studio spots dimmer off pressed", "room": "studio", "type": "event", "id": { "entity_id": "event.studio_spots_dimmer_off_pressed", "device_id": null } }, { "name": "studio spots dimmer on pressed", "room": "studio", "type": "event", "id": { "entity_id": "event.studio_spots_dimmer_on_pressed", "device_id": null } }, { "name": "workshop light switch on pressed", "room": "workshop", "type": "event", "id": { "entity_id": "event.workshop_light_switch_on_pressed", "device_id": null } }, { "name": "workshop light switch off pressed", "room": "workshop", "type": "event", "id": { "entity_id": "event.workshop_light_switch_off_pressed", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "6943625e-997b-4650-b608-acb10bf3ca57", "automation": "- alias: start_intrusion_alarm\n id: 6943625e-997b-4650-b608-acb10bf3ca57\n description: Trigger alarm notifications when an intrusion is detected.\n use_blueprint:\n path: alarm/start_alarm.yaml\n input:\n name: Intrusion\n group: binary_sensor.intrusion_activity\n tag: '{{ states(''input_text.presence_armed_id'') }}'\n actions:\n - action: silence_{{ states('input_text.presence_armed_id') }}\n title: Silence\n - action: reset_{{ states('input_text.presence_armed_id') }}\n title: Reset\n silenced:\n - condition: state\n entity_id: input_boolean.silence_intrusion_alarm\n state: 'off'", "config": [ { "name": "intrusion activity", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.intrusion_activity", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "silence intrusion alarm", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.silence_intrusion_alarm", "device_id": null } } ] }, { "id": "8e77137f-af56-48bd-b82c-7e5bb0ab4ff8", "automation": "- alias: clear_intrusion_alarm\n id: 8e77137f-af56-48bd-b82c-7e5bb0ab4ff8\n description: Clear alarm notifications when an intrusion is no longer active.\n use_blueprint:\n path: alarm/clear_alarm.yaml\n input:\n name: Intrusion\n group: binary_sensor.intrusion_activity\n tag: '{{ states(''input_text.presence_armed_id'') }}'", "config": [ { "name": "intrusion activity", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.intrusion_activity", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } } ] }, { "id": "65383759-a03c-4c81-9965-7154e83626fd", "automation": "- alias: silence_intrusion_alarm\n id: 65383759-a03c-4c81-9965-7154e83626fd\n description: Silence the home alarm audio when requested.\n initial_state: true\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n variables:\n arming_id: '{{ states(''input_text.presence_armed_id'') }}'\n conditions:\n - condition: state\n entity_id: binary_sensor.intrusion_activity\n state: 'on'\n - '{{ trigger.event.data.action == ''silence_'' ~ arming_id }}'\n actions:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.silence_intrusion_alarm\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: ({{ arming_id }}) Intrusion alarm silenced.", "config": [ { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "intrusion activity", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.intrusion_activity", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "silence intrusion alarm", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.silence_intrusion_alarm", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "f1d67201-6a81-4214-a528-8a5afff919c0", "automation": "- alias: reset_intrusion_alarm\n id: f1d67201-6a81-4214-a528-8a5afff919c0\n description: Reinitialize the home alarm when requested.\n initial_state: true\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n variables:\n arming_id: '{{ states(''input_text.presence_armed_id'') }}'\n conditions:\n - condition: state\n entity_id: binary_sensor.intrusion_activity\n state: 'on'\n - '{{ trigger.event.data.action == ''reset_'' ~ arming_id }}'\n actions:\n - action: notify.send_message\n target:\n entity_id: notify.intrusion_log\n data:\n message: ({{ arming_id }}) Intrusion alarm cleared manually.\n - action: script.initialize_alarm_states", "config": [ { "name": "intrusion log notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.intrusion_log", "device_id": null } }, { "name": "initialize alarm states script", "room": "system", "type": "script", "id": { "entity_id": "script.initialize_alarm_states", "device_id": null } }, { "name": "intrusion activity", "room": "system", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.intrusion_activity", "device_id": null } }, { "name": "presence armed id text", "room": "system", "type": "input_text", "id": { "entity_id": "input_text.presence_armed_id", "device_id": null } }, { "name": "send message notify", "room": "system", "type": "notify", "id": { "entity_id": "notify.send_message", "device_id": null } } ] }, { "id": "686ea290-b4ee-4220-ad02-e233771483b7", "automation": "- id: 686ea290-b4ee-4220-ad02-e233771483b7\n alias: karine_remote_restore_initial_option\n description: Restore entity selected by Karine's remote after some time\n use_blueprint:\n path: reset_input_select.yaml\n input:\n default_option: light.bedside_karine\n delay: 300\n entity_id: input_select.karine_remote_entity", "config": [ { "name": "karine remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.karine_remote_entity", "device_id": null } }, { "name": "bedside karine light", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.bedside_karine", "device_id": null } } ] }, { "id": "3ff136d3-b8cb-4016-bf56-c9b0a4b65e09", "automation": "- id: 3ff136d3-b8cb-4016-bf56-c9b0a4b65e09\n alias: karine_remote_apply_color_change\n description: Turn on and change the color on Karine's remote entity\n mode: queued\n triggers:\n - trigger: state\n entity_id: input_select.karine_remote_color\n actions:\n - action: light.turn_on\n target:\n entity_id: '{{ states(''input_select.karine_remote_entity'') }}'\n data:\n rgb_color: '{{ trigger.to_state.state }}'", "config": [ { "name": "karine remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.karine_remote_entity", "device_id": null } }, { "name": "karine remote color select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.karine_remote_color", "device_id": null } } ] }, { "id": "b214c9a3-937d-4391-9915-98185b7cb152", "automation": "- id: b214c9a3-937d-4391-9915-98185b7cb152\n alias: karine_remote\n description: Map Karine's remote buttons to useful actions\n use_blueprint:\n path: zha/bedside_remote.yaml\n input:\n color_input_select: input_select.karine_remote_color\n device_ieee: 14:b4:57:ff:fe:7c:23:0e\n entity_input_select: input_select.karine_remote_entity", "config": [ { "name": "karine remote entity select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.karine_remote_entity", "device_id": null } }, { "name": "karine remote color select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.karine_remote_color", "device_id": null } } ] }, { "id": "automation.notify_jammed_lock", "automation": "- id: automation.notify_jammed_lock\n alias: notify_jammed_lock\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id: binary_sensor.kitchen_door_lock_jammed\n to:\n - 'on'\n - 'off'\n variables:\n is_jammed: '{{ trigger.to_state.state }}'\n actions:\n - if: '{{ is_jammed == ''on'' }}'\n then:\n - action: python_script.notify\n data:\n tag: kitchen_lock_jammed\n audio: true\n persistent: true\n push_target: household\n priority: true\n title: The kitchen door lock is jammed.\n else:\n - action: python_script.notify\n data:\n tag: kitchen_lock_jammed\n audio: true\n persistent: true\n push_target: household\n priority: true\n dismiss: true", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "kitchen door lock jammed", "room": "kitchen", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.kitchen_door_lock_jammed", "device_id": null } } ] }, { "id": "f614d09a-6589-4e21-9f86-205edea10917", "automation": "- id: f614d09a-6589-4e21-9f86-205edea10917\n alias: master_bed_occupied\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.master_bed_occupied_chris\n - binary_sensor.master_bed_occupied_karine\n to: 'on'\n action:\n if:\n - condition: state\n entity_id: binary_sensor.master_bed_occupied_both\n state: 'off'\n - condition: state\n entity_id:\n - person.karine\n - person.chris\n state: home\n then:\n - action: script.bedtime\n else:\n - action: lock.lock\n target:\n entity_id: lock.kitchen_door\n - action: script.everything_off", "config": [ { "name": "chris person", "room": "house", "type": "person", "id": { "entity_id": "person.chris", "device_id": null } }, { "name": "karine person", "room": "house", "type": "person", "id": { "entity_id": "person.karine", "device_id": null } }, { "name": "everything off script", "room": "system", "type": "script", "id": { "entity_id": "script.everything_off", "device_id": null } }, { "name": "kitchen door lock", "room": "kitchen", "type": "lock", "id": { "entity_id": "lock.kitchen_door", "device_id": null } }, { "name": "master bed occupied chris", "room": "master_bedroom", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.master_bed_occupied_chris", "device_id": null } }, { "name": "master bed occupied karine", "room": "master_bedroom", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.master_bed_occupied_karine", "device_id": null } }, { "name": "master bed occupied both", "room": "master_bedroom", "type": "binary_sensor", "id": { "entity_id": "binary_sensor.master_bed_occupied_both", "device_id": null } }, { "name": "bedtime script", "room": "master_bedroom", "type": "script", "id": { "entity_id": "script.bedtime", "device_id": null } } ] }, { "id": "650fdbf6-2f22-4bd0-b430-c8a1c29d3217", "automation": "- id: 650fdbf6-2f22-4bd0-b430-c8a1c29d3217\n alias: master_bedroom_spots_dimmer_scenes\n use_blueprint:\n path: zwave/paddle_scenes.yaml\n input:\n on_entity_id: event.master_bedroom_spots_dimmer_on_pressed\n off_entity_id: event.master_bedroom_spots_dimmer_off_pressed\n tap_on_2x:\n - action: light.turn_on\n target:\n entity_id: light.bedside_chris\n tap_off_2x:\n - action: light.turn_off\n target:\n entity_id: light.bedside_chris\n tap_on_3x:\n - action: light.turn_on\n target:\n entity_id: light.master_bedroom_lights\n tap_off_3x:\n - action: light.turn_off\n target:\n entity_id: light.master_bedroom_lights", "config": [ { "name": "bedside chris light", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.bedside_chris", "device_id": null } }, { "name": "master bedroom spots dimmer off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_spots_dimmer_off_pressed", "device_id": null } }, { "name": "master bedroom spots dimmer on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_spots_dimmer_on_pressed", "device_id": null } }, { "name": "master bedroom lights", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.master_bedroom_lights", "device_id": null } } ] }, { "id": "7d71c23b-929c-4553-a150-2f990fc7ff87", "automation": "- id: 7d71c23b-929c-4553-a150-2f990fc7ff87\n alias: master_bedroom_sconces_dimmer_scenes\n use_blueprint:\n path: zwave/paddle_scenes.yaml\n input:\n on_entity_id: event.master_bedroom_sconces_dimmer_on_pressed\n off_entity_id: event.master_bedroom_sconces_dimmer_off_pressed\n tap_on_2x:\n - action: light.turn_on\n target:\n entity_id: light.bedside_karine\n tap_off_2x:\n - action: light.turn_off\n target:\n entity_id: light.bedside_karine\n tap_on_3x:\n - action: light.turn_on\n target:\n entity_id: light.master_bedroom_lights\n tap_off_3x:\n - action: light.turn_off\n target:\n entity_id: light.master_bedroom_lights", "config": [ { "name": "master bedroom sconces dimmer off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_sconces_dimmer_off_pressed", "device_id": null } }, { "name": "master bedroom sconces dimmer on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_sconces_dimmer_on_pressed", "device_id": null } }, { "name": "bedside karine light", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.bedside_karine", "device_id": null } }, { "name": "master bedroom lights", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.master_bedroom_lights", "device_id": null } } ] }, { "id": "0a607c5b-9dc1-4e86-b46c-f5dd6ebcc542", "automation": "- id: 0a607c5b-9dc1-4e86-b46c-f5dd6ebcc542\n alias: master_bedroom_closet_dimmer_scenes\n use_blueprint:\n path: zwave/paddle_scenes.yaml\n input:\n on_entity_id: event.master_bedroom_closet_light_switch_on_pressed\n off_entity_id: event.master_bedroom_closet_light_switch_off_pressed\n tap_on_2x:\n - action: light.turn_on\n target:\n entity_id:\n - light.master_bedroom_sconces\n - light.master_bedroom_spots\n tap_off_2x:\n - action: light.turn_off\n target:\n entity_id: light.master_bedroom_lights", "config": [ { "name": "master bedroom closet light switch off pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_closet_light_switch_off_pressed", "device_id": null } }, { "name": "master bedroom closet light switch on pressed", "room": "master_bedroom", "type": "event", "id": { "entity_id": "event.master_bedroom_closet_light_switch_on_pressed", "device_id": null } }, { "name": "master bedroom lights", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.master_bedroom_lights", "device_id": null } }, { "name": "master bedroom sconces", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.master_bedroom_sconces", "device_id": null } }, { "name": "master bedroom spots", "room": "master_bedroom", "type": "light", "id": { "entity_id": "light.master_bedroom_spots", "device_id": null } } ] }, { "id": "a8b031db-937a-4b34-bd64-a30f51900ed0", "automation": "- alias: select_manual_climate_mode\n id: a8b031db-937a-4b34-bd64-a30f51900ed0\n description: Flag climate entity to manual mode when the managed temperature differs\n from the actual temperature.\n initial_state: true\n mode: parallel\n max: 9\n triggers:\n - trigger: state\n entity_id:\n - climate.heat_pump\n - climate.basement_hallway_thermostat\n - climate.dining_room_thermostat\n - climate.guest_bedroom_thermostat\n - climate.living_room_thermostat\n - climate.lounge_thermostat\n - climate.master_bedroom_thermostat\n - climate.office_thermostat\n - climate.studio_thermostat\n attribute: temperature\n not_to: unavailable\n for: 5\n variables:\n name: \"{{\\n trigger.to_state.object_id\\n | replace('_auto_mode', '')\\n \\\n \\ | replace('_mode', '')\\n | replace('_comfort_setpoint', '')\\n | replace('_eco_setpoint',\\\n \\ '')\\n}}\"\n auto_mode: '{{ states(''input_select.{}_auto_mode''.format(name)) | default(''Eco'')\n }}'\n mode: '{{ states(''input_select.{}_mode''.format(name)) | default(''Auto'') }}'\n target_setpoint: '{{ states(''input_number.{}_{}_setpoint''.format(name, auto_mode\n | lower)) | default | float(0) }}'\n current_setpoint: '{{ trigger.to_state.attributes.temperature | default | float(0)\n }}'\n conditions: '{{ trigger.to_state.attributes.preset_mode | default(''none'') != ''none''\n or target_setpoint != current_setpoint }}'\n actions:\n - action: input_select.select_option\n target:\n entity_id: input_select.{{ name }}_mode\n data:\n option: Manual", "config": [ { "name": "heat pump climate", "room": "ground_floor", "type": "climate", "id": { "entity_id": "climate.heat_pump", "device_id": null } }, { "name": "basement hallway thermostat", "room": "basement_hallway", "type": "climate", "id": { "entity_id": "climate.basement_hallway_thermostat", "device_id": null } }, { "name": "dining room thermostat", "room": "dining_room", "type": "climate", "id": { "entity_id": "climate.dining_room_thermostat", "device_id": null } }, { "name": "guest bedroom thermostat", "room": "guest_bedroom", "type": "climate", "id": { "entity_id": "climate.guest_bedroom_thermostat", "device_id": null } }, { "name": "living room thermostat", "room": "living_room", "type": "climate", "id": { "entity_id": "climate.living_room_thermostat", "device_id": null } }, { "name": "lounge thermostat", "room": "lounge", "type": "climate", "id": { "entity_id": "climate.lounge_thermostat", "device_id": null } }, { "name": "master bedroom thermostat", "room": "master_bedroom", "type": "climate", "id": { "entity_id": "climate.master_bedroom_thermostat", "device_id": null } }, { "name": "office thermostat", "room": "office", "type": "climate", "id": { "entity_id": "climate.office_thermostat", "device_id": null } }, { "name": "studio thermostat", "room": "studio", "type": "climate", "id": { "entity_id": "climate.studio_thermostat", "device_id": null } } ] }, { "id": "0954c8e4-8429-4777-a8ba-4a1c99853ea2", "automation": "- alias: update_climate_setpoint\n id: 0954c8e4-8429-4777-a8ba-4a1c99853ea2\n description: Update climate setpoint\n initial_state: true\n mode: queued\n max: 10\n triggers:\n - trigger: state\n entity_id: &id001\n - input_select.heat_pump_mode\n - input_select.basement_hallway_thermostat_mode\n - input_select.dining_room_thermostat_mode\n - input_select.guest_bedroom_thermostat_mode\n - input_select.living_room_thermostat_mode\n - input_select.lounge_thermostat_mode\n - input_select.master_bedroom_thermostat_mode\n - input_select.office_thermostat_mode\n - input_select.studio_thermostat_mode\n to: Auto\n - trigger: state\n entity_id:\n - input_select.heat_pump_auto_mode\n - input_select.basement_hallway_thermostat_auto_mode\n - input_select.dining_room_thermostat_auto_mode\n - input_select.guest_bedroom_thermostat_auto_mode\n - input_select.living_room_thermostat_auto_mode\n - input_select.lounge_thermostat_auto_mode\n - input_select.master_bedroom_thermostat_auto_mode\n - input_select.office_thermostat_auto_mode\n - input_select.studio_thermostat_auto_mode\n to: null\n - trigger: state\n entity_id:\n - input_number.heat_pump_comfort_setpoint\n - input_number.basement_hallway_thermostat_comfort_setpoint\n - input_number.dining_room_thermostat_comfort_setpoint\n - input_number.guest_bedroom_thermostat_comfort_setpoint\n - input_number.living_room_thermostat_comfort_setpoint\n - input_number.lounge_thermostat_comfort_setpoint\n - input_number.master_bedroom_thermostat_comfort_setpoint\n - input_number.office_thermostat_comfort_setpoint\n - input_number.studio_thermostat_comfort_setpoint\n to: null\n for: 5\n - trigger: state\n entity_id:\n - input_number.heat_pump_eco_setpoint\n - input_number.basement_hallway_thermostat_eco_setpoint\n - input_number.dining_room_thermostat_eco_setpoint\n - input_number.guest_bedroom_thermostat_eco_setpoint\n - input_number.living_room_thermostat_eco_setpoint\n - input_number.lounge_thermostat_eco_setpoint\n - input_number.master_bedroom_thermostat_eco_setpoint\n - input_number.office_thermostat_eco_setpoint\n - input_number.studio_thermostat_eco_setpoint\n to: null\n for: 5\n variables:\n name: \"{{\\n trigger.to_state.object_id\\n | replace('_auto_mode', '')\\n \\\n \\ | replace('_mode', '')\\n | replace('_comfort_setpoint', '')\\n | replace('_eco_setpoint',\\\n \\ '')\\n}}\"\n auto_mode: '{{ states(''input_select.{}_auto_mode''.format(name)) | default(''Eco'')\n }}'\n mode: '{{ states(''input_select.{}_mode''.format(name)) | default(''Auto'') }}'\n target_setpoint: '{{ states(''input_number.{}_{}_setpoint''.format(name, auto_mode\n | lower)) | default | float(0) }}'\n current_setpoint: '{{ state_attr(''climate.{}''.format(name), ''temperature'')\n | default | float(0) }}'\n conditions: '{{ mode == ''Auto'' and target_setpoint != current_setpoint }}'\n actions:\n - action: climate.set_temperature\n target:\n entity_id: climate.{{ name }}\n data:\n temperature: '{{ target_setpoint }}'", "config": [ { "name": "heat pump mode select", "room": "ground_floor", "type": "input_select", "id": { "entity_id": "input_select.heat_pump_mode", "device_id": null } }, { "name": "basement hallway thermostat mode select", "room": "basement_hallway", "type": "input_select", "id": { "entity_id": "input_select.basement_hallway_thermostat_mode", "device_id": null } }, { "name": "dining room thermostat mode select", "room": "dining_room", "type": "input_select", "id": { "entity_id": "input_select.dining_room_thermostat_mode", "device_id": null } }, { "name": "guest bedroom thermostat mode select", "room": "guest_bedroom", "type": "input_select", "id": { "entity_id": "input_select.guest_bedroom_thermostat_mode", "device_id": null } }, { "name": "living room thermostat mode select", "room": "living_room", "type": "input_select", "id": { "entity_id": "input_select.living_room_thermostat_mode", "device_id": null } }, { "name": "lounge thermostat mode select", "room": "lounge", "type": "input_select", "id": { "entity_id": "input_select.lounge_thermostat_mode", "device_id": null } }, { "name": "master bedroom thermostat mode select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.master_bedroom_thermostat_mode", "device_id": null } }, { "name": "office thermostat mode select", "room": "office", "type": "input_select", "id": { "entity_id": "input_select.office_thermostat_mode", "device_id": null } }, { "name": "studio thermostat mode select", "room": "studio", "type": "input_select", "id": { "entity_id": "input_select.studio_thermostat_mode", "device_id": null } }, { "name": "heat pump auto mode select", "room": "ground_floor", "type": "input_select", "id": { "entity_id": "input_select.heat_pump_auto_mode", "device_id": null } }, { "name": "basement hallway thermostat auto mode select", "room": "basement_hallway", "type": "input_select", "id": { "entity_id": "input_select.basement_hallway_thermostat_auto_mode", "device_id": null } }, { "name": "dining room thermostat auto mode select", "room": "dining_room", "type": "input_select", "id": { "entity_id": "input_select.dining_room_thermostat_auto_mode", "device_id": null } }, { "name": "guest bedroom thermostat auto mode select", "room": "guest_bedroom", "type": "input_select", "id": { "entity_id": "input_select.guest_bedroom_thermostat_auto_mode", "device_id": null } }, { "name": "living room thermostat auto mode select", "room": "living_room", "type": "input_select", "id": { "entity_id": "input_select.living_room_thermostat_auto_mode", "device_id": null } }, { "name": "lounge thermostat auto mode select", "room": "lounge", "type": "input_select", "id": { "entity_id": "input_select.lounge_thermostat_auto_mode", "device_id": null } }, { "name": "master bedroom thermostat auto mode select", "room": "master_bedroom", "type": "input_select", "id": { "entity_id": "input_select.master_bedroom_thermostat_auto_mode", "device_id": null } }, { "name": "office thermostat auto mode select", "room": "office", "type": "input_select", "id": { "entity_id": "input_select.office_thermostat_auto_mode", "device_id": null } }, { "name": "studio thermostat auto mode select", "room": "studio", "type": "input_select", "id": { "entity_id": "input_select.studio_thermostat_auto_mode", "device_id": null } }, { "name": "heat pump comfort setpoint", "room": "ground_floor", "type": "input_number", "id": { "entity_id": "input_number.heat_pump_comfort_setpoint", "device_id": null } }, { "name": "basement hallway thermostat comfort setpoint", "room": "basement_hallway", "type": "input_number", "id": { "entity_id": "input_number.basement_hallway_thermostat_comfort_setpoint", "device_id": null } }, { "name": "dining room thermostat comfort setpoint", "room": "dining_room", "type": "input_number", "id": { "entity_id": "input_number.dining_room_thermostat_comfort_setpoint", "device_id": null } }, { "name": "guest bedroom thermostat comfort setpoint", "room": "guest_bedroom", "type": "input_number", "id": { "entity_id": "input_number.guest_bedroom_thermostat_comfort_setpoint", "device_id": null } }, { "name": "living room thermostat comfort setpoint", "room": "living_room", "type": "input_number", "id": { "entity_id": "input_number.living_room_thermostat_comfort_setpoint", "device_id": null } }, { "name": "lounge thermostat comfort setpoint", "room": "lounge", "type": "input_number", "id": { "entity_id": "input_number.lounge_thermostat_comfort_setpoint", "device_id": null } }, { "name": "master bedroom thermostat comfort setpoint", "room": "master_bedroom", "type": "input_number", "id": { "entity_id": "input_number.master_bedroom_thermostat_comfort_setpoint", "device_id": null } }, { "name": "office thermostat comfort setpoint", "room": "office", "type": "input_number", "id": { "entity_id": "input_number.office_thermostat_comfort_setpoint", "device_id": null } }, { "name": "studio thermostat comfort setpoint", "room": "studio", "type": "input_number", "id": { "entity_id": "input_number.studio_thermostat_comfort_setpoint", "device_id": null } }, { "name": "heat pump eco setpoint", "room": "ground_floor", "type": "input_number", "id": { "entity_id": "input_number.heat_pump_eco_setpoint", "device_id": null } }, { "name": "basement hallway thermostat eco setpoint", "room": "basement_hallway", "type": "input_number", "id": { "entity_id": "input_number.basement_hallway_thermostat_eco_setpoint", "device_id": null } }, { "name": "dining room thermostat eco setpoint", "room": "dining_room", "type": "input_number", "id": { "entity_id": "input_number.dining_room_thermostat_eco_setpoint", "device_id": null } }, { "name": "guest bedroom thermostat eco setpoint", "room": "guest_bedroom", "type": "input_number", "id": { "entity_id": "input_number.guest_bedroom_thermostat_eco_setpoint", "device_id": null } }, { "name": "living room thermostat eco setpoint", "room": "living_room", "type": "input_number", "id": { "entity_id": "input_number.living_room_thermostat_eco_setpoint", "device_id": null } }, { "name": "lounge thermostat eco setpoint", "room": "lounge", "type": "input_number", "id": { "entity_id": "input_number.lounge_thermostat_eco_setpoint", "device_id": null } }, { "name": "master bedroom thermostat eco setpoint", "room": "master_bedroom", "type": "input_number", "id": { "entity_id": "input_number.master_bedroom_thermostat_eco_setpoint", "device_id": null } }, { "name": "office thermostat eco setpoint", "room": "office", "type": "input_number", "id": { "entity_id": "input_number.office_thermostat_eco_setpoint", "device_id": null } }, { "name": "studio thermostat eco setpoint", "room": "studio", "type": "input_number", "id": { "entity_id": "input_number.studio_thermostat_eco_setpoint", "device_id": null } } ] }, { "id": "330d72c1-954a-4d1e-a3e1-47412d134dc5", "automation": "- alias: start_manual_climate_reset_timer\n id: 330d72c1-954a-4d1e-a3e1-47412d134dc5\n description: Start the timer to reset climate modes to auto (managed) after it has\n been on manual for some time.\n mode: parallel\n max: 15\n triggers:\n - trigger: state\n entity_id: *id001\n not_to: Auto\n actions:\n - action: timer.start\n target:\n entity_id: timer.{{ trigger.to_state.object_id | replace('_mode', '_manual_mode_reset')\n }}\n data:\n duration: '{{ states(''input_datetime.climate_manual_mode_timer'') }}'", "config": [ { "name": "climate manual mode timer", "room": "system", "type": "input_datetime", "id": { "entity_id": "input_datetime.climate_manual_mode_timer", "device_id": null } } ] }, { "id": "5c387ec4-b18b-4ec6-9174-8d844e7e88e9", "automation": "- alias: revert_manual_climate_mode\n id: 5c387ec4-b18b-4ec6-9174-8d844e7e88e9\n description: Reset climate mode to auto (managed) when the timer for manual time\n is elapsed.\n mode: parallel\n max: 15\n triggers:\n - trigger: state\n entity_id: &id002\n - timer.heat_pump_manual_mode_reset\n - timer.basement_hallway_thermostat_manual_mode_reset\n - timer.dining_room_thermostat_manual_mode_reset\n - timer.guest_bedroom_thermostat_manual_mode_reset\n - timer.living_room_thermostat_manual_mode_reset\n - timer.lounge_thermostat_manual_mode_reset\n - timer.master_bedroom_thermostat_manual_mode_reset\n - timer.office_thermostat_manual_mode_reset\n - timer.studio_thermostat_manual_mode_reset\n from: active\n to: idle\n conditions:\n - condition: state\n entity_id: input_boolean.climate_scheduling_enabled\n state: 'on'\n actions:\n - action: input_select.select_option\n target:\n entity_id: input_select.{{ trigger.to_state.object_id | replace('_manual_mode_reset',\n '_mode') }}\n data:\n option: Auto", "config": [ { "name": "climate scheduling enabled", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.climate_scheduling_enabled", "device_id": null } }, { "name": "heat pump manual mode reset timer", "room": "ground_floor", "type": "timer", "id": { "entity_id": "timer.heat_pump_manual_mode_reset", "device_id": null } }, { "name": "basement hallway thermostat manual mode reset timer", "room": "basement_hallway", "type": "timer", "id": { "entity_id": "timer.basement_hallway_thermostat_manual_mode_reset", "device_id": null } }, { "name": "dining room thermostat manual mode reset timer", "room": "dining_room", "type": "timer", "id": { "entity_id": "timer.dining_room_thermostat_manual_mode_reset", "device_id": null } }, { "name": "guest bedroom thermostat manual mode reset timer", "room": "guest_bedroom", "type": "timer", "id": { "entity_id": "timer.guest_bedroom_thermostat_manual_mode_reset", "device_id": null } }, { "name": "living room thermostat manual mode reset timer", "room": "living_room", "type": "timer", "id": { "entity_id": "timer.living_room_thermostat_manual_mode_reset", "device_id": null } }, { "name": "lounge thermostat manual mode reset timer", "room": "lounge", "type": "timer", "id": { "entity_id": "timer.lounge_thermostat_manual_mode_reset", "device_id": null } }, { "name": "master bedroom thermostat manual mode reset timer", "room": "master_bedroom", "type": "timer", "id": { "entity_id": "timer.master_bedroom_thermostat_manual_mode_reset", "device_id": null } }, { "name": "office thermostat manual mode reset timer", "room": "office", "type": "timer", "id": { "entity_id": "timer.office_thermostat_manual_mode_reset", "device_id": null } }, { "name": "studio thermostat manual mode reset timer", "room": "studio", "type": "timer", "id": { "entity_id": "timer.studio_thermostat_manual_mode_reset", "device_id": null } } ] }, { "id": "2e58b9fa-1838-4c38-8b4a-d38b43c76105", "automation": "- alias: revert_all_expired_manual_climate_mode\n id: 2e58b9fa-1838-4c38-8b4a-d38b43c76105\n description: Reset climate mode to auto (managed) when the timer for manual time\n is elapsed.\n mode: single\n triggers:\n - trigger: homeassistant\n event: start\n - trigger: state\n entity_id: input_boolean.climate_scheduling_enabled\n from: 'off'\n to: 'on'\n actions:\n repeat:\n for_each: *id002\n sequence:\n - if: '{{ is_state(repeat.item, ''idle'') }}'\n then:\n - action: input_select.select_option\n target:\n entity_id: input_select.{{ states[repeat.item].object_id | replace('_manual_mode_reset',\n '_mode') }}\n data:\n option: Auto", "config": [ { "name": "climate scheduling enabled", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.climate_scheduling_enabled", "device_id": null } } ] }, { "id": "88b9562c-a5bf-4be6-bd7b-d3dfe109a816", "automation": "- id: 88b9562c-a5bf-4be6-bd7b-d3dfe109a816\n alias: Notify low batteries\n initial_state: true\n mode: parallel\n triggers:\n - trigger: numeric_state\n entity_id:\n - sensor.basement_bathroom_multisensor_battery\n - sensor.basement_smoke_co_detector_battery\n - sensor.chris_bedside_remote_battery\n - sensor.drake_battery\n - sensor.guest_bedroom_window_sensor_battery\n - sensor.karine_bedside_remote_battery\n - sensor.kitchen_door_lock_battery\n - sensor.kitchen_door_sensor_battery\n - sensor.kitchen_sink_leak_sensor_battery\n - sensor.living_room_door_sensor_battery\n - sensor.living_room_remote_battery\n - sensor.living_room_smoke_co_detector_battery\n - sensor.laundry_motion_sensor_battery\n - sensor.lounge_airthings_battery\n - sensor.lounge_window_sensor_battery\n - sensor.main_bathroom_multisensor_battery\n - sensor.maitre_doyle_battery\n - sensor.snicket_battery\n - sensor.spidy_battery\n - sensor.studio_window_sensor_battery\n - sensor.ups_battery_status\n - sensor.viny_battery\n - sensor.water_heater_leak_sensor_battery\n - sensor.workshop_motion_sensor_battery\n value_template: \"{% if state.state in ['unknown', 'unavailable'] -%}\\n 100\\n\\\n {%- else -%}\\n {{ state.state | int - state.attributes.battery_warning_level\\\n \\ | default | int(25) - 1 }}\\n{%- endif %}\"\n below: 0\n actions:\n - action: python_script.notify\n data:\n persistent: true\n push_target: household\n tag: battery_low_{{ trigger.to_state.object_id }}\n url: \"{% set battery_type = trigger.to_state.attributes.battery_type %} {% if\\\n \\ battery_type is undefined %}\\n \\\"/lovelace/settings\\\"\\n{% else %}\\n https://www.amazon.ca/s/?field-keywords=battery+{{\\\n \\ battery_type | replace(' ', '+') }}\\n{% endif %}\"\n title: Replace {{ trigger.to_state.name | lower }}\n message: \"{% set battery_type = trigger.to_state.attributes.battery_type %}\\\n \\ {% if battery_type is defined %}\\n Search on Amazon for \\\"{{ battery_type\\\n \\ }}\\\" batteries.\\n{% endif %}\"", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "basement bathroom multisensor battery", "room": "basement_bathroom", "type": "sensor", "id": { "entity_id": "sensor.basement_bathroom_multisensor_battery", "device_id": null } }, { "name": "basement smoke co detector battery", "room": "basement", "type": "sensor", "id": { "entity_id": "sensor.basement_smoke_co_detector_battery", "device_id": null } }, { "name": "chris bedside remote battery", "room": "master_bedroom", "type": "sensor", "id": { "entity_id": "sensor.chris_bedside_remote_battery", "device_id": null } }, { "name": "drake battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.drake_battery", "device_id": null } }, { "name": "guest bedroom window sensor battery", "room": "guest_bedroom", "type": "sensor", "id": { "entity_id": "sensor.guest_bedroom_window_sensor_battery", "device_id": null } }, { "name": "karine bedside remote battery", "room": "master_bedroom", "type": "sensor", "id": { "entity_id": "sensor.karine_bedside_remote_battery", "device_id": null } }, { "name": "kitchen door lock battery", "room": "kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_door_lock_battery", "device_id": null } }, { "name": "kitchen door sensor battery", "room": "kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_door_sensor_battery", "device_id": null } }, { "name": "kitchen sink leak sensor battery", "room": "kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_sink_leak_sensor_battery", "device_id": null } }, { "name": "living room door sensor battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.living_room_door_sensor_battery", "device_id": null } }, { "name": "living room remote battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.living_room_remote_battery", "device_id": null } }, { "name": "living room smoke co detector battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.living_room_smoke_co_detector_battery", "device_id": null } }, { "name": "laundry motion sensor battery", "room": "laundry", "type": "sensor", "id": { "entity_id": "sensor.laundry_motion_sensor_battery", "device_id": null } }, { "name": "lounge airthings battery", "room": "lounge", "type": "sensor", "id": { "entity_id": "sensor.lounge_airthings_battery", "device_id": null } }, { "name": "lounge window sensor battery", "room": "lounge", "type": "sensor", "id": { "entity_id": "sensor.lounge_window_sensor_battery", "device_id": null } }, { "name": "main bathroom multisensor battery", "room": "main_bathroom", "type": "sensor", "id": { "entity_id": "sensor.main_bathroom_multisensor_battery", "device_id": null } }, { "name": "maitre doyle battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.maitre_doyle_battery", "device_id": null } }, { "name": "snicket battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.snicket_battery", "device_id": null } }, { "name": "spidy battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.spidy_battery", "device_id": null } }, { "name": "studio window sensor battery", "room": "studio", "type": "sensor", "id": { "entity_id": "sensor.studio_window_sensor_battery", "device_id": null } }, { "name": "ups battery status", "room": "network", "type": "sensor", "id": { "entity_id": "sensor.ups_battery_status", "device_id": null } }, { "name": "viny battery", "room": "living_room", "type": "sensor", "id": { "entity_id": "sensor.viny_battery", "device_id": null } }, { "name": "water heater leak sensor battery", "room": "basement", "type": "sensor", "id": { "entity_id": "sensor.water_heater_leak_sensor_battery", "device_id": null } }, { "name": "workshop motion sensor battery", "room": "workshop", "type": "sensor", "id": { "entity_id": "sensor.workshop_motion_sensor_battery", "device_id": null } } ] }, { "id": "994eba31-84de-4769-8958-f24b5346111a", "automation": "- id: 994eba31-84de-4769-8958-f24b5346111a\n alias: notify_plant_problems\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n attribute: problem\n entity_id:\n - plant.drake\n - plant.spidy\n - plant.viny\n variables:\n name: '{{ trigger.to_state.name }}'\n tag: plant_{{ trigger.to_state.object_id }}\n issues: \"{{\\n (trigger.to_state.attributes.problem | default('') | lower).split(',\\\n \\ ')\\n | reject('match', '.*(unavailable|unknown|none)', ignorecase=true)\\n\\\n \\ | reject('match', '(brightness|battery).*', ignorecase=true)\\n | reject('in',\\\n \\ ['conductivity high'])\\n | map('replace', 'moisture low', 'thirsty')\\n\\\n \\ | map('replace', 'moisture high', 'drowning')\\n | map('replace', 'temperature\\\n \\ low', 'cold')\\n | map('replace', 'temperature high', 'hot')\\n | map('replace',\\\n \\ 'conductivity low', 'hungry')\\n | sort\\n}}\"\n actions:\n - if: '{{ issues | length == 0 }}'\n then:\n - action: python_script.notify\n data:\n audio: '{{ is_state(''input_boolean.broadcast_plant_problems'', ''on'') }}'\n persistent: true\n push_target: household\n tag: '{{ tag }}'\n dismiss: true\n else:\n - action: python_script.notify\n data:\n audio: '{{ is_state(''input_boolean.broadcast_plant_problems'', ''on'') }}'\n persistent: true\n push_target: household\n tag: '{{ tag }}'\n url: /lovelace/livings\n title: Check {{ name }}\n message: \"{% for issue in issues -%}\\n {%- if loop.first %}{{ name }} is\\\n \\ {% elif loop.last %} and {% else %}, {% endif -%}\\n {{ issue }}\\n {%-\\\n \\ if loop.last %}.{% endif %}\\n{%- endfor %}\"", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "drake plant", "room": "living_room", "type": "plant", "id": { "entity_id": "plant.drake", "device_id": null } }, { "name": "spidy plant", "room": "living_room", "type": "plant", "id": { "entity_id": "plant.spidy", "device_id": null } }, { "name": "viny plant", "room": "living_room", "type": "plant", "id": { "entity_id": "plant.viny", "device_id": null } }, { "name": "broadcast plant problems", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.broadcast_plant_problems", "device_id": null } } ] }, { "id": "91bb52da-440a-4082-a6f3-4e58253a51c8", "automation": "- id: 91bb52da-440a-4082-a6f3-4e58253a51c8\n alias: notify_guest_arrives\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id:\n - person.guest_cava\n - person.guest_gipa\n - person.guest_laboro\n - person.guest_stfr\n - person.guest_syvi\n to: home\n conditions: \"{{\\n is_state('input_boolean.notify_individual_guest_arrivals', 'on')\\n\\\n \\ or is_state_attr('sensor.guests_home', 'count', '1')\\n}}\"\n actions:\n - action: python_script.notify\n data:\n persistent: true\n push_target: household\n tag: presence_{{ trigger.to_state.object_id }}\n title: '{{ trigger.to_state.name }} is here'\n message: '{{ state_attr(''sensor.guests_home'', ''count'') }} guests are home.'", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "guest cava person", "room": "house", "type": "person", "id": { "entity_id": "person.guest_cava", "device_id": null } }, { "name": "guest gipa person", "room": "house", "type": "person", "id": { "entity_id": "person.guest_gipa", "device_id": null } }, { "name": "Notify Individual Guest Arrivals", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.notify_individual_guest_arrivals", "device_id": null } }, { "name": "Guest Laboro", "room": null, "type": "person", "id": { "entity_id": "person.guest_laboro", "device_id": null } }, { "name": "Guest Stfr", "room": null, "type": "person", "id": { "entity_id": "person.guest_stfr", "device_id": null } }, { "name": "Guest Syvi", "room": null, "type": "person", "id": { "entity_id": "person.guest_syvi", "device_id": null } } ] }, { "id": "33ae901e-24b8-4576-b876-4d2a87a7bd3b", "automation": "- id: 33ae901e-24b8-4576-b876-4d2a87a7bd3b\n alias: notify_household_person_arrives\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id: &id003\n - person.chris\n - person.karine\n to: home\n conditions:\n - condition: state\n entity_id: input_boolean.notify_household_changes\n state: 'on'\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n tag: presence_{{ trigger.to_state.object_id }}\n title: '{{ trigger.to_state.name }} arrived home.'\n message: Household is {{ states_translated('group.household') }}.", "config": [ { "name": "household group", "room": "house", "type": "group", "id": { "entity_id": "group.household", "device_id": null } }, { "name": "chris person", "room": "house", "type": "person", "id": { "entity_id": "person.chris", "device_id": null } }, { "name": "karine person", "room": "house", "type": "person", "id": { "entity_id": "person.karine", "device_id": null } }, { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "Notify Household Changes", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.notify_household_changes", "device_id": null } } ] }, { "id": "b3882bea-08d5-4c54-a076-092754457354", "automation": "- id: b3882bea-08d5-4c54-a076-092754457354\n alias: notify_household_person_leaves\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id: *id003\n from: home\n conditions:\n - condition: state\n entity_id: input_boolean.notify_household_changes\n state: 'on'\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n tag: presence_{{ trigger.to_state.object_id }}\n title: '{{ trigger.to_state.name }} left home.'\n message: Household is {{ states_translated('group.household') }}.", "config": [ { "name": "household group", "room": "house", "type": "group", "id": { "entity_id": "group.household", "device_id": null } }, { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "Notify Household Changes", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.notify_household_changes", "device_id": null } } ] }, { "id": "fd33012e-1f9a-4205-8c29-3639015bd2ad", "automation": "- id: fd33012e-1f9a-4205-8c29-3639015bd2ad\n alias: apply_scheduled_climate_preset\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id: sensor.scheduled_climate_preset\n to: null\n - trigger: state\n entity_id: input_boolean.climate_scheduling_enabled\n to: 'on'\n conditions:\n - condition: state\n entity_id: input_boolean.climate_scheduling_enabled\n state: 'on'\n - '{{ has_value(''sensor.scheduled_climate_preset'') }}'\n actions:\n - action: script.apply_scheduled_climate_preset", "config": [ { "name": "climate scheduling enabled", "room": "system", "type": "input_boolean", "id": { "entity_id": "input_boolean.climate_scheduling_enabled", "device_id": null } }, { "name": "Scheduled Climate Preset", "room": null, "type": "sensor", "id": { "entity_id": "sensor.scheduled_climate_preset", "device_id": null } } ] }, { "id": "a179c0b0-9c03-4be6-9437-c2bd6c58e9b7", "automation": "- id: a179c0b0-9c03-4be6-9437-c2bd6c58e9b7\n alias: notify_new_network_device\n initial_state: true\n mode: parallel\n triggers:\n - trigger: event\n event_type: device_tracker_new_device\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n persistent: true\n title: New device detected on network\n message: 'Device data: {{ trigger.event.data | tojson }}'", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } } ] }, { "id": "778a17bc-898a-43ca-a457-b42c5c32b193", "automation": "- id: 778a17bc-898a-43ca-a457-b42c5c32b193\n alias: notify_server_state_change\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id:\n - switch.network_media\n to: null\n for: 45\n variables:\n state: '{% if trigger.to_state.state == ''on'' %}on{% else %}off{% endif %}'\n state_action: '{% if state == ''on'' %}off{% else %}on{% endif %}'\n conditions:\n - condition: state\n entity_id: input_boolean.notify_server_outages\n state: 'on'\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n tag: server_{{ trigger.to_state.object_id }}\n title: '{{ trigger.to_state.name }} server is {{ state }}line'\n url: /admin-infrastructure/network\n push_data:\n entity_id: '{{ trigger.entity_id }}'\n push_actions:\n - action: power_{{ state_action }}_server\n title: Power {{ state_action }}\n icon: /local/icons/power-plug-{{ state_action }}.png", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "Notify Server Outages", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.notify_server_outages", "device_id": null } }, { "name": "Network Media", "room": null, "type": "switch", "id": { "entity_id": "switch.network_media", "device_id": null } } ] }, { "id": "ed45f4fc-3c90-456d-b499-516f568adf4e", "automation": "- id: ed45f4fc-3c90-456d-b499-516f568adf4e\n alias: power_on_server\n initial_state: true\n mode: parallel\n triggers:\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n event_data:\n action: power_on_server\n actions:\n - action: switch.turn_on\n target:\n entity_id: '{{ trigger.event.data.data.entity_id }}'", "config": [] }, { "id": "c4358eec-8328-4049-ba29-25438eb44fa6", "automation": "- id: c4358eec-8328-4049-ba29-25438eb44fa6\n alias: power_off_server\n initial_state: true\n mode: parallel\n triggers:\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n event_data:\n action: power_off_server\n actions:\n - action: switch.turn_off\n target:\n entity_id: '{{ trigger.event.data.data.entity_id }}'", "config": [] }, { "id": "5cdf949f-e2e8-48b2-88c1-59f2c2f4fad2", "automation": "- id: 5cdf949f-e2e8-48b2-88c1-59f2c2f4fad2\n alias: power_outage_management\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.ups_online_status\n to: 'off'\n for: 30\n variables:\n shutdown_minutes: 2\n actions:\n - action: python_script.notify\n data:\n persistent: true\n push_target: household\n tag: power_outage\n title: Power outage\n url: /admin-infrastructure/network\n message: 'A power outage is ongoing at home.\n\n {%- if is_state(''switch.managed_auxialiary_servers'', ''off'') %} Auxiliary\n servers are already turned off.\n\n {%- elif is_state(''input_boolean.power_outage_manage_devices'', ''on'') %}\n Auxiliary servers will automatically shutdown in {{ shutdown_minutes }} minutes.\n\n {%- else %} Automatic shutdown of auxiliary servers is disabled.\n\n {%- endif %}'\n push_actions: \"{% set ns = namespace(actions = []) %} {% if is_state('switch.managed_auxialiary_servers',\\\n \\ 'on') %}\\n {% set ns.actions = ns.actions + [{\\\"action\\\": \\\"power_outage_shutdown\\\"\\\n , \\\"title\\\": \\\"Shutdown now\\\"}] %}\\n {% if is_state('input_boolean.power_outage_manage_devices',\\\n \\ 'on') %}\\n {% set ns.actions = ns.actions + [{\\\"action\\\": \\\"power_outage_cancel\\\"\\\n , \\\"title\\\": \\\"Cancel\\\"}] %}\\n {% endif %}\\n{% endif %} {{ ns.actions }}\"\n - condition: state\n entity_id: switch.managed_auxialiary_servers\n state: 'on'\n - wait_for_trigger:\n - trigger: state\n entity_id: binary_sensor.ups_online_status\n to: 'on'\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n event_data:\n action: power_outage_shutdown\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n event_data:\n action: power_outage_cancel\n timeout:\n minutes: '{{ shutdown_minutes if is_state(''input_boolean.power_outage_manage_devices'',\n ''on'') else 240 }}'\n continue_on_timeout: true\n - condition: \"{% set timed_out = wait.trigger is none %} {{\\n is_state('binary_sensor.ups_online_status',\\\n \\ 'off')\\n and (\\n (timed_out and is_state('input_boolean.power_outage_manage_devices',\\\n \\ 'on'))\\n or (not timed_out and wait.trigger.event.data.action != 'power_outage_cancel')\\n\\\n \\ )\\n}}\"\n - action: switch.turn_off\n target:\n entity_id: switch.network_media\n - action: python_script.notify\n data:\n persistent: true\n push_target: household\n tag: power_outage\n title: Power outage\n url: /admin-infrastructure/network\n message: A power outage is ongoing at home. Auxiliary servers have been shutdown.", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "UPS Online Status", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.ups_online_status", "device_id": null } }, { "name": "Power Outage Manage Devices", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.power_outage_manage_devices", "device_id": null } }, { "name": "Managed Auxiliary Servers", "room": null, "type": "switch", "id": { "entity_id": "switch.managed_auxialiary_servers", "device_id": null } }, { "name": "Network Media", "room": null, "type": "switch", "id": { "entity_id": "switch.network_media", "device_id": null } } ] }, { "id": "37c346a4-c34f-40bf-9ad9-d34407afc29c", "automation": "- id: 37c346a4-c34f-40bf-9ad9-d34407afc29c\n alias: notify_power_restored\n initial_state: true\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.ups_online_status\n to: 'on'\n for: 60\n - trigger: homeassistant\n event: start\n variables:\n power_on_minutes: 2\n conditions:\n - condition: state\n entity_id: binary_sensor.ups_online_status\n state: 'on'\n for: 60\n actions:\n - action: python_script.notify\n data:\n persistent: true\n push_target: household\n title: Power restored\n message: 'A power outage has finished after {{ time_since(trigger.from_state.last_changed,\n 0) }}.\n\n {%- if is_state(''switch.managed_auxialiary_servers'', ''on'') %} Auxiliary\n servers are already powered on.\n\n {%- elif is_state(''input_boolean.power_outage_manage_devices'', ''on'') %}\n Auxiliary servers will automatically power on in {{ power_on_minutes }} minutes.\n\n {%- else %} Automatic power on of auxiliary servers is disabled.\n\n {%- endif %}'\n push_actions: \"{% set ns = namespace(actions = []) %} {% if is_state('switch.managed_auxialiary_servers',\\\n \\ 'off') and is_state('input_boolean.power_outage_manage_devices', 'on') %}\\n\\\n \\ {% set ns.actions = ns.actions + [{\\\"action\\\": \\\"power_restored_cancel\\\"\\\n , \\\"title\\\": \\\"Cancel\\\"}] %}\\n{% endif %} {{ ns.actions }}\"\n - condition: and\n conditions:\n - condition: state\n entity_id: switch.managed_auxialiary_servers\n state: 'off'\n - condition: state\n entity_id: input_boolean.power_outage_manage_devices\n state: 'on'\n - wait_for_trigger:\n - trigger: state\n entity_id: binary_sensor.ups_online_status\n to: 'off'\n - trigger: event\n event_type:\n - html5_notification.clicked\n - mobile_app_notification_action\n event_data:\n action: power_restored_cancel\n timeout:\n minutes: '{{ power_on_minutes }}'\n continue_on_timeout: true\n - condition: \"{% set timed_out = wait.trigger is none %} {{\\n is_state('binary_sensor.ups_online_status',\\\n \\ 'on')\\n and timed_out\\n and is_state('input_boolean.power_outage_manage_devices',\\\n \\ 'on')\\n}}\"\n - action: switch.turn_on\n target:\n entity_id: switch.network_media", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "UPS Online Status", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.ups_online_status", "device_id": null } }, { "name": "Power Outage Manage Devices", "room": null, "type": "input_boolean", "id": { "entity_id": "input_boolean.power_outage_manage_devices", "device_id": null } }, { "name": "Managed Auxiliary Servers", "room": null, "type": "switch", "id": { "entity_id": "switch.managed_auxialiary_servers", "device_id": null } }, { "name": "Network Media", "room": null, "type": "switch", "id": { "entity_id": "switch.network_media", "device_id": null } } ] }, { "id": "dc44848a-cdb1-4b0b-bd76-711a2f81e4b2", "automation": "- id: dc44848a-cdb1-4b0b-bd76-711a2f81e4b2\n alias: schedule_hydro_peak_event\n initial_state: true\n mode: parallel\n triggers:\n - trigger: state\n entity_id: sensor.chris_pixel_6_last_notification\n to: null\n variables:\n text: '{{ trigger.to_state.attributes[''android.text''] | default('''') }}'\n conditions:\n - '{{ is_state(''binary_sensor.winter_credit_enabled'', ''on'') }}'\n - '{{ trigger.to_state.attributes[''package''] | default('''') == ''com.hydroquebec.mf_android''\n }}'\n - '{{ ''Winter Credit Option:'' in text }}'\n - '{{ ''Reminder.'' not in text }}'\n actions:\n - variables:\n text: '{{ text | replace(''a.m.'', ''AM'') | replace(''p.m.'', ''PM'') }}'\n pattern: '(?:([a-z]+\\.? \\d{1,2}), )?from (\\d{1,2}(?::\\d{2})?)(?: (AM|PM))? to\n (\\d{1,2}(?::\\d{2})?)(?: (AM|PM)?)'\n date_time_format: '%Y-%m-%d %H:%M:%S'\n count: '{{ text | regex_findall(pattern, ignorecase = True) | length }}'\n events: \"{% set ns = namespace(day = None, events = []) %}\\n{% for match in\\\n \\ (text | regex_findall(pattern, ignorecase = True)) %}\\n {% set ns.day =\\\n \\ strptime(match[0] | regex_replace('[^a-zA-Z0-9 ]', ''), '%b %d', None) |\\\n \\ default(ns.day, True) -%}\\n {% set start_hour = strptime(\\n match[1]\\n\\\n \\ ~ (':00' if ':' not in match[1])\\n ~ ' ' ~ (match[2] or match[4]\\\n \\ or 'AM'),\\n '%I:%M %p', None) -%}\\n {% set end_hour = strptime(\\n\\\n \\ match[3]\\n ~ (':00' if ':' not in match[3])\\n ~ ' ' ~\\\n \\ (match[4] or match[2] or 'AM'),\\n '%I:%M %p', None) -%}\\n\\n {% if\\\n \\ [ns.day, start_hour, end_hour] | select('none') | first is not none -%}\\n\\\n \\ {%- set start = ns.day.replace(year = now().year, hour = start_hour.hour,\\\n \\ minute = start_hour.minute) -%}\\n {%- set end = ns.day.replace(year =\\\n \\ now().year, hour = end_hour.hour, minute = end_hour.minute) -%}\\n {%\\\n \\ set ns.events = ns.events + [{\\n 'start': (start - timedelta(minutes\\\n \\ = 90)) | as_timestamp | timestamp_custom(date_time_format),\\n 'end':\\\n \\ start | as_timestamp | timestamp_custom(date_time_format),\\n 'preset':\\\n \\ 'Boost',\\n }, {\\n 'start': start | as_timestamp | timestamp_custom(date_time_format),\\n\\\n \\ 'end': end | as_timestamp | timestamp_custom(date_time_format),\\n \\\n \\ 'preset': 'Winter Credit: Peak Event',\\n }, {\\n 'start': end\\\n \\ | as_timestamp | timestamp_custom(date_time_format),\\n 'end': (end\\\n \\ + timedelta(minutes = 90)) | as_timestamp | timestamp_custom(date_time_format),\\n\\\n \\ 'preset': 'Boost',\\n }] -%}\\n {% endif -%}\\n{% endfor %}\\n{{ ns.events\\\n \\ }}\\n\"\n - if: '{{ count == 0 or count != events | length / 3 }}'\n then:\n - action: persistent_notification.create\n data:\n title: Failed to parse peak event notification\n message: '{{ text }}\n\n
\n\n
{{ events }}
\n\n '\n else:\n - repeat:\n for_each: '{{ events }}'\n sequence:\n - action: calendar.create_event\n target:\n entity_id: calendar.climate_exceptions\n data:\n summary: '{{ repeat.item.preset }}'\n description: '{{ text }}'\n start_date_time: '{{ repeat.item.start }}'\n end_date_time: '{{ repeat.item.end }}'", "config": [ { "name": "Winter Credit Enabled", "room": null, "type": "binary_sensor", "id": { "entity_id": "binary_sensor.winter_credit_enabled", "device_id": null } }, { "name": "Climate Exceptions", "room": null, "type": "calendar", "id": { "entity_id": "calendar.climate_exceptions", "device_id": null } }, { "name": "Chris Pixel 6 Last Notification", "room": null, "type": "sensor", "id": { "entity_id": "sensor.chris_pixel_6_last_notification", "device_id": null } } ] }, { "id": "automation.detect_dead_zwave_nodes", "automation": "- id: automation.detect_dead_zwave_nodes\n alias: detect_dead_zwave_nodes\n initial_state: true\n triggers:\n - trigger: state\n entity_id: &id004\n - sensor.backyard_outlet_node_status\n - sensor.backyard_soffit_spots_dimmer_node_status\n - sensor.basement_bathroom_fan_switch_node_status\n - sensor.basement_bathroom_light_switch_node_status\n - sensor.basement_bathroom_multisensor_node_status\n - sensor.basement_bathroom_vanity_dimmer_node_status\n - sensor.basement_hallway_dimmer_node_status\n - sensor.basement_hallway_thermostat_node_status\n - sensor.basement_smoke_co_detector_node_status\n - sensor.bookshelf_light_switch_node_status\n - sensor.dining_room_light_dimmer_node_status\n - sensor.dining_room_thermostat_node_status\n - sensor.downstairs_light_switch_node_status\n - sensor.front_porch_light_switch_node_status\n - sensor.guest_bedroom_closet_light_switch_node_status\n - sensor.guest_bedroom_dimmer_node_status\n - sensor.guest_bedroom_thermostat_node_status\n - sensor.guest_bedroom_window_sensor_node_status\n - sensor.hallway_spots_dimmer_node_status\n - sensor.kitchen_door_lock_node_status\n - sensor.kitchen_door_sensor_node_status\n - sensor.kitchen_sink_light_switch_node_status\n - sensor.kitchen_track_light_dimmer_node_status\n - sensor.kitchen_sink_leak_sensor_node_status\n - sensor.laundry_dimmer_node_status\n - sensor.laundry_motion_sensor_node_status\n - sensor.living_room_couch_outlet_node_status\n - sensor.living_room_door_sensor_node_status\n - sensor.living_room_remote_node_status\n - sensor.living_room_smoke_co_detector_node_status\n - sensor.living_room_thermostat_node_status\n - sensor.lounge_dimmer_node_status\n - sensor.lounge_thermostat_node_status\n - sensor.lounge_window_sensor_node_status\n - sensor.main_bathroom_dimmer_node_status\n - sensor.main_bathroom_fan_switch_node_status\n - sensor.main_bathroom_multisensor_node_status\n - sensor.main_bathroom_vanity_light_switch_node_status\n - sensor.main_water_shut_off_valve_node_status\n - sensor.master_bedroom_closet_light_switch_node_status\n - sensor.master_bedroom_sconces_switch_node_status\n - sensor.master_bedroom_spots_switch_node_status\n - sensor.master_bedroom_thermostat_node_status\n - sensor.office_spots_dimmer_node_status\n - sensor.office_lamp_node_status\n - sensor.office_thermostat_node_status\n - sensor.shed_light_switch_node_status\n - sensor.shed_outdoor_light_switch_node_status\n - sensor.side_porch_sconce_dimmer_node_status\n - sensor.lydia_power_strip_node_status\n - sensor.staircase_dimmer_node_status\n - sensor.studio_dimmer_node_status\n - sensor.studio_thermostat_node_status\n - sensor.studio_window_sensor_node_status\n - sensor.washing_machine_leak_sensor_node_status\n - sensor.water_heater_leak_sensor_node_status\n - sensor.water_heater_switch_node_status\n - sensor.workshop_light_switch_node_status\n - sensor.workshop_motion_sensor_node_status\n from: alive\n to: dead\n for: 60\n variables:\n dismiss: false\n - trigger: state\n entity_id: *id004\n from: dead\n to: alive\n variables:\n dismiss: true\n actions:\n - action: python_script.notify\n data:\n push_target: admin\n persistent: true\n dismiss: '{{ dismiss }}'\n tag: '{{ trigger.to_state.entity_id }}'\n title: '☠️ {{ trigger.to_state.name | lower | replace('': node status'', '''')\n | title }} is dead '", "config": [ { "name": "python script notify", "room": "system", "type": "python_script", "id": { "entity_id": "python_script.notify", "device_id": null } }, { "name": "Backyard Outlet Node Status", "room": "Backyard", "type": "sensor", "id": { "entity_id": "sensor.backyard_outlet_node_status", "device_id": null } }, { "name": "Backyard Soffit Spots Dimmer Node Status", "room": "Backyard", "type": "sensor", "id": { "entity_id": "sensor.backyard_soffit_spots_dimmer_node_status", "device_id": null } }, { "name": "Basement Bathroom Fan Switch Node Status", "room": "Basement Bathroom", "type": "sensor", "id": { "entity_id": "sensor.basement_bathroom_fan_switch_node_status", "device_id": null } }, { "name": "Basement Bathroom Light Switch Node Status", "room": "Basement Bathroom", "type": "sensor", "id": { "entity_id": "sensor.basement_bathroom_light_switch_node_status", "device_id": null } }, { "name": "Basement Bathroom Multisensor Node Status", "room": "Basement Bathroom", "type": "sensor", "id": { "entity_id": "sensor.basement_bathroom_multisensor_node_status", "device_id": null } }, { "name": "Basement Bathroom Vanity Dimmer Node Status", "room": "Basement Bathroom", "type": "sensor", "id": { "entity_id": "sensor.basement_bathroom_vanity_dimmer_node_status", "device_id": null } }, { "name": "Basement Hallway Dimmer Node Status", "room": "Basement Hallway", "type": "sensor", "id": { "entity_id": "sensor.basement_hallway_dimmer_node_status", "device_id": null } }, { "name": "Basement Hallway Thermostat Node Status", "room": "Basement Hallway", "type": "sensor", "id": { "entity_id": "sensor.basement_hallway_thermostat_node_status", "device_id": null } }, { "name": "Basement Smoke CO Detector Node Status", "room": "Basement", "type": "sensor", "id": { "entity_id": "sensor.basement_smoke_co_detector_node_status", "device_id": null } }, { "name": "Bookshelf Light Switch Node Status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.bookshelf_light_switch_node_status", "device_id": null } }, { "name": "Dining Room Light Dimmer Node Status", "room": "Dining Room", "type": "sensor", "id": { "entity_id": "sensor.dining_room_light_dimmer_node_status", "device_id": null } }, { "name": "Dining Room Thermostat Node Status", "room": "Dining Room", "type": "sensor", "id": { "entity_id": "sensor.dining_room_thermostat_node_status", "device_id": null } }, { "name": "Downstairs Light Switch Node Status", "room": "Downstairs", "type": "sensor", "id": { "entity_id": "sensor.downstairs_light_switch_node_status", "device_id": null } }, { "name": "Front Porch Light Switch Node Status", "room": "Front Porch", "type": "sensor", "id": { "entity_id": "sensor.front_porch_light_switch_node_status", "device_id": null } }, { "name": "Guest Bedroom Closet Light Switch Node Status", "room": "Guest Bedroom", "type": "sensor", "id": { "entity_id": "sensor.guest_bedroom_closet_light_switch_node_status", "device_id": null } }, { "name": "Guest Bedroom Dimmer Node Status", "room": "Guest Bedroom", "type": "sensor", "id": { "entity_id": "sensor.guest_bedroom_dimmer_node_status", "device_id": null } }, { "name": "Guest Bedroom Thermostat Node Status", "room": "Guest Bedroom", "type": "sensor", "id": { "entity_id": "sensor.guest_bedroom_thermostat_node_status", "device_id": null } }, { "name": "Guest Bedroom Window Sensor Node Status", "room": "Guest Bedroom", "type": "sensor", "id": { "entity_id": "sensor.guest_bedroom_window_sensor_node_status", "device_id": null } }, { "name": "Hallway Spots Dimmer Node Status", "room": "Hallway", "type": "sensor", "id": { "entity_id": "sensor.hallway_spots_dimmer_node_status", "device_id": null } }, { "name": "Kitchen Door Lock Node Status", "room": "Kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_door_lock_node_status", "device_id": null } }, { "name": "Kitchen Door Sensor Node Status", "room": "Kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_door_sensor_node_status", "device_id": null } }, { "name": "Kitchen Sink Leak Sensor Node Status", "room": "Kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_sink_leak_sensor_node_status", "device_id": null } }, { "name": "Kitchen Sink Light Switch Node Status", "room": "Kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_sink_light_switch_node_status", "device_id": null } }, { "name": "Kitchen Track Light Dimmer Node Status", "room": "Kitchen", "type": "sensor", "id": { "entity_id": "sensor.kitchen_track_light_dimmer_node_status", "device_id": null } }, { "name": "Laundry Dimmer Node Status", "room": "Laundry", "type": "sensor", "id": { "entity_id": "sensor.laundry_dimmer_node_status", "device_id": null } }, { "name": "Laundry Motion Sensor Node Status", "room": "Laundry", "type": "sensor", "id": { "entity_id": "sensor.laundry_motion_sensor_node_status", "device_id": null } }, { "name": "Living Room Couch Outlet Node Status", "room": "Living Room", "type": "sensor", "id": { "entity_id": "sensor.living_room_couch_outlet_node_status", "device_id": null } }, { "name": "Living Room Door Sensor Node Status", "room": "Living Room", "type": "sensor", "id": { "entity_id": "sensor.living_room_door_sensor_node_status", "device_id": null } }, { "name": "Living Room Remote Node Status", "room": "Living Room", "type": "sensor", "id": { "entity_id": "sensor.living_room_remote_node_status", "device_id": null } }, { "name": "Living Room Smoke CO Detector Node Status", "room": "Living Room", "type": "sensor", "id": { "entity_id": "sensor.living_room_smoke_co_detector_node_status", "device_id": null } }, { "name": "Living Room Thermostat Node Status", "room": "Living Room", "type": "sensor", "id": { "entity_id": "sensor.living_room_thermostat_node_status", "device_id": null } }, { "name": "Lounge Dimmer Node Status", "room": "Lounge", "type": "sensor", "id": { "entity_id": "sensor.lounge_dimmer_node_status", "device_id": null } }, { "name": "Lounge Thermostat Node Status", "room": "Lounge", "type": "sensor", "id": { "entity_id": "sensor.lounge_thermostat_node_status", "device_id": null } }, { "name": "Lounge Window Sensor Node Status", "room": "Lounge", "type": "sensor", "id": { "entity_id": "sensor.lounge_window_sensor_node_status", "device_id": null } }, { "name": "Lydia Power Strip Node Status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.lydia_power_strip_node_status", "device_id": null } }, { "name": "Main Bathroom Dimmer Node Status", "room": "Main Bathroom", "type": "sensor", "id": { "entity_id": "sensor.main_bathroom_dimmer_node_status", "device_id": null } }, { "name": "Main Bathroom Fan Switch Node Status", "room": "Main Bathroom", "type": "sensor", "id": { "entity_id": "sensor.main_bathroom_fan_switch_node_status", "device_id": null } }, { "name": "Main Bathroom Multisensor Node Status", "room": "Main Bathroom", "type": "sensor", "id": { "entity_id": "sensor.main_bathroom_multisensor_node_status", "device_id": null } }, { "name": "Main Bathroom Vanity Light Switch Node Status", "room": "Main Bathroom", "type": "sensor", "id": { "entity_id": "sensor.main_bathroom_vanity_light_switch_node_status", "device_id": null } }, { "name": "Main Water Shut Off Valve Node Status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.main_water_shut_off_valve_node_status", "device_id": null } }, { "name": "Master Bedroom Closet Light Switch Node Status", "room": "Master Bedroom", "type": "sensor", "id": { "entity_id": "sensor.master_bedroom_closet_light_switch_node_status", "device_id": null } }, { "name": "Master Bedroom Sconces Switch Node Status", "room": "Master Bedroom", "type": "sensor", "id": { "entity_id": "sensor.master_bedroom_sconces_switch_node_status", "device_id": null } }, { "name": "Master Bedroom Spots Switch Node Status", "room": "Master Bedroom", "type": "sensor", "id": { "entity_id": "sensor.master_bedroom_spots_switch_node_status", "device_id": null } }, { "name": "Master Bedroom Thermostat Node Status", "room": "Master Bedroom", "type": "sensor", "id": { "entity_id": "sensor.master_bedroom_thermostat_node_status", "device_id": null } }, { "name": "Office Lamp Node Status", "room": "Office", "type": "sensor", "id": { "entity_id": "sensor.office_lamp_node_status", "device_id": null } }, { "name": "Office Spots Dimmer Node Status", "room": "Office", "type": "sensor", "id": { "entity_id": "sensor.office_spots_dimmer_node_status", "device_id": null } }, { "name": "Office Thermostat Node Status", "room": "Office", "type": "sensor", "id": { "entity_id": "sensor.office_thermostat_node_status", "device_id": null } }, { "name": "Shed Light Switch Node Status", "room": "Shed", "type": "sensor", "id": { "entity_id": "sensor.shed_light_switch_node_status", "device_id": null } }, { "name": "Shed Outdoor Light Switch Node Status", "room": "Shed", "type": "sensor", "id": { "entity_id": "sensor.shed_outdoor_light_switch_node_status", "device_id": null } }, { "name": "Side Porch Sconce Dimmer Node Status", "room": "Side Porch", "type": "sensor", "id": { "entity_id": "sensor.side_porch_sconce_dimmer_node_status", "device_id": null } }, { "name": "Staircase Dimmer Node Status", "room": "Staircase", "type": "sensor", "id": { "entity_id": "sensor.staircase_dimmer_node_status", "device_id": null } }, { "name": "Studio Dimmer Node Status", "room": "Studio", "type": "sensor", "id": { "entity_id": "sensor.studio_dimmer_node_status", "device_id": null } }, { "name": "Studio Thermostat Node Status", "room": "Studio", "type": "sensor", "id": { "entity_id": "sensor.studio_thermostat_node_status", "device_id": null } }, { "name": "Studio Window Sensor Node Status", "room": "Studio", "type": "sensor", "id": { "entity_id": "sensor.studio_window_sensor_node_status", "device_id": null } }, { "name": "Washing Machine Leak Sensor Node Status", "room": "Laundry", "type": "sensor", "id": { "entity_id": "sensor.washing_machine_leak_sensor_node_status", "device_id": null } }, { "name": "Water Heater Leak Sensor Node Status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.water_heater_leak_sensor_node_status", "device_id": null } }, { "name": "Water Heater Switch Node Status", "room": null, "type": "sensor", "id": { "entity_id": "sensor.water_heater_switch_node_status", "device_id": null } }, { "name": "Workshop Light Switch Node Status", "room": "Workshop", "type": "sensor", "id": { "entity_id": "sensor.workshop_light_switch_node_status", "device_id": null } }, { "name": "Workshop Motion Sensor Node Status", "room": "Workshop", "type": "sensor", "id": { "entity_id": "sensor.workshop_motion_sensor_node_status", "device_id": null } } ] } ]