1917 lines
54 KiB
YAML
1917 lines
54 KiB
YAML
- alias: Cliamate · Air Quality · Alert when opening a window
|
||
trigger:
|
||
platform: state
|
||
entity_id:
|
||
- binary_sensor.kitchen_window_contact
|
||
- binary_sensor.living_room_right_window_contact
|
||
- binary_sensor.bedroom_left_window_contact
|
||
- binary_sensor.bedroom_right_window_contact
|
||
from: 'off'
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.aqi_above_threshold
|
||
state: 'on'
|
||
action:
|
||
- service: script.say
|
||
data:
|
||
message: Hey, the air outside is pretty bad. I suggest closing the windows.
|
||
- alias: Cliamate · Air Quality · Alert when AQI drops
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.aqi_above_threshold
|
||
from: 'off'
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id:
|
||
- binary_sensor.kitchen_window_contact
|
||
- binary_sensor.living_room_right_window_contact
|
||
- binary_sensor.bedroom_left_window_contact
|
||
- binary_sensor.bedroom_right_window_contact
|
||
state: 'on'
|
||
action:
|
||
- service: script.say
|
||
data:
|
||
message: Hey, the air outside is getting worse, and you have some windows open.
|
||
I suggest closing them.
|
||
- alias: Cliamate · Air Quality · Turn on purifier in bedroom on window open
|
||
trigger:
|
||
platform: state
|
||
entity_id: group.bedroom_windows
|
||
from: 'off'
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.aqi_above_threshold
|
||
state: 'on'
|
||
action:
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: Purifier On · Air quality is bad outside and a window was opened
|
||
domain: fan
|
||
- service: fan.turn_on
|
||
entity_id: fan.philips_airpurifier
|
||
- service: fan.turn_on
|
||
entity_id: fan.philips_airpurifier
|
||
data:
|
||
speed: Speed 3
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_speed
|
||
data:
|
||
option: 100
|
||
- service: philips_airpurifier_http.set_function
|
||
data:
|
||
entity_id: fan.philips_airpurifier
|
||
function: Purification
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.purifier_turned_on_for_bad_air
|
||
- id: '1699305396452'
|
||
alias: Terrarium · Climate alert
|
||
description: ''
|
||
trigger:
|
||
- platform: template
|
||
value_template: '{{ states(''sensor.terrarium_weather_temperature'')|float > 29
|
||
or states(''sensor.terrarium_weather_temperature'')|float < 22 }}
|
||
|
||
'
|
||
for:
|
||
hours: 0
|
||
minutes: 5
|
||
seconds: 0
|
||
id: temperature
|
||
- platform: template
|
||
value_template: '{{ states(''sensor.terrarium_weather_humidity'')|float > 87 or
|
||
states(''sensor.terrarium_weather_humidity'')|float < 60 }}
|
||
|
||
'
|
||
for:
|
||
hours: 0
|
||
minutes: 5
|
||
seconds: 0
|
||
id: humidity
|
||
condition: []
|
||
action:
|
||
- service: notify.mobile_app_mayas_iphone
|
||
data:
|
||
title: Terrarium · {{ trigger.id }} alert
|
||
message: '{{ trigger.id }} has been out of bounds for 5 mins!'
|
||
data:
|
||
url: /lovelace/terrarium
|
||
mode: single
|
||
- id: '1699306268852'
|
||
alias: Printer · Toner warning
|
||
description: ''
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id:
|
||
- sensor.printer_black_toner_remaining
|
||
below: 30
|
||
condition: []
|
||
action:
|
||
- service: notify.all_phones
|
||
data:
|
||
title: 'Printer · Low toner '
|
||
message: The printer's toner is below 30%.
|
||
mode: single
|
||
- id: '1699306535213'
|
||
alias: Printer · Drum warning
|
||
description: ''
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id:
|
||
- sensor.printer_drum_remaining_life
|
||
below: 30
|
||
condition: []
|
||
action:
|
||
- service: notify.all_phones
|
||
data:
|
||
title: Printer · Needs new drum
|
||
message: The printer's drum lifespan is below 30%.
|
||
mode: single
|
||
- id: '1699446647329'
|
||
alias: Bathroom · Turn off fan
|
||
description: ''
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.bathroom_motion_occupancy
|
||
to: 'off'
|
||
for:
|
||
hours: 0
|
||
minutes: 15
|
||
seconds: 0
|
||
condition: []
|
||
action:
|
||
- service: fan.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: fan.bathroom
|
||
mode: single
|
||
- id: '1699735427094'
|
||
alias: Front door · turn on lights
|
||
description: ''
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.front_door_contact
|
||
to: 'on'
|
||
condition: []
|
||
action:
|
||
- service: light.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id:
|
||
- light.hallway_main
|
||
- light.hallway_entrance
|
||
mode: single
|
||
- alias: Bathroom · Increase timeout on click
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.bathroom_wall_switch_action
|
||
to: single_left
|
||
action:
|
||
- service: input_number.set_value
|
||
entity_id: input_number.bathroom_motion_timeout
|
||
data:
|
||
value: '{{ 1800 if is_state(''light.bathroom'', ''on'') else 900 }}'
|
||
- alias: Bathroom · Motion light
|
||
mode: restart
|
||
max_exceeded: silent
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.bathroom_motion_occupancy
|
||
from: 'off'
|
||
to: 'on'
|
||
action:
|
||
- service: light.turn_on
|
||
entity_id: light.bathroom
|
||
- wait_for_trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.bathroom_motion_occupancy
|
||
from: 'on'
|
||
to: 'off'
|
||
- delay: '{{ states(''input_number.bathroom_motion_timeout'') | int }}'
|
||
- service: light.turn_off
|
||
entity_id: light.bathroom
|
||
- service: input_number.set_value
|
||
entity_id: input_number.bathroom_motion_timeout
|
||
data:
|
||
value: 900
|
||
- alias: Bathroom · Fan on if light on
|
||
trigger:
|
||
platform: state
|
||
entity_id: light.bathroom
|
||
to: 'on'
|
||
for: 00:05:00
|
||
action:
|
||
- service: fan.turn_on
|
||
entity_id: fan.bathroom
|
||
- alias: Batteries · Notify when a battery is low
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id:
|
||
- sensor.trisensor_battery_level
|
||
- sensor.front_door_battery
|
||
- sensor.multisensor_6_battery_level
|
||
- sensor.living_room_right_window_battery
|
||
- sensor.opple_2_battery
|
||
- sensor.desk_switch_battery
|
||
- sensor.bedroom_door_battery
|
||
- sensor.bedroom_left_window_battery
|
||
- sensor.bedroom_right_window_battery
|
||
- sensor.bedroom_weather_battery
|
||
- sensor.opple_1_battery
|
||
- sensor.bedside_switch_battery
|
||
- sensor.bedroom_radiator_battery_level
|
||
- sensor.kitchen_window_battery
|
||
- sensor.kitchen_weather_battery
|
||
- sensor.kitchen_motion_battery
|
||
- sensor.kitchen_radiator_battery_level
|
||
- sensor.bathroom_weather_battery
|
||
- sensor.bathroom_switch_battery
|
||
- sensor.bathroom_motion_battery
|
||
- sensor.hallway_weather_battery
|
||
- sensor.hallway_motion_battery
|
||
- sensor.hallway_motion_2_battery
|
||
- sensor.guest_bedroom_weather_battery
|
||
- sensor.terrarium_weather_battery
|
||
below: 20
|
||
action:
|
||
- service: notify.telegram
|
||
data_template:
|
||
title: ⚙️ *System Module · Low Battery*
|
||
message: '{{ trigger.entity_id + " is reporting: " + trigger.to_state.state
|
||
}}'
|
||
- alias: Lighting · Bedroom · Door open
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.bedroom_door_contact
|
||
to: 'on'
|
||
condition:
|
||
and:
|
||
- condition: sun
|
||
after: sunset
|
||
after_offset: -02:00:00
|
||
- condition: state
|
||
entity_id: input_select.bedroom_mode
|
||
state: day
|
||
action:
|
||
- service: light.turn_on
|
||
entity_id: light.master_bedroom_main
|
||
- alias: Cadmium · Turn off when idle
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id: sensor.cadmium_idle_time
|
||
above: 180
|
||
action:
|
||
- service: script.cadmium_shutdown
|
||
- service: notify.telegram
|
||
data:
|
||
title: 🖥 *Devices · Cadmium*
|
||
message: Hey, I'm turning Cadmium off. It's been idling for 3 hours.
|
||
- service: logbook.log
|
||
data:
|
||
name: '🖥 Devices · '
|
||
message: Cadmium · Turning off - idling for 3 hours
|
||
- alias: Living room candle · turn on after sunset
|
||
trigger:
|
||
platform: sun
|
||
event: sunset
|
||
action:
|
||
- service: script.living_room_candle_on
|
||
- alias: Alarm · Wake up
|
||
trigger:
|
||
platform: template
|
||
value_template: '{{ states(''sensor.time'') == states(''input_datetime.alarm_time'')[0:5]
|
||
}}'
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: input_boolean.alarm_enabled
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: input_select.bedroom_mode
|
||
state: night
|
||
action:
|
||
- service: script.music_play
|
||
data:
|
||
volume_level: 0.1
|
||
- delay: 00:01:00
|
||
- condition: state
|
||
entity_id: input_select.bedroom_mode
|
||
state: night
|
||
- service: script.sonos_say
|
||
data:
|
||
message: Hey! It's time to wake up!
|
||
volume_level: 0.15
|
||
- delay: 00:00:05
|
||
- service: media_player.volume_set
|
||
entity_id: media_player.master_bedroom
|
||
data:
|
||
volume_level: 0.15
|
||
- delay: 00:02:00
|
||
- condition: state
|
||
entity_id: input_select.bedroom_mode
|
||
state: night
|
||
- service: script.sonos_say
|
||
data:
|
||
message: Good morning! Time to get out of bed!
|
||
volume_level: 0.2
|
||
- delay: 00:00:05
|
||
- service: media_player.volume_set
|
||
entity_id: media_player.master_bedroom
|
||
data:
|
||
volume_level: 0.2
|
||
- delay: 00:05:00
|
||
- condition: state
|
||
entity_id: input_select.bedroom_mode
|
||
state: night
|
||
- service: script.sonos_say
|
||
data:
|
||
message: Hey! It's time to wake up!
|
||
volume_level: 0.3
|
||
- delay: 00:00:05
|
||
- service: media_player.volume_set
|
||
entity_id: media_player.master_bedroom
|
||
data:
|
||
volume_level: 0.3
|
||
- alias: Alarm · Set time
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.bedroom_mode
|
||
to: day
|
||
action:
|
||
- service: input_datetime.set_datetime
|
||
data_template:
|
||
entity_id: input_datetime.alarm_time
|
||
time: "\n{% if is_state('binary_sensor.workday_tomorrow', 'on') %}\n 09:20:00\n\
|
||
{% else %}\n 10:20:00\n{% endif %}"
|
||
- alias: Coffee Machine · Turn on in the morning
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.bedroom_door_contact
|
||
- platform: state
|
||
entity_id: group.hallway_motion
|
||
condition:
|
||
- condition: time
|
||
after: 08:00:00
|
||
- condition: state
|
||
entity_id: input_boolean.guest_mode
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: input_boolean.coffee_machine_turned_on_today
|
||
state: 'off'
|
||
action:
|
||
- service: button.press
|
||
entity_id: button.coffee_machine
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.coffee_machine_turned_on_today
|
||
- alias: Coffee Machine · Reset state at night
|
||
trigger:
|
||
- platform: time
|
||
at: 05:00:00
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.coffee_machine_turned_on_today
|
||
- alias: Light · Color · Default
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.light_color_mode
|
||
to: normal
|
||
action:
|
||
- service: scene.turn_on
|
||
entity_id:
|
||
- scene.living_room_ambient_neon
|
||
- scene.bedroom_ambient_neon
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.living_room_main
|
||
- light.hue_ambiance_7
|
||
- light.master_bedroom_main
|
||
- light.hallway
|
||
- light.kitchen
|
||
data:
|
||
brightness_pct: 100
|
||
color_temp: 500
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.lighting_hallway_motion_on
|
||
- automation.lighting_hallway_motion_off
|
||
- automation.lighting_kitchen_motion_on
|
||
- automation.lighting_kitchen_motion_off
|
||
- alias: Light · Color · Blue
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.light_color_mode
|
||
to: blue
|
||
action:
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.lighting_hallway_motion_on
|
||
- automation.lighting_hallway_motion_off
|
||
- automation.lighting_kitchen_motion_on
|
||
- automation.lighting_kitchen_motion_off
|
||
- service: light.turn_off
|
||
entity_id:
|
||
- light.living_room_main
|
||
- light.hallway
|
||
- light.kitchen
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.living_room_ambient_main
|
||
- light.bedside
|
||
- light.master_bedroom_main
|
||
data:
|
||
rgb_color:
|
||
- 0
|
||
- 0
|
||
- 255
|
||
brightness_pct: 40
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.light_lohas_2
|
||
- light.hue_1
|
||
data:
|
||
rgb_color:
|
||
- 0
|
||
- 0
|
||
- 255
|
||
brightness_pct: 100
|
||
- alias: Cover · update state when change requested
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.cover_changed
|
||
action:
|
||
- delay: 00:00:15
|
||
- service: mqtt.publish
|
||
data_template:
|
||
topic: z2m_deconz/living_room_cover/get
|
||
payload: '{ "state": "" }'
|
||
- alias: Cover · Living Room · Open at morning
|
||
trigger:
|
||
platform: time
|
||
at: '10:00:00'
|
||
action:
|
||
- service: script.open_living_room_cover
|
||
- alias: Cover · Living Room · Close after sunset
|
||
trigger:
|
||
platform: sun
|
||
event: sunset
|
||
action:
|
||
- service: cover.close_cover
|
||
entity_id: cover.living_room
|
||
- alias: System · Announce start
|
||
trigger:
|
||
platform: homeassistant
|
||
event: start
|
||
action:
|
||
- delay: 00:00:03
|
||
- service: script.chat
|
||
data:
|
||
title: ⚙️ *System Module · Status*
|
||
message: Hey I was out for a bit, but I'm back online
|
||
- alias: System · Telegram · Announce status
|
||
trigger:
|
||
platform: event
|
||
event_type: telegram_command
|
||
event_data:
|
||
command: /status
|
||
action:
|
||
- service: notify.telegram
|
||
data_template:
|
||
title: ⚙️ *System Module · Status*
|
||
message: "\nGuest mode: {{ states('input_boolean.guest_mode') }}\nWindows:\n\
|
||
\ Living room: {{ states('binary_sensor.living_room_right_window_contact')\
|
||
\ }}\n Master bedroom: {{ states('binary_sensor.bedroom_right_window_contact')\
|
||
\ }}\n\nLights:\n Living room: {{ states('light.living_room') }}\n Master\
|
||
\ bedroom: {{ states('light.master_bedroom') }}\n Kitchen: {{ states('light.kitchen')\
|
||
\ }}\n Hallway: {{ states('light.hallway') }}"
|
||
- alias: IFTTT · Call service
|
||
trigger:
|
||
platform: event
|
||
event_type: ifttt_webhook_received
|
||
event_data:
|
||
action: call-service
|
||
action:
|
||
- service: '{{ trigger.event.data.service }}'
|
||
data_template:
|
||
entity_id: '{{ trigger.event.data.entity_id }}'
|
||
- alias: Domestina · Automate start
|
||
trigger:
|
||
platform: time
|
||
at: 08:30:00
|
||
condition:
|
||
- condition: time
|
||
weekday: thu
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.domestina
|
||
- alias: Domestina · Start
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.domestina
|
||
from: 'off'
|
||
to: 'on'
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.guest_mode
|
||
- service: automation.turn_off
|
||
entity_id: group.domestina_disabled_automations
|
||
- alias: Domestina · Automate end
|
||
trigger:
|
||
platform: time
|
||
at: '13:00:00'
|
||
condition:
|
||
- condition: time
|
||
weekday: thu
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.domestina
|
||
- alias: Domestina · End
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.domestina
|
||
from: 'on'
|
||
to: 'off'
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.guest_mode
|
||
- service: automation.turn_on
|
||
entity_id: group.domestina_disabled_automations
|
||
- alias: Guest mode · Change
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.guest_mode
|
||
action:
|
||
choose:
|
||
- conditions: '{{ trigger.to_state == ''on'' }}'
|
||
sequence:
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.presence_leaving_home
|
||
- automation.presence_coming_home
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.speech_notifications
|
||
- conditions: '{{ trigger.to_state == ''off'' }}'
|
||
sequence:
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.presence_leaving_home
|
||
- automation.presence_coming_home
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.speech_notifications
|
||
- alias: Lighting · Hallway · Motion On
|
||
trigger:
|
||
platform: state
|
||
entity_id: group.hallway_motion
|
||
to: 'on'
|
||
condition:
|
||
condition: state
|
||
entity_id: binary_sensor.someone_home
|
||
state: 'on'
|
||
action:
|
||
- choose:
|
||
- conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.someone_sleeping
|
||
state: 'off'
|
||
sequence:
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.hallway
|
||
- light.browser_hallway
|
||
data:
|
||
brightness_pct: 100
|
||
default:
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.hue_white_1
|
||
- light.hue_1
|
||
data:
|
||
brightness_pct: 1
|
||
- service: script.browser_hallway_low
|
||
- alias: Lighting · Hallway · Motion Off
|
||
trigger:
|
||
platform: state
|
||
entity_id: group.hallway_motion
|
||
to: 'off'
|
||
for: 00:01:00
|
||
action:
|
||
- choose:
|
||
- conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.someone_sleeping
|
||
state: 'off'
|
||
sequence:
|
||
- service: light.turn_off
|
||
entity_id:
|
||
- light.hallway
|
||
- service: script.browser_hallway_low
|
||
default:
|
||
- service: light.turn_off
|
||
entity_id:
|
||
- light.hue_white_1
|
||
- light.hue_1
|
||
- light.hallway_main
|
||
- light.hallway_entrace
|
||
- service: script.browser_hallway_low
|
||
- alias: Bedroom mode · Change
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.bedroom_mode
|
||
action:
|
||
- choose:
|
||
- conditions: '{{ trigger.to_state.state == ''day'' }}'
|
||
sequence:
|
||
- service: script.routine_bedroom_morning
|
||
- conditions: '{{ trigger.to_state.state == ''bed'' }}'
|
||
sequence:
|
||
- service: script.routine_bedroom_bedtime
|
||
- conditions: '{{ trigger.to_state.state == ''night'' }}'
|
||
sequence:
|
||
- service: script.bedroom_good_night
|
||
- alias: Guest Bedroom mode · Set to night
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.guest_bedroom_mode
|
||
to: night
|
||
action:
|
||
- service: light.turn_off
|
||
entity_id: light.tradfri_large
|
||
- alias: House mode · Change
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.house_mode
|
||
action:
|
||
choose:
|
||
- conditions: '{{ trigger.to_state.state == ''day'' }}'
|
||
sequence:
|
||
- service: script.routine_waking_up
|
||
- conditions: '{{ trigger.to_state.state == ''night'' }}'
|
||
sequence:
|
||
- service: script.routine_good_night
|
||
- alias: iOS · Alarm off
|
||
trigger:
|
||
platform: event
|
||
event_type: ios.action_fired
|
||
action:
|
||
choose:
|
||
- conditions: '{{ trigger.event.data.actionName == ''alarm_off'' }}'
|
||
sequence:
|
||
- service: notify.telegram
|
||
data:
|
||
title: 📱 *iOS Module*
|
||
message: iOS alarm is off. Switching to Day Mode!
|
||
- service: input_select.select_option
|
||
entity_id: input_select.bedroom_mode
|
||
data:
|
||
option: day
|
||
- conditions: '{{ trigger.event.data.actionName == ''wind_down'' }}'
|
||
sequence:
|
||
- service: notify.telegram
|
||
data:
|
||
title: 📱 *iOS Module*
|
||
message: iOS wind_down is on. Switching to Bed Mode!
|
||
- service: input_select.select_option
|
||
entity_id: input_select.bedroom_mode
|
||
data:
|
||
option: bed
|
||
- conditions: '{{ trigger.event.data.actionName == ''bedtime'' }}'
|
||
sequence:
|
||
- service: notify.telegram
|
||
data:
|
||
title: 📱 *iOS Module*
|
||
message: iOS bedtime is on. Switching to Night Mode!
|
||
- service: input_select.select_option
|
||
entity_id: input_select.bedroom_mode
|
||
data:
|
||
option: night
|
||
- alias: Christmas lights change
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- input_select.isparkle_color
|
||
- input_select.isparkle_fade
|
||
- input_number.isparkle_fade_1
|
||
- input_number.isparkle_fade_2
|
||
- input_number.isparkle_brightness_1
|
||
- input_number.isparkle_brightness_2
|
||
action:
|
||
service: rest_command.isparkle_set
|
||
data_template:
|
||
color: '{{ states(''input_select.isparkle_color'') }}'
|
||
fn: '{{ states(''input_select.isparkle_fade'') }}'
|
||
brightness1: '{{ states(''input_number.isparkle_brightness_1'') | int }}'
|
||
timing1: '{{ states(''input_number.isparkle_fade_1'') | int}}'
|
||
brightness2: '{{ states(''input_number.isparkle_brightness_2'') | int }}'
|
||
timing2: '{{ states(''input_number.isparkle_fade_2'') | int }}'
|
||
- alias: Lighting · Kitchen · Motion on
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.kitchen_motion_occupancy
|
||
to: 'on'
|
||
condition:
|
||
condition: state
|
||
entity_id: binary_sensor.someone_home
|
||
state: 'on'
|
||
action:
|
||
- choose:
|
||
- conditions:
|
||
- condition: state
|
||
entity_id: sensor.house_mode
|
||
state: day
|
||
sequence:
|
||
- service: light.turn_on
|
||
entity_id: light.browser_kitchen
|
||
data:
|
||
brightness_pct: 100
|
||
- or:
|
||
- or:
|
||
- condition: sun
|
||
after: sunset
|
||
after_offset: -01:00:00
|
||
- condition: sun
|
||
before: sunrise
|
||
- service: light.turn_on
|
||
entity_id: light.kitchen
|
||
data:
|
||
brightness_pct: 100
|
||
default:
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.hue_ambiance_6
|
||
- light.hue_ambiance_1
|
||
data:
|
||
brightness_pct: 1
|
||
- service: script.browser_kitchen_low
|
||
- alias: Lighting · Kitchen · Night · Motion off
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.kitchen_motion_occupancy
|
||
to: 'off'
|
||
for:
|
||
minutes: 5
|
||
condition:
|
||
condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: sensor.house_mode
|
||
state: day
|
||
action:
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.hue_ambiance_6
|
||
- light.hue_ambiance_1
|
||
data:
|
||
brightness_pct: 100
|
||
- service: light.turn_off
|
||
entity_id:
|
||
- light.hue_ambiance_6
|
||
- light.hue_ambiance_1
|
||
- light.kitchen_main
|
||
- light.kitchen_secondary
|
||
- service: script.browser_kitchen_low
|
||
- alias: Lighting · Kitchen · Day · Motion off
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.kitchen_motion_occupancy
|
||
to: 'off'
|
||
for:
|
||
minutes: 15
|
||
condition:
|
||
condition: state
|
||
entity_id: sensor.house_mode
|
||
state: day
|
||
action:
|
||
- service: light.turn_off
|
||
entity_id: light.kitchen
|
||
- service: script.browser_kitchen_low
|
||
- alias: Lightning · Living room · Motion on
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.multisensor_6_home_security_motion_detection
|
||
to: 'on'
|
||
- platform: state
|
||
entity_id: binary_sensor.living_room_presence
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.someone_home
|
||
state: 'on'
|
||
- condition: sun
|
||
after: sunset
|
||
after_offset: -00:30:00
|
||
- condition: state
|
||
entity_id: sensor.house_mode
|
||
state: day
|
||
- condition: state
|
||
entity_id: input_boolean.living_room_motion_lights
|
||
state: 'on'
|
||
action:
|
||
- service: light.turn_on
|
||
entity_id:
|
||
- light.light_le_1
|
||
- light.light_le_2
|
||
- light.light_le_3
|
||
- light.light_le_4
|
||
- light.hue_ambiance_7
|
||
- alias: Lightning · Living room · Motion off
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.living_room_presence
|
||
to: 'off'
|
||
for:
|
||
minutes: 5
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.living_room_motion_lights
|
||
state: 'on'
|
||
action:
|
||
- service: light.turn_off
|
||
entity_id:
|
||
- light.light_le_1
|
||
- light.light_le_2
|
||
- light.light_le_3
|
||
- light.light_le_4
|
||
- light.hue_ambiance_7
|
||
- alias: Mercury · Power on at 10am when guest mode enabled
|
||
trigger:
|
||
- platform: time
|
||
at: '11:00:00'
|
||
condition:
|
||
condition: state
|
||
entity_id: input_boolean.guest_mode
|
||
state: 'on'
|
||
action:
|
||
- service: button.press
|
||
entity_id: button.mercury_start
|
||
- service: notify.telegram
|
||
data_template:
|
||
title: '*Mercury · Powering on*'
|
||
message: 11:00 · Powering Mercury on (guest mode enabled)
|
||
- alias: Mercury · Power off at 10pm when guest mode enabled
|
||
trigger:
|
||
- platform: time
|
||
at: '22:00:00'
|
||
condition:
|
||
condition: state
|
||
entity_id: input_boolean.guest_mode
|
||
state: 'on'
|
||
action:
|
||
- service: button.press
|
||
entity_id: button.mercury_shutdown
|
||
- service: notify.telegram
|
||
data_template:
|
||
title: '*Mercury · Powering off*'
|
||
message: 22:00 · Powering Mercury off (guest mode enabled)
|
||
- alias: Movie mode · Change
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.movie_mode
|
||
action:
|
||
choose:
|
||
- conditions: '{{ trigger.to_state.state == ''on'' }}'
|
||
sequence:
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.lighting_hallway_motion_on
|
||
- automation.lighting_hallway_motion_off
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.tv_plex_setup_house_for_plex
|
||
- automation.tv_plex_restore_house_after_plex
|
||
- service: script.plex_before_start
|
||
- conditions: '{{ trigger.to_state.state == ''off'' }}'
|
||
sequence:
|
||
- service: scene.turn_on
|
||
entity_id: scene.plex_before_start
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.tv_plex_setup_house_for_plex
|
||
- automation.tv_plex_restore_house_after_plex
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.lighting_hallway_motion_on
|
||
- automation.lighting_hallway_motion_off
|
||
- alias: Lighting · Sync Tasmota states on start-up
|
||
initial_state: true
|
||
trigger:
|
||
platform: homeassistant
|
||
event: start
|
||
action:
|
||
- service: mqtt.publish
|
||
data:
|
||
topic: cmnd/tasmotas/STATE
|
||
payload: ''
|
||
- alias: Notification · Phone battery low
|
||
trigger:
|
||
platform: template
|
||
value_template: '{{ states(''sensor.titanium_battery_level'') | int < 10 }}'
|
||
condition:
|
||
condition: state
|
||
entity_id: sensor.titanium_battery_state
|
||
state: Not Charging
|
||
action:
|
||
- service: script.say
|
||
data_template:
|
||
title: ❕*Notification Module*
|
||
message: "\n{{\n [\n \"Hey, just wanted to let you know your phone needs\
|
||
\ charging\",\n \"Hey, your phone is running low on battery, put it on\
|
||
\ the charger\"\n ] | random\n}}"
|
||
- service: notify.telegram
|
||
data_template:
|
||
title: ⚠️ *Notification module · Low Battery
|
||
message: "\n{{\n [\n \"Hey, just wanted to let you know your phone needs\
|
||
\ charging\",\n \"Hey, your phone is running low on battery, put it on\
|
||
\ the charger\"\n ] | random\n}}"
|
||
- alias: Notification · Door opened
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.front_door_contact
|
||
to: 'on'
|
||
for:
|
||
minutes: 2
|
||
action:
|
||
- service: script.say
|
||
data_template:
|
||
title: ⚠️ *Notification Module · Front Door*
|
||
message: "\n{{\n [\n \"Hey, the front door is opened. Are you home?\",\n\
|
||
\ \"Hey, the front door has been opened for 2 minutes\"\n ] | random\n\
|
||
}}"
|
||
- alias: TV · Plex · Setup house for Plex
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- media_player.plex_shield_chromecast
|
||
- media_player.plex_shield
|
||
- media_player.plex_lg
|
||
to: playing
|
||
action:
|
||
- service: script.plex_before_start
|
||
- alias: TV · Plex · Restore house after Plex
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- media_player.plex_shield_chromecast
|
||
- media_player.plex_shield
|
||
- media_player.plex_lg
|
||
from: playing
|
||
action:
|
||
- service: scene.turn_on
|
||
entity_id: scene.plex_before_start
|
||
- alias: Preferences · Milena · Enable
|
||
trigger:
|
||
- platform: state
|
||
entity_id: device_tracker.iphone_de_yovcheva
|
||
from: not_home
|
||
to: home
|
||
action:
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.lighting_kitchen_temperature_main_adjust_on_start
|
||
- automation.lighting_kitchen_temperature_secondary_adjust_on_start
|
||
- automation.lighting_kitchen_temperature_main_sunset
|
||
- automation.lighting_kitchen_temperature_secondary_sunset
|
||
- automation.lighting_kitchen_temperature_main_night
|
||
- automation.lighting_kitchen_temperature_secondary_night
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.preferences_milena_kitchen_temperature_main_adjust_on_start
|
||
- service: input_number.set_value
|
||
entity_id: input_number.guest_bedroom_light_temp
|
||
data:
|
||
value: 154
|
||
- alias: Preferences · Milena · Disable
|
||
trigger:
|
||
- platform: state
|
||
entity_id: device_tracker.iphone_de_yovcheva
|
||
from: home
|
||
to: not_home
|
||
action:
|
||
- service: automation.turn_on
|
||
entity_id:
|
||
- automation.lighting_kitchen_temperature_main_adjust_on_start
|
||
- automation.lighting_kitchen_temperature_secondary_adjust_on_start
|
||
- automation.lighting_kitchen_temperature_main_sunset
|
||
- automation.lighting_kitchen_temperature_secondary_sunset
|
||
- automation.lighting_kitchen_temperature_main_night
|
||
- automation.lighting_kitchen_temperature_secondary_night
|
||
- service: automation.turn_off
|
||
entity_id:
|
||
- automation.preferences_milena_kitchen_temperature_main_adjust_on_start
|
||
- service: input_number.set_value
|
||
entity_id: input_number.guest_bedroom_light_temp
|
||
data:
|
||
value: 500
|
||
- alias: Preferences · Milena · Kitchen · Temperature · Main · Adjust on start
|
||
use_blueprint:
|
||
path: light_on_set_temperature.yaml
|
||
input:
|
||
light: light.kitchen
|
||
day_temp: 153
|
||
evening_temp: 153
|
||
night_temp: 153
|
||
- alias: Presence · Georgi Arrival detection
|
||
use_blueprint:
|
||
path: arrival_detection.yaml
|
||
input:
|
||
person: person.georgi
|
||
name: Georgi
|
||
input_boolean: input_boolean.georgi_home
|
||
- alias: Presence · Player 2 Arrival detection
|
||
use_blueprint:
|
||
path: arrival_detection.yaml
|
||
input:
|
||
person: person.maya
|
||
name: Maya
|
||
input_boolean: input_boolean.player_2_home
|
||
- alias: Presence · Player 2 Arrival best effort
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.maya
|
||
from: not_home
|
||
to: home
|
||
for: 00:10:00
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.player_2_home
|
||
- alias: Presence · Georgi leaving
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.georgi
|
||
from: home
|
||
to: not_home
|
||
for: 00:01:00
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.georgi_home
|
||
- service: notify.telegram
|
||
data:
|
||
title: 🏠 *Presence Module · Leaving Home*
|
||
message: I notice Georgi has left. Marking as away.
|
||
- alias: Presence · Player 2 leaving
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.maya
|
||
from: home
|
||
to: not_home
|
||
for: 00:01:00
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.player_2_home
|
||
- service: notify.telegram
|
||
data:
|
||
title: 🏠 *Presence Module · Leaving Home*
|
||
message: I notice Maya has left. Marking as away.
|
||
- alias: Presence · Leaving home
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.someone_home
|
||
to: 'off'
|
||
action:
|
||
- service: script.routine_leaving_home
|
||
- alias: Presence · Coming home
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.someone_home
|
||
to: 'on'
|
||
action:
|
||
- service: script.routine_coming_home
|
||
- alias: Purifier · On start · Sync and update state
|
||
trigger:
|
||
platform: state
|
||
entity_id: fan.philips_airpurifier
|
||
to: 'on'
|
||
action:
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_target_humidity
|
||
data_template:
|
||
option: '{{ states(''sensor.purifier_target_humidity'') }}'
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_speed
|
||
data_template:
|
||
option: '{{ states(''sensor.purifier_speed'') }}'
|
||
- condition: state
|
||
entity_id: binary_sensor.purifier_out_of_water
|
||
state: 'on'
|
||
- service: philips_airpurifier_http.set_function
|
||
entity_id: fan.philips_airpurifier
|
||
data:
|
||
function: Purification
|
||
- alias: Purifier · Change preset mode
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.purifier_preset_mode
|
||
action:
|
||
- service: fan.set_preset_mode
|
||
entity_id: fan.philips_airpurifier
|
||
data_template:
|
||
preset_mode: '{{ states(''input_select.purifier_preset_mode'') }}'
|
||
- alias: Purifier · Sync preset mode
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.purifier_preset_mode
|
||
action:
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_preset_mode
|
||
data_template:
|
||
option: '{{ states(''sensor.purifier_preset_mode'') }}'
|
||
- alias: Purifier · Change speed
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.purifier_speed
|
||
action:
|
||
- service: fan.set_percentage
|
||
entity_id: fan.philips_airpurifier
|
||
data_template:
|
||
percentage: '{{ states(''input_select.purifier_speed'') }}'
|
||
- alias: Purifier · Sync speed
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.purifier_speed
|
||
action:
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_speed
|
||
data_template:
|
||
option: '{{ states(''sensor.purifier_speed'') }}'
|
||
- alias: Purifier · Change humidity
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_select.purifier_target_humidity
|
||
action:
|
||
- service: philips_airpurifier_http.set_target_humidity
|
||
entity_id: fan.philips_airpurifier
|
||
data_template:
|
||
humidity: '{{ states(''input_select.purifier_target_humidity'') | int }}'
|
||
- alias: Purifier · Sync humidity
|
||
trigger:
|
||
platform: state
|
||
entity_id: sensor.purifier_target_humidity
|
||
action:
|
||
- service: input_select.select_option
|
||
entity_id: input_select.purifier_target_humidity
|
||
data_template:
|
||
option: '{{ states(''sensor.purifier_target_humidity'') }}'
|
||
- alias: Purifier · Turn on · Low humidity
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id: sensor.bedroom_weather_humidity
|
||
below: 20
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: binary_sensor.purifier_out_of_water
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: fan.philips_airpurifier
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: input_boolean.someone_home
|
||
state: 'on'
|
||
action:
|
||
- service: fan.turn_on
|
||
entity_id: fan.philips_airpurifier
|
||
- service: philips_airpurifier_http.set_function
|
||
entity_id: fan.philips_airpurifier
|
||
data:
|
||
function: Purification & Humidification
|
||
- service: script.say
|
||
data:
|
||
message: Hey, I'm turning on the purifier, because humidity is low and there
|
||
is water in the tank
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate module · '
|
||
message: Purifier On · Humidity is low
|
||
domain: fan
|
||
- alias: Purifier · Turn on · Low air quality
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id: sensor.purifier_air_quality
|
||
above: 30
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: input_boolean.someone_home
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: fan.philips_airpurifier
|
||
state: 'off'
|
||
action:
|
||
- service: fan.turn_on
|
||
entity_id: fan.philips_airpurifier
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.purifier_turned_on_for_bad_air
|
||
- service: script.say
|
||
data:
|
||
message: Hey, I'm turning on the purifier, because air quality is low
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: Purifier On · Air quality is low
|
||
domain: fan
|
||
- condition: state
|
||
entity_id: binary_sensor.purifier_out_of_water
|
||
state: 'off'
|
||
- service: philips_airpurifier_http.set_function
|
||
entity_id: fan.philips_airpurifier
|
||
data:
|
||
function: Purification & Humidification
|
||
- service: script.say
|
||
data:
|
||
message: Also, switching to humidification, because there is water in the tank
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: Purifier Function · Switching to humidification - there is water in
|
||
the tank
|
||
domain: fan
|
||
- alias: Purifier · Turn off · Okay humidity
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id: sensor.bedroom_weather_humidity
|
||
above: 55
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: fan.philips_airpurifier
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: sensor.purifier_function
|
||
state: Purification & Humidification
|
||
- condition: numeric_state
|
||
entity_id: sensor.purifier_air_quality
|
||
below: 30
|
||
action:
|
||
- service: fan.turn_off
|
||
entity_id: fan.philips_airpurifier
|
||
- service: script.say
|
||
data:
|
||
message: Hey, I'm turning the purifier off, because humidity is okay
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: Purifier Off · Humidity is okay
|
||
domain: fan
|
||
- alias: Purifier · Turn off · Air quality returned to normal
|
||
trigger:
|
||
platform: numeric_state
|
||
entity_id: sensor.purifier_air_quality
|
||
below: 20
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: fan.philips_airpurifier
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: input_boolean.purifier_turned_on_for_bad_air
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: group.bedroom_windows
|
||
state: 'off'
|
||
action:
|
||
- service: fan.turn_off
|
||
entity_id: fan.philips_airpurifier
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.purifier_turned_on_for_bad_air
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: Purifier Off · Air quality returned to normal
|
||
domain: fan
|
||
- alias: Climate · Heating · Adjust temperature based on time
|
||
trigger:
|
||
- platform: time
|
||
at: 05:00:00
|
||
id: '5'
|
||
- platform: time
|
||
at: '11:00:00'
|
||
id: '11'
|
||
- platform: time
|
||
at: '16:00:00'
|
||
id: '16'
|
||
- platform: time
|
||
at: '22:00:00'
|
||
id: '22'
|
||
action:
|
||
- service: input_number.set_value
|
||
entity_id: input_number.radiators_temperature
|
||
data:
|
||
value: "{% if trigger.id == '5' %}\n 25\n{% elif trigger.id == '11' %}\n 23\n\
|
||
{% elif trigger.id == '16' %}\n 22\n{% endif %}"
|
||
- service: input_number.set_value
|
||
entity_id: input_number.living_room_radiator_temperature
|
||
data:
|
||
value: "{% if trigger.id == '5' %}\n 25\n{% elif trigger.id == '11' %}\n 25\n\
|
||
{% elif trigger.id == '16' %}\n 25\n{% endif %}"
|
||
- service: input_number.set_value
|
||
entity_id: input_number.bedroom_radiator_temperature
|
||
data:
|
||
value: "{% if trigger.id == '5' %}\n 25\n{% elif trigger.id == '11' %}\n 23\n\
|
||
{% elif trigger.id == '16' %}\n 22\n{% elif trigger.id == '22' %}\n 20\n\
|
||
{% endif %}"
|
||
- service: input_number.set_value
|
||
entity_id: input_number.kitchen_radiator_temperature
|
||
data:
|
||
value: "{% if trigger.id == '5' %}\n 25\n{% elif trigger.id == '11' %}\n 22\n\
|
||
{% elif trigger.id == '16' %}\n 20\n{% endif %}"
|
||
- service: script.turn_on_all_radiators
|
||
- alias: Climate · Heating · Link living room radiator to windows
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.living_room_right_window_contact
|
||
action:
|
||
- choose:
|
||
- conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.living_room_right_window_contact
|
||
state: 'on'
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: climate.living_room_valve
|
||
state: 'off'
|
||
sequence:
|
||
- service: climate.turn_off
|
||
entity_id: climate.living_room_valve
|
||
- conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.living_room_right_window_contact
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: climate.living_room_valve
|
||
state: 'off'
|
||
sequence:
|
||
- service: script.maybe_turn_radiator_on
|
||
data:
|
||
entity_id: climate.living_room_valve
|
||
- alias: Lighting · Turn on ceiling lights after sunset
|
||
trigger:
|
||
platform: sun
|
||
event: sunset
|
||
offset: -00:30:00
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.someone_home
|
||
state: 'on'
|
||
action:
|
||
- service: light.turn_on
|
||
entity_id: light.on_after_dark
|
||
data:
|
||
brightness_pct: 100
|
||
- service: logbook.log
|
||
data:
|
||
name: '💡 Lighting Module · '
|
||
message: Lights On · 30 mins to sunset
|
||
domain: light
|
||
- alias: Lighting · Turn off all lights after sunrise
|
||
trigger:
|
||
platform: sun
|
||
event: sunrise
|
||
offset: +00:00:00
|
||
action:
|
||
- service: script.turn_off_all_lights
|
||
- alias: Security · Door opened while in night mode
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.front_door_contact
|
||
to: 'on'
|
||
condition:
|
||
condition: state
|
||
entity_id: sensor.house_mode
|
||
state: night
|
||
action:
|
||
- service: script.turn_on_all_lights
|
||
- service: script.sonos_say
|
||
data:
|
||
message: 'Caution: Front door opened during night mode!'
|
||
- service: notify.telegram
|
||
data:
|
||
title: 🛡 *Security Module · Front Door Detection*
|
||
message: 'Caution: Front door opened during night mode!'
|
||
- alias: Security · Door opened while away
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.front_door_contact
|
||
to: 'on'
|
||
condition:
|
||
and:
|
||
- condition: state
|
||
entity_id: binary_sensor.someone_home
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: input_boolean.guest_mode
|
||
state: 'off'
|
||
action:
|
||
- service: notify.telegram
|
||
data:
|
||
title: 🛡 *Security Module · Front Door*
|
||
message: It seems like the front door was opened while you are away! Check the
|
||
camera!
|
||
- alias: Simulation mode · Enable
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.simulation_mode
|
||
to: 'on'
|
||
action:
|
||
- service: script.say
|
||
data:
|
||
message: Simulation mode - on
|
||
- service: homeassistant.turn_on
|
||
entity_id: group.simulation_automations
|
||
- alias: Simulation mode · Disable
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_boolean.simulation_mode
|
||
to: 'off'
|
||
action:
|
||
- service: script.say
|
||
data:
|
||
message: Simulation mode - off
|
||
- service: homeassistant.turn_off
|
||
entity_id: group.simulation_automations
|
||
- alias: Simulation mode · 0300
|
||
trigger:
|
||
platform: time
|
||
at: 03:00:00
|
||
action:
|
||
- service: script.turn_off_all_lights
|
||
- service: media_player.media_stop
|
||
entity_id:
|
||
- media_player.master_bedroom
|
||
- media_player.bathroom
|
||
- media_player.kitchen
|
||
- media_player.living_room
|
||
- alias: Simulation mode · 1100
|
||
trigger:
|
||
platform: time
|
||
at: '11:00:00'
|
||
action:
|
||
- service: script.music_play
|
||
- alias: Simulation mode · 1400
|
||
trigger:
|
||
platform: time
|
||
at: '14:00:00'
|
||
action:
|
||
- service: media_player.media_stop
|
||
entity_id:
|
||
- media_player.master_bedroom
|
||
- media_player.bathroom
|
||
- media_player.kitchen
|
||
- media_player.living_room
|
||
- alias: Simulation mode · 1700
|
||
trigger:
|
||
platform: time
|
||
at: '17:00:00'
|
||
action:
|
||
- service: script.turn_on_all_lights
|
||
- service: script.music_play
|
||
- alias: Simulation mode · 2200
|
||
trigger:
|
||
platform: time
|
||
at: '22:00:00'
|
||
action:
|
||
- service: media_player.media_stop
|
||
entity_id:
|
||
- media_player.master_bedroom
|
||
- media_player.bathroom
|
||
- media_player.kitchen
|
||
- media_player.living_room
|
||
- alias: Sofia Traffic - Bus Departure
|
||
triggers:
|
||
trigger: time_pattern
|
||
seconds: /10
|
||
action:
|
||
action: homeassistant.update_entity
|
||
target:
|
||
entity_id:
|
||
- sensor.sofia_traffic_subway_m1
|
||
- sensor.sofia_traffic_subway_m4
|
||
- sensor.sofia_traffic_bus_1
|
||
- sensor.sofia_traffic_bus_5
|
||
- sensor.sofia_traffic_bus_6
|
||
- alias: Media · Sonos · Put Beam in night mode
|
||
trigger:
|
||
platform: time
|
||
at: '22:00:00'
|
||
action:
|
||
- action: switch.turn_on
|
||
entity_id: switch.sonos_living_room_night_sound
|
||
- action: logbook.log
|
||
data:
|
||
name: 🔊 Media Module ·
|
||
message: Sonos Mode · Putting Beam in night mode
|
||
domain: media_player
|
||
- alias: Media · Sonos · Put Beam in day mode
|
||
trigger:
|
||
platform: time
|
||
at: 08:00:00
|
||
action:
|
||
- action: switch.turn_off
|
||
entity_id: switch.sonos_living_room_night_sound
|
||
- action: logbook.log
|
||
data:
|
||
name: '🔊 Media Module · '
|
||
message: Sonos Mode · Putting Beam in day mode
|
||
domain: media_player
|
||
- alias: Speech · Telegram · Action · Do nothing
|
||
trigger:
|
||
platform: event
|
||
event_type: telegram_callback
|
||
event_data:
|
||
command: /do_nothing
|
||
action:
|
||
- service: telegram_bot.delete_message
|
||
data_template:
|
||
message_id: '{{ trigger.event.data.message.message_id}}'
|
||
chat_id: '{{ trigger.event.data.chat_id }}'
|
||
- alias: Lighting · Temperature · Adjust on start
|
||
mode: parallel
|
||
trigger:
|
||
platform: state
|
||
to: 'on'
|
||
entity_id:
|
||
- light.living_room_main
|
||
- light.hue_ambiance_7
|
||
- light.master_bedroom_main
|
||
- light.kitchen
|
||
action:
|
||
- service: light.turn_on
|
||
data_template:
|
||
entity_id: '{{ trigger.entity_id }}'
|
||
color_temp: '{{ states(''input_number.global_light_temp'') }}'
|
||
- alias: Lighting · Temperature · Based on sun
|
||
id: lighting_temperature_based_on_sun
|
||
trigger:
|
||
- platform: sun
|
||
event: sunrise
|
||
id: '300'
|
||
- platform: sun
|
||
event: sunset
|
||
offset: -01:00:00
|
||
id: '380'
|
||
- platform: sun
|
||
event: sunset
|
||
id: '400'
|
||
- platform: sun
|
||
event: sunset
|
||
offset: +01:00:00
|
||
id: '433'
|
||
- platform: sun
|
||
event: sunset
|
||
offset: +02:00:00
|
||
id: '466'
|
||
- platform: sun
|
||
event: sunset
|
||
offset: +03:00:00
|
||
id: '500'
|
||
action:
|
||
- service: input_number.set_value
|
||
entity_id: input_number.global_light_temp
|
||
data_template:
|
||
value: '{{ trigger.id | int }}'
|
||
- alias: Lighting · Temperature · Change
|
||
id: lighting_temperature_change
|
||
trigger:
|
||
platform: state
|
||
entity_id: input_number.global_light_temp
|
||
action:
|
||
- service: scene.apply
|
||
data_template:
|
||
entities:
|
||
light.living_room_main:
|
||
state: '{{ states(''light.living_room_main'') }}'
|
||
color_temp: '{{ trigger.to_state.state }}'
|
||
light.hue_ambiance_7:
|
||
state: '{{ states(''light.hue_ambiance_7'') }}'
|
||
color_temp: '{{ trigger.to_state.state }}'
|
||
light.master_bedroom_main:
|
||
state: '{{ states(''light.master_bedroom_main'') }}'
|
||
color_temp: '{{ trigger.to_state.state }}'
|
||
light.kitchen_main:
|
||
state: '{{ states(''light.kitchen_main'') }}'
|
||
color_temp: '{{ trigger.to_state.state }}'
|
||
light.kitchen_secondary:
|
||
state: '{{ states(''light.kitchen_secondary'') }}'
|
||
color_temp: '{{ trigger.to_state.state }}'
|
||
- alias: Climate · AC · Turn on if hot
|
||
trigger:
|
||
- platform: template
|
||
value_template: '{{ states(''sensor.multisensor_6_temperature'')|float|default(0)
|
||
> states(''input_number.toshiba_trigger_temp'')|float }}'
|
||
for: 00:05:00
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.living_room_right_window_contact
|
||
- group.bedroom_windows
|
||
- binary_sensor.kitchen_window_contact
|
||
- binary_sensor.kitchen_door
|
||
from: 'on'
|
||
to: 'off'
|
||
action:
|
||
- service: script.toshiba_ac_on_cool_if_hot
|
||
- alias: Climate · AC · Turn off
|
||
trigger:
|
||
- platform: time
|
||
at: 05:00:00
|
||
- platform: numeric_state
|
||
entity_id: sensor.multisensor_6_temperature
|
||
below: 23
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.living_room_right_window_contact
|
||
- group.bedroom_windows
|
||
from: 'off'
|
||
to: 'on'
|
||
for: 00:01:00
|
||
condition:
|
||
condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: climate.toshiba_ac
|
||
state: 'off'
|
||
action:
|
||
- service: climate.turn_off
|
||
entity_id: climate.toshiba_ac
|
||
- service: logbook.log
|
||
data:
|
||
name: '💨 Climate Module · '
|
||
message: AC · Switching off
|
||
domain: climate
|
||
- alias: Climate · AC · Notify conditions met
|
||
trigger:
|
||
platform: state
|
||
entity_id: binary_sensor.toshiba_ac_climate_conditions_met
|
||
from: 'off'
|
||
to: 'on'
|
||
action:
|
||
- service: notify.telegram
|
||
data:
|
||
title: 💨 Climate Module · AC · Conditions met
|
||
message: I would turn the AC on, but some windows or doors are open.
|
||
- alias: Trust remote · Guest bedroom
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.trust_remote_action
|
||
action:
|
||
- choose:
|
||
- conditions: '{{ trigger.to_state.state == ''up-press'' }}'
|
||
sequence:
|
||
- service: light.turn_on
|
||
entity_id: light.tradfri_large
|
||
data_template:
|
||
brightness_pct: '{{ is_state(''input_select.guest_bedroom_mode'', ''day'')
|
||
| iif(100, 10) }}'
|
||
color_temp: '{{ states(''input_number.guest_bedroom_light_temp'') }}'
|
||
- conditions: '{{ trigger.to_state.state == ''down-press'' }}'
|
||
sequence:
|
||
- service: light.turn_off
|
||
entity_id: light.tradfri_large
|
||
- conditions: '{{ trigger.to_state.state == ''on'' or trigger.to_state.state ==
|
||
''off'' }}'
|
||
sequence:
|
||
- service: script.guest_bedroom_bedside_confirm
|
||
- service: input_select.select_next
|
||
entity_id: input_select.guest_bedroom_mode
|
||
- alias: Trust remote · Dimming
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.trust_remote_action
|
||
to: down-press
|
||
- platform: state
|
||
entity_id: sensor.trust_remote_action
|
||
to: up-press
|
||
action:
|
||
- service: light.turn_on
|
||
data_template:
|
||
entity_id: "{% set groupId = states('sensor.trust_remote_group')[4] | int %}\
|
||
\ {% if groupId == 5 %}\n {% set entityId = 'light.living_room' %}\n{% elif\
|
||
\ groupId == 0 %}\n {% set entityId = 'light.living_room_main' %}\n{% elif\
|
||
\ groupId == 1 %}\n {% set entityId = 'light.hue_ambiance_7' %}\n{% elif\
|
||
\ groupId == 2 %}\n {% set entityId = 'light.living_room_ambient' %}\n{%\
|
||
\ elif groupId == 3 %}\n {% set entityId = 'light.living_room_ambient_main'\
|
||
\ %}\n{% elif groupId == 4 %}\n {% set entityId = 'light.light_lohas_2' %}\n\
|
||
{% endif %}\n{{ entityId }}"
|
||
brightness_step_pct: "{% if trigger.to_state.state == \"up-press\" %}\n 20\n\
|
||
{% else %}\n -20\n{% endif %}"
|
||
- alias: TV · Turn on
|
||
trigger:
|
||
- platform: webostv.turn_on
|
||
entity_id: media_player.living_room_tv
|
||
action:
|
||
- service: wake_on_lan.send_magic_packet
|
||
data:
|
||
mac: 78:5D:C8:C9:DB:76
|
||
- alias: TV · Join Beam to Sonos group when off
|
||
trigger:
|
||
platform: state
|
||
entity_id: media_player.living_room_tv
|
||
to: 'off'
|
||
condition:
|
||
condition: state
|
||
entity_id: sensor.house_mode
|
||
state: day
|
||
action:
|
||
- service: script.sonos_join_bedroom
|
||
- alias: TV · State · Turn on STBs
|
||
mode: single
|
||
trigger:
|
||
platform: state
|
||
entity_id: media_player.living_room_tv
|
||
to: 'on'
|
||
action:
|
||
- service: media_player.turn_on
|
||
entity_id: media_player.nvidia_shield
|
||
- service: remote.send_command
|
||
entity_id: remote.apple_tv
|
||
data:
|
||
command: wakeup
|
||
- alias: TV · Off · Turn off devices
|
||
mode: single
|
||
trigger:
|
||
platform: state
|
||
entity_id: media_player.living_room_tv
|
||
to: 'off'
|
||
action:
|
||
- service: media_player.turn_off
|
||
entity_id: media_player.nvidia_shield
|
||
- service: remote.send_command
|
||
entity_id: remote.apple_tv
|
||
data:
|
||
command: suspend
|
||
- alias: TV · State · Sync Apple TV state
|
||
trigger:
|
||
- platform: state
|
||
entity_id: media_player.apple_tv
|
||
to: standby
|
||
id: 'off'
|
||
- platform: state
|
||
entity_id: media_player.apple_tv
|
||
to: 'off'
|
||
id: 'off'
|
||
- platform: state
|
||
entity_id: media_player.apple_tv
|
||
from: standby
|
||
to: paused
|
||
id: 'on'
|
||
- platform: state
|
||
entity_id: media_player.apple_tv
|
||
to: idle
|
||
id: 'on'
|
||
- platform: state
|
||
entity_id: media_player.apple_tv
|
||
from: 'off'
|
||
to: playing
|
||
id: 'on'
|
||
action:
|
||
- choose:
|
||
- conditions: '{{ trigger.id == ''on'' and not is_state(''media_player.living_room_tv'',
|
||
''on'') }}'
|
||
sequence:
|
||
- service: script.tv_switch_to_apple_tv
|
||
- service: remote.send_command
|
||
entity_id: remote.apple_tv
|
||
data:
|
||
command: home
|
||
num_repeats: 2
|
||
- conditions: '{{ (trigger.id == ''off'' or trigger.id == ''standby'') and not
|
||
is_state(''media_player.living_room_tv'', ''off'') }}'
|
||
sequence:
|
||
- service: media_player.turn_off
|
||
entity_id: media_player.living_room_tv
|
||
- alias: TV · State · Sync Shield state
|
||
trigger:
|
||
- platform: state
|
||
entity_id: media_player.nvidia_shield
|
||
to: 'off'
|
||
id: 'off'
|
||
- platform: state
|
||
entity_id: media_player.nvidia_shield
|
||
from: 'off'
|
||
to: idle
|
||
id: 'on'
|
||
- platform: state
|
||
entity_id: media_player.nvidia_shield
|
||
from: 'off'
|
||
to: playing
|
||
id: 'on'
|
||
action:
|
||
- choose:
|
||
- conditions: '{{ trigger.id == ''on'' and not is_state(''media_player.living_room_tv'',
|
||
''on'') }}'
|
||
sequence:
|
||
- service: script.tv_switch_to_shield
|
||
- conditions: '{{ trigger.id == ''off'' and not is_state(''media_player.living_room_tv'',
|
||
''off'') }}'
|
||
sequence:
|
||
- service: media_player.turn_off
|
||
entity_id: media_player.living_room_tv
|
||
- alias: TV · Prepare for casting
|
||
trigger:
|
||
platform: state
|
||
entity_id: media_player.nvidia_shield
|
||
to: playing
|
||
condition: '{{ is_state_attr(''media_player.nvidia_shield'', ''source'', ''Google
|
||
Cast'') }}'
|
||
action:
|
||
- service: script.sonos_join_tv
|
||
- delay: 00:00:10
|
||
- service: media_player.select_source
|
||
entity_id: media_player.living_room_tv
|
||
data:
|
||
source: Shield
|
||
- alias: Wallmote · Living room · 1 · Tap · Toggle lights
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyPressed
|
||
property: scene
|
||
property_key: '001'
|
||
action:
|
||
- service: light.toggle
|
||
entity_id: light.living_room
|
||
- alias: Wallmote · Living room · 1 · Toggle · PC Light
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyReleased
|
||
property: scene
|
||
property_key: '001'
|
||
action:
|
||
- service: light.toggle
|
||
entity_id: light.hue_ambiance_7
|
||
- alias: Wallmote · Living room · 2 · Tap · Toggle Music
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyPressed
|
||
property: scene
|
||
property_key: '002'
|
||
action:
|
||
- service: media_player.media_play_pause
|
||
entity_id: media_player.living_room
|
||
- alias: Wallmote · Living room · 2 · Hold · Play music
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyReleased
|
||
property: scene
|
||
property_key: '002'
|
||
action:
|
||
- service: script.music_play
|
||
- alias: Wallmote · Living room · 3 · Tap · Toggle Main lights
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyPressed
|
||
property_key: '003'
|
||
action:
|
||
- service: light.toggle
|
||
entity_id:
|
||
- light.living_room_main
|
||
- light.hue_ambiance_7
|
||
- alias: Wallmote · Living room · 3 · Hold · Toggle Ambient lights
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyReleased
|
||
property_key: '003'
|
||
action:
|
||
- service: light.toggle
|
||
entity_id: light.living_room_ambient
|
||
- alias: Wallmote · Living room · 4 · Tap · Toggle AC
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyPressed
|
||
property_key: '004'
|
||
action:
|
||
- service: script.toshiba_ac_toggle
|
||
- alias: Wallmote · Living room · 4 · Hold · Toggle Cover
|
||
trigger:
|
||
platform: event
|
||
event_type: zwave_js_value_notification
|
||
event_data:
|
||
node_id: 5
|
||
value: KeyReleased
|
||
property_key: '004'
|
||
action:
|
||
- service: script.toggle_living_room_cover
|