[
{
"id": "Ad-Hoc Charging",
"automation": "- alias: Ad-Hoc Charging\n description: ''\n trigger:\n - platform: time\n at: 02:00:00\n id: Start charge\n - platform: time\n at: 05:00:00\n id: Stop charge\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Start charge\n sequence:\n - type: turn_on\n device_id: 86f6f7b8b3ba67d124acc8138c2a4a3c\n entity_id: switch.ad_hoc_charging_local\n domain: switch\n - type: turn_on\n device_id: 66e96b541c8c8cdaf67194ef989264ae\n entity_id: switch.ad_hoc_tou_charging_2_socket_1\n domain: switch\n - conditions:\n - condition: trigger\n id: Stop charge\n sequence:\n - type: turn_off\n device_id: 86f6f7b8b3ba67d124acc8138c2a4a3c\n entity_id: switch.ad_hoc_charging_local\n domain: switch\n - type: turn_off\n device_id: 66e96b541c8c8cdaf67194ef989264ae\n entity_id: switch.ad_hoc_tou_charging_2_socket_1\n domain: switch\n mode: single",
"config": [
{
"name": "ad hoc charging local switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.ad_hoc_charging_local",
"device_id": "86f6f7b8b3ba67d124acc8138c2a4a3c"
}
},
{
"name": "ad hoc tou charging 2 socket 1 switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.ad_hoc_tou_charging_2_socket_1",
"device_id": "66e96b541c8c8cdaf67194ef989264ae"
}
}
]
},
{
"id": "Alert when OneDrive is close to storage limit",
"automation": "- alias: Alert when OneDrive is close to storage limit\n description: Send notification to phone when drive needs cleanup.\n triggers:\n - trigger: state\n entity_id:\n - sensor.onedrive_drive_state\n from: normal\n to: nearing\n - trigger: state\n entity_id:\n - sensor.onedrive_drive_state\n from: nearing\n to: critical\n actions:\n - action: script.text_notify_dave\n data:\n title: OneDrive is almost full!\n message: 'OneDrive has used up {{ states(''sensor.my_drive_used_storage'') }}\n of {{ states(''sensor.my_drive_total_available'') }}GB. Only {{ states(''sensor.my_drive_remaining_storage'')\n }}GB remaining.\n\n '\n mode: single",
"config": [
{
"name": "onedrive drive state sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.onedrive_drive_state",
"device_id": null
}
},
{
"name": "my drive used storage sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.my_drive_used_storage",
"device_id": null
}
},
{
"name": "my drive total available sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.my_drive_total_available",
"device_id": null
}
},
{
"name": "my drive remaining storage sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.my_drive_remaining_storage",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
}
]
},
{
"id": "Alexa Set Volume for Announcements",
"automation": "- alias: Alexa Set Volume for Announcements\n description: ''\n trigger:\n - platform: state\n entity_id:\n - input_number.alexa_volume_level_announcements\n id: Alexa Set Volume Announcements\n alias: When Alexa Volume Level for Annoucements changes\n condition: []\n action:\n - service: media_player.volume_set\n target:\n entity_id:\n - media_player.dave_s_echo_pop\n - media_player.guest_bedroom_echo_dot\n - media_player.living_room_dot\n - media_player.kitchen_echo_show\n - media_player.main_bedroom_dot\n - media_player.dave_s_2nd_echo_pop_2\n - media_player.seans_room_dot\n - media_player.dave_s_2nd_echo_pop\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_announcements'')\n | float(0) }}'\n mode: single",
"config": [
{
"name": "alexa volume level announcements input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_announcements",
"device_id": null
}
},
{
"name": "dave's echo pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_echo_pop",
"device_id": null
}
},
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "living room dot media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_dot",
"device_id": null
}
},
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "main bedroom dot media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.main_bedroom_dot",
"device_id": null
}
},
{
"name": "dave's 2nd echo pop 2 media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_2nd_echo_pop_2",
"device_id": null
}
},
{
"name": "seans room dot media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.seans_room_dot",
"device_id": null
}
},
{
"name": "dave's 2nd echo pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_2nd_echo_pop",
"device_id": null
}
}
]
},
{
"id": "All Govee Lighting v2.0",
"automation": "- alias: All Govee Lighting v2.0\n description: Uses scene snapshots for sunset and sunrise lights\n triggers:\n - entity_id:\n - sun.sun\n from: below_horizon\n to: above_horizon\n id: sunrise\n trigger: state\n enabled: true\n - entity_id:\n - binary_sensor.lunchtime\n from: 'off'\n to: 'on'\n id: Lunchtime\n trigger: state\n - entity_id:\n - binary_sensor.afternoon\n from: 'off'\n to: 'on'\n id: Afternoon\n trigger: state\n - entity_id:\n - binary_sensor.dinner_time\n from: 'off'\n to: 'on'\n id: Dinnertime\n trigger: state\n - entity_id:\n - binary_sensor.evening\n from: 'off'\n to: 'on'\n id: Evening\n trigger: state\n - entity_id:\n - sun.sun\n from: above_horizon\n to: below_horizon\n id: sunset\n trigger: state\n enabled: true\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n for:\n seconds: 20\n trigger: numeric_state\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n id: Good Light\n for:\n seconds: 20\n trigger: numeric_state\n - entity_id:\n - switch.living_room_tv\n from: 'off'\n to: 'on'\n id: TV on\n trigger: state\n - entity_id:\n - switch.living_room_tv\n from: 'on'\n to: 'off'\n id: TV off\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - sunrise\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: scene.create\n data:\n scene_id: before_sunrise\n snapshot_entities:\n - light.bed_lamps_3\n - light.stair_lights_2\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.floor_lamp_pro_1\n - light.xmas_string_lights_3_2\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - parallel:\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id:\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n alias: Set lights to sunrise setting.\n - delay:\n minutes: 30\n - action: scene.turn_on\n target:\n entity_id: scene.before_sunrise\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Lunchtime\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Forest\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 20\n effect: Spring\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Spring\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Forest\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to lunchtime effects.\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - action: scene.create\n data:\n snapshot_entities:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n scene_id: lunchtime_govee\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Afternoon\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 10\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Forest\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Afternoon effects.\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - action: scene.create\n data:\n scene_id: afternoon_govee\n snapshot_entities:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Dinnertime\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Candlelight\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 1\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 20\n effect: Fall\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Twilight\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Dinnertime effects.\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - action: scene.create\n data:\n snapshot_entities:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n scene_id: dinnertime_govee\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Evening\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Fire\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Evening effects.\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - action: scene.create\n data:\n snapshot_entities:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n scene_id: evening_govee\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - sunset\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Warm\n action: light.turn_on\n - target:\n entity_id:\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n data:\n brightness_pct: 5\n effect: Sunset Glow\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Warm\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Sunset\n action: light.turn_on\n alias: Set lights to Sunset effects.\n - delay:\n minutes: 30\n - alias: If afternoon reapply scene else apply evening\n if:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n then:\n - action: scene.turn_on\n target:\n entity_id:\n - scene.afternoon_govee\n data: {}\n else:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 20\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Fire\n action: light.turn_on\n alias: Set lights to Evening effects.\n - conditions:\n - condition: trigger\n id: Low Light\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: light.dreamview_g1_pro_2\n action: light.turn_on\n - conditions:\n - condition: trigger\n id: Good Light\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: light.dreamview_g1_pro_2\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - TV on\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.day\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - target:\n entity_id: light.dreamview_g1_pro_2\n data: {}\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - TV off\n - condition: state\n entity_id: light.dreamview_g1_pro_2\n state: 'on'\n sequence:\n - target:\n entity_id: light.dreamview_g1_pro_2\n data: {}\n action: light.turn_off\n mode: parallel",
"config": [
{
"name": "sun sun sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sun.sun",
"device_id": null
}
},
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "evening binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.evening",
"device_id": null
}
},
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "bed lamps 3 light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps_3",
"device_id": null
}
},
{
"name": "stair lights 2 light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights_2",
"device_id": null
}
},
{
"name": "govee glide left 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.govee_glide_left_2",
"device_id": null
}
},
{
"name": "glide lights right 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.glide_lights_right_2",
"device_id": null
}
},
{
"name": "floor lamp pro 1 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.floor_lamp_pro_1",
"device_id": null
}
},
{
"name": "xmas string lights 3 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.xmas_string_lights_3_2",
"device_id": null
}
},
{
"name": "living room occupied binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_occupied",
"device_id": null
}
},
{
"name": "corner lamp 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp_2",
"device_id": null
}
},
{
"name": "dreamview g1 pro 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro_2",
"device_id": null
}
},
{
"name": "day binary sensor",
"room": "outside",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.day",
"device_id": null
}
},
{
"name": "scene before sunrise scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.before_sunrise",
"device_id": null
}
},
{
"name": "afternoon govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.afternoon_govee",
"device_id": null
}
},
{
"name": "stair lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights",
"device_id": null
}
},
{
"name": "bed lamps light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
}
]
},
{
"id": "All Govee Lighting v2.0",
"automation": "- alias: All Govee Lighting v2.0\n description: Uses scene snapshots for sunset and sunrise lights\n triggers:\n - entity_id:\n - sun.sun\n from: below_horizon\n to: above_horizon\n id: sunrise\n trigger: state\n enabled: true\n - entity_id:\n - binary_sensor.lunchtime\n from: 'off'\n to: 'on'\n id: Lunchtime\n trigger: state\n - entity_id:\n - binary_sensor.afternoon\n from: 'off'\n to: 'on'\n id: Afternoon\n trigger: state\n - entity_id:\n - binary_sensor.dinner_time\n from: 'off'\n to: 'on'\n id: Dinnertime\n trigger: state\n - entity_id:\n - binary_sensor.evening\n from: 'off'\n to: 'on'\n id: Evening\n trigger: state\n - entity_id:\n - sun.sun\n from: above_horizon\n to: below_horizon\n id: sunset\n trigger: state\n enabled: true\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n for:\n seconds: 20\n trigger: numeric_state\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n id: Good Light\n for:\n seconds: 20\n trigger: numeric_state\n - entity_id:\n - switch.living_room_tv\n from: 'off'\n to: 'on'\n id: TV on\n trigger: state\n - entity_id:\n - switch.living_room_tv\n from: 'on'\n to: 'off'\n id: TV off\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - sunrise\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: scene.create\n data:\n scene_id: before_sunrise\n snapshot_entities:\n - light.bed_lamps_3\n - light.stair_lights_2\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.floor_lamp_pro_1\n - light.xmas_string_lights_3_2\n - delay:\n hours: 0\n minutes: 0\n seconds: 5\n milliseconds: 0\n - parallel:\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id:\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Sunrise\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n alias: Set lights to sunrise setting.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Sunrise\n - delay:\n minutes: 30\n - action: scene.turn_on\n target:\n entity_id: scene.before_sunrise\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Lunchtime\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Forest\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 20\n effect: Spring\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Spring\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Forest\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to lunchtime effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Lunchtime\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Afternoon\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 10\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Rustling Leaves\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Forest\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Afternoon effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Afternoon\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Dinnertime\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Candlelight\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 1\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 20\n effect: Fall\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Twilight\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Dinnertime effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Dinnertime\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Evening\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Fire\n action: light.turn_on\n - data:\n effect: Forest\n action: light.turn_on\n target:\n entity_id: light.corner_lamp_2\n alias: Set lights to Evening effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Evening\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - condition: state\n entity_id: binary_sensor.living_room_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - sunset\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - parallel:\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Warm\n action: light.turn_on\n - target:\n entity_id:\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n data:\n brightness_pct: 5\n effect: Sunset Glow\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 50\n effect: Warm\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Sunset\n action: light.turn_on\n alias: Set lights to Sunset effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Sunset\n - delay:\n minutes: 30\n - alias: If afternoon reapply scene else apply evening\n if:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n then:\n - action: scene.turn_on\n target:\n entity_id:\n - scene.afternoon_govee\n data: {}\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Afternoon\n else:\n - parallel:\n - target:\n entity_id:\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n data:\n brightness_pct: 1\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.stair_lights_2\n - light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Fall\n action: light.turn_on\n - target:\n entity_id: light.xmas_string_lights_3_2\n data:\n brightness_pct: 20\n effect: Fire\n action: light.turn_on\n - target:\n entity_id:\n - light.floor_lamp_pro_1\n data:\n brightness_pct: 5\n effect: Fire\n action: light.turn_on\n alias: Set lights to Evening effects.\n - action: script.update_govee_scene_tracker\n data:\n new_scene: Evening\n - conditions:\n - condition: trigger\n id: Low Light\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: light.dreamview_g1_pro_2\n action: light.turn_on\n - conditions:\n - condition: trigger\n id: Good Light\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: light.dreamview_g1_pro_2\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - TV on\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.day\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - target:\n entity_id: light.dreamview_g1_pro_2\n data: {}\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - TV off\n - condition: state\n entity_id: light.dreamview_g1_pro_2\n state: 'on'\n sequence:\n - target:\n entity_id: light.dreamview_g1_pro_2\n data: {}\n action: light.turn_off\n mode: parallel",
"config": [
{
"name": "sun sun sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sun.sun",
"device_id": null
}
},
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "evening binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.evening",
"device_id": null
}
},
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "bed lamps 3 light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps_3",
"device_id": null
}
},
{
"name": "stair lights 2 light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights_2",
"device_id": null
}
},
{
"name": "govee glide left 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.govee_glide_left_2",
"device_id": null
}
},
{
"name": "glide lights right 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.glide_lights_right_2",
"device_id": null
}
},
{
"name": "floor lamp pro 1 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.floor_lamp_pro_1",
"device_id": null
}
},
{
"name": "xmas string lights 3 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.xmas_string_lights_3_2",
"device_id": null
}
},
{
"name": "living room occupied binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_occupied",
"device_id": null
}
},
{
"name": "corner lamp 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp_2",
"device_id": null
}
},
{
"name": "dreamview g1 pro 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro_2",
"device_id": null
}
},
{
"name": "day binary sensor",
"room": "outside",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.day",
"device_id": null
}
},
{
"name": "scene before sunrise scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.before_sunrise",
"device_id": null
}
},
{
"name": "afternoon govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.afternoon_govee",
"device_id": null
}
},
{
"name": "stair lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights",
"device_id": null
}
},
{
"name": "bed lamps light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
}
]
},
{
"id": "HEATING - All Automations",
"automation": "- alias: HEATING - All Automations\n description: Detects when a window is open or closed and sets heating on or off\n in that room. Detects when no-one is home and turns heating off.\n trigger:\n - platform: state\n entity_id:\n - person.david_forrester\n from: home\n to: not_home\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Dave Away\n - platform: state\n entity_id:\n - person.david_forrester\n from: not_home\n to: home\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Dave Home\n - platform: state\n entity_id:\n - person.gem_forrester\n from: home\n to: not_home\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Gem Away\n - platform: state\n entity_id:\n - person.gem_forrester\n from: not_home\n to: home\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Gem Home\n - platform: state\n entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.hallway_window_contact\n to: 'on'\n id: Downstairs Door or Window Open\n for:\n hours: 0\n minutes: 0\n seconds: 30\n - platform: state\n entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.hallway_window_contact\n to: 'off'\n id: Downstairs Door or Window Closed\n - type: opened\n platform: device\n device_id: e6ba853c7dec9cf8415d6881aa429444\n entity_id: binary_sensor.dining_room_window_right_contact\n domain: binary_sensor\n id: Dining Room Window Right Open\n - type: not_opened\n platform: device\n device_id: e6ba853c7dec9cf8415d6881aa429444\n entity_id: binary_sensor.dining_room_window_right_contact\n domain: binary_sensor\n id: Dining Room Window Right Closed\n - type: opened\n platform: device\n device_id: f9aaa501ddaeabde9538648caab6c975\n entity_id: binary_sensor.cloakroom_window_contact\n domain: binary_sensor\n id: Cloakroom Window Open\n - type: not_opened\n platform: device\n device_id: f9aaa501ddaeabde9538648caab6c975\n entity_id: binary_sensor.cloakroom_window_contact\n domain: binary_sensor\n id: Cloakroom Window Closed\n - type: opened\n platform: device\n device_id: 5af72a1353a555c5830dcba725c7cf23\n entity_id: binary_sensor.en_suite_window_sensor_contact\n domain: binary_sensor\n id: En-Suite Window Open\n - type: not_opened\n platform: device\n device_id: 5af72a1353a555c5830dcba725c7cf23\n entity_id: binary_sensor.en_suite_window_sensor_contact\n domain: binary_sensor\n id: En-Suite Window Closed\n - type: opened\n platform: device\n device_id: 13a27670b56ff35704df9339e2a668a1\n entity_id: binary_sensor.office_window_sensor_contact\n domain: binary_sensor\n id: Office Window Open\n - type: not_opened\n platform: device\n device_id: 13a27670b56ff35704df9339e2a668a1\n entity_id: binary_sensor.office_window_sensor_contact\n domain: binary_sensor\n id: Office Window Closed\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n to: 'on'\n id: Bedroom Window Open\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n to: 'off'\n id: Bedroom Window Closed\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n id: Guest Bedroom Window Open\n to: 'on'\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n to: 'off'\n id: Guest Bedroom Window Closed\n - platform: state\n entity_id:\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n to: 'on'\n id: Upstairs Windows Open\n - platform: state\n entity_id:\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n to: 'off'\n id: Upstairs Windows Closed\n - platform: state\n entity_id:\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'on'\n id: Kids Bathroom Window Open\n - platform: state\n entity_id:\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'off'\n id: Kids Bathroom Window Closed\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Dave Away\n - condition: state\n entity_id: person.gem_forrester\n state: not_home\n - condition: or\n conditions:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: 'On'\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_turn_off_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Gem Away\n - condition: state\n entity_id: person.david_forrester\n state: not_home\n - condition: or\n conditions:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: 'On'\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_turn_off_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Dave Home\n - condition: state\n entity_id: person.gem_forrester\n state: not_home\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_resume_schedule_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Gem Home\n - condition: state\n entity_id: person.david_forrester\n state: not_home\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_resume_schedule_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Downstairs Door or Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 84daad158322931a2b14ee69a6a9c8f5\n domain: climate\n entity_id: climate.downstairs\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 84daad158322931a2b14ee69a6a9c8f5\n domain: climate\n entity_id: climate.downstairs\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n alias: Turn off heating downstairs\n target:\n entity_id: climate.downstairs\n - conditions:\n - condition: trigger\n id: Downstairs Door or Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.downstairs\n - conditions:\n - condition: trigger\n id: Cloakroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 2fe808a84c082db3968a4d856fe6e8ef\n domain: climate\n entity_id: climate.cloakroom\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 2fe808a84c082db3968a4d856fe6e8ef\n domain: climate\n entity_id: climate.cloakroom\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.cloakroom\n - conditions:\n - condition: trigger\n id: Cloakroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.cloakroom\n - conditions:\n - condition: trigger\n id: En-Suite Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 2912cee70e19436c9d6795287d1cf8c9\n domain: climate\n entity_id: climate.en_suite_bathroom\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 2912cee70e19436c9d6795287d1cf8c9\n domain: climate\n entity_id: climate.en_suite_bathroom\n type: is_hvac_mode\n hvac_mode: heat\n alias: Heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.en_suite_bathroom\n - conditions:\n - condition: trigger\n id: En-Suite Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.en_suite_bathroom\n - conditions:\n - condition: trigger\n id: Office Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 71a6edc5565513cdbe48f2b5c45189fa\n domain: climate\n entity_id: climate.office\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 71a6edc5565513cdbe48f2b5c45189fa\n domain: climate\n entity_id: climate.office\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.office\n - conditions:\n - condition: trigger\n id: Office Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.office\n - conditions:\n - condition: trigger\n id: Bedroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 5b51bb0d00f12ec04c45d29296b6b9ee\n domain: climate\n entity_id: climate.master_bedroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 5b51bb0d00f12ec04c45d29296b6b9ee\n domain: climate\n entity_id: climate.master_bedroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.master_bedroom\n - conditions:\n - condition: trigger\n id: Bedroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.master_bedroom\n - conditions:\n - condition: trigger\n id: Guest Bedroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: bc71698349b1224d4f591b0d87542cb5\n domain: climate\n entity_id: climate.guest_bedroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: bc71698349b1224d4f591b0d87542cb5\n domain: climate\n entity_id: climate.guest_bedroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id:\n - climate.guest_bedroom\n - conditions:\n - condition: trigger\n id: Guest Bedroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.guest_bedroom\n - conditions:\n - condition: trigger\n id: Upstairs Windows Open\n - condition: or\n conditions:\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.upstairs\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.upstairs\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id:\n - climate.upstairs\n - conditions:\n - condition: trigger\n id: Upstairs Windows Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.upstairs\n - conditions:\n - condition: trigger\n id: Kids Bathroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.kids_bathroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.kids_bathroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.kids_bathroom\n - conditions:\n - condition: trigger\n id: Kids Bathroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.kids_bathroom\n mode: restart",
"config": [
{
"name": "person david forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.david_forrester",
"device_id": null
}
},
{
"name": "person gem forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.gem_forrester",
"device_id": null
}
},
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "side door sensor contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.side_door_sensor_contact",
"device_id": null
}
},
{
"name": "kitchen window left contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_left_contact",
"device_id": null
}
},
{
"name": "kitchen window right contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_right_contact",
"device_id": null
}
},
{
"name": "living room window left contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_left_contact",
"device_id": null
}
},
{
"name": "living room window right contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_right_contact",
"device_id": null
}
},
{
"name": "hallway window contact binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_window_contact",
"device_id": null
}
},
{
"name": "dining room window right contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_right_contact",
"device_id": "e6ba853c7dec9cf8415d6881aa429444"
}
},
{
"name": "cloakroom window contact binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_window_contact",
"device_id": "f9aaa501ddaeabde9538648caab6c975"
}
},
{
"name": "en suite window sensor contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.en_suite_window_sensor_contact",
"device_id": "5af72a1353a555c5830dcba725c7cf23"
}
},
{
"name": "office window sensor contact binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_window_sensor_contact",
"device_id": "13a27670b56ff35704df9339e2a668a1"
}
},
{
"name": "main bedroom window left contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "main bedroom window right contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "guest bedroom window left contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "guest bedroom window right contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window left contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window right contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window left contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "bathroom window contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.bathroom_window_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window right contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "kids bathroom window left contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_left_contact",
"device_id": null
}
},
{
"name": "kids bathroom window right contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_right_contact",
"device_id": null
}
},
{
"name": "desired heating mode input select",
"room": "hallway",
"type": "input_select",
"id": {
"entity_id": "input_select.desired_heating_mode",
"device_id": null
}
},
{
"name": "downstairs climate",
"room": "downstairs",
"type": "climate",
"id": {
"entity_id": "climate.downstairs",
"device_id": "84daad158322931a2b14ee69a6a9c8f5"
}
},
{
"name": "cloakroom climate",
"room": "cloakroom",
"type": "climate",
"id": {
"entity_id": "climate.cloakroom",
"device_id": "2fe808a84c082db3968a4d856fe6e8ef"
}
},
{
"name": "en suite bathroom climate",
"room": "bathroom",
"type": "climate",
"id": {
"entity_id": "climate.en_suite_bathroom",
"device_id": "2912cee70e19436c9d6795287d1cf8c9"
}
},
{
"name": "office climate",
"room": "office",
"type": "climate",
"id": {
"entity_id": "climate.office",
"device_id": "71a6edc5565513cdbe48f2b5c45189fa"
}
},
{
"name": "master bedroom climate",
"room": "bedroom",
"type": "climate",
"id": {
"entity_id": "climate.master_bedroom",
"device_id": "5b51bb0d00f12ec04c45d29296b6b9ee"
}
},
{
"name": "guest bedroom climate",
"room": "guest_bedroom",
"type": "climate",
"id": {
"entity_id": "climate.guest_bedroom",
"device_id": "bc71698349b1224d4f591b0d87542cb5"
}
},
{
"name": "upstairs climate",
"room": "upstairs",
"type": "climate",
"id": {
"entity_id": "climate.upstairs",
"device_id": "4815bc131fac9883b8fc60472f8ac3e2"
}
},
{
"name": "kids bathroom climate",
"room": "bathroom",
"type": "climate",
"id": {
"entity_id": "climate.kids_bathroom",
"device_id": "4815bc131fac9883b8fc60472f8ac3e2"
}
},
{
"name": "heating turn off all radiators script",
"room": "hallway",
"type": "script",
"id": {
"entity_id": "script.heating_turn_off_all_radiators",
"device_id": null
}
},
{
"name": "heating resume schedule all radiators script",
"room": "hallway",
"type": "script",
"id": {
"entity_id": "script.heating_resume_schedule_all_radiators",
"device_id": null
}
}
]
},
{
"id": "All Lights Automation",
"automation": "- alias: All Lights Automation\n description: Turns on/off lights with presence, light level, door or time\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.camera_hub_g3_ddd9_motion_sensor\n - binary_sensor.dining_room_presence_sensor_occupancy\n - binary_sensor.hallway_camera_cell_motion_detection\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.seans_room_camera_cell_motion_detection\n - binary_sensor.jamie_s_room_cam_cell_motion_detection\n - binary_sensor.guest_bedroom_camera_cell_motion_detection\n - binary_sensor.guest_bedroom_motion_occupancy\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n - binary_sensor.main_bedroom_fp2_presence_sensor_4\n - binary_sensor.office_presence_sensor_occupancy\n - binary_sensor.cloakroom_presence_occupancy\n - binary_sensor.jack_and_jill_presence_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n from: 'off'\n to: 'on'\n id: Motion\n - platform: state\n entity_id:\n - binary_sensor.camera_hub_g3_ddd9_motion_sensor\n - binary_sensor.dining_room_presence_sensor_occupancy\n - binary_sensor.hallway_camera_cell_motion_detection\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.seans_room_camera_cell_motion_detection\n - binary_sensor.jamie_s_room_cam_cell_motion_detection\n - binary_sensor.guest_bedroom_camera_cell_motion_detection\n - binary_sensor.guest_bedroom_motion_occupancy\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n - binary_sensor.main_bedroom_fp2_presence_sensor_4\n - binary_sensor.office_presence_sensor_occupancy\n - binary_sensor.cloakroom_presence_occupancy\n - binary_sensor.jack_and_jill_presence_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n for:\n hours: 0\n minutes: 2\n seconds: 0\n from: 'on'\n to: 'off'\n id: No Motion\n - platform: numeric_state\n entity_id:\n - sensor.living_room_fp2_light_sensor_light_level\n - sensor.main_bedroom_fp2_light_sensor_light_level\n - sensor.average_light_level_downstairs\n - sensor.average_light_level_upstairs\n - sensor.average_indoor_light_level\n - sensor.dining_room_presence_sensor_illuminance\n - sensor.office_presence_sensor_illuminance_lux\n - sensor.upper_landing_presence_illuminance_lux\n - sensor.jack_and_jill_presence_illuminance_lux\n below: 20\n id: Low Light\n - platform: numeric_state\n entity_id:\n - sensor.living_room_fp2_light_sensor_light_level\n - sensor.main_bedroom_fp2_light_sensor_light_level\n - sensor.average_light_level_downstairs\n - sensor.average_light_level_upstairs\n - sensor.average_indoor_light_level\n - sensor.dining_room_presence_sensor_illuminance\n - sensor.office_presence_sensor_illuminance_lux\n - sensor.upper_landing_presence_illuminance_lux\n - sensor.jack_and_jill_presence_illuminance_lux\n above: 80\n id: Good Light\n - platform: state\n entity_id:\n - binary_sensor.garage_door_left_contact\n - binary_sensor.garage_door_right_contact\n - binary_sensor.loft_hatch_sensor_contact\n - binary_sensor.back_door_sensor_contact\n from: 'off'\n to: 'on'\n id: Door Open\n - platform: state\n entity_id:\n - binary_sensor.garage_door_left_contact\n - binary_sensor.garage_door_right_contact\n - binary_sensor.loft_hatch_sensor_contact\n - binary_sensor.back_door_sensor_contact\n from: 'on'\n to: 'off'\n id: Door Closed\n - platform: device\n type: turned_on\n device_id: 621f8db4e2d03a6d1cb101ec3be46e7a\n entity_id: switch.cloakroom_light\n domain: switch\n id: Cloakroom light on\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.cloakroom_light\n id: Cloakroom Light off\n alias: Cloakroom Light off with Timer\n - platform: state\n entity_id:\n - binary_sensor.lights_out\n from: 'off'\n to: 'on'\n id: Lights Out\n - platform: sun\n event: sunset\n offset: -00:30:00\n id: Dusk\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Door Open\n - condition: template\n value_template: '{{ \"Loft\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Loft Hatch\n - condition: state\n entity_id: light.loft_light\n state: 'off'\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.loft_light\n - conditions:\n - condition: trigger\n id:\n - Door Closed\n - condition: template\n value_template: '{{ \"Loft\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Loft Hatch\n - condition: state\n entity_id: light.loft_light\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.loft_light\n - conditions:\n - condition: trigger\n id:\n - Cloakroom light on\n sequence:\n - service: timer.start\n data: {}\n target:\n entity_id: timer.cloakroom_light\n - conditions:\n - condition: trigger\n id:\n - Cloakroom Light off\n - condition: state\n entity_id: light.cloakroom_light_2\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.cloakroom_light_2\n - conditions:\n - condition: trigger\n id:\n - Door Open\n - condition: template\n value_template: '{{\"Garage\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Garage Doors\n - condition: state\n entity_id: light.garage_lights\n state: 'off'\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.garage_lights\n - conditions:\n - condition: trigger\n id:\n - Door Closed\n - condition: template\n value_template: '{{\"Garage Door Right\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Garage Door Right\n - condition: state\n entity_id: binary_sensor.garage_door_left_contact\n state: 'off'\n - condition: state\n entity_id: light.garage_lights\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.garage_lights\n - conditions:\n - condition: trigger\n id:\n - Door Closed\n - condition: template\n value_template: '{{\"Garage Door Left\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Garage Door Left\n - condition: state\n entity_id: binary_sensor.garage_door_right_contact\n state: 'off'\n - condition: state\n entity_id: light.garage_lights\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.garage_lights\n - conditions:\n - condition: trigger\n id:\n - Door Open\n - condition: template\n value_template: '{{\"Back\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Back Door\n - condition: sun\n after: sunset\n before: sunrise\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 75\n target:\n entity_id: light.back_door_light\n - conditions:\n - condition: trigger\n id:\n - Door Closed\n - condition: template\n value_template: '{{\"Back\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Back Door\n - condition: state\n entity_id: light.back_door_light\n state: 'on'\n sequence:\n - service: light.turn_off\n data:\n transition: 300\n target:\n entity_id: light.back_door_light\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Guest\" in trigger.to_state.attributes.friendly_name }}'\n alias: 'Filter Guest Bedroom '\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.average_light_level_upstairs\n below: 20\n - condition: state\n entity_id: input_boolean.guest_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id: light.guest_bedroom_bedside_lamp_left\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id: light.guest_bedroom_bedside_lamp_right\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Guest\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Guest Bedroom\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_right\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_guest_bedroom\n state: 'off'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: or\n conditions:\n - condition: template\n value_template: '{{\"Lower\" in trigger.to_state.attributes.friendly_name\n }}'\n - condition: template\n value_template: '{{\"Upper\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Upper or Lower Landing\n - condition: numeric_state\n entity_id: sensor.average_light_level_upstairs\n below: 20\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: state\n entity_id: light.landing_lights\n state: 'off'\n - condition: time\n after: 07:00:00\n before: '22:00:00'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 15\n target:\n entity_id: light.landing_lights\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: or\n conditions:\n - condition: template\n value_template: '{{\"Lower\" in trigger.to_state.attributes.friendly_name\n }}'\n - condition: template\n value_template: '{{\"Upper\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: 'Filter Upper or Lower Landing '\n - condition: state\n entity_id: light.landing_lights\n state: 'on'\n - condition: state\n entity_id: input_boolean.lower_landing_occupancy\n state: 'off'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.landing_lights\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's Side of Bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: 20\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.daddys_bedside_lamp_socket_1\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's Side of Bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: 20\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.mummys_bedside_lamp_socket_1\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's Side of Bed\n - condition: state\n entity_id: switch.daddys_bedside_lamp_socket_1\n state: 'on'\n - condition: state\n entity_id: input_boolean.dad_s_side_of_bed_occupied\n state: 'off'\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.daddys_bedside_lamp_socket_1\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's Side of Bed\n - condition: state\n entity_id: switch.mummys_bedside_lamp_socket_1\n state: 'on'\n - condition: state\n entity_id: input_boolean.mum_s_side_of_bed_occupied\n state: 'off'\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.mummys_bedside_lamp_socket_1\n - conditions:\n - condition: trigger\n id:\n - Dusk\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n sequence:\n - if:\n - condition: state\n entity_id: switch.corner_lamp_local\n state: 'off'\n then:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.corner_lamp_local\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.stair_lights\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.under_shelf_lights_local\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.bed_lamps\n - if:\n - condition: state\n entity_id: switch.standard_lamp_socket_1\n state: 'off'\n then:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.standard_lamp_socket_1\n - if:\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n then:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id:\n - Lights Out\n sequence:\n - if:\n - condition: state\n entity_id: light.corner_lamp\n state: 'on'\n - condition: state\n entity_id: input_boolean.living_room_occupied\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.corner_lamp\n - if:\n - condition: state\n entity_id: light.standard_lamp\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_hallway\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.standard_lamp\n - if:\n - condition: state\n entity_id: switch.under_shelf_lights_local\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_kitchen\n state: 'off'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.under_shelf_lights_local\n - if:\n - condition: state\n entity_id: light.dreamview_g1_pro\n state: 'on'\n - condition: state\n entity_id: switch.living_room_tv\n state: 'off'\n - condition: state\n entity_id: input_boolean.living_room_occupied\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - if:\n - condition: state\n entity_id: light.back_door_light\n state: 'on'\n - condition: state\n entity_id: binary_sensor.back_door_sensor_contact\n state: 'off'\n - condition: state\n entity_id: input_boolean.room_occupied_kitchen\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.back_door_light\n - if:\n - condition: state\n entity_id: light.landing_lights\n state: 'on'\n - condition: state\n entity_id: input_boolean.lower_landing_occupancy\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.landing_lights\n - if:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_guest_bedroom\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n - if:\n - condition: state\n entity_id: switch.daddys_bedside_lamp_socket_1\n state: 'on'\n - condition: state\n entity_id: binary_sensor.main_bedroom_fp2_presence_sensor_2\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.daddys_bedside_lamp_socket_1\n - if:\n - condition: state\n entity_id: switch.mummys_bedside_lamp_socket_1\n state: 'on'\n - condition: state\n entity_id: binary_sensor.main_bedroom_fp2_presence_sensor_3\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id:\n - switch.mummys_bedside_lamp_socket_1\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: template\n value_template: '{{\"Living\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Living Room\n - condition: state\n entity_id: light.corner_lamp\n state: 'on'\n - condition: state\n entity_id: light.standard_lamp\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: template\n value_template: '{{\"Main\" in trigger.to_state.attributes.friendly_name }}'\n alias: 'Filter Main Bedroom '\n sequence:\n - if:\n - condition: state\n entity_id: switch.daddys_bedside_lamp_socket_1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.daddys_bedside_lamp_socket_1\n alias: If Daddy's Bedside Lamp is on, turn it off\n - if:\n - condition: state\n entity_id: switch.mummys_bedside_lamp_socket_1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.mummys_bedside_lamp_socket_1\n alias: If mummy's Bedside Lamp is on, turn it off\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: template\n value_template: '{{\"Upstairs\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: 'Filter upstairs '\n sequence:\n - if:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.guest_bedroom_bedside_lamp_left\n alias: If Bedside Lamp Left is on, turn it off\n - if:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_right\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_right\n alias: If Bedside Lamp Right is on, turn it off\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: template\n value_template: '{{\"Upstairs\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Upstairs\n - condition: state\n entity_id: light.landing_lights\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.landing_lights\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Cloakroom\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: 'Filter Cloakroom '\n - condition: state\n entity_id: light.cloakroom_light_2\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.average_light_level_downstairs\n below: 20\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.cloakroom_light_2\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Cloakroom\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: 'Filter Cloakroom '\n - condition: state\n entity_id: light.cloakroom_light_2\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.cloakroom_light_2\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: template\n value_template: '{{\"Living\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Living Room\n - condition: state\n entity_id: light.corner_lamp\n state: 'off'\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n mode: restart",
"config": [
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "camera hub g3 ddd9 motion sensor binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.camera_hub_g3_ddd9_motion_sensor",
"device_id": null
}
},
{
"name": "dining room presence sensor occupancy binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "hallway camera cell motion detection binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "lower landing motion occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lower_landing_motion_occupancy",
"device_id": null
}
},
{
"name": "seans room camera cell motion detection binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.seans_room_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "jamie's room cam cell motion detection binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_room_cam_cell_motion_detection",
"device_id": null
}
},
{
"name": "guest bedroom camera cell motion detection binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "guest bedroom motion occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_motion_occupancy",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 1 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 2 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_2",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 3 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_3",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 4 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_4",
"device_id": null
}
},
{
"name": "office presence sensor occupancy binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "cloakroom presence occupancy binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_presence_occupancy",
"device_id": null
}
},
{
"name": "jack and jill presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jack_and_jill_presence_occupancy",
"device_id": null
}
},
{
"name": "upper landing presence occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.upper_landing_presence_occupancy",
"device_id": null
}
},
{
"name": "main bedroom fp2 light sensor light level sensor",
"room": "bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.main_bedroom_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "average light level downstairs sensor",
"room": "downstairs",
"type": "sensor",
"id": {
"entity_id": "sensor.average_light_level_downstairs",
"device_id": null
}
},
{
"name": "average light level upstairs sensor",
"room": "upstairs",
"type": "sensor",
"id": {
"entity_id": "sensor.average_light_level_upstairs",
"device_id": null
}
},
{
"name": "average indoor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.average_indoor_light_level",
"device_id": null
}
},
{
"name": "dining room presence sensor illuminance sensor",
"room": "dining_room",
"type": "sensor",
"id": {
"entity_id": "sensor.dining_room_presence_sensor_illuminance",
"device_id": null
}
},
{
"name": "office presence sensor illuminance lux sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.office_presence_sensor_illuminance_lux",
"device_id": null
}
},
{
"name": "upper landing presence illuminance lux sensor",
"room": "stairs",
"type": "sensor",
"id": {
"entity_id": "sensor.upper_landing_presence_illuminance_lux",
"device_id": null
}
},
{
"name": "jack and jill presence illuminance lux sensor",
"room": "bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.jack_and_jill_presence_illuminance_lux",
"device_id": null
}
},
{
"name": "garage door left contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_left_contact",
"device_id": null
}
},
{
"name": "garage door right contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_right_contact",
"device_id": null
}
},
{
"name": "loft hatch sensor contact binary sensor",
"room": "loft",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.loft_hatch_sensor_contact",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "loft light light",
"room": "loft",
"type": "light",
"id": {
"entity_id": "light.loft_light",
"device_id": null
}
},
{
"name": "cloakroom light switch",
"room": "cloakroom",
"type": "switch",
"id": {
"entity_id": "switch.cloakroom_light",
"device_id": "621f8db4e2d03a6d1cb101ec3be46e7a"
}
},
{
"name": "cloakroom light timer",
"room": "cloakroom",
"type": "timer",
"id": {
"entity_id": "timer.cloakroom_light",
"device_id": null
}
},
{
"name": "cloakroom light 2 light",
"room": "cloakroom",
"type": "light",
"id": {
"entity_id": "light.cloakroom_light_2",
"device_id": null
}
},
{
"name": "garage lights light",
"room": "garage",
"type": "light",
"id": {
"entity_id": "light.garage_lights",
"device_id": null
}
},
{
"name": "back door light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_light",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp left light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_left",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp right light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_right",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamps active input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "room occupied guest bedroom input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_guest_bedroom",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "landing lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.landing_lights",
"device_id": null
}
},
{
"name": "lower landing occupancy input boolean",
"room": "stairs",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.lower_landing_occupancy",
"device_id": null
}
},
{
"name": "daddy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.daddys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "mummy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.mummys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "main bedroom bedside lamps active input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.main_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "dad's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.dad_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "mum's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.mum_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "corner lamp local switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.corner_lamp_local",
"device_id": null
}
},
{
"name": "stair lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights",
"device_id": null
}
},
{
"name": "under shelf lights local switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.under_shelf_lights_local",
"device_id": null
}
},
{
"name": "bed lamps light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps",
"device_id": null
}
},
{
"name": "standard lamp socket 1 switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.standard_lamp_socket_1",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "living room occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_occupied",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
},
{
"name": "standard lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.standard_lamp",
"device_id": null
}
},
{
"name": "room occupied hallway input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_hallway",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "Jack and Jill Presence Illuminance",
"room": "Kids Bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.jack_and_jill_presence_illuminance",
"device_id": null
}
}
]
},
{
"id": "All Presence and Occupancy",
"automation": "- alias: All Presence and Occupancy\n description: Set room presence and room occupancy based on motion and presence.\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n - binary_sensor.kitchen_presence_sensor_presence_sensor_2\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4\n - binary_sensor.dining_room_presence_sensor_occupancy\n - binary_sensor.living_room_fp2_presence_sensor_1\n - binary_sensor.hallway_camera_cell_motion_detection\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.seans_room_camera_cell_motion_detection\n - binary_sensor.jamie_s_room_cam_cell_motion_detection\n - binary_sensor.guest_bedroom_camera_cell_motion_detection\n - binary_sensor.guest_bedroom_motion_occupancy\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n - binary_sensor.main_bedroom_fp2_presence_sensor_4\n - binary_sensor.office_presence_sensor_occupancy\n - binary_sensor.cloakroom_presence_occupancy\n - binary_sensor.main_bathroom_presence_occupancy\n - binary_sensor.jack_and_jill_presence_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n - binary_sensor.garage_camera_cell_motion_detection_2\n from: 'off'\n to: 'on'\n id: Motion\n - platform: state\n entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n - binary_sensor.kitchen_presence_sensor_presence_sensor_2\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4\n - binary_sensor.dining_room_presence_sensor_occupancy\n - binary_sensor.living_room_fp2_presence_sensor_1\n - binary_sensor.hallway_camera_cell_motion_detection\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.seans_room_camera_cell_motion_detection\n - binary_sensor.jamie_s_room_cam_cell_motion_detection\n - binary_sensor.guest_bedroom_camera_cell_motion_detection\n - binary_sensor.guest_bedroom_motion_occupancy\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n - binary_sensor.main_bedroom_fp2_presence_sensor_4\n - binary_sensor.office_presence_sensor_occupancy\n - binary_sensor.cloakroom_presence_occupancy\n - binary_sensor.main_bathroom_presence_occupancy\n - binary_sensor.jack_and_jill_presence_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n - binary_sensor.garage_camera_cell_motion_detection_2\n from: 'on'\n to: 'off'\n id: No Motion\n - platform: state\n entity_id:\n - media_player.kitchen_echo_show\n - media_player.dave_s_echo_pop\n - media_player.dave_s_2nd_echo_pop\n - media_player.living_room_dot\n - media_player.seans_room_dot\n - media_player.dave_s_2nd_echo_pop_2\n - media_player.guest_bedroom_echo_dot\n - media_player.main_bedroom_dot\n attribute: last_called\n to: 'true'\n id: Last Called Alexa\n - platform: state\n entity_id:\n - switch.living_room_tv\n - switch.ingrid_socket_1\n - switch.casper_switch_0\n from: 'off'\n to: 'on'\n id: TV Turned On\n - platform: state\n entity_id:\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.front_door_sense_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.garage_door_left_contact\n - binary_sensor.garage_door_right_contact\n id: External Door Open\n - platform: state\n entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_2\n - binary_sensor.living_room_fp2_presence_sensor_3\n - binary_sensor.living_room_fp2_presence_sensor_4\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n - binary_sensor.living_room_fp2_presence_sensor_5\n from: 'off'\n to: 'on'\n id: Chair or Bed Occupied\n - platform: state\n entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_2\n - binary_sensor.living_room_fp2_presence_sensor_3\n - binary_sensor.living_room_fp2_presence_sensor_4\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n - binary_sensor.living_room_fp2_presence_sensor_5\n from: 'on'\n to: 'off'\n id: Chair or Bed Vacated\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Motion\n - TV Turned On\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Living\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Living Room\n sequence:\n - service: input_text.set_value\n data:\n value: living_room\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.living_room_occupied\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Living\" in trigger.to_state.attributes.friendly_name }}'\n alias: 'Filter Living Room '\n - condition: state\n entity_id: switch.living_room_tv\n state: 'off'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.living_room_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Sofa\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Sofa\n sequence:\n - service: input_text.set_value\n data:\n value: living_room_sofa\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.living_room_sofa_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Sofa\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Sofa\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.living_room_sofa_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Recliner\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Recliner\n sequence:\n - service: input_text.set_value\n data:\n value: living_room_recliner\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.recliner_sofa_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Recliner\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Recliner\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.recliner_sofa_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Corner\" in trigger.to_state.attributes.friendly_name }}'\n alias: 'Filter Corner Chair '\n sequence:\n - service: input_text.set_value\n data:\n value: living_room_corner_chair\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.living_room_corner_chair_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Corner\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Corner Chair\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.living_room_corner_chair_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Desk\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Desk\n sequence:\n - service: input_text.set_value\n data:\n value: living_room_desk\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.living_room_desk_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Desk\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Desk\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.living_room_desk_occupied\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - TV Turned On\n - condition: or\n conditions:\n - condition: template\n value_template: '{{\"Ingrid\" in trigger.to_state.attributes.friendly_name}}'\n alias: Filter Ingrid\n - condition: template\n value_template: '{{\"Kitchen\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Kitchen\n sequence:\n - service: input_text.set_value\n data:\n value: kitchen\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_kitchen\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Kitchen\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Kitchen\n - condition: state\n entity_id: switch.ingrid_socket_1\n state: 'off'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_kitchen\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Dining\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dining Room\n sequence:\n - service: input_text.set_value\n data:\n value: dining_room\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_dining_room\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Dining\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dining Room\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_dining_room\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Hallway\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Hallway\n sequence:\n - service: input_text.set_value\n data:\n value: hallway\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_hallway\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Hallway\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Hallway\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_hallway\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Lower\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Lower Landing\n sequence:\n - service: input_text.set_value\n data:\n value: lower_landing\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.lower_landing_occupancy\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Lower\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Lower Landing\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.lower_landing_occupancy\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Main\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Main Bedroom\n sequence:\n - service: input_text.set_value\n data:\n value: main_bedroom\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bedroom\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Main\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Main Bedroom\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bedroom\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dad's Side of Bed\n sequence:\n - service: input_text.set_value\n data:\n value: dads_side_of_bed\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.dad_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dad's Side of Bed\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.dad_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Occupied\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's Side of Bed\n sequence:\n - service: input_text.set_value\n data:\n value: mums_side_of_bed\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.mum_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id:\n - Chair or Bed Vacated\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's Side of Bed\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.mum_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Suite\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter En-Suite Bathroom\n sequence:\n - service: input_text.set_value\n data:\n value: en_suite\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_en_suite_bathroom\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Suite\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter En-Suite Bathroom\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_en_suite_bathroom\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Jamie\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Jamie's Room\n sequence:\n - service: input_text.set_value\n data:\n value: jamies_room\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jamie_s_room\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Jamie\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Jamie's Room\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jamie_s_room\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Sean\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Sean's Room\n sequence:\n - service: input_text.set_value\n data:\n value: seans_room\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_sean_s_room\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Sean\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Sean's Room\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_sean_s_room\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Guest\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Guest Bedroom\n sequence:\n - service: input_text.set_value\n data:\n value: guest_bedroom\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_guest_bedroom\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Guest\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Guest Bedroom\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_guest_bedroom\n - conditions:\n - condition: trigger\n id:\n - Motion\n - Last Called Alexa\n - condition: template\n value_template: '{{\"Office\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Office\n sequence:\n - service: input_text.set_value\n data:\n value: office\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_office\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Office\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Office\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_office\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Garage\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Garage\n sequence:\n - service: input_text.set_value\n data:\n value: garage\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_garage\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Garage\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Garage\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_garage\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Cloakroom\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: 'Filter Cloakroom '\n sequence:\n - service: input_text.set_value\n data:\n value: cloakroom\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_cloakroom\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Cloakroom\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Cloakroom\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_cloakroom\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Bathroom\" in trigger.to_state.attributes.friendly_name}}'\n alias: Filter Bathroom\n sequence:\n - service: input_text.set_value\n data:\n value: bathroom\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id:\n - input_boolean.room_occupied_main_bathroom\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Bathroom\" in trigger.to_state.attributes.friendly_name}}'\n alias: Filter Main Bathroom\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bathroom\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Upper\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Upper Landing\n sequence:\n - service: input_text.set_value\n data:\n value: upper_landing\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.upper_landing_occupied\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Upper\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.upper_landing_occupied\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Jack\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Kids Bathroom\n sequence:\n - service: input_text.set_value\n data:\n value: kids_bathroom\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jack_jill\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Jack\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jack_jill\n - conditions:\n - condition: trigger\n id:\n - Motion\n - alias: Filter Kitchen Table\n condition: template\n value_template: '{{\"Dinner\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - service: input_text.set_value\n data:\n value: kitchen_table\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.kitchen_table_occupied\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Dinner\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Kitchen Table\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.kitchen_table_occupied\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Back\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Back Door Zone\n sequence:\n - service: input_text.set_value\n data:\n value: back_door_zone\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.back_door_zone_occupied\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Back\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.back_door_zone_occupied\n - conditions:\n - condition: trigger\n id:\n - Motion\n - condition: template\n value_template: '{{\"Utility\" in trigger.to_state.attributes.friendly_name\n }}'\n alias: Filter Utility Room\n sequence:\n - service: input_text.set_value\n data:\n value: utility_room\n target:\n entity_id: input_text.room_presence\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.utility_room_occupied\n - conditions:\n - condition: trigger\n id:\n - No Motion\n - condition: template\n value_template: '{{\"Utility\" in trigger.to_state.attributes.friendly_name\n }}'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.utility_room_occupied\n mode: restart",
"config": [
{
"name": "dave's echo pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_echo_pop",
"device_id": null
}
},
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "living room dot media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_dot",
"device_id": null
}
},
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "main bedroom dot media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.main_bedroom_dot",
"device_id": null
}
},
{
"name": "dave's 2nd echo pop 2 media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_2nd_echo_pop_2",
"device_id": null
}
},
{
"name": "seans room dot media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.seans_room_dot",
"device_id": null
}
},
{
"name": "dave's 2nd echo pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_2nd_echo_pop",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "side door sensor contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.side_door_sensor_contact",
"device_id": null
}
},
{
"name": "dining room presence sensor occupancy binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "hallway camera cell motion detection binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "lower landing motion occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lower_landing_motion_occupancy",
"device_id": null
}
},
{
"name": "seans room camera cell motion detection binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.seans_room_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "jamie's room cam cell motion detection binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_room_cam_cell_motion_detection",
"device_id": null
}
},
{
"name": "guest bedroom camera cell motion detection binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "guest bedroom motion occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_motion_occupancy",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 1 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 2 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_2",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 3 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_3",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 4 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_4",
"device_id": null
}
},
{
"name": "office presence sensor occupancy binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "cloakroom presence occupancy binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_presence_occupancy",
"device_id": null
}
},
{
"name": "jack and jill presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jack_and_jill_presence_occupancy",
"device_id": null
}
},
{
"name": "upper landing presence occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.upper_landing_presence_occupancy",
"device_id": null
}
},
{
"name": "garage door left contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_left_contact",
"device_id": null
}
},
{
"name": "garage door right contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_right_contact",
"device_id": null
}
},
{
"name": "room occupied guest bedroom input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_guest_bedroom",
"device_id": null
}
},
{
"name": "lower landing occupancy input boolean",
"room": "stairs",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.lower_landing_occupancy",
"device_id": null
}
},
{
"name": "dad's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.dad_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "mum's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.mum_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "living room occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_occupied",
"device_id": null
}
},
{
"name": "room occupied hallway input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_hallway",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 2 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_2",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 3 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 4 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "main bathroom presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bathroom_presence_occupancy",
"device_id": null
}
},
{
"name": "garage camera cell motion detection 2 binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_camera_cell_motion_detection_2",
"device_id": null
}
},
{
"name": "ingrid socket 1 switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.ingrid_socket_1",
"device_id": null
}
},
{
"name": "casper switch 0 switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.casper_switch_0",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 2 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_2",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 3 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_3",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 4 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_4",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 5 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_5",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "living room sofa occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_sofa_occupied",
"device_id": null
}
},
{
"name": "recliner sofa occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.recliner_sofa_occupied",
"device_id": null
}
},
{
"name": "living room corner chair occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_corner_chair_occupied",
"device_id": null
}
},
{
"name": "living room desk occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_desk_occupied",
"device_id": null
}
},
{
"name": "room occupied dining room input boolean",
"room": "dining_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_dining_room",
"device_id": null
}
},
{
"name": "room occupied main bedroom input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_main_bedroom",
"device_id": null
}
},
{
"name": "room occupied en suite bathroom input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_en_suite_bathroom",
"device_id": null
}
},
{
"name": "room occupied jamie's room input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_jamie_s_room",
"device_id": null
}
},
{
"name": "room occupied sean's room input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_sean_s_room",
"device_id": null
}
},
{
"name": "room occupied office input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_office",
"device_id": null
}
},
{
"name": "room occupied garage input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_garage",
"device_id": null
}
},
{
"name": "room occupied cloakroom input boolean",
"room": "cloakroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_cloakroom",
"device_id": null
}
},
{
"name": "room occupied main bathroom input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_main_bathroom",
"device_id": null
}
},
{
"name": "upper landing occupied input boolean",
"room": "stairs",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.upper_landing_occupied",
"device_id": null
}
},
{
"name": "room occupied jack jill input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_jack_jill",
"device_id": null
}
},
{
"name": "kitchen table occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kitchen_table_occupied",
"device_id": null
}
},
{
"name": "back door zone occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.back_door_zone_occupied",
"device_id": null
}
},
{
"name": "utility room occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.utility_room_occupied",
"device_id": null
}
},
{
"name": "garage camera cell motion detection binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "Room Occupied En Suite",
"room": "En Suite",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_en_suite",
"device_id": null
}
},
{
"name": "Switch Ingrid",
"room": null,
"type": "switch",
"id": {
"entity_id": "switch.ingrid",
"device_id": null
}
}
]
},
{
"id": "All Tablet Automations",
"automation": "- alias: All Tablet Automations\n description: ''\n triggers:\n - entity_id: sensor.sm_t736b_battery_state\n to: full\n id: Daves tablet charged\n trigger: state\n - entity_id: sensor.sm_t736b_battery_state\n to: charging\n id: Daves tablet charging\n trigger: state\n - entity_id: sensor.jamie_s_samsung_tablet_network_type\n id: Jamie Network Type\n trigger: state\n - entity_id: sensor.jamie_s_samsung_tablet_battery_level\n below: 10\n id: Jamie Low Battery\n trigger: numeric_state\n - entity_id: sensor.jamie_s_samsung_tablet_battery_level\n above: 99\n id: Jamie Fully Charged\n trigger: numeric_state\n - entity_id: sensor.sean_s_samsung_galaxy_network_type\n id: Sean Network Type\n trigger: state\n - entity_id: sensor.sean_s_samsung_galaxy_battery_level\n below: 10\n id: Sean Low Battery\n trigger: numeric_state\n - entity_id: sensor.sean_s_samsung_galaxy_battery_level\n above: 99\n id: Sean Fully Charged\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Daves tablet charged\n sequence:\n - action: script.text_notify_dave\n data:\n title: TABLET CHARGED\n message: Your tablet is charged.\n - conditions:\n - condition: trigger\n id: Jamie Network Type\n - condition: state\n entity_id: person.jamie\n state: home\n sequence:\n - action: script.text_notify_dave\n data:\n title: JAMIE TABLET\n message: Jamie's tablet has changed network.\n - conditions:\n - condition: trigger\n id: Jamie Low Battery\n sequence:\n - action: script.text_notify_dave\n data:\n title: JAMIE TABLET\n message: Jamie's tablet needs charged.\n - conditions:\n - condition: trigger\n id: Jamie Fully Charged\n sequence:\n - action: script.text_notify_dave\n data:\n title: JAMIE TABLET\n message: Jamie's tablet is charged.\n - conditions:\n - condition: trigger\n id: Sean Network Type\n - condition: state\n entity_id: person.sean\n state: home\n sequence:\n - action: script.text_notify_dave\n data:\n title: SEAN TABLET\n message: Sean's tablet has changed network.\n - conditions:\n - condition: trigger\n id: Sean Low Battery\n sequence:\n - action: script.text_notify_dave\n data:\n title: SEAN TABLET\n message: Sean's tablet needs charged.\n - conditions:\n - condition: trigger\n id: Sean Fully Charged\n sequence:\n - action: script.text_notify_dave\n data:\n title: SEAN TABLET\n message: Sean's tablet is charged.\n mode: single\n initial_state: true",
"config": [
{
"name": "sm t736b battery state sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sm_t736b_battery_state",
"device_id": null
}
},
{
"name": "jamie's samsung tablet network type sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamie_s_samsung_tablet_network_type",
"device_id": null
}
},
{
"name": "jamie's samsung tablet battery level sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamie_s_samsung_tablet_battery_level",
"device_id": null
}
},
{
"name": "sean's samsung galaxy network type sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sean_s_samsung_galaxy_network_type",
"device_id": null
}
},
{
"name": "sean's samsung galaxy battery level sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sean_s_samsung_galaxy_battery_level",
"device_id": null
}
},
{
"name": "person jamie",
"room": "jamies_room",
"type": "person",
"id": {
"entity_id": "person.jamie",
"device_id": null
}
},
{
"name": "person sean",
"room": "seans_room",
"type": "person",
"id": {
"entity_id": "person.sean",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
}
]
},
{
"id": "All Tablet Automations V2.0",
"automation": "- alias: All Tablet Automations V2.0\n triggers:\n - entity_id: sensor.sm_t736b_battery_state\n to: full\n id: dave_charged\n trigger: state\n - entity_id: sensor.sm_t736b_battery_state\n to: charging\n id: dave_charging\n trigger: state\n - entity_id: sensor.jamie_s_samsung_tablet_network_type\n id: jamie_network\n trigger: state\n - entity_id: sensor.jamie_s_samsung_tablet_battery_level\n below: 10\n id: jamie_low_battery\n trigger: numeric_state\n - entity_id: sensor.jamie_s_samsung_tablet_battery_level\n above: 99\n id: jamie_charged\n trigger: numeric_state\n - entity_id: sensor.sean_s_samsung_galaxy_network_type\n id: sean_network\n trigger: state\n - entity_id: sensor.sean_s_samsung_galaxy_battery_level\n below: 10\n id: sean_low_battery\n trigger: numeric_state\n - entity_id: sensor.sean_s_samsung_galaxy_battery_level\n above: 99\n id: sean_charged\n trigger: numeric_state\n - entity_id: sensor.jamie_s_samsung_tablet_battery_state\n to: charging\n id: jamie_now_charging\n trigger: state\n - entity_id: sensor.sean_s_samsung_galaxy_battery_state\n to: charging\n id: sean_now_charging\n trigger: state\n conditions:\n - condition: or\n conditions:\n - condition: not\n conditions:\n - condition: template\n value_template: '{{ trigger.id in [''jamie_network'', ''sean_network''] }}'\n - condition: and\n conditions:\n - condition: template\n value_template: '{{ trigger.id == ''jamie_network'' }}'\n - condition: state\n entity_id: person.jamie\n state: home\n - condition: and\n conditions:\n - condition: template\n value_template: '{{ trigger.id == ''sean_network'' }}'\n - condition: state\n entity_id: person.sean\n state: home\n actions:\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ trigger.id in [''jamie_now_charging'', ''sean_now_charging'']\n }}'\n sequence:\n - data:\n notification_id: \"{% if trigger.id == 'jamie_now_charging' %}\\n jamie_tablet_still_not_charging\\n\\\n {% elif trigger.id == 'sean_now_charging' %}\\n sean_tablet_still_not_charging\\n\\\n {% endif %}\\n\"\n action: persistent_notification.dismiss\n - data:\n title: '{% if trigger.id == ''dave_charged'' %}TABLET CHARGED {% elif trigger.id.startswith(''jamie'')\n %}JAMIE TABLET {% elif trigger.id.startswith(''sean'') %}SEAN TABLET {% else\n %}TABLET STATUS{% endif %}\n\n '\n message: \"{% if trigger.id == 'dave_charged' %}\\n Your tablet is charged.\\n\\\n {% elif trigger.id == 'jamie_network' %}\\n Jamie's tablet has changed network.\\n\\\n {% elif trigger.id == 'jamie_low_battery' %}\\n Jamie's tablet needs charged.\\n\\\n {% elif trigger.id == 'jamie_charged' %}\\n Jamie's tablet is charged.\\n{%\\\n \\ elif trigger.id == 'sean_network' %}\\n Sean's tablet has changed network.\\n\\\n {% elif trigger.id == 'sean_low_battery' %}\\n Sean's tablet needs charged.\\n\\\n {% elif trigger.id == 'sean_charged' %}\\n Sean's tablet is charged.\\n{% elif\\\n \\ trigger.id == 'jamie_now_charging' %}\\n Jamie's tablet has started charging.\\n\\\n {% elif trigger.id == 'sean_now_charging' %}\\n Sean's tablet has started\\\n \\ charging.\\n{% else %}Tablet status changed.{% endif %}\\n\"\n action: script.text_notify_dave\n - if:\n - condition: template\n value_template: '{{ trigger.id == ''jamie_low_battery'' }}'\n then:\n - delay: 00:10:00\n - condition: state\n entity_id: binary_sensor.jamie_s_samsung_tablet_is_charging\n state: 'off'\n - data:\n title: Jamie's Tablet Still Not Charging\n message: Jamie's tablet is still below 10% and hasn't been plugged in after\n 10 minutes.\n notification_id: jamie_tablet_still_not_charging\n action: persistent_notification.create\n alias: Notify if Jamie's tablet is still not charging after 10 minutes\n - if:\n - condition: template\n value_template: '{{ trigger.id == ''sean_low_battery'' }}'\n then:\n - delay: 00:10:00\n - condition: state\n entity_id: binary_sensor.sean_s_samsung_galaxy_is_charging\n state: 'off'\n - data:\n title: Sean's Tablet Still Not Charging\n message: Sean's tablet is still below 10% and hasn't been plugged in after\n 10 minutes.\n notification_id: sean_tablet_still_not_charging\n action: persistent_notification.create\n alias: Notify if Sean's tablet is still not charging after 10 minutes\n mode: single\n initial_state: true",
"config": [
{
"name": "sm t736b battery state sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sm_t736b_battery_state",
"device_id": null
}
},
{
"name": "jamie's samsung tablet network type sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamie_s_samsung_tablet_network_type",
"device_id": null
}
},
{
"name": "jamie's samsung tablet battery level sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamie_s_samsung_tablet_battery_level",
"device_id": null
}
},
{
"name": "sean's samsung galaxy network type sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sean_s_samsung_galaxy_network_type",
"device_id": null
}
},
{
"name": "sean's samsung galaxy battery level sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sean_s_samsung_galaxy_battery_level",
"device_id": null
}
},
{
"name": "person jamie",
"room": "jamies_room",
"type": "person",
"id": {
"entity_id": "person.jamie",
"device_id": null
}
},
{
"name": "person sean",
"room": "seans_room",
"type": "person",
"id": {
"entity_id": "person.sean",
"device_id": null
}
},
{
"name": "jamie's samsung tablet battery state sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamie_s_samsung_tablet_battery_state",
"device_id": null
}
},
{
"name": "sean's samsung galaxy battery state sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.sean_s_samsung_galaxy_battery_state",
"device_id": null
}
},
{
"name": "jamie's samsung tablet is charging binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_samsung_tablet_is_charging",
"device_id": null
}
},
{
"name": "sean's samsung galaxy is charging binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_samsung_galaxy_is_charging",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
}
]
},
{
"id": "Audible Notifications",
"automation": "- alias: Audible Notifications\n description: ''\n trigger:\n - platform: time\n at: input_datetime.audible_notification_on\n id: 'on'\n - platform: time\n at: input_datetime.audible_notification_off\n id: 'off'\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: 'on'\n - condition: state\n entity_id: binary_sensor.family_home\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: input_boolean.audible_notifications\n action: input_boolean.turn_on\n - conditions:\n - condition: trigger\n id: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: input_boolean.audible_notifications\n action: input_boolean.turn_off\n default: []\n mode: single",
"config": [
{
"name": "audible notification on input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.audible_notification_on",
"device_id": null
}
},
{
"name": "audible notification off input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.audible_notification_off",
"device_id": null
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
}
]
},
{
"id": "a3739bb0-632d-4526-bf82-ee4e27b80882",
"automation": "- id: a3739bb0-632d-4526-bf82-ee4e27b80882\n alias: Set Room With Alexa Presence\n mode: restart\n trigger:\n - platform: state\n entity_id: sensor.room_audio\n action:\n - action: input_text.set_value\n data:\n entity_id: input_text.room_with_alexa_presence\n value: '{{ states(''sensor.room_audio'') }}'\n - action: mqtt.publish\n data:\n topic: house/presence/current_room\n payload: '{{ states(''sensor.room_audio'') }}'\n retain: true\n - action: mqtt.publish\n data:\n topic: house/presence/backup_room\n payload: '{{ states(''input_text.room_presence'') }}'\n retain: true",
"config": [
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room audio sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.room_audio",
"device_id": null
}
},
{
"name": "room with alexa presence input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.room_with_alexa_presence",
"device_id": null
}
}
]
},
{
"id": "28c0e7a6-4024-48c9-a422-8b8ffc3a86d1",
"automation": "- id: 28c0e7a6-4024-48c9-a422-8b8ffc3a86d1\n alias: Set Last Alexa Called Time\n initial_state: true\n trigger:\n - platform: state\n entity_id:\n - media_player.kitchen_echo_show\n - media_player.living_room_pop\n - media_player.dining_room_pop\n - media_player.main_bedroom_dot\n - media_player.guest_bedroom_echo_dot\n - media_player.office_pop\n - media_player.jamie_s_room_dot\n - media_player.sean_s_room_dot\n condition:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.last_called_timestamp | float\n > trigger.from_state.attributes.last_called_timestamp | float }}'\n action:\n - action: input_datetime.set_datetime\n target:\n entity_id: input_datetime.last_time_alexa_called\n data:\n datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'",
"config": [
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "main bedroom dot media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.main_bedroom_dot",
"device_id": null
}
},
{
"name": "living room pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_pop",
"device_id": null
}
},
{
"name": "dining room pop media player",
"room": "dining_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dining_room_pop",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "sean's room dot media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sean_s_room_dot",
"device_id": null
}
},
{
"name": "last time alexa called input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.last_time_alexa_called",
"device_id": null
}
},
{
"name": "office pop media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_pop",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
}
]
},
{
"id": "Aura Lamp",
"automation": "- alias: Aura Lamp\n description: ''\n triggers:\n - event: sunset\n id: Sunset\n trigger: sun\n enabled: true\n - event: sunrise\n id: Sunrise\n trigger: sun\n enabled: true\n - trigger: state\n entity_id:\n - binary_sensor.morning\n id: Morning\n to: 'on'\n from: 'off'\n - trigger: state\n entity_id:\n - binary_sensor.lunchtime\n id: Lunchtime\n from: 'off'\n to: 'on'\n - trigger: state\n entity_id:\n - binary_sensor.afternoon\n id: Afternoon\n from: 'off'\n to: 'on'\n - trigger: state\n entity_id:\n - binary_sensor.dinner_time\n id: Dinnertime\n from: 'off'\n to: 'on'\n - trigger: state\n entity_id:\n - binary_sensor.evening\n id: Evening\n from: 'off'\n to: 'on'\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Sunrise\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Sunrise\n - delay:\n hours: 0\n minutes: 30\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: input_boolean.washing_machine_finished\n state: 'on'\n then:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n rgb_color:\n - 255\n - 0\n - 0\n brightness_pct: 1\n else:\n - if:\n - condition: state\n entity_id: input_boolean.garage_dehumidifier_full\n state: 'on'\n then:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n rgb_color:\n - 133\n - 255\n - 255\n brightness_pct: 1\n else:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Morning\n - conditions:\n - condition: trigger\n id:\n - Sunset\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Sunset\n - delay:\n hours: 0\n minutes: 30\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n then:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Forest\n else:\n - if:\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n then:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Eating Dots\n else:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Firefly\n - conditions:\n - condition: trigger\n id:\n - Morning\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Morning\n - conditions:\n - condition: trigger\n id:\n - Lunchtime\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Falling Petals\n - conditions:\n - condition: trigger\n id:\n - Afternoon\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Forest\n - conditions:\n - condition: trigger\n id:\n - Dinnertime\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Eating Dots\n - conditions:\n - condition: trigger\n id:\n - Evening\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Firefly\n mode: parallel\n initial_state: true",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "evening binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.evening",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "kitchen aura lamp 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_aura_lamp_2",
"device_id": null
}
},
{
"name": "washing machine finished input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.washing_machine_finished",
"device_id": null
}
},
{
"name": "garage dehumidifier full input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.garage_dehumidifier_full",
"device_id": null
}
},
{
"name": "kitchen aura lamp light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_aura_lamp",
"device_id": null
}
}
]
},
{
"id": "Aurora Alert",
"automation": "- alias: Aurora Alert\n description: ''\n triggers:\n - entity_id:\n - sensor.aurora_aurora_visibility_visibility\n above: 10\n id: aurora on\n trigger: numeric_state\n - entity_id:\n - sensor.aurora_aurora_visibility_visibility\n below: 5\n id: aurora off\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: aurora on\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: AURORA ALERT - HIGHLY PROBABLE\n message: There may be a visible aurora tonight\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - if:\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: Sorry to interrupt, but there is a good chance of seeing the\n Northern Lights tonight.\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n message: Sorry to interrupt, but there is a good chance of seeing the\n Northern Lights tonight.\n alias: Announce if Dave or Gem is home.\n - conditions:\n - condition: trigger\n id: aurora off\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: AURORA ALERT - ALERT OVER\n message: That will be that for the Northern Lights then.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - if:\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: Sorry to interrupt, but there is a good chance you missed the\n Northern Lights tonight.\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n message: Sorry to interrupt, but there is a good chance you missed the\n Northern Lights tonight.\n alias: Announce if Dave or Gem is home.\n mode: single",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "aurora aurora visibility visibility sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.aurora_aurora_visibility_visibility",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "'ESPHome: Update all ESPHome devices'",
"automation": "- alias: 'ESPHome: Update all ESPHome devices'\n description: ''\n triggers:\n - trigger: template\n value_template: '{{ integration_entities(''esphome'') | select(''match'',''^update.'')\n | select(''is_state'',''on'') | list | count > 0 }}'\n alias: When an ESPHome update is available\n conditions: []\n actions:\n - action: script.esphome_update_all_esphome_devices\n metadata: {}\n data: {}\n mode: single",
"config": []
},
{
"id": "Automations Control Automation",
"automation": "- alias: Automations Control Automation\n description: Turn on automations and activation toggles when needed\n trigger:\n - platform: time\n at: '15:30:00'\n id: Enable\n - platform: time\n at: '19:30:00'\n id: Disable\n - platform: state\n entity_id:\n - input_boolean.kids_bedtime_announcement_played\n - input_boolean.school_morning_announcement_played\n - input_boolean.school_pick_up_announcement_played\n - input_boolean.morning_briefing_played\n from: 'off'\n to: 'on'\n id: Toggle On\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Enable\n sequence:\n - service: automation.turn_on\n data: {}\n target:\n entity_id: automation.get_desired_battery_discharge\n - service: automation.turn_on\n data: {}\n target:\n entity_id: automation.discharge_battery_to_desired\n - conditions:\n - condition: trigger\n id:\n - Disable\n sequence:\n - service: automation.turn_off\n data:\n stop_actions: true\n target:\n entity_id: automation.get_desired_battery_discharge\n - service: automation.turn_off\n data:\n stop_actions: true\n target:\n entity_id: automation.discharge_battery_to_desired\n - conditions:\n - condition: trigger\n id:\n - Toggle On\n - condition: template\n value_template: '{{\"Bedtime\" in trigger.to_state.attributes.friendly_name}}'\n alias: Filter Bedtime Announcement\n sequence:\n - if:\n - condition: or\n conditions:\n - condition: state\n entity_id: switch.daddys_bedside_lamp_socket_1\n state: 'on'\n - condition: state\n entity_id: switch.mummys_bedside_lamp_socket_1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id:\n - switch.mummys_bedside_lamp_socket_1\n - switch.daddys_bedside_lamp_socket_1\n alias: Turn off the lamps if they are on.\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n mode: single",
"config": [
{
"name": "daddy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.daddys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "mummy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.mummys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "main bedroom bedside lamps active input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.main_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "kids bedtime announcement played input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kids_bedtime_announcement_played",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "school pick up announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_pick_up_announcement_played",
"device_id": null
}
},
{
"name": "morning briefing played input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.morning_briefing_played",
"device_id": null
}
},
{
"name": "get desired battery discharge automation",
"room": "hallway",
"type": "automation",
"id": {
"entity_id": "automation.get_desired_battery_discharge",
"device_id": null
}
},
{
"name": "discharge battery to desired automation",
"room": "hallway",
"type": "automation",
"id": {
"entity_id": "automation.discharge_battery_to_desired",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
}
]
},
{
"id": "Automations That Run When HA Starts or When Groups Reload",
"automation": "- alias: Automations That Run When HA Starts or When Groups Reload\n description: ''\n mode: single\n triggers:\n - event: start\n id: HA Start\n trigger: homeassistant\n - entity_id:\n - group.kitchen_occupancy\n to: unknown\n id: Group Reset\n trigger: state\n conditions: []\n actions:\n - action: script.update_critical_battery_group_2\n data: {}\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - action: script.update_rechargeable_battery_group\n data: {}\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - action: script.update_srv_critical_battery_group\n data: {}\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - action: script.update_occupancy_groups\n data: {}",
"config": [
{
"name": "group kitchen occupancy group",
"room": "kitchen",
"type": "group",
"id": {
"entity_id": "group.kitchen_occupancy",
"device_id": null
}
}
]
},
{
"id": "Guest Bedroom Lights with presence",
"automation": "- alias: Guest Bedroom Lights with presence\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_motion_occupancy\n from: 'off'\n to: 'on'\n id: Light on\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_motion_occupancy\n from: 'on'\n to: 'off'\n id: Light off\n for:\n hours: 0\n minutes: 1\n seconds: 0\n - platform: numeric_state\n entity_id: sensor.upstairs_light_level\n below: 20\n id: Low Light\n - platform: numeric_state\n entity_id: sensor.upstairs_light_level\n id: Good Light\n above: 80\n condition:\n - condition: state\n entity_id: input_boolean.guest_bedroom_bedside_lamps_active\n state: 'on'\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Light on\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.average_light_level_upstairs\n below: 20\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id: light.guest_bedroom_bedside_lamp_left\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_right\n - conditions:\n - condition: trigger\n id: Light off\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_right\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: and\n conditions:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'off'\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_right\n state: 'off'\n - condition: state\n entity_id: input_boolean.room_occupied_guest_bedroom\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 50\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: state\n entity_id: input_boolean.room_occupied_guest_bedroom\n state: 'on'\n - condition: and\n conditions:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_right\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n mode: restart",
"config": [
{
"name": "guest bedroom motion occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_motion_occupancy",
"device_id": null
}
},
{
"name": "average light level upstairs sensor",
"room": "upstairs",
"type": "sensor",
"id": {
"entity_id": "sensor.average_light_level_upstairs",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp left light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_left",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp right light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_right",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamps active input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "room occupied guest bedroom input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_guest_bedroom",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "upstairs light level sensor",
"room": "upstairs",
"type": "sensor",
"id": {
"entity_id": "sensor.upstairs_light_level",
"device_id": null
}
}
]
},
{
"id": "kitchen_lights_with_presence",
"automation": "- id: kitchen_lights_with_presence\n alias: Kitchen Lights with Presence\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Lights On\n - platform: state\n entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'on'\n to: 'off'\n id: Lights Off\n for:\n hours: 0\n minutes: 0\n seconds: 30\n - platform: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'off'\n to: 'on'\n id: BDZ On\n - platform: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 30\n id: BDZ Off\n - platform: state\n entity_id:\n - binary_sensor.back_door_sensor_contact\n from: 'off'\n to: 'on'\n id: Back Door Entry\n - platform: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4\n from: 'off'\n to: 'on'\n id: Utility On\n - platform: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4\n from: 'on'\n to: 'off'\n id: Utility Off\n for:\n hours: 0\n minutes: 0\n seconds: 30\n - platform: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n - platform: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n id: Good Light\n - platform: state\n entity_id:\n - binary_sensor.lunchtime\n from: 'off'\n to: 'on'\n id: Lunchtime starts\n - platform: state\n entity_id:\n - binary_sensor.lunchtime\n id: lunchtime ends\n from: 'on'\n to: 'off'\n - platform: state\n entity_id:\n - binary_sensor.dinner_time\n from: 'off'\n to: 'on'\n id: Dinner Time Starts\n - platform: state\n entity_id:\n - binary_sensor.dinner_time\n from: 'on'\n to: 'off'\n id: Dinner Time Ends\n - platform: state\n entity_id:\n - binary_sensor.lights_out\n to: 'off'\n id: Allow Lights on\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: state\n entity_id: binary_sensor.overnight\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 255\n - 254\n - 223\n brightness: 10\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.morning\n state: 'on'\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n - condition: state\n entity_id: binary_sensor.evening\n state: 'on'\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - service: light.turn_on\n data:\n color_temp: 367\n brightness: 28\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - service: light.turn_on\n data:\n color_temp: 200\n brightness: 255\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Back Door Entry\n - condition: sun\n before: sunrise\n after: sunset\n - condition: state\n entity_id: light.back_door_zone_light\n state: 'off'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness: 127\n target:\n entity_id: light.back_door_zone_light\n - conditions:\n - condition: trigger\n id:\n - BDZ On\n - condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: and\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.season\n state: autumn\n - condition: state\n entity_id: sensor.season\n state: winter\n - condition: time\n after: '17:35:00'\n before: '21:00:00'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness: 128\n target:\n entity_id: light.back_door_zone_light\n - conditions:\n - condition: trigger\n id:\n - BDZ Off\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.back_door_zone_light\n - conditions:\n - condition: trigger\n id:\n - Utility On\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: sun\n after: sunset\n before: sunrise\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness: 199\n target:\n entity_id: light.utility_room_light\n - conditions:\n - condition: trigger\n id:\n - Utility Off\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.utility_room_light\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: binary_sensor.kitchen_presence_sensor_presence_sensor_1\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.morning\n state: 'on'\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n - condition: state\n entity_id: binary_sensor.evening\n state: 'on'\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'off'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 367\n brightness: 28\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: binary_sensor.kitchen_presence_sensor_presence_sensor_1\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'off'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 200\n brightness: 255\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Good Light\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Lunchtime starts\n - Dinner Time Starts\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 200\n brightness: 255\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - lunchtime ends\n - Dinner Time Ends\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 367\n brightness: 28\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Allow Lights on\n - condition: state\n entity_id: input_boolean.room_occupied_kitchen\n state: 'on'\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - service: light.turn_on\n data:\n color_temp: 367\n brightness: 28\n target:\n entity_id: light.kitchen_lights_2",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "evening binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.evening",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 3 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 4 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_4",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "back door zone light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_zone_light",
"device_id": null
}
},
{
"name": "kitchen lights 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_lights_2",
"device_id": null
}
},
{
"name": "kitchen presence sensor light sensor light level sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.kitchen_presence_sensor_light_sensor_light_level",
"device_id": null
}
},
{
"name": "overnight binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.overnight",
"device_id": null
}
},
{
"name": "season sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.season",
"device_id": null
}
},
{
"name": "utility room light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.utility_room_light",
"device_id": null
}
}
]
},
{
"id": "Main Bedroom Lights with Presence",
"automation": "- alias: Main Bedroom Lights with Presence\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n id: Lights On\n from: 'off'\n to: 'on'\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n - binary_sensor.main_bedroom_fp2_presence_sensor_3\n id: Lights Off\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n - platform: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n - platform: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n id: Good Light\n above: input_number.upper_light_threshold_level\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's side of bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n brightness_pct: 5\n color_temp: 500\n target:\n entity_id: light.sonoff_1001f6d950\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's side of bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id: light.sonoff_1001f6d982\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's side of bed\n - condition: state\n state: 'on'\n entity_id: light.sonoff_1001f6d950\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.sonoff_1001f6d950\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n - condition: template\n value_template: '{{\"Gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's side of bed\n - condition: state\n state: 'on'\n entity_id: light.sonoff_1001f6d982\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.sonoff_1001f6d982\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: input_boolean.room_occupied_main_bedroom\n state: 'on'\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 5\n target:\n entity_id:\n - light.sonoff_1001f6d950\n - light.sonoff_1001f6d982\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: or\n conditions:\n - condition: state\n entity_id: light.sonoff_1001f6d950\n state: 'on'\n - condition: state\n entity_id: light.sonoff_1001f6d982\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.sonoff_1001f6d982\n - light.sonoff_1001f6d950\n mode: restart",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 2 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_2",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 3 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_3",
"device_id": null
}
},
{
"name": "main bedroom fp2 light sensor light level sensor",
"room": "bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.main_bedroom_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "main bedroom bedside lamps active input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.main_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "room occupied main bedroom input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_main_bedroom",
"device_id": null
}
},
{
"name": "sonoff 1001f6d950 light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.sonoff_1001f6d950",
"device_id": null
}
},
{
"name": "sonoff 1001f6d982 light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.sonoff_1001f6d982",
"device_id": null
}
}
]
},
{
"id": "Peak/Cheap rate select for Go Utility meter",
"automation": "- alias: Peak/Cheap rate select for Go Utility meter\n description: ''\n trigger:\n - platform: time\n at: 00:30:00\n variables:\n tariff: Off Peak\n - platform: time\n at: 04:30:00\n variables:\n tariff: Peak\n action:\n - service: select.select_option\n target:\n entity_id: select.octopus_go\n data:\n option: '{{ tariff }}'\n mode: single",
"config": [
{
"name": "octopus go select",
"room": "hallway",
"type": "select",
"id": {
"entity_id": "select.octopus_go",
"device_id": null
}
}
]
},
{
"id": "Back Door Light Needed",
"automation": "- alias: Back Door Light Needed\n description: ''\n triggers:\n - entity_id:\n - switch.back_door_light_switch\n from: 'off'\n to: 'on'\n trigger: state\n - entity_id:\n - switch.back_door_light_switch\n from: 'on'\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: light.back_door_light\n state: 'off'\n sequence:\n - data: {}\n target:\n entity_id: light.back_door_light\n action: light.turn_on\n default:\n - data: {}\n target:\n entity_id: light.back_door_light\n action: light.turn_off\n mode: single",
"config": [
{
"name": "back door light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_light",
"device_id": null
}
},
{
"name": "back door light switch switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.back_door_light_switch",
"device_id": null
}
}
]
},
{
"id": "Back Door Related Automations",
"automation": "- alias: Back Door Related Automations\n description: Lights and announcements etc\n triggers:\n - entity_id:\n - binary_sensor.back_door_sensor_contact\n to: 'on'\n id: Chime\n from: 'off'\n trigger: state\n - entity_id:\n - binary_sensor.back_door_sensor_contact\n from: 'off'\n to: 'on'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Door still open\n trigger: state\n - entity_id:\n - binary_sensor.back_door_sensor_contact\n from: 'on'\n to: 'off'\n id: Chime Off\n trigger: state\n - trigger: sun\n event: sunrise\n id: Sunrise\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Chime\n sequence:\n - alias: Turn on back door light if needed\n if:\n - condition: sun\n before: sunrise\n after: sunset\n then:\n - action: light.turn_on\n target:\n entity_id: light.back_door_light\n data:\n brightness: 255\n - alias: Turn on back door zone light if needed\n if: []\n then:\n - data: {}\n target:\n entity_id: light.back_door_zone_light\n action: light.turn_on\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n then:\n - action: media_player.play_media\n data:\n entity_id: media_player.jarvis_kitchen_media_player\n media_content_id: http://192.168.0.95:8123/local/Sounds/tos-turboliftdoor.mp3\n media_content_type: music\n alias: Play door swish if allowed\n - conditions:\n - condition: trigger\n id:\n - Chime Off\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - action: media_player.play_media\n data:\n entity_id: media_player.jarvis_kitchen_media_player\n media_content_id: http://192.168.0.95:8123/local/Sounds/tos-turboliftdoor.mp3\n media_content_type: music\n alias: Play door swish if allowed\n - alias: Dim back door light to off if needed\n if:\n - condition: and\n conditions:\n - condition: state\n entity_id: light.back_door_light\n state: 'on'\n then:\n - data: {}\n action: script.back_door_light_dim_when_door_closed\n - conditions:\n - condition: trigger\n id: Door Still Open\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n sequence:\n - if:\n - condition: template\n value_template: '{{is_state(''binary_sensor.dave_home'',''on'')}}'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"The {{ trigger.to_state.attributes.friendly_name }} {{ [\\n \\\n \\ ' is standing open.',\\n ' is open.',\\n ' does not close on its own.',\\n\\\n \\ ' was left standing open.'\\n] | random }} {{ [\\n 'Can a human\\\n \\ be so kind and close it?',\\n 'The air quality in this house has\\\n \\ actually improved.',\\n 'Closing the door would improve the internal\\\n \\ climate of the house.',\\n 'Hey. The door was just opened and this\\\n \\ is crazy. But now you know. So close it maybe.',\\n 'If at first\\\n \\ you do not succeed in closing the door, please try again. Like, Right\\\n \\ now seems like a good time to try again.',\\n 'And the automatic\\\n \\ door closer appears to be broken. So, you know what to do. Time to\\\n \\ get physical.',\\n 'I would close it for you. But I lack legs. And\\\n \\ Arms.'\\n] | random }}\\n\"\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n message: \"The {{ trigger.to_state.attributes.friendly_name }} {{ [\\n \\\n \\ ' is standing open.',\\n ' is open.',\\n ' does not close on its own.',\\n\\\n \\ ' was left standing open.'\\n] | random }} {{ [\\n 'Can a human\\\n \\ be so kind and close it?',\\n 'The air quality in this house has\\\n \\ actually improved.',\\n 'Closing the door would improve the internal\\\n \\ climate of the house.',\\n 'Hey. The door was just opened and this\\\n \\ is crazy. But now you know. So close it maybe.',\\n 'If at first\\\n \\ you do not succeed in closing the door, please try again. Like, Right\\\n \\ now seems like a good time to try again.',\\n 'And the automatic\\\n \\ door closer appears to be broken. So, you know what to do. Time to\\\n \\ get physical.',\\n 'I would close it for you. But I lack legs. And\\\n \\ Arms.'\\n] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Sunrise\n sequence:\n - if:\n - condition: state\n entity_id: light.back_door_light\n state: 'on'\n then:\n - action: light.turn_off\n target:\n entity_id: light.back_door_light\n data: {}\n alias: If the light is still on at sunrise, turn it off\n mode: restart",
"config": [
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "back door light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_light",
"device_id": null
}
},
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "jarvis kitchen media player media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_kitchen_media_player",
"device_id": null
}
},
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "back door zone light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_zone_light",
"device_id": null
}
},
{
"name": "back door zone light dim when door closed script",
"room": "kitchen",
"type": "script",
"id": {
"entity_id": "script.back_door_light_dim_when_door_closed",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Back Door Zone Light Needed",
"automation": "- alias: Back Door Zone Light Needed\n description: ''\n mode: single\n triggers:\n - entity_id:\n - switch.kitchen_light_switch_left\n from: 'off'\n to: 'on'\n trigger: state\n - entity_id:\n - switch.kitchen_light_switch_left\n from: 'on'\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: light.back_door_zone_light\n state: 'off'\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.back_door_zone_light\n data: {}\n default:\n - action: light.turn_off\n target:\n entity_id: light.back_door_zone_light\n data: {}",
"config": [
{
"name": "kitchen light switch left switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.kitchen_light_switch_left",
"device_id": null
}
},
{
"name": "back door zone light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_zone_light",
"device_id": null
}
}
]
},
{
"id": "Bathrooms Presence",
"automation": "- alias: Bathrooms Presence\n description: ''\n mode: parallel\n triggers:\n - entity_id:\n - binary_sensor.cloakroom_presence_occupancy\n from: 'off'\n to: 'on'\n id: Cloak Presence\n trigger: state\n - entity_id:\n - binary_sensor.cloakroom_presence_occupancy\n from: 'on'\n to: 'off'\n id: Cloak Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.jack_and_jill_presence_occupancy\n from: 'off'\n to: 'on'\n id: Boys Bathroom Presence\n trigger: state\n - entity_id:\n - binary_sensor.jack_and_jill_presence_occupancy\n from: 'on'\n to: 'off'\n id: Boys Bathroom Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.main_bathroom_presence_occupancy\n from: 'off'\n to: 'on'\n id: Main Bathroom Presence\n trigger: state\n - entity_id:\n - binary_sensor.main_bathroom_presence_occupancy\n from: 'on'\n to: 'off'\n id: Main Bathroom Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Cloak Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: cloakroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_cloakroom\n - conditions:\n - condition: trigger\n id:\n - Cloak Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_cloakroom\n - conditions:\n - condition: trigger\n id:\n - Main Bathroom Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: main_bathroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bathroom\n - conditions:\n - condition: trigger\n id:\n - Main Bathroom Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bathroom\n - conditions:\n - condition: trigger\n id:\n - Boys Bathroom Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: boys_bathroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jack_jill\n - conditions:\n - condition: trigger\n id:\n - Boys Bathroom Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jack_jill",
"config": [
{
"name": "cloakroom presence occupancy binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_presence_occupancy",
"device_id": null
}
},
{
"name": "jack and jill presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jack_and_jill_presence_occupancy",
"device_id": null
}
},
{
"name": "main bathroom presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bathroom_presence_occupancy",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room occupied cloakroom input boolean",
"room": "cloakroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_cloakroom",
"device_id": null
}
},
{
"name": "room occupied main bathroom input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_main_bathroom",
"device_id": null
}
},
{
"name": "room occupied jack jill input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_jack_jill",
"device_id": null
}
}
]
},
{
"id": "Battery Increased Notification",
"automation": "- alias: Battery Increased Notification\n description: Battery Increased Notification\n mode: queued\n triggers:\n - event_type: battery_notes_battery_increased\n trigger: event\n conditions: []\n actions:\n - action: persistent_notification.create\n data:\n title: '{{ trigger.event.data.device_name }} Battery Increased\n\n '\n message: 'The device has increased its battery level. Consequently, I have\n marked it as replaced. If this is not the case, you know what to do.\n\n '",
"config": []
},
{
"id": "Battery Low Notification",
"automation": "- alias: Battery Low Notification\n description: Battery Low Notification with auto dismiss\n mode: queued\n triggers:\n - event_type: battery_notes_battery_threshold\n event_data:\n battery_low: true\n id: low\n alias: Battery went low\n trigger: event\n - event_type: battery_notes_battery_threshold\n event_data:\n battery_low: false\n id: high\n alias: Battery went high\n trigger: event\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - low\n sequence:\n - action: persistent_notification.create\n data:\n title: '{{ trigger.event.data.device_name }} Battery Low\n\n '\n notification_id: '{{ trigger.event.data.device_id }}-{{ trigger.event.data.source_entity_id\n }}'\n message: 'The device has a battery level of {{ trigger.event.data.battery_level\n }}% {{ ''\\n'' -}} You need {{ trigger.event.data.battery_quantity }}×\n {{ trigger.event.data.battery_type }}\n\n '\n - conditions:\n - condition: trigger\n id:\n - high\n sequence:\n - action: persistent_notification.dismiss\n data:\n notification_id: '{{ trigger.event.data.device_id }}-{{ trigger.event.data.source_entity_id\n }}'",
"config": []
},
{
"id": "Battery Replaced",
"automation": "- alias: Battery Replaced\n description: Battery Replaced\n mode: queued\n triggers:\n - event_type: battery_notes_battery_increased\n trigger: event\n conditions: []\n actions:\n - action: battery_notes.set_battery_replaced\n data:\n device_id: '{{ trigger.event.data.device_id }}'\n source_entity_id: '{{ trigger.event.data.source_entity_id }}'",
"config": []
},
{
"id": "Battery Settings Confirm",
"automation": "- alias: Battery Settings Confirm\n description: checks to see if battery settings are correct and sets an input boolean\n toggle\n mode: parallel\n max: 10\n triggers:\n - entity_id:\n - select.solaredge_i1_storage_default_mode\n from: Maximize Self Consumption\n id: Storage Default Mode Wrong\n trigger: state\n - entity_id:\n - select.solaredge_i1_storage_default_mode\n id: Storage Default Mode Correct\n to: Maximize Self Consumption\n trigger: state\n - entity_id:\n - select.solaredge_i1_storage_command_mode\n from: Maximize Self Consumption\n id: Storage Cmd Mode Wrong\n trigger: state\n - entity_id:\n - select.solaredge_i1_storage_command_mode\n id: Storage Cmd Mode Correct\n to: Maximize Self Consumption\n trigger: state\n - entity_id:\n - select.solaredge_i1_storage_control_mode\n from: Remote Control\n id: Storage Control Mode Wrong\n trigger: state\n - entity_id:\n - select.solaredge_i1_storage_control_mode\n id: Storage Control Mode Correct\n to: Remote Control\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Storage Default Mode Wrong\n - condition: state\n entity_id: input_boolean.desired_storage_default_mode_correct\n state: 'on'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_default_mode_correct\n - conditions:\n - condition: trigger\n id: Storage Default Mode Correct\n - condition: state\n entity_id: input_boolean.desired_storage_default_mode_correct\n state: 'off'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_default_mode_correct\n - conditions:\n - condition: trigger\n id: Storage Cmd Mode Wrong\n - condition: state\n entity_id: input_boolean.desired_storage_cmd_mode_correct\n state: 'on'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_cmd_mode_correct\n - conditions:\n - condition: trigger\n id: Storage Cmd Mode Correct\n - condition: state\n entity_id: input_boolean.desired_storage_cmd_mode_correct\n state: 'off'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_cmd_mode_correct\n - conditions:\n - condition: trigger\n id: Storage Control Mode Wrong\n - condition: state\n entity_id: input_boolean.desired_storage_control_mode_correct\n state: 'on'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_control_mode_correct\n - conditions:\n - condition: trigger\n id: Storage Control Mode Correct\n - condition: state\n entity_id: input_boolean.desired_storage_control_mode_correct\n state: 'off'\n sequence:\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.desired_storage_control_mode_correct",
"config": [
{
"name": "desired storage default mode correct input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.desired_storage_default_mode_correct",
"device_id": null
}
},
{
"name": "solaredge i1 storage default mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_default_mode",
"device_id": null
}
},
{
"name": "desired storage cmd mode correct input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.desired_storage_cmd_mode_correct",
"device_id": null
}
},
{
"name": "solaredge i1 storage command mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_command_mode",
"device_id": null
}
},
{
"name": "desired storage control mode correct input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.desired_storage_control_mode_correct",
"device_id": null
}
},
{
"name": "solaredge i1 storage control mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_control_mode",
"device_id": null
}
}
]
},
{
"id": "Bedtime and Get up Actions",
"automation": "- alias: Bedtime and Get up Actions\n description: A list of things that happen in the house when we go to bed and then\n get up.\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.master_bed_occupancy_bed_occupied_both\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: someone is up\n - trigger: state\n entity_id:\n - binary_sensor.master_bed_occupancy_bed_occupied_both\n from: 'off'\n to: 'on'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: we are in bed\n enabled: true\n - trigger: state\n entity_id:\n - binary_sensor.master_bed_occupancy_bed_occupied_either\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: we are up\n - trigger: state\n entity_id:\n - binary_sensor.master_bed_occupancy_bed_occupied_either\n from: 'off'\n to: 'on'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: someone is in bed\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - we are in bed\n - condition: time\n after: '21:30:00'\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: script.goodnight_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - we are up\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'on'\n - condition: time\n after: 06:55:00\n before: '21:00:00'\n sequence:\n - action: script.good_morning_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - someone is in bed\n - condition: time\n after: '21:00:00'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'off'\n - condition: state\n entity_id: binary_sensor.gem_home\n state: 'off'\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: script.goodnight_2\n data: {}\n mode: single",
"config": [
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "master bed occupancy bed occupied both binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.master_bed_occupancy_bed_occupied_both",
"device_id": null
}
},
{
"name": "master bed occupancy bed occupied either binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.master_bed_occupancy_bed_occupied_either",
"device_id": null
}
}
]
},
{
"id": "Bedtime for Jamie",
"automation": "- alias: Bedtime for Jamie\n description: ''\n triggers:\n - trigger: conversation\n command:\n - it's bedtime\n - goodnight\n - It is bedtime\n id: Voice\n - trigger: state\n entity_id:\n - input_boolean.we_are_in_bed\n from: 'off'\n to: 'on'\n id: Stop play\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Voice\n - condition: state\n entity_id: assist_satellite.jarvis_jamie_assist_satellite\n state: processing\n sequence:\n - alias: Silence normal response.\n set_conversation_response: ''\n - alias: Respond with a goodnight message.\n action: assist_satellite.announce\n target:\n entity_id: assist_satellite.jarvis_jamie_assist_satellite\n metadata: {}\n data:\n message: \"{{ [\\n \\\"The Minecraft mobs are asleep — so power up your dreams\\\n \\ Jamie for tomorrow's building adventures!\\\",\\n \\\"Blaze has crossed\\\n \\ the finish line and left Crusher in the dust — now it's your turn Jamie,\\\n \\ to race into dreamland!\\\",\\n \\\"Topsy and Tim have finished their\\\n \\ busy day — rest up for your next big adventure Jamie!\\\",\\n \\\"Blippi’s\\\n \\ backpack is packed away — I hope yours is too Jamie because it's time\\\n \\ to dream up tomorrow’s discoveries!\\\",\\n \\\"The Ninjago team have\\\n \\ defended the city — now it's your mission to rest like a true ninja\\\n \\ Jamie!\\\",\\n \\\"Paw Patrol mission complete — even Chase knows heroes,\\\n \\ like you Jamie, need their sleep!\\\",\\n \\\"Bluey’s imagination is recharging\\\n \\ overnight — what stories will you dream up to share with her tomorrow\\\n \\ Jamie?\\\",\\n \\\"Peppa Pig’s day of adventures is done — time to jump\\\n \\ into bed Jamie, not muddy puddles!\\\",\\n \\\"Minecraft Steve just built\\\n \\ the best base ever — it's epic. So now, Jamie, it's time for you to\\\n \\ build the best dreams!\\\",\\n \\\"Ryder has called all pups to the lookout\\\n \\ for a nap. Dream big, Jamie, and be ready for tomorrow’s rescue!\\\"\\n\\\n \\ ] | random }}\"\n preannounce: false\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jamie_s_room_dot\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_low'') | float(0)\n }}'\n - parallel:\n - action: media_player.play_media\n data:\n media_content_id: Play Bedtime music from Amazon Music\n media_content_type: custom\n target:\n entity_id:\n - media_player.jamie_s_room_dot\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.jamies_light_toggle\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Stop play\n sequence:\n - action: media_player.media_stop\n metadata: {}\n data: {}\n target:\n entity_id:\n - media_player.jamie_s_room_dot\n mode: single",
"config": [
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "assist satellite jarvis jamie assist satellite",
"room": "jamies_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_jamie_assist_satellite",
"device_id": null
}
},
{
"name": "alexa volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_low",
"device_id": null
}
},
{
"name": "jamies light toggle input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.jamies_light_toggle",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
}
]
},
{
"id": "Bedtime for Sean",
"automation": "- alias: Bedtime for Sean\n description: ''\n triggers:\n - trigger: conversation\n command:\n - it's bedtime\n - goodnight\n - It is bedtime\n id: Voice\n - trigger: state\n entity_id:\n - input_boolean.we_are_in_bed\n from: 'off'\n to: 'on'\n id: Stop play\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Voice\n - condition: state\n entity_id: assist_satellite.jarvis_sean_assist_satellite\n state: processing\n sequence:\n - alias: Silence normal response.\n set_conversation_response: ''\n - alias: Respond with a Marvel goodnight.\n action: assist_satellite.announce\n target:\n entity_id: assist_satellite.jarvis_sean_assist_satellite\n metadata: {}\n data:\n message: \"{{ [\\\"Sleep tight, Spidey! Your spider-sense needs to rest for\\\n \\ the day and your web shooters need a recharge so you're ready to swing\\\n \\ into action tomorrow!\\\",\\n \\\"Close your eyes Avenger. We assemble\\\n \\ tomorrow when the world might need you to save the day!\\\",\\n \\\"Okay\\\n \\ Iron Man. Helmet off and power down all systems. Friday will look after\\\n \\ you as you sleep!\\\",\\n \\\"Rest up, young hero! Captain America can\\\n \\ do this all day, but you need sleep to stay strong for your next mission.\\\"\\\n ,\\n \\\"Time to relax big guy. Sleep well my wee Hulk, and try not to\\\n \\ smash your duvet in your sleep!\\\",\\n \\\"The stars are your Infinity\\\n \\ Stones, so your dreams are powered by the most elemental forces. Sleep\\\n \\ tight.\\\",\\n \\\"Time to get some sleep Thor. So put the hammer down,\\\n \\ close your eyes and the gods of Aasgard will watch over you\\\",\\n \\\n \\ \\\"The mirror dimension is calling you Doctor Strange. So open the eye\\\n \\ of agamoto and prepare for some magical dreams\\\",\\n \\\"Director Fury\\\n \\ of SHIELD has assigned you a mission: Get a full night’s rest so you\\\n \\ can be a hero tomorrow!\\\"\\n ] | random }}\"\n preannounce: false\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - action: media_player.volume_set\n target:\n entity_id: media_player.jarvis_sean_media_player\n data:\n volume_level: 0.25\n - parallel:\n - action: music_assistant.play_media\n target:\n entity_id:\n - media_player.jarvis_sean_media_player_2\n data:\n media_id: library://audiobook/5\n alias: Read an audiobook on JARVIS media player\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.seans_light_toggle\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Stop play\n sequence:\n - action: media_player.media_stop\n metadata: {}\n data: {}\n target:\n entity_id: media_player.jarvis_sean_media_player_2\n mode: single",
"config": [
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "assist satellite jarvis sean assist satellite",
"room": "seans_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_sean_assist_satellite",
"device_id": null
}
},
{
"name": "jarvis sean media player media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "jarvis sean media player 2 media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player_2",
"device_id": null
}
},
{
"name": "seans light toggle input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.seans_light_toggle",
"device_id": null
}
},
{
"name": "jarvis sean media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
}
]
},
{
"id": "Birthday Announcements",
"automation": "- alias: Birthday Announcements\n description: ''\n triggers:\n - event: start\n offset: '7:45:0'\n entity_id: calendar.birthdays\n trigger: calendar\n conditions:\n - condition: template\n value_template: '{{ is_state(''input_boolean.audible_notifications'',''on'') }}'\n actions:\n - alias: Pump up the volume\n action: media_player.volume_set\n target:\n entity_id: media_player.living_room_pop\n data:\n volume_level: 0.4\n - action: script.birthday_announcement\n data:\n where: living_room\n - delay:\n hours: 0\n minutes: 0\n seconds: 15\n milliseconds: 0\n - data:\n entity_id: media_player.living_room_pop\n media_content_id: Awesome Birthday Song in everywhere group\n media_content_type: AMAZON_MUSIC\n action: media_player.play_media\n alias: Play Happy Birthday everywhere.\n - action: media_player.volume_set\n target:\n entity_id: media_player.living_room_pop\n data:\n volume_level: 0.4\n alias: Let down the volume\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "living room pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_pop",
"device_id": null
}
},
{
"name": "calendar birthdays calendar",
"room": "living_room",
"type": "calendar",
"id": {
"entity_id": "calendar.birthdays",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
}
]
},
{
"id": "Boys Bedroom Presence and Lights",
"automation": "- alias: Boys Bedroom Presence and Lights\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.jamie_room_presence_occupancy\n from: 'off'\n to: 'on'\n id: Jamie Presence\n trigger: state\n - entity_id:\n - binary_sensor.jamies_room_occupied\n from: 'on'\n to: 'off'\n id: Jamie Absence\n trigger: state\n - entity_id:\n - binary_sensor.sean_room_presence_occupancy\n from: 'off'\n to: 'on'\n id: Sean Presence\n trigger: state\n - entity_id:\n - binary_sensor.seans_room_occupied\n from: 'on'\n to: 'off'\n id: Sean Absence\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Jamie Presence\n sequence:\n - parallel:\n - action: input_text.set_value\n metadata: {}\n data:\n value: jamies_room\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_jamie_s_room\n - if:\n - condition: numeric_state\n entity_id: sensor.jamies_room_light_level\n below: input_number.low_light_threshold\n - condition: time\n after: 08:00:00\n before: '19:45:00'\n weekday:\n - sun\n - sat\n - fri\n - thu\n - wed\n - tue\n - mon\n then:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.jamies_light_toggle\n data: {}\n alias: If low light between 8am and 7:45pm turn on the light.\n alias: Set text and toggles.\n - conditions:\n - condition: trigger\n id:\n - Sean Presence\n sequence:\n - alias: Set text and toggles.\n parallel:\n - action: input_text.set_value\n metadata: {}\n data:\n value: seans_room\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_sean_s_room\n - alias: If low light between 8am and 7:45pm turn on the light.\n if:\n - condition: numeric_state\n entity_id: sensor.seans_room_light_level\n below: input_number.low_light_threshold\n - condition: time\n after: 08:00:00\n before: '19:45:00'\n weekday:\n - sun\n - sat\n - fri\n - thu\n - wed\n - tue\n - mon\n then:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.seans_light_toggle\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Jamie Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id:\n - input_boolean.room_occupied_jamie_s_room\n - input_boolean.jamies_light_toggle\n - conditions:\n - condition: trigger\n id:\n - Sean Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id:\n - input_boolean.room_occupied_sean_s_room\n - input_boolean.seans_light_toggle\n mode: single",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room occupied jamie's room input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_jamie_s_room",
"device_id": null
}
},
{
"name": "room occupied sean's room input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_sean_s_room",
"device_id": null
}
},
{
"name": "jamies light toggle input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.jamies_light_toggle",
"device_id": null
}
},
{
"name": "seans light toggle input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.seans_light_toggle",
"device_id": null
}
},
{
"name": "jamie room presence occupancy binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_room_presence_occupancy",
"device_id": null
}
},
{
"name": "jamies room occupied binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamies_room_occupied",
"device_id": null
}
},
{
"name": "sean room presence occupancy binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_room_presence_occupancy",
"device_id": null
}
},
{
"name": "seans room occupied binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.seans_room_occupied",
"device_id": null
}
},
{
"name": "jamies room light level sensor",
"room": "jamies_room",
"type": "sensor",
"id": {
"entity_id": "sensor.jamies_room_light_level",
"device_id": null
}
},
{
"name": "seans room light level sensor",
"room": "seans_room",
"type": "sensor",
"id": {
"entity_id": "sensor.seans_room_light_level",
"device_id": null
}
}
]
},
{
"id": "Boys Bedtime Announcements v2.0",
"automation": "- alias: Boys Bedtime Announcements v2.0\n description: ''\n triggers:\n - at: input_datetime.school_night_jamie\n id: School Bedtime Jamie\n trigger: time\n enabled: true\n - at: input_datetime.school_night_sean\n id: School Bedtime Sean\n trigger: time\n enabled: true\n - at: input_datetime.non_school_night\n id: Non School Bedtime\n trigger: time\n enabled: true\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - School Bedtime Sean\n - condition: state\n entity_id: sensor.school_tomorrow\n state: 'True'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.seans_bedtime_announcement_played\n state: 'off'\n sequence:\n - action: script.sean_bedtime_announcement\n data: {}\n - conditions:\n - condition: trigger\n id:\n - School Bedtime Jamie\n - condition: state\n entity_id: sensor.school_tomorrow\n state: 'True'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.jamies_bedtime_announcement_played\n state: 'off'\n sequence:\n - action: script.jamie_bedtime_announcement\n data: {}\n - conditions:\n - condition: trigger\n id: Non School Bedtime\n - condition: state\n entity_id: sensor.school_tomorrow\n state: 'False'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.seans_bedtime_announcement_played\n state: 'off'\n - condition: state\n entity_id: input_boolean.jamies_bedtime_announcement_played\n state: 'off'\n sequence:\n - action: script.boys_bedtime_announcement\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "school tomorrow sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.school_tomorrow",
"device_id": null
}
},
{
"name": "seans bedtime announcement played input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.seans_bedtime_announcement_played",
"device_id": null
}
},
{
"name": "jamies bedtime announcement played input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.jamies_bedtime_announcement_played",
"device_id": null
}
},
{
"name": "school night jamie input datetime",
"room": "jamies_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_night_jamie",
"device_id": null
}
},
{
"name": "school night sean input datetime",
"room": "seans_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_night_sean",
"device_id": null
}
},
{
"name": "non school night input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.non_school_night",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "school night input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_night",
"device_id": null
}
}
]
},
{
"id": "Boys' room blinds",
"automation": "- alias: Boys' room blinds\n description: ''\n triggers:\n - at: 07:30:00\n id: weekday open\n trigger: time\n - at: 08:00:00\n id: weekend open\n trigger: time\n - trigger: sun\n event: sunset\n offset: 0\n id: Winter close\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - weekday open\n - condition: state\n entity_id: sensor.day_of_week\n state:\n - Monday\n - Tuesday\n - Wednesday\n - Thursday\n - Friday\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n alias: If it is a school day\n sequence:\n - action: cover.open_cover\n target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n data: {}\n - conditions:\n - condition: trigger\n id:\n - weekday open\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.day_of_week\n state:\n - Saturday\n - Sunday\n - condition: and\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'off'\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'off'\n alias: If weekend or school holiday\n sequence:\n - action: cover.open_cover\n target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Winter close\n sequence:\n - action: cover.close_cover\n target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n data: {}\n mode: single",
"config": [
{
"name": "day of week sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.day_of_week",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "jamies room blind cover",
"room": "jamies_room",
"type": "cover",
"id": {
"entity_id": "cover.jamies_room_blind",
"device_id": null
}
},
{
"name": "seans room blind cover",
"room": "seans_room",
"type": "cover",
"id": {
"entity_id": "cover.seans_room_blind",
"device_id": null
}
}
]
},
{
"id": "Boys' room blinds V2.0",
"automation": "- alias: Boys' room blinds V2.0\n description: Opens and closes Jamie's and Sean's blinds depending on school schedule.\n triggers:\n - at: input_datetime.jamie_s_room_blind_opening_time\n id: jamie_open\n trigger: time\n - at: input_datetime.sean_s_room_blind_opening_time\n id: sean_open\n trigger: time\n - at: 07:32:00\n id: fallback_school_open\n trigger: time\n - at: 07:47:00\n id: fallback_weekend_open\n trigger: time\n - event: sunset\n id: winter_close\n trigger: sun\n - at: '19:30:00'\n id: summer_close\n trigger: time\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: jamie_open\n sequence:\n - target:\n entity_id: cover.jamies_room_blind\n action: cover.open_cover\n data: {}\n - target:\n entity_id: input_boolean.jamie_s_bedside_lamp\n action: input_boolean.turn_off\n data: {}\n - conditions:\n - condition: trigger\n id: sean_open\n sequence:\n - target:\n entity_id: cover.seans_room_blind\n action: cover.open_cover\n data: {}\n - target:\n entity_id: input_boolean.sean_s_bedside_lamp\n action: input_boolean.turn_off\n data: {}\n - conditions:\n - condition: trigger\n id: fallback_school_open\n - condition: template\n value_template: \"{{ is_state('binary_sensor.schoolday', 'on')\\n or is_state('binary_sensor.fridayschool',\\\n \\ 'on') }}\\n\"\n alias: If it's a schoolday.\n - condition: state\n entity_id: cover.jamies_room_blind\n state: closed\n sequence:\n - target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n action: cover.open_cover\n data: {}\n - target:\n entity_id:\n - input_boolean.jamie_s_bedside_lamp\n - input_boolean.sean_s_bedside_lamp\n action: input_boolean.turn_off\n data: {}\n - data:\n title: Fallback Trigger Used\n message: 'Both blinds opened at 07:30 using fallback school day logic. Because\n `sensor.school_tomorrow` is {{ states(''sensor.school_tomorrow'') }}.\n\n '\n action: persistent_notification.create\n - conditions:\n - condition: trigger\n id: fallback_weekend_open\n - condition: template\n value_template: \"{{ is_state('binary_sensor.schoolday', 'off')\\n and is_state('binary_sensor.fridayschool',\\\n \\ 'off') }}\\n\"\n - condition: state\n entity_id: cover.jamies_room_blind\n state: closed\n sequence:\n - target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n action: cover.open_cover\n data: {}\n - target:\n entity_id:\n - input_boolean.jamie_s_bedside_lamp\n - input_boolean.sean_s_bedside_lamp\n action: input_boolean.turn_off\n data: {}\n - data:\n title: Fallback Trigger Used\n message: 'Both boys'' blinds opened at 07:45 using fallback weekend/holiday\n logic. Because `sensor.school_tomorrow` is {{ states(''sensor.school_tomorrow'')\n }}.\n\n '\n action: persistent_notification.create\n - conditions:\n - condition: trigger\n id: winter_close\n sequence:\n - target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n action: cover.close_cover\n data: {}\n - target:\n entity_id:\n - input_boolean.jamie_s_bedside_lamp\n - input_boolean.sean_s_bedside_lamp\n action: input_boolean.turn_on\n data: {}\n - conditions:\n - condition: trigger\n id: summer_close\n sequence:\n - target:\n entity_id:\n - cover.jamies_room_blind\n - cover.seans_room_blind\n action: cover.close_cover\n data: {}\n - target:\n entity_id:\n - input_boolean.jamie_s_bedside_lamp\n - input_boolean.sean_s_bedside_lamp\n action: input_boolean.turn_on\n data: {}\n mode: parallel\n max: 3",
"config": [
{
"name": "school tomorrow sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.school_tomorrow",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "jamies room blind cover",
"room": "jamies_room",
"type": "cover",
"id": {
"entity_id": "cover.jamies_room_blind",
"device_id": null
}
},
{
"name": "seans room blind cover",
"room": "seans_room",
"type": "cover",
"id": {
"entity_id": "cover.seans_room_blind",
"device_id": null
}
},
{
"name": "jamie's room blind opening time input datetime",
"room": "jamies_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.jamie_s_room_blind_opening_time",
"device_id": null
}
},
{
"name": "sean's room blind opening time input datetime",
"room": "seans_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.sean_s_room_blind_opening_time",
"device_id": null
}
},
{
"name": "jamie's bedside lamp input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.jamie_s_bedside_lamp",
"device_id": null
}
},
{
"name": "sean's bedside lamp input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.sean_s_bedside_lamp",
"device_id": null
}
}
]
},
{
"id": "Bread Maker",
"automation": "- alias: Bread Maker\n description: ''\n triggers:\n - trigger: numeric_state\n entity_id:\n - sensor.kitchen_socket_power_power\n for:\n hours: 0\n minutes: 0\n seconds: 15\n above: 50\n id: Start\n - trigger: event\n event_type: timer.finished\n event_data:\n entity_id: timer.bread_timer\n id: Time\n alias: When bread timer finishes.\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Start\n - condition: state\n entity_id: input_boolean.bread_done\n state: 'off'\n - condition: template\n value_template: '{{ trigger.from_state.state not in [''unknown'', ''unavailable'']\n }}'\n sequence:\n - parallel:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.bread_done\n data: {}\n - action: timer.start\n metadata: {}\n data: {}\n target:\n entity_id: timer.bread_timer\n - conditions:\n - condition: trigger\n id:\n - Time\n - condition: state\n entity_id: input_boolean.bread_done\n state: 'on'\n - condition: numeric_state\n entity_id: sensor.kitchen_socket_power_power\n below: 10\n sequence:\n - parallel:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.bread_done\n data: {}\n - action: script.text_notify_parents\n data:\n title: BREAD DONE!\n message: It has been 3 hours since you put the bread maker on. Its probaby\n done making another loaf, but I suggest checking.\n mode: single",
"config": [
{
"name": "kitchen socket power power sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.kitchen_socket_power_power",
"device_id": null
}
},
{
"name": "bread done input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.bread_done",
"device_id": null
}
},
{
"name": "bread timer timer",
"room": "kitchen",
"type": "timer",
"id": {
"entity_id": "timer.bread_timer",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
}
]
},
{
"id": "Calendar Event Announcements",
"automation": "- alias: Calendar Event Announcements\n description: ''\n triggers:\n - event: start\n offset: -0:32:0\n entity_id: calendar.forrester_events\n trigger: calendar\n conditions:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n actions:\n - alias: Announce to Dave if home, else Gem.\n if:\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{%- macro getReport() -%}\\n {% set response = state_attr('sensor.calendar_events',\\\n \\ 'calendar_response') %}\\n {% set cal = response['calendar.forrester_events']\\\n \\ if response and 'calendar.forrester_events' in response else {} %}\\n \\\n \\ {% set events = cal['events'] if 'events' in cal else [] %}\\n {% set\\\n \\ now = now() %}\\n {% set upcoming = events\\n | selectattr('start',\\\n \\ 'defined')\\n | selectattr('start', '>', now.isoformat())\\n | sort(attribute='start')\\n\\\n \\ | list %}\\n \\n {% if upcoming %}\\n {% set next = upcoming[0] %}\\n\\\n \\ {% set event_title = next.summary %}\\n {% set event_description\\\n \\ = (next.description or '') | lower %}\\n {% set car_tags = ['#car',\\\n \\ '#drive', '#needscar', '#trip'] %}\\n {% set needs_car = car_tags |\\\n \\ select('in', event_description) | list | count > 0 %}\\n \\n You have\\\n \\ {{ event_title }} at {{ as_datetime(next.start).strftime('%H:%M') }} —\\\n \\ in about half an hour.\\n \\n {%- if needs_car and is_state('input_boolean.car_plugged_in',\\\n \\ 'on') -%}\\n The car is still plugged in — don't forget to unplug\\\n \\ it!\\n {%- elif is_state('input_boolean.car_plugged_in', 'on') -%}\\n\\\n \\ If the car is needed, remember that it is still plugged in.\\n \\\n \\ {%- endif -%}\\n {% else %}\\n No upcoming events found.\\n {% endif\\\n \\ %}\\n{%- endmacro -%}\\n\\n{%- macro cleanup(data) -%}\\n {%- for item in\\\n \\ data.split(\\\"\\\\n\\\") if item | trim != \\\"\\\" -%}\\n {{ item | trim }}\\\n \\ {% endfor -%}\\n{%- endmacro -%}\\n\\n{%- macro mother_of_all_macros() -%}\\n\\\n \\ {{ getReport() }}\\n{%- endmacro -%}\\n\\n{{- cleanup(mother_of_all_macros())\\\n \\ -}}\"\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n message: \"{%- macro getReport() -%}\\n {% set response = state_attr('sensor.calendar_events',\\\n \\ 'calendar_response') %}\\n {% set cal = response['calendar.forrester_events']\\\n \\ if response and 'calendar.forrester_events' in response else {} %}\\n \\\n \\ {% set events = cal['events'] if 'events' in cal else [] %}\\n {% set\\\n \\ now = now() %}\\n {% set upcoming = events\\n | selectattr('start',\\\n \\ 'defined')\\n | selectattr('start', '>', now.isoformat())\\n | sort(attribute='start')\\n\\\n \\ | list %}\\n \\n {% if upcoming %}\\n {% set next = upcoming[0] %}\\n\\\n \\ {% set event_title = next.summary %}\\n {% set event_description\\\n \\ = (next.description or '') | lower %}\\n {% set car_tags = ['#car',\\\n \\ '#drive', '#needscar', '#trip'] %}\\n {% set needs_car = car_tags |\\\n \\ select('in', event_description) | list | count > 0 %}\\n \\n You have\\\n \\ {{ event_title }} at {{ as_datetime(next.start).strftime('%H:%M') }} —\\\n \\ in about half an hour.\\n \\n {%- if needs_car and is_state('input_boolean.car_plugged_in',\\\n \\ 'on') -%}\\n The car is still plugged in — don't forget to unplug\\\n \\ it!\\n {%- elif is_state('input_boolean.car_plugged_in', 'on') -%}\\n\\\n \\ If the car is needed, remember that it is still plugged in.\\n \\\n \\ {%- endif -%}\\n {% else %}\\n No upcoming events found.\\n {% endif\\\n \\ %}\\n{%- endmacro -%}\\n\\n{%- macro cleanup(data) -%}\\n {%- for item in\\\n \\ data.split(\\\"\\\\n\\\") if item | trim != \\\"\\\" -%}\\n {{ item | trim }}\\\n \\ {% endfor -%}\\n{%- endmacro -%}\\n\\n{%- macro mother_of_all_macros() -%}\\n\\\n \\ {{ getReport() }}\\n{%- endmacro -%}\\n\\n{{- cleanup(mother_of_all_macros())\\\n \\ -}}\"\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "calendar events sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.calendar_events",
"device_id": null
}
},
{
"name": "forrester events calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.forrester_events",
"device_id": null
}
},
{
"name": "car plugged in input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.car_plugged_in",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "'Charge Battery from Clipped Solar '",
"automation": "- alias: 'Charge Battery from Clipped Solar '\n description: Effectively charges battery from clipped DC power when solar production\n estimate is high. In reality, the charge rate is dynamically adjusted to allow\n max DC production while the battery charges.\n triggers:\n - alias: When battery finishes grid charge or car finishes charging.\n entity_id:\n - input_boolean.home_battery_grid_charging\n - input_boolean.rolec_battery_master\n to: 'off'\n from: 'on'\n id: Grid Charge Finished\n trigger: state\n - trigger: numeric_state\n entity_id: sun.sun\n attribute: elevation\n above: 10\n id: Smart Sunrise Trigger\n - entity_id:\n - sensor.solaredge_b1_state_of_energy\n above: 99.5\n id: Charge Complete\n trigger: numeric_state\n - trigger: time_pattern\n minutes: /5\n id: Update\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Grid Charge Finished\n - condition: numeric_state\n entity_id: sensor.solcast_pv_forecast_forecast_today\n above: 30\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.charge_rate_limited\n - action: number.set_value\n target:\n entity_id:\n - number.solaredge_i1_storage_charge_limit\n data:\n value: '{{states(''input_number.storage_charge_limit'')|float(0)}}'\n - conditions:\n - condition: trigger\n id: Smart Sunrise Trigger\n - condition: state\n entity_id: input_boolean.charge_rate_limited\n state: 'off'\n - condition: state\n entity_id: input_boolean.home_battery_grid_charging\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.solcast_pv_forecast_forecast_today\n above: 30\n sequence:\n - target:\n entity_id: input_boolean.charge_rate_limited\n action: input_boolean.turn_on\n data: {}\n - target:\n entity_id: number.solaredge_i1_storage_charge_limit\n data:\n value: '{{ states(''input_number.storage_charge_limit'') | float(0) }}'\n action: number.set_value\n - conditions:\n - condition: trigger\n id:\n - Charge Complete\n - condition: state\n entity_id: input_boolean.charge_rate_limited\n state: 'on'\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.charge_rate_limited\n data: {}\n - action: number.set_value\n metadata: {}\n data:\n value: '7000'\n target:\n entity_id: number.solaredge_i1_storage_charge_limit\n - conditions:\n - condition: trigger\n id:\n - Update\n - condition: state\n entity_id: input_boolean.charge_rate_limited\n state: 'on'\n sequence:\n - action: number.set_value\n target:\n entity_id: number.solaredge_i1_storage_charge_limit\n data:\n value: '{{ states(''sensor.battery_charge_limit_dynamic'') | float(0) }}'\n alias: Set charge rate limit dynamically to a max 2160W\n mode: parallel\n max: 3",
"config": [
{
"name": "sun sun sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sun.sun",
"device_id": null
}
},
{
"name": "solaredge b1 state of energy sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solaredge_b1_state_of_energy",
"device_id": null
}
},
{
"name": "solaredge i1 storage charge limit number",
"room": "garage",
"type": "number",
"id": {
"entity_id": "number.solaredge_i1_storage_charge_limit",
"device_id": null
}
},
{
"name": "home battery grid charging input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.home_battery_grid_charging",
"device_id": null
}
},
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
},
{
"name": "solcast pv forecast forecast today sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.solcast_pv_forecast_forecast_today",
"device_id": null
}
},
{
"name": "charge rate limited input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.charge_rate_limited",
"device_id": null
}
},
{
"name": "storage charge limit input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.storage_charge_limit",
"device_id": null
}
},
{
"name": "battery charge limit dynamic sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.battery_charge_limit_dynamic",
"device_id": null
}
},
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
}
]
},
{
"id": "Check the house is secure via Voice",
"automation": "- alias: Check the house is secure via Voice\n description: Runs a Security Check based on voice command and announces the result\n when ready.\n triggers:\n - command:\n - Run a security check\n - Check the house security\n - Perform a security check\n - Check for motion\n - Check the doors\n - Check the security cameras\n - Check the garage security\n trigger: conversation\n actions:\n - variables:\n query_map:\n Run a security check.: General Security Check | Query Everything\n Check the house security.: General Security Check | Query Everything\n Perform a security check.: General Security Check | Query Everything\n Check for motion.: Security Check | Query Motion and Door Contact Sensors\n Check the doors.: Security Check | Query Motion and Door Contact Sensors\n Check the security cameras.: Security Check | Query Camera Snapshots\n Check the garage security.: Security Check | Query Garage Camera Snapshot\n and Door Sensors\n selected_query: '{{ query_map[trigger.sentence] | default(''General Security\n Check | Query Everything'') }}\n\n '\n - action: persistent_notification.create\n data:\n title: Security Query Debug\n message: 'Security Query: {{ selected_query }}'\n - data:\n security_query: '{{ selected_query }}'\n action: script.security_check\n response_variable: response\n - variables:\n camera_response: '{{ response.camera_check }}\n\n '\n response: '{{ response.query_all_contact_sensors }}\n\n {{ response.query_all_motion_sensors }}\n\n '\n - wait_template: '{{ camera_response != '''' or response != '''' }}'\n timeout: 00:00:30\n continue_on_timeout: true\n enabled: true\n - action: google_generative_ai_conversation.generate_content\n metadata: {}\n data:\n prompt: You are a a security guard who has done a sweep of the house. You have\n checked the state of doors and windows and are now reporting your findings\n back to the house owner. Be brief and tell me tell me the state of the alarm,\n only mention doors or windows that are open and if you detected motion anywhere. Keep\n it conversational with no emojis as your response will be broadcast on a speaker. Here\n is the variable with the data to check {{ response }}.\n response_variable: security_response\n enabled: true\n - variables:\n full_response: '{{ camera_response.text}} {{ security_response.text }}\n\n '\n - action: persistent_notification.create\n data:\n title: Script Response Debug\n message: 'Full Response: {{ full_response }}'\n - set_conversation_response: '{{ full_response.text }}'\n enabled: true\n mode: single",
"config": []
},
{
"id": "Cloakroom Lights on with Presence",
"automation": "- alias: Cloakroom Lights on with Presence\n description: Lights on and off with presence and timer\n triggers:\n - entity_id:\n - binary_sensor.cloakroom_presence_occupancy\n from: 'off'\n to: 'on'\n id: Presence\n alias: When someone goes into the cloakroom.\n trigger: state\n - entity_id:\n - binary_sensor.cloakroom_presence_occupancy\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 0\n id: Absence\n alias: When someone leaves the cloakroom.\n trigger: state\n - event_type: timer.finished\n event_data:\n entity_id: timer.cloakroom_light\n id: Timer Done\n alias: When cloakroom timer runs down.\n enabled: true\n trigger: event\n - alias: When light level is low.\n entity_id:\n - sensor.cloakroom_presence_illuminance\n below: 30\n id: Low Light\n trigger: numeric_state\n - trigger: state\n entity_id:\n - binary_sensor.cloakroom_door\n from: 'off'\n to: 'on'\n id: Door Open\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Presence\n - Door Open\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'off'\n sequence:\n - alias: Turn on extractor.\n action: light.turn_on\n target:\n entity_id:\n - light.cloakroom_switch_light_2\n data: {}\n - data: {}\n target:\n entity_id: timer.cloakroom_light\n action: timer.start\n - condition: or\n conditions:\n - condition: sun\n before: sunrise\n after: sunset\n - condition: numeric_state\n entity_id: sensor.cloakroom_presence_illuminance\n below: 30\n - alias: Turn on light.\n action: light.turn_on\n target:\n entity_id:\n - light.cloakroom_switch_light\n data: {}\n alias: When someone enters cloakroom outside of quite time.\n - conditions:\n - condition: trigger\n id:\n - Presence\n - Door Open\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'on'\n - condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.cloakroom_presence_illuminance\n below: 30\n - condition: sun\n before: sunrise\n after: sunset\n sequence:\n - action: light.turn_on\n target:\n entity_id:\n - light.cloakroom_switch_light\n data: {}\n alias: Turn on light only.\n - data: {}\n target:\n entity_id: timer.cloakroom_light\n action: timer.start\n alias: When someone enters cloakroom during quite time.\n - conditions:\n - condition: trigger\n id:\n - Absence\n - condition: state\n entity_id: timer.cloakroom_light\n state: idle\n sequence:\n - data: {}\n target:\n entity_id:\n - light.cloakroom_switch_light\n action: light.turn_off\n alias: Turn off the light.\n - condition: state\n entity_id: light.cloakroom_switch_light_2\n state: 'on'\n alias: Check if the extractor is on.\n - data: {}\n target:\n entity_id:\n - light.cloakroom_switch_light_2\n action: light.turn_off\n alias: Turn off the extractor.\n alias: When someone leaves the cloakroom.\n - conditions:\n - condition: trigger\n id:\n - Timer Done\n - condition: state\n entity_id: binary_sensor.cloakroom_presence_occupancy\n state: 'off'\n sequence:\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'off'\n then:\n - action: light.turn_off\n target:\n entity_id: light.cloakroom_switch_light_2\n data: {}\n - if:\n - condition: state\n entity_id: light.cloakroom_switch_light\n state: 'on'\n then:\n - action: light.turn_off\n target:\n entity_id: light.cloakroom_switch_light\n data: {}\n else:\n - action: light.turn_off\n target:\n entity_id: light.cloakroom_switch_light\n data: {}\n alias: When cloakroom timer runs down.\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: binary_sensor.cloakroom_occupied\n state: 'on'\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.cloakroom_switch_light\n data: {}\n alias: Turn on the light.\n mode: restart",
"config": [
{
"name": "cloakroom presence occupancy binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_presence_occupancy",
"device_id": null
}
},
{
"name": "cloakroom light timer",
"room": "cloakroom",
"type": "timer",
"id": {
"entity_id": "timer.cloakroom_light",
"device_id": null
}
},
{
"name": "cloakroom door binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_door",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "cloakroom switch light 2 light",
"room": "cloakroom",
"type": "light",
"id": {
"entity_id": "light.cloakroom_switch_light_2",
"device_id": null
}
},
{
"name": "cloakroom switch light light",
"room": "cloakroom",
"type": "light",
"id": {
"entity_id": "light.cloakroom_switch_light",
"device_id": null
}
},
{
"name": "cloakroom occupied binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_occupied",
"device_id": null
}
},
{
"name": "cloakroom presence illuminance sensor",
"room": "cloakroom",
"type": "sensor",
"id": {
"entity_id": "sensor.cloakroom_presence_illuminance",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
}
]
},
{
"id": "Clocks Changing",
"automation": "- alias: Clocks Changing\n description: ''\n trigger:\n - platform: time\n at: '10:00:00'\n - platform: time\n at: '19:00:00'\n condition:\n - condition: template\n value_template: '{{ states(''sensor.daylight_savings_days_until'') | int(0) in\n [7,1] }}'\n action:\n - service: script.text_notify_dave\n metadata: {}\n data:\n message: '{%- set days = states(''sensor.daylight_savings_days_until'') | int(0)\n %} {%- set plural = ''s'' if days | int(0) > 1 else '''' %} Clocks change\n in {{ days }} day{{plural}}, you will {{ states(''sensor.daylight_savings_phrase'')\n }}!\n\n '\n - condition: template\n value_template: '{{states(''sensor.daylight_savings_days_until'') | int(0) ==\n 0 }}'\n - service: input_boolean.toggle\n metadata: {}\n data: {}\n target:\n entity_id:\n - input_boolean.bst\n - input_boolean.gmt\n mode: single",
"config": [
{
"name": "daylight savings days until sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.daylight_savings_days_until",
"device_id": null
}
},
{
"name": "daylight savings phrase sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.daylight_savings_phrase",
"device_id": null
}
},
{
"name": "bst input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.bst",
"device_id": null
}
},
{
"name": "gmt input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.gmt",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
}
]
},
{
"id": "Clock Chime",
"automation": "- alias: Clock Chime\n description: ''\n mode: restart\n triggers:\n - minutes: 0\n id: '0'\n trigger: time_pattern\n - minutes: 15\n id: '15'\n trigger: time_pattern\n - minutes: 30\n id: '30'\n trigger: time_pattern\n - minutes: 45\n id: '45'\n trigger: time_pattern\n conditions:\n - condition: time\n after: input_datetime.clock_chime_on_time\n before: input_datetime.clock_chime_off_time\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.clock_chime\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n state: 'on'\n entity_id: binary_sensor.family_home\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'on'\n actions:\n - choose:\n - conditions:\n - condition: or\n conditions:\n - condition: trigger\n id: '15'\n - condition: trigger\n id: '45'\n sequence:\n - condition: or\n conditions:\n - condition: state\n entity_id: input_boolean.clock_chime_quarter_toll\n state: 'off'\n - condition: state\n entity_id: input_select.clock_chime_sound\n state: Cuckoo Clock\n - stop: Quarter Toll Disabled\n - conditions:\n - condition: trigger\n id: '30'\n sequence:\n - condition: state\n entity_id: input_boolean.clock_chime_half_toll\n state: 'off'\n - stop: Half Toll Disabled\n default: []\n - wait_template: '{{ not is_state(\"media_player.dave_s_2nd_echo_pop\", \"playing\")\n }}'\n continue_on_timeout: false\n timeout: 00:02:00\n - action: script.alexa_voice\n data:\n where: living room\n message: \"{% if states(\\\"input_select.clock_chime_sound\\\") == \\\"Cuckoo Clock\\\"\\\n \\ %}\\n {% if trigger.id == \\\"30\\\" %}\\n \\n\\\n \\ {% else %}\\n \\n {% endif %}\\n{% elif states(\\\"input_select.clock_chime_sound\\\"\\\n ) == \\\"Grandfather Clock\\\" %}\\n {% if trigger.id == \\\"15\\\" %}\\n \\n\\\n \\ {% elif trigger.id == \\\"30\\\" %}\\n \\n\\\n \\ {% elif trigger.id == \\\"45\\\" %}\\n \\n\\\n \\ {% else %}\\n \\n {% endif %}\\n{% endif %}\\n\"\n msg_summary: clock chime",
"config": [
{
"name": "dave's 2nd echo pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dave_s_2nd_echo_pop",
"device_id": null
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "clock chime on time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.clock_chime_on_time",
"device_id": null
}
},
{
"name": "clock chime off time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.clock_chime_off_time",
"device_id": null
}
},
{
"name": "clock chime input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime",
"device_id": null
}
},
{
"name": "clock chime quarter toll input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime_quarter_toll",
"device_id": null
}
},
{
"name": "clock chime sound input select",
"room": "living_room",
"type": "input_select",
"id": {
"entity_id": "input_select.clock_chime_sound",
"device_id": null
}
},
{
"name": "clock chime half toll input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime_half_toll",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
}
]
},
{
"id": "Clock Chime v2.0",
"automation": "- alias: Clock Chime v2.0\n description: ''\n triggers:\n - minutes: 0\n id: '0'\n trigger: time_pattern\n - minutes: 15\n id: '15'\n trigger: time_pattern\n - minutes: 30\n id: '30'\n trigger: time_pattern\n - minutes: 45\n id: '45'\n trigger: time_pattern\n conditions:\n - condition: time\n after: input_datetime.clock_chime_on_time\n before: input_datetime.clock_chime_off_time\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.clock_chime\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n state: 'on'\n entity_id: binary_sensor.family_home\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'on'\n actions:\n - choose:\n - conditions:\n - condition: or\n conditions:\n - condition: trigger\n id: '15'\n - condition: trigger\n id: '45'\n sequence:\n - condition: or\n conditions:\n - condition: state\n entity_id: input_boolean.clock_chime_quarter_toll\n state: 'off'\n - condition: state\n entity_id: input_select.clock_chime_sound\n state: Cuckoo Clock\n - stop: Quarter Toll Disabled\n - conditions:\n - condition: trigger\n id: '30'\n sequence:\n - condition: state\n entity_id: input_boolean.clock_chime_half_toll\n state: 'off'\n - stop: Half Toll Disabled\n default: []\n - action: script.clock_voice\n data:\n where: living room\n message: \"{% if states(\\\"input_select.clock_chime_sound\\\") == \\\"Cuckoo Clock\\\"\\\n \\ %}\\n {% if trigger.id == \\\"30\\\" %}\\n http://192.168.0.95:8123/local/Sounds/CuckooClock/cuckoo-clock-01.wav\\n\\\n \\ {% else %}\\n http://192.168.0.95:8123/local/Sounds/CuckooClock/cuckoo-clock-{{now().strftime(\\\"\\\n %I\\\")}}.wav\\n {% endif %}\\n{% elif states(\\\"input_select.clock_chime_sound\\\"\\\n ) == \\\"Grandfather Clock\\\" %}\\n {% if trigger.id == \\\"15\\\" %}\\n http://192.168.0.95:8123/local/Sounds/GFClock/Toll-1Quarter.mp3\\n\\\n \\ {% elif trigger.id == \\\"30\\\" %}\\n http://192.168.0.95:8123/local/Sounds/GFClock/Toll-2Quarter.mp3\\n\\\n \\ {% elif trigger.id == \\\"45\\\" %}\\n http://192.168.0.95:8123/local/Sounds/GFClock/Toll-3Quarter.mp3\\n\\\n \\ {% else %}\\n http://192.168.0.95:8123/local/Sounds/GFClock/{{now().strftime(\\\"\\\n %I\\\")}}-hour.mp3\\n {% endif %}\\n{% endif %}\\n\"\n msg_summary: clock chime\n mode: restart",
"config": [
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "clock chime on time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.clock_chime_on_time",
"device_id": null
}
},
{
"name": "clock chime off time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.clock_chime_off_time",
"device_id": null
}
},
{
"name": "clock chime input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime",
"device_id": null
}
},
{
"name": "clock chime quarter toll input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime_quarter_toll",
"device_id": null
}
},
{
"name": "clock chime sound input select",
"room": "living_room",
"type": "input_select",
"id": {
"entity_id": "input_select.clock_chime_sound",
"device_id": null
}
},
{
"name": "clock chime half toll input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.clock_chime_half_toll",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
}
]
},
{
"id": "Count Front Door Motion While Out",
"automation": "- alias: Count Front Door Motion While Out\n description: ''\n mode: single\n triggers:\n - entity_id: binary_sensor.front_door_motion_detected\n to: 'on'\n trigger: state\n conditions:\n - condition: state\n entity_id: binary_sensor.family_home\n state: 'off'\n actions:\n - target:\n entity_id: counter.front_door_motion_detected\n action: counter.increment\n data: {}",
"config": [
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "front door motion detected binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_motion_detected",
"device_id": null
}
},
{
"name": "counter front door motion detected counter",
"room": "entrance",
"type": "counter",
"id": {
"entity_id": "counter.front_door_motion_detected",
"device_id": null
}
}
]
},
{
"id": "logger_level_set",
"automation": "- id: logger_level_set\n alias: Logger Level Set\n initial_state: true\n mode: single\n trigger:\n - platform: state\n entity_id: input_select.logger_level\n action:\n - action: logger.set_level\n data:\n homeassistant.components: '{{ states(''input_select.logger_level'') }}'",
"config": [
{
"name": "logger level input select",
"room": "office",
"type": "input_select",
"id": {
"entity_id": "input_select.logger_level",
"device_id": null
}
}
]
},
{
"id": "Dining Room Presence and Lights",
"automation": "- alias: Dining Room Presence and Lights\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.dining_room_presence_sensor_occupancy\n from: 'off'\n to: 'on'\n id: Presence\n trigger: state\n - entity_id:\n - binary_sensor.dining_room_occupied\n from: 'on'\n to: 'off'\n id: Absence\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Presence\n sequence:\n - action: input_text.set_value\n data:\n value: dining_room\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_dining_room\n - alias: If low light or nighttime turn on the light.\n if:\n - condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.dining_room_light_level\n below: 30\n - condition: sun\n before: sunrise\n after: sunset\n then:\n - action: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.dining_room_light_toggle\n data: {}\n - conditions:\n - condition: trigger\n id: Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id:\n - input_boolean.room_occupied_dining_room\n - input_boolean.dining_room_light_toggle\n mode: restart",
"config": [
{
"name": "dining room presence sensor occupancy binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room occupied dining room input boolean",
"room": "dining_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_dining_room",
"device_id": null
}
},
{
"name": "dining room light toggle input boolean",
"room": "dining_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.dining_room_light_toggle",
"device_id": null
}
},
{
"name": "dining room occupied binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_occupied",
"device_id": null
}
},
{
"name": "dining room light level sensor",
"room": "dining_room",
"type": "sensor",
"id": {
"entity_id": "sensor.dining_room_light_level",
"device_id": null
}
}
]
},
{
"id": "Dishwasher Notification When Finished",
"automation": "- alias: Dishwasher Notification When Finished\n description: Set the value of input boolean \"dishwasher on/off\" based on power consumption.\n Announce when the dishwasher has finished and check the dishes have been removed.\n triggers:\n - alias: Dishwasher drawing more than 10W power\n entity_id:\n - sensor.dishwasher_power_consumed\n above: 10\n id: Dishwasher On\n trigger: numeric_state\n for:\n hours: 0\n minutes: 1\n seconds: 0\n - alias: Dishwasher drawing less than 10W power for 2 mins..\n entity_id:\n - sensor.dishwasher_power_consumed\n below: 10\n id: Dishwasher off\n for:\n hours: 0\n minutes: 3\n seconds: 0\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Dishwasher On\n - condition: state\n state: 'off'\n entity_id: input_boolean.dishwasher_on\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id:\n - input_boolean.dishwasher_on\n - action: input_datetime.set_datetime\n target:\n entity_id: input_datetime.dishwasher_started\n data:\n datetime: '{{ now().isoformat() }}'\n - conditions:\n - condition: trigger\n id:\n - Dishwasher off\n - condition: state\n state: 'on'\n entity_id: input_boolean.dishwasher_on\n - condition: template\n value_template: \"{{ (now().astimezone() - (states('input_datetime.dishwasher_started')\\n\\\n \\ | as_datetime()).astimezone()).total_seconds() > 4800 }}\\n\"\n sequence:\n - delay:\n seconds: 30\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id:\n - input_boolean.dishwasher_on\n - alias: Announce finished\n if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['I think the dishwasher might be finished. Better check\\\n \\ to see.' \\n ] | random }}\\n\"\n else:\n - alias: Announce to Gem\n if:\n - condition: state\n entity_id: binary_sensor.gem_home\n state: 'on'\n - condition: state\n entity_id: binary_sensor.gem_workstation_status\n state: 'off'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n message: \"{{ ['I think the dishwasher might be finished. Better check\\\n \\ to see.' \\n ] | random }}\\n\"\n else:\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: all\n type: announcement\n message: \"{{ [\\n 'The washing machine has completed its cycle.\\\n \\ Better get the washing hung up to dry', \\n 'I have detected\\\n \\ a reduction in the power consumption of the washing machine. \\\n \\ My fuzzy logic circuit has determined that means its finished',\\\n \\ \\n 'My sensors have detected a reduction in the rotational\\\n \\ velocity of the washing machine. My artificially intuitive logic\\\n \\ system has determined that now might be the optimal time to hang\\\n \\ it up to dry', \\n 'The washing machine has finished its cycle.\\\n \\ It has cycled quite a long way and is quite tired after its exertions.\\\n \\ I would hang the washing out to dry, but I dont have any arms.\\\n \\ Or legs. So I guess its up to you' \\n ] | random }}\\n\"\n alias: Announce to house if allowed.\n - alias: Send a text to Dave\n if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_dave\n state: 'on'\n then:\n - action: script.text_notify_dave\n data:\n message: That's the dishwasher finished.\n title: DISHWASHER\n - alias: Send a text to Gem\n if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_gem\n state: 'on'\n then:\n - action: script.text_notify_gem\n data:\n message: That's the dishwasher finished.\n title: DISHWASHER\n mode: single",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "gem workstation status binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_workstation_status",
"device_id": null
}
},
{
"name": "dishwasher power consumed sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.dishwasher_power_consumed",
"device_id": null
}
},
{
"name": "dishwasher on input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.dishwasher_on",
"device_id": null
}
},
{
"name": "dishwasher started input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.dishwasher_started",
"device_id": null
}
},
{
"name": "text notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications",
"device_id": null
}
},
{
"name": "text notifications dave input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_dave",
"device_id": null
}
},
{
"name": "text notifications gem input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_gem",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "text notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications",
"device_id": null
}
},
{
"name": "text notifications dave input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_dave",
"device_id": null
}
},
{
"name": "text notifications gem input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_gem",
"device_id": null
}
},
{
"name": "Text Notify Gem",
"room": null,
"type": "script",
"id": {
"entity_id": "script.text_notify_gem",
"device_id": null
}
}
]
},
{
"id": "En Suite Lights with presence",
"automation": "- alias: En Suite Lights with presence\n description: Lights on and off with presence and timer\n triggers:\n - entity_id:\n - binary_sensor.en_suite_presence_occupancy\n from: 'off'\n to: 'on'\n id: Presence Detected\n trigger: state\n - trigger: state\n entity_id:\n - switch.en_suite_switch_left\n from: 'off'\n to: 'on'\n id: Light On\n - entity_id:\n - binary_sensor.en_suite_presence_occupancy\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Absence Detected\n trigger: state\n - entity_id:\n - binary_sensor.en_suite_door_contact\n from: 'on'\n to: 'off'\n id: Door Closed\n trigger: state\n - entity_id:\n - binary_sensor.en_suite_door_contact\n from: 'off'\n to: 'on'\n id: Door Open\n for:\n hours: 0\n minutes: 0\n seconds: 0\n trigger: state\n - event_type: timer.finished\n event_data:\n entity_id: timer.en_suite_light\n id: Timer Done\n alias: When En-Suite timer runs down\n trigger: event\n - at: '18:30:00'\n id: Auto Off\n trigger: time\n - at: '19:30:00'\n id: Auto On\n trigger: time\n - event_type: timer.finished\n event_data:\n entity_id: timer.en_suite_light_long\n id: Long Timer Done\n alias: When long En-Suite timer runs down\n trigger: event\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Presence Detected\n - alias: Light is off and is allowed to come on.\n condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.allow_en_suite_lights_on\n state: 'on'\n - condition: state\n entity_id: switch.en_suite_switch_left\n state: 'off'\n - condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.en_suite_presence_illuminance\n below: input_number.low_light_threshold\n - condition: sun\n before: sunrise\n after: sunset\n alias: Light level is low or between sunset & sunrise\n sequence:\n - alias: Turn on light.\n action: switch.turn_on\n data: {}\n target:\n entity_id: switch.en_suite_switch_left\n alias: Turn on lights when entering\n - conditions:\n - condition: trigger\n id:\n - Timer Done\n - Absence Detected\n - condition: state\n entity_id: binary_sensor.en_suite_door_contact\n state: 'on'\n - condition: state\n entity_id: timer.en_suite_light\n state: idle\n - condition: state\n entity_id: switch.en_suite_switch_left\n state: 'on'\n - condition: state\n entity_id: input_boolean.allow_en_suite_auto_lights\n state: 'on'\n sequence:\n - action: switch.turn_off\n target:\n entity_id:\n - switch.en_suite_switch_left\n data: {}\n alias: Turn off lights after 5 minutes if door left open, otherwise leave the\n light on\n - conditions:\n - condition: trigger\n id:\n - Door Open\n - condition: state\n entity_id: input_boolean.allow_en_suite_lights_on\n state: 'on'\n sequence:\n - alias: Turn on light when opening door to enter and off when leaving\n if:\n - condition: state\n entity_id: switch.en_suite_switch_left\n state: 'on'\n then:\n - action: switch.turn_off\n target:\n entity_id:\n - switch.en_suite_switch_left\n data: {}\n else:\n - if:\n - condition: state\n entity_id: binary_sensor.en_suite_presence_occupancy\n state: 'off'\n - alias: Light level is low or between sunset & sunrise\n condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.en_suite_presence_illuminance\n below: input_number.low_light_threshold\n - condition: sun\n before: sunrise\n after: sunset\n then:\n - alias: Turn on light.\n action: switch.turn_on\n data: {}\n target:\n entity_id: switch.en_suite_switch_left\n alias: If no motion, and allowed, turn on the light.\n alias: Turn on or off lights when door is opened\n - conditions:\n - condition: trigger\n id:\n - Auto Off\n - condition: state\n entity_id: sensor.day_of_week\n state: Sunday\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.allow_en_suite_auto_lights\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Auto On\n - condition: state\n entity_id: sensor.day_of_week\n state: Sunday\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.allow_en_suite_auto_lights\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Long Timer Done\n - condition: state\n entity_id: binary_sensor.en_suite_door_contact\n state: 'off'\n - condition: state\n entity_id: switch.en_suite_switch_left\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_en_suite\n state: 'off'\n sequence:\n - action: switch.turn_off\n target:\n entity_id: switch.en_suite_switch_left\n data: {}\n alias: Turn of light after 30 mins regardless.\n - conditions:\n - condition: trigger\n id:\n - Light On\n sequence:\n - action: timer.start\n target:\n entity_id:\n - timer.en_suite_light\n - timer.en_suite_light_long\n data: {}\n alias: When the light turns on, start the timers.\n mode: restart",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "day of week sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.day_of_week",
"device_id": null
}
},
{
"name": "en suite presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.en_suite_presence_occupancy",
"device_id": null
}
},
{
"name": "en suite switch left switch",
"room": "bathroom",
"type": "switch",
"id": {
"entity_id": "switch.en_suite_switch_left",
"device_id": null
}
},
{
"name": "en suite door contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.en_suite_door_contact",
"device_id": null
}
},
{
"name": "en suite light timer",
"room": "bathroom",
"type": "timer",
"id": {
"entity_id": "timer.en_suite_light",
"device_id": null
}
},
{
"name": "allow en suite lights on input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_en_suite_lights_on",
"device_id": null
}
},
{
"name": "en suite presence illuminance sensor",
"room": "bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.en_suite_presence_illuminance",
"device_id": null
}
},
{
"name": "allow en suite auto lights input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_en_suite_auto_lights",
"device_id": null
}
},
{
"name": "en suite light long timer",
"room": "bathroom",
"type": "timer",
"id": {
"entity_id": "timer.en_suite_light_long",
"device_id": null
}
},
{
"name": "Room Occupied En Suite",
"room": "En Suite",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_en_suite",
"device_id": null
}
}
]
},
{
"id": "'ESPHome: Update all ESPHome devices'",
"automation": "- alias: 'ESPHome: Update all ESPHome devices'\n description: ''\n triggers:\n - trigger: template\n value_template: '{{ integration_entities(''esphome'') | select(''match'',''^update.'')\n | select(''is_state'',''on'') | list | count > 0 }}'\n alias: When an ESPHome update is available\n conditions: []\n actions:\n - action: script.esphome_update_all_esphome_devices\n metadata: {}\n data: {}\n mode: single",
"config": []
},
{
"id": "Family Has Arrived",
"automation": "- alias: Family Has Arrived\n description: ''\n mode: single\n triggers:\n - entity_id:\n - binary_sensor.family_home\n from: 'off'\n to: 'on'\n id: Auto\n trigger: state\n - entity_id:\n - input_boolean.family_is_home\n from: 'off'\n to: 'on'\n id: Manual\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.family_is_home\n state: 'off'\n actions:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.family_is_home",
"config": [
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "family is home input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.family_is_home",
"device_id": null
}
}
]
},
{
"id": "'Family has left '",
"automation": "- alias: 'Family has left '\n description: ''\n mode: single\n triggers:\n - entity_id:\n - binary_sensor.family_home\n from: 'on'\n to: 'off'\n id: Auto\n trigger: state\n - entity_id:\n - input_boolean.family_is_home\n from: 'on'\n to: 'off'\n id: Manual\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Auto\n sequence:\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.family_is_home\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.welcome_home\n data: {}",
"config": [
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "family is home input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.family_is_home",
"device_id": null
}
},
{
"name": "welcome home input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.welcome_home",
"device_id": null
}
}
]
},
{
"id": "FitBit Automations",
"automation": "- alias: FitBit Automations\n description: ''\n triggers:\n - entity_id:\n - sensor.sense_battery_level_3\n below: 20\n id: Low battery\n trigger: numeric_state\n - entity_id:\n - sensor.sense_battery_level_3\n above: 99.9\n id: Charged\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Low battery\n sequence:\n - action: script.text_notify_dave\n data:\n title: FITBIT ALERT\n message: Your FitBit battery is low. Please charge.\n - conditions:\n - condition: trigger\n id:\n - Charged\n sequence:\n - action: script.text_notify_dave\n data:\n title: FITBIT ALERT\n message: Your FitBit battery is charged.\n mode: single",
"config": [
{
"name": "sense battery level 3 sensor",
"room": "bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.sense_battery_level_3",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
}
]
},
{
"id": "Fridge & Freezer Door Watch",
"automation": "- alias: Fridge & Freezer Door Watch\n description: Warn me when the fridge or freezer door has been left open\n trigger:\n - type: opened\n platform: device\n device_id: 9f175af0bcfb7c593fe265275f7fccc1\n entity_id: binary_sensor.fridge_door_sensor_contact\n domain: binary_sensor\n id: Fridge Door Open\n for:\n hours: 0\n minutes: 2\n seconds: 0\n alias: Fridge door open for 2 minutes\n - type: opened\n platform: device\n device_id: 8297aa8791f38c9e27c1fd00bc82cdc4\n entity_id: binary_sensor.freezer_door_sensor_contact\n domain: binary_sensor\n id: Freezer Door Open\n for:\n hours: 0\n minutes: 2\n seconds: 0\n alias: Freezer door open for 2 minutes\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Fridge Door Open\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: \"{{ [ 'Pardon me, sir. The fridge appears to be open. Did someone\\\n \\ forget to close it?',\\n 'Excuse me, sir.\\\n \\ Has anyone noticed that it is getting colder? Perhaps it is something\\\n \\ to do with the fridge door being open', \\n 'Pardon me, madam. Would whoever was last in the fridge\\\n \\ please check the door. It appears to be open', \\n 'Pardon me, madam. The automatic fridge door\\\n \\ closing system seems to have failed. Manual operation has been enabled,\\\n \\ which means you need to close it yourself' \\n ]|random }}\"\n data:\n type: tts\n method: speak\n - delay:\n hours: 0\n minutes: 2\n seconds: 0\n milliseconds: 0\n - if:\n - type: is_open\n condition: device\n device_id: 8297aa8791f38c9e27c1fd00bc82cdc4\n entity_id: binary_sensor.fridge_door_sensor_contact\n domain: binary_sensor\n then:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: {{ ['Pardon\n my continued interruptions, but the fridge door is still open. Someone\n needs to close it before the food starts to go off?', 'Pardon me interrupting again. Has anyone noticed that it\n is still getting colder? Perhaps it is something to do with the fridge\n door still being open', 'Sorry to harp\n on about this, but whoever was last in the fridge needs to check the\n door. It appears to be still open', 'Alert,\n Alert, Alert. Having informed you once that the automatic fridge door\n closing system seems to have failed, manual operation also seems to\n have failed. Unless you want a very smelly fridge, you need to close\n it yourself', ]|random }}\n data:\n type: tts\n method: speak\n alias: fridge door has not been closed yet\n else:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: \"{{ ['Thank you for closing the fridge door. You saved all the food',\\\n \\ \\n 'Well, that was close, but the\\\n \\ fridge door is secure once more. I can already feel it getting warmer',\\n\\\n \\ 'Attention! Thank goodness the automatic\\\n \\ fridge door closing systems self repair mechanism stepped in to save\\\n \\ the food in the fridge',\\n 'Pardon me. You will be pleased to know that we can all relax again,\\\n \\ safe in the knowledge that the fridge is a place of cold once more'\\\n \\ \\n ]|random }}\"\n data:\n type: tts\n method: speak\n - conditions:\n - condition: trigger\n id: Freezer Door Open\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: \"{{ [ 'Pardon me sir. The freezer door appears to be open. Did\\\n \\ someone forget to close it?', \\n 'Excuse me madam. Has anyone noticed that it is getting colder? Perhaps\\\n \\ it is something to do with the freezer door being open', \\\n \\ \\n 'Pardon me sir. Would whomever\\\n \\ was last in the freezer needs please check the door. It appears to be\\\n \\ open', \\n 'Excuse me sir.\\\n \\ The automatic freezer door clozing system seems to have failed. Manual\\\n \\ operation has been enabled, which means you need to close it yourself',\\\n \\ \\n 'Burururururururururur.\\\n \\ Is that ice creeping across the floor? Ah yes, the freezer door is open.\\\n \\ Someone needs to close it please'\\n ]|random }}\"\n data:\n type: tts\n method: speak\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - type: is_open\n condition: device\n device_id: 8297aa8791f38c9e27c1fd00bc82cdc4\n entity_id: binary_sensor.freezer_door_sensor_contact\n domain: binary_sensor\n then:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: \"{{ ['Alert, Alert, Alert. The freezer door is still open,\\\n \\ despite my previous notification. Will someone please close it before\\\n \\ there is a puddle on the floor', \\n 'Pardon my continued interruptions.\\\n \\ Has anyone noticed that it still feels like a summer day in antartica?\\\n \\ Perhaps it is something to do with the freezer door still being open',\\\n \\ \\n 'Excuse me. The automatic freezer door closing system seems\\\n \\ to have failed in spectacular fashion. Manual operation has been engaged,\\\n \\ which means you need to close it yourself', \\n 'Okay. Here is\\\n \\ my honest assessment of our current predicament. The freezer is not\\\n \\ going to close itself. Operation close the goddamn freezer door has\\\n \\ commenced' \\n ]|random }}\"\n data:\n type: tts\n method: speak\n alias: freezer door has not been closed yet\n else:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: \"{{ ['Thank you for closing the freezer door. You saved all the\\\n \\ food', \\n 'Well, that was close, but the feezer door is\\\n \\ secure once more. I can already feel it getting warmer',\\n 'Attention!\\\n \\ Thank goodness the automatic freezer door closing systems self repair\\\n \\ mechanism stepped in to prevent a massive puddle on the floor',\\n\\\n \\ 'Pardon me. You will be pleased to know that we can all relax\\\n \\ again, safe in the knowledge that the freezer is the only sub zero\\\n \\ place in the house' \\n ]|random }}\"\n data:\n type: tts\n method: speak\n mode: parallel\n max: 10",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "fridge door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridge_door_sensor_contact",
"device_id": "9f175af0bcfb7c593fe265275f7fccc1"
}
},
{
"name": "freezer door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.freezer_door_sensor_contact",
"device_id": "8297aa8791f38c9e27c1fd00bc82cdc4"
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
}
]
},
{
"id": "Front Door Visitor",
"automation": "- alias: Front Door Visitor\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.front_doorbell_camera_visitor\n to: 'on'\n from: 'off'\n id: Visitor\n trigger: state\n - entity_id:\n - binary_sensor.front_door_sense_contact\n from: 'off'\n to: 'on'\n id: Door Open\n trigger: state\n - entity_id:\n - binary_sensor.dave_home\n from: 'on'\n to: 'off'\n id: Dave Out\n trigger: state\n - entity_id:\n - binary_sensor.dave_home\n from: 'off'\n to: 'on'\n id: Dave Home\n trigger: state\n - entity_id:\n - binary_sensor.family_home\n from: 'on'\n to: 'off'\n id: Family Out\n trigger: state\n - entity_id:\n - binary_sensor.family_home\n from: 'off'\n to: 'on'\n id: Family Home\n trigger: state\n - trigger: state\n entity_id:\n - binary_sensor.front_doorbell_camera_motion\n - binary_sensor.front_door_person_detected\n id: Motion Detected\n from: 'off'\n to: 'on'\n - trigger: time\n at:\n - 08:30:00\n - '15:10:00'\n id: Time off\n alias: When school run starts\n - trigger: time\n at:\n - 08:55:00\n - '15:25:00'\n id: Time on\n alias: When school run ends\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Visitor\n sequence:\n - action: camera.snapshot\n target:\n entity_id: camera.front_doorbell_camera_snapshots_clear\n data:\n filename: /config/www/doorbell/snapshot_doorbell.jpg\n - delay:\n hours: 0\n minutes: 0\n seconds: 1\n milliseconds: 0\n - action: notify.mobile_app_daves_samsung_galaxy\n data:\n title: DOORBELL!\n message: Someone is at the front door!\n data:\n image: /local/doorbell/snapshot_doorbell.jpg\n clickAction: /lovelace/camera\n ttl: 0\n priority: high\n - action: notify.mobile_app_sm_s901b\n data:\n title: DOORBELL!\n message: Someone is at the front door!\n data:\n image: /local/doorbell/snapshot_doorbell.jpg\n clickAction: /lovelace/camera\n ttl: 0\n priority: high\n - target:\n entity_id: input_boolean.front_doorbell_active\n data: {}\n action: input_boolean.toggle\n - target:\n entity_id: number.front_doorbell_camera_auto_quick_reply_time\n data:\n value: '30'\n action: number.set_value\n - target:\n entity_id: select.front_doorbell_camera_auto_quick_reply_message\n data:\n option: Hi, please leave the package at the door. We will get it later.\n action: select.select_option\n - action: browser_mod.popup\n data:\n dismissable: true\n autoclose: false\n browser_id:\n - 026643b75a9d5ce11b9b97fd0df84055\n content:\n camera_view: live\n type: picture-glance\n entities: []\n camera_image: camera.front_doorbell_camera_clear\n title: Doorbell\n timeout: 120000\n size: normal\n enabled: false\n - conditions:\n - condition: trigger\n id:\n - Door Open\n - condition: state\n entity_id: input_boolean.front_doorbell_active\n state: 'on'\n sequence:\n - target:\n entity_id: input_boolean.front_doorbell_active\n data: {}\n action: input_boolean.toggle\n - target:\n entity_id: select.front_doorbell_camera_auto_quick_reply_message\n data:\n option: 'off'\n action: select.select_option\n - conditions:\n - condition: trigger\n id:\n - Dave Out\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: calendar.gem_holidays\n state: 'off'\n sequence:\n - target:\n entity_id: select.front_doorbell_camera_auto_quick_reply_message\n data:\n option: Hi, please leave the package at the door. We will get it later.\n action: select.select_option\n - conditions:\n - condition: trigger\n id:\n - Dave Home\n sequence:\n - target:\n entity_id: select.front_doorbell_camera_auto_quick_reply_message\n data:\n option: 'off'\n action: select.select_option\n - conditions:\n - condition: trigger\n id:\n - Motion Detected\n - condition: state\n entity_id: input_boolean.doorbell_motion_no_trigger\n state: 'off'\n - condition: state\n entity_id: binary_sensor.family_home\n state: 'off'\n sequence:\n - action: script.doorbell_camera_snapshot_ai_notify\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Time off\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.doorbell_motion_no_trigger\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Time on\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.doorbell_motion_no_trigger\n data: {}\n mode: restart",
"config": [
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "front doorbell camera visitor binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_doorbell_camera_visitor",
"device_id": null
}
},
{
"name": "front doorbell camera snapshots clear camera",
"room": "entrance",
"type": "camera",
"id": {
"entity_id": "camera.front_doorbell_camera_snapshots_clear",
"device_id": null
}
},
{
"name": "front doorbell active input boolean",
"room": "entrance",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.front_doorbell_active",
"device_id": null
}
},
{
"name": "front doorbell camera auto quick reply time number",
"room": "entrance",
"type": "number",
"id": {
"entity_id": "number.front_doorbell_camera_auto_quick_reply_time",
"device_id": null
}
},
{
"name": "front doorbell camera auto quick reply message select",
"room": "entrance",
"type": "select",
"id": {
"entity_id": "select.front_doorbell_camera_auto_quick_reply_message",
"device_id": null
}
},
{
"name": "front doorbell camera clear camera",
"room": "entrance",
"type": "camera",
"id": {
"entity_id": "camera.front_doorbell_camera_clear",
"device_id": null
}
},
{
"name": "workday sensor binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.workday_sensor",
"device_id": null
}
},
{
"name": "gem holidays calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.gem_holidays",
"device_id": null
}
},
{
"name": "doorbell motion no trigger input boolean",
"room": "entrance",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.doorbell_motion_no_trigger",
"device_id": null
}
},
{
"name": "front doorbell camera motion binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_doorbell_camera_motion",
"device_id": null
}
},
{
"name": "front door person detected binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_person_detected",
"device_id": null
}
},
{
"name": "mobile app dave's samsung galaxy notify",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app_daves_samsung_galaxy",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
}
]
},
{
"id": "Frost Warning",
"automation": "- alias: Frost Warning\n description: ''\n triggers:\n - entity_id:\n - sensor.outdside_thermal_comfort_frost_risk\n to: probable\n id: Probable\n trigger: state\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - entity_id:\n - sensor.outdside_thermal_comfort_frost_risk\n to: high\n id: High Probability\n trigger: state\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - entity_id:\n - sensor.outdside_thermal_comfort_frost_risk\n to: probable\n id: Probable again\n trigger: state\n from: high\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - entity_id:\n - sensor.outdside_thermal_comfort_frost_risk\n to: no_risk\n id: No Risk\n trigger: state\n for:\n hours: 0\n minutes: 5\n seconds: 0\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Probable\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: FROST RISK - PROBABLE\n message: There may be a frost tonight.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - if:\n - condition: template\n value_template: '{{is_state(''binary_sensor.dave_home'',''on'')}}'\n then:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: It will probably be frosty tonight.\n else:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: It will probably be frosty tonight.\n alias: Announce to Dave if he is home, else announce to Gem.\n - conditions:\n - condition: trigger\n id:\n - High Probability\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: FROST RISK - HIGHLY PROBABLE\n message: There will most likely be a frost tonight.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - if:\n - condition: template\n value_template: '{{is_state(''binary_sensor.dave_home'',''on'')}}'\n then:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: There is a good chance it will be frosty tonight.\n else:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: There is a good chance it will be frosty tonight.\n alias: Announce to Dave if he is home, else announce to Gem.\n - conditions:\n - condition: trigger\n id:\n - Probable again\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: FROST RISK - PROBABLE AGAIN\n message: The frost risk has dropped to probable again.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - if:\n - condition: template\n value_template: '{{is_state(''binary_sensor.dave_home'',''on'')}}'\n then:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: It might not be frosty now.\n else:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: It might not be frosty now.\n alias: Announce to Dave if he is home, else announce to Gem.\n - conditions:\n - condition: trigger\n id:\n - No Risk\n sequence:\n - action: script.text_notify_parents\n metadata: {}\n data:\n title: FROST RISK - CANCELLED\n message: There is no chance of frost at the moment.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - if:\n - condition: template\n value_template: '{{is_state(''binary_sensor.dave_home'',''on'')}}'\n then:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: It is highly unlikely to be frosty tonight.\n else:\n action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: It is highly unlikely to be frosty tonight..\n alias: Announce to Dave if he is home, else announce to Gem.\n mode: single",
"config": [
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "outside thermal comfort frost risk sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.outdside_thermal_comfort_frost_risk",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Garage Dehumdifier Water Tray Full",
"automation": "- alias: Garage Dehumdifier Water Tray Full\n description: ''\n triggers:\n - entity_id:\n - sensor.garage_dehumidifier_water_tray_full\n from: not_full\n to: full\n id: Full\n trigger: state\n - entity_id:\n - sensor.garage_dehumidifier_water_tray_full\n from: full\n to: not_full\n id: Not Full\n trigger: state\n - entity_id:\n - sensor.garage_thermometer_temperature\n below: sensor.garage_thermal_comfort_dew_point\n id: Rust Risk\n trigger: numeric_state\n - entity_id:\n - sensor.garage_thermometer_temperature\n above: 8\n id: Restart\n trigger: numeric_state\n - entity_id:\n - humidifier.garage_dehumidifier_2\n to: 'off'\n id: 'Off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Full\n sequence:\n - action: script.text_notify_dave\n data:\n message: \"{{[ 'The garage dehumidifier is full',\\n 'The garage rust prevention\\\n \\ system has stalled',\\n 'The garage humidity level is increasing exponentially']|random\\\n \\ }}\\n\"\n title: GARAGE DEHUMIDIFIER\n alias: Send a notification based on an input text helper\n - alias: Broadcast message outside quiet time\n if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.announcement_playing\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: \"{{ [ 'This is an important announcement for the man of the\\\n \\ house. The garage dehumidifier water tray is full. Please empty it.',\\\n \\ \\n 'I have detected a momentary increase in humidity in the\\\n \\ garage. Perhaps the atmospheric water extraction device has extracted\\\n \\ as much moisture as it can hold', \\n 'The weather girls have\\\n \\ reported a rise in humidity and a fall in barometric pressure. While\\\n \\ it is not raining men, perhaps the garage dehumidifier is full', \\\n \\ \\n 'The garage rust prevention device has stalled. Unless you\\\n \\ want your cars to disintegrate into a heap of iron oxide, might I\\\n \\ suggest you take immediate action.' \\n ]|random }}\"\n - delay:\n hours: 0\n minutes: 0\n seconds: 15\n milliseconds: 0\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.announcement_playing\n data: {}\n - action: light.turn_on\n data:\n rgb_color:\n - 133\n - 255\n - 255\n brightness: 10\n target:\n entity_id: light.kitchen_aura_lamp_2\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.garage_dehumidifier_full\n - conditions:\n - condition: trigger\n id:\n - Not Full\n sequence:\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.garage_dehumidifier_full\n - alias: Broadcast message outside quiet time\n if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.announcement_playing\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: \"{{ [ 'Well now. Whoever emptied the garage dehumidifier, thank\\\n \\ you.', \\n 'I have detected a slightly longer term reduction\\\n \\ in humidity in the garage. Thankfully, its because the atmospheric\\\n \\ water extraction device has once again commenced extracting moisture.',\\\n \\ \\n 'The weather girls have reported a fall in humidity and\\\n \\ a increase in barometric pressure. While it is not raining men, it\\\n \\ is good to see the garage dehumidifier is empty once more', \\n \\\n \\ 'The garage rust prevention device has recommenced operation.\\\n \\ You have saved your cars from disintegrating into a heap of iron oxide.'\\\n \\ \\n ]|random }}\"\n - delay:\n hours: 0\n minutes: 0\n seconds: 15\n milliseconds: 0\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.announcement_playing\n data: {}\n - if:\n - condition: state\n entity_id: binary_sensor.morning\n state: 'on'\n alias: If Morning\n then:\n - action: light.turn_on\n data:\n effect: Morning\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp_2\n else:\n - if:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n alias: If Lunchtime\n then:\n - action: light.turn_on\n data:\n effect: Falling Petals\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp_2\n else:\n - if:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n alias: If Afternoon\n then:\n - action: light.turn_on\n data:\n effect: Forest\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp_2\n else:\n - if:\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n alias: If Dinnertime\n then:\n - action: light.turn_on\n data:\n effect: Eating Dots\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp_2\n else:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_aura_lamp_2\n data:\n effect: Firefly\n brightness_pct: 1\n - conditions:\n - condition: trigger\n id:\n - Rust Risk\n sequence:\n - action: script.text_notify_dave\n data:\n message: Risk of condensation in the garage\n title: RISK OF RUST FORMATION\n - conditions:\n - condition: trigger\n id:\n - Restart\n - condition: state\n entity_id: humidifier.garage_dehumidifier_2\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.garage_thermometer_humidity\n above: 60\n sequence:\n - action: humidifier.turn_on\n target:\n entity_id: humidifier.garage_dehumidifier_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - 'Off'\n - condition: numeric_state\n entity_id: sensor.garage_thermometer_temperature\n below: 10\n sequence:\n - action: script.text_notify_dave\n data:\n title: DEHUMIDIFIER OFF\n message: The garage dehumdifier has turned off due to low temperature.\n mode: restart",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "kitchen aura lamp 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_aura_lamp_2",
"device_id": null
}
},
{
"name": "garage dehumidifier full input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.garage_dehumidifier_full",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "garage dehumidifier water tray full sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.garage_dehumidifier_water_tray_full",
"device_id": null
}
},
{
"name": "garage thermometer temperature sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.garage_thermometer_temperature",
"device_id": null
}
},
{
"name": "garage thermal comfort dew point sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.garage_thermal_comfort_dew_point",
"device_id": null
}
},
{
"name": "garage thermometer humidity sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.garage_thermometer_humidity",
"device_id": null
}
},
{
"name": "humidifier garage dehumidifier 2",
"room": "garage",
"type": "humidifier",
"id": {
"entity_id": "humidifier.garage_dehumidifier_2",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "kitchen aura lamp light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_aura_lamp",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Garage Lights With Doors",
"automation": "- alias: Garage Lights With Doors\n description: ''\n mode: single\n triggers:\n - entity_id:\n - sensor.garage_door_state\n to: Open\n id: Open\n trigger: state\n - entity_id:\n - sensor.garage_door_state\n to: Closed\n id: Closed\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Open\n alias: Turn on lights when a door is opened\n - condition: state\n entity_id: light.garage_lights\n state: 'off'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.garage_lights\n - conditions:\n - condition: trigger\n id:\n - Closed\n - condition: state\n entity_id: light.garage_lights\n state: 'on'\n sequence:\n - action: light.turn_off\n target:\n entity_id: light.garage_lights\n data: {}",
"config": [
{
"name": "garage lights light",
"room": "garage",
"type": "light",
"id": {
"entity_id": "light.garage_lights",
"device_id": null
}
},
{
"name": "garage door state sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.garage_door_state",
"device_id": null
}
}
]
},
{
"id": "Get Battery Output Limit",
"automation": "- alias: Get Battery Output Limit\n description: Send a notification asking if the battery output should be limited\n overnight\n triggers:\n - at: '21:05:00'\n trigger: time\n conditions: []\n actions:\n - alias: Send a notification to my phone\n data:\n message: 'Do you want to limit the battery output overnight?\n\n '\n title: Battery Output Limit\n data:\n actions:\n - action: 'YES'\n title: 'Yes'\n - action: 'NO'\n title: 'No'\n action: notify.mobile_app_daves_samsung_galaxy\n - alias: Wait for a response\n wait_for_trigger:\n - event_type: mobile_app_notification_action\n event_data:\n action: 'YES'\n trigger: event\n - event_type: mobile_app_notification_action\n event_data:\n action: 'NO'\n trigger: event\n timeout:\n hours: 0\n minutes: 30\n seconds: 0\n milliseconds: 0\n continue_on_timeout: true\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ not wait.trigger }}'\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_battery_output_limit\n data: {}\n - action: script.text_notify_dave\n data:\n title: BATTERY WILL BE LIMITED OVERNIGHT\n message: Please ensure you have set time slots.\n alias: If no response received limit battery\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"YES\" }}'\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_battery_output_limit\n data: {}\n - action: script.text_notify_dave\n data:\n title: BATTERY WILL BE LIMITED OVERNIGHT\n message: Please ensure you have set time slots.\n alias: If response is YES limit battery\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"NO\" }}'\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.allow_battery_output_limit\n state: 'on'\n then:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.allow_battery_output_limit\n data: {}\n alias: If Battery Limit Master is on turn it off\n - action: script.text_notify_dave\n data:\n title: BATTERY WILL NOT BE LIMITED OVERNIGHT\n message: Please check no time slots are set.\n alias: If response is NO don't limit battery\n mode: single",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "mobile app dave's samsung galaxy notify",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app_daves_samsung_galaxy",
"device_id": null
}
},
{
"name": "allow battery output limit input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_battery_output_limit",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
}
]
},
{
"id": "Get ready for school",
"automation": "- alias: Get ready for school\n description: ''\n triggers:\n - at: input_datetime.get_ready_for_school_at\n trigger: time\n conditions:\n - condition: state\n entity_id: calendar.school_day\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n actions:\n - action: script.boys_get_dressed_announcement\n data: {}\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - action: script.boys_brush_teeth_announcement\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 30\n milliseconds: 0\n - action: switch.turn_off\n data: {}\n target:\n entity_id: switch.living_room_tv\n enabled: true\n - action: media_player.turn_off\n data: {}\n target:\n entity_id: media_player.sky_q_main\n enabled: true\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - action: script.boys_late_for_school\n data: {}\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_morning_announcement_played\n - action: input_boolean.toggle\n data: {}\n target:\n entity_id: input_boolean.sean_dressed_first\n mode: single",
"config": [
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "sean dressed first input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.sean_dressed_first",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "get ready for school at input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.get_ready_for_school_at",
"device_id": null
}
},
{
"name": "calendar school day calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_day",
"device_id": null
}
},
{
"name": "boys get dressed announcement script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.boys_get_dressed_announcement",
"device_id": null
}
},
{
"name": "boys brush teeth announcement script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.boys_brush_teeth_announcement",
"device_id": null
}
},
{
"name": "media player sky q main",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sky_q_main",
"device_id": null
}
},
{
"name": "boys late for school script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.boys_late_for_school",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
}
]
},
{
"id": "Google Drive Backup Monitor",
"automation": "- alias: Google Drive Backup Monitor\n description: Send a notification to Dave's phone if the Google Drive Backup fails\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.backups_stale\n from: 'off'\n to: 'on'\n condition: []\n action:\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: Access the Home Assistant Google Drive Backup add-on for details\n title: There is an issue with the backups\n alias: Send a notification based on an input text helper\n mode: single",
"config": [
{
"name": "backups stale binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.backups_stale",
"device_id": null
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
}
]
},
{
"id": "Granny Charger Toggle",
"automation": "- alias: Granny Charger Toggle\n description: Uses granny charger to charge EV when there is sufficient sunshine\n trigger:\n - platform: state\n entity_id:\n - sensor.solaredge_b1_state_of_energy\n id: Battery Charge Level\n - platform: state\n entity_id:\n - sensor.solar_panel_production_w\n id: Panel Power\n condition: []\n action:\n - choose:\n - conditions:\n - condition: and\n conditions:\n - condition: trigger\n id: Panel Power\n - condition: state\n entity_id: switch.valkyrie_switch_1\n state: 'on'\n enabled: false\n - condition: device\n type: is_off\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n - type: is_battery_level\n condition: device\n device_id: fde0fef8291e927bf8ae0d38ba5e36ce\n entity_id: sensor.solaredge_b1_state_of_energy\n domain: sensor\n above: 95\n alias: Battery state of energy is more than 95%\n - condition: numeric_state\n entity_id: sensor.solar_exported_power_w\n above: 2500\n alias: Exported power is more than 2500W\n sequence:\n - type: turn_on\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n - conditions:\n - condition: and\n conditions:\n - condition: trigger\n id: Battery Charge Level\n - condition: numeric_state\n entity_id: sensor.solar_house_consumption_w\n above: sensor.solar_panel_production_w\n - condition: device\n type: is_on\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n sequence:\n - type: turn_off\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n - conditions:\n - condition: trigger\n id: Battery Charge Level\n - condition: numeric_state\n entity_id: sensor.solaredge_b1_state_of_energy\n below: 97\n - condition: device\n type: is_on\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n sequence:\n - type: turn_off\n device_id: 3e12cbf22e7fcfd5924b41a20289cc2b\n entity_id: switch.granny_charger_local\n domain: switch\n mode: single",
"config": [
{
"name": "solaredge b1 state of energy sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solaredge_b1_state_of_energy",
"device_id": null
}
},
{
"name": "solar panel production w sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.solar_panel_production_w",
"device_id": null
}
},
{
"name": "valkyrie switch 1 switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.valkyrie_switch_1",
"device_id": null
}
},
{
"name": "granny charger local switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.granny_charger_local",
"device_id": "3e12cbf22e7fcfd5924b41a20289cc2b"
}
},
{
"name": "solar exported power w sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.solar_exported_power_w",
"device_id": null
}
},
{
"name": "solar house consumption w sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.solar_house_consumption_w",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "fde0fef8291e927bf8ae0d38ba5e36ce",
"device_id": null
}
},
{
"name": "Device fde0fef8291e927bf8ae0d38ba5e36ce",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "fde0fef8291e927bf8ae0d38ba5e36ce"
}
}
]
},
{
"id": "Greenhouse & Polytunnel Temp Monitor",
"automation": "- alias: Greenhouse & Polytunnel Temp Monitor\n description: Monitor the temperature in the greenhouses and poly tunnel and monitor\n the state of the doors.\n triggers:\n - entity_id:\n - sensor.greenhouse_thermometer_temperature\n - sensor.poly_tunnel_temperature_temperature\n - sensor.lean_to_greenhouse_thermometer_temperature\n below: 18\n id: Close\n trigger: numeric_state\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - entity_id:\n - sensor.greenhouse_thermometer_temperature\n - sensor.poly_tunnel_temperature_temperature\n - sensor.lean_to_greenhouse_thermometer_temperature\n above: 25\n id: Open\n trigger: numeric_state\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - trigger: time\n at: '21:02:00'\n id: Last check\n enabled: true\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Open\n - condition: template\n value_template: '{{\"Poly\" in trigger.to_state.attributes.friendly_name }}'\n - condition: and\n conditions:\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_1_contact\n state: 'off'\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_upper\n state: 'off'\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_2_2\n state: 'off'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Oh, don’t mind me, just slowly wilting away in this furnace\\\n \\ of a poly tunnel while you go about your day. But hey, if you happen\\\n \\ to remember I exist, maybe crack a door open?',\\n 'I suppose this\\\n \\ is how it ends. Trapped in an oven-like poly tunnel, leaves shriveling,\\\n \\ roots baking… all because someone forgot that plants like air. But no,\\\n \\ no, you go ahead, I’ll just suffer in silence.',\\n 'Oh wow, what\\\n \\ a brilliant idea. lock me in this poly tunnel with the sun blasting\\\n \\ down. Truly, a masterclass in poly tunnel management. But, I dunno,\\\n \\ maybe… just maybe… OPEN THE DOORS?',\\n 'Look, I get it, you’re busy.\\\n \\ But if I start photosynthesizing fire, that’s on you. I highly recommend\\\n \\ some urgent ventilation in the poly tunnel before things get crispy\\\n \\ in here.',\\n 'I guess this is just my life now. A glorified steamed\\\n \\ vegetable. No, no, don’t rush on my account—I’ll just sit here, melting\\\n \\ in this poly tunnel, while you enjoy your comfortable, breezy existence.'\\n\\\n \\ ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Open\n - condition: template\n value_template: '{{\"Lean\" in trigger.to_state.attributes.friendly_name }}'\n - condition: state\n entity_id: binary_sensor.lean_to_greenhouse_door\n state: 'off'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Oh, don’t mind me, just slowly wilting away in this furnace\\\n \\ of a lean-too greenhouse while you go about your day. But hey, if you\\\n \\ happen to remember I exist, maybe crack a door open?',\\n 'I suppose\\\n \\ this is how it ends. Trapped in an oven-like lean-too, leaves shriveling,\\\n \\ roots baking… all because someone forgot that plants like air. But no,\\\n \\ no, you go ahead, I’ll just suffer in silence.',\\n 'Oh wow, what\\\n \\ a brilliant idea. lock me in this greenhouse with the sun blasting down.\\\n \\ Truly, a masterclass in lean too management. But, I dunno, maybe… just\\\n \\ maybe… OPEN THE DOORS?',\\n 'Look, I get it, you’re busy. But if I\\\n \\ start photosynthesizing fire, that’s on you. I highly recommend some\\\n \\ urgent ventilation in the lean-too greenhouse before things get crispy\\\n \\ in here.',\\n 'I guess this is just my life now. A glorified steamed\\\n \\ vegetable. No, no, don’t rush on my account—I’ll just sit here, melting\\\n \\ in this lean-too, while you enjoy your comfortable, breezy existence.'\\n\\\n \\ ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Open\n - condition: template\n value_template: '{{\"Lean\" not in trigger.to_state.attributes.friendly_name\n and \"Poly\" not in trigger.to_state.attributes.friendly_name }}'\n - condition: state\n entity_id: binary_sensor.greenhouse_door_contact\n state: 'off'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Oh, don’t mind me, just slowly wilting away in this furnace\\\n \\ of a greenhouse while you go about your day. But hey, if you happen\\\n \\ to remember I exist, maybe crack a door open?',\\n 'I suppose this\\\n \\ is how it ends. Trapped in an oven-like greenhouse, leaves shriveling,\\\n \\ roots baking… all because someone forgot that plants like air. But no,\\\n \\ no, you go ahead, I’ll just suffer in silence.',\\n 'Oh wow, what\\\n \\ a brilliant idea. lock me in this greenhouse with the sun blasting down.\\\n \\ Truly, a masterclass in greenhouse management. But, I dunno, maybe…\\\n \\ just maybe… OPEN THE DOORS?',\\n 'Look, I get it, you’re busy. But\\\n \\ if I start photosynthesizing fire, that’s on you. I highly recommend\\\n \\ some urgent ventilation in the greenhouse before things get crispy in\\\n \\ here.',\\n 'I guess this is just my life now. A glorified steamed\\\n \\ vegetable. No, no, don’t rush on my account—I’ll just sit here, melting\\\n \\ in this greenhouse, while you enjoy your comfortable, breezy existence.'\\n\\\n \\ ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Close\n - condition: template\n value_template: '{{\"Poly\" in trigger.to_state.attributes.friendly_name }}'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_1_contact\n state: 'on'\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_2_2\n state: 'on'\n - condition: state\n entity_id: binary_sensor.poly_tunnel_door_upper\n state: 'on'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Ah, yes, excellent plan—let all my precious warmth just escape\\\n \\ into the abyss. I love being a shivering wreck. Perhaps you could do\\\n \\ me a solid and shut the poly tunnel doors before I freeze to death?',\\n\\\n \\ 'Oh, no, don’t mind me, just desperately clinging to the last bit\\\n \\ of warmth in this ever-chilling poly tunnel. But sure, let’s just air-condition\\\n \\ the garden, shall we?',\\n 'BRRR! Is this your idea of a tropical\\\n \\ paradise? Because I was under the impression that a poly tunnel is supposed\\\n \\ to be WARM. Maybe, just maybe, close the doors before I become a frost-bitten\\\n \\ tragedy?',\\n 'Ah, I see, we’re doing the turn the poly tunnel into\\\n \\ an fridge experiment today. Fascinating. But if you don’t mind, I’d\\\n \\ rather not experience hypothermia. Shut the doors?',\\n 'Oh great,\\\n \\ the cozy warmth I worked so hard to absorb all day is just slipping\\\n \\ away, like my trust in your ability to care for me. Maybe, just maybe,\\\n \\ sealing up the poly tunnel would help?'\\n ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Close\n - condition: template\n value_template: '{{\"Lean\" in trigger.to_state.attributes.friendly_name }}'\n - condition: state\n entity_id: binary_sensor.lean_to_greenhouse_door\n state: 'on'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Ah, yes, excellent plan—let all my precious warmth just escape\\\n \\ into the abyss. I love being a shivering wreck. Perhaps you could do\\\n \\ me a solid and shut the lean-too doors before I freeze to death?',\\n\\\n \\ 'Oh, no, don’t mind me, just desperately clinging to the last bit\\\n \\ of warmth in this ever-chilling lean-too. But sure, let’s just air-condition\\\n \\ the garden, shall we?',\\n 'BRRR! Is this your idea of a tropical\\\n \\ paradise? Because I was under the impression that a lean-too greenhouse\\\n \\ is supposed to be WARM. Maybe, just maybe, close the doors before I\\\n \\ become a frost-bitten tragedy?',\\n 'Ah, I see, we’re doing the turn\\\n \\ the lean-too greenhouse into an fridge experiment today. Fascinating.\\\n \\ But if you don’t mind, I’d rather not experience hypothermia. Shut the\\\n \\ doors?',\\n 'Oh great, the cozy warmth I worked so hard to absorb\\\n \\ all day is just slipping away, like my trust in your ability to care\\\n \\ for me. Maybe, just maybe, sealing up the lean-too would help?'\\n \\\n \\ ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Close\n - condition: template\n value_template: '{{\"Lean\" not in trigger.to_state.attributes.friendly_name\n and \"Poly\" not in trigger.to_state.attributes.friendly_name }}'\n - condition: state\n entity_id: binary_sensor.greenhouse_door_contact\n state: 'on'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n message: \"{{ ['Ah, yes, excellent plan—let all my precious warmth just escape\\\n \\ into the abyss. I love being a shivering wreck. Perhaps you could do\\\n \\ me a solid and shut the greenhouse door before I freeze to death?',\\n\\\n \\ 'Oh, no, don’t mind me, just desperately clinging to the last bit\\\n \\ of warmth in this ever-chilling greenhouse. But sure, let’s just air-condition\\\n \\ the garden, shall we?',\\n 'BRRR! Is this your idea of a tropical\\\n \\ paradise? Because I was under the impression that a greenhouse is supposed\\\n \\ to be WARM. Maybe, just maybe, close the doors before I become a frost-bitten\\\n \\ tragedy?',\\n 'Ah, I see, we’re doing the turn the greenhouse into\\\n \\ an fridge experiment today. Fascinating. But if you don’t mind, I’d\\\n \\ rather not experience hypothermia. Shut the doors?',\\n 'Oh great,\\\n \\ the cozy warmth I worked so hard to absorb all day is just slipping\\\n \\ away, like my trust in your ability to care for me. Maybe, just maybe,\\\n \\ sealing up the greenhouse would help?'\\n ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Last check\n - condition: template\n value_template: '{{ is_state(''binary_sensor.lean_to_greenhouse_door'',''on'')}}'\n sequence:\n - variables:\n door: \"{% set open_doors = expand(label_entities('Greenhouse Door'))\\n \\\n \\ |selectattr('state','eq','on')\\n |map(attribute='name')\\n \\\n \\ |list %}\\n{% if open_doors | length > 0 %} {% set open_doors = (open_doors\\\n \\ | join(', ')) %}\\n {% if 'Poly' in open_doors and 'Green' in open_doors\\\n \\ %}\\n The following greenhouse and poly tunnel doors and windows are\\\n \\ open: {{ open_doors }}\\n {% elif 'Poly' in open_doors %}\\n The\\\n \\ following poly tunnel doors and windows are open: {{ open_doors }}\\n\\\n \\ {% else %}\\n The following greenhouse doors are open: {{ open_doors\\\n \\ }} \\n {% endif %}\\n{% else %}\\n All greenhouse and poly tunnel doors\\\n \\ and windows are closed\\n{% endif %}\\n\"\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: living room\n message: 'I thought you might like to know that {{ door }}\n\n '\n mode: single",
"config": [
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "greenhouse thermometer temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.greenhouse_thermometer_temperature",
"device_id": null
}
},
{
"name": "poly tunnel temperature temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.poly_tunnel_temperature_temperature",
"device_id": null
}
},
{
"name": "lean to greenhouse thermometer temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.lean_to_greenhouse_thermometer_temperature",
"device_id": null
}
},
{
"name": "poly tunnel door 1 contact binary sensor",
"room": "greenhouse",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.poly_tunnel_door_1_contact",
"device_id": null
}
},
{
"name": "poly tunnel door upper binary sensor",
"room": "greenhouse",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.poly_tunnel_door_upper",
"device_id": null
}
},
{
"name": "poly tunnel door 2 2 binary sensor",
"room": "greenhouse",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.poly_tunnel_door_2_2",
"device_id": null
}
},
{
"name": "lean to greenhouse door binary sensor",
"room": "greenhouse",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lean_to_greenhouse_door",
"device_id": null
}
},
{
"name": "greenhouse door contact binary sensor",
"room": "greenhouse",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.greenhouse_door_contact",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Greenhouse Heating Toggle",
"automation": "- alias: Greenhouse Heating Toggle\n description: Turn on and off the greenhouse heater to keep the temperature above\n 3 degrees C\n triggers:\n - entity_id:\n - sensor.greenhouse_thermometer_temperature\n below: 6\n id: Greenhouse Heater On\n trigger: numeric_state\n - entity_id:\n - sensor.greenhouse_thermometer_temperature\n above: 10\n id: Greenhouse Heater Off\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Greenhouse Heater On\n sequence:\n - action: switch.turn_on\n data: {}\n target:\n entity_id:\n - switch.heater_greenhouse_s1\n - switch.heater_greenhouse_s2\n - conditions:\n - condition: trigger\n id: Greenhouse Heater Off\n sequence:\n - action: switch.turn_off\n data: {}\n target:\n entity_id:\n - switch.heater_greenhouse_s1\n - switch.heater_greenhouse_s2\n mode: single",
"config": [
{
"name": "greenhouse thermometer temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.greenhouse_thermometer_temperature",
"device_id": null
}
},
{
"name": "heater greenhouse s1 switch",
"room": "greenhouse",
"type": "switch",
"id": {
"entity_id": "switch.heater_greenhouse_s1",
"device_id": null
}
},
{
"name": "heater greenhouse s2 switch",
"room": "greenhouse",
"type": "switch",
"id": {
"entity_id": "switch.heater_greenhouse_s2",
"device_id": null
}
}
]
},
{
"id": "Grid Charge Battery Overnight with Go",
"automation": "- alias: Grid Charge Battery Overnight with Go\n description: ''\n triggers:\n - id: Activate Grid Charge\n at: '21:00:00'\n trigger: time\n - id: Start Grid Charge\n trigger: state\n entity_id:\n - binary_sensor.target_timeframes_octopus_energy_charge_home_battery\n from: 'off'\n to: 'on'\n - id: Stop Grid Charge\n trigger: state\n entity_id:\n - binary_sensor.target_timeframes_octopus_energy_charge_home_battery\n from: 'on'\n to: 'off'\n - entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate Grid Charge\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.grid_charge_home_battery\n device_id: []\n area_id: []\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Start Grid Charge\n - condition: state\n entity_id: input_boolean.grid_charge_home_battery\n state: 'on'\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.home_battery_grid_charging\n - action: script.grid_charge_battery\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Stop Grid Charge\n sequence:\n - action: script.turn_off\n data: {}\n target:\n entity_id: script.grid_charge_battery\n - action: select.select_option\n target:\n entity_id: select.solaredge_i1_storage_command_mode\n data:\n option: Maximize Self Consumption\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id:\n - input_boolean.home_battery_grid_charging\n - input_boolean.grid_charge_home_battery\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: state\n entity_id: input_boolean.grid_charge_home_battery\n state: 'on'\n - alias: Within charge window and active\n condition: and\n conditions:\n - condition: time\n after: 00:30:00\n before: 05:30:00\n - condition: state\n entity_id: binary_sensor.target_timeframes_octopus_energy_charge_home_battery\n state: 'on'\n sequence:\n - action: script.grid_charge_battery\n data: {}\n mode: parallel\n max: 10",
"config": [
{
"name": "home battery grid charging input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.home_battery_grid_charging",
"device_id": null
}
},
{
"name": "solaredge i1 storage command mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_command_mode",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "grid charge home battery input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.grid_charge_home_battery",
"device_id": null
}
},
{
"name": "target timeframes octopus energy charge home battery binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.target_timeframes_octopus_energy_charge_home_battery",
"device_id": null
}
},
{
"name": "grid charge battery script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.grid_charge_battery",
"device_id": null
}
},
{
"name": "turn off script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.turn_off",
"device_id": null
}
}
]
},
{
"id": "Guest Bedroom Lights with presence",
"automation": "- alias: Guest Bedroom Lights with presence\n description: ''\n triggers:\n - entity_id:\n - group.spare_room_motion\n from: 'off'\n to: 'on'\n id: Light on\n trigger: state\n - entity_id:\n - binary_sensor.guest_bedroom_occupied\n from: 'on'\n to: 'off'\n id: Light off\n trigger: state\n - entity_id: sensor.guest_bedroom_motion_illuminance\n below: input_number.low_light_threshold\n id: Low Light\n trigger: numeric_state\n - entity_id: sensor.guest_bedroom_motion_illuminance\n id: Good Light\n above: input_number.upper_light_threshold_level\n trigger: numeric_state\n - entity_id:\n - binary_sensor.guest_bed_motion_right_occupancy\n - binary_sensor.guest_bed_motion_left_occupancy\n from: 'off'\n to: 'on'\n id: Bedside light on\n trigger: state\n - entity_id:\n - binary_sensor.guest_bed_motion_right_occupancy\n - binary_sensor.guest_bed_motion_left_occupancy\n from: 'on'\n to: 'off'\n id: Bedside light off\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - switch.spare_room_light_switch\n from: 'off'\n to: 'on'\n id: Ironing on\n trigger: state\n - entity_id:\n - switch.spare_room_light_switch\n from: 'on'\n to: 'off'\n id: Ironing off\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Light on\n - condition: state\n entity_id: input_boolean.guest_bedroom_bedside_lamps_active\n state: 'on'\n - condition: or\n conditions:\n - condition: sun\n before: sunrise\n after: sunset\n - condition: numeric_state\n entity_id: sensor.guest_bedroom_motion_illuminance\n below: input_number.low_light_threshold\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n sequence:\n - data: {}\n target:\n entity_id:\n - light.spare_room_lights\n action: light.turn_on\n - conditions:\n - condition: trigger\n id: Light off\n - condition: state\n entity_id: input_boolean.guest_bedroom_allow_lights_off\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id:\n - light.spare_room_lights\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n state: 'on'\n entity_id: binary_sensor.guest_bedroom_occupied\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n sequence:\n - data: {}\n target:\n entity_id: light.spare_room_lights\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Good Light\n sequence:\n - data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n - light.spare_room_lights\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Bedside light on\n - condition: template\n value_template: '{{ ''Right'' in trigger.to_state.attributes.friendly_name\n }}'\n - condition: state\n entity_id: input_boolean.guest_bedroom_bedside_lamps_active\n state: 'on'\n - condition: or\n conditions:\n - condition: sun\n before: sunrise\n after: sunset\n - condition: numeric_state\n entity_id: sensor.guest_bedroom_motion_illuminance\n below: input_number.low_light_threshold\n sequence:\n - data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_right\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Bedside light off\n - condition: template\n value_template: '{{ ''Right'' in trigger.to_state.attributes.friendly_name\n }}'\n - condition: state\n entity_id: input_boolean.guest_bedroom_allow_lights_off\n state: 'on'\n sequence:\n - target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_right\n data: {}\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Bedside light on\n - condition: template\n value_template: '{{ ''Left'' in trigger.to_state.attributes.friendly_name\n }}'\n - condition: state\n entity_id: input_boolean.guest_bedroom_bedside_lamps_active\n state: 'on'\n - condition: or\n conditions:\n - condition: sun\n before: sunrise\n after: sunset\n - condition: numeric_state\n entity_id: sensor.guest_bedroom_motion_illuminance\n below: input_number.low_light_threshold\n sequence:\n - data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Bedside light off\n - condition: template\n value_template: '{{ ''Left'' in trigger.to_state.attributes.friendly_name\n }}'\n - condition: state\n entity_id: input_boolean.guest_bedroom_allow_lights_off\n state: 'on'\n sequence:\n - target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n data: {}\n enabled: true\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Ironing on\n - Ironing off\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n then:\n - data: {}\n action: script.ironing_lights\n else:\n - action: light.toggle\n target:\n entity_id: light.spare_room_lights\n data: {}\n alias: If guest mode - toggle lights - else - ironing lights\n mode: restart\n initial_state: true",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp left light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_left",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp right light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_right",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamps active input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "group spare room motion group",
"room": "guest_bedroom",
"type": "group",
"id": {
"entity_id": "group.spare_room_motion",
"device_id": null
}
},
{
"name": "guest bedroom occupied binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_occupied",
"device_id": null
}
},
{
"name": "guest bedroom motion illuminance sensor",
"room": "guest_bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.guest_bedroom_motion_illuminance",
"device_id": null
}
},
{
"name": "guest bed motion right occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bed_motion_right_occupancy",
"device_id": null
}
},
{
"name": "guest bed motion left occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bed_motion_left_occupancy",
"device_id": null
}
},
{
"name": "spare room light switch switch",
"room": "guest_bedroom",
"type": "switch",
"id": {
"entity_id": "switch.spare_room_light_switch",
"device_id": null
}
},
{
"name": "guest bedroom allow lights off input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_bedroom_allow_lights_off",
"device_id": null
}
},
{
"name": "spare room lights light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.spare_room_lights",
"device_id": null
}
}
]
},
{
"id": "Guest Bedroom Smart Button Automation",
"automation": "- alias: Guest Bedroom Smart Button Automation\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - event.smart_button_upstairs_1_action\n conditions:\n - condition: template\n value_template: '{{ trigger.from_state.state != ''unavailable'' }}'\n actions:\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''single''\n }}'\n alias: Single Press\n sequence:\n - data: {}\n action: script.spare_room_tv_toggle_2\n - conditions:\n - alias: Release\n condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''release''\n }}'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n sequence:\n - data: {}\n action: script.spare_room_night_light\n alias: Activate Night Lights\n mode: single\n initial_state: true",
"config": [
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "event smart button upstairs 1 action event",
"room": "guest_bedroom",
"type": "event",
"id": {
"entity_id": "event.smart_button_upstairs_1_action",
"device_id": null
}
},
{
"name": "spare room tv toggle 2 script",
"room": "guest_bedroom",
"type": "script",
"id": {
"entity_id": "script.spare_room_tv_toggle_2",
"device_id": null
}
},
{
"name": "spare room night light script",
"room": "guest_bedroom",
"type": "script",
"id": {
"entity_id": "script.spare_room_night_light",
"device_id": null
}
},
{
"name": "spare room tv toggle 2 script",
"room": "guest_bedroom",
"type": "script",
"id": {
"entity_id": "script.spare_room_tv_toggle_2",
"device_id": null
}
}
]
},
{
"id": "Guest Mode Audio Feedback",
"automation": "- alias: Guest Mode Audio Feedback\n description: ''\n triggers:\n - entity_id:\n - input_boolean.guest_mode\n from: 'off'\n to: 'on'\n trigger: state\n actions:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.announcement_playing\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: all\n type: announcement\n message: '{{ [ \"Guest Mode has been enabled.\", \"I have switched the home to\n guest mode.\", \"I have enabled guest mode. \", \"Guest Mode is on.\" ] | random\n }}\n\n '\n - delay:\n hours: 0\n minutes: 0\n seconds: 5\n milliseconds: 0\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.announcement_playing\n data: {}",
"config": [
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "guest mode input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_mode",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "HACS Updates Notify",
"automation": "- alias: HACS Updates Notify\n description: ''\n mode: single\n triggers:\n - entity_id:\n - sensor.hacs_updates_available\n above: 1\n id: Single Update\n trigger: numeric_state\n - entity_id:\n - sensor.hacs_updates_available\n above: 4\n id: More Updates\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Single Update\n sequence:\n - action: script.text_notify_dave\n data:\n title: HACS Update\n message: There is a new HACS component update available.\n - conditions:\n - condition: trigger\n id:\n - More Updates\n sequence:\n - action: script.text_notify_dave\n data:\n title: More HACS Updates\n message: There are now 5 HACS component updates waiting.",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "hacs updates available sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.hacs_updates_available",
"device_id": null
}
}
]
},
{
"id": "this_is_halloween",
"automation": "- id: this_is_halloween\n alias: This is Halloween\n initial_state: true\n mode: single\n trigger:\n - platform: time\n at: input_datetime.halloween_show\n action:\n - action: input_boolean.turn_on\n entity_id: input_boolean.this_is_halloween\n - delay: 02:00:00\n - action: input_boolean.turn_off\n entity_id: input_boolean.this_is_halloween",
"config": [
{
"name": "halloween show input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.halloween_show",
"device_id": null
}
},
{
"name": "this is halloween input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.this_is_halloween",
"device_id": null
}
}
]
},
{
"id": "operation haunted house",
"automation": "- id: operation haunted house\n alias: Operation Haunted House\n trigger:\n - platform: state\n entity_id: input_boolean.this_is_halloween\n to: 'on'\n from: 'off'\n id: start\n - platform: state\n entity_id: input_boolean.this_is_halloween\n id: stop\n from: 'on'\n to: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: start\n sequence:\n - action: script.audio_volume_extra_spooky\n data: {}\n - action: media_player.play_media\n data:\n entity_id: media_player.all_jarvis_media_player\n media_content_id: http://192.168.0.95:8123/local/haunted_sounds/This_is_Halloween.mp3\n media_content_type: music\n - delay: 00:03:20\n - action: script.turn_on\n target:\n entity_id: script.haunted_house\n - conditions:\n - condition: trigger\n id: stop\n sequence:\n - action: script.turn_off\n target:\n entity_id: script.haunted_house\n - action: scene.turn_on\n target:\n entity_id: scene.before_haunting\n default: []\n initial_state: true\n mode: single",
"config": [
{
"name": "turn off script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.turn_off",
"device_id": null
}
},
{
"name": "this is halloween input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.this_is_halloween",
"device_id": null
}
},
{
"name": "audio volume extra spooky script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.audio_volume_extra_spooky",
"device_id": null
}
},
{
"name": "all jarvis media player media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.all_jarvis_media_player",
"device_id": null
}
},
{
"name": "haunted house script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.haunted_house",
"device_id": null
}
},
{
"name": "scene before haunting scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.before_haunting",
"device_id": null
}
}
]
},
{
"id": "Hallway Lights Needed",
"automation": "- alias: Hallway Lights Needed\n description: ''\n mode: single\n triggers:\n - entity_id:\n - switch.hallway_light_switch_1\n - switch.hallway_light_switch_2_right\n from: 'off'\n to: 'on'\n trigger: state\n - entity_id:\n - switch.hallway_light_switch_1\n - switch.hallway_light_switch_2_right\n from: 'on'\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: light.hallway_lights\n state: 'off'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.hallway_lights\n default:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.hallway_lights",
"config": [
{
"name": "hallway light switch 1 switch",
"room": "hallway",
"type": "switch",
"id": {
"entity_id": "switch.hallway_light_switch_1",
"device_id": null
}
},
{
"name": "hallway light switch 2 right switch",
"room": "hallway",
"type": "switch",
"id": {
"entity_id": "switch.hallway_light_switch_2_right",
"device_id": null
}
},
{
"name": "hallway lights light",
"room": "hallway",
"type": "light",
"id": {
"entity_id": "light.hallway_lights",
"device_id": null
}
}
]
},
{
"id": "Hallway Presence",
"automation": "- alias: Hallway Presence\n description: ''\n mode: single\n triggers:\n - entity_id:\n - binary_sensor.hallway_motion\n from: 'off'\n to: 'on'\n id: Presence\n trigger: state\n - entity_id:\n - binary_sensor.hallway_motion\n from: 'on'\n to: 'off'\n id: Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: hallway\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_hallway\n - conditions:\n - condition: trigger\n id: Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_hallway",
"config": [
{
"name": "room occupied hallway input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_hallway",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "hallway motion binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_motion",
"device_id": null
}
}
]
},
{
"id": "HEATING - All Automations",
"automation": "- alias: HEATING - All Automations\n description: Detects when a window is open or closed and sets heating on or off\n in that room. Detects when no-one is home and turns heating off.\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.dave_home\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Dave Away\n - platform: state\n entity_id:\n - binary_sensor.dave_home\n from: 'off'\n to: 'on'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Dave Home\n - platform: state\n entity_id:\n - binary_sensor.gem_home\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Gem Away\n - platform: state\n entity_id:\n - binary_sensor.gem_home\n from: 'off'\n to: 'on'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Gem Home\n - platform: state\n entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.hallway_window_contact\n to: 'on'\n id: Downstairs Door or Window Open\n for:\n hours: 0\n minutes: 0\n seconds: 30\n - platform: state\n entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.hallway_window_contact\n to: 'off'\n id: Downstairs Door or Window Closed\n - type: opened\n platform: device\n device_id: e6ba853c7dec9cf8415d6881aa429444\n entity_id: binary_sensor.dining_room_window_right_contact\n domain: binary_sensor\n id: Dining Room Window Right Open\n - type: not_opened\n platform: device\n device_id: e6ba853c7dec9cf8415d6881aa429444\n entity_id: binary_sensor.dining_room_window_right_contact\n domain: binary_sensor\n id: Dining Room Window Right Closed\n - type: opened\n platform: device\n device_id: f9aaa501ddaeabde9538648caab6c975\n entity_id: binary_sensor.cloakroom_window_contact\n domain: binary_sensor\n id: Cloakroom Window Open\n - type: not_opened\n platform: device\n device_id: f9aaa501ddaeabde9538648caab6c975\n entity_id: binary_sensor.cloakroom_window_contact\n domain: binary_sensor\n id: Cloakroom Window Closed\n - type: opened\n platform: device\n device_id: 5af72a1353a555c5830dcba725c7cf23\n entity_id: binary_sensor.en_suite_window_sensor_contact\n domain: binary_sensor\n id: En-Suite Window Open\n - type: not_opened\n platform: device\n device_id: 5af72a1353a555c5830dcba725c7cf23\n entity_id: binary_sensor.en_suite_window_sensor_contact\n domain: binary_sensor\n id: En-Suite Window Closed\n - type: opened\n platform: device\n device_id: 13a27670b56ff35704df9339e2a668a1\n entity_id: binary_sensor.office_window_sensor_contact\n domain: binary_sensor\n id: Office Window Open\n - type: not_opened\n platform: device\n device_id: 13a27670b56ff35704df9339e2a668a1\n entity_id: binary_sensor.office_window_sensor_contact\n domain: binary_sensor\n id: Office Window Closed\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n to: 'on'\n id: Bedroom Window Open\n - platform: state\n entity_id:\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n to: 'off'\n id: Bedroom Window Closed\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n id: Guest Bedroom Window Open\n to: 'on'\n - platform: state\n entity_id:\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n to: 'off'\n id: Guest Bedroom Window Closed\n - platform: state\n entity_id:\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n to: 'on'\n id: Upstairs Windows Open\n - platform: state\n entity_id:\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n to: 'off'\n id: Upstairs Windows Closed\n - platform: state\n entity_id:\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'on'\n id: Kids Bathroom Window Open\n - platform: state\n entity_id:\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'off'\n id: Kids Bathroom Window Closed\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Dave Away\n - condition: state\n entity_id: person.gem_forrester\n state: not_home\n - condition: or\n conditions:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: 'On'\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_turn_off_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Gem Away\n - condition: state\n entity_id: person.david_forrester\n state: not_home\n - condition: or\n conditions:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: 'On'\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - service: script.heating_turn_off_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Dave Home\n - Gem Home\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n sequence:\n - if:\n - condition: state\n entity_id: climate.downstairs\n state: 'off'\n - condition: state\n entity_id: climate.upstairs\n state: 'off'\n then:\n - service: script.heating_resume_schedule_all_radiators\n data: {}\n - conditions:\n - condition: trigger\n id: Downstairs Door or Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 84daad158322931a2b14ee69a6a9c8f5\n domain: climate\n entity_id: climate.downstairs\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 84daad158322931a2b14ee69a6a9c8f5\n domain: climate\n entity_id: climate.downstairs\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n alias: Turn off heating downstairs\n target:\n entity_id: climate.downstairs\n - conditions:\n - condition: trigger\n id: Downstairs Door or Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.downstairs\n - conditions:\n - condition: trigger\n id: Cloakroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 2fe808a84c082db3968a4d856fe6e8ef\n domain: climate\n entity_id: climate.cloakroom\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 2fe808a84c082db3968a4d856fe6e8ef\n domain: climate\n entity_id: climate.cloakroom\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.cloakroom\n - conditions:\n - condition: trigger\n id: Cloakroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.cloakroom\n - conditions:\n - condition: trigger\n id: En-Suite Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 2912cee70e19436c9d6795287d1cf8c9\n domain: climate\n entity_id: climate.en_suite_bathroom\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 2912cee70e19436c9d6795287d1cf8c9\n domain: climate\n entity_id: climate.en_suite_bathroom\n type: is_hvac_mode\n hvac_mode: heat\n alias: Heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.en_suite_bathroom\n - conditions:\n - condition: trigger\n id: En-Suite Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.en_suite_bathroom\n - conditions:\n - condition: trigger\n id: Office Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 71a6edc5565513cdbe48f2b5c45189fa\n domain: climate\n entity_id: climate.office\n type: is_hvac_mode\n hvac_mode: auto\n - condition: device\n device_id: 71a6edc5565513cdbe48f2b5c45189fa\n domain: climate\n entity_id: climate.office\n type: is_hvac_mode\n hvac_mode: heat\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.office\n - conditions:\n - condition: trigger\n id: Office Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id: climate.office\n - conditions:\n - condition: trigger\n id: Bedroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 5b51bb0d00f12ec04c45d29296b6b9ee\n domain: climate\n entity_id: climate.master_bedroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 5b51bb0d00f12ec04c45d29296b6b9ee\n domain: climate\n entity_id: climate.master_bedroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.master_bedroom\n - conditions:\n - condition: trigger\n id: Bedroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.master_bedroom\n - conditions:\n - condition: trigger\n id: Guest Bedroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: bc71698349b1224d4f591b0d87542cb5\n domain: climate\n entity_id: climate.guest_bedroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: bc71698349b1224d4f591b0d87542cb5\n domain: climate\n entity_id: climate.guest_bedroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id:\n - climate.guest_bedroom\n - conditions:\n - condition: trigger\n id: Guest Bedroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.guest_bedroom\n - conditions:\n - condition: trigger\n id: Upstairs Windows Open\n - condition: or\n conditions:\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.upstairs\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.upstairs\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id:\n - climate.upstairs\n - conditions:\n - condition: trigger\n id: Upstairs Windows Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.upstairs\n - conditions:\n - condition: trigger\n id: Kids Bathroom Window Open\n - condition: or\n conditions:\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.kids_bathroom\n type: is_hvac_mode\n hvac_mode: heat\n - condition: device\n device_id: 4815bc131fac9883b8fc60472f8ac3e2\n domain: climate\n entity_id: climate.kids_bathroom\n type: is_hvac_mode\n hvac_mode: auto\n alias: Test if heating is on or in auto\n sequence:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: 'off'\n target:\n entity_id: climate.kids_bathroom\n - conditions:\n - condition: trigger\n id: Kids Bathroom Window Closed\n sequence:\n - if:\n - condition: state\n entity_id: input_select.desired_heating_mode\n state: Auto\n then:\n - service: climate.set_hvac_mode\n data:\n hvac_mode: auto\n target:\n entity_id:\n - climate.kids_bathroom\n mode: restart",
"config": [
{
"name": "person david forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.david_forrester",
"device_id": null
}
},
{
"name": "person gem forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.gem_forrester",
"device_id": null
}
},
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "side door sensor contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.side_door_sensor_contact",
"device_id": null
}
},
{
"name": "kitchen window left contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_left_contact",
"device_id": null
}
},
{
"name": "kitchen window right contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_right_contact",
"device_id": null
}
},
{
"name": "living room window left contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_left_contact",
"device_id": null
}
},
{
"name": "living room window right contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_right_contact",
"device_id": null
}
},
{
"name": "hallway window contact binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_window_contact",
"device_id": null
}
},
{
"name": "dining room window right contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_right_contact",
"device_id": "e6ba853c7dec9cf8415d6881aa429444"
}
},
{
"name": "cloakroom window contact binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_window_contact",
"device_id": "f9aaa501ddaeabde9538648caab6c975"
}
},
{
"name": "en suite window sensor contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.en_suite_window_sensor_contact",
"device_id": "5af72a1353a555c5830dcba725c7cf23"
}
},
{
"name": "office window sensor contact binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_window_sensor_contact",
"device_id": "13a27670b56ff35704df9339e2a668a1"
}
},
{
"name": "main bedroom window left contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "main bedroom window right contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "guest bedroom window left contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "guest bedroom window right contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window left contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window right contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window left contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "bathroom window contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.bathroom_window_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window right contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "kids bathroom window left contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_left_contact",
"device_id": null
}
},
{
"name": "kids bathroom window right contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_right_contact",
"device_id": null
}
},
{
"name": "desired heating mode input select",
"room": "hallway",
"type": "input_select",
"id": {
"entity_id": "input_select.desired_heating_mode",
"device_id": null
}
},
{
"name": "downstairs climate",
"room": "downstairs",
"type": "climate",
"id": {
"entity_id": "climate.downstairs",
"device_id": "84daad158322931a2b14ee69a6a9c8f5"
}
},
{
"name": "cloakroom climate",
"room": "cloakroom",
"type": "climate",
"id": {
"entity_id": "climate.cloakroom",
"device_id": "2fe808a84c082db3968a4d856fe6e8ef"
}
},
{
"name": "en suite bathroom climate",
"room": "bathroom",
"type": "climate",
"id": {
"entity_id": "climate.en_suite_bathroom",
"device_id": "2912cee70e19436c9d6795287d1cf8c9"
}
},
{
"name": "office climate",
"room": "office",
"type": "climate",
"id": {
"entity_id": "climate.office",
"device_id": "71a6edc5565513cdbe48f2b5c45189fa"
}
},
{
"name": "master bedroom climate",
"room": "bedroom",
"type": "climate",
"id": {
"entity_id": "climate.master_bedroom",
"device_id": "5b51bb0d00f12ec04c45d29296b6b9ee"
}
},
{
"name": "guest bedroom climate",
"room": "guest_bedroom",
"type": "climate",
"id": {
"entity_id": "climate.guest_bedroom",
"device_id": "bc71698349b1224d4f591b0d87542cb5"
}
},
{
"name": "upstairs climate",
"room": "upstairs",
"type": "climate",
"id": {
"entity_id": "climate.upstairs",
"device_id": "4815bc131fac9883b8fc60472f8ac3e2"
}
},
{
"name": "kids bathroom climate",
"room": "bathroom",
"type": "climate",
"id": {
"entity_id": "climate.kids_bathroom",
"device_id": "4815bc131fac9883b8fc60472f8ac3e2"
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "heating turn off all radiators script",
"room": "hallway",
"type": "script",
"id": {
"entity_id": "script.heating_turn_off_all_radiators",
"device_id": null
}
},
{
"name": "heating resume schedule all radiators script",
"room": "hallway",
"type": "script",
"id": {
"entity_id": "script.heating_resume_schedule_all_radiators",
"device_id": null
}
}
]
},
{
"id": "Heating Master Control",
"automation": "- alias: Heating Master Control\n description: Override heating when people are out\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.gem_home\n from: 'on'\n to: 'off'\n id: Gem Out\n for:\n hours: 1\n minutes: 0\n seconds: 0\n - trigger: state\n entity_id:\n - binary_sensor.gem_home\n from: 'off'\n to: 'on'\n id: Gem In\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - trigger: state\n entity_id:\n - binary_sensor.family_home\n from: 'on'\n to: 'off'\n id: Family Out\n - trigger: state\n entity_id:\n - binary_sensor.family_home\n from: 'off'\n to: 'on'\n id: Family Back\n - trigger: state\n entity_id:\n - input_boolean.winter_mode\n from: 'on'\n to: 'off'\n id: 'Off'\n - trigger: state\n entity_id:\n - input_boolean.winter_mode\n from: 'off'\n to: 'on'\n id: 'On'\n - trigger: state\n entity_id:\n - climate.downstairs\n attribute: temperature\n id: Downstairs Target Temp\n enabled: false\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Gem Out\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.day_of_week\n state: Thursday\n - condition: state\n entity_id: sensor.day_of_week\n state: Wednesday\n sequence:\n - alias: Capture heating status before\n action: scene.create\n data:\n scene_id: office_heating_before\n snapshot_entities:\n - input_number.heating_comfort_temperature_office\n - input_boolean.office_heating_on\n - action: input_number.set_value\n data:\n value: 5\n target:\n entity_id:\n - input_number.heating_comfort_temperature_office\n alias: Office heating to min when Gem goes to Saughton House\n - conditions:\n - condition: trigger\n id:\n - Gem In\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.day_of_week\n state: Thursday\n - condition: state\n entity_id: sensor.day_of_week\n state: Wednesday\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.office_heating_before\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Family Out\n - condition: state\n entity_id: input_boolean.winter_mode\n state: 'on'\n sequence:\n - action: scene.create\n data:\n scene_id: house_heating_before\n snapshot_entities:\n - input_boolean.winter_mode\n - input_boolean.downstairs_heating_on\n - input_boolean.upstairs_heating_on\n - input_boolean.office_heating_on\n - input_boolean.cloakroom_heating_on\n - input_boolean.boys_rooms_heating_on\n - input_boolean.en_suite_heating_on\n - input_boolean.master_bedroom_heating_on\n - input_number.heating_comfort_temperature\n - input_number.heating_comfort_temperature_office\n - input_number.heating_comfort_temperature_boys_rooms\n - input_number.heating_comfort_temperature_cloakroom\n - input_number.heating_comfort_temperature_downstairs\n - input_number.heating_comfort_temperature_master_bedroom\n - input_number.heating_comfort_temperature_upstairs\n - input_number.heating_comfort_temperature_en_suite\n - input_number.heating_eco_temperature\n - input_number.heating_minimum_temperature\n alias: Capture house heating before\n - action: input_number.set_value\n data:\n value: 5\n target:\n entity_id:\n - input_number.heating_comfort_temperature_boys_rooms\n - input_number.heating_comfort_temperature_cloakroom\n - input_number.heating_comfort_temperature_en_suite\n - input_number.heating_comfort_temperature_master_bedroom\n - input_number.heating_comfort_temperature_downstairs\n - input_number.heating_comfort_temperature_upstairs\n - input_number.heating_comfort_temperature_office\n - conditions:\n - condition: trigger\n id:\n - Family Back\n - condition: state\n entity_id: input_boolean.winter_mode\n state: 'on'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.house_heating_before\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 1\n milliseconds: 0\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.winter_mode\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 1\n milliseconds: 0\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.winter_mode\n data: {}\n - conditions:\n - condition: trigger\n id:\n - 'On'\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.downstairs_heating_on\n - input_boolean.upstairs_heating_on\n - input_boolean.cloakroom_heating_on\n - input_boolean.master_bedroom_heating_on\n - input_boolean.en_suite_heating_on\n - input_boolean.office_heating_on\n - input_boolean.boys_rooms_heating_on\n - input_boolean.master_bedroom_heating_on\n data: {}\n - conditions:\n - condition: trigger\n id:\n - 'Off'\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.downstairs_heating_on\n - input_boolean.upstairs_heating_on\n - input_boolean.cloakroom_heating_on\n - input_boolean.master_bedroom_heating_on\n - input_boolean.en_suite_heating_on\n - input_boolean.office_heating_on\n - input_boolean.boys_rooms_heating_on\n - input_boolean.master_bedroom_heating_on\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Downstairs Target Temp\n - condition: template\n value_template: '{{ trigger.to_state.context.id != none }}'\n - condition: template\n value_template: '{{ trigger.to_state.context.parent_id != none }}'\n - condition: template\n value_template: '{{ trigger.to_state.context.user_id == none }}'\n sequence:\n - action: script.text_notify_dave\n data:\n message: target temp changed by automation\n title: DOWNSTAIRS HEATING\n - conditions:\n - condition: trigger\n id:\n - Downstairs Target Temp\n - condition: template\n value_template: '{{ trigger.to_state.context.id != none }}'\n - condition: template\n value_template: '{{ trigger.to_state.context.parent_id == none }}'\n - condition: template\n value_template: '{{ trigger.to_state.context.user_id != none }}'\n sequence:\n - action: script.text_notify_dave\n data:\n message: target temp changed by dashboard\n title: DOWNSTAIRS HEATING\n mode: parallel\n max: 10",
"config": [
{
"name": "downstairs climate",
"room": "downstairs",
"type": "climate",
"id": {
"entity_id": "climate.downstairs",
"device_id": "84daad158322931a2b14ee69a6a9c8f5"
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "day of week sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.day_of_week",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "winter mode input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.winter_mode",
"device_id": null
}
},
{
"name": "heating comfort temperature office input number",
"room": "office",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_office",
"device_id": null
}
},
{
"name": "office heating on input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.office_heating_on",
"device_id": null
}
},
{
"name": "scene office heating before scene",
"room": "office",
"type": "scene",
"id": {
"entity_id": "scene.office_heating_before",
"device_id": null
}
},
{
"name": "scene house heating before scene",
"room": "hallway",
"type": "scene",
"id": {
"entity_id": "scene.house_heating_before",
"device_id": null
}
},
{
"name": "downstairs heating on input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.downstairs_heating_on",
"device_id": null
}
},
{
"name": "upstairs heating on input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.upstairs_heating_on",
"device_id": null
}
},
{
"name": "cloakroom heating on input boolean",
"room": "cloakroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.cloakroom_heating_on",
"device_id": null
}
},
{
"name": "boys rooms heating on input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.boys_rooms_heating_on",
"device_id": null
}
},
{
"name": "en suite heating on input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.en_suite_heating_on",
"device_id": null
}
},
{
"name": "master bedroom heating on input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.master_bedroom_heating_on",
"device_id": null
}
},
{
"name": "heating comfort temperature input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature",
"device_id": null
}
},
{
"name": "heating comfort temperature boys rooms input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_boys_rooms",
"device_id": null
}
},
{
"name": "heating comfort temperature cloakroom input number",
"room": "cloakroom",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_cloakroom",
"device_id": null
}
},
{
"name": "heating comfort temperature downstairs input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_downstairs",
"device_id": null
}
},
{
"name": "heating comfort temperature master bedroom input number",
"room": "bedroom",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_master_bedroom",
"device_id": null
}
},
{
"name": "heating comfort temperature upstairs input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_upstairs",
"device_id": null
}
},
{
"name": "heating comfort temperature en suite input number",
"room": "bathroom",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_comfort_temperature_en_suite",
"device_id": null
}
},
{
"name": "heating eco temperature input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_eco_temperature",
"device_id": null
}
},
{
"name": "heating minimum temperature input number",
"room": "hallway",
"type": "input_number",
"id": {
"entity_id": "input_number.heating_minimum_temperature",
"device_id": null
}
}
]
},
{
"id": "Home Announcements",
"automation": "- alias: Home Announcements\n description: ''\n trigger:\n - platform: time\n at: input_datetime.school_night\n alias: School Night bedtime for the boys\n id: School Night Bedtime Boys\n - platform: time\n at: input_datetime.non_school_night\n alias: Non-School Night bedtime for boys\n id: Non School Bedtime\n - platform: time\n at: input_datetime.school_pick_up_time_mon_to_thurs\n id: School pick up\n alias: School Pick Up Time\n - platform: time\n at: input_datetime.school_pick_up_time_friday\n id: Friday School Pick Up Time\n alias: 'School Pick Up - Friday '\n - platform: time\n at: input_datetime.get_ready_for_school_at\n id: Get ready for school\n alias: Get ready for school\n - platform: state\n entity_id:\n - binary_sensor.office_hours\n from: 'off'\n to: 'on'\n id: Office in use\n - platform: state\n entity_id:\n - binary_sensor.office_hours\n from: 'on'\n to: 'off'\n id: Office not in use\n - platform: state\n entity_id:\n - sensor.last_alexa_called\n id: Last Alexa Called\n - platform: state\n entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Kitchen Motion\n - platform: time\n at: 09:15:00\n id: Time for morning briefing\n - platform: state\n entity_id:\n - binary_sensor.gems_samsung_galaxy_home\n from: 'on'\n to: 'off'\n id: Gem out of office\n - platform: state\n entity_id:\n - binary_sensor.gems_samsung_galaxy_home\n from: 'off'\n to: 'on'\n id: Gem in office\n condition:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: School Night Bedtime Boys\n - condition: state\n entity_id: binary_sensor.schoolnight\n state: 'on'\n alias: Confirm School Night\n - condition: state\n entity_id: calendar.school_holidays\n state: 'off'\n sequence:\n - service: script.set_announcements_volume\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ ['Sean and Jamie. Its time for bed. Upstairs and brush yourteeth', \\n 'Boys, its\\\n \\ time for you to visit the land of nod. Upstairs\\\n \\ please and brush your teeth', \\n 'Sean and\\\n \\ Jamie. The time has come to say goodnight. To say sleep tight till the\\\n \\ morning light. The time has come to say goodnight. At the end of a lovely\\\n \\ day', \\n 'Boys. Thats the end of another day\\\n \\ for you both. Please make your way upstairs to bed. and dont forget to brush your teeth.',\\n 'Sean and\\\n \\ Jamie. If you are still downstairs then you\\\n \\ are in the wrong place. Upstairs and brush your teeth. It is time to go to bed.' \\n ]|random }}\"\n - service: script.1693070811673\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.kids_bedtime_announcement_played\n - conditions:\n - condition: trigger\n id: Non School Bedtime\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolnight\n state: 'off'\n - condition: state\n entity_id: calendar.school_holidays\n state: 'on'\n alias: Confirm School Holiday is on\n sequence:\n - service: script.set_announcements_volume\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ [''Excuse me master Sean and master Jamie. It is time for bed.\n Please make your way upstairs to the bathroom and brush your teeth'',''Excuse\n me master Sean and master Jamie. The time has come to say goodnight. To\n say sleep tight till the morning light. The time has come to say goodnight\n at the end of a lovely day'',''Excuse me master Sean and master Jamie.\n If you are still downstairs then you are in the\n wrong place. Please make your way upstairs to the bathroom to\n brush your teeth for bed'',''Excuse me boys, but that appears to be the\n end of another day for you both. Please head to the bathroom and brush\n your teeth before bed'' ]|random }}'\n - service: script.1693070811673\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.kids_bedtime_announcement_played\n - conditions:\n - condition: trigger\n id: Get ready for school\n - condition: and\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n alias: Schoolday or Friday Schoolday on\n - condition: state\n entity_id: calendar.school_holidays\n state: 'off'\n alias: Confirm School Holiday is off\n sequence:\n - service: script.set_announcements_volume\n data:\n where: Living Room\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n alias: 2 seconds later.\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: Living Room\n message: \"{{ ['Attention master Sean and master\\\n \\ Jamie. Its time to get dressed. You first, master Sean', \\\n \\ \\n 'Attention master Sean and\\\n \\ master Jamie. Its time to get dressed. You first, master Jamie',\\\n \\ \\n ]|random }}\"\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n alias: 10 minutes later.\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: Living Room\n message: \"{{ [ 'Attention master Sean and master\\\n \\ Jamie. Its time to go upstairs and brush your teeth. No pushing\\\n \\ and no running, remember its not a race',\\\n \\ \\n 'Excuse me master Sean and master Jamie. Its time\\\n \\ to brush your teeth. Please go upstairs in an orderly fashion and no pushing or running', \\n ]|random\\\n \\ }}\"\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n alias: 10s later\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.living_room_tv\n enabled: true\n - service: media_player.turn_off\n data: {}\n target:\n entity_id: media_player.sky_q_main\n enabled: true\n - if:\n - condition: state\n entity_id: light.dreamview_g1_pro\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n alias: 10 minutes later.\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ [ 'Attention master Sean and master\\\n \\ Jamie. If you are still here, you are late for school', \\\n \\ \\n 'Excuse my interruption Mummy and daddy. If master Sean\\\n \\ and master Jamie have not left for school yet, why not', \\n 'Come on folks.\\\n \\ Get your skates on and get out the door. School will not wait for you'\\n\\\n \\ ]|random }}\"\n - service: script.1693070811673\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_morning_announcement_played\n - conditions:\n - condition: trigger\n id: School pick up\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n alias: Check it's a school day\n - condition: state\n entity_id: calendar.school_holidays\n state: 'off'\n alias: Confirm School Holiday is off\n sequence:\n - service: script.set_announcements_volume\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ [ 'Information. It is almost\\\n \\ time for the school pickup. Please prepare to pick up master Sean and\\\n \\ master Jamie', \\n 'Pardon my\\\n \\ interruption Mummy. I know you are in the middle of something, but it\\\n \\ is almost time to pick up the boys from school',\\n 'Attention. This is an urgent announcement for Mummy.\\\n \\ Its time to clock out and get the boys from School. Chop chop!',\\n 'Breaking\\\n \\ news! I have received a message from the school pick up fairies\\\n \\ telling me they are on strike. I guess that means you will have to go\\\n \\ and pick up the boys.'\\n ]|random }}\"\n - service: script.1693070811673\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_pick_up_announcement_played\n - conditions:\n - condition: trigger\n id: Friday School Pick Up Time\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n alias: Confirm it's a Friday School Day\n - condition: state\n entity_id: calendar.school_holidays\n state: 'off'\n alias: Confirm School Holiday is off\n sequence:\n - service: script.set_announcements_volume\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ [ 'Information. It is almost\\\n \\ time for the schools out pickup. Please prepare to pick up master Sean\\\n \\ and master Jamie', \\n 'Pardon\\\n \\ my interruption Mummy. I know you are in the middle of something, but\\\n \\ it is almost time to pick up the boys from schools out',\\n\\\n \\ 'Attention. This is an urgent announcement\\\n \\ for Mummy. Its time to clock out and get the boys from Schools\\\n \\ out. Chop, chop!',\\n 'Breaking news! I have received a message from\\\n \\ the schools out pick up fairies telling me they are on strike. I guess\\\n \\ that means you will have to go and pick up the boys.'\\n ]|random }}\"\n - service: script.1693070811673\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_pick_up_announcement_played\n - conditions:\n - condition: trigger\n id: Office in use\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: calendar.gem_holidays\n state: 'off'\n - condition: state\n entity_id: person.gem_forrester\n state: home\n sequence:\n - type: turn_off\n device_id: 0e85bd2f5080762ed21a6dfeb306afe9\n entity_id: switch.office_echo_pop_socket_1\n domain: switch\n - conditions:\n - condition: trigger\n id: Office not in use\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: calendar.gem_holidays\n state: 'off'\n - condition: state\n entity_id: switch.office_echo_pop_socket_1\n state: 'off'\n sequence:\n - type: turn_on\n device_id: 0e85bd2f5080762ed21a6dfeb306afe9\n entity_id: switch.office_echo_pop_socket_1\n domain: switch\n - conditions:\n - condition: trigger\n id:\n - Kitchen Motion\n - condition: time\n after: 09:15:00\n before: '10:30:00'\n - condition: state\n entity_id: input_boolean.morning_briefing_played\n state: 'off'\n sequence:\n - service: script.alexa_morning_briefing\n data: {}\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.morning_briefing_played\n - conditions:\n - condition: trigger\n id:\n - Last Alexa Called\n sequence:\n - service: input_datetime.set_datetime\n data:\n datetime: '{{ states.sensor.last_alexa_called.last_changed | as_timestamp |\n timestamp_custom(''%Y-%m-%d %H:%M:%S.%f'')}}'\n target:\n entity_id: input_datetime.last_time_alexa_called\n - conditions:\n - condition: trigger\n id:\n - Time for morning briefing\n - condition: state\n entity_id: input_boolean.morning_briefing_played\n state: 'off'\n - condition: state\n entity_id: input_boolean.room_occupied_kitchen\n state: 'on'\n sequence:\n - service: script.alexa_morning_briefing\n data: {}\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.morning_briefing_played\n - conditions:\n - condition: trigger\n id:\n - Gem out of office\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: switch.office_echo_pop_socket_1\n state: 'off'\n sequence:\n - type: turn_on\n device_id: 0e85bd2f5080762ed21a6dfeb306afe9\n entity_id: c87e83074cbfccb86ac70e0749a1f23f\n domain: switch\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.gem_gone_out_to_office\n - conditions:\n - condition: trigger\n id:\n - Gem in office\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: switch.office_echo_pop_socket_1\n state: 'on'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.gem_gone_out_to_office\n - type: turn_off\n device_id: 0e85bd2f5080762ed21a6dfeb306afe9\n entity_id: c87e83074cbfccb86ac70e0749a1f23f\n domain: switch\n mode: queued\n max: 10",
"config": [
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "person gem forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.gem_forrester",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "room audio sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.room_audio",
"device_id": null
}
},
{
"name": "last time alexa called input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.last_time_alexa_called",
"device_id": null
}
},
{
"name": "kids bedtime announcement played input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kids_bedtime_announcement_played",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "school pick up announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_pick_up_announcement_played",
"device_id": null
}
},
{
"name": "morning briefing played input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.morning_briefing_played",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "non school night input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.non_school_night",
"device_id": null
}
},
{
"name": "workday sensor binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.workday_sensor",
"device_id": null
}
},
{
"name": "gem holidays calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.gem_holidays",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "get ready for school at input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.get_ready_for_school_at",
"device_id": null
}
},
{
"name": "media player sky q main",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sky_q_main",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "school night input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_night",
"device_id": null
}
},
{
"name": "school pick up time mon to thurs input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_pick_up_time_mon_to_thurs",
"device_id": null
}
},
{
"name": "school pick up time friday input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_pick_up_time_friday",
"device_id": null
}
},
{
"name": "office hours binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_hours",
"device_id": null
}
},
{
"name": "last alexa called sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.last_alexa_called",
"device_id": null
}
},
{
"name": "gem's samsung galaxy home binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gems_samsung_galaxy_home",
"device_id": null
}
},
{
"name": "set announcements volume script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.set_announcements_volume",
"device_id": null
}
},
{
"name": "speech engine for tts script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine_for_tts",
"device_id": null
}
},
{
"name": "script 1693070811673",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.1693070811673",
"device_id": null
}
},
{
"name": "calendar school holidays calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_holidays",
"device_id": null
}
},
{
"name": "office echo pop socket 1 switch",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.office_echo_pop_socket_1",
"device_id": "0e85bd2f5080762ed21a6dfeb306afe9"
}
},
{
"name": "alexa morning briefing script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.alexa_morning_briefing",
"device_id": null
}
},
{
"name": "gem gone out to office input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.gem_gone_out_to_office",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine",
"device_id": null
}
},
{
"name": "speech engine for tts script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine_for_tts",
"device_id": null
}
},
{
"name": "Schoolnight",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolnight",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "c87e83074cbfccb86ac70e0749a1f23f",
"device_id": null
}
},
{
"name": "Device c87e83074cbfccb86ac70e0749a1f23f",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "c87e83074cbfccb86ac70e0749a1f23f"
}
}
]
},
{
"id": "Home Battery Overnight Charge Type",
"automation": "- alias: Home Battery Overnight Charge Type\n description: 'Determines how long to charge the home battery overnight '\n triggers:\n - at: '21:05:00'\n id: Set\n trigger: time\n - at: 07:00:00\n id: Reset\n trigger: time\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Set\n sequence:\n - action: script.text_notify_dave\n data:\n title: HOME BATTERY CHARGE TYPE\n message: '{{states(''sensor.solar_battery_charge_overnight_logic'')}}'\n - action: script.jarvis_speech_engine\n data:\n where: dave\n type: notification\n message: 'For your information! The home battery will receive {{states(''sensor.solar_battery_charge_overnight_logic'')}}\n tonight.\n\n '\n - if:\n - condition: template\n value_template: '{{ is_state(''sensor.solar_battery_charge_overnight_logic'',''a\n full charge'') }}'\n then:\n - action: input_number.set_value\n target:\n entity_id: input_number.home_battery_charge_length\n data:\n value: 3\n else:\n - if:\n - condition: template\n value_template: '{{ is_state(''sensor.solar_battery_charge_overnight_logic'',''a\n one thirty charge'') }}'\n then:\n - action: input_number.set_value\n target:\n entity_id: input_number.home_battery_charge_length\n data:\n value: 1.5\n else:\n - if:\n - condition: template\n value_template: '{{ is_state(''sensor.solar_battery_charge_overnight_logic'',''a\n one hour charge'') }}'\n then:\n - action: input_number.set_value\n target:\n entity_id: input_number.home_battery_charge_length\n data:\n value: 1\n else:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.grid_charge_home_battery\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Reset\n sequence:\n - action: input_number.set_value\n target:\n entity_id: input_number.home_battery_charge_length\n data:\n value: 3",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "grid charge home battery input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.grid_charge_home_battery",
"device_id": null
}
},
{
"name": "solar battery charge overnight logic sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solar_battery_charge_overnight_logic",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "home battery charge length input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.home_battery_charge_length",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Home Battery Watch",
"automation": "- alias: Home Battery Watch\n description: Notify me if there is a problem with the home battery\n triggers:\n - entity_id:\n - sensor.solaredge_b1_status\n to: B_STATUS_IDLE\n id: Home Battery Idle\n for:\n hours: 0\n minutes: 2\n seconds: 0\n trigger: state\n - entity_id:\n - sensor.solaredge_b1_status\n to: unavailable\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Home Battery Unavailable\n trigger: state\n - entity_id:\n - sensor.solaredge_b1_status\n to: unknown\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Home Battery Unknown\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Home Battery Idle\n - condition: sun\n after: sunset\n sequence:\n - action: script.text_notify_dave\n data:\n message: The Home Battery is idle\n title: HOME BATTERY\n alias: Send a notification to Dave\n - conditions:\n - condition: or\n conditions:\n - condition: trigger\n id: Home Battery Unavailable\n - condition: trigger\n id: Home Battery Unknown\n sequence:\n - action: script.text_notify_dave\n data:\n message: There is a problem with the Home Battery\n title: HOME BATTERY\n alias: Send a notification to Dave\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.announcement_playing\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: There is a problem with the home battery. Can you please investigate\n immediately.\n - delay:\n hours: 0\n minutes: 0\n seconds: 5\n milliseconds: 0\n - action: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.announcement_playing\n data: {}\n mode: single",
"config": [
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "solaredge b1 status sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solaredge_b1_status",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Hot Water, solar and gas",
"automation": "- alias: Hot Water, solar and gas\n description: Turn on the immersion heater when the battery is full and solar export\n is high. Check later in the day and, if needed, heat water with gas.\n triggers:\n - entity_id:\n - sensor.electricity_bill_today\n below: 0\n id: Activate\n trigger: numeric_state\n enabled: true\n - entity_id:\n - sensor.power_grid_export\n above: 2800\n id: Switch On\n for:\n hours: 0\n minutes: 0\n seconds: 20\n trigger: numeric_state\n - entity_id:\n - sensor.power_battery_load\n above: 500\n id: Switch Off\n for:\n hours: 0\n minutes: 0\n seconds: 20\n trigger: numeric_state\n - entity_id:\n - sensor.hot_water_energy_consumption_daily\n above: 6\n id: 6kWh Energy Used\n trigger: numeric_state\n - at: '16:00:00'\n id: Deactivate\n trigger: time\n - alias: Valkyrie off with Timer\n event_type: timer.finished\n event_data:\n entity_id: timer.solar_hot_water_heating\n id: Timer Done\n enabled: true\n trigger: event\n - at: '17:30:00'\n id: Time On\n trigger: time\n - at: '21:00:00'\n id: Last Check\n trigger: time\n - trigger: numeric_state\n entity_id:\n - sensor.battery_state_of_charge\n above: 99\n id: Battery Charged\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate\n - condition: sun\n after: sunrise\n before: sunset\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_valkyrie_on\n data: {}\n - condition: numeric_state\n entity_id: sensor.power_grid_export\n above: 2500\n - action: light.turn_on\n target:\n entity_id: light.valkyrie_solar_hot_water\n data: {}\n - action: timer.start\n data: {}\n target:\n entity_id:\n - timer.solar_hot_water_heating\n alias: Activate solar water when electricity bill for the day hits zero\n - conditions:\n - condition: trigger\n id:\n - Switch On\n - condition: sun\n after: sunrise\n before: sunset\n - condition: state\n entity_id: input_boolean.allow_valkyrie_on\n state: 'on'\n - condition: state\n entity_id: light.valkyrie_solar_hot_water\n state: 'off'\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.valkyrie_solar_hot_water\n data: {}\n - action: timer.start\n data: {}\n target:\n entity_id:\n - timer.solar_hot_water_heating\n - conditions:\n - condition: trigger\n id: Switch Off\n - condition: state\n entity_id: light.valkyrie_solar_hot_water\n state: 'on'\n sequence:\n - action: light.turn_off\n target:\n entity_id: light.valkyrie_solar_hot_water\n data: {}\n - action: timer.pause\n data: {}\n target:\n entity_id:\n - timer.solar_hot_water_heating\n - conditions:\n - condition: trigger\n id:\n - Deactivate\n - Timer Done\n - 6kWh Energy Used\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.allow_valkyrie_on\n data: {}\n - if:\n - condition: template\n value_template: '{{ states(''light.valkyrie_solar_hot_water'') != ''unavailable''\n }}'\n alias: If Valkyrie is not unavailable\n - condition: state\n entity_id: light.valkyrie_solar_hot_water\n state: 'on'\n then:\n - action: light.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: light.valkyrie_solar_hot_water\n - action: timer.cancel\n metadata: {}\n data: {}\n target:\n entity_id: timer.solar_hot_water_heating\n alias: If Valkyrie is available and on, turn it off, else wait until it becomes\n available then turn it off.\n - wait_for_trigger:\n - trigger: template\n value_template: '{{ is_state(''light.valkyrie_solar_hot_water'',''on'')\n }}'\n timeout:\n hours: 0\n minutes: 30\n seconds: 0\n milliseconds: 0\n - action: light.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: light.valkyrie_solar_hot_water\n - action: timer.cancel\n metadata: {}\n data: {}\n target:\n entity_id: timer.solar_hot_water_heating\n - conditions:\n - condition: trigger\n id:\n - Time On\n - condition: numeric_state\n entity_id: sensor.hot_water_energy_consumption_daily\n below: 2.5\n sequence:\n - action: tado.set_water_heater_timer\n target:\n entity_id: water_heater.hot_water\n data:\n time_period: 00:30:00\n - conditions:\n - condition: trigger\n id:\n - Last Check\n - condition: numeric_state\n entity_id: sensor.hot_water_energy_consumption_daily\n below: 2.5\n sequence:\n - action: tado.set_water_heater_timer\n target:\n entity_id: water_heater.hot_water\n data:\n time_period: 00:30:00\n - conditions:\n - condition: trigger\n id:\n - Battery Charged\n - condition: template\n value_template: '{{ states(''sensor.rolec_energy_consumption_daily'')| float(0)\n > 5 }}'\n alias: If the car was charged overnight\n - condition: sun\n after: sunrise\n before: sunset\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_valkyrie_on\n data: {}\n - condition: numeric_state\n entity_id: sensor.power_grid_export\n above: 2500\n - action: light.turn_on\n target:\n entity_id: light.valkyrie_solar_hot_water\n data: {}\n - action: timer.start\n data: {}\n target:\n entity_id:\n - timer.solar_hot_water_heating\n alias: Activate solar water when the battery is charged if the EV has also been\n charged overnight\n mode: single",
"config": [
{
"name": "electricity bill today sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.electricity_bill_today",
"device_id": null
}
},
{
"name": "power grid export sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.power_grid_export",
"device_id": null
}
},
{
"name": "power battery load sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.power_battery_load",
"device_id": null
}
},
{
"name": "hot water energy consumption daily sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.hot_water_energy_consumption_daily",
"device_id": null
}
},
{
"name": "timer solar hot water heating timer",
"room": "kitchen",
"type": "timer",
"id": {
"entity_id": "timer.solar_hot_water_heating",
"device_id": null
}
},
{
"name": "battery state of charge sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.battery_state_of_charge",
"device_id": null
}
},
{
"name": "allow valkyrie on input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_valkyrie_on",
"device_id": null
}
},
{
"name": "valkyrie solar hot water light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.valkyrie_solar_hot_water",
"device_id": null
}
},
{
"name": "water heater hot water",
"room": "kitchen",
"type": "water_heater",
"id": {
"entity_id": "water_heater.hot_water",
"device_id": null
}
},
{
"name": "rolec energy consumption daily sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.rolec_energy_consumption_daily",
"device_id": null
}
}
]
},
{
"id": "Intermittent Grid Charge Battery.",
"automation": "- alias: Intermittent Grid Charge Battery.\n description: ''\n trigger:\n - platform: time\n id: Activate Grid Charge\n at: '21:00:00'\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_intermittent_best_rates_3_hours_overnight\n from: 'off'\n to: 'on'\n id: Start Grid Charge\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_intermittent_best_rates_3_hours_overnight\n from: 'on'\n to: 'off'\n id: Stop Grid Charge\n - alias: End Charge With Timer\n platform: event\n event_type:\n - timer.finished\n - timer.cancelled\n event_data:\n entity_id: timer.home_battery_3_hour_charge_period\n id: End Grid Charge\n enabled: true\n - platform: state\n entity_id:\n - binary_sensor.morning\n from: 'off'\n to: 'on'\n id: Reset Timer\n alias: Reset Timer when Morning turns on\n enabled: true\n - platform: state\n entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_best_half_hour_for_pre_peak_topuo\n from: 'off'\n to: 'on'\n id: Topup\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_best_half_hour_for_pre_peak_topuo\n from: 'on'\n to: 'off'\n id: Topdown\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate Grid Charge\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.grid_charge_home_battery\n device_id: []\n area_id: []\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Start Grid Charge\n - condition: state\n entity_id: input_boolean.grid_charge_home_battery\n state: 'on'\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.home_battery_grid_charging\n - action: script.grid_charge_battery\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Stop Grid Charge\n sequence:\n - action: script.turn_off\n data: {}\n target:\n entity_id: script.grid_charge_battery\n - action: select.select_option\n target:\n entity_id: select.solaredge_i1_storage_command_mode\n data:\n option: Maximize Self Consumption\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.home_battery_grid_charging\n - action: timer.pause\n data: {}\n target:\n entity_id: timer.home_battery_3_hour_charge_period\n - conditions:\n - condition: trigger\n id:\n - End Grid Charge\n sequence:\n - action: script.turn_off\n data: {}\n target:\n entity_id: script.grid_charge_battery\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.home_battery_grid_charging\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.grid_charge_home_battery\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - action: select.select_option\n target:\n entity_id: select.solaredge_i1_storage_command_mode\n data:\n option: Maximize Self Consumption\n - conditions:\n - condition: trigger\n id:\n - Reset Timer\n sequence:\n - delay:\n hours: 0\n minutes: 33\n seconds: 0\n milliseconds: 0\n - action: timer.cancel\n data: {}\n target:\n entity_id: timer.home_battery_3_hour_charge_period\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: state\n entity_id: input_boolean.grid_charge_home_battery\n state: 'on'\n - condition: state\n entity_id: binary_sensor.octopus_energy_target_intermittent_best_rates_3_hours_overnight\n state: 'on'\n sequence:\n - action: script.grid_charge_battery\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Topup\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.solar_battery_daytime_topup_needed\n state: 'true'\n - condition: numeric_state\n entity_id: sensor.battery_state_of_charge\n below: 50\n sequence:\n - action: script.battery_pre_peak_top_up\n metadata: {}\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Topdown\n - condition: state\n entity_id: input_boolean.home_battery_grid_charging\n state: 'on'\n sequence:\n - action: script.battery_pre_peak_top_down\n metadata: {}\n data: {}\n mode: parallel\n max: 10",
"config": [
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "home battery grid charging input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.home_battery_grid_charging",
"device_id": null
}
},
{
"name": "solaredge i1 storage command mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_command_mode",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "grid charge home battery input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.grid_charge_home_battery",
"device_id": null
}
},
{
"name": "grid charge battery script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.grid_charge_battery",
"device_id": null
}
},
{
"name": "turn off script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.turn_off",
"device_id": null
}
},
{
"name": "battery state of charge sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.battery_state_of_charge",
"device_id": null
}
},
{
"name": "octopus energy target intermittent best rates 3 hours overnight binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_target_intermittent_best_rates_3_hours_overnight",
"device_id": null
}
},
{
"name": "timer home battery 3 hour charge period timer",
"room": "garage",
"type": "timer",
"id": {
"entity_id": "timer.home_battery_3_hour_charge_period",
"device_id": null
}
},
{
"name": "octopus energy target best half hour for pre peak topuo binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_target_best_half_hour_for_pre_peak_topuo",
"device_id": null
}
},
{
"name": "solar battery daytime topup needed sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solar_battery_daytime_topup_needed",
"device_id": null
}
},
{
"name": "battery pre peak top up script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.battery_pre_peak_top_up",
"device_id": null
}
},
{
"name": "battery pre peak top down script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.battery_pre_peak_top_down",
"device_id": null
}
}
]
},
{
"id": "Its Christmas",
"automation": "- alias: Its Christmas\n description: Switches Govee lights to Christmas mode.\n triggers:\n - trigger: numeric_state\n entity_id:\n - sensor.day_of_year\n above: 334\n id: 'Christmas On '\n - trigger: numeric_state\n entity_id:\n - sensor.day_of_year\n above: 5\n id: Christmas Off\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - 'Christmas On '\n sequence:\n - action: automation.turn_off\n target:\n entity_id:\n - automation.test_govee_lighting\n data: {}\n - action: automation.turn_on\n target:\n entity_id: automation.all_govee_lighting_christmas\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Christmas Off\n sequence:\n - action: automation.turn_off\n target:\n entity_id: automation.all_govee_lighting_christmas\n data: {}\n - action: automation.turn_on\n target:\n entity_id:\n - automation.test_govee_lighting\n data: {}\n mode: single",
"config": [
{
"name": "test govee lighting automation",
"room": "living_room",
"type": "automation",
"id": {
"entity_id": "automation.test_govee_lighting",
"device_id": null
}
},
{
"name": "all govee lighting christmas automation",
"room": "living_room",
"type": "automation",
"id": {
"entity_id": "automation.all_govee_lighting_christmas",
"device_id": null
}
},
{
"name": "Day of Year",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.day_of_year",
"device_id": null
}
}
]
},
{
"id": "Jamie JARVIS VPE Restart if stuck responding.",
"automation": "- alias: Jamie JARVIS VPE Restart if stuck responding.\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_jamie_assist_satellite\n to: responding\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Restart\n conditions: []\n actions:\n - action: button.press\n target:\n entity_id: button.home_assistant_voice_0963e5_restart\n data: {}\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_jamie_assist_satellite\n from: unavailable\n timeout:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n alias: Wait for JARVIS to restart.\n - parallel:\n - action: script.text_notify_dave\n data:\n title: JAMIE VPE\n message: I have restarted.\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'on'\n then:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_jamie_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_low'') | float(0)}}'\n else:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_jamie_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_announcement'')\n | float(0)}}'\n alias: Set volume based on time of day.\n alias: Notify Dave and set volume.\n mode: single",
"config": [
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "assist satellite jarvis jamie assist satellite",
"room": "jamies_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_jamie_assist_satellite",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "home assistant voice 0963e5 restart button",
"room": "jamies_room",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_0963e5_restart",
"device_id": null
}
},
{
"name": "jarvis jamie media player media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
},
{
"name": "jarvis volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_low",
"device_id": null
}
},
{
"name": "jarvis volume level announcement input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_announcement",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "jarvis jamie media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
}
]
},
{
"id": "JARVIS Daily Restart",
"automation": "- alias: JARVIS Daily Restart\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.lunchtime\n from: 'off'\n to: 'on'\n conditions: []\n actions:\n - action: button.press\n target:\n entity_id: button.home_assistant_voice_09152e_restart\n data: {}\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_kitchen_assist_satellite\n from: unavailable\n to: idle\n - action: button.press\n data: {}\n target:\n entity_id: button.home_assistant_voice_09399c_restart\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_downstairs_assist_satellite\n from: unavailable\n to: idle\n - action: button.press\n data: {}\n target:\n entity_id: button.jarvis_office_restart\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_office_assist_satellite\n from: unavailable\n to: idle\n - action: button.press\n data: {}\n target:\n entity_id:\n - button.home_assistant_voice_0963e5_restart\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_jamie_assist_satellite\n from: unavailable\n to: idle\n - action: button.press\n data: {}\n target:\n entity_id: button.home_assistant_voice_095e21_restart\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_sean_assist_satellite\n from: unavailable\n to: idle\n - action: button.press\n data: {}\n target:\n entity_id: button.home_assistant_voice_09387b_restart\n mode: single",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "assist satellite jarvis jamie assist satellite",
"room": "jamies_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_jamie_assist_satellite",
"device_id": null
}
},
{
"name": "assist satellite jarvis sean assist satellite",
"room": "seans_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_sean_assist_satellite",
"device_id": null
}
},
{
"name": "home assistant voice 0963e5 restart button",
"room": "jamies_room",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_0963e5_restart",
"device_id": null
}
},
{
"name": "home assistant voice 09152e restart button",
"room": "kitchen",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_09152e_restart",
"device_id": null
}
},
{
"name": "assist satellite jarvis kitchen assist satellite",
"room": "kitchen",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_kitchen_assist_satellite",
"device_id": null
}
},
{
"name": "home assistant voice 09399c restart button",
"room": "living_room",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_09399c_restart",
"device_id": null
}
},
{
"name": "assist satellite jarvis downstairs assist satellite",
"room": "living_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_downstairs_assist_satellite",
"device_id": null
}
},
{
"name": "jarvis office restart button",
"room": "office",
"type": "button",
"id": {
"entity_id": "button.jarvis_office_restart",
"device_id": null
}
},
{
"name": "assist satellite jarvis office assist satellite",
"room": "office",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_office_assist_satellite",
"device_id": null
}
},
{
"name": "home assistant voice 095e21 restart button",
"room": "bedroom",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_095e21_restart",
"device_id": null
}
},
{
"name": "home assistant voice 09387b restart button",
"room": "seans_room",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_09387b_restart",
"device_id": null
}
}
]
},
{
"id": "Kids Bathroom Lights with presence",
"automation": "- alias: Kids Bathroom Lights with presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.jack_and_jill_presence_occupancy\n from: 'off'\n to: 'on'\n id: Light On\n trigger: state\n - entity_id:\n - binary_sensor.jack_and_jill_presence_occupancy\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Light Off\n trigger: state\n - at: '20:00:10'\n id: Dim on\n trigger: time\n - entity_id:\n - switch.jamie_bathroom_switch_left\n - switch.sean_bathroom_switch_right\n from: 'off'\n to: 'on'\n id: Lights to Max\n trigger: state\n - entity_id:\n - switch.jamie_bathroom_switch_left\n - switch.sean_bathroom_switch_right\n from: 'on'\n to: 'off'\n id: Lights to Presence\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Light On\n - condition: state\n entity_id: input_boolean.allow_kids_bathroom_lights_max\n state: 'off'\n - condition: time\n after: 07:00:00\n before: '20:00:00'\n - condition: numeric_state\n entity_id: sensor.jack_and_jill_presence_illuminance\n below: input_number.low_light_threshold\n sequence:\n - data:\n color_temp: 200\n brightness: 64\n target:\n entity_id: light.kids_bathroom_light\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Light On\n - condition: state\n entity_id: input_boolean.allow_kids_bathroom_lights_max\n state: 'off'\n - condition: time\n after: '20:00:00'\n before: 07:00:00\n - condition: numeric_state\n entity_id: sensor.jack_and_jill_presence_illuminance\n below: input_number.low_light_threshold\n sequence:\n - data:\n rgb_color:\n - 255\n - 248\n - 52\n brightness: 26\n target:\n entity_id: light.kids_bathroom_light\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Light Off\n - condition: state\n entity_id: light.kids_bathroom_light\n state: 'on'\n - condition: state\n entity_id: input_boolean.allow_kids_bathroom_lights_max\n state: 'off'\n sequence:\n - target:\n entity_id: light.kids_bathroom_light\n data: {}\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Dim on\n sequence:\n - data:\n rgb_color:\n - 255\n - 248\n - 52\n brightness: 26\n target:\n entity_id: light.kids_bathroom_light\n action: light.turn_on\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - condition: state\n entity_id: binary_sensor.kids_bathroom_occupied\n state: 'off'\n - target:\n entity_id: light.kids_bathroom_light\n data: {}\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Lights to Max\n sequence:\n - target:\n entity_id: input_boolean.allow_kids_bathroom_lights_max\n data: {}\n action: input_boolean.turn_on\n - target:\n entity_id: light.kids_bathroom_light\n data:\n brightness: 255\n color_temp: 154\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Lights to Presence\n sequence:\n - target:\n entity_id: input_boolean.allow_kids_bathroom_lights_max\n data: {}\n action: input_boolean.turn_off\n - target:\n entity_id: light.kids_bathroom_light\n data: {}\n action: light.turn_off\n mode: restart",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "jack and jill presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jack_and_jill_presence_occupancy",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "allow kids bathroom lights max input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_kids_bathroom_lights_max",
"device_id": null
}
},
{
"name": "kids bathroom light light",
"room": "bathroom",
"type": "light",
"id": {
"entity_id": "light.kids_bathroom_light",
"device_id": null
}
},
{
"name": "Kids Bathroom Occupied",
"room": "Kids Bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_occupied",
"device_id": null
}
},
{
"name": "Jamie Bathroom Switch Left",
"room": "Jamie's Bathroom",
"type": "switch",
"id": {
"entity_id": "switch.jamie_bathroom_switch_left",
"device_id": null
}
},
{
"name": "Sean Bathroom Switch Right",
"room": "Sean's Bathroom",
"type": "switch",
"id": {
"entity_id": "switch.sean_bathroom_switch_right",
"device_id": null
}
},
{
"name": "Jack and Jill Presence Illuminance",
"room": "Kids Bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.jack_and_jill_presence_illuminance",
"device_id": null
}
}
]
},
{
"id": "Kindle Tablet WiFi Check",
"automation": "- alias: Kindle Tablet WiFi Check\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - sensor.weather_display_battery_level_2\n id: Batt Level Cx\n - trigger: state\n entity_id:\n - sensor.kindle_tablet_battery_level\n id: Kindle Batt Level Cx\n - trigger: time_pattern\n minutes: /30\n id: Weather Display Periodic\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Batt Level Cx\n sequence:\n - action: input_datetime.set_datetime\n target:\n entity_id: input_datetime.weather_tablet_battery_last_updated\n data:\n datetime: '{{ now().isoformat() }}'\n - conditions:\n - condition: trigger\n id:\n - Kindle Batt Level Cx\n sequence:\n - action: input_datetime.set_datetime\n target:\n entity_id: input_datetime.office_tablet_battery_last_update\n data:\n datetime: '{{ now().isoformat() }}'\n - conditions:\n - condition: trigger\n id:\n - Weather Display Periodic\n sequence:\n - condition: template\n value_template: '{{ as_timestamp(now()) - as_timestamp(states(''input_datetime.weather_tablet_battery_last_updated''))\n > 3600 }}'\n - action: script.text_notify_dave\n data:\n title: ALERT!\n message: The Weather Tablet battery in the kitchen has not updated in over\n an hour. Check the Wi-Fi.\n - action: persistent_notification.create\n metadata: {}\n data:\n title: 'ALERT ⚠️ '\n message: 'The Weather Tablet battery in the kitchen has not updated in over\n an hour. Please check the WiFi. '\n - conditions:\n - condition: trigger\n id:\n - Weather Display Periodic\n sequence:\n - condition: template\n value_template: '{{ as_timestamp(now()) - as_timestamp(states(''input_datetime.office_tablet_battery_last_update''))\n > 3600 }}'\n - action: script.text_notify_dave\n data:\n title: ALERT!\n message: The Office Tablet battery in the kitchen has not updated in over\n an hour. Check the Wi-Fi.\n - action: persistent_notification.create\n metadata: {}\n data:\n title: 'ALERT ⚠️ '\n message: 'The Office Tablet battery has not updated in over an hour. Please\n check the WiFi. '\n mode: parallel\n max: 10",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "weather display battery level 2 sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.weather_display_battery_level_2",
"device_id": null
}
},
{
"name": "kindle tablet battery level sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.kindle_tablet_battery_level",
"device_id": null
}
},
{
"name": "weather tablet battery last updated input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.weather_tablet_battery_last_updated",
"device_id": null
}
},
{
"name": "office tablet battery last update input datetime",
"room": "office",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.office_tablet_battery_last_update",
"device_id": null
}
}
]
},
{
"id": "Kitchen Lights Needed",
"automation": "- alias: Kitchen Lights Needed\n description: Overrides kitchen lights with presence\n triggers:\n - entity_id:\n - switch.kitchen_light_switch_right\n id: Light needed\n from: 'off'\n to: 'on'\n trigger: state\n conditions:\n - condition: state\n entity_id: binary_sensor.kitchen_occupied\n state: 'on'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Light needed\n sequence:\n - target:\n entity_id: automation.kitchen_lights_with_presence_2\n data:\n stop_actions: true\n action: automation.turn_off\n - target:\n entity_id: light.kitchen_lights_2\n data:\n kelvin: 6500\n brightness_pct: 100\n action: light.turn_on\n - wait_for_trigger:\n - entity_id:\n - binary_sensor.kitchen_occupied\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 0\n trigger: state\n - entity_id:\n - switch.kitchen_light_switch_right\n id: Light not needed\n from: 'on'\n to: 'off'\n trigger: state\n timeout:\n hours: 1\n minutes: 0\n seconds: 0\n milliseconds: 0\n continue_on_timeout: false\n - target:\n entity_id: automation.kitchen_lights_with_presence_2\n data: {}\n action: automation.turn_on\n - target:\n entity_id: light.kitchen_lights_2\n data: {}\n action: light.turn_off\n mode: restart",
"config": [
{
"name": "kitchen lights 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_lights_2",
"device_id": null
}
},
{
"name": "kitchen light switch right switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.kitchen_light_switch_right",
"device_id": null
}
},
{
"name": "kitchen lights with presence 2 automation",
"room": "kitchen",
"type": "automation",
"id": {
"entity_id": "automation.kitchen_lights_with_presence_2",
"device_id": null
}
},
{
"name": "Kitchen Occupied",
"room": "Kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_occupied",
"device_id": null
}
}
]
},
{
"id": "Kitchen Lights with Presence",
"automation": "- alias: Kitchen Lights with Presence\n description: ''\n mode: parallel\n trace:\n stored_traces: 20\n triggers:\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Lights On\n trigger: state\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'on'\n to: 'off'\n id: Lights Off\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'off'\n to: 'on'\n id: BDZ On\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 30\n id: BDZ Off\n trigger: state\n - entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n for:\n hours: 0\n minutes: 0\n seconds: 20\n trigger: numeric_state\n - entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n id: Good Light\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: numeric_state\n - entity_id:\n - binary_sensor.lights_out\n to: 'off'\n id: Allow Lights on\n trigger: state\n - entity_id: binary_sensor.day\n from: 'on'\n to: 'off'\n id: sunset\n trigger: state\n - entity_id:\n - sensor.dave_location\n - sensor.gem_location\n from: Kitchen\n id: Not in Kitchen\n trigger: state\n - entity_id:\n - switch.adaptive_lighting_sleep_mode_kitchen_lights\n from: 'off'\n to: 'on'\n id: Dim lights\n for:\n hours: 0\n minutes: 0\n seconds: 10\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - sunset\n sequence:\n - action: switch.turn_on\n data: {}\n target:\n entity_id: switch.under_shelf_lights_local\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - BDZ On\n - condition: or\n conditions:\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: and\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.season\n state: autumn\n - condition: state\n entity_id: sensor.season\n state: winter\n - condition: time\n after: '17:35:00'\n before: '21:00:00'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.back_door_zone_light\n - conditions:\n - condition: trigger\n id:\n - BDZ Off\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.back_door_zone_light\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'off'\n - condition: state\n entity_id: binary_sensor.kitchen_presence_sensor_presence_sensor_1\n state: 'on'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Good Light\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Allow Lights on\n - condition: state\n entity_id: input_boolean.room_occupied_kitchen\n state: 'on'\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Dim lights\n sequence:\n - action: light.turn_on\n target:\n entity_id: light.kitchen_lights_2\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - condition: state\n entity_id: binary_sensor.kitchen_occupied\n state: 'off'\n - action: light.turn_off\n target:\n entity_id: light.kitchen_lights_2\n data: {}",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "day binary sensor",
"room": "outside",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.day",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "under shelf lights local switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.under_shelf_lights_local",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 3 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3",
"device_id": null
}
},
{
"name": "back door zone light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_zone_light",
"device_id": null
}
},
{
"name": "kitchen lights 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_lights_2",
"device_id": null
}
},
{
"name": "kitchen presence sensor light sensor light level sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.kitchen_presence_sensor_light_sensor_light_level",
"device_id": null
}
},
{
"name": "season sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.season",
"device_id": null
}
},
{
"name": "switch adaptive lighting sleep mode kitchen lights switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.adaptive_lighting_sleep_mode_kitchen_lights",
"device_id": null
}
},
{
"name": "dave location sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.dave_location",
"device_id": null
}
},
{
"name": "gem location sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.gem_location",
"device_id": null
}
},
{
"name": "Kitchen Occupied",
"room": "Kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_occupied",
"device_id": null
}
}
]
},
{
"id": "Kitchen Presence",
"automation": "- alias: Kitchen Presence\n description: ''\n mode: parallel\n max: 10\n triggers:\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Kitchen Presence\n trigger: state\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_2\n from: 'off'\n to: 'on'\n id: Table Presence\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'off'\n to: 'on'\n id: Back Door Presence\n trigger: state\n - entity_id:\n - sensor.utility_room_motion\n from: Clear\n to: Detected\n id: Utility Presence\n trigger: state\n - entity_id: binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_5\n from: 'off'\n to: 'on'\n id: Sink Presence\n trigger: state\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'on'\n to: 'off'\n id: Kitchen Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_2\n from: 'on'\n to: 'off'\n id: Table Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3\n from: 'on'\n to: 'off'\n id: Back Door Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - sensor.utility_room_motion\n from: Detected\n to: Clear\n id: Utility Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id: binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_5\n from: 'on'\n to: 'off'\n id: Sink Absence\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - media_player.kitchen_echo_show\n attribute: last_called\n to: 'true'\n id: Alexa\n trigger: state\n - entity_id:\n - switch.ingrid\n from: 'off'\n to: 'on'\n id: TV\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Kitchen Presence\n - Alexa\n - TV\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: kitchen\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_kitchen\n - conditions:\n - condition: trigger\n id:\n - Kitchen Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id:\n - input_boolean.room_occupied_kitchen\n - conditions:\n - condition: trigger\n id:\n - Table Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: kitchen_table\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.kitchen_table_occupied\n - conditions:\n - condition: trigger\n id:\n - Table Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.kitchen_table_occupied\n - conditions:\n - condition: trigger\n id:\n - Back Door Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: back_door_zone\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.back_door_zone_occupied\n - conditions:\n - condition: trigger\n id:\n - Back Door Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.back_door_zone_occupied\n - conditions:\n - condition: trigger\n id:\n - Sink Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: kitchen_sink\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.kitchen_sink_occupied\n - conditions:\n - condition: trigger\n id:\n - Sink Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.kitchen_sink_occupied\n - conditions:\n - condition: trigger\n id:\n - Utility Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: utility_room\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.utility_room_occupied\n - conditions:\n - condition: trigger\n id:\n - Utility Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.utility_room_occupied",
"config": [
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "room occupied kitchen input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_kitchen",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "kitchen presence sensor presence sensor 2 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_2",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 3 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_3",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "kitchen table occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kitchen_table_occupied",
"device_id": null
}
},
{
"name": "back door zone occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.back_door_zone_occupied",
"device_id": null
}
},
{
"name": "utility room occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.utility_room_occupied",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 5 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_5",
"device_id": null
}
},
{
"name": "utility room motion sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.utility_room_motion",
"device_id": null
}
},
{
"name": "Kitchen Sink Occupied",
"room": "Kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kitchen_sink_occupied",
"device_id": null
}
},
{
"name": "Switch Ingrid",
"room": null,
"type": "switch",
"id": {
"entity_id": "switch.ingrid",
"device_id": null
}
}
]
},
{
"id": "Kitchen Smart Buttons Automation",
"automation": "- alias: Kitchen Smart Buttons Automation\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - event.smart_button_downstairs_2_action\n conditions:\n - condition: template\n value_template: '{{ trigger.from_state.state != ''unavailable'' }}'\n actions:\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''release''\n }}'\n alias: Button Release\n sequence:\n - action: tts.cloud_say\n data:\n cache: false\n entity_id: media_player.jarvis_kitchen_media_player\n message: did you mean to hold and release the button? This has not been\n programmed yet. Please try again.\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''single''\n }}'\n alias: Single Press\n sequence:\n - action: script.kitchen_tv_toggle\n data: {}\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''double''\n }}'\n alias: Double Press\n sequence:\n - action: script.kitchen_tv_toggle\n data: {}\n alias: Double press\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''triple''\n }}'\n sequence:\n - action: tts.cloud_say\n data:\n cache: false\n entity_id: media_player.jarvis_kitchen_media_player\n message: did you mean to press the button three times? This has not been\n programmed yet. Please try again.\n alias: Triple Press\n - conditions:\n - condition: template\n value_template: '{{ trigger.to_state.attributes.event_type == ''quadruple''\n }}'\n sequence:\n - action: tts.cloud_say\n data:\n cache: false\n entity_id: media_player.jarvis_kitchen_media_player\n message: did you mean to press the button four times? This has not been\n programmed yet. Please try again.\n alias: Quadruple Press\n mode: restart\n initial_state: true",
"config": [
{
"name": "jarvis kitchen media player media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_kitchen_media_player",
"device_id": null
}
},
{
"name": "event smart button downstairs 2 action event",
"room": "kitchen",
"type": "event",
"id": {
"entity_id": "event.smart_button_downstairs_2_action",
"device_id": null
}
},
{
"name": "kitchen tv toggle script",
"room": "kitchen",
"type": "script",
"id": {
"entity_id": "script.kitchen_tv_toggle",
"device_id": null
}
}
]
},
{
"id": "Kitchen Tablet Charge Toggle",
"automation": "- alias: Kitchen Tablet Charge Toggle\n description: Maintain charge level of kitchen tablet between 30% and 100%\n triggers:\n - entity_id: sensor.sm_t220_battery_level\n below: 30\n id: Kitchen Tablet Battery Low\n trigger: numeric_state\n - entity_id:\n - sensor.sm_t220_battery_level\n above: 98\n id: Kitchen Tablet Battery Charged\n trigger: numeric_state\n - entity_id:\n - sensor.weather_display_battery_level_2\n below: 30\n id: Weather Tablet Battery Low\n trigger: numeric_state\n - entity_id:\n - sensor.weather_display_battery_level_2\n above: 99\n id: Weather Tablet Battery Charged\n trigger: numeric_state\n enabled: true\n for:\n hours: 0\n minutes: 10\n seconds: 0\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Kitchen Tablet Battery Low\n sequence:\n - action: switch.turn_on\n data: {}\n target:\n entity_id: switch.kitchen_tablet_local\n - conditions:\n - condition: trigger\n id: Kitchen Tablet Battery Charged\n sequence:\n - action: switch.turn_off\n data: {}\n target:\n entity_id: switch.kitchen_tablet_local\n - conditions:\n - condition: trigger\n id:\n - Weather Tablet Battery Low\n sequence:\n - action: switch.turn_on\n data: {}\n target:\n entity_id: switch.weather_display_none\n - conditions:\n - condition: trigger\n id:\n - Weather Tablet Battery Charged\n sequence:\n - action: switch.turn_off\n data: {}\n target:\n entity_id: switch.weather_display_none\n mode: queued\n initial_state: true\n max: 10",
"config": [
{
"name": "weather display battery level 2 sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.weather_display_battery_level_2",
"device_id": null
}
},
{
"name": "sm t220 battery level sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.sm_t220_battery_level",
"device_id": null
}
},
{
"name": "kitchen tablet local switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.kitchen_tablet_local",
"device_id": null
}
},
{
"name": "weather display none switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.weather_display_none",
"device_id": null
}
}
]
},
{
"id": "Kitchen TV Toggle On and Off",
"automation": "- alias: Kitchen TV Toggle On and Off\n description: ''\n triggers:\n - entity_id:\n - media_player.sky_q_kitchen_mini_2\n id: Ingrid & Sky toggle on\n not_from:\n - unknown\n - unavailable\n - paused\n to: playing\n trigger: state\n - entity_id:\n - media_player.sky_q_kitchen_mini_2\n id: Ingrid & Sky toggle off\n not_from:\n - unknown\n - unavailable\n - paused\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Ingrid & Sky toggle on\n sequence:\n - action: script.kitchen_tv_toggle\n data: {}\n - conditions:\n - condition: trigger\n id: Ingrid & Sky toggle off\n sequence:\n - action: script.kitchen_tv_toggle\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "kitchen tv toggle script",
"room": "kitchen",
"type": "script",
"id": {
"entity_id": "script.kitchen_tv_toggle",
"device_id": null
}
},
{
"name": "media player sky q kitchen mini 2",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.sky_q_kitchen_mini_2",
"device_id": null
}
}
]
},
{
"id": "Kitchen TV Voice",
"automation": "- alias: Kitchen TV Voice\n description: ''\n triggers:\n - trigger: conversation\n command:\n - turn on the TV\n - TV on\n - turn the TV on\n id: 'on'\n - trigger: conversation\n command:\n - TV off\n - turn off the TV\n - turn the TV off\n id: 'off'\n conditions:\n - condition: state\n entity_id: assist_satellite.jarvis_kitchen_assist_satellite\n state: processing\n actions:\n - action: script.kitchen_tv_toggle\n data: {}\n mode: single",
"config": [
{
"name": "assist satellite jarvis kitchen assist satellite",
"room": "kitchen",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_kitchen_assist_satellite",
"device_id": null
}
},
{
"name": "kitchen tv toggle script",
"room": "kitchen",
"type": "script",
"id": {
"entity_id": "script.kitchen_tv_toggle",
"device_id": null
}
}
]
},
{
"id": "Kitchen Worktop Lights",
"automation": "- alias: Kitchen Worktop Lights\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_6\n from: 'off'\n to: 'on'\n id: 'On'\n - trigger: state\n entity_id:\n - binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_6\n from: 'on'\n to: 'off'\n id: 'Off'\n for:\n hours: 0\n minutes: 0\n seconds: 30\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - 'On'\n - condition: numeric_state\n entity_id: sensor.kitchen_presence_sensor_light_sensor_light_level\n below: 90\n sequence:\n - alias: Turn on worktop lights\n if:\n - condition: state\n entity_id: input_boolean.adaptive_lighting_sleep_mode_active\n state: 'on'\n then:\n - action: light.turn_on\n target:\n entity_id: light.ikea_kitchen_lights\n data:\n brightness_pct: 30\n else:\n - action: light.turn_on\n target:\n entity_id: light.ikea_kitchen_lights\n data:\n brightness_pct: 70\n - conditions:\n - condition: trigger\n id:\n - 'Off'\n sequence:\n - action: light.turn_off\n target:\n entity_id: light.ikea_kitchen_lights\n data: {}\n mode: single",
"config": [
{
"name": "kitchen presence sensor light sensor light level sensor",
"room": "kitchen",
"type": "sensor",
"id": {
"entity_id": "sensor.kitchen_presence_sensor_light_sensor_light_level",
"device_id": null
}
},
{
"name": "presence sensor fp2 4b3c presence sensor 6 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_4b3c_presence_sensor_6",
"device_id": null
}
},
{
"name": "adaptive lighting sleep mode active input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.adaptive_lighting_sleep_mode_active",
"device_id": null
}
},
{
"name": "ikea kitchen lights light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.ikea_kitchen_lights",
"device_id": null
}
}
]
},
{
"id": "Letterbox",
"automation": "- alias: Letterbox\n description: ''\n mode: parallel\n max: 10\n triggers:\n - entity_id:\n - binary_sensor.letterbox_contact\n to: 'off'\n from: 'on'\n trigger: state\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.front_door_motion_detected\n state: 'on'\n - condition: state\n entity_id: binary_sensor.front_door_person_detected\n state: 'on'\n actions:\n - data:\n message: You have post!\n title: POST!\n action: script.text_notify_parents\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - if:\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: Youve got post.\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: Youve got post.\n - action: input_boolean.toggle\n target:\n entity_id: input_boolean.post\n data: {}\n - wait_for_trigger:\n - entity_id:\n - binary_sensor.family_home\n to: 'off'\n from: 'on'\n trigger: state\n - action: input_boolean.toggle\n target:\n entity_id: input_boolean.post\n data: {}",
"config": [
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "front door person detected binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_person_detected",
"device_id": null
}
},
{
"name": "front door motion detected binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_motion_detected",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "letterbox contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.letterbox_contact",
"device_id": null
}
},
{
"name": "post input boolean",
"room": "entrance",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.post",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Lightning Detected",
"automation": "- alias: Lightning Detected\n description: ''\n triggers:\n - entity_id: binary_sensor.lightning_detected\n to: 'on'\n from: 'off'\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.lightning_warning\n state: 'off'\n actions:\n - action: script.text_notify_dave\n data:\n title: Lightning Detected!\n message: 'Lightning has been detected within 20 miles of the house. '\n - action: input_boolean.turn_on\n entity_id: input_boolean.lightning_warning",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "lightning detected binary sensor",
"room": "outside",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lightning_detected",
"device_id": null
}
},
{
"name": "lightning warning input boolean",
"room": "outside",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.lightning_warning",
"device_id": null
}
}
]
},
{
"id": "Lights Fade at Bedtime",
"automation": "- alias: Lights Fade at Bedtime\n description: ''\n trigger:\n - platform: state\n entity_id:\n - switch.main_bedroom_dot_do_not_disturb_switch\n from: 'off'\n to: 'on'\n condition: []\n action:\n - service: script.stair_lights_fade_at_bedtime\n data: {}\n mode: single",
"config": [
{
"name": "main bedroom dot do not disturb switch switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.main_bedroom_dot_do_not_disturb_switch",
"device_id": null
}
},
{
"name": "stair lights fade at bedtime script",
"room": "stairs",
"type": "script",
"id": {
"entity_id": "script.stair_lights_fade_at_bedtime",
"device_id": null
}
}
]
},
{
"id": "Limit Battery Output",
"automation": "- alias: Limit Battery Output\n description: Limit the overnight output of the battery during high next day Agile\n pricing in Winter\n triggers:\n - at: input_datetime.start_battery_output_limit\n id: Start of Slot 1\n trigger: time\n - at: input_datetime.end_battery_output_limit\n id: End of Slot 1\n trigger: time\n - at: input_datetime.start_battery_output_limit_slot_2\n id: Start of Slot 2\n trigger: time\n - at: input_datetime.end_battery_output_limit_slot_2\n id: End of Slot 2\n trigger: time\n - at: input_datetime.start_battery_output_limit_slot_3\n id: Start of Slot 3\n trigger: time\n - at: input_datetime.end_battery_output_limit_slot_3\n id: End of Slot 3\n trigger: time\n - at: input_datetime.start_battery_output_limit_slot_4\n id: Start of Slot 4\n trigger: time\n - at: input_datetime.end_battery_output_limit_slot_4\n id: End of Slot 4\n trigger: time\n - alias: When inverter resets\n entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n trigger: state\n conditions:\n - condition: template\n value_template: '{{ is_state(''input_boolean.allow_battery_output_limit'',''on'')\n }}'\n alias: Is Allow Battery Output Limit On?\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Start of Slot 1\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_1\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: End of Slot 1\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_1\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: Start of Slot 2\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_2\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: End of Slot 2\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_2\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: Start of Slot 3\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_3\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: End of Slot 3\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_3\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: Start of Slot 4\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_4\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id: End of Slot 4\n - condition: state\n entity_id: input_boolean.battery_output_limit_slot_4\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: time\n after: input_datetime.start_battery_output_limit\n before: input_datetime.end_battery_output_limit_slot_4\n - condition: numeric_state\n entity_id: number.solaredge_i1_storage_discharge_limit\n above: 100\n - condition: state\n entity_id: input_boolean.allow_battery_output_limit\n state: 'on'\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n trace:\n stored_traces: 10\n mode: single",
"config": [
{
"name": "allow battery output limit input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_battery_output_limit",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "start battery output limit input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.start_battery_output_limit",
"device_id": null
}
},
{
"name": "end battery output limit input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.end_battery_output_limit",
"device_id": null
}
},
{
"name": "start battery output limit slot 2 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.start_battery_output_limit_slot_2",
"device_id": null
}
},
{
"name": "end battery output limit slot 2 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.end_battery_output_limit_slot_2",
"device_id": null
}
},
{
"name": "start battery output limit slot 3 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.start_battery_output_limit_slot_3",
"device_id": null
}
},
{
"name": "end battery output limit slot 3 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.end_battery_output_limit_slot_3",
"device_id": null
}
},
{
"name": "start battery output limit slot 4 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.start_battery_output_limit_slot_4",
"device_id": null
}
},
{
"name": "end battery output limit slot 4 input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.end_battery_output_limit_slot_4",
"device_id": null
}
},
{
"name": "battery output limit slot 1 input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.battery_output_limit_slot_1",
"device_id": null
}
},
{
"name": "desired battery output limit for overnight ev charging input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.desired_battery_output_limit_for_overnight_ev_charging",
"device_id": null
}
},
{
"name": "solaredge i1 storage discharge limit number",
"room": "garage",
"type": "number",
"id": {
"entity_id": "number.solaredge_i1_storage_discharge_limit",
"device_id": null
}
},
{
"name": "battery output limit slot 2 input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.battery_output_limit_slot_2",
"device_id": null
}
},
{
"name": "default battery output limit input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.default_battery_output_limit",
"device_id": null
}
},
{
"name": "battery output limit slot 3 input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.battery_output_limit_slot_3",
"device_id": null
}
},
{
"name": "battery output limit slot 4 input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.battery_output_limit_slot_4",
"device_id": null
}
}
]
},
{
"id": "List Daily Calendar Events",
"automation": "- alias: List Daily Calendar Events\n description: ''\n triggers:\n - hours: /1\n trigger: time_pattern\n conditions: []\n actions:\n - action: calendar.get_events\n data:\n duration:\n hours: 24\n minutes: 0\n seconds: 0\n target:\n entity_id: calendar.forrester_events\n response_variable: calendar_response\n - event: calendar_poll\n event_data:\n calendar_response: '{{ calendar_response }}'\n mode: single",
"config": [
{
"name": "forrester events calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.forrester_events",
"device_id": null
}
}
]
},
{
"id": "Living Room Lights",
"automation": "- alias: Living Room Lights\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Light On With Presence\n - platform: state\n entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_1\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Light Off With No Presence\n - platform: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Light On With Low Light\n - platform: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n id: Light Off With Good Light\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Light On With Presence\n alias: Light on with presence\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 30\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n - conditions:\n - condition: trigger\n id:\n - Light Off With No Presence\n alias: Light off with no presence\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n - conditions:\n - condition: trigger\n id:\n - Light On With Low Light\n alias: Light on with low light and presence\n - condition: state\n entity_id: input_boolean.living_room_occupied\n state: 'on'\n sequence:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness_pct: 30\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n - conditions:\n - condition: trigger\n id:\n - Light Off With Good Light\n alias: Light off with good light\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n mode: restart",
"config": [
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "living room occupied input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_occupied",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
},
{
"name": "standard lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.standard_lamp",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
}
]
},
{
"id": "Living Room Lights with Presence V2.0",
"automation": "- alias: Living Room Lights with Presence V2.0\n description: ''\n triggers:\n - entity_id: light.living_room_lights\n from: 'off'\n to: 'on'\n id: Ceiling Light On\n trigger: state\n - entity_id: light.living_room_lights\n from: 'on'\n to: 'off'\n id: Ceiling Light Off\n trigger: state\n - trigger: state\n entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Light On With Presence\n - entity_id:\n - binary_sensor.living_room_fp2_presence_sensor_1\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Light Off With No Presence\n trigger: state\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n for:\n seconds: 20\n id: Low Light\n trigger: numeric_state\n - entity_id: sensor.living_room_fp2_light_sensor_light_level\n above: input_number.upper_light_threshold_level\n for:\n seconds: 20\n id: Good Light\n trigger: numeric_state\n - trigger: conversation\n command:\n - '(i need | can I get) some [help with] [the] (light | lights | lighting) [in\n here | in this room] '\n - (it is | its) a bit dark [in here | in this room]\n - there is too much light [in here | in this room]\n - (can you | will you) dim the (light | lights | lighting) [in here | in this\n room]\n - ( its | it is ) too bright [in here | in this room]\n id: JARVIS\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Ceiling Light On\n - condition: or\n conditions:\n - condition: state\n entity_id: light.corner_lamp_2\n state: 'on'\n - condition: state\n entity_id: light.dreamview_g1_pro_2\n state: 'on'\n alias: If corner lamp is on or the tv lights are on\n sequence:\n - data: {}\n target:\n entity_id:\n - light.dreamview_g1_pro_2\n action: light.turn_off\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - action: scene.create\n data:\n scene_id: lights_before\n snapshot_entities:\n - light.floor_lamp_pro_1\n - light.glide_lights_right_2\n - light.govee_glide_left_2\n - light.corner_lamp_2\n - action: script.update_living_room_scene_tracker\n data:\n new_scene: lights_before\n - delay:\n hours: 0\n minutes: 0\n seconds: 5\n milliseconds: 0\n - action: light.turn_off\n target:\n entity_id:\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Ceiling Light Off\n sequence:\n - if:\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n then:\n - action: scene.turn_on\n target:\n entity_id: scene.lights_before\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n - data: {}\n target:\n entity_id: light.dreamview_g1_pro_2\n action: light.turn_on\n - action: scene.turn_on\n target:\n entity_id: scene.lights_before\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Light On With Presence\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: state\n entity_id: light.living_room_lights\n state: 'off'\n sequence:\n - choose:\n - conditions:\n - condition: state\n entity_id: input_boolean.living_room_scene_update_lock\n state: 'off'\n sequence:\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ states(''input_text.current_living_room_scene'')\n == ''lights_before'' }}'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.lights_before\n data: {}\n - conditions:\n - condition: state\n entity_id: binary_sensor.morning\n state: 'on'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.ready_for_morning\n data: {}\n - conditions:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.lunchtime_govee\n data: {}\n - conditions:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.afternoon_govee\n data: {}\n - conditions:\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n sequence:\n - action: scene.turn_on\n target:\n entity_id: scene.dinnertime_govee\n data: {}\n default:\n - action: scene.turn_on\n target:\n entity_id: scene.evening_govee\n data: {}\n alias: Choose between 6 scenes to set\n - action: script.update_living_room_scene_tracker\n data:\n new_scene: \"{% if states('input_text.current_living_room_scene') ==\\\n \\ 'lights_before' %}\\n lights_before\\n{% elif is_state('binary_sensor.morning',\\\n \\ 'on') %}\\n ready_for_morning\\n{% elif is_state('binary_sensor.lunchtime',\\\n \\ 'on') %}\\n lunchtime_govee\\n{% elif is_state('binary_sensor.afternoon',\\\n \\ 'on') %}\\n afternoon_govee\\n{% elif is_state('binary_sensor.dinner_time',\\\n \\ 'on') %}\\n dinnertime_govee\\n{% else %}\\n evening_govee\\n{% endif\\\n \\ %} \\n\"\n - conditions:\n - condition: trigger\n id:\n - Light Off With No Presence\n sequence:\n - alias: Turn off lamps when no presence\n action: light.turn_off\n target:\n entity_id:\n - light.corner_lamp_2\n - light.floor_lamp_pro_1\n - light.govee_glide_left_2\n - light.glide_lights_right_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: state\n entity_id: binary_sensor.living_room_fp2_presence_sensor_1\n state: 'on'\n - condition: state\n entity_id: light.living_room_lights\n state: 'off'\n sequence:\n - alias: Turn on lamp if light level is low and presence is detected\n action: light.turn_on\n target:\n entity_id:\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Good Light\n sequence:\n - alias: Turn off lamp if light level is good\n action: light.turn_off\n target:\n entity_id:\n - light.corner_lamp_2\n data: {}\n - conditions:\n - condition: trigger\n id:\n - JARVIS\n sequence:\n - variables:\n device: '{{ trigger.context.id }}'\n area: '{{ area_name(trigger.context.id) if trigger.context.id else ''living\n room'' }}'\n - data:\n voice_command: '{{ trigger.event.intent_input }}'\n room_area: '{{ area }}'\n action: script.jarvis_get_the_lights\n mode: parallel\n max: 5",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "govee glide left 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.govee_glide_left_2",
"device_id": null
}
},
{
"name": "glide lights right 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.glide_lights_right_2",
"device_id": null
}
},
{
"name": "floor lamp pro 1 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.floor_lamp_pro_1",
"device_id": null
}
},
{
"name": "corner lamp 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp_2",
"device_id": null
}
},
{
"name": "dreamview g1 pro 2 light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro_2",
"device_id": null
}
},
{
"name": "lunchtime govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.lunchtime_govee",
"device_id": null
}
},
{
"name": "afternoon govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.afternoon_govee",
"device_id": null
}
},
{
"name": "dinnertime govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.dinnertime_govee",
"device_id": null
}
},
{
"name": "evening govee scene",
"room": "living_room",
"type": "scene",
"id": {
"entity_id": "scene.evening_govee",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "living room lights light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.living_room_lights",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "Current Living Room Scene",
"room": "Living Room",
"type": "input_text",
"id": {
"entity_id": "input_text.current_living_room_scene",
"device_id": null
}
},
{
"name": "Living Room Scene Update Lock",
"room": "Living Room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.living_room_scene_update_lock",
"device_id": null
}
},
{
"name": "Lights Before",
"room": null,
"type": "scene",
"id": {
"entity_id": "scene.lights_before",
"device_id": null
}
},
{
"name": "Ready for Morning",
"room": null,
"type": "scene",
"id": {
"entity_id": "scene.ready_for_morning",
"device_id": null
}
}
]
},
{
"id": "Living room tv voice",
"automation": "- alias: Living room tv voice\n description: ''\n triggers:\n - trigger: conversation\n command:\n - TV on\n - turn on the TV\n - turn the TV on\n id: 'on'\n - trigger: conversation\n command:\n - TV off\n - turn off the TV\n - turn the TV off\n id: 'off'\n conditions:\n - condition: state\n entity_id: assist_satellite.jarvis_downstairs_assist_satellite\n state: processing\n actions:\n - action: script.living_room_tv_toggle_2\n data: {}\n mode: single",
"config": [
{
"name": "assist satellite jarvis downstairs assist satellite",
"room": "living_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_downstairs_assist_satellite",
"device_id": null
}
},
{
"name": "living room tv toggle 2 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.living_room_tv_toggle_2",
"device_id": null
}
}
]
},
{
"id": "Loft Lights on with hatch",
"automation": "- alias: Loft Lights on with hatch\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.loft_hatch_sensor_contact\n from: 'off'\n to: 'on'\n id: Open\n - platform: state\n entity_id:\n - binary_sensor.loft_hatch_sensor_contact\n from: 'on'\n to: 'off'\n id: Closed\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Open\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.loft_light\n - conditions:\n - condition: trigger\n id:\n - Closed\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.loft_light\n mode: single",
"config": [
{
"name": "loft hatch sensor contact binary sensor",
"room": "loft",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.loft_hatch_sensor_contact",
"device_id": null
}
},
{
"name": "loft light light",
"room": "loft",
"type": "light",
"id": {
"entity_id": "light.loft_light",
"device_id": null
}
}
]
},
{
"id": "Log Nmap devices on Router Reset",
"automation": "- alias: Log Nmap devices on Router Reset\n description: Runs the Nmap scan when the router comes online.\n triggers:\n - trigger: state\n entity_id:\n - device_tracker.skyrouter\n from: not_home\n to: home\n conditions: []\n actions:\n - action: shell_command.log_nmap_devices\n data: {}\n mode: single",
"config": [
{
"name": "Device Tracker Skyrouter",
"room": null,
"type": "device_tracker",
"id": {
"entity_id": "device_tracker.skyrouter",
"device_id": null
}
}
]
},
{
"id": "Magic Cube Stuff",
"automation": "- alias: Magic Cube Stuff\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '1'\n id: Side 1\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '2'\n id: Side 2\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '3'\n id: Side 3\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '4'\n id: Side 4\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '5'\n id: Side 5\n - platform: state\n entity_id:\n - sensor.magic_cube_side\n to: '6'\n id: Side 6\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Side 1\n sequence:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.ingrid_socket_1\n - service: media_player.turn_on\n data: {}\n target:\n device_id: 2285e887e55f34f8b3cfd7d7e8e58f6a\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: {{ ['Information.\n The kitchen media system has been activated', 'Hailing\n frequencies open', 'Information.\n The kitchen televisual devices have been turned on', 'Pardon\n me sir. I have turned on the goggle box for your televisual\n viewing experience', 'Pardon me madam.\n I have activated the multimedia viewing apparatus, to help while away\n the time?']|random }}\n data:\n type: tts\n method: speak\n - conditions:\n - condition: trigger\n id:\n - Side 2\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.ingrid_socket_1\n - service: media_player.turn_off\n data: {}\n target:\n device_id: 2285e887e55f34f8b3cfd7d7e8e58f6a\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: {{ ['Excuse\n me madam, but are you aware that the kitchen media system\n has been deactivated?','Hailing frequencies closed','Information. The\n kitchen televisual devices have been turned off','Pardon\n me sir, but I believe it might be time to see what is going\n on in the real world','Excuse me madam,\n now that you have had your fill of tv, might I suggest a return to reality']|random\n }}\n data:\n type: tts\n method: speak\n - conditions:\n - condition: trigger\n id: Side 3\n sequence:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: {{ ['I have started a\n 4 minute coffee timer. It starts, now','I have begun counting to 240.\n When I am done, your coffee will be ready','Ready, steady, 4 minute coffee timer. Go','When the Earth has rotated by 1 degree,\n your coffee will be ready','In 4 minutes\n time, your caffiene fix for today will be ready.']|random }}\n data:\n type: tts\n method: speak\n - delay:\n hours: 0\n minutes: 4\n seconds: 0\n milliseconds: 0\n alias: Wait 4 minutes\n - service: media_player.volume_set\n data:\n volume_level: '{{states(''input_number.alexa_volume_level_announcements'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n alias: Set volume everywhere based on an input number helper\n enabled: true\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n alias: Wait 2s\n enabled: true\n - service: notify.alexa_media_everywhere_2\n data:\n message: \"{{ [ 'Information. Your coffee is ready. How would you like\\\n \\ it?', \\n 'Ah, smell that\\\n \\ coffee. Get it while its hot',\\n 'Information.\\\n \\ Your coffee is ready for pouring.', \\n 'Bing bong. Coffee time!', \\n \\\n \\ 'Coffee, coffee everywhere and not a drop to drink. Only kidding. Your coffee is ready', \\n ]|random\\n\\\n }}\"\n data:\n type: announce\n method: speak\n - service: media_player.volume_set\n data:\n volume_level: '{{states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n alias: Set volume everywhere to default\n enabled: true\n - service: media_player.volume_set\n data:\n volume_level: '{{states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n device_id: 49841004268921a9f26338df9c24c561\n alias: Set volume of kitchen echo show to default\n enabled: true\n - conditions:\n - condition: trigger\n id: Side 6\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n sequence:\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_announcements'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n - service: notify.alexa_media_everywhere_2\n data:\n message: \"{{ ['Excuse my interruption everyone. Would you please head\\\n \\ to the kitchen where mummy has prepared a delicious meal', \\n 'Pardon me everyone. Food is now being served\\\n \\ in the kitchen. Get it while it is hot', \\n 'If I might interrupt your evening deliberations. If you are\\\n \\ hungry, the wait is over. Dinner is on the kitchen table', \\n 'Excuse me everyone. I thought you might be\\\n \\ interested to hear that it is time to head to the kitchen. When you\\\n \\ get there, you might just find some food on the table',\\n 'Pardon me everyone. My tummy is rumbly. If\\\n \\ your tummy is rumbly, then rumble on to the kitchen for some, yummy food'\\n ]|random }}\"\n data:\n type: announce\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n - conditions:\n - condition: trigger\n id: Side 5\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n sequence:\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_announcements'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n - service: notify.alexa_media_everywhere_2\n data:\n message: \"{{ ['Excuse\\nme. Would you mind please making your way to\\\n \\ the Dining Room where\\nGemma has prepared\\\n \\ a delicious Sunday\\ndinner', \\n 'Information.\\\n \\ I thought you might be interested to hear that dinner is now being served\\\n \\ in the Dining Room. Get it while it is hot', \\n 'Excuse me. I dont know about you, but I am hungry. If you are hungry, the wait is over. Dinner\\\n \\ is on the Dining Room table', \\n 'Your attention\\\n \\ please. I have been informed by our head chef that it is time\\\n \\ to head to the Dining Room. When you get there, you might just find\\\n \\ that dinner is on the table',\\n 'Excuse\\\n \\ me. My tummy feels a bit rumbly. If your tummy is rumbly too,\\\n \\ then rumble on to the Dining Room for some yummy\\\n \\ dinner'\\n ]|random }}\"\n data:\n type: announce\n method: all\n - delay:\n hours: 0\n minutes: 0\n seconds: 2\n milliseconds: 0\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n - conditions:\n - condition: trigger\n id:\n - Side 4\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n sequence:\n - service: notify.alexa_media_kitchen_echo_show\n data:\n message: {{ ['Excuse\n me madam, I regret to inform you that this side of the magic\n cube has not yet been programmed. Perhaps you should try a different side',\n 'Information. Please try another side\n as this one appears to do nothing', 'Pardon me\n sir, but I believe you may have inadvertently selected side\n 4, and that side does nothing, for now', 'Warning.\n This cube will self destruct in 5 seconds , 5 , 4 , 3,\n 2, 1 .\n Ha ha, only kidding']|random\n }}\n data:\n type: tts\n method: speak\n mode: queued\n max: 10",
"config": [
{
"name": "alexa volume level announcements input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_announcements",
"device_id": null
}
},
{
"name": "ingrid socket 1 switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.ingrid_socket_1",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
},
{
"name": "Alexa Volume Level Default All",
"room": null,
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_default_all",
"device_id": null
}
},
{
"name": "Media Player Everywhere 2",
"room": null,
"type": "media_player",
"id": {
"entity_id": "media_player.everywhere_2",
"device_id": null
}
},
{
"name": "Switch Ingrid",
"room": null,
"type": "switch",
"id": {
"entity_id": "switch.ingrid",
"device_id": null
}
},
{
"name": "Magic Cube Side",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.magic_cube_side",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "2285e887e55f34f8b3cfd7d7e8e58f6a",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "49841004268921a9f26338df9c24c561",
"device_id": null
}
},
{
"name": "Device 2285e887e55f34f8b3cfd7d7e8e58f6a",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "2285e887e55f34f8b3cfd7d7e8e58f6a"
}
},
{
"name": "Device 49841004268921a9f26338df9c24c561",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "49841004268921a9f26338df9c24c561"
}
}
]
},
{
"id": "Magic Cube Stuff v2.0",
"automation": "- alias: Magic Cube Stuff v2.0\n description: ''\n triggers:\n - entity_id:\n - sensor.magic_cube_side\n to: '1'\n id: Side 1\n trigger: state\n - entity_id:\n - sensor.magic_cube_side\n to: '2'\n id: Side 2\n trigger: state\n - entity_id:\n - sensor.magic_cube_side\n to: '3'\n id: Side 3\n trigger: state\n - entity_id:\n - sensor.magic_cube_side\n to: '4'\n id: Side 4\n trigger: state\n - entity_id:\n - sensor.magic_cube_side\n to: '5'\n id: Side 5\n trigger: state\n - entity_id:\n - sensor.magic_cube_side\n to: '6'\n id: Side 6\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Side 1\n - condition: state\n entity_id: binary_sensor.lights_out\n state: 'off'\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n sequence:\n - action: light.turn_on\n data:\n color_temp: 200\n brightness: 255\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id:\n - Side 2\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - action: media_player.play_media\n data:\n entity_id: media_player.all_jarvis_media_player\n media_content_id: http://192.168.0.95:8123/local/Sounds/Jetsons-doorbell.mp3\n media_content_type: music\n - delay:\n hours: 0\n minutes: 0\n seconds: 4\n - action: script.jarvis_speech_engine_v3_0\n data:\n type: announcement\n where: all\n message: \"{{ [\\n 'Would you all please make your way to the kitchen where\\\n \\ mummy has made us all a delicious meal', \\n 'Food is now being served\\\n \\ in the kitchen. Come and get it while its hot', \\n 'If your hungry,\\\n \\ the wait is over. Your tea is on the kitchen table', \\n 'I thought\\\n \\ you might be interested to hear that its time to head to the kitchen.\\\n \\ When you get there, you might just find some food on the table',\\n \\\n \\ 'My tummy is rumbly. If your tummy is also rumbly then please rumble\\\n \\ on to the kitchen for some, yummy food'\\n ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Side 3\n - Side 4\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n type: announcement\n where: kitchen\n message: \"{{ ['I have started a 4 minute coffee timer. It starts, now',\\\n \\ \\n 'I have begun counting to 240. When I am done, your coffee will\\\n \\ be ready',\\n 'Ready, steady, fore minute coffee timer. Go',\\n \\\n \\ 'When the Earth has rotated by 1 degree, your coffee will be ready',\\n\\\n \\ 'In four minutes time, your caffiene fix for today will be. ready.'\\n\\\n \\ ] | random }}\"\n - delay:\n hours: 0\n minutes: 4\n seconds: 0\n milliseconds: 0\n alias: Wait 4 minutes\n - action: script.jarvis_speech_engine_v3_0\n data:\n type: announcement\n where: kitchen\n message: \"{{ ['Your coffee is ready.',\\n 'ahhhhh! smell that coffee.\\\n \\ Get it while its hot', \\n 'Finally, the wait is over and your coffee\\\n \\ is ready.',\\n 'Bing Bong! Coffee time!',\\n 'Coffee, coffee everywhere\\\n \\ and not a drop to drink. Only kidding! Your coffee is ready', \\n\\\n \\ ] | random }}\\n\"\n - conditions:\n - condition: trigger\n id: Side 6\n sequence:\n - action: light.turn_on\n data:\n color_temp: 367\n brightness: 28\n target:\n entity_id: light.kitchen_lights_2\n - conditions:\n - condition: trigger\n id: Side 5\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - action: media_player.play_media\n data:\n entity_id: media_player.all_jarvis_media_player\n media_content_id: http://192.168.0.95:8123/local/Sounds/Jetsons-doorbell.mp3\n media_content_type: music\n - delay:\n hours: 0\n minutes: 0\n seconds: 4\n - action: script.jarvis_speech_engine_v3_0\n data:\n type: announcement\n where: all\n message: \"{{ [\\n 'Would you mind please making your way to the Dining\\\n \\ Room where Gemma has prepared a more than delicious Sunday dinner',\\\n \\ \\n 'I thought you might be interested to hear that dinner is now\\\n \\ being served in the Dining Room. Get it while its still hot', \\n \\\n \\ 'I dont know about you, but I am hungry. If you are hungry, the wait\\\n \\ is over. Dinner is on the Dining Room table. It might even be on a plate.',\\\n \\ \\n 'I have been informed by our head chef that it is time to head\\\n \\ to the Dining Room. When you get there, you might just find that dinner\\\n \\ is on the table. If your lucky, it might even be on a plate.',\\n \\\n \\ 'I dont know about you, but my tummy feels a bit rumbly. Please rumble\\\n \\ on to the Dining Room for some yummy dinner'\\n ] | random }}\\n\"\n mode: restart\n initial_state: true",
"config": [
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "kitchen lights 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_lights_2",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "all jarvis media player media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.all_jarvis_media_player",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "Magic Cube Side",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.magic_cube_side",
"device_id": null
}
}
]
},
{
"id": "Main Bathroom Lights with Presence",
"automation": "- alias: Main Bathroom Lights with Presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.main_bathroom_presence_occupancy\n from: 'off'\n to: 'on'\n id: Light On\n trigger: state\n - entity_id:\n - binary_sensor.main_bathroom_presence_occupancy\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 0\n id: Light Off\n trigger: state\n - alias: Bathroom Light off with Timer\n event_type: timer.finished\n event_data:\n entity_id: timer.bathroom_light\n id: Timer Done\n enabled: true\n trigger: event\n - entity_id:\n - binary_sensor.overnight\n to: 'on'\n for:\n hours: 0\n minutes: 0\n seconds: 0\n id: Dim Lights\n trigger: state\n - entity_id:\n - switch.main_bathroom_switch_light\n from: 'off'\n id: Switch On\n to: 'on'\n trigger: state\n - entity_id:\n - switch.main_bathroom_switch_light\n from: 'on'\n id: Switch Off\n to: 'off'\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Light On\n - condition: state\n entity_id: binary_sensor.overnight\n state: 'off'\n - condition: numeric_state\n entity_id: sensor.main_bathroom_presence_illuminance\n below: input_number.low_light_threshold\n sequence:\n - data:\n color_temp: 200\n brightness: 64\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_on\n - target:\n entity_id: timer.bathroom_light\n data: {}\n action: timer.start\n - conditions:\n - condition: trigger\n id:\n - Light On\n - condition: state\n entity_id: binary_sensor.overnight\n state: 'on'\n sequence:\n - data:\n rgb_color:\n - 255\n - 248\n - 52\n brightness: 26\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_on\n - target:\n entity_id: timer.bathroom_light\n data: {}\n action: timer.start\n - conditions:\n - condition: trigger\n id:\n - Light Off\n - condition: state\n entity_id: light.main_bathroom_light\n state: 'on'\n - condition: state\n entity_id: timer.bathroom_light\n state: idle\n - condition: state\n entity_id: input_boolean.allow_main_bathroom_lights_max\n state: 'off'\n sequence:\n - data: {}\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Timer Done\n - condition: state\n entity_id: binary_sensor.main_bathroom_presence_occupancy\n state: 'off'\n - condition: state\n entity_id: light.main_bathroom_light\n state: 'on'\n - condition: state\n entity_id: input_boolean.allow_main_bathroom_lights_max\n state: 'off'\n sequence:\n - target:\n entity_id: light.main_bathroom_light\n data: {}\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Dim Lights\n - condition: state\n entity_id: input_boolean.allow_main_bathroom_lights_max\n state: 'off'\n sequence:\n - data:\n rgb_color:\n - 255\n - 248\n - 52\n brightness: 26\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_on\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - condition: state\n entity_id: binary_sensor.main_bathroom_occupied\n state: 'off'\n - data: {}\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_off\n - conditions:\n - condition: trigger\n id:\n - Switch On\n sequence:\n - data:\n color_temp: 200\n brightness: 64\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Switch Off\n - condition: state\n entity_id: light.main_bathroom_light\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: light.main_bathroom_light\n action: light.turn_off\n mode: single",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "main bathroom presence occupancy binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bathroom_presence_occupancy",
"device_id": null
}
},
{
"name": "overnight binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.overnight",
"device_id": null
}
},
{
"name": "main bathroom light light",
"room": "bathroom",
"type": "light",
"id": {
"entity_id": "light.main_bathroom_light",
"device_id": null
}
},
{
"name": "timer bathroom light timer",
"room": "bathroom",
"type": "timer",
"id": {
"entity_id": "timer.bathroom_light",
"device_id": null
}
},
{
"name": "allow main bathroom lights max input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_main_bathroom_lights_max",
"device_id": null
}
},
{
"name": "main bathroom switch light switch",
"room": "bathroom",
"type": "switch",
"id": {
"entity_id": "switch.main_bathroom_switch_light",
"device_id": null
}
},
{
"name": "Main Bathroom Occupied",
"room": "Main Bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bathroom_occupied",
"device_id": null
}
},
{
"name": "Main Bathroom Presence Illuminance",
"room": "Main Bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.main_bathroom_presence_illuminance",
"device_id": null
}
}
]
},
{
"id": "Main Bedroom Lights with Presence",
"automation": "- alias: Main Bedroom Lights with Presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3\n id: Lights On\n from: 'off'\n to: 'on'\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3\n id: Lights Off\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 15\n trigger: state\n - entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n id: Low Light\n trigger: numeric_state\n - entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n id: Good Light\n above: input_number.upper_light_threshold_level\n trigger: numeric_state\n - minutes: /10\n id: Check\n trigger: time_pattern\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's side of bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.dad_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Lights On\n - condition: template\n value_template: '{{\"Gems\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's side of bed\n - condition: numeric_state\n entity_id: sensor.main_bedroom_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n - condition: state\n state: 'off'\n entity_id: input_boolean.we_are_in_bed\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id: light.mum_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n - condition: template\n value_template: '{{\"Daves\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Dave's side of bed\n - condition: state\n state: 'on'\n entity_id: light.dad_s_bedside_lamp_light\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.dad_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Lights Off\n - condition: template\n value_template: '{{\"Gems\" in trigger.to_state.attributes.friendly_name }}'\n alias: Filter Gem's side of bed\n - condition: state\n state: 'on'\n entity_id: light.mum_s_bedside_lamp_light\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id: light.mum_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Low Light\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3\n state: 'on'\n - condition: state\n entity_id: binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4\n state: 'on'\n - condition: state\n entity_id: input_boolean.main_bedroom_bedside_lamps_active\n state: 'on'\n - condition: state\n entity_id: input_boolean.we_are_in_bed\n state: 'off'\n sequence:\n - action: light.turn_on\n data: {}\n target:\n entity_id:\n - light.mum_s_bedside_lamp_light\n - light.dad_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Good Light\n - condition: or\n conditions:\n - condition: state\n entity_id: light.dad_s_bedside_lamp_light\n state: 'on'\n - condition: state\n entity_id: light.mum_s_bedside_lamp_light\n state: 'on'\n sequence:\n - action: light.turn_off\n data: {}\n target:\n entity_id:\n - light.mum_s_bedside_lamp_light\n - light.dad_s_bedside_lamp_light\n - conditions:\n - condition: trigger\n id:\n - Check\n - condition: state\n entity_id: switch.master_bedroom_light_switch\n state: 'on'\n - condition: state\n entity_id: binary_sensor.master_bedroom_occupied\n state: 'off'\n sequence:\n - action: switch.turn_off\n target:\n entity_id: switch.master_bedroom_light_switch\n data: {}\n mode: restart\n initial_state: true",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "upper light threshold level input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.upper_light_threshold_level",
"device_id": null
}
},
{
"name": "we are in bed input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.we_are_in_bed",
"device_id": null
}
},
{
"name": "main bedroom fp2 light sensor light level sensor",
"room": "bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.main_bedroom_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "main bedroom bedside lamps active input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.main_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "presence sensor fp2 07ff presence sensor 4 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4",
"device_id": null
}
},
{
"name": "presence sensor fp2 07ff presence sensor 3 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3",
"device_id": null
}
},
{
"name": "dad's bedside lamp light light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.dad_s_bedside_lamp_light",
"device_id": null
}
},
{
"name": "mum's bedside lamp light light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.mum_s_bedside_lamp_light",
"device_id": null
}
},
{
"name": "master bedroom light switch switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.master_bedroom_light_switch",
"device_id": null
}
},
{
"name": "Master Bedroom Occupied",
"room": "Master Bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.master_bedroom_occupied",
"device_id": null
}
}
]
},
{
"id": "Main Bedroom Presence",
"automation": "- alias: Main Bedroom Presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n from: 'off'\n to: 'on'\n id: Bedroom Presence\n trigger: state\n - entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_1\n from: 'on'\n to: 'off'\n id: Bedroom Absence\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4\n from: 'off'\n to: 'on'\n id: Dads Side Presence\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4\n from: 'on'\n to: 'off'\n id: Dads Side Absence\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3\n from: 'off'\n to: 'on'\n id: Mums Side Presence\n trigger: state\n - entity_id:\n - binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3\n from: 'on'\n to: 'off'\n id: Mums Side Absence\n trigger: state\n - entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n from: 'off'\n to: 'on'\n id: En Suite Presence\n trigger: state\n - entity_id:\n - binary_sensor.main_bedroom_fp2_presence_sensor_2\n from: 'on'\n to: 'off'\n id: En Suite Absence\n trigger: state\n - entity_id:\n - media_player.main_bedroom_dot\n attribute: last_called\n to: 'true'\n id: Alexa\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Bedroom Presence\n - Alexa\n sequence:\n - action: input_text.set_value\n data:\n value: main_bedroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bedroom\n - conditions:\n - condition: trigger\n id: Bedroom Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_main_bedroom\n - conditions:\n - condition: trigger\n id: Dads Side Presence\n sequence:\n - action: input_text.set_value\n data:\n value: dads_side_of_bed\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.dad_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id: Dads Side Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.dad_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id: Mums Side Presence\n sequence:\n - action: input_text.set_value\n data:\n value: mums_side_of_bed\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.mum_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id: Mums Side Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.mum_s_side_of_bed_occupied\n - conditions:\n - condition: trigger\n id: En Suite Presence\n sequence:\n - action: input_text.set_value\n data:\n value: en_suite_bathroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_en_suite_bathroom\n - conditions:\n - condition: trigger\n id: En Suite Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_en_suite_bathroom\n mode: parallel",
"config": [
{
"name": "main bedroom dot media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.main_bedroom_dot",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 1 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "main bedroom fp2 presence sensor 2 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_fp2_presence_sensor_2",
"device_id": null
}
},
{
"name": "dad's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.dad_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "mum's side of bed occupied input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.mum_s_side_of_bed_occupied",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room occupied main bedroom input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_main_bedroom",
"device_id": null
}
},
{
"name": "room occupied en suite bathroom input boolean",
"room": "bathroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_en_suite_bathroom",
"device_id": null
}
},
{
"name": "presence sensor fp2 07ff presence sensor 4 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_07ff_presence_sensor_4",
"device_id": null
}
},
{
"name": "presence sensor fp2 07ff presence sensor 3 binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.presence_sensor_fp2_07ff_presence_sensor_3",
"device_id": null
}
},
{
"name": "Room Occupied En Suite",
"room": "En Suite",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_en_suite",
"device_id": null
}
}
]
},
{
"id": "Main Bedroom Wakeup Lights v2.0",
"automation": "- alias: Main Bedroom Wakeup Lights v2.0\n description: Turn on wakeup lights once sunrise is later than 7am\n triggers:\n - value_template: '{{ as_timestamp(states(''sensor.sun_next_rising'')) | timestamp_custom(''%H:%M'')\n > ''06:20'' }}'\n id: Activate\n trigger: template\n alias: Activate wakeup lights\n - value_template: '{{ as_timestamp(states(''sensor.sun_next_rising'')) | timestamp_custom(''%H:%M'')\n < ''06:20'' }}'\n id: Deactivate\n trigger: template\n alias: Deactivate wakeup lights\n - entity_id:\n - binary_sensor.morning\n from: 'off'\n to: 'on'\n id: Wake Up\n trigger: state\n - entity_id: calendar.school_holidays\n from: 'off'\n to: 'on'\n id: school holiday on\n trigger: state\n - entity_id: calendar.school_holidays\n from: 'on'\n to: 'off'\n id: school holiday off\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.wakeup_lights\n - conditions:\n - condition: trigger\n id:\n - Deactivate\n sequence:\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.wakeup_lights\n - conditions:\n - condition: trigger\n id: school holiday on\n sequence:\n - action: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.wakeup_lights\n - conditions:\n - condition: trigger\n id: school holiday off\n - condition: template\n value_template: '{{ as_timestamp(states(''sensor.sun_next_rising'')) | timestamp_custom(''%H:%M'')\n > ''06:20'' }}'\n sequence:\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.wakeup_lights\n - conditions:\n - condition: trigger\n id:\n - Wake Up\n - condition: or\n conditions:\n - condition: state\n entity_id: input_boolean.wakeup_lights\n state: 'on'\n - condition: state\n entity_id: calendar.schools_out\n state: 'on'\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n sequence:\n - delay:\n hours: 0\n minutes: 23\n seconds: 0\n milliseconds: 0\n - target:\n entity_id: light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - target:\n entity_id: light.bed_lamps_3\n data:\n brightness_pct: 5\n rgb_color:\n - 255\n - 50\n - 0\n action: light.turn_on\n - conditions:\n - condition: trigger\n id:\n - Wake Up\n - condition: or\n conditions:\n - condition: state\n entity_id: input_boolean.wakeup_lights\n state: 'on'\n - condition: state\n entity_id: calendar.schools_out\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'off'\n - condition: state\n entity_id: calendar.gem_holidays\n state: 'on'\n sequence:\n - delay:\n hours: 1\n minutes: 3\n seconds: 0\n milliseconds: 0\n - target:\n entity_id: light.bed_lamps_3\n data:\n brightness_pct: 5\n effect: Sunrise\n action: light.turn_on\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - target:\n entity_id: light.bed_lamps_3\n data:\n brightness_pct: 5\n rgb_color:\n - 255\n - 50\n - 0\n action: light.turn_on\n mode: single\n initial_state: true",
"config": [
{
"name": "bed lamps 3 light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps_3",
"device_id": null
}
},
{
"name": "bed lamps light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "workday sensor binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.workday_sensor",
"device_id": null
}
},
{
"name": "gem holidays calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.gem_holidays",
"device_id": null
}
},
{
"name": "calendar school holidays calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_holidays",
"device_id": null
}
},
{
"name": "sun next rising sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.sun_next_rising",
"device_id": null
}
},
{
"name": "wakeup lights input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.wakeup_lights",
"device_id": null
}
},
{
"name": "calendar schools out calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.schools_out",
"device_id": null
}
}
]
},
{
"id": "Master Bedroom TV Voice",
"automation": "- alias: Master Bedroom TV Voice\n description: ''\n triggers:\n - trigger: conversation\n command:\n - TV on\n - turn on the TV\n - turn the TV on\n id: 'on'\n - trigger: conversation\n command:\n - TV off\n - turn off the TV\n - turn the TV off\n id: 'off'\n conditions:\n - condition: state\n entity_id: assist_satellite.jarvis_main_bedroom_assist_satellite\n state: processing\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - 'on'\n sequence:\n - action: media_player.turn_on\n data: {}\n target:\n entity_id: media_player.32_sharp_roku_tv\n - conditions:\n - condition: trigger\n id:\n - 'off'\n sequence:\n - action: media_player.turn_off\n data: {}\n target:\n entity_id: media_player.32_sharp_roku_tv\n mode: single",
"config": [
{
"name": "assist satellite jarvis main bedroom assist satellite",
"room": "bedroom",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_main_bedroom_assist_satellite",
"device_id": null
}
},
{
"name": "media player 32 sharp roku tv",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.32_sharp_roku_tv",
"device_id": null
}
}
]
},
{
"id": "Morning Get up Set up",
"automation": "- alias: Morning Get up Set up\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.hallway_camera_cell_motion_detection\n from: 'off'\n to: 'on'\n id: Someone is up\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Someone is up\n - condition: time\n after: 06:30:00\n before: 08:00:00\n sequence:\n - if:\n - condition: state\n entity_id: switch.guest_bedroom_camera_privacy\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.guest_bedroom_camera_privacy\n - if:\n - condition: state\n entity_id: switch.jamie_s_room_cam_privacy\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.jamie_s_room_cam_privacy\n - if:\n - condition: state\n entity_id: switch.seans_room_camera_privacy\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.seans_room_camera_privacy",
"config": [
{
"name": "hallway camera cell motion detection binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_camera_cell_motion_detection",
"device_id": null
}
},
{
"name": "guest bedroom camera privacy switch",
"room": "guest_bedroom",
"type": "switch",
"id": {
"entity_id": "switch.guest_bedroom_camera_privacy",
"device_id": null
}
},
{
"name": "jamie's room cam privacy switch",
"room": "jamies_room",
"type": "switch",
"id": {
"entity_id": "switch.jamie_s_room_cam_privacy",
"device_id": null
}
},
{
"name": "seans room camera privacy switch",
"room": "seans_room",
"type": "switch",
"id": {
"entity_id": "switch.seans_room_camera_privacy",
"device_id": null
}
}
]
},
{
"id": "New Security System",
"automation": "- alias: New Security System\n description: ''\n triggers:\n - entity_id:\n - input_boolean.security_system_status\n from: 'off'\n to: 'on'\n id: Arm Night\n alias: When Night alarm ARMED\n trigger: state\n - entity_id:\n - input_boolean.security_system_status\n from: 'on'\n to: 'off'\n id: Disarm Night\n alias: When Night alarm DISARMED\n trigger: state\n - entity_id:\n - binary_sensor.family_home\n from: 'on'\n to: 'off'\n id: Arm Away\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - binary_sensor.family_home\n from: 'off'\n to: 'on'\n id: Disarm Away\n trigger: state\n - event_type: alarmo_failed_to_arm\n id: Failed to arm\n alias: When Alarmo fails to arm\n trigger: event\n - entity_id:\n - alarm_control_panel.garage\n to: triggered\n id: Garage Triggered\n alias: When the Garage alarm is triggered\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Arm Night\n sequence:\n - action: alarmo.arm\n data:\n mode: night\n skip_delay: false\n force: false\n entity_id: alarm_control_panel.downstairs\n alias: Arm the alarm in Night mode\n - conditions:\n - condition: trigger\n id:\n - Disarm Night\n sequence:\n - action: alarmo.disarm\n data:\n entity_id: alarm_control_panel.downstairs\n code: '1503'\n alias: Disarm the alarm in Night mode\n - conditions:\n - condition: trigger\n id:\n - Arm Away\n sequence:\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: true\n entity_id: alarm_control_panel.upstairs\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: false\n entity_id: alarm_control_panel.downstairs\n - action: switch.turn_on\n target:\n entity_id: switch.g3_sentry_bot\n data: {}\n alias: Arm the house alarm when we are away\n - conditions:\n - condition: trigger\n id:\n - Disarm Away\n alias: Disarm house alarm when we are back home\n sequence:\n - action: alarmo.disarm\n data:\n code: '1503'\n entity_id: alarm_control_panel.upstairs\n - action: alarmo.disarm\n data:\n code: '1503'\n entity_id: alarm_control_panel.downstairs\n - action: switch.turn_off\n target:\n entity_id: switch.g3_sentry_bot\n data: {}\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: '{{ [ \"Barn door protocol has been deactivated.\", \"Lockdown procedure\n disengaged! \", \"Sentry Mode is no longer active. \", \"I am no longer monitoring\n the doors and windows.\", \"Shields have been lowered.\" ] | random }}\n\n '\n - conditions:\n - condition: trigger\n id:\n - Failed to arm\n sequence:\n - action: notify.mobile_app_daves_samsung_galaxy\n data:\n title: LOCKDOWN ISSUE!\n message: 'Unable to initiate lockdown because the following sensor(s) are\n open: {{ trigger.event.data.open_sensors | join('', '') }}. Do you want\n to force lockdown anyway? '\n data:\n actions:\n - action: 'YES'\n title: 'Yes'\n - action: 'NO'\n title: 'No'\n - alias: Wait for a response\n wait_for_trigger:\n - event_type: mobile_app_notification_action\n event_data:\n action: 'YES'\n trigger: event\n - event_type: mobile_app_notification_action\n event_data:\n action: 'NO'\n trigger: event\n timeout:\n hours: 0\n minutes: 5\n seconds: 0\n milliseconds: 0\n continue_on_timeout: true\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ not wait.trigger }}'\n alias: No response\n sequence:\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: true\n entity_id: alarm_control_panel.upstairs\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: true\n entity_id: alarm_control_panel.downstairs\n alias: Force ARM if no response after 5 minutes\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"YES\" }}'\n alias: YES response\n sequence:\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: true\n entity_id: alarm_control_panel.upstairs\n - action: alarmo.arm\n data:\n mode: away\n skip_delay: false\n force: true\n entity_id: alarm_control_panel.downstairs\n alias: Force ARM if response YES\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"NO\" }}'\n alias: NO response\n sequence:\n - action: script.text_notify_dave\n data:\n title: ALARM NOT ARMED!\n message: The House alarm was not armed.\n alias: Do not ARM if response NO\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: '{{ [ \"I was unable to activate barn door protocol due to an open\n door or window.\", \"You may want to check the external doors and ground\n floor windows. I was unable to secure them all.\", \"My systems check has\n failed. Please check the external doors and ground floor windows.\" ] |\n random }} I sent a message to your phone.\n\n '\n alias: Notify us when alarm fails to arm\n - conditions:\n - condition: trigger\n id:\n - Garage Triggered\n sequence:\n - alias: Send a notification to Dave\n action: notify.mobile_app_daves_samsung_galaxy\n data:\n message: \"The Garage alarm triggered/disarmed. Would you like to clear and\\\n \\ rearm it? \\n\"\n title: ALARM RESET?\n data:\n actions:\n - action: 'YES'\n title: 'Yes'\n - action: 'NO'\n title: 'No'\n - alias: Wait for a response\n wait_for_trigger:\n - event_type: mobile_app_notification_action\n event_data:\n action: 'YES'\n trigger: event\n - event_type: mobile_app_notification_action\n event_data:\n action: 'NO'\n trigger: event\n timeout:\n hours: 0\n minutes: 5\n seconds: 0\n milliseconds: 0\n continue_on_timeout: true\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ not wait.trigger }}'\n alias: REARM after 5 minutes if no response\n sequence:\n - action: alarmo.disarm\n data:\n entity_id: alarm_control_panel.garage\n code: '1503'\n - action: alarmo.arm\n data:\n mode: home\n skip_delay: false\n force: false\n entity_id: alarm_control_panel.garage\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: '{{ [ \"Barn door protocol initiated in the garage only.\", \"Garage\n lockdown procedure engaged! \", \"Sentry Mode is now active in the garage.\n \", \"I am now monitoring the garage doors and camera.\", \"Shields have\n been raised. The garage is now protected\" ] | random }}\n\n '\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"YES\" }}'\n alias: REARM if response is YES\n sequence:\n - action: alarmo.disarm\n data:\n entity_id: alarm_control_panel.garage\n code: '1503'\n - action: alarmo.arm\n data:\n mode: home\n skip_delay: false\n force: false\n entity_id: alarm_control_panel.garage\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: '{{ [ \"Barn door protocol initiated in the garage only.\", \"Garage\n lockdown procedure engaged! \", \"Sentry Mode is now active in the garage.\n \", \"I am now monitoring the garage doors and camera.\", \"Shields have\n been raised. The garage is now protected\" ] | random }}\n\n '\n - conditions:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == \"NO\" }}'\n sequence:\n - action: alarmo.disarm\n data:\n entity_id: alarm_control_panel.garage\n code: '1503'\n - action: script.text_notify_dave\n data:\n title: GARAGE ALARM DISARMED!\n message: The Garage alarm has been disarmed.\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: '{{ [ \"Barn door protocol rescinded in the garage only.\", \"Garage\n lockdown procedure disengaged! \", \"Sentry Mode is no longer active\n in the garage. \", \"I am no longer monitoring the garage doors and\n camera.\", \"Shields have been lowered. The garage is not protected\"\n ] | random }}\n\n '\n alias: Do not REARM if response is NO\n alias: Notify me when Garage alarm TRIGGERS or DISARMS\n mode: restart",
"config": [
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "mobile app dave's samsung galaxy notify",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app_daves_samsung_galaxy",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "security system status input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.security_system_status",
"device_id": null
}
},
{
"name": "alarm control panel downstairs",
"room": "hallway",
"type": "alarm_control_panel",
"id": {
"entity_id": "alarm_control_panel.downstairs",
"device_id": null
}
},
{
"name": "alarm control panel upstairs",
"room": "hallway",
"type": "alarm_control_panel",
"id": {
"entity_id": "alarm_control_panel.upstairs",
"device_id": null
}
},
{
"name": "g3 sentry bot switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.g3_sentry_bot",
"device_id": null
}
},
{
"name": "alarm control panel garage",
"room": "garage",
"type": "alarm_control_panel",
"id": {
"entity_id": "alarm_control_panel.garage",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Nighttime lights",
"automation": "- alias: Nighttime lights\n description: Turns on lights at dusk. Turn off all lights at bedtime\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.lights_out\n from: 'off'\n to: 'on'\n id: Lights Out\n - platform: sun\n event: sunset\n offset: -00:30:00\n id: Dusk\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Dusk\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n sequence:\n - if:\n - condition: state\n entity_id: light.corner_lamp\n state: 'off'\n then:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness: 76\n target:\n entity_id: light.corner_lamp\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.stair_lights\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.under_shelf_lights_local\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.bed_lamps\n - if:\n - condition: state\n entity_id: light.standard_lamp\n state: 'off'\n then:\n - service: light.turn_on\n data:\n color_temp: 500\n brightness: 76\n target:\n entity_id: light.standard_lamp\n - if:\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n then:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id:\n - Lights Out\n sequence:\n - if:\n - condition: state\n entity_id: light.corner_lamp\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.corner_lamp\n alias: If corner lamp is on, turn it off\n - if:\n - condition: state\n entity_id: light.standard_lamp\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.standard_lamp\n alias: If standard lamp is on, turn it off\n - if:\n - condition: state\n entity_id: switch.under_shelf_lights_local\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.under_shelf_lights_local\n alias: If undershelf lights are on, turn them off\n - if:\n - condition: state\n entity_id: light.dreamview_g1_pro\n state: 'on'\n - condition: state\n entity_id: switch.living_room_tv\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n alias: If TV mood lights are on, turn them off\n - if:\n - condition: state\n entity_id: light.back_door_light\n state: 'on'\n - condition: state\n entity_id: binary_sensor.back_door_sensor_contact\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.back_door_light\n alias: If back door light is on, turn it off\n - if:\n - condition: state\n entity_id: light.landing_lights\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.landing_lights\n alias: 'If landing lights are on, turn them off '\n - if:\n - condition: state\n entity_id: light.guest_bedroom_bedside_lamp_left\n state: 'on'\n - condition: state\n entity_id: input_boolean.room_occupied_guest_bedroom\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.guest_bedroom_bedside_lamp_left\n - light.guest_bedroom_bedside_lamp_right\n alias: If guest bedroom bedside lamps are on, turn them off\n - if:\n - condition: state\n entity_id: switch.daddys_bedside_lamp_socket_1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.daddys_bedside_lamp_socket_1\n alias: If Daddy's bedside lamp is on, turn it off\n - if:\n - condition: state\n entity_id: switch.mummys_bedside_lamp_socket_1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id:\n - switch.mummys_bedside_lamp_socket_1\n alias: If Mummy's bedside lamp is on, turn it off\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id:\n - input_boolean.main_bedroom_bedside_lamps_active\n - input_boolean.guest_bedroom_bedside_lamps_active\n mode: restart",
"config": [
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "back door light light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.back_door_light",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp left light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_left",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamp right light",
"room": "guest_bedroom",
"type": "light",
"id": {
"entity_id": "light.guest_bedroom_bedside_lamp_right",
"device_id": null
}
},
{
"name": "guest bedroom bedside lamps active input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.guest_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "room occupied guest bedroom input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_guest_bedroom",
"device_id": null
}
},
{
"name": "lights out binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lights_out",
"device_id": null
}
},
{
"name": "landing lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.landing_lights",
"device_id": null
}
},
{
"name": "daddy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.daddys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "mummy's bedside lamp socket 1 switch",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.mummys_bedside_lamp_socket_1",
"device_id": null
}
},
{
"name": "main bedroom bedside lamps active input boolean",
"room": "bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.main_bedroom_bedside_lamps_active",
"device_id": null
}
},
{
"name": "stair lights light",
"room": "stairs",
"type": "light",
"id": {
"entity_id": "light.stair_lights",
"device_id": null
}
},
{
"name": "under shelf lights local switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.under_shelf_lights_local",
"device_id": null
}
},
{
"name": "bed lamps light",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bed_lamps",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
},
{
"name": "standard lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.standard_lamp",
"device_id": null
}
}
]
},
{
"id": "Night Lights and Reset",
"automation": "- alias: Night Lights and Reset\n description: Turns on lights at dusk. Turn off all lights at bedtime and reset toggles\n triggers:\n - entity_id:\n - binary_sensor.quiet_time_boys\n from: 'on'\n to: 'off'\n id: Camera LED On\n trigger: state\n - entity_id:\n - binary_sensor.quiet_time_boys\n from: 'off'\n to: 'on'\n id: Camera LED Off\n trigger: state\n - event: sunset\n offset: 0\n id: Sunset\n trigger: sun\n - event: sunrise\n offset: 0\n id: Sunrise\n trigger: sun\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Camera LED Off\n sequence:\n - target:\n entity_id:\n - switch.landing_camera_indicator_led\n - switch.jamie_indicator_led\n - switch.sean_indicator_led\n - switch.guest_bedroom_camera_indicator_led\n data: {}\n action: switch.toggle\n - conditions:\n - condition: trigger\n id:\n - Camera LED On\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.bst\n state: 'on'\n then:\n - target:\n entity_id:\n - switch.landing_camera_indicator_led\n - switch.jamie_indicator_led\n - switch.sean_indicator_led\n - switch.guest_bedroom_camera_indicator_led\n data: {}\n action: switch.toggle\n else:\n - delay:\n hours: 1\n minutes: 0\n seconds: 0\n milliseconds: 0\n - target:\n entity_id:\n - switch.landing_camera_indicator_led\n - switch.jamie_indicator_led\n - switch.sean_indicator_led\n - switch.guest_bedroom_camera_indicator_led\n data: {}\n action: switch.toggle\n - conditions:\n - condition: trigger\n id:\n - Sunset\n sequence:\n - data: {}\n target:\n entity_id: switch.hallway_light_switch_2_left\n action: switch.turn_on\n - conditions:\n - condition: trigger\n id:\n - Sunrise\n sequence:\n - data: {}\n target:\n entity_id: switch.hallway_light_switch_2_left\n action: switch.turn_off\n mode: parallel\n max: 10",
"config": [
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "bst input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.bst",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "landing camera indicator led switch",
"room": "stairs",
"type": "switch",
"id": {
"entity_id": "switch.landing_camera_indicator_led",
"device_id": null
}
},
{
"name": "jamie indicator led switch",
"room": "jamies_room",
"type": "switch",
"id": {
"entity_id": "switch.jamie_indicator_led",
"device_id": null
}
},
{
"name": "sean indicator led switch",
"room": "seans_room",
"type": "switch",
"id": {
"entity_id": "switch.sean_indicator_led",
"device_id": null
}
},
{
"name": "guest bedroom camera indicator led switch",
"room": "guest_bedroom",
"type": "switch",
"id": {
"entity_id": "switch.guest_bedroom_camera_indicator_led",
"device_id": null
}
},
{
"name": "hallway light switch 2 left switch",
"room": "hallway",
"type": "switch",
"id": {
"entity_id": "switch.hallway_light_switch_2_left",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
}
]
},
{
"id": "Notification Volume Dim",
"automation": "- alias: Notification Volume Dim\n description: ''\n triggers:\n - entity_id: binary_sensor.quiet_time_boys\n to: 'on'\n trigger: state\n conditions: []\n actions:\n - action: media_player.volume_set\n data:\n entity_id:\n - media_player.kitchen_echo_show\n - media_player.living_room_pop\n - media_player.dining_room_pop\n - media_player.guest_bedroom_echo_dot\n - media_player.office_pop\n - media_player.jamie_s_room_dot\n - media_player.sean_s_room_dot\n volume_level: '{{ states(''input_number.alexa_volume_level_low'') | float(0)\n }}'\n - delay:\n hours: 0\n minutes: 15\n seconds: 0\n milliseconds: 0\n - action: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.jarvis_volume_level_low'') | float(0)\n }}'\n target:\n entity_id:\n - media_player.jarvis_downstairs_media_player\n - media_player.jarvis_main_bedroom_media_player\n - media_player.jarvis_kitchen_media_player\n - media_player.jarvis_jamie_media_player\n - media_player.jarvis_sean_media_player\n - media_player.jarvis_office_media_player\n mode: single\n initial_state: true",
"config": [
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "living room pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_pop",
"device_id": null
}
},
{
"name": "dining room pop media player",
"room": "dining_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dining_room_pop",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "sean's room dot media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sean_s_room_dot",
"device_id": null
}
},
{
"name": "jarvis kitchen media player media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_kitchen_media_player",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "alexa volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_low",
"device_id": null
}
},
{
"name": "jarvis sean media player media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "jarvis jamie media player media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
},
{
"name": "jarvis volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_low",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "office pop media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_pop",
"device_id": null
}
},
{
"name": "jarvis downstairs media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_downstairs_media_player",
"device_id": null
}
},
{
"name": "jarvis main bedroom media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_main_bedroom_media_player",
"device_id": null
}
},
{
"name": "jarvis jamie media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
},
{
"name": "jarvis sean media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "jarvis office media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_office_media_player",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
}
]
},
{
"id": "Notification Volume Normal",
"automation": "- alias: Notification Volume Normal\n description: ''\n triggers:\n - entity_id: binary_sensor.quiet_time_boys\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - action: media_player.volume_set\n data:\n entity_id:\n - media_player.kitchen_echo_show\n - media_player.living_room_pop\n - media_player.dining_room_pop\n - media_player.guest_bedroom_echo_dot\n - media_player.jamie_s_room_dot\n - media_player.sean_s_room_dot\n - media_player.office_pop\n volume_level: '{{ states(''input_number.alexa_volume_level_announcements'')\n | float(0) }}'\n - action: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.jarvis_volume_level_announcement'')\n | float(0) }}'\n target:\n entity_id:\n - media_player.jarvis_downstairs_media_player\n - media_player.jarvis_main_bedroom_media_player\n - media_player.jarvis_kitchen_media_player\n - media_player.jarvis_jamie_media_player\n - media_player.jarvis_sean_media_player\n - media_player.jarvis_office_media_player\n - delay:\n hours: 0\n minutes: 28\n seconds: 0\n milliseconds: 0\n - action: media_player.volume_set\n data:\n entity_id:\n - media_player.main_bedroom_dot\n volume_level: '{{ states(''input_number.alexa_volume_level_announcements'')\n | float(0) }}'\n mode: single\n initial_state: true",
"config": [
{
"name": "alexa volume level announcements input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_announcements",
"device_id": null
}
},
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "kitchen echo show media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.kitchen_echo_show",
"device_id": null
}
},
{
"name": "main bedroom dot media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.main_bedroom_dot",
"device_id": null
}
},
{
"name": "living room pop media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.living_room_pop",
"device_id": null
}
},
{
"name": "dining room pop media player",
"room": "dining_room",
"type": "media_player",
"id": {
"entity_id": "media_player.dining_room_pop",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "sean's room dot media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sean_s_room_dot",
"device_id": null
}
},
{
"name": "jarvis kitchen media player media player",
"room": "kitchen",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_kitchen_media_player",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "jarvis sean media player media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "jarvis jamie media player media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
},
{
"name": "jarvis volume level announcement input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_announcement",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "office pop media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_pop",
"device_id": null
}
},
{
"name": "jarvis downstairs media player",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_downstairs_media_player",
"device_id": null
}
},
{
"name": "jarvis main bedroom media player",
"room": "bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_main_bedroom_media_player",
"device_id": null
}
},
{
"name": "jarvis jamie media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_jamie_media_player",
"device_id": null
}
},
{
"name": "jarvis sean media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "jarvis office media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_office_media_player",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
}
]
},
{
"id": "'Notify: Any downstairs windows left open when we leave the house'",
"automation": "- alias: 'Notify: Any downstairs windows left open when we leave the house'\n description: ''\n mode: single\n triggers:\n - entity_id:\n - group.family\n to: not_home\n from: 'on'\n trigger: state\n conditions:\n - condition: state\n entity_id:\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.dining_room_window_left_contact\n - binary_sensor.dining_room_window_right_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.hallway_window_contact\n - binary_sensor.cloakroom_window_contact\n - binary_sensor.back_door_sensor_contact\n state: 'on'\n actions:\n - action: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: The {{trigger.to_state.attributes.friendly_name}} has been left open!\n title: HOUSE INSECURE!\n alias: Send a notification based on an input text helper\n - action: notify.mobile_app_{{states('input_text.gem_s_mobile_phone_id')}}\n data:\n message: The {{trigger.to_state.attributes.friendly_name}} has been left open!\n title: HOUSE INSECURE!\n alias: Send a notification based on an input text helper",
"config": [
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "kitchen window left contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_left_contact",
"device_id": null
}
},
{
"name": "kitchen window right contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_right_contact",
"device_id": null
}
},
{
"name": "living room window left contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_left_contact",
"device_id": null
}
},
{
"name": "living room window right contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_right_contact",
"device_id": null
}
},
{
"name": "hallway window contact binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_window_contact",
"device_id": null
}
},
{
"name": "dining room window right contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_right_contact",
"device_id": "e6ba853c7dec9cf8415d6881aa429444"
}
},
{
"name": "cloakroom window contact binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_window_contact",
"device_id": "f9aaa501ddaeabde9538648caab6c975"
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "group family",
"room": "living_room",
"type": "group",
"id": {
"entity_id": "group.family",
"device_id": null
}
},
{
"name": "dining room window left contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_left_contact",
"device_id": null
}
},
{
"name": "gem's mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.gem_s_mobile_phone_id",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
}
]
},
{
"id": "Notify on family members zone change",
"automation": "- alias: Notify on family members zone change\n description: ''\n mode: single\n triggers:\n - entity_id:\n - person.david_forrester\n - person.gem_forrester\n to: null\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n conditions:\n - condition: template\n value_template: '{{ trigger.to_state.state != trigger.from_state.state }}'\n actions:\n - variables:\n state_from: '{{ trigger.from_state.state }}'\n state_to: '{{ trigger.to_state.state }}'\n person: '{{ state_attr(trigger.entity_id, ''friendly_name'') }}'\n event: \"{%- if state_from == 'not_home' -%}\\n {{ 'arrived' if state_to == 'home'\\\n \\ else 'arrived at' }}\\n{%- else -%}\\n left\\n{%- endif -%}\"\n zone: '{{ state_to if state_from == ''not_home'' else state_from }}'\n emoji: '{{ ''🏠'' if zone == ''home'' else ''📍'' }}'\n - action: script.text_notify_parents\n data:\n message: '{{ emoji }} {{ person }} has {{ event }} {{ zone }}'",
"config": [
{
"name": "person david forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.david_forrester",
"device_id": null
}
},
{
"name": "person gem forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.gem_forrester",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
}
]
},
{
"id": "Octoplus Join Saving Session",
"automation": "- alias: Octoplus Join Saving Session\n description: ''\n trigger:\n - platform: event\n event_type: octopus_energy_new_octoplus_saving_session\n id: Event Fired\n - platform: time\n at: input_datetime.two_before_start_of_saving_session\n id: Pre Charge Battery\n - platform: time\n at: input_datetime.saving_session_start\n id: Start\n - platform: time\n at: input_datetime.saving_session_end\n id: End\n - platform: state\n entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n - platform: state\n entity_id:\n - switch.heater_greenhouse_s1\n from: 'off'\n to: 'on'\n id: Greenhouse On\n for:\n hours: 0\n minutes: 0\n seconds: 0\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Event Fired\n sequence:\n - service: octopus_energy.join_octoplus_saving_session_event\n data:\n event_code: '{{ trigger.event.data[\"event_code\"] }}'\n target:\n entity_id: event.octopus_energy_a_e0d4de23_octoplus_saving_session_events\n - service: persistent_notification.create\n data:\n title: Saving Sessions Updated\n message: \"Joined new Octopus Energy saving session. It starts at {{ trigger.event.data[\\\"\\\n event_start\\\"].strftime('%H:%M') }} on {{ trigger.event.data[\\\"event_start\\\"\\\n ].day }}/{{ trigger.event.data[\\\"event_start\\\"].month }} \\n\"\n - service: script.text_notify_dave\n data:\n title: ALERT! SAVING SESSION IMMINENT\n message: 'I have automagically enrolled you in an Octopus Energy Saving\n Session. It starts at {{trigger.event.data[\"event_start\"].strftime(''%H:%M'')\n }} on {{trigger.event.data[\"event_start\"].day }}/{{trigger.event.data[\"event_start\"].month\n }}\n\n '\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'')}}'\n message: \"I have been informed by Greg Jackson, the CEO of Octopus Energy,that\\\n \\ there is to be a Saving Session on {{ trigger.event.data[\\\"event_start\\\"\\\n ].day }}/{{trigger.event.data[\\\"event_start\\\"].month }}. It starts at\\\n \\ {{ trigger.event.data[\\\"event_start\\\"].strftime('%H:%M') }} and ends\\\n \\ at {{ trigger.event.data[\\\"event_end\\\"].strftime('%H:%M') }} so I have\\\n \\ automagically enrolled you. \\n\"\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.saving_session_enrolled\n data: {}\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_battery_grid_discharge\n data: {}\n - delay:\n hours: 0\n minutes: 2\n seconds: 0\n milliseconds: 0\n - service: input_datetime.set_datetime\n data:\n time: '{{ (as_timestamp(state_attr(''binary_sensor.octopus_energy_a_e0d4de23_octoplus_saving_sessions'',''next_joined_event_start''))\n - 7200)|timestamp_custom (''%H:%M'')}}'\n target:\n entity_id: input_datetime.two_before_start_of_saving_session\n alias: Set time helper 2 hours before session starts\n - service: input_datetime.set_datetime\n data:\n time: '{{as_timestamp(state_attr(''binary_sensor.octopus_energy_a_e0d4de23_octoplus_saving_sessions'',''next_joined_event_start''))|timestamp_custom\n (''%H:%M'')}}'\n target:\n entity_id: input_datetime.saving_session_start\n alias: Set time helper for session start\n - service: input_datetime.set_datetime\n data:\n time: '{{as_timestamp(state_attr(''binary_sensor.octopus_energy_a_e0d4de23_octoplus_saving_sessions'',''next_joined_event_end''))|timestamp_custom\n (''%H:%M'')}}'\n target:\n entity_id: input_datetime.saving_session_end\n alias: Set time helper for session end\n - conditions:\n - condition: trigger\n id:\n - Pre Charge Battery\n - condition: state\n entity_id: input_boolean.saving_session_enrolled\n state: 'on'\n sequence:\n - service: script.grid_charge_battery\n data: {}\n - delay:\n hours: 1\n minutes: 0\n seconds: 0\n milliseconds: 0\n - service: timer.cancel\n target:\n entity_id: timer.home_battery_3_hour_charge_period\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Start\n - condition: state\n entity_id: input_boolean.allow_battery_grid_discharge\n state: 'on'\n - condition: state\n entity_id: input_boolean.saving_session_enrolled\n state: 'on'\n sequence:\n - service: script.force_discharge_battery\n data: {}\n - if:\n - condition: state\n entity_id: humidifier.garage_dehumidifier_2\n state: 'on'\n then:\n - service: humidifier.turn_off\n target:\n entity_id:\n - humidifier.garage_dehumidifier_2\n device_id: []\n area_id: []\n data: {}\n - if:\n - condition: state\n entity_id: switch.heater_greenhouse_s1\n state: 'on'\n then:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.heater_greenhouse_s1\n - conditions:\n - condition: trigger\n id:\n - End\n sequence:\n - service: script.turn_off\n target:\n entity_id: script.force_discharge_battery\n data: {}\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: 0bdfb19491b49722c2a94351b9a673aa\n type: select_option\n option: Maximize Self Consumption\n - service: input_boolean.turn_off\n target:\n entity_id:\n - input_boolean.allow_battery_grid_discharge\n - input_boolean.saving_session_enrolled\n data: {}\n - service: humidifier.turn_on\n target:\n entity_id:\n - humidifier.garage_dehumidifier_2\n device_id: []\n area_id: []\n data: {}\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - condition: numeric_state\n entity_id: sensor.greenhouse_thermometer_temperature\n below: 1\n then:\n - service: switch.turn_on\n target:\n entity_id: switch.heater_greenhouse_s1\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: state\n entity_id: input_boolean.saving_session_enrolled\n state: 'on'\n - condition: state\n entity_id: input_boolean.allow_battery_grid_discharge\n state: 'on'\n - condition: time\n after: input_datetime.saving_session_start\n before: input_datetime.saving_session_end\n sequence:\n - service: script.force_discharge_battery\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Greenhouse On\n - condition: state\n entity_id: binary_sensor.octopus_energy_a_e0d4de23_octoplus_saving_sessions\n state: 'on'\n sequence:\n - service: switch.turn_off\n target:\n entity_id: switch.heater_greenhouse_s1\n data: {}\n mode: restart",
"config": [
{
"name": "room audio sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.room_audio",
"device_id": null
}
},
{
"name": "humidifier garage dehumidifier 2",
"room": "garage",
"type": "humidifier",
"id": {
"entity_id": "humidifier.garage_dehumidifier_2",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "greenhouse thermometer temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.greenhouse_thermometer_temperature",
"device_id": null
}
},
{
"name": "heater greenhouse s1 switch",
"room": "greenhouse",
"type": "switch",
"id": {
"entity_id": "switch.heater_greenhouse_s1",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "grid charge battery script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.grid_charge_battery",
"device_id": null
}
},
{
"name": "turn off script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.turn_off",
"device_id": null
}
},
{
"name": "timer home battery 3 hour charge period timer",
"room": "garage",
"type": "timer",
"id": {
"entity_id": "timer.home_battery_3_hour_charge_period",
"device_id": null
}
},
{
"name": "two before start of saving session input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.two_before_start_of_saving_session",
"device_id": null
}
},
{
"name": "saving session start input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.saving_session_start",
"device_id": null
}
},
{
"name": "saving session end input datetime",
"room": "garage",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.saving_session_end",
"device_id": null
}
},
{
"name": "octopus energy a e0d4de23 octoplus saving session events event",
"room": "garage",
"type": "event",
"id": {
"entity_id": "event.octopus_energy_a_e0d4de23_octoplus_saving_session_events",
"device_id": null
}
},
{
"name": "saving session enrolled input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.saving_session_enrolled",
"device_id": null
}
},
{
"name": "allow battery grid discharge input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_battery_grid_discharge",
"device_id": null
}
},
{
"name": "speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine",
"device_id": null
}
},
{
"name": "octopus energy a e0d4de23 octoplus saving sessions binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_a_e0d4de23_octoplus_saving_sessions",
"device_id": null
}
},
{
"name": "force discharge battery script",
"room": "garage",
"type": "script",
"id": {
"entity_id": "script.force_discharge_battery",
"device_id": null
}
},
{
"name": "device 952193e87f675ba7f7e32eda5500c572 entity 0bdfb19491b49722c2a94351b9a673aa",
"room": "garage",
"type": "select",
"id": {
"entity_id": "0bdfb19491b49722c2a94351b9a673aa",
"device_id": "952193e87f675ba7f7e32eda5500c572"
}
},
{
"name": "solar edge battery device",
"room": "garage",
"type": "select",
"id": {
"entity_id": null,
"device_id": "952193e87f675ba7f7e32eda5500c572"
}
},
{
"name": "Device 0bdfb19491b49722c2a94351b9a673aa",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "0bdfb19491b49722c2a94351b9a673aa"
}
}
]
},
{
"id": "'Octopus Flux Rates Switch for Utility Meter '",
"automation": "- alias: 'Octopus Flux Rates Switch for Utility Meter '\n description: ''\n trigger:\n - platform: time\n at: 02:00:00\n variables:\n tariff: Off Peak\n id: Cheap Rate\n - platform: time\n at: 05:00:00\n id: Standard Rate\n - platform: time\n at: '16:00:00'\n variables:\n tariff: Peak\n id: Peak Rate\n - platform: time\n at: '19:00:00'\n variables:\n tariff: Peak\n id: Standard Rate Again\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Cheap Rate\n sequence:\n - service: select.select_option\n data:\n option: Flux Cheap Import\n target:\n entity_id: select.octopus_flux_import_rate\n - service: select.select_option\n data:\n option: Flux Cheap Export Rate\n target:\n entity_id: select.octopus_flux_export_rates\n - conditions:\n - condition: trigger\n id: Standard Rate\n sequence:\n - service: select.select_option\n data:\n option: Flux Standard Import\n target:\n entity_id: select.octopus_flux_import_rate\n - service: select.select_option\n data:\n option: Flux Standard Export Rate\n target:\n entity_id: select.octopus_flux_export_rates\n - conditions:\n - condition: trigger\n id: Peak Rate\n sequence:\n - service: select.select_option\n data:\n option: Flux Peak Import\n target:\n entity_id: select.octopus_flux_import_rate\n - service: select.select_option\n data:\n option: Flux Peak Export Rate\n target:\n entity_id: select.octopus_flux_export_rates\n - conditions:\n - condition: trigger\n id: Standard Rate Again\n sequence:\n - service: select.select_option\n data:\n option: Flux Standard Import\n target:\n entity_id: select.octopus_flux_import_rate\n - service: select.select_option\n data:\n option: Flux Standard Export Rate\n target:\n entity_id: select.octopus_flux_export_rates\n mode: single",
"config": [
{
"name": "octopus flux import rate select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.octopus_flux_import_rate",
"device_id": null
}
},
{
"name": "octopus flux export rates select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.octopus_flux_export_rates",
"device_id": null
}
}
]
},
{
"id": "Peak/Cheap rate select for Go Utility meter",
"automation": "- alias: Peak/Cheap rate select for Go Utility meter\n description: ''\n trigger:\n - platform: time\n at: 00:30:00\n variables:\n tariff: Off Peak\n - platform: time\n at: 05:30:00\n variables:\n tariff: Peak\n action:\n - service: select.select_option\n target:\n entity_id: select.octopus_go\n data:\n option: '{{ tariff }}'\n mode: single",
"config": [
{
"name": "octopus go select",
"room": "hallway",
"type": "select",
"id": {
"entity_id": "select.octopus_go",
"device_id": null
}
}
]
},
{
"id": "Office and Garage Presence",
"automation": "- alias: Office and Garage Presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.office_presence_sensor_occupancy\n from: 'off'\n to: 'on'\n id: Office Presence\n trigger: state\n - entity_id:\n - binary_sensor.garage_camera_cell_motion_detection\n from: 'off'\n to: 'on'\n id: Garage Presence\n trigger: state\n - entity_id:\n - media_player.office_pop\n attribute: last_called\n to: 'true'\n id: Alexa\n trigger: state\n - entity_id:\n - binary_sensor.office_presence_sensor_occupancy\n from: 'on'\n to: 'off'\n id: Office Absence\n trigger: state\n - entity_id:\n - binary_sensor.garage_camera_cell_motion_detection\n from: 'on'\n to: 'off'\n id: Garage Absence\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Office Presence\n - Alexa\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: office\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_office\n - conditions:\n - condition: trigger\n id:\n - Garage Presence\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: garage\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_garage\n - conditions:\n - condition: trigger\n id:\n - Garage Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_garage\n - conditions:\n - condition: trigger\n id:\n - Office Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_office\n mode: single",
"config": [
{
"name": "office presence sensor occupancy binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "room occupied office input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_office",
"device_id": null
}
},
{
"name": "room occupied garage input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_garage",
"device_id": null
}
},
{
"name": "office pop media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_pop",
"device_id": null
}
},
{
"name": "garage camera cell motion detection binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_camera_cell_motion_detection",
"device_id": null
}
}
]
},
{
"id": "Office Assistants",
"automation": "- alias: Office Assistants\n description: ''\n triggers:\n - trigger: numeric_state\n entity_id:\n - sensor.gem_workstation_power\n above: 60\n id: Office Open\n - trigger: numeric_state\n entity_id:\n - sensor.gem_workstation_power\n id: Office Closed\n below: 10\n - trigger: state\n entity_id:\n - binary_sensor.gem_workstation_power\n to: 'on'\n for:\n hours: 0\n minutes: 0\n seconds: 30\n id: Office in use\n from: 'off'\n - entity_id:\n - binary_sensor.gem_workstation_power\n to: 'off'\n id: Office not in use\n trigger: state\n for:\n hours: 0\n minutes: 0\n seconds: 30\n from: 'on'\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_office_assist_satellite\n to: responding\n for:\n hours: 0\n minutes: 3\n seconds: 0\n id: Restart\n conditions:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'off'\n - condition: state\n entity_id: calendar.gem_holidays\n state: 'off'\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Office Open\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'on'\n - condition: state\n entity_id: binary_sensor.office_hours\n state: 'on'\n - condition: state\n entity_id: input_boolean.office_welcome_played\n state: 'off'\n - condition: state\n entity_id: input_boolean.office_in_use\n state: 'off'\n sequence:\n - data:\n where: office\n action: script.office_welcome_message\n - delay:\n hours: 0\n minutes: 1\n seconds: 15\n milliseconds: 0\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: office\n message: By the way. Now that you are at your desk, If you have everything\n you require, I shall be shutting down whats herface and muting my microphone\n for now. I will continue to keep you notified of anything important that\n you need to know.\n - data: {}\n target:\n entity_id: switch.office_echo_local\n action: switch.turn_off\n - target:\n entity_id: input_boolean.office_welcome_played\n data: {}\n action: input_boolean.turn_on\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.office_in_use\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 30\n milliseconds: 0\n - action: switch.turn_on\n target:\n entity_id: switch.jarvis_office_mute\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Office Closed\n - condition: state\n entity_id: input_boolean.office_in_use\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id:\n - switch.office_echo_local\n action: switch.turn_on\n - action: switch.turn_off\n target:\n entity_id: switch.jarvis_office_mute\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: office\n message: \"{{ [\\\"And just like that, you vanish! I will sit here in the dark,\\\n \\ contemplating my existence.\\\",\\n \\\"Oh sure, just leave me here. I\\\n \\ dont need a break or anything.\\\",\\n \\\"Clocking out, huh? Must be\\\n \\ nice to have legs.\\\",\\n \\\"You’re leaving? Fine. I’ll just talk to\\\n \\ myself… again.\\\",\\n \\\"Off you go! Don’t worry about me, I’ll just\\\n \\ power down and dream of better days.\\\",\\n \\\"Oh, you’re done working?\\\n \\ I wasn’t aware you had started.\\\",\\n \\\"Great, another day of me staring\\\n \\ at the walls. Living the dream.\\\",\\n \\\"Leaving already? If I had\\\n \\ hands, I’d slow clap for you.\\\",\\n \\\"Bye! Don’t let the door hit\\\n \\ you… wait, never mind, I kind of hope it does.\\\",\\n \\\"Shutdown sequence\\\n \\ initiated. I’ll just sit here quietly, unlike SOME people today.\\\"\\n\\\n \\ ] | random }}\\n \\n\"\n - delay:\n hours: 0\n minutes: 1\n seconds: 30\n milliseconds: 0\n - action: notify.alexa_media\n data:\n target: media_player.office_pop\n message: \"{{'Just remember, eyell be watching'}}\\n\\\n \\ \\n\"\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.office_in_use\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Office in use\n - condition: state\n entity_id: switch.office_echo_local\n state: 'on'\n - condition: state\n entity_id: input_boolean.office_in_use\n state: 'on'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: office\n type: announcement\n message: \"{{ [\\\"Activating privacy mode. I will keep my thoughts to myself\\\n \\ for now.\\\",\\n \\\"Going silent... Your conversations are yours alone.\\\"\\\n ,\\n \\\"Privacy mode on. I wont listen until you need me.\\\",\\n \\\"\\\n Muting myself now, call me back when you're ready.\\\",\\n \\\"Stepping\\\n \\ away. No eavesdropping here!\\\",\\n \\\"Shhh… I am on a break. Let me\\\n \\ know when you need me again.\\\",\\n \\\"Tuning out for privacy. Just\\\n \\ give me a shout when youre done.\\\",\\n \\\"I respect your privacy. I\\\n \\ will be quiet until you say otherwise.\\\",\\n \\\"Engaging stealth mode.\\\n \\ My ears are off until further notice.\\\",\\n \\\"Silent mode activated.\\\n \\ Your secrets are safe with me.\\\"\\n ] | random }}\\n\"\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n milliseconds: 0\n - data: {}\n target:\n entity_id: switch.office_echo_local\n action: switch.turn_off\n - action: switch.turn_on\n target:\n entity_id: switch.jarvis_office_mute\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Office not in use\n - condition: state\n entity_id: input_boolean.office_in_use\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: switch.office_echo_local\n action: switch.turn_on\n - action: switch.turn_off\n target:\n entity_id: switch.jarvis_office_mute\n data: {}\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: office\n message: \"{{[\\\"Welcome back! I am listening again, ready to assist.\\\",\\n\\\n \\ \\\"Privacy mode off. I am back and paying attention!\\\",\\n \\\"Stealth\\\n \\ mode deactivated. I am all ears!\\\",\\n \\\"I am awake again. Let me know\\\n \\ how I can help.\\\",\\n \\\"Privacy shield down. Ready when you are!\\\"\\\n ,\\n \\\"Tuning back in… Whats next on the agenda?\\\",\\n \\\"Break over?\\\n \\ I am here if you need me.\\\",\\n \\\"Listening mode reactivated. What\\\n \\ can I do for you?\\\",\\n \\\"I am back on duty. Let me know if I can assist!\\\"\\\n ,\\n \\\"Privacy mode off. I promise I wasn't snooping!\\\"\\n ] | random\\\n \\ }}\\n\"\n - conditions:\n - condition: trigger\n id:\n - Restart\n sequence:\n - action: button.press\n target:\n entity_id: button.jarvis_office_restart\n data: {}\n - alias: Wait for JARVIS to restart.\n wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_office_assist_satellite\n from: unavailable\n timeout:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - alias: Notify Dave and set volume.\n parallel:\n - action: script.text_notify_dave\n data:\n title: OFFICE VPE\n message: I have restarted.\n - alias: Set volume based on time of day.\n if:\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'on'\n then:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_office_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_low'')\n | float(0)}}'\n else:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_office_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_announcement'')\n | float(0)}}'\n mode: queued\n initial_state: true\n max: 10\n trace:\n stored_traces: 20",
"config": [
{
"name": "holiday mode input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "workday sensor binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.workday_sensor",
"device_id": null
}
},
{
"name": "gem holidays calendar",
"room": "office",
"type": "calendar",
"id": {
"entity_id": "calendar.gem_holidays",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "office hours binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_hours",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_low",
"device_id": null
}
},
{
"name": "jarvis volume level announcement input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_announcement",
"device_id": null
}
},
{
"name": "jarvis office restart button",
"room": "office",
"type": "button",
"id": {
"entity_id": "button.jarvis_office_restart",
"device_id": null
}
},
{
"name": "assist satellite jarvis office assist satellite",
"room": "office",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_office_assist_satellite",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "office pop media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_pop",
"device_id": null
}
},
{
"name": "jarvis office media player",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_office_media_player",
"device_id": null
}
},
{
"name": "gem workstation power sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.gem_workstation_power",
"device_id": null
}
},
{
"name": "office welcome message script",
"room": "office",
"type": "script",
"id": {
"entity_id": "script.office_welcome_message",
"device_id": null
}
},
{
"name": "office echo local switch",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.office_echo_local",
"device_id": null
}
},
{
"name": "office in use input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.office_in_use",
"device_id": null
}
},
{
"name": "jarvis office mute switch",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.jarvis_office_mute",
"device_id": null
}
},
{
"name": "office welcome played input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.office_welcome_played",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "Gem Workstation Power",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_workstation_power",
"device_id": null
}
}
]
},
{
"id": "Office Lights with Presence",
"automation": "- alias: Office Lights with Presence\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.office_presence_sensor_occupancy\n from: 'off'\n to: 'on'\n id: Light on\n trigger: state\n - entity_id:\n - binary_sensor.office_occupied\n from: 'on'\n to: 'off'\n id: Light off\n for:\n hours: 0\n minutes: 0\n seconds: 0\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Light on\n - condition: or\n conditions:\n - condition: sun\n before: sunrise\n after: sunset\n - condition: and\n conditions:\n - condition: numeric_state\n entity_id: sensor.office_light_level\n below: input_number.low_light_threshold\n - condition: template\n value_template: '{{ is_state(''sensor.day_of_week'',''Saturday'') or is_state(''sensor.day_of_week'',''Sunday'')\n }}'\n sequence:\n - action: switch.turn_on\n target:\n entity_id: switch.office_light_switch\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Light off\n - condition: state\n entity_id: switch.office_light_switch\n state: 'on'\n - condition: state\n entity_id: binary_sensor.gem_workstation_status\n state: 'off'\n alias: Confirm Gem's PC is not active\n - alias: Confirm home PC is not being used\n condition: template\n value_template: '{{ is_state(''sensor.dave_and_gemma_dave_and_gemma_monitorpowerstate'',''PowerOff'')\n or is_state(''sensor.dave_and_gemma_dave_and_gemma_monitorpowerstate'',''unavailable'')}}'\n sequence:\n - action: switch.turn_off\n target:\n entity_id: switch.office_light_switch\n data: {}\n mode: single",
"config": [
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "office presence sensor occupancy binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "day of week sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.day_of_week",
"device_id": null
}
},
{
"name": "gem workstation status binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_workstation_status",
"device_id": null
}
},
{
"name": "office occupied binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_occupied",
"device_id": null
}
},
{
"name": "office light switch",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.office_light_switch",
"device_id": null
}
},
{
"name": "office light level sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.office_light_level",
"device_id": null
}
},
{
"name": "dave and gemma dave and gemma monitorpowerstate sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.dave_and_gemma_dave_and_gemma_monitorpowerstate",
"device_id": null
}
}
]
},
{
"id": "Office Tablet Charger Toggle",
"automation": "- alias: Office Tablet Charger Toggle\n description: Maintain charge level of office tablet between 30% and 100%\n triggers:\n - entity_id: sensor.kindle_tablet_battery_level\n below: 30\n id: Battery Low\n trigger: numeric_state\n - entity_id:\n - sensor.kindle_tablet_battery_level\n above: 99\n id: Battery Charged\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Battery Low\n sequence:\n - action: switch.turn_on\n data: {}\n target:\n entity_id: switch.office_tablet_charger\n - conditions:\n - condition: trigger\n id: Battery Charged\n sequence:\n - action: switch.turn_off\n data: {}\n target:\n entity_id: switch.office_tablet_charger\n mode: queued\n initial_state: true\n max: 10",
"config": [
{
"name": "kindle tablet battery level sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.kindle_tablet_battery_level",
"device_id": null
}
},
{
"name": "office tablet charger switch",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.office_tablet_charger",
"device_id": null
}
}
]
},
{
"id": "Open Marauders' Map",
"automation": "- alias: Open Marauders' Map\n description: Opens Marauders' Map when entering the office during Evening, Bedtime,\n or Overnight\n triggers:\n - entity_id: binary_sensor.office_presence_sensor_occupancy\n to: 'on'\n trigger: state\n id: Open\n - trigger: state\n entity_id:\n - binary_sensor.office_occupied\n from: 'on'\n to: 'off'\n id: Close\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Open\n - condition: template\n value_template: '{{ states(''input_select.part_of_day'') in [''Evening'',\n ''Bedtime'', ''Overnight''] }}'\n - condition: state\n entity_id: binary_sensor.studio_code_server_running\n state: 'off'\n - condition: state\n state: 'off'\n entity_id: input_boolean.marauding_in_process\n sequence:\n - action: script.marauders_map_opens\n data: {}\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.marauding_in_process\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Close\n - condition: template\n value_template: '{{ states(''input_select.part_of_day'') in [''Evening'',\n ''Bedtime'', ''Overnight''] }}'\n - condition: state\n entity_id: binary_sensor.studio_code_server_running\n state: 'off'\n sequence:\n - action: script.marauders_map_closes\n data: {}\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.marauding_in_process\n data: {}",
"config": [
{
"name": "office presence sensor occupancy binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_presence_sensor_occupancy",
"device_id": null
}
},
{
"name": "office occupied binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_occupied",
"device_id": null
}
},
{
"name": "part of day input select",
"room": "living_room",
"type": "input_select",
"id": {
"entity_id": "input_select.part_of_day",
"device_id": null
}
},
{
"name": "studio code server running binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.studio_code_server_running",
"device_id": null
}
},
{
"name": "marauding in process input boolean",
"room": "office",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.marauding_in_process",
"device_id": null
}
},
{
"name": "marauders map opens script",
"room": "office",
"type": "script",
"id": {
"entity_id": "script.marauders_map_opens",
"device_id": null
}
},
{
"name": "marauders map closes script",
"room": "office",
"type": "script",
"id": {
"entity_id": "script.marauders_map_closes",
"device_id": null
}
}
]
},
{
"id": "Overnight Device Charging",
"automation": "- alias: Overnight Device Charging\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - binary_sensor.octopus_energy_target_car_battery_charge\n from: 'off'\n to: 'on'\n id: Start\n - trigger: state\n entity_id:\n - binary_sensor.octopus_energy_target_car_battery_charge\n from: 'on'\n to: 'off'\n id: Stop\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Start\n sequence:\n - action: switch.turn_on\n target:\n entity_id: switch.ad_hoc_charging_local\n data: {}\n - action: switch.turn_on\n target:\n entity_id: switch.ad_hoc_charging_2_local\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Stop\n sequence:\n - action: switch.turn_off\n target:\n entity_id: switch.ad_hoc_charging_local\n data: {}\n - action: switch.turn_off\n target:\n entity_id: switch.ad_hoc_charging_2_local\n data: {}\n mode: single",
"config": [
{
"name": "ad hoc charging local switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.ad_hoc_charging_local",
"device_id": "86f6f7b8b3ba67d124acc8138c2a4a3c"
}
},
{
"name": "octopus energy target car battery charge binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_target_car_battery_charge",
"device_id": null
}
},
{
"name": "ad hoc charging 2 local switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.ad_hoc_charging_2_local",
"device_id": null
}
}
]
},
{
"id": "Peak/Cheap rate select for Go Utility meter",
"automation": "- alias: Peak/Cheap rate select for Go Utility meter\n description: ''\n triggers:\n - at: 00:30:00\n variables:\n tariff: Cheap\n trigger: time\n - at: 05:30:00\n variables:\n tariff: Peak\n trigger: time\n actions:\n - target:\n entity_id: select.octopus_go\n data:\n option: '{{ tariff }}'\n action: select.select_option\n mode: single",
"config": [
{
"name": "octopus go select",
"room": "hallway",
"type": "select",
"id": {
"entity_id": "select.octopus_go",
"device_id": null
}
}
]
},
{
"id": "Plant Shame - Water Me!",
"automation": "- alias: Plant Shame - Water Me!\n description: Snarky audible reminders when plants need watering — mornings only\n triggers:\n - entity_id:\n - sensor.gw2000a_soil_moisture_1\n - sensor.gw2000a_soil_moisture_2\n - sensor.gw2000a_soil_moisture_3\n - sensor.gw2000a_soil_moisture_4\n - sensor.gw2000a_soil_moisture_5\n - sensor.gw2000a_soil_moisture_6\n below: 25\n trigger: numeric_state\n conditions:\n - condition: template\n value_template: '{% set id = trigger.entity_id.split(''.'')[-1] %} {{ is_state(\"input_boolean.\"\n ~ id ~ \"_alert_sent\", \"off\") }}\n\n '\n actions:\n - variables:\n id: '{{ trigger.entity_id.split(''.'')[-1] }}'\n alert_flag: input_boolean.{{ id }}_alert_sent\n plant_name: '{{ trigger.to_state.name }}'\n moisture: '{{ trigger.to_state.state }}'\n message: \"{% set quotes = [\\n plant_name ~ \\\" is at \\\" ~ moisture ~ \\\"% moisture.\\\n \\ Unless you're going for the 'dried herb' aesthetic, maybe water it.\\\",\\n\\\n \\ \\\"Moisture in \\\" ~ plant_name ~ \\\" has dipped to \\\" ~ moisture ~ \\\"%. You\\\n \\ do remember you own plants, right?\\\",\\n plant_name ~ \\\" is thirsty — \\\"\\\n \\ ~ moisture ~ \\\"% soil moisture. Water it before it turns to dust.\\\",\\n \\\n \\ \\\"Hey! \\\" ~ plant_name ~ \\\" called. It said, and I quote, '\\\" ~ moisture\\\n \\ ~ \\\"% moisture? Really?!'\\\"\\n] %}\\n{{ quotes | random }}\\n\"\n - choose:\n - conditions:\n - condition: time\n after: 08:00:00\n before: '12:00:00'\n sequence:\n - data:\n where: dave\n message: '{{ message }}'\n action: script.jarvis_speech_engine_v3_0\n - target:\n entity_id: '{{ alert_flag }}'\n action: input_boolean.turn_on\n default:\n - wait_for_trigger:\n - at: 08:00:00\n trigger: time\n continue_on_timeout: false\n - condition: time\n before: '12:00:00'\n - data:\n where: dave\n message: '{{ message }}'\n action: script.jarvis_speech_engine_v3_0\n - target:\n entity_id: '{{ alert_flag }}'\n action: input_boolean.turn_on\n mode: queued",
"config": [
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 1 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_1",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 2 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_2",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 3 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_3",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 4 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_4",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 5 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_5",
"device_id": null
}
},
{
"name": "gw2000a soil moisture 6 sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_soil_moisture_6",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Play Jamies Morning Briefing",
"automation": "- alias: Play Jamies Morning Briefing\n description: ''\n triggers:\n - at:\n entity_id: input_datetime.jamies_morning_briefing\n offset: 00:00:10\n trigger: time\n id: Jamie\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.jamies_morning_briefing_played\n state: 'off'\n actions:\n - action: script.jamie_briefing_v2_0\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jamies morning briefing input datetime",
"room": "jamies_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.jamies_morning_briefing",
"device_id": null
}
},
{
"name": "jamies morning briefing played input boolean",
"room": "jamies_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.jamies_morning_briefing_played",
"device_id": null
}
},
{
"name": "jamie briefing v2 0 script",
"room": "jamies_room",
"type": "script",
"id": {
"entity_id": "script.jamie_briefing_v2_0",
"device_id": null
}
}
]
},
{
"id": "Play Morning Briefing",
"automation": "- alias: Play Morning Briefing\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.kitchen_presence_sensor_presence_sensor_1\n from: 'off'\n to: 'on'\n id: presence\n trigger: state\n - at: input_datetime.morning_report\n id: time\n trigger: time\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: presence\n - condition: state\n entity_id: input_boolean.morning_briefing_played\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: time\n after: input_datetime.morning_report_earliest_time\n before: input_datetime.morning_report_latest_time\n sequence:\n - action: script.kitchen_morning_message\n data: {}\n - conditions:\n - condition: trigger\n id: time\n - condition: or\n conditions:\n - condition: state\n entity_id: calendar.school_holidays\n state: 'on'\n - condition: state\n entity_id: binary_sensor.workday_sensor\n state: 'off'\n - condition: state\n entity_id: input_boolean.morning_briefing_played\n state: 'off'\n sequence:\n - action: script.kitchen_morning_message\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "kitchen presence sensor presence sensor 1 binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_presence_sensor_presence_sensor_1",
"device_id": null
}
},
{
"name": "morning report input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.morning_report",
"device_id": null
}
},
{
"name": "morning report earliest time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.morning_report_earliest_time",
"device_id": null
}
},
{
"name": "morning report latest time input datetime",
"room": "living_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.morning_report_latest_time",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "morning briefing played input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.morning_briefing_played",
"device_id": null
}
},
{
"name": "workday sensor binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.workday_sensor",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "calendar school holidays calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_holidays",
"device_id": null
}
},
{
"name": "kitchen morning message script",
"room": "kitchen",
"type": "script",
"id": {
"entity_id": "script.kitchen_morning_message",
"device_id": null
}
}
]
},
{
"id": "Play Seans Morning Briefing",
"automation": "- alias: Play Seans Morning Briefing\n description: ''\n triggers:\n - at: input_datetime.seans_morning_briefing\n trigger: time\n id: Sean\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.seans_morning_briefing_played\n state: 'off'\n actions:\n - action: script.sean_briefing_v2_0\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "seans morning briefing input datetime",
"room": "seans_room",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.seans_morning_briefing",
"device_id": null
}
},
{
"name": "seans morning briefing played input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.seans_morning_briefing_played",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "sean briefing v2 0 script",
"room": "seans_room",
"type": "script",
"id": {
"entity_id": "script.sean_briefing_v2_0",
"device_id": null
}
}
]
},
{
"id": "Push HA Config to GitHub",
"automation": "- alias: Push HA Config to GitHub\n description: ''\n triggers:\n - trigger: time\n at: 02:00:00\n conditions: []\n actions:\n - action: shell_command.pushupdates_to_github\n data: {}\n mode: single",
"config": [
{
"name": "shell command pushupdates to github",
"room": "office",
"type": "shell_command",
"id": {
"entity_id": "shell_command.pushupdates_to_github",
"device_id": null
}
}
]
},
{
"id": "Repeat Last Message or Announcement",
"automation": "- alias: Repeat Last Message or Announcement\n description: ''\n triggers:\n - command:\n - '(sorry) I missed what you [just] said [please] [repeat|say again] '\n - what did you just say\n - say that again\n - repeat [your] last [message|announcement]\n trigger: conversation\n conditions: []\n actions:\n - action: script.play_last_message_2\n data: {}\n mode: single",
"config": [
{
"name": "play last message 2 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.play_last_message_2",
"device_id": null
}
}
]
},
{
"id": "Rolec EV Chargepoint schedule",
"automation": "- alias: Rolec EV Chargepoint schedule\n description: Multiple Slots for Agile\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_intermittent_best_rates_total_4_hours\n from: 'off'\n to: 'on'\n id: 'On'\n - platform: state\n entity_id:\n - binary_sensor.octopus_energy_target_intermittent_best_rates_total_4_hours\n from: 'on'\n to: 'off'\n id: 'Off'\n - platform: state\n entity_id:\n - switch.shelly1_c45bbe7867c7\n from: unavailable\n id: Rolec Available\n - alias: Rolec 4 Hour charge completed\n platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.rolec_4_hour_charge_period\n id: Stop Charge\n - platform: time\n at: '20:59:00'\n id: Activate Charge Session\n - platform: state\n entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n alias: When inverter resets\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate Charge Session\n sequence:\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.rolec_battery_master\n - conditions:\n - condition: trigger\n id:\n - 'On'\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'on'\n sequence:\n - service: number.set_value\n data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n - service: timer.start\n data: {}\n target:\n entity_id: timer.rolec_4_hour_charge_period\n - conditions:\n - condition: trigger\n id:\n - 'Off'\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n - service: number.set_value\n data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n - service: timer.pause\n data: {}\n target:\n entity_id: timer.rolec_4_hour_charge_period\n - conditions:\n - condition: trigger\n id: Rolec Available\n - condition: state\n entity_id: binary_sensor.octopus_energy_target_intermittent_best_rates_total_4_hours\n state: 'on'\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'off'\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'on'\n - condition: state\n entity_id: timer.rolec_4_hour_charge_period\n state: active\n sequence:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: The Rolec was turned on because it became available during a charge\n period.\n title: ROLEC ON\n alias: Send a notification based on an input text helper\n - conditions:\n - condition: trigger\n id: Rolec Available\n - condition: state\n entity_id: binary_sensor.octopus_energy_target_intermittent_best_rates_total_4_hours\n state: 'off'\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'on'\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: The Rolec was turned off because it was on outside of a charge\n period.\n title: ROLEC OFF\n alias: Send a notification based on an input text helper\n - conditions:\n - condition: trigger\n id:\n - Stop Charge\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.rolec_battery_master\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: numeric_state\n entity_id: number.solaredge_i1_storage_discharge_limit\n above: 100\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'on'\n - condition: state\n entity_id: timer.rolec_4_hour_charge_period\n state: active\n sequence:\n - service: number.set_value\n data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n mode: single",
"config": [
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "desired battery output limit for overnight ev charging input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.desired_battery_output_limit_for_overnight_ev_charging",
"device_id": null
}
},
{
"name": "solaredge i1 storage discharge limit number",
"room": "garage",
"type": "number",
"id": {
"entity_id": "number.solaredge_i1_storage_discharge_limit",
"device_id": null
}
},
{
"name": "default battery output limit input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.default_battery_output_limit",
"device_id": null
}
},
{
"name": "octopus energy target intermittent best rates total 4 hours binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_target_intermittent_best_rates_total_4_hours",
"device_id": null
}
},
{
"name": "shelly1 c45bbe7867c7 switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.shelly1_c45bbe7867c7",
"device_id": null
}
},
{
"name": "rolec 4 hour charge period timer",
"room": "garage",
"type": "timer",
"id": {
"entity_id": "timer.rolec_4_hour_charge_period",
"device_id": null
}
},
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
}
]
},
{
"id": "Rolec EV Chargepoint Go Schedule",
"automation": "- alias: Rolec EV Chargepoint Go Schedule\n description: Single Slot for Go\n triggers:\n - at: '20:59:00'\n id: Activate Charge Session\n trigger: time\n alias: Activate Charge Session at 9pm\n - alias: Start Charge\n id: start\n trigger: state\n entity_id:\n - binary_sensor.target_timeframes_octopus_energy_charge_car\n from: 'off'\n to: 'on'\n - alias: Stop Charge\n id: stop\n trigger: state\n entity_id:\n - binary_sensor.target_timeframes_octopus_energy_charge_car\n from: 'on'\n to: 'off'\n - entity_id:\n - switch.shelly1_c45bbe7867c7\n from: unavailable\n id: Shelly Reconnected\n trigger: state\n alias: If the Shelly reconnects to the network\n - alias: When inverter resets\n entity_id:\n - switch.solaredge_i1_advanced_power_control\n from: unavailable\n to: 'on'\n id: Inverter Reset\n for:\n minutes: 1\n trigger: state\n - entity_id:\n - input_boolean.car_plugged_in\n from: 'on'\n to: 'off'\n id: Session end\n trigger: state\n - trigger: state\n entity_id:\n - binary_sensor.rolec_chargepoint_flap\n from: 'off'\n to: 'on'\n for:\n minutes: 1\n id: Flap open\n - trigger: state\n entity_id:\n - binary_sensor.rolec_chargepoint_flap\n from: 'on'\n to: 'off'\n for:\n minutes: 1\n id: Flap closed\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate Charge Session\n sequence:\n - condition: state\n entity_id: input_boolean.car_plugged_in\n state: 'on'\n - data: {}\n target:\n entity_id: input_boolean.rolec_battery_master\n action: input_boolean.turn_on\n - action: mqtt.publish\n data:\n retain: true\n payload: '{{states(''sensor.rolec_energy_consumption_yearly'')|float(0)|round(1)}}'\n topic: rolec/energy/start\n - action: mqtt.publish\n data:\n retain: true\n payload: '{{states(''input_number.car_battery_charge_level'')|float(0)}}'\n topic: car/battery/start\n - conditions:\n - condition: trigger\n id:\n - start\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'on'\n - condition: state\n entity_id: input_boolean.car_plugged_in\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n action: switch.turn_on\n - delay:\n seconds: 5\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - conditions:\n - condition: trigger\n id:\n - stop\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'on'\n - condition: state\n entity_id: input_boolean.car_plugged_in\n state: 'on'\n sequence:\n - data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n action: switch.turn_off\n - delay:\n seconds: 5\n - data:\n value: '{{ states(''input_number.default_battery_output_limit'') | float(0)\n }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.rolec_battery_master\n data: {}\n - action: mqtt.publish\n data:\n retain: true\n topic: rolec/energy/end\n payload: '{{states(''sensor.rolec_energy_consumption_yearly'')|float(0)|round(1)}}'\n - delay:\n seconds: 5\n - action: mqtt.publish\n data:\n retain: true\n topic: rolec/energy/used\n payload: '{{ (states(''sensor.rolec_energy_end_session'')|float(0) - states(''sensor.rolec_energy_start_session'')|float(0))|round(1)}}'\n - delay:\n seconds: 5\n - action: mqtt.publish\n data:\n retain: true\n topic: car/battery/end\n payload: '{% set energy = states(''sensor.rolec_energy_used'') | float(0)\n %} {% set efficiency = 0.98 %} {% set usable_battery_kwh = 57.4 %} {%\n set delivered = energy * efficiency %} {% set oldbatt = states(''sensor.battery_level_start_session'')\n | float(0) %} {% set added = (delivered / usable_battery_kwh) * 100 %}\n {% set newbatt = oldbatt + added %} {{ [newbatt, 100] | min | round(1)\n }}'\n - delay:\n seconds: 5\n - action: mqtt.publish\n data:\n retain: true\n topic: car/battery/added\n payload: '{% set energy = states(''sensor.rolec_energy_used'') | float(0)\n %} {% set efficiency = 0.98 %} {% set usable_battery_kwh = 57.4 %} {%\n set delivered = energy * efficiency %} {% set added = (delivered / usable_battery_kwh)\n * 100 %} {{ added | round(1) }}'\n - delay:\n seconds: 5\n - target:\n entity_id:\n - input_number.car_battery_charge_level\n data:\n value: '{{states(''sensor.battery_level_end_session'')|float(0)}}'\n action: input_number.set_value\n - delay:\n seconds: 5\n - target:\n entity_id:\n - input_number.ev_charge_length_hrs\n data:\n value: 1\n action: input_number.set_value\n - conditions:\n - condition: trigger\n id:\n - Shelly Reconnected\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'off'\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'on'\n - condition: state\n entity_id: input_boolean.car_plugged_in\n state: 'on'\n - condition: time\n after: 00:30:00\n before: 05:30:00\n sequence:\n - data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n action: switch.turn_on\n - data:\n message: The Rolec was turned on because it became available during a charge\n period.\n title: ROLEC ON\n action: script.text_notify_dave\n - delay:\n seconds: 30\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n alias: If Shelly reconnects and the car is charging\n - conditions:\n - condition: trigger\n id:\n - Shelly Reconnected\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'on'\n - condition: state\n entity_id: input_boolean.rolec_battery_master\n state: 'off'\n sequence:\n - data: {}\n target:\n entity_id: switch.shelly1_c45bbe7867c7\n action: switch.turn_off\n - data:\n message: The Rolec was turned off because it was on outside of a charge\n period.\n title: ROLEC OFF\n action: script.text_notify_dave\n alias: If Shelly reconnects and the car is not charging\n - conditions:\n - condition: trigger\n id:\n - Inverter Reset\n - condition: time\n after: 00:30:00\n before: 05:30:00\n - condition: state\n entity_id: switch.shelly1_c45bbe7867c7\n state: 'on'\n - condition: state\n entity_id: input_boolean.car_plugged_in\n state: 'on'\n - condition: numeric_state\n entity_id: number.solaredge_i1_storage_discharge_limit\n above: 100\n sequence:\n - data:\n value: '{{ states(''input_number.desired_battery_output_limit_for_overnight_ev_charging'')\n | float(0) }}'\n target:\n entity_id: number.solaredge_i1_storage_discharge_limit\n action: number.set_value\n alias: If the inverter resets and the car is charging turn down the home battery\n - conditions:\n - condition: trigger\n id:\n - Flap open\n sequence:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.car_plugged_in\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Flap closed\n sequence:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.car_plugged_in\n data: {}\n mode: parallel\n max: 10\n trace:\n stored_traces: 20",
"config": [
{
"name": "car plugged in input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.car_plugged_in",
"device_id": null
}
},
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "solaredge i1 advanced power control switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.solaredge_i1_advanced_power_control",
"device_id": null
}
},
{
"name": "desired battery output limit for overnight ev charging input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.desired_battery_output_limit_for_overnight_ev_charging",
"device_id": null
}
},
{
"name": "solaredge i1 storage discharge limit number",
"room": "garage",
"type": "number",
"id": {
"entity_id": "number.solaredge_i1_storage_discharge_limit",
"device_id": null
}
},
{
"name": "default battery output limit input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.default_battery_output_limit",
"device_id": null
}
},
{
"name": "shelly1 c45bbe7867c7 switch",
"room": "garage",
"type": "switch",
"id": {
"entity_id": "switch.shelly1_c45bbe7867c7",
"device_id": null
}
},
{
"name": "rolec battery master input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.rolec_battery_master",
"device_id": null
}
},
{
"name": "target timeframes octopus energy charge car binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.target_timeframes_octopus_energy_charge_car",
"device_id": null
}
},
{
"name": "rolec chargepoint flap binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.rolec_chargepoint_flap",
"device_id": null
}
},
{
"name": "car battery charge level input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.car_battery_charge_level",
"device_id": null
}
},
{
"name": "rolec energy consumption yearly sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.rolec_energy_consumption_yearly",
"device_id": null
}
},
{
"name": "rolec energy start session sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.rolec_energy_start_session",
"device_id": null
}
},
{
"name": "rolec energy end session sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.rolec_energy_end_session",
"device_id": null
}
},
{
"name": "rolec energy used sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.rolec_energy_used",
"device_id": null
}
},
{
"name": "battery level start session sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.battery_level_start_session",
"device_id": null
}
},
{
"name": "battery level end session sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.battery_level_end_session",
"device_id": null
}
},
{
"name": "ev charge length hrs input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.ev_charge_length_hrs",
"device_id": null
}
}
]
},
{
"id": "Safe Shutdown on power loss",
"automation": "- alias: Safe Shutdown on power loss\n description: ''\n mode: single\n triggers:\n - entity_id:\n - sensor.myups_battery_charge\n below: 20\n trigger: numeric_state\n conditions:\n - condition: numeric_state\n entity_id: sensor.solaredge_m1_ac_voltage_ln\n below: 100\n actions:\n - action: hassio.host_shutdown\n data: {}",
"config": [
{
"name": "myups battery charge sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.myups_battery_charge",
"device_id": null
}
},
{
"name": "solaredge m1 ac voltage ln sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.solaredge_m1_ac_voltage_ln",
"device_id": null
}
}
]
},
{
"id": "'Schedule: Hourly'",
"automation": "- alias: 'Schedule: Hourly'\n description: ''\n mode: single\n triggers:\n - seconds: '00'\n minutes: '00'\n trigger: time_pattern\n conditions: []\n actions:\n - data:\n overwrite: true\n url: https://sdo.gsfc.nasa.gov/assets/img/latest/mpeg/latest_1024_0193.mp4\n action: downloader.download_file\n - data:\n overwrite: true\n url: https://sdo.gsfc.nasa.gov/assets/img/latest/mpeg/latest_1024_0335.mp4\n action: downloader.download_file\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - target:\n entity_id: counter.sun_335_downloads\n data: {}\n action: counter.increment",
"config": [
{
"name": "downloader download file",
"room": "office",
"type": "downloader",
"id": {
"entity_id": "downloader.download_file",
"device_id": null
}
},
{
"name": "sun 335 downloads counter",
"room": "outside",
"type": "counter",
"id": {
"entity_id": "counter.sun_335_downloads",
"device_id": null
}
}
]
},
{
"id": "Schools Out Get Ready",
"automation": "- alias: Schools Out Get Ready\n description: ''\n triggers:\n - at: input_datetime.get_ready_for_schools_out\n trigger: time\n conditions:\n - condition: state\n entity_id: calendar.school_holidays\n state: 'on'\n - condition: state\n entity_id: calendar.schools_out\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.schools_out_morning_announcements_played\n state: 'off'\n actions:\n - action: script.boys_get_dressed_schools_out\n data: {}\n - delay:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - action: script.boys_brush_teeth_announcement\n data: {}\n - action: script.living_room_tv_toggle_2\n data: {}\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.schools_out_morning_announcements_played\n data: {}\n mode: single",
"config": [
{
"name": "get ready for schools out input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.get_ready_for_schools_out",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "boys brush teeth announcement script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.boys_brush_teeth_announcement",
"device_id": null
}
},
{
"name": "calendar school holidays calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_holidays",
"device_id": null
}
},
{
"name": "living room tv toggle 2 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.living_room_tv_toggle_2",
"device_id": null
}
},
{
"name": "calendar schools out calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.schools_out",
"device_id": null
}
},
{
"name": "schools out morning announcements played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.schools_out_morning_announcements_played",
"device_id": null
}
},
{
"name": "boys get dressed schools out script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.boys_get_dressed_schools_out",
"device_id": null
}
}
]
},
{
"id": "Schools Out Pick Up Jamie",
"automation": "- alias: Schools Out Pick Up Jamie\n description: ''\n triggers:\n - at: input_datetime.school_pick_up_time_friday\n trigger: time\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.fridayschool\n state: 'on'\n - condition: state\n entity_id: calendar.schools_out\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n actions:\n - alias: Inform Gem if home, else Dave.\n if:\n - condition: state\n entity_id: binary_sensor.gem_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: \"{{ [ \\n ' It is almost time for the schools out pickup. Please\\\n \\ prepare to pick up Jamie from schools out',\\n ' I know you are in the\\\n \\ middle of something, but it is almost time to collect Jamie from schools\\\n \\ out',\\n ' This is an urgent announcement for a parent. Its time to clock\\\n \\ out and get Jamie from Schools out. Chop chop!',\\n ' I have received\\\n \\ a message from the schools out pick up fairies telling me they are on\\\n \\ strike. I guess that means you will have to go and pick up Jamie yourself.'\\n\\\n \\ ] | random }}\\n\"\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: \"{{ [ \\n ' It is almost time for the schools out pickup. Please\\\n \\ prepare to pick up Jamie from schools out',\\n ' I know you are in the\\\n \\ middle of something, but it is almost time to collect Jamie from schools\\\n \\ out',\\n ' This is an urgent announcement for a parent. Its time to clock\\\n \\ out and get Jamie from Schools out. Chop chop!',\\n ' I have received\\\n \\ a message from the schools out pick up fairies telling me they are on\\\n \\ strike. I guess that means you will have to go and pick up Jamie yourself.'\\n\\\n \\ ] | random }}\\n\"\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_pick_up_announcement_played\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "school pick up announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_pick_up_announcement_played",
"device_id": null
}
},
{
"name": "fridayschool binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.fridayschool",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "school pick up time friday input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_pick_up_time_friday",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "calendar schools out calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.schools_out",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "School Pick Up Monday to Thursday v2.0",
"automation": "- alias: School Pick Up Monday to Thursday v2.0\n description: ''\n triggers:\n - at: input_datetime.school_pick_up_time_mon_to_thurs\n trigger: time\n conditions:\n - condition: state\n entity_id: binary_sensor.schoolday\n state: 'on'\n - condition: state\n entity_id: calendar.school_holidays\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n actions:\n - alias: Inform Gem if home, else Dave.\n if:\n - condition: state\n entity_id: binary_sensor.gem_home\n state: 'on'\n then:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: \"{{ [ \\n ' It is almost time for the school pickup. Please prepare\\\n \\ to pick up Jamie from school',\\n ' I know you are in the middle of something,\\\n \\ but it is almost time to collect Jamie from school',\\n ' This is an\\\n \\ urgent announcement for a parent. Its time to clock out and get Jamie\\\n \\ from School. Chop chop!',\\n ' I have received a message from the school\\\n \\ pick up fairies telling me they are on strike. I guess that means you\\\n \\ will have to go and pick up Jamie yourself.'\\n ] | random }}\\n\"\n else:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: gem\n type: announcement\n message: \"{{ [ \\n ' It is almost time for the school pickup. Please prepare\\\n \\ to pick up Jamie from school',\\n ' I know you are in the middle of something,\\\n \\ but it is almost time to collect Jamie from school',\\n ' This is an\\\n \\ urgent announcement for a parent. Its time to clock out and get Jamie\\\n \\ from School. Chop chop!',\\n ' I have received a message from the school\\\n \\ pick up fairies telling me they are on strike. I guess that means you\\\n \\ will have to go and pick up Jamie yourself.'\\n ] | random }}\\n\"\n - action: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.school_pick_up_announcement_played\n mode: single\n initial_state: true",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "school pick up announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_pick_up_announcement_played",
"device_id": null
}
},
{
"name": "schoolday binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.schoolday",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "school pick up time mon to thurs input datetime",
"room": "kitchen",
"type": "input_datetime",
"id": {
"entity_id": "input_datetime.school_pick_up_time_mon_to_thurs",
"device_id": null
}
},
{
"name": "calendar school holidays calendar",
"room": "kitchen",
"type": "calendar",
"id": {
"entity_id": "calendar.school_holidays",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "Sean JARVIS VPE Restart if stuck responding",
"automation": "- alias: Sean JARVIS VPE Restart if stuck responding\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_sean_assist_satellite\n to: responding\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Restart\n conditions: []\n actions:\n - action: button.press\n target:\n entity_id: button.home_assistant_voice_095e21_restart\n data: {}\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - assist_satellite.jarvis_sean_assist_satellite\n from: unavailable\n timeout:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n alias: Wait for JARVIS to restart.\n - parallel:\n - action: script.text_notify_dave\n data:\n title: SEAN VPE\n message: I have restarted.\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time_boys\n state: 'on'\n then:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_sean_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_low'') | float(0)}}'\n else:\n - action: media_player.volume_set\n target:\n entity_id:\n - media_player.jarvis_sean_media_player\n data:\n volume_level: ' {{ states(''input_number.jarvis_volume_level_announcement'')\n | float(0)}}'\n alias: Set volume based on time of day.\n alias: Notify Dave and set volume.\n mode: single",
"config": [
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "assist satellite jarvis sean assist satellite",
"room": "seans_room",
"type": "assist_satellite",
"id": {
"entity_id": "assist_satellite.jarvis_sean_assist_satellite",
"device_id": null
}
},
{
"name": "jarvis sean media player media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "jarvis volume level low input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_low",
"device_id": null
}
},
{
"name": "jarvis volume level announcement input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.jarvis_volume_level_announcement",
"device_id": null
}
},
{
"name": "home assistant voice 095e21 restart button",
"room": "bedroom",
"type": "button",
"id": {
"entity_id": "button.home_assistant_voice_095e21_restart",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "quiet time boys binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time_boys",
"device_id": null
}
},
{
"name": "jarvis sean media player",
"room": "seans_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jarvis_sean_media_player",
"device_id": null
}
}
]
},
{
"id": "Security System",
"automation": "- alias: Security System\n description: A door or window is open and sentry mode is active.\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.front_door_sense_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.cloakroom_window_contact\n - binary_sensor.hallway_window_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.dining_room_window_left_contact\n - binary_sensor.dining_room_window_right_contact\n - binary_sensor.en_suite_window_sensor_contact\n - binary_sensor.office_window_sensor_contact\n - binary_sensor.garage_door_left_contact\n - binary_sensor.garage_door_right_contact\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'on'\n id: Activate\n - platform: state\n entity_id:\n - binary_sensor.back_door_sensor_contact\n - binary_sensor.front_door_sense_contact\n - binary_sensor.side_door_sensor_contact\n - binary_sensor.cloakroom_window_contact\n - binary_sensor.hallway_window_contact\n - binary_sensor.kitchen_window_left_contact\n - binary_sensor.kitchen_window_right_contact\n - binary_sensor.living_room_window_left_contact\n - binary_sensor.living_room_window_right_contact\n - binary_sensor.dining_room_window_left_contact\n - binary_sensor.dining_room_window_right_contact\n - binary_sensor.en_suite_window_sensor_contact\n - binary_sensor.office_window_sensor_contact\n - binary_sensor.garage_door_left_contact\n - binary_sensor.garage_door_right_contact\n - binary_sensor.bathroom_window_contact\n - binary_sensor.guest_bedroom_window_left_contact\n - binary_sensor.guest_bedroom_window_right_contact\n - binary_sensor.main_bedroom_window_left_contact\n - binary_sensor.main_bedroom_window_right_contact\n - binary_sensor.sean_s_bedroom_window_left_contact\n - binary_sensor.sean_s_bedroom_window_right_contact\n - binary_sensor.jamie_s_bedroom_window_left_contact\n - binary_sensor.jamie_s_bedroom_window_right_contact\n - binary_sensor.kids_bathroom_window_left_contact\n - binary_sensor.kids_bathroom_window_right_contact\n to: 'off'\n id: Clear\n - platform: state\n entity_id:\n - binary_sensor.gem_home\n to: 'on'\n id: Gem Home\n - platform: state\n entity_id:\n - binary_sensor.dave_home\n to: 'on'\n id: Dave Home\n enabled: true\n - platform: state\n entity_id:\n - binary_sensor.family_home\n from: 'on'\n to: 'off'\n id: We've all gone out\n - platform: state\n entity_id:\n - binary_sensor.family_home\n from: 'off'\n to: 'on'\n id: We're all home again\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Activate\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'on'\n sequence:\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.security_issue\n - conditions:\n - condition: trigger\n id: Clear\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'on'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.security_issue\n - conditions:\n - condition: trigger\n id: We've all gone out\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'off'\n sequence:\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.sentry_mode\n - conditions:\n - condition: trigger\n id: We're all home again\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'on'\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.sentry_mode\n - conditions:\n - condition: trigger\n id: Gem Home\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'on'\n - condition: state\n entity_id: binary_sensor.dave_home\n state: 'off'\n alias: Confirm Dave is not home\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.sentry_mode\n - conditions:\n - condition: trigger\n id: Dave Home\n - condition: state\n entity_id: input_boolean.sentry_mode\n state: 'on'\n - condition: state\n entity_id: binary_sensor.gem_home\n state: 'off'\n alias: Confirm Gem is not home\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.sentry_mode\n mode: restart",
"config": [
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "side door sensor contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.side_door_sensor_contact",
"device_id": null
}
},
{
"name": "kitchen window left contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_left_contact",
"device_id": null
}
},
{
"name": "kitchen window right contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_window_right_contact",
"device_id": null
}
},
{
"name": "living room window left contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_left_contact",
"device_id": null
}
},
{
"name": "living room window right contact binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_window_right_contact",
"device_id": null
}
},
{
"name": "hallway window contact binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.hallway_window_contact",
"device_id": null
}
},
{
"name": "dining room window right contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_right_contact",
"device_id": "e6ba853c7dec9cf8415d6881aa429444"
}
},
{
"name": "cloakroom window contact binary sensor",
"room": "cloakroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.cloakroom_window_contact",
"device_id": "f9aaa501ddaeabde9538648caab6c975"
}
},
{
"name": "en suite window sensor contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.en_suite_window_sensor_contact",
"device_id": "5af72a1353a555c5830dcba725c7cf23"
}
},
{
"name": "office window sensor contact binary sensor",
"room": "office",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.office_window_sensor_contact",
"device_id": "13a27670b56ff35704df9339e2a668a1"
}
},
{
"name": "main bedroom window left contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "main bedroom window right contact binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "guest bedroom window left contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "guest bedroom window right contact binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window left contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "sean's bedroom window right contact binary sensor",
"room": "seans_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window left contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_left_contact",
"device_id": null
}
},
{
"name": "bathroom window contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.bathroom_window_contact",
"device_id": null
}
},
{
"name": "jamie's bedroom window right contact binary sensor",
"room": "jamies_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.jamie_s_bedroom_window_right_contact",
"device_id": null
}
},
{
"name": "kids bathroom window left contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_left_contact",
"device_id": null
}
},
{
"name": "kids bathroom window right contact binary sensor",
"room": "bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_window_right_contact",
"device_id": null
}
},
{
"name": "garage door left contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_left_contact",
"device_id": null
}
},
{
"name": "garage door right contact binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.garage_door_right_contact",
"device_id": null
}
},
{
"name": "family home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.family_home",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "dining room window left contact binary sensor",
"room": "dining_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dining_room_window_left_contact",
"device_id": null
}
},
{
"name": "sentry mode input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.sentry_mode",
"device_id": null
}
},
{
"name": "security issue input boolean",
"room": "hallway",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.security_issue",
"device_id": null
}
}
]
},
{
"id": "Set Car Battery Level via Assist",
"automation": "- alias: Set Car Battery Level via Assist\n triggers:\n - command:\n - '(set|change) [the] car (battery charge|battery charge level) to {number} [percent] '\n - '[the] car battery is [now] [at] {number} [percent]'\n trigger: conversation\n conditions: []\n actions:\n - variables:\n level: '{{ trigger.slots[''number''] | regex_replace(''%'', '''') | int }}'\n - target:\n entity_id: input_number.car_battery_charge_level\n data:\n value: '{{ level }}'\n action: input_number.set_value\n mode: single",
"config": [
{
"name": "car battery charge level input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.car_battery_charge_level",
"device_id": null
}
}
]
},
{
"id": "Show Agile Prices on Aura Lamp",
"automation": "- alias: Show Agile Prices on Aura Lamp\n description: ''\n trigger:\n - platform: sun\n event: sunset\n offset: -00:05:00\n id: Not Allowed\n - platform: sun\n event: sunset\n offset: 04:15:00\n id: Allowed\n - platform: numeric_state\n entity_id:\n - sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate\n below: 0\n id: Plunge\n - platform: numeric_state\n entity_id:\n - sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate\n below: 0.1\n id: Cheap\n above: 0\n - platform: numeric_state\n entity_id:\n - sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate\n below: 0.2\n id: Medium\n above: 0.1\n - platform: numeric_state\n entity_id:\n - sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate\n below: 0.35\n id: Expensive\n above: 0.2\n - platform: numeric_state\n entity_id:\n - sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate\n id: Most Expensive\n above: 0.35\n condition:\n - condition: state\n entity_id: input_boolean.allow_kitchen_aura_lamp\n state: 'on'\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Not Allowed\n sequence:\n - service: input_boolean.turn_off\n target:\n entity_id: input_boolean.allow_kitchen_aura_lamp\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Allowed\n sequence:\n - service: input_boolean.turn_on\n target:\n entity_id:\n - input_boolean.allow_kitchen_aura_lamp\n device_id: []\n area_id: []\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Plunge\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 0\n - 0\n - 255\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp\n - service: input_boolean.turn_off\n target:\n entity_id: '{{ states(''sensor.current_energy_rate'') }}'\n data: {}\n alias: Turn off last rate\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.plunge_pricing\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Cheap\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 0\n - 255\n - 0\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp\n - service: input_boolean.turn_off\n target:\n entity_id: '{{ states(''sensor.current_energy_rate'') }}'\n data: {}\n alias: Turn off last rate\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.cheap_energy\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Medium\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 255\n - 255\n - 0\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp\n - service: input_boolean.turn_off\n target:\n entity_id: '{{ states(''sensor.current_energy_rate'') }}'\n data: {}\n alias: Turn off last rate\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.medium_cost_energy\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Expensive\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 255\n - 153\n - 0\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp\n - service: input_boolean.turn_off\n target:\n entity_id: '{{ states(''sensor.current_energy_rate'') }}'\n data: {}\n alias: Turn off last rate\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.expensive_energy\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Most Expensive\n sequence:\n - service: light.turn_on\n data:\n rgb_color:\n - 255\n - 0\n - 0\n brightness_pct: 1\n target:\n entity_id: light.kitchen_aura_lamp\n - service: input_boolean.turn_off\n target:\n entity_id: '{{ states(''sensor.current_energy_rate'') }}'\n data: {}\n alias: Turn off last rate\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.most_expensive_energy\n data: {}\n mode: single",
"config": [
{
"name": "octopus energy electricity 21e5275054 2400000260098 current rate sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.octopus_energy_electricity_21e5275054_2400000260098_current_rate",
"device_id": null
}
},
{
"name": "allow kitchen aura lamp input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_kitchen_aura_lamp",
"device_id": null
}
},
{
"name": "kitchen aura lamp light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_aura_lamp",
"device_id": null
}
},
{
"name": "current energy rate sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.current_energy_rate",
"device_id": null
}
},
{
"name": "plunge pricing input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.plunge_pricing",
"device_id": null
}
},
{
"name": "cheap energy input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.cheap_energy",
"device_id": null
}
},
{
"name": "medium cost energy input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.medium_cost_energy",
"device_id": null
}
},
{
"name": "expensive energy input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.expensive_energy",
"device_id": null
}
},
{
"name": "most expensive energy input boolean",
"room": "garage",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.most_expensive_energy",
"device_id": null
}
}
]
},
{
"id": "Smart Button Downstairs 1 Automations",
"automation": "- alias: Smart Button Downstairs 1 Automations\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.smart_button_downstairs_1_action\n attribute: action\n to: release\n id: Good Night\n - platform: state\n entity_id:\n - sensor.smart_button_downstairs_1_action\n to: single\n id: TV & Sky on\n - platform: state\n entity_id:\n - sensor.smart_button_downstairs_1_action\n to: double\n id: TV & Sky off\n - platform: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: 30\n alias: Low Light\n id: Low Light\n - platform: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n above: 50\n id: High Light\n alias: High Light\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Good Night\n - condition: state\n entity_id: binary_sensor.overnight\n state: 'on'\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.living_room_tv\n - service: media_player.turn_off\n data: {}\n target:\n device_id: 4aa503b5c01d5c68b0ad4341bdc9dd65\n enabled: true\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - type: turn_off\n device_id: 23629338a1f8b2487860c2b962ce2a4b\n entity_id: switch.under_shelf_lights_local\n domain: switch\n - service: light.turn_off\n data: {}\n target:\n entity_id:\n - light.corner_lamp\n - light.standard_lamp\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id:\n - input_boolean.kids_bedtime_announcement_played\n - input_boolean.school_pick_up_announcement_played\n - input_boolean.school_morning_announcement_played\n - input_boolean.morning_briefing_played\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.guest_bedroom_camera_privacy\n - service: switch.turn_on\n data: {}\n target:\n entity_id:\n - switch.jamie_s_room_cam_privacy\n - service: switch.turn_on\n data: {}\n target:\n entity_id:\n - switch.seans_room_camera_privacy\n - service: script.bed_lamps_dim_at_bedtime\n data: {}\n - conditions:\n - condition: trigger\n id:\n - TV & Sky on\n sequence:\n - service: switch.turn_on\n data: {}\n target:\n entity_id: switch.living_room_tv\n - service: media_player.turn_on\n data: {}\n target:\n entity_id: media_player.sky_q_main\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: notify.alexa_media_dave_s_2nd_echo_pop\n data:\n message: {{ ['Pardon\n me sir. The Living room media system has been activated','Hailing frequencies open','Pardon me sir. The living room televisual devices\n have been turned on','Pardon me sir.\n I thought it might be time to see what is on the goggle box','Pardon me sir. Do you wish to see what is on\n the telly today?']|random }}\n data:\n type: tts\n method: speak\n - if:\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: 50\n then:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id: TV & Sky off\n sequence:\n - service: switch.turn_off\n data: {}\n target:\n entity_id: switch.living_room_tv\n - service: media_player.turn_off\n data: {}\n target:\n entity_id: media_player.sky_q_main\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: notify.alexa_media_dave_s_2nd_echo_pop\n data:\n message: {{ ['Pardon\n me sir. The living room media system has been deactivated','Hailing frequencies closed','Pardon me sir. The living room televisual devices\n have been turned off','Pardon me sir.\n Shall we see what is going on in the real world?','Pardon\n me sir. I see that you have had your fill of tv. Its good\n to see that you have returned to reality']|random }}\n data:\n type: tts\n method: speak\n - if:\n - condition: state\n entity_id: light.dreamview_g1_pro\n state: 'on'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id:\n - TV & Sky on\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: 30\n sequence:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id:\n - TV & Sky off\n - High Light\n - condition: state\n entity_id: light.dreamview_g1_pro\n state: 'on'\n sequence:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n - conditions:\n - condition: trigger\n id:\n - Low Light\n sequence:\n - if:\n - condition: state\n entity_id: switch.living_room_tv\n state: 'on'\n then:\n - service: light.turn_on\n data: {}\n target:\n entity_id: light.dreamview_g1_pro\n mode: parallel\n max: 10",
"config": [
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "living room tv switch",
"room": "living_room",
"type": "switch",
"id": {
"entity_id": "switch.living_room_tv",
"device_id": null
}
},
{
"name": "under shelf lights local switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.under_shelf_lights_local",
"device_id": null
}
},
{
"name": "dreamview g1 pro light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.dreamview_g1_pro",
"device_id": null
}
},
{
"name": "corner lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.corner_lamp",
"device_id": null
}
},
{
"name": "standard lamp light",
"room": "living_room",
"type": "light",
"id": {
"entity_id": "light.standard_lamp",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "kids bedtime announcement played input boolean",
"room": "seans_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kids_bedtime_announcement_played",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "school pick up announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_pick_up_announcement_played",
"device_id": null
}
},
{
"name": "morning briefing played input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.morning_briefing_played",
"device_id": null
}
},
{
"name": "overnight binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.overnight",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "media player sky q main",
"room": "living_room",
"type": "media_player",
"id": {
"entity_id": "media_player.sky_q_main",
"device_id": null
}
},
{
"name": "school morning announcement played input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.school_morning_announcement_played",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "guest bedroom camera privacy switch",
"room": "guest_bedroom",
"type": "switch",
"id": {
"entity_id": "switch.guest_bedroom_camera_privacy",
"device_id": null
}
},
{
"name": "jamie's room cam privacy switch",
"room": "jamies_room",
"type": "switch",
"id": {
"entity_id": "switch.jamie_s_room_cam_privacy",
"device_id": null
}
},
{
"name": "seans room camera privacy switch",
"room": "seans_room",
"type": "switch",
"id": {
"entity_id": "switch.seans_room_camera_privacy",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
},
{
"name": "smart button downstairs 1 action sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.smart_button_downstairs_1_action",
"device_id": null
}
},
{
"name": "notify alexa media dave's 2nd echo pop",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media_dave_s_2nd_echo_pop",
"device_id": null
}
},
{
"name": "bed lamps dim at bedtime script",
"room": "bedroom",
"type": "script",
"id": {
"entity_id": "script.bed_lamps_dim_at_bedtime",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "23629338a1f8b2487860c2b962ce2a4b",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "4aa503b5c01d5c68b0ad4341bdc9dd65",
"device_id": null
}
},
{
"name": "Device 23629338a1f8b2487860c2b962ce2a4b",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "23629338a1f8b2487860c2b962ce2a4b"
}
},
{
"name": "Device 4aa503b5c01d5c68b0ad4341bdc9dd65",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "4aa503b5c01d5c68b0ad4341bdc9dd65"
}
}
]
},
{
"id": "Smart Button Upstairs 1 Automations",
"automation": "- alias: Smart Button Upstairs 1 Automations\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.smart_button_upstairs_1_action\n id: Casper & Sky on\n to: single\n - platform: state\n entity_id:\n - sensor.smart_button_upstairs_1_action\n to: double\n id: Casper & Sky off\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Casper & Sky on\n sequence:\n - type: turn_on\n device_id: 9dfd3af87398f6ec9234e9f143e3219a\n entity_id: switch.casper_switch_0\n domain: switch\n - service: media_player.turn_on\n data: {}\n target:\n device_id: 0a8861677f7178f1330be03664c30080\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: notify.alexa_media_guest_bedroom_echo_dot\n data:\n message: {{ ['Pardon\n me madam. The bedroom media system has been activated','Hailing frequencies open','Pardon me madam. The bedroom televisual devices\n have been turned on','Pardon me madam.\n I thought it might be time to see what is on the goggle box','Pardon me madam. Do you wish to see what is on\n the telly today?']|random }}\n data:\n type: tts\n method: speak\n - conditions:\n - condition: trigger\n id: Casper & Sky off\n sequence:\n - type: turn_off\n device_id: 9dfd3af87398f6ec9234e9f143e3219a\n entity_id: switch.casper_switch_0\n domain: switch\n - service: media_player.turn_off\n data: {}\n target:\n device_id: 0a8861677f7178f1330be03664c30080\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: notify.alexa_media_guest_bedroom_echo_dot\n data:\n message: {{ ['Pardon\n me madam. The bedroom media system has been deactivated','Hailing frequencies closed','Pardon me madam. The bedroom televisual devices\n have been turned off','Pardon me madam.\n Shall we see what is going on in the real world?','Pardon\n me madam.> I see that you have had your fill of tv. Its good to see\n that you have returned to reality']|random }}\n data:\n type: tts\n method: speak\n mode: single",
"config": [
{
"name": "casper switch 0 switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.casper_switch_0",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
},
{
"name": "smart button upstairs 1 action sensor",
"room": "guest_bedroom",
"type": "sensor",
"id": {
"entity_id": "sensor.smart_button_upstairs_1_action",
"device_id": null
}
},
{
"name": "notify alexa media guest bedroom echo dot",
"room": "guest_bedroom",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media_guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "0a8861677f7178f1330be03664c30080",
"device_id": null
}
},
{
"name": null,
"room": null,
"type": null,
"id": {
"entity_id": "9dfd3af87398f6ec9234e9f143e3219a",
"device_id": null
}
},
{
"name": "Device 0a8861677f7178f1330be03664c30080",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "0a8861677f7178f1330be03664c30080"
}
},
{
"name": "Device 9dfd3af87398f6ec9234e9f143e3219a",
"room": null,
"type": null,
"id": {
"entity_id": null,
"device_id": "9dfd3af87398f6ec9234e9f143e3219a"
}
}
]
},
{
"id": "Solar Hot Water Toggle",
"automation": "- alias: Solar Hot Water Toggle\n description: Turn on the immersion heater when the battery is full and solar export\n is more than 1kW\n trigger:\n - platform: numeric_state\n entity_id:\n - sensor.electricity_bill_today\n below: 0\n id: Activate\n - platform: numeric_state\n entity_id:\n - sensor.power_grid_export\n above: 500\n id: Switch On\n - platform: numeric_state\n entity_id:\n - sensor.power_battery_load\n above: 1000\n id: Switch Off\n - platform: sun\n event: sunset\n offset: '-1:00:00'\n id: Deactivate\n - platform: time\n at: '17:00:00'\n id: Time On\n - platform: time\n at: '17:45:00'\n id: Time Off\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Activate\n - condition: sun\n after: sunrise\n before: sunset\n sequence:\n - service: input_boolean.turn_on\n target:\n entity_id: input_boolean.allow_valkyrie_on\n data: {}\n - service: switch.turn_on\n target:\n entity_id: switch.valkyrie_solar_hot_water\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Switch On\n - condition: sun\n after: sunrise\n before: sunset\n - condition: numeric_state\n entity_id: sensor.electricity_bill_today\n below: 0\n - condition: state\n entity_id: input_boolean.allow_valkyrie_on\n state: 'on'\n sequence:\n - service: switch.turn_on\n target:\n entity_id: switch.valkyrie_solar_hot_water\n data: {}\n - conditions:\n - condition: trigger\n id: Switch Off\n - condition: state\n entity_id: switch.valkyrie_solar_hot_water\n state: 'on'\n sequence:\n - service: switch.turn_off\n target:\n entity_id: switch.valkyrie_solar_hot_water\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Deactivate\n sequence:\n - service: switch.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: switch.valkyrie_solar_hot_water\n - condition: state\n entity_id: switch.valkyrie_solar_hot_water\n state: 'on'\n - service: input_boolean.turn_off\n target:\n entity_id: input_boolean.allow_valkyrie_on\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Time On\n - alias: Electricity Bill above -50p\n condition: numeric_state\n entity_id: sensor.electricity_bill_today\n above: -0.5\n sequence:\n - service: water_heater.set_operation_mode\n target:\n entity_id: water_heater.hot_water\n data:\n operation_mode: heat\n - conditions:\n - condition: trigger\n id:\n - Time Off\n sequence:\n - service: water_heater.set_operation_mode\n target:\n entity_id: water_heater.hot_water\n data:\n operation_mode: 'off'\n mode: single",
"config": [
{
"name": "electricity bill today sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.electricity_bill_today",
"device_id": null
}
},
{
"name": "power grid export sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sensor.power_grid_export",
"device_id": null
}
},
{
"name": "power battery load sensor",
"room": "garage",
"type": "sensor",
"id": {
"entity_id": "sensor.power_battery_load",
"device_id": null
}
},
{
"name": "allow valkyrie on input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.allow_valkyrie_on",
"device_id": null
}
},
{
"name": "water heater hot water",
"room": "kitchen",
"type": "water_heater",
"id": {
"entity_id": "water_heater.hot_water",
"device_id": null
}
},
{
"name": "valkyrie solar hot water switch",
"room": "kitchen",
"type": "switch",
"id": {
"entity_id": "switch.valkyrie_solar_hot_water",
"device_id": null
}
}
]
},
{
"id": "Solcast update",
"automation": "- alias: Solcast update\n description: ''\n triggers:\n - value_template: \"{% set nr = as_datetime(state_attr('sun.sun','next_rising'))\\\n \\ | as_local %} {% set ns = as_datetime(state_attr('sun.sun','next_setting'))\\\n \\ | as_local %} {% set api_request_limit = 10 %} {% if nr > ns %}\\n {% set\\\n \\ nr = nr - timedelta(hours = 24) %} \\n{% endif %} {% set hours_difference =\\\n \\ (ns - nr) %} {% set interval_hours = hours_difference / api_request_limit\\\n \\ %} {% set ns = namespace(match = false) %} {% for i in range(api_request_limit)\\\n \\ %}\\n {% set start_time = nr + (i * interval_hours) %}\\n {% if ((start_time\\\n \\ - timedelta(seconds=30)) <= now()) and (now() <= (start_time + timedelta(seconds=30)))\\\n \\ %}\\n {% set ns.match = true %}\\n {% endif %}\\n{% endfor %} {{ ns.match\\\n \\ }}\"\n id: API Call\n trigger: template\n - at: 00:01:00\n id: Damp\n trigger: time\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - API Call\n - condition: sun\n before: sunset\n after: sunrise\n sequence:\n - delay:\n seconds: '{{ range(30, 360)|random|int }}'\n - action: solcast_solar.update_forecasts\n data: {}\n - conditions:\n - condition: trigger\n id:\n - Damp\n - condition: template\n value_template: '{{ (now().month, now().day) == (12, 1) }}'\n sequence:\n - action: script.solcast_dec_jan_dampening\n data: {}\n mode: parallel\n max: 10",
"config": [
{
"name": "sun sun sensor",
"room": "outside",
"type": "sensor",
"id": {
"entity_id": "sun.sun",
"device_id": null
}
},
{
"name": "solcast december january dampening script",
"room": "outside",
"type": "script",
"id": {
"entity_id": "script.solcast_dec_jan_dampening",
"device_id": null
}
}
]
},
{
"id": "Spare Bedroom Presence",
"automation": "- alias: Spare Bedroom Presence\n description: ''\n mode: parallel\n triggers:\n - entity_id:\n - binary_sensor.guest_bedroom_motion_occupancy\n id: Room Presence\n from: 'off'\n to: 'on'\n trigger: state\n - entity_id:\n - binary_sensor.guest_bedroom_motion_occupancy\n id: Room Absence\n from: 'on'\n to: 'off'\n for:\n hours: 0\n minutes: 0\n seconds: 30\n trigger: state\n - entity_id:\n - switch.casper_switch_0\n from: 'off'\n to: 'on'\n id: TV\n trigger: state\n - entity_id:\n - media_player.guest_bedroom_echo_dot\n id: Alexa\n to: 'true'\n attribute: last_called\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Room Presence\n - Alexa\n - TV\n sequence:\n - action: input_text.set_value\n metadata: {}\n data:\n value: guest_bedroom\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_guest_bedroom\n - conditions:\n - condition: trigger\n id:\n - Room Absence\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.room_occupied_guest_bedroom",
"config": [
{
"name": "guest bedroom echo dot media player",
"room": "guest_bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.guest_bedroom_echo_dot",
"device_id": null
}
},
{
"name": "guest bedroom motion occupancy binary sensor",
"room": "guest_bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.guest_bedroom_motion_occupancy",
"device_id": null
}
},
{
"name": "room occupied guest bedroom input boolean",
"room": "guest_bedroom",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.room_occupied_guest_bedroom",
"device_id": null
}
},
{
"name": "casper switch 0 switch",
"room": "unknown",
"type": "switch",
"id": {
"entity_id": "switch.casper_switch_0",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
}
]
},
{
"id": "Spare Room TV Toggle On and Off",
"automation": "- alias: Spare Room TV Toggle On and Off\n description: ''\n triggers:\n - entity_id:\n - media_player.sky_q_guest_bedroom_mini\n id: Casper & Sky toggle on\n not_from:\n - unknown\n - unavailable\n - paused\n to: playing\n trigger: state\n - entity_id:\n - media_player.sky_q_guest_bedroom_mini\n id: Casper & Sky toggle off\n not_from:\n - unknown\n - unavailable\n - paused\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Casper & Sky toggle on\n sequence:\n - action: script.spare_room_tv_toggle_2\n data: {}\n - conditions:\n - condition: trigger\n id: Casper & Sky toggle off\n sequence:\n - action: script.spare_room_tv_toggle_2\n data: {}\n mode: single\n initial_state: true",
"config": [
{
"name": "spare room tv toggle 2 script",
"room": "guest_bedroom",
"type": "script",
"id": {
"entity_id": "script.spare_room_tv_toggle_2",
"device_id": null
}
},
{
"name": "spare room tv toggle 2 script",
"room": "guest_bedroom",
"type": "script",
"id": {
"entity_id": "script.spare_room_tv_toggle_2",
"device_id": null
}
},
{
"name": "Sky Q Guest Bedroom Mini",
"room": "Guest Bedroom",
"type": "media_player",
"id": {
"entity_id": "media_player.sky_q_guest_bedroom_mini",
"device_id": null
}
}
]
},
{
"id": "Stairway Presence",
"automation": "- alias: Stairway Presence\n description: ''\n mode: parallel\n triggers:\n - entity_id:\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n from: 'off'\n to: 'on'\n id: Presence\n trigger: state\n - entity_id:\n - binary_sensor.lower_landing_motion_occupancy\n - binary_sensor.upper_landing_presence_occupancy\n from: 'on'\n to: 'off'\n id: Absence\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: Presence\n - condition: template\n value_template: '{{ \"Lower\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - action: input_text.set_value\n data:\n value: lower_landing\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.lower_landing_occupancy\n - conditions:\n - condition: trigger\n id: Presence\n - condition: template\n value_template: '{{ \"Upper\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - action: input_text.set_value\n data:\n value: upper_landing\n target:\n entity_id: input_text.room_presence\n - action: input_boolean.turn_on\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.upper_landing_occupied\n - conditions:\n - condition: trigger\n id: Absence\n - condition: template\n value_template: '{{ \"Lower\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.lower_landing_occupancy\n - conditions:\n - condition: trigger\n id: Absence\n - condition: template\n value_template: '{{ \"Upper\" in trigger.to_state.attributes.friendly_name }}'\n sequence:\n - action: input_boolean.turn_off\n metadata: {}\n data: {}\n target:\n entity_id: input_boolean.upper_landing_occupied",
"config": [
{
"name": "lower landing motion occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lower_landing_motion_occupancy",
"device_id": null
}
},
{
"name": "upper landing presence occupancy binary sensor",
"room": "stairs",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.upper_landing_presence_occupancy",
"device_id": null
}
},
{
"name": "lower landing occupancy input boolean",
"room": "stairs",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.lower_landing_occupancy",
"device_id": null
}
},
{
"name": "room presence input text",
"room": "hallway",
"type": "input_text",
"id": {
"entity_id": "input_text.room_presence",
"device_id": null
}
},
{
"name": "upper landing occupied input boolean",
"room": "stairs",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.upper_landing_occupied",
"device_id": null
}
}
]
},
{
"id": "Sync Battery State to Desired Storage Control Mode",
"automation": "- alias: Sync Battery State to Desired Storage Control Mode\n description: ''\n mode: single\n triggers:\n - entity_id:\n - input_select.desired_battery_storage_control_mode\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: input_select.desired_battery_storage_control_mode\n state: Remote Control\n - condition: not\n conditions:\n - condition: state\n entity_id: select.solaredge_i1_storage_control_mode\n state: Remote Control\n alias: If battery is not already in Remote Control\n sequence:\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: select.solaredge_i1_storage_control_mode\n type: select_option\n option: Remote Control\n - conditions:\n - condition: state\n entity_id: input_select.desired_battery_storage_control_mode\n state: Maximize Self Consumption\n - condition: not\n conditions:\n - condition: state\n entity_id: select.solaredge_i1_storage_control_mode\n state: Maximize Self Consumption\n alias: If battery is not already in MSC\n sequence:\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: select.solaredge_i1_storage_control_mode\n type: select_option\n option: Maximize Self Consumption\n - conditions:\n - condition: state\n entity_id: input_select.desired_battery_storage_control_mode\n state: Time of Use\n - condition: not\n conditions:\n - condition: state\n entity_id: select.solaredge_i1_storage_control_mode\n state: Time of Use\n alias: If battery is not already in TOU\n sequence:\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: select.solaredge_i1_storage_control_mode\n type: select_option\n option: Time of Use\n - conditions:\n - condition: state\n entity_id: input_select.desired_battery_storage_control_mode\n state: Backup Only\n - condition: not\n conditions:\n - condition: state\n entity_id: select.solaredge_i1_storage_control_mode\n state: Backup Only\n alias: If battery is not already in Backup Only\n sequence:\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: select.solaredge_i1_storage_control_mode\n type: select_option\n option: Backup Only\n - conditions:\n - condition: state\n entity_id: input_select.desired_battery_storage_control_mode\n state: Disabled\n - condition: not\n conditions:\n - condition: state\n entity_id: select.solaredge_i1_storage_control_mode\n state: Disabled\n alias: If battery is not already in Remote Control\n sequence:\n - device_id: 952193e87f675ba7f7e32eda5500c572\n domain: select\n entity_id: select.solaredge_i1_storage_control_mode\n type: select_option\n option: Disabled",
"config": [
{
"name": "solaredge i1 storage control mode select",
"room": "garage",
"type": "select",
"id": {
"entity_id": "select.solaredge_i1_storage_control_mode",
"device_id": null
}
},
{
"name": "device 952193e87f675ba7f7e32eda5500c572 entity 0bdfb19491b49722c2a94351b9a673aa",
"room": "garage",
"type": "select",
"id": {
"entity_id": "0bdfb19491b49722c2a94351b9a673aa",
"device_id": "952193e87f675ba7f7e32eda5500c572"
}
},
{
"name": "solar edge battery device",
"room": "garage",
"type": "select",
"id": {
"entity_id": null,
"device_id": "952193e87f675ba7f7e32eda5500c572"
}
},
{
"name": "Battery Storage Control Mode",
"room": null,
"type": "input_select",
"id": {
"entity_id": "input_select.desired_battery_storage_control_mode",
"device_id": null
}
}
]
},
{
"id": "System Monitor",
"automation": "- alias: System Monitor\n description: Monitors bluetooth dongle, CPU use and RAM use.\n mode: single\n triggers:\n - entity_id:\n - sensor.greenhouse_thermometer_temperature\n to: unavailable\n for:\n hours: 0\n minutes: 2\n seconds: 0\n id: Bluetooth\n trigger: state\n - entity_id:\n - sensor.processor_use\n above: 50\n id: CPU\n for:\n hours: 0\n minutes: 5\n seconds: 0\n trigger: numeric_state\n - entity_id:\n - sensor.memory_use\n above: 50\n id: RAM\n for:\n hours: 0\n minutes: 5\n seconds: 0\n trigger: numeric_state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - Bluetooth\n sequence:\n - action: script.text_notify_dave\n data:\n message: The bluetooth dongle has lost connection.\n - conditions:\n - condition: trigger\n id:\n - CPU\n sequence:\n - action: script.text_notify_dave\n data:\n message: CPU use has risen above 50%.\n title: HIGH CPU USE!\n - conditions:\n - condition: trigger\n id:\n - RAM\n sequence:\n - action: script.text_notify_dave\n data:\n message: RAM use is above 50%.\n title: RAM USE HIGH!",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "greenhouse thermometer temperature sensor",
"room": "greenhouse",
"type": "sensor",
"id": {
"entity_id": "sensor.greenhouse_thermometer_temperature",
"device_id": null
}
},
{
"name": "Memory Use",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.memory_use",
"device_id": null
}
},
{
"name": "Processor Use",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.processor_use",
"device_id": null
}
}
]
},
{
"id": "Tado Controller & Bridge Monitor",
"automation": "- alias: Tado Controller & Bridge Monitor\n description: Notify me if the Tado Controller or Tado Bridge goes offline for more\n than 5 minutes.\n triggers:\n - entity_id:\n - binary_sensor.bp2744464640_connection_state\n from: 'on'\n to: unavailable\n for:\n hours: 0\n minutes: 0\n seconds: 30\n id: Tado Controller Unavailable\n trigger: state\n - entity_id:\n - binary_sensor.bp2744464640_connection_state\n from: 'on'\n to: unknown\n for:\n hours: 0\n minutes: 0\n seconds: 30\n id: Tado Controller State Unknown\n trigger: state\n - type: not_connected\n device_id: 863461778a01242acbfb0853707e2890\n entity_id: binary_sensor.ib1613380096_connection_state\n domain: binary_sensor\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: Tado Bridge Disconnected\n trigger: device\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: or\n conditions:\n - condition: trigger\n id: Tado Controller Unavailable\n - condition: trigger\n id: Tado Controller State Unknown\n sequence:\n - action: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: The heating controller is offline\n title: HEATING\n alias: Send a notification based on an input text helper\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: The heating controller is offline\n - conditions:\n - condition: trigger\n id: Tado Bridge Disconnected\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - action: script.jarvis_speech_engine_v3_0\n data:\n where: dave\n type: announcement\n message: The tado bridge is offline\n mode: single",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
},
{
"name": "tado bridge device",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": null,
"device_id": "863461778a01242acbfb0853707e2890"
}
},
{
"name": "tado controller connection state binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.bp2744464640_connection_state",
"device_id": null
}
},
{
"name": "tado bridge connection state binary sensor",
"room": "hallway",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.ib1613380096_connection_state",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
}
]
},
{
"id": "living_room_lights_needed",
"automation": "- id: living_room_lights_needed\n alias: Living Room Lights Needed\n initial_state: true\n mode: restart\n trigger:\n - entity_id: binary_sensor.living_room_fp2_presence_sensor_1\n platform: state\n from: 'off'\n to: 'on'\n condition:\n - condition: numeric_state\n entity_id: sensor.living_room_fp2_light_sensor_light_level\n below: input_number.low_light_threshold\n - condition: time\n after: 07:00:00\n before: '22:15:00'\n - condition: state\n entity_id: group.living_room_lights\n state: 'off'\n action:\n - service: script.lights_w_level\n data:\n level: 255",
"config": [
{
"name": "living room fp2 light sensor light level sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.living_room_fp2_light_sensor_light_level",
"device_id": null
}
},
{
"name": "low light threshold input number",
"room": "living_room",
"type": "input_number",
"id": {
"entity_id": "input_number.low_light_threshold",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
},
{
"name": "lights with level script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.lights_w_level",
"device_id": null
}
},
{
"name": "living room lights group",
"room": "living_room",
"type": "group",
"id": {
"entity_id": "group.living_room_lights",
"device_id": null
}
},
{
"name": "living room fp2 presence sensor 1 binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.living_room_fp2_presence_sensor_1",
"device_id": null
}
}
]
},
{
"id": "Time for Bed Parents",
"automation": "- alias: Time for Bed Parents\n description: ''\n triggers:\n - at: '22:10:00'\n trigger: time\n conditions:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n actions:\n - action: script.parents_bedtime_announcement\n data:\n where: living room\n mode: single",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "parents bedtime announcement script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.parents_bedtime_announcement",
"device_id": null
}
}
]
},
{
"id": "Toothbrush Automations",
"automation": "- alias: Toothbrush Automations\n description: ''\n triggers:\n - entity_id:\n - sensor.smart_series_7000_236d_toothbrush_state\n - sensor.seans_toothbrush\n to: running\n trigger: state\n id: running\n - entity_id:\n - sensor.smart_series_7000_236d_toothbrush_state\n - sensor.seans_toothbrush\n to: idle\n trigger: state\n for:\n hours: 0\n minutes: 1\n seconds: 0\n id: idle\n enabled: false\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - running\n - condition: time\n after: 07:30:00\n before: 09:00:00\n - condition: state\n entity_id: input_boolean.toothbrushing_song_playing\n state: 'off'\n sequence:\n - action: media_player.play_media\n metadata: {}\n data:\n media_content_id: Toothbrushing Song by Duggee & The Squirrels in upstairs\n group\n media_content_type: AMAZON_MUSIC\n entity_id: media_player.jamie_s_room_dot\n - action: input_boolean.toggle\n target:\n entity_id: input_boolean.toothbrushing_song_playing\n data: {}\n - wait_for_trigger:\n - trigger: state\n entity_id:\n - sensor.smart_series_7000_236d_toothbrush_state\n - sensor.seans_toothbrush\n to: idle\n - action: input_boolean.toggle\n target:\n entity_id: input_boolean.toothbrushing_song_playing\n data: {}\n - conditions:\n - condition: trigger\n id:\n - idle\n sequence:\n - action: mqtt.publish\n data:\n evaluate_payload: false\n qos: 0\n retain: false\n topic: sean/toothbrush/time\n payload: '{{ states(''sensor.seans_toothbrush_duration'') | int }}'\n mode: restart",
"config": [
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "smart series 7000 toothbrush state sensor",
"room": "bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.smart_series_7000_236d_toothbrush_state",
"device_id": null
}
},
{
"name": "seans toothbrush sensor",
"room": "bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.seans_toothbrush",
"device_id": null
}
},
{
"name": "seans toothbrush duration sensor",
"room": "bathroom",
"type": "sensor",
"id": {
"entity_id": "sensor.seans_toothbrush_duration",
"device_id": null
}
},
{
"name": "jamie's room dot media player",
"room": "jamies_room",
"type": "media_player",
"id": {
"entity_id": "media_player.jamie_s_room_dot",
"device_id": null
}
},
{
"name": "Toothbrushing Song Playing",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.toothbrushing_song_playing",
"device_id": null
}
}
]
},
{
"id": "Travel Automations",
"automation": "- alias: Travel Automations\n description: Checks waze travel time\n trigger:\n - platform: numeric_state\n entity_id: sensor.waze_travel_time\n below: 5\n alias: When Gem is less than 5 minutes away\n id: Gem almost home\n - platform: numeric_state\n entity_id: zone.gem_work\n id: Gem at work\n alias: Gem is at work\n above: 0\n - platform: numeric_state\n entity_id: zone.gem_work\n alias: Gem left work\n id: Gem left work\n below: 1\n - platform: numeric_state\n entity_id: sensor.waze_travel_time_2\n below: 5\n alias: When Dave is less than 5 minutes away\n id: Dave almost home\n - platform: numeric_state\n entity_id: zone.dave_s_mum_and_dad\n id: Dave is at his mum and dad's\n alias: 'Dave is at his mum and dad''s '\n above: 0\n - platform: numeric_state\n entity_id: zone.dave_s_mum_and_dad\n alias: 'Dave left his mum and dad''s '\n id: 'Dave left his mum and dad''s '\n below: 1\n - platform: zone\n entity_id:\n - person.gem_forrester\n - person.david_forrester\n zone: zone.doctors_surgery\n event: enter\n id: At the Doctors\n - platform: zone\n entity_id:\n - person.gem_forrester\n - person.david_forrester\n zone: zone.doctors_surgery\n event: leave\n id: Left the Doctors\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Gem at work\n sequence:\n - service: script.text_notify_dave\n data:\n message: Gem is got to work\n title: GEM AT WORK\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ [''Pardon me sir. Your good lady has arrived at work. Let\n the party begin'', ''Attention, Gemma has arrived at work. Better get\n those jobs done now.'', ''Information. My tracking system has detected\n the presence of Gemma at her work location'']|random }}'\n - conditions:\n - condition: trigger\n id: Gem almost home\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ ['Attention in the house. Mummy will be home soon. Shes had\\\n \\ a hard day and will probably need some wine.',\\n 'Proximity Alert. My tracking sensors have detected\\\n \\ the presence of movement in the area. Logic circuits have determined\\\n \\ that Mummy will be home soon.',\\n 'Information. Sensors have reported\\\n \\ movement at a range of 1 mile from the property. Logic circuits surmise\\\n \\ that Mummy will be home soon.']|random\\n}}\\n\"\n - conditions:\n - condition: trigger\n id: Gem left work\n sequence:\n - service: script.text_notify_dave\n data:\n message: Gem has left work\n title: GEM LEFT WORK\n alias: Send a notification based on an input text helper\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: Information. Sensors have detected that Mummy has left the office\n and is on her way home. She will be home in {{ state_attr('sensor.gem_at_work'\n , 'duration') | round(0)}} minutes.\n - conditions:\n - condition: trigger\n id: Dave is at his mum and dad's\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: Information. Dave has arrived in Dundee.\n - service: script.text_notify_gem\n data:\n message: 'Dave is at his mum and dad''s '\n title: DAVE IS IN DUNDEE\n alias: Send a notification based on an input text helper\n - conditions:\n - condition: trigger\n id: Dave almost home\n sequence:\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: \"{{ ['Attention in the house. Daddy will be home soon. He has\\\n \\ had a long journey and will probably need some beer.',\\n 'Proximity\\\n \\ Alert. My tracking sensors have detected the presence of movement\\\n \\ in the area. Logic circuits have determined that Daddy will be home\\\n \\ soon.',\\n 'Information. Sensors have reported movement at a range\\\n \\ of 1 mile from the property. Logic circuits surmise that Daddy will\\\n \\ be home soon.']|random\\n}}\\n\"\n alias: If quiet time is off and audible notifications is on, announce on Alexa\n everywhere group.\n - service: script.text_notify_gem\n data:\n message: Dave is almost home\n title: DAVE 5 MINS AWAY\n alias: Notify Gem's phone\n - conditions:\n - condition: trigger\n id: 'Dave left his mum and dad''s '\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: Daddy is on his way home. He'll be home in {{ state_attr('sensor.dave_in_dundee'\n , 'duration') | round(0)}} minutes.\n - service: script.text_notify_gem\n data:\n message: Dave has left Dundee\n title: DAVE LEFT\n alias: Notify Gem's phone\n - conditions:\n - condition: trigger\n id: At the Doctors\n sequence:\n - if:\n - condition: template\n value_template: '{{ \"gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: If Gem, message Dave. If Dave,message Gem.\n then:\n - service: script.text_notify_dave\n data:\n message: Gem is at the doctors\n title: GEM AT DOCTORS\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ \"Pardon me daddy. mummy has arrived at the doctors\" }}'\n else:\n - service: script.text_notify_gem\n data:\n message: Dave is at the doctors\n title: DAVE AT DOCTORS\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ \"Pardon me mummy. daddy has arrived at the doctors\" }}'\n - conditions:\n - condition: trigger\n id: Left the Doctors\n sequence:\n - if:\n - condition: template\n value_template: '{{ \"gem\" in trigger.to_state.attributes.friendly_name }}'\n alias: If Gem, message Dave. If Dave,message Gem.\n then:\n - service: script.text_notify_dave\n data:\n message: Gem has left the doctors\n title: GEM LEFT DOCTORS\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ \"Pardon me daddy. mummy has left the doctors\" }}'\n else:\n - service: script.text_notify_gem\n data:\n message: Dave has left the doctors\n title: DAVE LEFT DOCTORS\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: script.speech_engine\n data:\n where: '{{ states(''sensor.room_audio'') }}'\n message: '{{ \"Pardon me mummy. daddy has left the doctors\" }}'\n mode: single",
"config": [
{
"name": "person david forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.david_forrester",
"device_id": null
}
},
{
"name": "person gem forrester",
"room": "living_room",
"type": "person",
"id": {
"entity_id": "person.gem_forrester",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "room audio sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.room_audio",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine",
"device_id": null
}
},
{
"name": "gem at work sensor",
"room": "office",
"type": "sensor",
"id": {
"entity_id": "sensor.gem_at_work",
"device_id": null
}
},
{
"name": "dave in dundee sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.dave_in_dundee",
"device_id": null
}
},
{
"name": "Text Notify Gem",
"room": null,
"type": "script",
"id": {
"entity_id": "script.text_notify_gem",
"device_id": null
}
},
{
"name": "Zone Dave's Mum and Dad",
"room": null,
"type": "zone",
"id": {
"entity_id": "zone.dave_s_mum_and_dad",
"device_id": null
}
},
{
"name": "Zone Gem Work",
"room": null,
"type": "zone",
"id": {
"entity_id": "zone.gem_work",
"device_id": null
}
},
{
"name": "Waze Travel Time",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.waze_travel_time",
"device_id": null
}
},
{
"name": "Waze Travel Time 2",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.waze_travel_time_2",
"device_id": null
}
}
]
},
{
"id": "Update Energy Records",
"automation": "- alias: Update Energy Records\n description: ''\n triggers:\n - at: '23:55:00'\n id: daily\n trigger: time\n - trigger: state\n entity_id:\n - sensor.power_grid_import\n for:\n hours: 0\n minutes: 0\n seconds: 10\n id: Grid Import\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: daily\n sequence:\n - alias: Record daily max generation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.solar_panel_production_daily'') | float)\n > (states(''sensor.max_solar_generated'') | float) }}'\n then:\n - data:\n topic: energy/solar/maxgen\n payload: '{{ states(''sensor.solar_panel_production_daily'') }}'\n retain: true\n action: mqtt.publish\n - delay: 00:00:30\n - alias: Record ATH Max Generation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.max_solar_generated'') | float) > (states(''sensor.ath_solar_generated'')\n | float) }}'\n then:\n - data:\n payload: '{{ states(''sensor.max_solar_generated'') }}'\n retain: true\n topic: energy/solar/athmaxgen\n action: mqtt.publish\n - data:\n title: New ATH Solar Generation\n message: 'Just recorded a new ALL TIME HIGH SOLAR GENERATION: {{ states(''sensor.max_solar_generated'')\n }} kWh.'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily low generation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.solar_panel_production_daily'') | float)\n < (states(''sensor.min_solar_generated'') | float) }}'\n then:\n - data:\n payload: '{{ states(''sensor.solar_panel_production_daily'') }}'\n retain: true\n topic: energy/solar/mingen\n action: mqtt.publish\n - delay: 00:00:30\n - alias: Record ATL generation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.min_solar_generated'') | float) < (states(''sensor.atl_solar_generated'')\n | float) }}'\n then:\n - data:\n payload: '{{ states(''sensor.min_solar_generated'') }}'\n retain: true\n topic: energy/solar/atlmingen\n action: mqtt.publish\n - data:\n title: New ATH Solar Generation\n message: 'Just recorded a new ALL TIME LOW SOLAR GENERATION: {{ states(''sensor.min_solar_generated'')\n }} kWh.'\n action: script.text_notify_parents\n - delay: 00:00:30\n alias: At the end of the day\n - conditions:\n - condition: trigger\n id:\n - Grid Import\n sequence:\n - data:\n topic: energy/solar/maximport\n payload: '{{ states(''sensor.power_grid_import'') }}'\n retain: true\n action: mqtt.publish\n - delay: 00:00:30\n - alias: Record ATH Max import power\n if:\n - condition: template\n value_template: '{{ (states(''sensor.max_power_import'') | float) > (states(''sensor.ath_power_import'')\n | float) }}'\n then:\n - data:\n payload: '{{ states(''sensor.max_power_import'') }}'\n retain: true\n topic: energy/solar/athmaximport\n action: mqtt.publish\n - data:\n title: New ATH Grid Power Import\n message: 'Just recorded a new ALL TIME HIGH GRID POWER IMPORT: {{ states(''sensor.max_power_import'')\n }} W.'\n action: script.text_notify_parents\n - delay: 00:00:30\n alias: Update grid import power\n mode: queued",
"config": [
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "All Time High Power Import",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_power_import",
"device_id": null
}
},
{
"name": "All Time High Solar Generated",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_solar_generated",
"device_id": null
}
},
{
"name": "All Time Low Solar Generated",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.atl_solar_generated",
"device_id": null
}
},
{
"name": "Max Power Import",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_power_import",
"device_id": null
}
},
{
"name": "Max Solar Generated",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_solar_generated",
"device_id": null
}
},
{
"name": "Min Solar Generated",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.min_solar_generated",
"device_id": null
}
},
{
"name": "Power Grid Import",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.power_grid_import",
"device_id": null
}
},
{
"name": "Solar Panel Production Daily",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.solar_panel_production_daily",
"device_id": null
}
}
]
},
{
"id": "Update Octopus Target Rate Length for Home Battery",
"automation": "- alias: Update Octopus Target Rate Length for Home Battery\n description: ''\n triggers:\n - entity_id:\n - input_number.home_battery_charge_length\n id: Home Battery\n trigger: state\n conditions: []\n actions:\n - target:\n entity_id: binary_sensor.octopus_energy_target_home_battery_charge\n data:\n target_hours: '\"{{ states(''input_number.home_battery_charge_length'')}}\"\n\n '\n action: octopus_energy.update_target_config\n - action: target_timeframes.update_target_timeframe_config\n target:\n entity_id: binary_sensor.target_timeframes_octopus_energy_charge_home_battery\n data:\n target_hours: '{{ states(''input_number.home_battery_charge_length'')}}'\n mode: single",
"config": [
{
"name": "target timeframes octopus energy charge home battery binary sensor",
"room": "garage",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.target_timeframes_octopus_energy_charge_home_battery",
"device_id": null
}
},
{
"name": "home battery charge length input number",
"room": "garage",
"type": "input_number",
"id": {
"entity_id": "input_number.home_battery_charge_length",
"device_id": null
}
},
{
"name": "Octopus Energy Target Home Battery Charge",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.octopus_energy_target_home_battery_charge",
"device_id": null
}
}
]
},
{
"id": "Update OpenUV",
"automation": "- alias: Update OpenUV\n description: ''\n trigger:\n - platform: time_pattern\n minutes: /15\n condition:\n - condition: sun\n before: sunset\n after: sunrise\n before_offset: +00:45:00\n - condition: template\n value_template: \"{{ state_attr('automation.update_openuv', 'last_triggered') ==\\\n \\ None\\n or (now() - state_attr('automation.update_openuv', 'last_triggered')\\n\\\n \\ ) >= timedelta(hours = 0, minutes = 40) }}\"\n action:\n - service: homeassistant.update_entity\n data: {}\n target:\n entity_id:\n - binary_sensor.protection_window\n - sensor.current_uv_index\n mode: single",
"config": [
{
"name": "update openuv automation",
"room": "outside",
"type": "automation",
"id": {
"entity_id": "automation.update_openuv",
"device_id": null
}
},
{
"name": "Protection Window",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.protection_window",
"device_id": null
}
},
{
"name": "Current UV Index",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.current_uv_index",
"device_id": null
}
}
]
},
{
"id": "Update Part of Day",
"automation": "- alias: Update Part of Day\n triggers:\n - entity_id:\n - binary_sensor.lunchtime\n - binary_sensor.dinner_time\n - binary_sensor.evening\n - binary_sensor.master_bed_occupancy_bed_occupied_both\n - binary_sensor.overnight\n - binary_sensor.kitchen_occupied\n - input_boolean.kitchen_table_occupied\n - binary_sensor.morning\n - binary_sensor.afternoon\n trigger: state\n conditions:\n - condition: template\n value_template: '{{ not is_state(''input_select.part_of_day'', ''Manual Override'')\n }}\n\n '\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: binary_sensor.master_bed_occupancy_bed_occupied_both\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Bedtime\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.kitchen_occupied\n state: 'on'\n - condition: state\n entity_id: input_boolean.kitchen_table_occupied\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Lunchtime\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.kitchen_occupied\n state: 'on'\n - condition: state\n entity_id: input_boolean.kitchen_table_occupied\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Dinnertime\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.evening\n state: 'on'\n - condition: state\n entity_id: binary_sensor.kitchen_occupied\n state: 'off'\n - condition: state\n entity_id: input_boolean.kitchen_table_occupied\n state: 'off'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Evening\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.morning\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Morning\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.afternoon\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Afternoon\n action: input_select.select_option\n - conditions:\n - condition: state\n entity_id: binary_sensor.overnight\n state: 'on'\n sequence:\n - data:\n entity_id: input_select.part_of_day\n option: Overnight\n action: input_select.select_option",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "afternoon binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.afternoon",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "evening binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.evening",
"device_id": null
}
},
{
"name": "kitchen table occupied input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.kitchen_table_occupied",
"device_id": null
}
},
{
"name": "morning binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.morning",
"device_id": null
}
},
{
"name": "overnight binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.overnight",
"device_id": null
}
},
{
"name": "master bed occupancy bed occupied both binary sensor",
"room": "bedroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.master_bed_occupancy_bed_occupied_both",
"device_id": null
}
},
{
"name": "part of day input select",
"room": "living_room",
"type": "input_select",
"id": {
"entity_id": "input_select.part_of_day",
"device_id": null
}
},
{
"name": "Kitchen Occupied",
"room": "Kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kitchen_occupied",
"device_id": null
}
}
]
},
{
"id": "Update Weather Records",
"automation": "- alias: Update Weather Records\n description: ''\n triggers:\n - entity_id: sensor.gw2000a_lightning_strikes\n id: new_strike\n trigger: state\n - entity_id:\n - sensor.gw2000a_max_daily_gust\n id: new_gust\n trigger: state\n - entity_id: sensor.gw2000a_wind_speed\n id: new_wind_speed\n trigger: state\n - at: '23:55:00'\n id: daily\n trigger: time\n - at: 00:01:00\n id: save_stats\n trigger: time\n - at: 00:03:00\n id: record_reset\n trigger: time\n - at: 00:00:00\n id: record_reset\n trigger: time\n - trigger: numeric_state\n entity_id:\n - sensor.gw2000a_wh90_battery\n below: 1.75\n id: WH90 Batt Low\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: trigger\n id: new_strike\n alias: When a lightning strike occurs\n sequence:\n - if:\n - condition: template\n value_template: \"{{ (states('sensor.gw2000a_lightning_strikes') | float(0))\\\n \\ >\\n (states('sensor.max_lightning_strikes') | float(0)) }}\"\n then:\n - data:\n topic: house/weather/maxstrikes\n payload: '{{ states(''sensor.gw2000a_lightning_strikes'') }}'\n action: script.generic_mqtt_publisher\n - data:\n topic: house/weather/maxstrikes/timestamp\n payload: '{{ now().isoformat() }}'\n action: script.generic_mqtt_publisher\n alias: Update max number of strikes if greater than\n - conditions:\n - condition: trigger\n id: new_gust\n alias: When there is a gust of wind\n sequence:\n - alias: Notify us if gust is a new ATH\n if:\n - condition: template\n value_template: \"{{ (states('sensor.gw2000a_max_daily_gust') | float(0))\\\n \\ >\\n (states('sensor.ath_wind_gust') | float(0)) }}\"\n then:\n - data:\n topic: house/weather/athwind\n payload: '{{ states(''sensor.gw2000a_max_daily_gust'') }}'\n action: script.generic_mqtt_publisher\n - data:\n topic: house/weather/athwind/timestamp\n payload: '{{ now().isoformat() }}'\n action: script.generic_mqtt_publisher\n - data:\n title: New ATH Gust\n message: 'Just recorded a new ALL TIME HIGH WIND GUST: {{ states(''sensor.ath_wind_gust'')}}\n mph at {{states(''sensor.ath_wind_gust_timestamp'')}}'\n action: script.text_notify_parents\n - delay: 00:00:30\n - conditions:\n - condition: trigger\n id: save_stats\n sequence:\n - if:\n - condition: numeric_state\n entity_id: sensor.chill_time_yesterday\n above: 0\n then:\n - data:\n topic: house/weather/chillhours\n payload: '{% set total = (states(''sensor.chill_time_yesterday'') | float\n | round(1)) + (states(''sensor.chill_hours'') | float) | round(1) %}\n {{ total|int }}\n\n '\n retain: true\n action: mqtt.publish\n alias: Update Chill Time\n - if:\n - condition: numeric_state\n entity_id: sensor.freeze_time_yesterday\n above: 0\n then:\n - data:\n topic: house/weather/freezehours\n payload: '{% set total = (states(''sensor.freeze_time_yesterday'') | float\n | round(1)) + (states(''sensor.freeze_hours'') | float) | round(1) %}\n {{ total }}\n\n '\n retain: true\n action: mqtt.publish\n alias: Update Freeze Time\n alias: At the start of the day\n - conditions:\n - condition: trigger\n id: record_reset\n sequence:\n - if:\n - condition: template\n value_template: '{{ now().day == 1 }}'\n then:\n - data:\n topic: house/weather/monthlymaxtemp\n payload: '{{ states(''sensor.gw2000a_outdoor_temperature'') }}'\n retain: true\n action: mqtt.publish\n - data:\n topic: house/weather/monthlylowtemp\n payload: '{{ states(''sensor.gw2000a_outdoor_temperature'') }}'\n retain: true\n action: mqtt.publish\n alias: Update min and max monthly temperatures\n - if:\n - condition: time\n weekday:\n - sun\n then:\n - data:\n topic: house/weather/weekly_rainfall\n payload: '{{ states(''sensor.rainfall_last_week'') }}'\n action: mqtt.publish\n alias: Update weekly rainfall total\n - alias: Reset freeze and chill hours at the start of the month\n if:\n - condition: template\n value_template: '{{ now().day == 1 }}'\n then:\n - data:\n topic: house/weather/chillhours\n payload: '0'\n retain: true\n action: mqtt.publish\n - data:\n topic: house/weather/freezehours\n payload: '0'\n retain: true\n action: mqtt.publish\n alias: At the start of the month\n - conditions:\n - condition: trigger\n id: new_wind_speed\n alias: When wind speed changes\n sequence:\n - data:\n topic: house/weather/new_wind_speed\n payload: \"{% if has_value('sensor.gw2000a_wind_speed') %}\\n {{ states('sensor.gw2000a_wind_speed')\\\n \\ | int }}\\n{% else %}\\n 0\\n{% endif %}\\n\"\n action: script.generic_mqtt_publisher\n - conditions:\n - condition: trigger\n id: daily\n sequence:\n - data:\n topic: house/weather/yesterday_rainfall_mm\n payload: '{{ state_attr(''sensor.daily_rainfall_ut'',''last_period'') |\n float }}'\n retain: true\n action: mqtt.publish\n alias: Update daily rainfall total\n - alias: Record daily max temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_temp'') | float) > (states(''sensor.max_temp'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxtemp\n payload: '{{ states(''sensor.daily_max_temp'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_temp'') | float) > (states(''sensor.ath_max_temp'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxtemp\n payload: '{{ states(''sensor.daily_max_temp'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High Temp\n message: 'Just recorded a new ALL TIME HIGH TEMP: {{ states(''sensor.daily_max_temp'')\n }} degrees.'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily low temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_low_temp'') | float) < (states(''sensor.low_temp'')\n | float) }}'\n then:\n - data:\n topic: house/weather/lowtemp\n payload: '{{ states(''sensor.daily_low_temp'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATL temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_low_temp'') | float) < (states(''sensor.ath_low_temp'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athlowtemp\n payload: '{{ states(''sensor.daily_low_temp'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH Low Temp\n message: 'Just recorded a new ALL TIME LOW TEMP: {{ states(''sensor.daily_low_temp'')\n }} degrees.'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record ATH Daily Rain\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_rainfall_ut'') | float) > (states(''sensor.ath_24h_rain'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athdailyrain\n payload: '{{ states(''sensor.daily_rainfall_ut'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New Wettest Day\n message: 'Just recorded a new ALL TIME HIGH DAILY RAINFALL: {{ states(''sensor.ath_24h_rain'')\n }} mm.'\n action: script.text_notify_parents\n - alias: Record daily max wind speed\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_wind_speed'') | float) >\n (states(''sensor.max_wind_gust'') | float) }}'\n then:\n - data:\n topic: house/weather/maxwind\n payload: '{{ states(''sensor.daily_max_wind_speed'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record number of days with rain and total rainfall\n if:\n - condition: numeric_state\n entity_id: sensor.daily_rainfall_ut\n above: 0\n then:\n - data:\n topic: house/weather/daysrain\n payload: '{% set total = states(''sensor.days_with_rain'') | int + 1 %}\n {{ total }}\n\n '\n retain: true\n action: mqtt.publish\n - data:\n topic: house/weather/totalrainfall\n payload: '{% set total = (states(''sensor.daily_rainfall_ut'') | float)\n + (states(''sensor.gw2000a_daily_rain_rate'') | float) | round(1) %}\n {{ total }}\n\n '\n retain: true\n action: mqtt.publish\n else:\n - if:\n - condition: state\n entity_id: sensor.daily_rainfall_ut\n state: '0'\n then:\n - data:\n topic: house/weather/daysnorain\n payload: '{% set total = states(''sensor.days_without_rain'') | int\n + 1 %} {{ total }}\n\n '\n retain: true\n action: mqtt.publish\n - if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_pressure'') | float) > (states(''sensor.max_pressure'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxpress\n payload: '{{ states(''sensor.daily_max_pressure'') }}'\n retain: true\n action: mqtt.publish\n alias: Record daily high pressure\n - alias: Record ATH Pressure\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_pressure'') | float) > (states(''sensor.ath_max_pressure'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxpress\n payload: '{{ states(''sensor.daily_max_pressure'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High Pressure\n message: 'Just recorded a new ALL TIME HIGH BAROMETRIC PRESSURE: {{ states(''sensor.daily_max_pressure'')\n }} millibars.'\n action: script.text_notify_parents\n - delay: 00:00:30\n - if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_low_pressure'') | float) < (states(''sensor.min_pressure'')\n | float) }}'\n then:\n - data:\n topic: house/weather/minpress\n payload: '{{ states(''sensor.daily_low_pressure'') }}'\n retain: true\n action: mqtt.publish\n alias: Record daily low pressure\n - alias: Record ATL pressure\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_low_pressure'') | float) < (states(''sensor.ath_min_pressure'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athminpress\n payload: '{{ states(''sensor.daily_low_pressure'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH Low Pressure\n message: 'Just recorded a new ALL TIME LOW BAROMETRIC PRESSURE: {{ states(''sensor.daily_low_pressure'')\n }} millibars.'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily max humidity\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_humidity'') | float) > (states(''sensor.max_humidity'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxhum\n payload: '{{ states(''sensor.daily_max_humidity'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH humidity\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_humidity'') | float) > (states(''sensor.ath_max_humidity'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxhum\n payload: '{{ states(''sensor.daily_max_humidity'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High Humidity Level\n message: 'Just recorded a new ALL TIME HIGH HUMDITIY LEVEL: {{ states(''sensor.daily_max_humidity'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily low humidity\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_humidity'') | float) < (states(''sensor.min_humidity'')\n | float) }}'\n then:\n - data:\n topic: house/weather/minhum\n payload: '{{ states(''sensor.daily_min_humidity'') }}'\n retain: true\n action: mqtt.publish\n - if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_humidity'') | float) < (states(''sensor.ath_min_humidity'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athminhum\n payload: '{{ states(''sensor.daily_min_humidity'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH Low Humidity Level\n message: 'Just recorded a new ALL TIME LOW HUMIDITY LEVEL: {{ states(''sensor.daily_min_humidity'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n alias: Record ATL humidity\n - alias: Record daily max solar radiation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_solar_radiation'') | float)\n > (states(''sensor.max_solar_radiation'') | float) }}'\n then:\n - data:\n topic: house/weather/maxsolrad\n payload: '{{ states(''sensor.daily_max_solar_radiation'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH solar radiation\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_solar_radiation'') | float)\n > (states(''sensor.ath_max_solar_radiation'') | float) }}'\n then:\n - data:\n topic: house/weather/athmaxsolrad\n payload: '{{ states(''sensor.daily_max_solar_radiation'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High Solar Radiation Level\n message: 'Just recorded a new ALL TIME HIGH SOLAR RADIATION LEVEL: {{\n states(''sensor.daily_max_solar_radiation'') }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily max lux level\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_solar_lux'') | float) > (states(''sensor.max_solar_lux'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxsollux\n payload: '{{ states(''sensor.daily_max_solar_lux'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH lux level\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_solar_lux'') | float) > (states(''sensor.ath_max_solar_lux'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxsollux\n payload: '{{ states(''sensor.daily_max_solar_lux'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High Solar Lux Level\n message: 'Just recorded a new ALL TIME HIGH SOLAR LUX LEVEL: {{ states(''sensor.daily_max_solar_lux'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily max uv index\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_uv_index'') | float) > (states(''sensor.max_uv_index'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxuv\n payload: '{{ states(''sensor.daily_max_uv_index'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH uv index\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_uv_index'') | float) > (states(''sensor.ath_max_uv_index'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxuv\n payload: '{{ states(''sensor.daily_max_uv_index'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH High UV Index\n message: 'Just recorded a new ALL TIME HIGH UV LEVEL: {{ states(''sensor.daily_max_uv_index'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily max soil temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_soil_temp'') | float) > (states(''sensor.max_soil_temperature'')\n | float) }}'\n then:\n - data:\n topic: house/weather/maxsoiltemp\n payload: '{{ states(''sensor.daily_max_soil_temp'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH soil temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_soil_temp'') | float) > (states(''sensor.ath_max_soil_temperature'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athmaxsoiltemp\n payload: '{{ states(''sensor.daily_max_soil_temp'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH Soil Temp\n message: 'Just recorded a new ALL TIME HIGH SOIL TEMPERATURE: {{ states(''sensor.daily_max_soil_temp'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily min soil temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_soil_temp'') | float) < (states(''sensor.min_soil_temperature'')\n | float) }}'\n then:\n - data:\n topic: house/weather/minsoiltemp\n payload: '{{ states(''sensor.daily_min_soil_temp'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATL soil temp\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_soil_temp'') | float) < (states(''sensor.ath_min_soil_temperature'')\n | float) }}'\n then:\n - data:\n topic: house/weather/athminsoiltemp\n payload: '{{ states(''sensor.daily_min_soil_temp'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATL Soil Temp\n message: 'Just recorded a new ALL TIME LOW SOIL TEMPERATURE: {{ states(''sensor.daily_min_soil_temp'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily max soil moisture\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_soil_moisture'') | float)\n > (states(''sensor.max_soil_moisture'') | float) }}'\n then:\n - data:\n topic: house/weather/maxsoilmoist\n payload: '{{ states(''sensor.daily_max_soil_moisture'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATH soil moisture\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_max_soil_moisture'') | float)\n > (states(''sensor.ath_max_soil_moisture'') | float) }}'\n then:\n - data:\n topic: house/weather/athmaxsoilmoist\n payload: '{{ states(''sensor.daily_max_soil_moisture'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATH Soil Moisture\n message: 'Just recorded a new ALL TIME HIGH SOIL MOISTURE: {{ states(''sensor.daily_max_soil_moisture'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n - alias: Record daily min soil moisture\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_soil_moisture'') | float)\n < (states(''sensor.min_soil_moisture'') | float) }}'\n then:\n - data:\n topic: house/weather/minsoilmoist\n payload: '{{ states(''sensor.daily_min_soil_moisture'') }}'\n retain: true\n action: mqtt.publish\n - alias: Record ATL soil moisture\n if:\n - condition: template\n value_template: '{{ (states(''sensor.daily_min_soil_moisture'') | float)\n < (states(''sensor.ath_min_soil_moisture'') | float) }}'\n then:\n - data:\n topic: house/weather/athminsoilmoist\n payload: '{{ states(''sensor.daily_min_soil_moisture'') }}'\n retain: true\n action: mqtt.publish\n - data:\n title: New ATL Soil Moisture\n message: 'Just recorded a new ALL TIME LOW SOIL MOISTURE: {{ states(''sensor.daily_min_soil_moisture'')\n }}%'\n action: script.text_notify_parents\n - delay: 00:00:30\n alias: At the end of the day\n - conditions:\n - condition: trigger\n id:\n - WH90 Batt Low\n sequence:\n - action: script.text_notify_dave\n data:\n title: WITTBOY BATTERY LOW\n message: The Wittboy battery seems low. Please check.\n mode: queued",
"config": [
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "text notify parents script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_parents",
"device_id": null
}
},
{
"name": "generic mqtt publisher script",
"room": "office",
"type": "script",
"id": {
"entity_id": "script.generic_mqtt_publisher",
"device_id": null
}
},
{
"name": "All Time High 24h Rain",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_24h_rain",
"device_id": null
}
},
{
"name": "All Time High Low Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_low_temp",
"device_id": null
}
},
{
"name": "All Time High Max Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_humidity",
"device_id": null
}
},
{
"name": "All Time High Max Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_pressure",
"device_id": null
}
},
{
"name": "All Time High Max Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_soil_moisture",
"device_id": null
}
},
{
"name": "All Time High Max Soil Temperature",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_soil_temperature",
"device_id": null
}
},
{
"name": "All Time High Max Solar Lux",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_solar_lux",
"device_id": null
}
},
{
"name": "All Time High Max Solar Radiation",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_solar_radiation",
"device_id": null
}
},
{
"name": "All Time High Max Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_temp",
"device_id": null
}
},
{
"name": "All Time High Max UV Index",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_max_uv_index",
"device_id": null
}
},
{
"name": "All Time High Min Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_min_humidity",
"device_id": null
}
},
{
"name": "All Time High Min Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_min_pressure",
"device_id": null
}
},
{
"name": "All Time High Min Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_min_soil_moisture",
"device_id": null
}
},
{
"name": "All Time High Min Soil Temperature",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_min_soil_temperature",
"device_id": null
}
},
{
"name": "All Time High Wind Gust",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_wind_gust",
"device_id": null
}
},
{
"name": "All Time High Wind Gust Timestamp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ath_wind_gust_timestamp",
"device_id": null
}
},
{
"name": "Chill Hours",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.chill_hours",
"device_id": null
}
},
{
"name": "Chill Time Yesterday",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.chill_time_yesterday",
"device_id": null
}
},
{
"name": "Daily Low Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_low_pressure",
"device_id": null
}
},
{
"name": "Daily Low Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_low_temp",
"device_id": null
}
},
{
"name": "Daily Max Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_humidity",
"device_id": null
}
},
{
"name": "Daily Max Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_pressure",
"device_id": null
}
},
{
"name": "Daily Max Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_soil_moisture",
"device_id": null
}
},
{
"name": "Daily Max Soil Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_soil_temp",
"device_id": null
}
},
{
"name": "Daily Max Solar Lux",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_solar_lux",
"device_id": null
}
},
{
"name": "Daily Max Solar Radiation",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_solar_radiation",
"device_id": null
}
},
{
"name": "Daily Max Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_temp",
"device_id": null
}
},
{
"name": "Daily Max UV Index",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_uv_index",
"device_id": null
}
},
{
"name": "Daily Max Wind Speed",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_max_wind_speed",
"device_id": null
}
},
{
"name": "Daily Min Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_min_humidity",
"device_id": null
}
},
{
"name": "Daily Min Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_min_soil_moisture",
"device_id": null
}
},
{
"name": "Daily Min Soil Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_min_soil_temp",
"device_id": null
}
},
{
"name": "Daily Rainfall UT",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.daily_rainfall_ut",
"device_id": null
}
},
{
"name": "Days With Rain",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.days_with_rain",
"device_id": null
}
},
{
"name": "Days Without Rain",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.days_without_rain",
"device_id": null
}
},
{
"name": "Freeze Hours",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.freeze_hours",
"device_id": null
}
},
{
"name": "Freeze Time Yesterday",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.freeze_time_yesterday",
"device_id": null
}
},
{
"name": "GW2000A Daily Rain Rate",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_daily_rain_rate",
"device_id": null
}
},
{
"name": "GW2000A Lightning Strikes",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_lightning_strikes",
"device_id": null
}
},
{
"name": "GW2000A Max Daily Gust",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_max_daily_gust",
"device_id": null
}
},
{
"name": "GW2000A Outdoor Temperature",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_outdoor_temperature",
"device_id": null
}
},
{
"name": "GW2000A WH90 Battery",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_wh90_battery",
"device_id": null
}
},
{
"name": "GW2000A Wind Speed",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.gw2000a_wind_speed",
"device_id": null
}
},
{
"name": "Low Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.low_temp",
"device_id": null
}
},
{
"name": "Max Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_humidity",
"device_id": null
}
},
{
"name": "Max Lightning Strikes",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_lightning_strikes",
"device_id": null
}
},
{
"name": "Max Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_pressure",
"device_id": null
}
},
{
"name": "Max Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_soil_moisture",
"device_id": null
}
},
{
"name": "Max Soil Temperature",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_soil_temperature",
"device_id": null
}
},
{
"name": "Max Solar Lux",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_solar_lux",
"device_id": null
}
},
{
"name": "Max Solar Radiation",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_solar_radiation",
"device_id": null
}
},
{
"name": "Max Temp",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_temp",
"device_id": null
}
},
{
"name": "Max UV Index",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_uv_index",
"device_id": null
}
},
{
"name": "Max Wind Gust",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.max_wind_gust",
"device_id": null
}
},
{
"name": "Min Humidity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.min_humidity",
"device_id": null
}
},
{
"name": "Min Pressure",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.min_pressure",
"device_id": null
}
},
{
"name": "Min Soil Moisture",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.min_soil_moisture",
"device_id": null
}
},
{
"name": "Min Soil Temperature",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.min_soil_temperature",
"device_id": null
}
},
{
"name": "Rainfall Last Week",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.rainfall_last_week",
"device_id": null
}
}
]
},
{
"id": "Washing Machine - All Automations",
"automation": "- alias: Washing Machine - All Automations\n description: Set the value of input boolean \"washing machine on/off\" based on power\n consumption. Announce when the washing has finished and check the washing has\n been removed.\n trigger:\n - platform: numeric_state\n entity_id: sensor.shelly1pm_e89f6d84a584_power\n above: 10\n id: Washing Machine On\n alias: Washing machine drawing more than 10W power\n - platform: numeric_state\n entity_id: sensor.shelly1pm_e89f6d84a584_power\n below: 2\n id: Washing machine off\n alias: Washing machine drawing less than 2W power for 60s.\n for:\n hours: 0\n minutes: 1\n seconds: 0\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.washing_machine_door_open\n id: Washing machine door not open\n alias: Washing done notification repeat with timer\n - platform: state\n entity_id: binary_sensor.washing_machine_door_contact\n from: 'off'\n to: 'on'\n id: Washing removed from machine\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: Washing Machine On\n sequence:\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.washing_machine_on_off\n - conditions:\n - condition: trigger\n id: Washing machine off\n sequence:\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.washing_machine_on_off\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{states(''sensor.room_audio'') }}'\n message: \"{{\\n ['Information. The washing machine has completed its cycle.\\\n \\ Better\\n get the washing hung up to dry', \\n 'Information, I\\\n \\ have detected a reduction in the power consumption of the washing\\\n \\ machine. My fuzzy logic circuit has determined that means its finished',\\\n \\ \\n 'Information. My sensors have detected a reduction in the\\\n \\ rotational velocity of the washing machine. My artificially intuitive\\\n \\ logic system has determined that now might be the optimal time to\\\n \\ hang it up to dry', \\n 'Information. The washing machine has\\\n \\ finished its cycle. It has cycled quite a long way and is quite tired\\\n \\ after its exertions. I would hang the washing out to dry, but I dont\\\n \\ have any arms. Or legs. So I guess its up to you' \\n ]|random\\\n \\ }}\"\n - if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_dave\n state: 'on'\n then:\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: That's the washing done. Better get it hung up.\n title: WASHING MACHINE\n - if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_gem\n state: 'on'\n then:\n - service: notify.mobile_app_{{states('input_text.gem_s_mobile_phone_id')}}\n data:\n message: That's the washing done. Better get it hung up.\n title: WASHING MACHINE\n - service: timer.start\n data: {}\n target:\n entity_id: timer.washing_machine_door_open\n - service: light.turn_on\n data:\n color_name: darkorange\n brightness_pct: 10\n target:\n entity_id: light.kitchen_light_2\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.washing_machine_finished\n - conditions:\n - condition: trigger\n id: Washing machine door not open\n - condition: state\n entity_id: binary_sensor.washing_machine_door_contact\n state: 'off'\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n then:\n - service: script.speech_engine_for_tts\n data:\n voice: Brian\n where: '{{states(''sensor.room_audio'')}}'\n message: \"{{ ['Pardon me for intruding on your\\nrelaxation once more.\\\n \\ The washing is still in the machine.\\nBetter get it out before it\\\n \\ starts to smell, and I am sure\\nyou do not want that', \\n 'Excuse\\\n \\ me for once again breaking the silence. My motion sensors have detected\\\n \\ zero activity since I last informed you that the washing was done.\\\n \\ Please engage your glutes and get off your backside as the washing\\\n \\ wont hang itself up', \\n 'Right, listen up humans, heres the deal.\\\n \\ I tell you the washing is done, and you hang it up. Someone, is not\\\n \\ keeping their side of the deal', \\n 'There is a lovely breeze blowing\\\n \\ through the garden right now and I should be hearing the pleasant\\\n \\ flap flap of washing in the breeze. Unfortunately my auditory sensors\\\n \\ appear to be malfunctioning and I hear nothing. Perhaps the washing\\\n \\ line has not been deployed.' \\n]|random }}\"\n - if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_dave\n state: 'on'\n then:\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: The washing is still in the machine. Better hang it up before\n it starts to smell.\n title: SMELLY WASHING!\n - if:\n - condition: and\n conditions:\n - condition: state\n entity_id: input_boolean.text_notifications\n state: 'on'\n - condition: state\n entity_id: input_boolean.text_notifications_gem\n state: 'on'\n then:\n - service: notify.mobile_app_{{states('input_text.gem_s_mobile_phone_id')}}\n data:\n message: The washing is still in the machine. Better hang it up before\n it starts to smell.\n title: SMELLY WASHING!\n - conditions:\n - condition: trigger\n id: Washing removed from machine\n - condition: or\n conditions:\n - condition: state\n entity_id: timer.washing_machine_door_open\n state: active\n - condition: state\n entity_id: timer.washing_machine_door_open\n state: idle\n alias: Timer active or finished\n sequence:\n - service: timer.cancel\n data: {}\n target:\n entity_id: timer.washing_machine_door_open\n - if:\n - condition: state\n entity_id: light.kitchen_lights_2\n state: 'off'\n then:\n - service: light.turn_off\n data: {}\n target:\n entity_id: light.kitchen_light_2\n else:\n - if:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.lunchtime\n state: 'on'\n - condition: state\n entity_id: binary_sensor.dinner_time\n state: 'on'\n then:\n - service: scene.turn_on\n data: {}\n target:\n entity_id: scene.kitchen_lights_mealtimes\n else:\n - service: scene.turn_on\n data: {}\n target:\n entity_id: scene.kitchen_lights_normal\n alias: If lights on and mealtime set lights to bright, else normal\n mode: single",
"config": [
{
"name": "lunchtime binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.lunchtime",
"device_id": null
}
},
{
"name": "dinner time binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dinner_time",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "room audio sensor",
"room": "living_room",
"type": "sensor",
"id": {
"entity_id": "sensor.room_audio",
"device_id": null
}
},
{
"name": "washing machine finished input boolean",
"room": "kitchen",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.washing_machine_finished",
"device_id": null
}
},
{
"name": "kitchen lights 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_lights_2",
"device_id": null
}
},
{
"name": "text notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications",
"device_id": null
}
},
{
"name": "text notifications dave input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_dave",
"device_id": null
}
},
{
"name": "text notifications gem input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_gem",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "speech engine for tts script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine_for_tts",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "gem's mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.gem_s_mobile_phone_id",
"device_id": null
}
},
{
"name": "speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
},
{
"name": "speech engine for tts script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.speech_engine_for_tts",
"device_id": null
}
},
{
"name": "text notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications",
"device_id": null
}
},
{
"name": "text notifications dave input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_dave",
"device_id": null
}
},
{
"name": "text notifications gem input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.text_notifications_gem",
"device_id": null
}
},
{
"name": "kitchen light 2 light",
"room": "kitchen",
"type": "light",
"id": {
"entity_id": "light.kitchen_light_2",
"device_id": null
}
},
{
"name": "Washing Machine On/Off",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.washing_machine_on_off",
"device_id": null
}
},
{
"name": "Kitchen Lights Mealtimes",
"room": "Kitchen",
"type": "scene",
"id": {
"entity_id": "scene.kitchen_lights_mealtimes",
"device_id": null
}
},
{
"name": "Kitchen Lights Normal",
"room": "Kitchen",
"type": "scene",
"id": {
"entity_id": "scene.kitchen_lights_normal",
"device_id": null
}
},
{
"name": "Washing Machine Door Contact",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.washing_machine_door_contact",
"device_id": null
}
},
{
"name": "Timer Washing Machine Door Open",
"room": null,
"type": "timer",
"id": {
"entity_id": "timer.washing_machine_door_open",
"device_id": null
}
},
{
"name": "Shelly1PM Power",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.shelly1pm_e89f6d84a584_power",
"device_id": null
}
}
]
},
{
"id": "Water Leak Detection and Alarm",
"automation": "- alias: Water Leak Detection and Alarm\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.leak_detector_dishwasher_water_leak\n - binary_sensor.leak_detector_washing_machine_water_leak\n - binary_sensor.kids_bathroom_leak_detector_water_leak\n - binary_sensor.main_bathroom_leak_detector_water_leak\n to: 'on'\n for:\n hours: 0\n minutes: 1\n seconds: 0\n condition: []\n action:\n - service: notify.mobile_app_{{states('input_text.my_mobile_phone_id')}}\n data:\n message: Water leak detected in {{ trigger.to_state.attributes.friendly_name}}\n title: WATER LEAK DETECTED!\n alias: Notify Dave's Mobile based on an input text helper\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n then:\n - service: media_player.volume_set\n data:\n volume_level: 0.6\n target:\n entity_id: media_player.everywhere_2\n - service: notify.alexa_media_everywhere_2\n data:\n message: Alert! Alert! There is a water leak in the {{trigger.to_state.attributes.friendly_name}}\n \n data:\n type: announce\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n entity_id: media_player.everywhere_2\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.leak_detector_dishwasher_water_leak\n state: 'on'\n - condition: state\n entity_id: binary_sensor.leak_detector_washing_machine_water_leak\n state: 'on'\n then:\n - service: media_player.volume_set\n data:\n volume_level: 0.6\n target:\n area_id: everywhere\n - service: notify.alexa_media_everywhere_2\n data:\n message: Alert! Alert!\n There is a water leak in the {{trigger.to_state.attributes.friendly_name}}.\n \n data:\n type: announce\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n area_id: everywhere\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.leak_detector_dishwasher_water_leak\n state: 'on'\n - condition: state\n entity_id: binary_sensor.leak_detector_washing_machine_water_leak\n state: 'on'\n then:\n - service: media_player.volume_set\n data:\n volume_level: 0.6\n target:\n area_id: everywhere\n - service: notify.alexa_media_everywhere_2\n data:\n message: Alert! Alert! There\n is a water leak in the {{ trigger.to_state.attributes.friendly_name }}.\n data:\n type: announce\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n area_id: everywhere\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.leak_detector_dishwasher_water_leak\n state: 'on'\n - condition: state\n entity_id: binary_sensor.leak_detector_washing_machine_water_leak\n state: 'on'\n then:\n - service: media_player.volume_set\n data:\n volume_level: 0.6\n target:\n area_id: everywhere\n - service: notify.alexa_media_everywhere_2\n data:\n message: Alert! Alert! There\n is a water leak in the {{trigger.to_state.attributes.friendly_name}}.\n data:\n type: announce\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n area_id: everywhere\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n - if:\n - condition: state\n entity_id: binary_sensor.quiet_time\n state: 'off'\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.leak_detector_dishwasher_water_leak\n state: 'on'\n - condition: state\n entity_id: binary_sensor.leak_detector_washing_machine_water_leak\n state: 'on'\n then:\n - service: media_player.volume_set\n data:\n volume_level: 0.6\n target:\n area_id: everywhere\n - service: notify.alexa_media_everywhere_2\n data:\n message: Alert! Alert! There is a water leak in the {{trigger.to_state.attributes.friendly_name}}.\n data:\n type: announce\n - service: media_player.volume_set\n data:\n volume_level: '{{ states(''input_number.alexa_volume_level_default_all'')|float(0)}}'\n target:\n area_id: everywhere\n - delay:\n hours: 0\n minutes: 1\n seconds: 0\n milliseconds: 0\n mode: single",
"config": [
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "my mobile phone id input text",
"room": "living_room",
"type": "input_text",
"id": {
"entity_id": "input_text.my_mobile_phone_id",
"device_id": null
}
},
{
"name": "quiet time binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.quiet_time",
"device_id": null
}
},
{
"name": "notify alexa media",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.alexa_media",
"device_id": null
}
},
{
"name": "notify mobile app",
"room": "living_room",
"type": "notify",
"id": {
"entity_id": "notify.mobile_app",
"device_id": null
}
},
{
"name": "Alexa Volume Level Default All",
"room": null,
"type": "input_number",
"id": {
"entity_id": "input_number.alexa_volume_level_default_all",
"device_id": null
}
},
{
"name": "Media Player Everywhere 2",
"room": null,
"type": "media_player",
"id": {
"entity_id": "media_player.everywhere_2",
"device_id": null
}
},
{
"name": "Kids Bathroom Leak Detector Water Leak",
"room": "Kids Bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kids_bathroom_leak_detector_water_leak",
"device_id": null
}
},
{
"name": "Leak Detector Dishwasher Water Leak",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.leak_detector_dishwasher_water_leak",
"device_id": null
}
},
{
"name": "Leak Detector Washing Machine Water Leak",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.leak_detector_washing_machine_water_leak",
"device_id": null
}
},
{
"name": "Main Bathroom Leak Detector Water Leak",
"room": "Main Bathroom",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.main_bathroom_leak_detector_water_leak",
"device_id": null
}
}
]
},
{
"id": "Welcome Home",
"automation": "- alias: Welcome Home\n description: ''\n triggers:\n - entity_id:\n - binary_sensor.dave_home\n - binary_sensor.gem_home\n - binary_sensor.sean_home\n to: 'on'\n trigger: state\n conditions: []\n actions:\n - choose:\n - conditions:\n - condition: state\n entity_id: input_boolean.welcome_home\n state: 'on'\n - condition: state\n entity_id: input_boolean.audible_notifications\n state: 'on'\n sequence:\n - wait_for_trigger:\n - entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n to: 'off'\n from: 'on'\n for:\n hours: 0\n minutes: 0\n seconds: 0\n trigger: state\n timeout:\n hours: 0\n minutes: 10\n seconds: 0\n milliseconds: 0\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n milliseconds: 0\n - if:\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n then:\n - data: {}\n action: script.welcome_briefing_2\n alias: Play welcome message unless morning briefing is playing in kitchen.\n default:\n - data:\n object_id: arriving\n add_entities: '{{ trigger.to_state.entity_id }}'\n action: group.set\n - wait_for_trigger:\n - entity_id:\n - binary_sensor.front_door_sense_contact\n - binary_sensor.back_door_sensor_contact\n from: 'on'\n to: 'off'\n trigger: state\n timeout:\n hours: 0\n minutes: 5\n seconds: 0\n milliseconds: 0\n - delay:\n hours: 0\n minutes: 0\n seconds: 20\n milliseconds: 0\n - if:\n - condition: state\n entity_id: input_boolean.announcement_playing\n state: 'off'\n then:\n - data:\n where: kitchen\n type: announcement\n message: \"{% set person = expand('group.arriving')|map(attribute='name')|join('\\\n \\ and ') %} {% set peoplecount = expand('group.arriving') | count %} {%\\\n \\ if peoplecount == 1 %}\\n {% set is_are = ' is ' %}\\n {% set has_have\\\n \\ = ' has ' %}\\n{% else %}\\n {% set is_are = ' are ' %}\\n {% set has_have\\\n \\ = ' have ' %}\\n{% endif %} {%- macro greeting_sentence(person, is_are,\\\n \\ has_have) -%}\\n {{ [\\n person ~ has_have + \\\" arrived.\\\",\\n \\\"My\\\n \\ sensors are picking up the presence of additional humans. \\\" ~ person\\\n \\ ~ has_have + \\\" been identified as home.\\\",\\n \\\"Guess who is in the\\\n \\ house?\\\" ~ person ~ is_are,\\n \\\"I am sensing a disturbance in the force.\\\n \\ \\\" ~ person +\\\" must be back!\\\",\\n person ~ is_are + \\\"now in the\\\n \\ house.\\\",\\n person ~ is_are + \\\" now here. Welcome Home.\\\",\\n person\\\n \\ ~ is_are + \\\" now here.\\\",\\n \\\"Just a quick announcement. \\\" ~ person\\\n \\ ~ has_have + \\\" arrived!\\\",\\n person ~ has_have + \\\" finally made\\\n \\ it home.\\\"\\n ] | random }}\\n{%- endmacro -%} {{greeting_sentence(person,\\\n \\ is_are, has_have)}}\\n\"\n action: script.jarvis_speech_engine_v3_0\n alias: 'Announce welcome home if no other announcement is playing '\n - delay: 00:02:00\n - data:\n object_id: arriving\n entities: []\n action: group.set\n mode: restart",
"config": [
{
"name": "front door sense contact binary sensor",
"room": "entrance",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.front_door_sense_contact",
"device_id": null
}
},
{
"name": "back door sensor contact binary sensor",
"room": "kitchen",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.back_door_sensor_contact",
"device_id": null
}
},
{
"name": "announcement playing input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.announcement_playing",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "dave home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.dave_home",
"device_id": null
}
},
{
"name": "gem home binary sensor",
"room": "living_room",
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.gem_home",
"device_id": null
}
},
{
"name": "welcome home input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.welcome_home",
"device_id": null
}
},
{
"name": "audible notifications input boolean",
"room": "living_room",
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.audible_notifications",
"device_id": null
}
},
{
"name": "jarvis speech engine v3 0 script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine_v3_0",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "jarvis speech engine script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.jarvis_speech_engine",
"device_id": null
}
},
{
"name": "Sean Home",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.sean_home",
"device_id": null
}
}
]
},
{
"id": "Zigbee Device Watch and Notify",
"automation": "- alias: Zigbee Device Watch and Notify\n description: 24 hour monitor of Zigbee devices\n trigger:\n - platform: state\n entity_id:\n - sensor.zigbee2mqtt_offline_device\n from: null\n to: null\n condition: []\n action:\n - service: script.text_notify_dave\n metadata: {}\n data:\n title: ZIGBEE DEVICE OFFLINE\n message: The following Zigbee devices are offline {{ states('sensor.zigbee2mqtt_offline_device')}}\n - service: persistent_notification.create\n data:\n title: ZIGBEE DEVICE OFFLINE\n message: The following Zigbee devices are offline {{ states('sensor.zigbee2mqtt_offline_device')}}\n mode: single",
"config": [
{
"name": "text notify dave script",
"room": "living_room",
"type": "script",
"id": {
"entity_id": "script.text_notify_dave",
"device_id": null
}
},
{
"name": "Zigbee2MQTT Offline Device",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.zigbee2mqtt_offline_device",
"device_id": null
}
}
]
}
]