1989 lines
50 KiB
YAML
1989 lines
50 KiB
YAML
- alias: Activate circadian overnight
|
|
description: ''
|
|
triggers:
|
|
- trigger: time
|
|
at: 04:00:00
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 7a00544c97f80dfcc3ba0fab5f0f2b06
|
|
entity_id: 6aad29377c9d331661aefb7d3aa9bf6c
|
|
domain: light
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 0eec206f3ae8307023fe6e831b9dc8c2
|
|
entity_id: 4f504f129d920af05dbfed66e23bcf8f
|
|
domain: light
|
|
- condition: device
|
|
type: is_off
|
|
device_id: bad671e7062197c2244063c9ab807b41
|
|
entity_id: 570122fb667e2bbf465c4b1eee4cc5b8
|
|
domain: light
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 1155e017f2b58ecdf76d69807001a0b9
|
|
entity_id: 525207ce60b068d636526e83f993b12a
|
|
domain: light
|
|
alias: Main lights are off
|
|
actions:
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.circadian_lighting_whole_house_circadian_switch
|
|
mode: single
|
|
- alias: Arming alarm and leaving
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- I'm Leaving
|
|
- I am leaving
|
|
conditions: []
|
|
actions:
|
|
- set_conversation_response: ''
|
|
- data: {}
|
|
action: script.leaving_home
|
|
mode: single
|
|
- alias: 'Arrive home routine '
|
|
description: ''
|
|
triggers:
|
|
- entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
event: enter
|
|
trigger: zone
|
|
conditions:
|
|
- condition: device
|
|
device_id: 12991409e93a14125e39db65a3b740dc
|
|
domain: alarm_control_panel
|
|
entity_id: ed8fc83278462fc5ba4f6de76da799ad
|
|
type: is_armed_away
|
|
actions:
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'on'
|
|
then:
|
|
- action: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.vacation_mode
|
|
alias: Turn off vacation mode
|
|
- device_id: 12991409e93a14125e39db65a3b740dc
|
|
domain: alarm_control_panel
|
|
entity_id: ed8fc83278462fc5ba4f6de76da799ad
|
|
type: disarm
|
|
code: '{{!secret alarm_code}}'
|
|
- action: script.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: script.unlock_doors
|
|
- alias: Lights on if dark
|
|
if:
|
|
- condition: sun
|
|
after: sunset
|
|
before: sunrise
|
|
then:
|
|
- type: turn_on
|
|
device_id: 0f1815f6576728547da6fbc3a3b69277
|
|
entity_id: d7144b619bd94371cb9c1e6459036229
|
|
domain: switch
|
|
- type: turn_on
|
|
device_id: 8576e7dab40455676993ad9a4bcc5c49
|
|
entity_id: f2899e19720f9c1b0f0c164f3eea4069
|
|
domain: switch
|
|
- type: turn_on
|
|
device_id: 7a00544c97f80dfcc3ba0fab5f0f2b06
|
|
entity_id: 6aad29377c9d331661aefb7d3aa9bf6c
|
|
domain: light
|
|
- type: turn_on
|
|
device_id: 0eec206f3ae8307023fe6e831b9dc8c2
|
|
entity_id: 4f504f129d920af05dbfed66e23bcf8f
|
|
domain: light
|
|
- delay:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- type: turn_off
|
|
device_id: 0f1815f6576728547da6fbc3a3b69277
|
|
entity_id: d7144b619bd94371cb9c1e6459036229
|
|
domain: switch
|
|
else:
|
|
- if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.openweathermap_temperature
|
|
above: 10
|
|
then:
|
|
- variables:
|
|
action_open_blinds: '{{ ''OPEN_BLINDS_'' ~ context.id }}'
|
|
- alias: Ask to open the blinds
|
|
action: notify.mobile_app_pixel_8
|
|
data:
|
|
message: Open the blinds?
|
|
data:
|
|
actions:
|
|
- action: '{{ action_open_blinds }}'
|
|
title: Do it!
|
|
- alias: Wait for a response
|
|
wait_for_trigger:
|
|
- event_type: mobile_app_notification_action
|
|
event_data:
|
|
action: '{{ action_open_blinds }}'
|
|
trigger: event
|
|
timeout:
|
|
hours: 0
|
|
minutes: 2
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ wait.trigger.event.data.action == action_open_blinds
|
|
}}'
|
|
sequence:
|
|
- data: {}
|
|
action: script.zarathustra
|
|
enabled: true
|
|
mode: single
|
|
- alias: Basement automatic lights
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_motion_sensor_motion
|
|
to: 'on'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 7ee989242547eb89f3064d90902f0eb7
|
|
entity_id: bb00fcbf210a9d5ff50742987089da85
|
|
domain: light
|
|
action:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id:
|
|
- basement
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.basement_motion_sensor_motion
|
|
from: 'on'
|
|
for:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
- service: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id:
|
|
- basement
|
|
mode: single
|
|
- alias: Bedroom light off on shades opened
|
|
description: ''
|
|
trigger:
|
|
- platform: template
|
|
value_template: ' {{state_attr(''cover.bedroom_shades'', ''current_position'')
|
|
| int == 100 }}'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 30
|
|
condition:
|
|
- condition: sun
|
|
before: sunset
|
|
action:
|
|
- type: turn_off
|
|
device_id: d4b4dce9f0f3fcdf3e769a70ff259468
|
|
entity_id: 89d5346579b899623f4d4f45014c604a
|
|
domain: switch
|
|
mode: single
|
|
- alias: Change thermostat on window open/close
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- binary_sensor.bedroom_window_open_state
|
|
from: null
|
|
to: null
|
|
for:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
trigger: state
|
|
conditions: []
|
|
actions:
|
|
- if:
|
|
- alias: Bedroom window is open
|
|
condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 0
|
|
then:
|
|
- action: climate.set_fan_mode
|
|
metadata: {}
|
|
data:
|
|
fan_mode: 'off'
|
|
target:
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
- metadata: {}
|
|
data:
|
|
hvac_mode: 'off'
|
|
target:
|
|
entity_id: climate.family_room
|
|
alias: Turn off thermostat
|
|
action: climate.set_hvac_mode
|
|
else:
|
|
- data: {}
|
|
action: script.set_temp_based_on_mode
|
|
mode: single
|
|
- alias: Close all shades before sunruse
|
|
description: ''
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: '-2:00:00'
|
|
condition:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: cover.all_shades
|
|
state: closed
|
|
action:
|
|
- service: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.all_shades
|
|
mode: single
|
|
- alias: Coffee timer
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command: Coffee Timer
|
|
conditions: []
|
|
actions:
|
|
- set_conversation_response: ''
|
|
- action: tts.speak
|
|
metadata: {}
|
|
data:
|
|
cache: true
|
|
message: Activating coffee timer
|
|
media_player_entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
target:
|
|
entity_id: tts.home_assistant_cloud
|
|
- delay:
|
|
hours: 0
|
|
minutes: 3
|
|
seconds: 30
|
|
milliseconds: 0
|
|
- action: tts.speak
|
|
metadata: {}
|
|
data:
|
|
cache: true
|
|
message: Your coffee is done steeping, plunge away!
|
|
media_player_entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
target:
|
|
entity_id: tts.home_assistant_cloud
|
|
mode: single
|
|
- alias: Create chores
|
|
description: ''
|
|
triggers:
|
|
- trigger: time
|
|
at: 05:00:00
|
|
conditions: []
|
|
actions:
|
|
- alias: Get completed chores
|
|
action: todo.get_items
|
|
metadata: {}
|
|
data:
|
|
status:
|
|
- completed
|
|
response_variable: completedChores
|
|
target:
|
|
entity_id: todo.chores
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Replace\
|
|
\ furnace filter')|list|count\n > 0}}"
|
|
then:
|
|
- alias: 'Add chore: Clean used furnace filter'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean used furnace filter
|
|
alias: Clean filter if replacement complete
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Clean\
|
|
\ vacuum sensor')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.roborock_s7_maxv_reset_sensor_consumable
|
|
alias: 'Vacuum: Reset sensor count if complete'
|
|
- alias: 'Vacuum: Reset filter count if complete'
|
|
if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Replace\
|
|
\ vacuum filter')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.roborock_s7_maxv_reset_air_filter_consumable
|
|
- alias: 'Vacuum: Reset main brush count if complete'
|
|
if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Replace\
|
|
\ vacuum main brush')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.roborock_s7_maxv_reset_main_brush_consumable
|
|
- alias: 'Vacuum: Reset side brush count if complete'
|
|
if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Replace\
|
|
\ vacuum side brush')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.roborock_s7_maxv_reset_side_brush_consumable
|
|
- alias: 'Shelfy: Reset filter count if complete'
|
|
if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Clean\
|
|
\ Shelfy filter')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.vitesy_shelfy_i_already_washed_the_filter
|
|
- alias: 'Shelfy: Reset filter count if complete'
|
|
if:
|
|
- condition: template
|
|
value_template: "{{\n completedChores['todo.chores']['items']|selectattr('summary','search','Clean\
|
|
\ fridge')|list|count\n > 0}}"
|
|
then:
|
|
- action: button.press
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: button.vitesy_shelfy_i_already_cleaned_my_fridge
|
|
- action: todo.remove_completed_items
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: todo.chores
|
|
- delay:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: todo.get_items
|
|
metadata: {}
|
|
data:
|
|
status: needs_action
|
|
response_variable: chores
|
|
target:
|
|
entity_id: todo.chores
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ now().day == 3 and now().month == 1 }}'
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Refill emergency water
|
|
alias: 'Add chore: refill emergency water'
|
|
- alias: Add monthy chores
|
|
if:
|
|
- condition: template
|
|
value_template: '{{ now().day == 1 }}'
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Set up next month's meals on wheels
|
|
alias: 'Add chore: Set up next month''s meals on wheels'
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Water and feed plant
|
|
alias: 'Add chore: Water and feed plant'
|
|
- alias: 'Add chore: Pay bills'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Pay bills
|
|
- alias: 'Add chore: Check blood pressure'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Check blood pressure
|
|
- alias: 'Add chore: Empty vacuum bag'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Empty vacuum bag
|
|
- alias: 'Add chore: clean washer'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.washer_tub_clean_counter
|
|
above: 29
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean washer
|
|
- alias: 'Add chore: Replace furnace filter'
|
|
if:
|
|
- condition: template
|
|
value_template: '{{ now().day == 1 and now().month % 3 == 1}}'
|
|
then:
|
|
- alias: 'Add chore: Replace furnace filter'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Replace furnace filter
|
|
- if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: time
|
|
weekday:
|
|
- mon
|
|
- thu
|
|
- sat
|
|
- condition: state
|
|
entity_id: input_boolean.hummingbird_feeder_out
|
|
state: 'on'
|
|
then:
|
|
- alias: 'Add chore: Refresh hummingbird liquid'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Refresh hummingbird liquid
|
|
alias: 'Add chore: Refresh hummingbird liquid'
|
|
- alias: 'Add chore: Vacuum dock error'
|
|
if:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.roborock_s7_maxv_dock_error
|
|
state: ok
|
|
- condition: state
|
|
entity_id: sensor.roborock_s7_maxv_dock_error
|
|
state: unavailable
|
|
- condition: state
|
|
entity_id: sensor.roborock_s7_maxv_dock_error
|
|
state: unknown
|
|
then:
|
|
- alias: 'Add chore: Vacuum dock error'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: 'vacuum dock error: {{states.sensor.roborock_s7_maxv_dock_error.state}}'
|
|
- alias: 'Add chore: Clean vacuum sensor'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.roborock_s7_maxv_sensor_time_left
|
|
below: 0
|
|
then:
|
|
- alias: 'Add chore: Clean vacuum sensor'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean vacuum sensor
|
|
- if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.roborock_s7_maxv_filter_time_left
|
|
below: 0
|
|
then:
|
|
- alias: 'Add chore: Replace vacuum filter'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Replace vacuum filter
|
|
alias: 'Add chore: Replace vacuum filter'
|
|
- alias: 'Add chore: Replace vacuum main brush'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.roborock_s7_maxv_main_brush_time_left
|
|
below: 0
|
|
then:
|
|
- alias: 'Add chore: Replace vacuum main brush'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Replace vacuum main brush
|
|
- alias: 'Add chore: Replace vacuum side brush'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.roborock_s7_maxv_side_brush_time_left
|
|
below: 0
|
|
then:
|
|
- alias: 'Add chore: Replace vacuum side brush'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Replace vacuum side brush
|
|
- alias: 'Add chore: Clean basement bathroom'
|
|
if:
|
|
- condition: template
|
|
value_template: '{{ now().day == 1 and now().month % 3 == 1}}'
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean basement bathroom
|
|
alias: 'Add chore: Clean basement bathroom'
|
|
- alias: 'Add chore: Clean Shelfy filter'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.vitesy_shelfy_remaining_filter_cleaning_days
|
|
below: 1
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean Shelfy filter
|
|
- alias: 'Add chore: Clean fridge'
|
|
if:
|
|
- condition: numeric_state
|
|
entity_id: sensor.vitesy_shelfy_remaining_fridge_cleaning_days
|
|
below: 1
|
|
then:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean fridge
|
|
- alias: Low battery chores
|
|
sequence:
|
|
- variables:
|
|
lowPowerBatteries: '{% set batteryList = states.sensor | selectattr(''name'',
|
|
''match'', ''.*[Bb]attery.*'') | rejectattr(''name'', ''match'', ''.*[Pp]hone.*'')
|
|
| rejectattr(''name'', ''match'', ''.*Roborock .*'') | rejectattr(''name'',
|
|
''match'', ''.*Mo99.*'') | rejectattr(''name'', ''match'', ''Front Door
|
|
Motion Sensor Battery'') %} {% set emptyBatteryList = batteryList | selectattr(''state'',
|
|
''eq'', ''unavailable'') %} {% set lowBatteryList = batteryList | rejectattr(''state'',
|
|
''eq'', ''unavailable'') %} {% set data = namespace(batteryData=[]) %} {%-
|
|
for lb in emptyBatteryList %} {% set data.batteryData = data.batteryData
|
|
+ [{"name": lb.name, "batteryLevel": 0}] %} {% endfor -%} {%- for lb in
|
|
lowBatteryList %} {% set data.batteryData = data.batteryData + [{"name":
|
|
lb.name, "batteryLevel": lb.state|float}] %} {% endfor -%} {{ data.batteryData
|
|
| rejectattr(''batteryLevel'', ''gt'', 80) | map(attribute=''name'') | list
|
|
}}'
|
|
- repeat:
|
|
sequence:
|
|
- action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Replace {{repeat.item}}
|
|
for_each: '{{lowPowerBatteries}}'
|
|
mode: single
|
|
- alias: Deluminate
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command: Deluminate
|
|
conditions: []
|
|
actions:
|
|
- action: scene.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: scene.power_off
|
|
mode: single
|
|
- alias: Entryway on for motion
|
|
description: ''
|
|
trigger:
|
|
- type: motion
|
|
platform: device
|
|
device_id: f1a451d00e600cabf0bc652eeb472934
|
|
entity_id: 7d28ef5d2c38a911fdaed396414d3e47
|
|
domain: binary_sensor
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: sun
|
|
after: sunset
|
|
before: sunrise
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 5bb08e144b56c7704e730b5423bbd866
|
|
entity_id: e61c2892bd3b7db050d5212b10ed5230
|
|
domain: light
|
|
action:
|
|
- type: turn_on
|
|
device_id: 5bb08e144b56c7704e730b5423bbd866
|
|
entity_id: e61c2892bd3b7db050d5212b10ed5230
|
|
domain: light
|
|
- delay:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- type: turn_off
|
|
device_id: 5bb08e144b56c7704e730b5423bbd866
|
|
entity_id: e61c2892bd3b7db050d5212b10ed5230
|
|
domain: light
|
|
mode: single
|
|
- alias: Holiday lights morning
|
|
description: ''
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: -01:00:00
|
|
condition: []
|
|
action:
|
|
- action: script.run_holiday_lights
|
|
metadata: {}
|
|
data: {}
|
|
- wait_for_trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: 01:00:00
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: 957afb69a90840abaf62c497bf3c4185
|
|
action: light.turn_off
|
|
mode: single
|
|
- alias: Holiday lights night
|
|
description: ''
|
|
trigger:
|
|
- platform: sun
|
|
event: sunset
|
|
offset: -01:00:00
|
|
condition: []
|
|
action:
|
|
- action: script.run_holiday_lights
|
|
metadata: {}
|
|
data: {}
|
|
- wait_for_trigger:
|
|
- platform: time
|
|
at: '23:59:59'
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: 957afb69a90840abaf62c497bf3c4185
|
|
action: light.turn_off
|
|
mode: single
|
|
- alias: House temp
|
|
description: ''
|
|
trigger:
|
|
- platform: time_pattern
|
|
hours: /1
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.sick_mode
|
|
- input_boolean.pet_mode
|
|
condition:
|
|
- alias: Not off nor eco
|
|
condition: not
|
|
conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: device
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
domain: climate
|
|
entity_id: c6c45aeb39a40b31cfc9e0bd944c67ae
|
|
type: is_hvac_mode
|
|
hvac_mode: 'off'
|
|
- condition: device
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
domain: climate
|
|
entity_id: c6c45aeb39a40b31cfc9e0bd944c67ae
|
|
type: is_preset_mode
|
|
preset_mode: eco
|
|
action:
|
|
- service: script.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: script.set_temp_based_on_mode
|
|
mode: single
|
|
- alias: Illuminate
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command: Illuminate
|
|
conditions: []
|
|
actions:
|
|
- action: light.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id:
|
|
- living_room
|
|
- office
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id:
|
|
- 8576e7dab40455676993ad9a4bcc5c49
|
|
- d4b4dce9f0f3fcdf3e769a70ff259468
|
|
mode: single
|
|
- alias: 'Fun: Intruder alert'
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command: Intruder alert
|
|
conditions: []
|
|
actions:
|
|
- set_conversation_response: ''
|
|
- action: tts.speak
|
|
metadata: {}
|
|
data:
|
|
cache: true
|
|
media_player_entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
message: So you have chosen death!
|
|
options:
|
|
voice: dfjkpJrfkVrmbTFL2WxZ
|
|
target:
|
|
entity_id: tts.elevenlabs
|
|
- wait_template: '{{is_state(''media_player.home_assistant_voice_091b0c_media_player'',
|
|
''playing'')}}'
|
|
continue_on_timeout: true
|
|
- wait_template: '{{is_state(''media_player.home_assistant_voice_091b0c_media_player'',
|
|
''idle'')}}'
|
|
continue_on_timeout: true
|
|
- target:
|
|
entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
data:
|
|
media_content_id: media-source://media_source/local/doom eternal 22 intro.mp3
|
|
media_content_type: audio/mpeg
|
|
metadata:
|
|
title: doom eternal 22 intro.mp3
|
|
thumbnail: null
|
|
media_class: music
|
|
children_media_class: null
|
|
navigateIds:
|
|
- {}
|
|
- media_content_type: app
|
|
media_content_id: media-source://media_source
|
|
action: media_player.play_media
|
|
- action: scene.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: scene.indoor_power_off
|
|
- action: script.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: script.lock_doors
|
|
- action: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.all_shades
|
|
mode: single
|
|
- alias: Keep air good
|
|
description: ''
|
|
trigger:
|
|
- type: carbon_dioxide
|
|
platform: device
|
|
device_id: d276e61bffda959e361f8b8683b8afd6
|
|
entity_id: 070616c02a3b9688b3a97f4023c0b515
|
|
domain: sensor
|
|
above: 700
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- alias: Nest not off
|
|
condition: not
|
|
conditions:
|
|
- condition: device
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
domain: climate
|
|
entity_id: c6c45aeb39a40b31cfc9e0bd944c67ae
|
|
type: is_hvac_mode
|
|
hvac_mode: 'off'
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
action:
|
|
- service: climate.set_fan_mode
|
|
data:
|
|
fan_mode: 'on'
|
|
target:
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
- wait_for_trigger:
|
|
- type: carbon_dioxide
|
|
platform: device
|
|
device_id: d276e61bffda959e361f8b8683b8afd6
|
|
entity_id: 070616c02a3b9688b3a97f4023c0b515
|
|
domain: sensor
|
|
below: 600
|
|
alias: Wait for good air
|
|
- service: climate.set_fan_mode
|
|
data:
|
|
fan_mode: 'off'
|
|
target:
|
|
device_id: 695ac42995783206896bb51e715e03e1
|
|
mode: restart
|
|
- alias: Living room dusk
|
|
description: ''
|
|
triggers:
|
|
- event: sunset
|
|
offset: '-1:00:00'
|
|
trigger: sun
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
actions:
|
|
- type: turn_on
|
|
device_id: 7a00544c97f80dfcc3ba0fab5f0f2b06
|
|
entity_id: 6aad29377c9d331661aefb7d3aa9bf6c
|
|
domain: light
|
|
- type: turn_on
|
|
device_id: 0eec206f3ae8307023fe6e831b9dc8c2
|
|
entity_id: 4f504f129d920af05dbfed66e23bcf8f
|
|
domain: light
|
|
mode: single
|
|
- alias: Living room lights off on shades opened
|
|
description: ''
|
|
mode: single
|
|
triggers:
|
|
- value_template: ' {{state_attr(''cover.living_room_short_shades'', ''current_position'')
|
|
| int == 100 }}'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 30
|
|
trigger: template
|
|
- value_template: ' {{state_attr(''cover.living_room_long_shades'', ''current_position'')
|
|
| int == 100 }}'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 30
|
|
trigger: template
|
|
conditions:
|
|
- condition: sun
|
|
before: sunset
|
|
actions:
|
|
- type: turn_off
|
|
device_id: 0eec206f3ae8307023fe6e831b9dc8c2
|
|
entity_id: 4f504f129d920af05dbfed66e23bcf8f
|
|
domain: light
|
|
- type: turn_off
|
|
device_id: 7a00544c97f80dfcc3ba0fab5f0f2b06
|
|
entity_id: 6aad29377c9d331661aefb7d3aa9bf6c
|
|
domain: light
|
|
- alias: Make Me Move
|
|
description: ''
|
|
triggers:
|
|
- minutes: '30'
|
|
trigger: time_pattern
|
|
- minutes: '0'
|
|
trigger: time_pattern
|
|
conditions:
|
|
- condition: time
|
|
after: 09:00:00
|
|
before: '17:00:00'
|
|
weekday:
|
|
- fri
|
|
- thu
|
|
- wed
|
|
- tue
|
|
- mon
|
|
- condition: or
|
|
conditions:
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.aunties
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.parents
|
|
- condition: state
|
|
entity_id: input_boolean.sick_mode
|
|
state: 'off'
|
|
actions:
|
|
- variables:
|
|
anywhereExercises:
|
|
- name: Pushups
|
|
unit: reps
|
|
count: '10'
|
|
- name: Situps
|
|
unit: reps
|
|
count: '10'
|
|
- name: Squats
|
|
unit: reps
|
|
count: '10'
|
|
- name: Planks
|
|
unit: seconds
|
|
count: '30'
|
|
- name: Lunges
|
|
unit: reps
|
|
count: '5'
|
|
nonOfficeExercises:
|
|
- name: Wall Sits
|
|
unit: seconds
|
|
count: '30'
|
|
- name: Leg Lifts
|
|
unit: reps
|
|
count: '10'
|
|
- name: Superman Pushups
|
|
unit: reps
|
|
count: '5'
|
|
homeEquipmentExercises:
|
|
- name: Kettlebell Swings
|
|
unit: reps
|
|
count: '10'
|
|
- name: Kettlebell Halos
|
|
unit: reps
|
|
count: '2'
|
|
- name: Turkish Get Ups
|
|
unit: reps
|
|
count: '2'
|
|
- name: Pullups
|
|
unit: reps
|
|
count: '10'
|
|
- name: Curls
|
|
unit: reps
|
|
count: '10'
|
|
- name: Stair Climbs
|
|
unit: reps
|
|
count: '16'
|
|
- name: Triceps Lifts
|
|
unit: reps
|
|
count: '10'
|
|
- name: Swimmer's Presses
|
|
unit: reps
|
|
count: '5'
|
|
- name: One Footed Swimmer's Presses
|
|
unit: reps
|
|
count: '2'
|
|
- name: Rope Jumps
|
|
unit: reps
|
|
count: 20
|
|
isHome: '{{''person.hofmadresu'' in state_attr(''zone.home'', ''persons'')}}'
|
|
isAtAunties: '{{''person.hofmadresu'' in state_attr(''zone.aunties'', ''persons'')}}'
|
|
isAtParents: '{{''person.hofmadresu'' in state_attr(''zone.parents'', ''persons'')}}'
|
|
availableNonOfficeExercises: '{{nonOfficeExercises if isHome or isAtAunties
|
|
or isAtParents else []}}'
|
|
availableHomeEquipmentExercises: '{{homeEquipmentExercises if isHome else []}}'
|
|
exercises: '{{anywhereExercises + availableNonOfficeExercises + availableHomeEquipmentExercises}}'
|
|
activeExercises: '{{exercises}}'
|
|
randMax: '{{activeExercises|length}}'
|
|
exerciseIndex: '{{range(0, randMax)|random}}'
|
|
repsMessage: Do {{activeExercises[exerciseIndex].count}} {{activeExercises[exerciseIndex].name}}
|
|
secondsMessage: Do {{activeExercises[exerciseIndex].name}} for {{activeExercises[exerciseIndex].count}}
|
|
seconds
|
|
message: '{{repsMessage if activeExercises[exerciseIndex].unit == ''reps'' else
|
|
secondsMessage}}'
|
|
- data:
|
|
title: Time To Move
|
|
message: '{{message}}'
|
|
data:
|
|
channel: Make Me Move Priority
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:weight-lifter
|
|
icon_url: https://raw.githubusercontent.com/HofmaDresu/HomeAssistant/main/icons/MakeMeMoveIcon.png
|
|
timeout: '{{30 * 60}}'
|
|
action: notify.mobile_app_pixel_8
|
|
mode: single
|
|
- alias: Monthly full backup
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: 03:00:00
|
|
condition:
|
|
- condition: template
|
|
value_template: '{{ now().day == 1 }}'
|
|
alias: Is first of month
|
|
action:
|
|
- service: hassio.backup_full
|
|
metadata: {}
|
|
data:
|
|
compressed: true
|
|
homeassistant_exclude_database: false
|
|
mode: single
|
|
- alias: 'Mower: Mow easement on command'
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Mow the easement
|
|
- Mow easement
|
|
conditions: []
|
|
actions:
|
|
- alias: Mowe easement
|
|
action: mammotion.start_mow
|
|
metadata: {}
|
|
data:
|
|
is_mow: true
|
|
is_dump: false
|
|
border_mode: '0'
|
|
speed: 0.3
|
|
ultra_wave: '10'
|
|
channel_mode: '0'
|
|
channel_width: 12
|
|
rain_tactics: '1'
|
|
toward_mode: '2'
|
|
mowing_laps: '3'
|
|
obstacle_laps: '1'
|
|
start_progress: 0
|
|
blade_height: 88.9
|
|
areas:
|
|
- switch.mo99_area_8647782149318140073
|
|
target:
|
|
entity_id: lawn_mower.mo99
|
|
mode: single
|
|
- alias: 'Mower: Mow lawn'
|
|
description: ''
|
|
triggers:
|
|
- trigger: time
|
|
at: '10:00:00'
|
|
conditions: []
|
|
actions:
|
|
- alias: Mow if needed
|
|
if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.openweathermap_precipitation_kind
|
|
state: None
|
|
for:
|
|
hours: 2
|
|
minutes: 0
|
|
seconds: 0
|
|
enabled: true
|
|
- condition: state
|
|
entity_id: binary_sensor.today_is_mow_day
|
|
state: 'on'
|
|
- condition: numeric_state
|
|
entity_id: sensor.openweathermap_temperature
|
|
above: 40
|
|
then:
|
|
- alias: Mow target sections
|
|
if:
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
then:
|
|
- alias: Mow entire lawn
|
|
action: mammotion.start_mow
|
|
metadata: {}
|
|
data:
|
|
is_mow: true
|
|
is_dump: false
|
|
border_mode: '0'
|
|
speed: 0.3
|
|
ultra_wave: '10'
|
|
channel_mode: '0'
|
|
channel_width: 12
|
|
rain_tactics: '1'
|
|
toward_mode: '2'
|
|
mowing_laps: '3'
|
|
obstacle_laps: '1'
|
|
start_progress: 0
|
|
blade_height: 88.9
|
|
areas:
|
|
- switch.mo99_area_8647782149318140073
|
|
- switch.mo99_area_driveway_edge
|
|
- switch.mo99_area_3365964821918555184
|
|
target:
|
|
entity_id: lawn_mower.mo99
|
|
else:
|
|
- alias: Mow just main lawn
|
|
action: mammotion.start_mow
|
|
metadata: {}
|
|
data:
|
|
is_mow: true
|
|
is_dump: false
|
|
border_mode: '0'
|
|
speed: 0.3
|
|
ultra_wave: '10'
|
|
channel_mode: '0'
|
|
channel_width: 12
|
|
rain_tactics: '1'
|
|
toward_mode: '0'
|
|
mowing_laps: '3'
|
|
obstacle_laps: '1'
|
|
start_progress: 0
|
|
blade_height: 88.9
|
|
areas:
|
|
- switch.mo99_area_3365964821918555184
|
|
target:
|
|
entity_id: lawn_mower.mo99
|
|
- data:
|
|
title: Mo
|
|
message: Mowing has started
|
|
data:
|
|
channel: Mo automation
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:robot-mower
|
|
action: notify.mobile_app_pixel_8
|
|
else:
|
|
- action: input_number.increment
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_number.days_since_last_mow
|
|
mode: single
|
|
- alias: Notify close windows on high AQI
|
|
description: ''
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id:
|
|
- sensor.ypsilanti_michigan_usa_air_quality_index
|
|
above: 100
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
actions:
|
|
- action: notify.mobile_app_pixel_8
|
|
metadata: {}
|
|
data:
|
|
message: High AQI
|
|
title: Close windows
|
|
mode: single
|
|
- alias: 'Mower: Notify complete'
|
|
description: ''
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id:
|
|
- sensor.mo99_progress
|
|
above: 99
|
|
conditions: []
|
|
actions:
|
|
- data:
|
|
title: Mo
|
|
message: Mowing has finished
|
|
data:
|
|
channel: Mo automation
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:robot-mower
|
|
action: notify.mobile_app_pixel_8
|
|
- action: input_number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: 0
|
|
target:
|
|
entity_id: input_number.days_since_last_mow
|
|
mode: single
|
|
- alias: 'Mower: Notify error'
|
|
description: ''
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.mo99_last_error_code
|
|
conditions:
|
|
- condition: not
|
|
conditions:
|
|
- condition: time
|
|
after: 00:00:00
|
|
before: 09:00:00
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '1005'
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '2701'
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '1108'
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: unavailable
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: unknown
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '1105'
|
|
alias: Is resumable error
|
|
sequence:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: lawn_mower.start_mowing
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: c1a6fce56e3605c6ec1e00d22321e2f2
|
|
- data:
|
|
title: Mo
|
|
message: Auto-resume attempted, check if it worked
|
|
data:
|
|
channel: Mo automation
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:robot-mower
|
|
action: notify.mobile_app_pixel_8
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '1300'
|
|
sequence:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 15
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- if:
|
|
- condition: state
|
|
entity_id: sensor.mo99_activity_mode
|
|
state: MODE_PAUSE
|
|
then:
|
|
- data:
|
|
title: Mo
|
|
message: Mo has had weak satellite connection for 15 minutes, check its
|
|
position
|
|
data:
|
|
channel: Mo automation
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:robot-mower
|
|
action: notify.mobile_app_pixel_8
|
|
alias: Last error code is 1300 (Poor positioning status)
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sensor.mo99_last_error_code
|
|
state: '1068'
|
|
sequence:
|
|
- alias: 'Add chore: Clean Mo''s camera'
|
|
action: script.add_unique_chore
|
|
metadata: {}
|
|
data:
|
|
chore: Clean Mo's camera
|
|
alias: Last error code is 1068 (Clean camera)
|
|
default:
|
|
- data:
|
|
title: Mo encountered an error
|
|
message: '{{states.sensor.mo99_last_error_code.state}}: {{states.sensor.mo99_last_error.state}}'
|
|
data:
|
|
channel: Mo automation
|
|
priority: high
|
|
ttl: 0
|
|
notification_icon: mdi:robot-mower
|
|
action: notify.mobile_app_pixel_8
|
|
mode: single
|
|
- alias: Notify to open windows
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- sensor.openweathermap_temperature
|
|
above: 60
|
|
below: 80
|
|
trigger: numeric_state
|
|
conditions:
|
|
- condition: state
|
|
entity_id: person.hofmadresu
|
|
state: home
|
|
- condition: time
|
|
after: 07:00:00
|
|
before: '22:00:00'
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'off'
|
|
- condition: numeric_state
|
|
entity_id: sensor.ypsilanti_michigan_usa_air_quality_index
|
|
below: 100
|
|
- condition: state
|
|
entity_id: sensor.openweathermap_precipitation_kind
|
|
state: None
|
|
for:
|
|
hours: 1
|
|
minutes: 0
|
|
seconds: 0
|
|
actions:
|
|
- metadata: {}
|
|
data:
|
|
message: Temp good to open windows
|
|
title: Open Windows
|
|
action: notify.mobile_app_pixel_8
|
|
mode: single
|
|
- alias: Office automatic lights
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- binary_sensor.office_motion_sensor_motion
|
|
to: 'on'
|
|
trigger: state
|
|
conditions:
|
|
- condition: device
|
|
type: is_off
|
|
device_id: bad671e7062197c2244063c9ab807b41
|
|
entity_id: 570122fb667e2bbf465c4b1eee4cc5b8
|
|
domain: light
|
|
- condition: device
|
|
type: is_off
|
|
device_id: 1155e017f2b58ecdf76d69807001a0b9
|
|
entity_id: 525207ce60b068d636526e83f993b12a
|
|
domain: light
|
|
- condition: state
|
|
entity_id: input_boolean.pet_mode
|
|
state: 'off'
|
|
- condition: numeric_state
|
|
entity_id: cover.office_shades
|
|
attribute: current_position
|
|
below: 50
|
|
actions:
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id: office
|
|
action: light.turn_on
|
|
- wait_for_trigger:
|
|
- entity_id:
|
|
- binary_sensor.office_motion_sensor_motion
|
|
from: 'on'
|
|
for:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
trigger: state
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id: office
|
|
action: light.turn_off
|
|
mode: single
|
|
- description: ''
|
|
mode: single
|
|
triggers:
|
|
- value_template: ' {{state_attr(''cover.office_shades'', ''current_position'')
|
|
| int == 100 }}'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 30
|
|
trigger: template
|
|
conditions:
|
|
- condition: sun
|
|
before: sunset
|
|
actions:
|
|
- type: turn_off
|
|
device_id: bad671e7062197c2244063c9ab807b41
|
|
entity_id: 570122fb667e2bbf465c4b1eee4cc5b8
|
|
domain: light
|
|
- type: turn_off
|
|
device_id: 1155e017f2b58ecdf76d69807001a0b9
|
|
entity_id: 525207ce60b068d636526e83f993b12a
|
|
domain: light
|
|
- type: turn_off
|
|
device_id: 53c67fc630ffb53184d225bbfc7c2fa8
|
|
entity_id: df93ec8a60392af9342a2076858609f2
|
|
domain: light
|
|
alias: Office lights off on shade open
|
|
- alias: Office lights off when computer shut down
|
|
description: ''
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id:
|
|
- sensor.computer_plug_top_power
|
|
below: 10
|
|
conditions: []
|
|
actions:
|
|
- action: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
area_id: office
|
|
mode: single
|
|
- alias: 'On Startup: shut off driveway garden watering'
|
|
description: ''
|
|
triggers:
|
|
- trigger: homeassistant
|
|
event: start
|
|
conditions:
|
|
- condition: device
|
|
type: is_on
|
|
device_id: 1dd1aabd76c1d3600d697e2071897d7a
|
|
entity_id: f823727348b8efe0357b3e46bcf0329e
|
|
domain: switch
|
|
actions:
|
|
- action: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: 1dd1aabd76c1d3600d697e2071897d7a
|
|
mode: single
|
|
- alias: 'Mower: power control'
|
|
description: ''
|
|
triggers:
|
|
- trigger: time
|
|
at: 01:00:00
|
|
conditions: []
|
|
actions:
|
|
- alias: Power on/off as needed
|
|
if:
|
|
- condition: state
|
|
entity_id: binary_sensor.today_is_mow_day
|
|
state: 'on'
|
|
then:
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.mower_outlet
|
|
- delay:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.mo99_turn_updates_on_off
|
|
else:
|
|
- if:
|
|
- condition: state
|
|
entity_id: switch.mower_outlet
|
|
state: 'on'
|
|
then:
|
|
- action: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.mo99_turn_updates_on_off
|
|
- delay:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.mower_outlet
|
|
mode: single
|
|
- alias: Protect from heat
|
|
description: ''
|
|
mode: single
|
|
triggers:
|
|
- entity_id:
|
|
- sensor.openweathermap_feels_like_temperature
|
|
above: 89
|
|
trigger: numeric_state
|
|
- entity_id:
|
|
- sensor.openweathermap_temperature
|
|
above: 89
|
|
trigger: numeric_state
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: cover.south_shades
|
|
state: open
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: person.hofmadresu
|
|
state: home
|
|
actions:
|
|
- alias: If shades and windows both open
|
|
if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: cover.south_shades
|
|
state: open
|
|
then:
|
|
- metadata: {}
|
|
data:
|
|
cache: false
|
|
entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
message: Heat index is very high, you should close windows. South shades will
|
|
close in 5 minutes
|
|
action: tts.cloud_say
|
|
- data:
|
|
title: Extreme high temperature
|
|
message: Heat index is very high, you should close windows. South shades will
|
|
close in 5 minutes
|
|
action: notify.mobile_app_pixel_8
|
|
- delay:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.south_shades
|
|
action: cover.close_cover
|
|
- alias: If only shades open
|
|
if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: cover.south_shades
|
|
state: open
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
alias: Windows not open
|
|
then:
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.south_shades
|
|
action: cover.close_cover
|
|
- alias: If only windows open
|
|
if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
- alias: Shades not open
|
|
condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: cover.south_shades
|
|
state: open
|
|
then:
|
|
- metadata: {}
|
|
data:
|
|
title: Extreme high temperature
|
|
message: Heat index is very high, you should close windows
|
|
action: notify.persistent_notification
|
|
- metadata: {}
|
|
data:
|
|
cache: false
|
|
entity_id: media_player.home_assistant_voice_091b0c_media_player
|
|
message: Heat index is very high, you should close windows
|
|
action: tts.cloud_say
|
|
- alias: Set alarm on command
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Goodnight
|
|
- Good night
|
|
conditions: []
|
|
actions:
|
|
- set_conversation_response: ''
|
|
- parallel:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{true}}'
|
|
then:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 10
|
|
milliseconds: 0
|
|
- device_id: 12991409e93a14125e39db65a3b740dc
|
|
domain: alarm_control_panel
|
|
entity_id: ed8fc83278462fc5ba4f6de76da799ad
|
|
type: arm_home
|
|
code: '{{!secret alarm_code}}'
|
|
- action: script.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: script.lock_doors
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 50
|
|
milliseconds: 0
|
|
- target:
|
|
entity_id: scene.power_off
|
|
metadata: {}
|
|
action: scene.turn_on
|
|
data: {}
|
|
- alias: Run morning routine if CB off
|
|
if:
|
|
- condition: state
|
|
entity_id: input_boolean.alarm_circuitbreaker
|
|
state: 'off'
|
|
then:
|
|
- action: script.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: script.morning_routine
|
|
mode: single
|
|
- alias: Set morning alarm override
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Set morning alarm to {time}
|
|
conditions: []
|
|
actions:
|
|
- action: input_datetime.set_datetime
|
|
metadata: {}
|
|
data:
|
|
time: '{{trigger.slots.time}}'
|
|
target:
|
|
entity_id: input_datetime.alarm_override_time
|
|
- action: input_boolean.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.alarm_override_active
|
|
mode: single
|
|
- alias: Terrible air notification
|
|
description: ''
|
|
triggers:
|
|
- type: carbon_dioxide
|
|
device_id: d276e61bffda959e361f8b8683b8afd6
|
|
entity_id: 070616c02a3b9688b3a97f4023c0b515
|
|
domain: sensor
|
|
above: 1000
|
|
trigger: device
|
|
for:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
- type: carbon_dioxide
|
|
device_id: d276e61bffda959e361f8b8683b8afd6
|
|
entity_id: 070616c02a3b9688b3a97f4023c0b515
|
|
domain: sensor
|
|
above: 800
|
|
for:
|
|
hours: 1
|
|
minutes: 0
|
|
seconds: 0
|
|
trigger: device
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.bedroom_window_open_state
|
|
state: 'on'
|
|
alias: Home and window is not open
|
|
actions:
|
|
- data:
|
|
title: Terrible air, maybe you should open a window
|
|
message: CO2 is very high
|
|
action: notify.mobile_app_pixel_8
|
|
mode: single
|
|
- alias: Toggle recycling boolean
|
|
description: ''
|
|
triggers:
|
|
- trigger: time
|
|
at: '11:00:00'
|
|
conditions:
|
|
- condition: time
|
|
weekday:
|
|
- tue
|
|
actions:
|
|
- action: input_boolean.toggle
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.recycling_at_next_trash
|
|
mode: single
|
|
- alias: Vacation mode off
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.vacation_mode
|
|
from: 'on'
|
|
to: 'off'
|
|
condition: []
|
|
action:
|
|
- device_id: 695ac42995783206896bb51e715e03e1
|
|
domain: climate
|
|
entity_id: c6c45aeb39a40b31cfc9e0bd944c67ae
|
|
type: set_preset_mode
|
|
preset_mode: none
|
|
- target:
|
|
entity_id:
|
|
- input_boolean.vacation_mode
|
|
- input_boolean.vacuum_circuitbreaker
|
|
data: {}
|
|
action: input_boolean.turn_off
|
|
- target:
|
|
entity_id: script.set_temp_based_on_mode
|
|
data: {}
|
|
action: script.turn_on
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.non_essential_outlets
|
|
action: switch.turn_on
|
|
mode: single
|
|
- alias: Vacation mode on
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: 04:00:00
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode_circuitbreaker
|
|
state: 'off'
|
|
- condition: not
|
|
conditions:
|
|
- condition: zone
|
|
entity_id: person.hofmadresu
|
|
zone: zone.home
|
|
action:
|
|
- service: input_boolean.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.vacation_mode
|
|
- service: script.turn_on
|
|
target:
|
|
entity_id: script.vacation
|
|
data: {}
|
|
- device_id: 695ac42995783206896bb51e715e03e1
|
|
domain: climate
|
|
entity_id: c6c45aeb39a40b31cfc9e0bd944c67ae
|
|
type: set_preset_mode
|
|
preset_mode: eco
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.vacuum_circuitbreaker
|
|
data: {}
|
|
- service: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.non_essential_outlets
|
|
mode: single
|
|
- alias: Vacuum main floor
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: '11:00:00'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.vacuum_circuitbreaker
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- if:
|
|
- condition: time
|
|
weekday:
|
|
- sun
|
|
then:
|
|
- service: vacuum.set_fan_speed
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data:
|
|
fan_speed: max
|
|
- device_id: 76db24d3a176285f3be6d972ee76b37a
|
|
domain: select
|
|
entity_id: dfbe856fbf9eebc63d793e257ef12970
|
|
type: select_option
|
|
option: moderate
|
|
- service: vacuum.start
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data: {}
|
|
- stop: ''
|
|
- if:
|
|
- condition: time
|
|
weekday:
|
|
- wed
|
|
then:
|
|
- service: vacuum.set_fan_speed
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data:
|
|
fan_speed: quiet
|
|
- device_id: 76db24d3a176285f3be6d972ee76b37a
|
|
domain: select
|
|
entity_id: dfbe856fbf9eebc63d793e257ef12970
|
|
type: select_option
|
|
option: mild
|
|
- service: vacuum.start
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data: {}
|
|
- stop: ''
|
|
- if:
|
|
- condition: or
|
|
conditions:
|
|
- condition: time
|
|
weekday:
|
|
- fri
|
|
- condition: state
|
|
entity_id: input_boolean.pet_mode
|
|
state: 'on'
|
|
then:
|
|
- service: vacuum.set_fan_speed
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data:
|
|
fan_speed: quiet
|
|
- device_id: 76db24d3a176285f3be6d972ee76b37a
|
|
domain: select
|
|
entity_id: dfbe856fbf9eebc63d793e257ef12970
|
|
type: select_option
|
|
option: 'off'
|
|
- service: vacuum.start
|
|
target:
|
|
entity_id: vacuum.roborock_s7_maxv
|
|
data: {}
|
|
mode: single
|
|
- alias: Water driveway garden
|
|
description: ''
|
|
triggers:
|
|
- trigger: sun
|
|
event: sunset
|
|
offset: -01:00:00
|
|
conditions:
|
|
- condition: numeric_state
|
|
entity_id: sensor.openweathermap_temperature
|
|
above: 50
|
|
- condition: state
|
|
entity_id: sensor.openweathermap_precipitation_kind
|
|
state: None
|
|
for:
|
|
hours: 12
|
|
minutes: 0
|
|
seconds: 0
|
|
actions:
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: 1dd1aabd76c1d3600d697e2071897d7a
|
|
- delay:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: 1dd1aabd76c1d3600d697e2071897d7a
|
|
mode: single
|
|
- alias: 'Water leak: basement sink'
|
|
description: ''
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- binary_sensor.basement_sink_leak_detector_moisture
|
|
from: null
|
|
to: 'on'
|
|
conditions: []
|
|
actions:
|
|
- action: script.water_leak_notification
|
|
metadata: {}
|
|
data:
|
|
location: basement sink
|
|
mode: single
|
|
- alias: What's the AQI
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command: What's the AQI
|
|
conditions: []
|
|
actions:
|
|
- set_conversation_response: '{{states.sensor.ypsilanti_michigan_usa_air_quality_index.state}}'
|
|
mode: single
|
|
- alias: 'Mower: Where is Mo'
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Where is mo
|
|
- Where is moe
|
|
- Where is mow
|
|
conditions: []
|
|
actions:
|
|
- if:
|
|
- condition: state
|
|
entity_id: binary_sensor.mo99_charging
|
|
state: 'on'
|
|
then:
|
|
- set_conversation_response: Moe is charging
|
|
else:
|
|
- set_conversation_response: Moe is mowing the {{states.sensor.mo99_work_area.state}}
|
|
mode: single
|
|
- alias: Work run mode ringer volume
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: '23:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.on_call_schedule_for_matt_hoffman
|
|
state: 'on'
|
|
action:
|
|
- device_id: 2a4dba515991380dd038caf3d8ffa4e6
|
|
domain: mobile_app
|
|
type: notify
|
|
message: command_volume_level
|
|
data:
|
|
media_stream: ring_stream
|
|
command: 7
|
|
alias: Set loud volume
|
|
- delay:
|
|
hours: 9
|
|
minutes: 0
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- device_id: 2a4dba515991380dd038caf3d8ffa4e6
|
|
domain: mobile_app
|
|
type: notify
|
|
message: command_volume_level
|
|
data:
|
|
media_stream: ring_stream
|
|
command: 3
|
|
alias: Set normal volume
|
|
mode: single
|