2856 lines
75 KiB
YAML
2856 lines
75 KiB
YAML
- id: '1710788675192'
|
|
alias: Power - Reset grid price variables at new month
|
|
description: Resets all the variables associated with keeping track of grid company
|
|
bill, such as max-hours, max-hours dates, variable cost sum
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id:
|
|
- sensor.tibber_monthly_cost
|
|
below: 0.1
|
|
condition: []
|
|
action:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: 0
|
|
target:
|
|
entity_id:
|
|
- input_number.power_monthly_highest_max_hour_1
|
|
- input_number.power_monthly_highest_max_hour_2
|
|
- input_number.power_monthly_highest_max_hour_3
|
|
- input_number.power_grid_monthly_variable_price
|
|
- input_number.power_monthly_highest_max_hour_4
|
|
- service: input_datetime.set_datetime
|
|
target:
|
|
entity_id:
|
|
- input_datetime.power_monthly_highest_max_hour_1
|
|
- input_datetime.power_monthly_highest_max_hour_2
|
|
- input_datetime.power_monthly_highest_max_hour_3
|
|
- input_datetime.power_monthly_highest_max_hour_4
|
|
data:
|
|
timestamp: '{{ now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp()
|
|
}}'
|
|
mode: single
|
|
- id: '1711099990422'
|
|
alias: Bedroom - Handle heated Sheet remote control on/off/up/down
|
|
description: Controls the behavior of the heated sheet on/off/longer/shorter.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.sheet_remote_action
|
|
to: on-press
|
|
id: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.sheet_remote_action
|
|
to: off-press
|
|
id: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.sheet_remote_action
|
|
to: up-press
|
|
id: up
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.sheet_remote_action
|
|
to: down-press
|
|
id: down
|
|
condition: []
|
|
action:
|
|
- if:
|
|
- condition: trigger
|
|
id:
|
|
- 'on'
|
|
then:
|
|
- service: script.bedroom_heated_sheet_control
|
|
data:
|
|
command: 'on'
|
|
increase: 00:30:00
|
|
- if:
|
|
- condition: trigger
|
|
id:
|
|
- 'off'
|
|
then:
|
|
- service: script.bedroom_heated_sheet_control
|
|
data:
|
|
command: 'off'
|
|
- if:
|
|
- condition: trigger
|
|
id:
|
|
- up
|
|
then:
|
|
- service: script.bedroom_heated_sheet_control
|
|
data:
|
|
command: up
|
|
increase: 00:30:00
|
|
- if:
|
|
- condition: trigger
|
|
id:
|
|
- down
|
|
then:
|
|
- service: script.bedroom_heated_sheet_control
|
|
data:
|
|
command: down
|
|
decrease: 00:10:00
|
|
mode: queued
|
|
- id: '1711100194488'
|
|
alias: Bedroom - Handle heated sheet timer start/finish
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- timer.heated_sheet_timer
|
|
from: idle
|
|
to: active
|
|
id: starts
|
|
- platform: state
|
|
entity_id:
|
|
- timer.heated_sheet_timer
|
|
to: idle
|
|
from: active
|
|
id: finishes
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- starts
|
|
sequence:
|
|
- service: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plug_seasonal_heat
|
|
alias: STARTS
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- finishes
|
|
sequence:
|
|
- service: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plug_seasonal_heat
|
|
alias: FINISHES
|
|
mode: single
|
|
- id: '1712088086740'
|
|
alias: System - Daily reset & maintenance tasks
|
|
description: Performs resets, upgrades and maintenance at a daily time set by the
|
|
provided time-helper.
|
|
trigger:
|
|
- platform: time
|
|
at: input_datetime.system_daily_reset_time
|
|
condition: []
|
|
action:
|
|
- service: script.lights_reset_overrides
|
|
data: {}
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id:
|
|
- input_boolean.party_mode_enable
|
|
- input_boolean.lights_movie_mode
|
|
- input_boolean.lights_dining_mode
|
|
- input_boolean.lights_cooking_mode
|
|
- input_boolean.guest_show_wifi
|
|
- input_boolean.select_rooms_cleaning
|
|
data: {}
|
|
- service: script.deselect_floorplan_room
|
|
data: {}
|
|
- service: input_select.select_option
|
|
data:
|
|
option: 'off'
|
|
target:
|
|
entity_id: input_select.office_mode_select
|
|
- service: input_select.select_option
|
|
target:
|
|
entity_id: input_select.bathroom_mode_select
|
|
data:
|
|
option: 'off'
|
|
- service: script.speakers_unjoin_all
|
|
metadata: {}
|
|
data: {}
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Living room
|
|
target:
|
|
entity_id: input_select.audio_speaker_select
|
|
mode: single
|
|
- id: '1712303592468'
|
|
alias: Bathroom - Handle light mode change
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.bathroom_mode_select
|
|
condition: []
|
|
action:
|
|
- service: script.bathroom_control_light_mode
|
|
data:
|
|
setting: '{{ states(''input_select.bathroom_mode_select'') }}'
|
|
mode: single
|
|
- id: '1713336556278'
|
|
alias: Tablet charge-switch ON/OFF
|
|
description: Turns the tablet charge-switch ON if it is below 20%, and OFF if it
|
|
is above 80%.
|
|
trigger:
|
|
- alias: Below 20 pcnt
|
|
platform: numeric_state
|
|
entity_id:
|
|
- sensor.lenovo_tab_m10_battery
|
|
below: 20
|
|
id: below-20-pcnt
|
|
- alias: Above 80 pcnt
|
|
platform: numeric_state
|
|
entity_id:
|
|
- sensor.lenovo_tab_m10_battery
|
|
above: 80
|
|
id: above-80-pcnt
|
|
condition: []
|
|
action:
|
|
- alias: Choose switch ON or OFF
|
|
choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- below-20-pcnt
|
|
sequence:
|
|
- alias: Turn Tablet charge-switch ON
|
|
type: turn_on
|
|
device_id: 08c265c1d754ce213325346cc0b673dc
|
|
entity_id: e014659779f203d9916e7f94a8109afb
|
|
domain: switch
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- above-80-pcnt
|
|
sequence:
|
|
- alias: Turn charge-switch OFF
|
|
type: turn_off
|
|
device_id: 08c265c1d754ce213325346cc0b673dc
|
|
entity_id: e014659779f203d9916e7f94a8109afb
|
|
domain: switch
|
|
mode: single
|
|
- id: '1713360573726'
|
|
alias: Wakeup - Time triggered actions
|
|
description: Handles all time-triggered actions associated with the wakeup rotuine
|
|
(lights, audio, blinds etc.). Enable-toggle must be ON.
|
|
trigger:
|
|
- platform: time
|
|
at: input_datetime.wakeup_light_start
|
|
id: light-start
|
|
- platform: time
|
|
at: input_datetime.wakeup_alarm_time
|
|
id: alarm
|
|
- platform: time
|
|
at: input_datetime.wakeup_blinds_open
|
|
id: blinds-open
|
|
- platform: time
|
|
at: input_datetime.wakeup_audio_amp
|
|
id: amplify-audio
|
|
- platform: time
|
|
at: input_datetime.wakeup_audio_loud
|
|
id: audio-loud
|
|
- platform: time
|
|
at: input_datetime.wakeup_ends
|
|
id: routine-ends
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.wakeup_alarm_active
|
|
state: 'on'
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- light-start
|
|
sequence:
|
|
- service: light.turn_on
|
|
data:
|
|
brightness_pct: 40
|
|
transition: 300
|
|
target:
|
|
entity_id: light.pendant_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm
|
|
sequence:
|
|
- service: light.turn_on
|
|
data:
|
|
brightness_pct: 100
|
|
transition: 300
|
|
target:
|
|
entity_id: light.pendant_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- blinds-open
|
|
sequence:
|
|
- service: cover.open_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- cover.left_blind_bedroom
|
|
- cover.right_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- amplify-audio
|
|
sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: media_player.sonos_bedroom
|
|
state: playing
|
|
then:
|
|
- service: media_player.volume_set
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
data:
|
|
volume_level: '{{ (states(''input_number.wakeup_audio_start_volume'')
|
|
| float(0.08)) + 0.05 }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- audio-loud
|
|
sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: media_player.sonos_bedroom
|
|
state: playing
|
|
then:
|
|
- service: media_player.volume_set
|
|
data:
|
|
volume_level: '{{ (states(''input_number.wakeup_audio_start_volume'')
|
|
| float(0.08)) + 0.1 }}'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- routine-ends
|
|
sequence:
|
|
- service: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 4 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekend
|
|
target:
|
|
entity_id: input_select.wakeup_display_time
|
|
alias: Test if its friday
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 6 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekday
|
|
target:
|
|
entity_id: input_select.wakeup_display_time
|
|
alias: Test if its sunday
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_select.climate_season_select
|
|
state: Warm
|
|
then:
|
|
- service: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- cover.left_blind_bedroom
|
|
- cover.right_blind_bedroom
|
|
mode: queued
|
|
max: 10
|
|
- id: '1713970599927'
|
|
alias: Bedroom - Handle remote presses for light/alarm
|
|
description: ''
|
|
trigger:
|
|
- device_id: 5030e395b732b51ea772e9b0e5554ef5
|
|
domain: hue
|
|
platform: device
|
|
type: short_release
|
|
subtype: 1
|
|
unique_id: 0472f0bd-ccb1-4cb1-8c78-5392cf238eb8
|
|
id: on-button
|
|
- device_id: 5030e395b732b51ea772e9b0e5554ef5
|
|
domain: hue
|
|
platform: device
|
|
type: short_release
|
|
subtype: 2
|
|
unique_id: 4cc3368f-f69e-4f4f-883a-00694c445a9e
|
|
id: up-button
|
|
- device_id: 5030e395b732b51ea772e9b0e5554ef5
|
|
domain: hue
|
|
platform: device
|
|
type: short_release
|
|
subtype: 3
|
|
unique_id: 276caed8-8551-47e2-b62c-932b110f0920
|
|
alias: down
|
|
id: down-button
|
|
- device_id: 5030e395b732b51ea772e9b0e5554ef5
|
|
domain: hue
|
|
platform: device
|
|
type: short_release
|
|
subtype: 4
|
|
unique_id: bd0d0840-ae40-4f99-88b5-9fe2730c63cb
|
|
id: off-button
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- on-button
|
|
sequence:
|
|
- service: light.toggle
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.pendant_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- up-button
|
|
sequence:
|
|
- service: media_player.volume_up
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- down-button
|
|
sequence:
|
|
- service: media_player.volume_down
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- off-button
|
|
sequence:
|
|
- service: media_player.media_play_pause
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
mode: queued
|
|
max: 10
|
|
- id: '1714376090355'
|
|
alias: Bedroom - Pause Sonos when light turned off
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- light.pendant_bedroom
|
|
from: 'on'
|
|
to: 'off'
|
|
condition:
|
|
- condition: state
|
|
entity_id: media_player.sonos_bedroom
|
|
state: playing
|
|
action:
|
|
- service: media_player.media_pause
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
mode: single
|
|
- id: '1714643311108'
|
|
alias: Bedtime - Time triggered actions
|
|
description: If automatic bedtime is toggled ON, then certain actions are automatically
|
|
started. For winter, heated sheet is turned on 30 min ahead. Lights are automatically
|
|
turned off.
|
|
triggers:
|
|
- id: sheet-preheating
|
|
at: input_datetime.bedtime_sheet_preheating
|
|
trigger: time
|
|
- at: input_datetime.bedtime_curtains_close
|
|
id: curtains-close
|
|
trigger: time
|
|
- at: input_datetime.bedtime_trigger_time
|
|
id: main-trigger
|
|
trigger: time
|
|
- at: input_datetime.bedtime_reminder_before
|
|
id: reminder-before
|
|
trigger: time
|
|
- at: input_datetime.bedtime_reminder_after
|
|
id: reminder-after
|
|
trigger: time
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.bedtime_trigger_active
|
|
state: 'on'
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- sheet-preheating
|
|
sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.bedtime_heating_sheet_enable
|
|
state: 'on'
|
|
then:
|
|
- metadata: {}
|
|
data:
|
|
increase: 00:50:00
|
|
command: 'on'
|
|
decrease: 00:10:00
|
|
action: script.bedroom_heated_sheet_control
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- curtains-close
|
|
sequence:
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
action: cover.open_cover
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- main-trigger
|
|
sequence:
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.string_lights_veranda
|
|
action: switch.turn_off
|
|
- metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.wall_light_veranda
|
|
action: light.turn_off
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- reminder-before
|
|
sequence:
|
|
- metadata: {}
|
|
data: {}
|
|
action: script.bedtime_blink_lights
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- reminder-after
|
|
sequence:
|
|
- metadata: {}
|
|
data: {}
|
|
action: script.bedtime_lights_adjust_off
|
|
mode: single
|
|
- id: '1716287088981'
|
|
alias: Veranda lights automatic ON/OFF
|
|
description: Lights are turned off with sunset, or at latest 22:00. Lights are turned
|
|
off at dawn, or at latest 08:00.
|
|
trigger:
|
|
- platform: time
|
|
at: sensor.veranda_lights_on_time
|
|
id: sun-down
|
|
- platform: time
|
|
at: sensor.veranda_lights_off_time
|
|
id: sun-dawn
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- sun-down
|
|
sequence:
|
|
- type: turn_on
|
|
device_id: 566fe21e7b944509a9e0d09103f0bba2
|
|
entity_id: cd7249fddd178416baa06258feb86991
|
|
domain: switch
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- sun-dawn
|
|
sequence:
|
|
- type: turn_off
|
|
device_id: 566fe21e7b944509a9e0d09103f0bba2
|
|
entity_id: cd7249fddd178416baa06258feb86991
|
|
domain: switch
|
|
mode: single
|
|
- id: '1717858387784'
|
|
alias: Veranda - Handle remote presses L/R/MID/UP/DOWN
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.action_veranda_remote
|
|
to: arrow_right_click
|
|
id: right
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.action_veranda_remote
|
|
to: arrow_left_click
|
|
id: left
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.action_veranda_remote
|
|
to: toggle
|
|
id: middle
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- left
|
|
sequence:
|
|
- if:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.curtain_state_living
|
|
state: stopped
|
|
then:
|
|
- service: cover.stop_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
else:
|
|
- service: cover.close_cover
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- right
|
|
sequence:
|
|
- if:
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.curtain_state_living
|
|
state: stopped
|
|
then:
|
|
- service: cover.stop_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
else:
|
|
- service: cover.open_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.curtain_living
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- middle
|
|
sequence:
|
|
- service: light.toggle
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.wall_light_veranda
|
|
mode: single
|
|
- id: '1724167870416'
|
|
alias: Storage room light ON/OFF with motion/timer
|
|
description: ''
|
|
trigger:
|
|
- type: motion
|
|
platform: device
|
|
device_id: b84fcc8638043ae4b155921ff3e1d28d
|
|
entity_id: 83e8a6edb56e981eb53faf14879e2aa2
|
|
domain: binary_sensor
|
|
id: motion
|
|
- platform: state
|
|
entity_id:
|
|
- timer.storage_room_light_timer
|
|
from: active
|
|
to: idle
|
|
id: timer
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- motion
|
|
sequence:
|
|
- service: script.storage_room_light_on_auto
|
|
metadata: {}
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- timer
|
|
sequence:
|
|
- service: script.storage_room_light_off_finish_timer
|
|
metadata: {}
|
|
data: {}
|
|
mode: single
|
|
- id: '1727439077538'
|
|
alias: Heating - Handle pause heating ON/OFF
|
|
description: Handles toggling of the input_boolean pause heating
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.pause_heating
|
|
from: 'off'
|
|
to: 'on'
|
|
id: activated
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.pause_heating
|
|
from: 'on'
|
|
to: 'off'
|
|
id: deactivated
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- activated
|
|
sequence:
|
|
- service: climate.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- climate.floor_heat_bath
|
|
- climate.floor_heat_toilet
|
|
- climate.heater_bedroom
|
|
- climate.heater_guest
|
|
- climate.heater_kitchen
|
|
- climate.heater_living
|
|
- climate.heater_office
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- deactivated
|
|
sequence:
|
|
- service: climate.set_hvac_mode
|
|
metadata: {}
|
|
data:
|
|
hvac_mode: heat
|
|
target:
|
|
entity_id:
|
|
- climate.floor_heat_bath
|
|
- climate.floor_heat_toilet
|
|
- climate.heater_bedroom
|
|
- climate.heater_guest
|
|
- climate.heater_kitchen
|
|
- climate.heater_living
|
|
- climate.heater_office
|
|
mode: single
|
|
- id: '1727445980885'
|
|
alias: Energy - Time triggered pause heating checks
|
|
description: Handles time-triggered checks for resetting heating pause, as well
|
|
as timed checks to pause heating
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: '0'
|
|
id: hour-start
|
|
- platform: time_pattern
|
|
minutes: '35'
|
|
id: 35min
|
|
- platform: time_pattern
|
|
id: 40min
|
|
minutes: '40'
|
|
- platform: time_pattern
|
|
minutes: '45'
|
|
id: 45min
|
|
- platform: time_pattern
|
|
id: 50min
|
|
minutes: '50'
|
|
- platform: time_pattern
|
|
minutes: '55'
|
|
id: 55min
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- hour-start
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.pause_heating
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: trigger
|
|
id:
|
|
- 40min
|
|
- 35min
|
|
- 45min
|
|
- 50min
|
|
- 55min
|
|
- condition: template
|
|
value_template: '{{ ( states(''sensor.tibber_energy_consumption_current_hour'')
|
|
| float ) > state_attr(''sensor.hour_progress'', ''of_energy_level'')
|
|
}}'
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.pause_heating
|
|
data: {}
|
|
mode: single
|
|
- id: '1729197107885'
|
|
alias: Cleaning - Handle select rooms ON/OFF
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.select_rooms_cleaning
|
|
from: 'off'
|
|
to: 'on'
|
|
id: turned-on
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.select_rooms_cleaning
|
|
from: 'on'
|
|
to: 'off'
|
|
id: turned-off
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-on
|
|
sequence:
|
|
- service: script.deselect_floorplan_room
|
|
metadata: {}
|
|
data: {}
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.floorplan_show_icons
|
|
- input_boolean.floorplan_bedroom_selected
|
|
- input_boolean.floorplan_entry_selected
|
|
- input_boolean.floorplan_guest_selected
|
|
- input_boolean.floorplan_kitchen_selected
|
|
- input_boolean.floorplan_living_selected
|
|
- input_boolean.floorplan_office_selected
|
|
- service: input_text.set_value
|
|
metadata: {}
|
|
data:
|
|
value: '[]'
|
|
target:
|
|
entity_id: input_text.selected_room_ids_cleaning
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-off
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- input_boolean.floorplan_bedroom_selected
|
|
- input_boolean.floorplan_entry_selected
|
|
- input_boolean.floorplan_guest_selected
|
|
- input_boolean.floorplan_kitchen_selected
|
|
- input_boolean.floorplan_living_selected
|
|
- input_boolean.floorplan_office_selected
|
|
- service: input_boolean.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.floorplan_show_icons
|
|
mode: single
|
|
- id: '1732034860357'
|
|
alias: Lights - Bath strip OFF when spots OFF
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- light.downlights_bath
|
|
from: 'on'
|
|
to: 'off'
|
|
condition:
|
|
- condition: state
|
|
entity_id: light.lightstrip_bath
|
|
state: 'on'
|
|
action:
|
|
- service: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.lightstrip_bath
|
|
mode: single
|
|
- id: '1732224070644'
|
|
alias: Heating - Handle heater calibrations
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.temperature_difference_office
|
|
id: office
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.temperature_difference_guest
|
|
id: guest
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.temperature_difference_bedroom
|
|
id: bedroom
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- office
|
|
sequence:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
milliseconds: 0
|
|
- service: number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: '{{ states(''sensor.temperature_difference_office'') | float(default=0)
|
|
}}'
|
|
target:
|
|
entity_id: number.temperature_calibration_office
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- guest
|
|
sequence:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
milliseconds: 0
|
|
- service: number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: '{{ states(''sensor.temperature_difference_guest'') | float(default=0)
|
|
}}'
|
|
target:
|
|
entity_id: number.temperature_calibration_guest
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- bedroom
|
|
sequence:
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
milliseconds: 0
|
|
- service: number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: '{{ states(''sensor.temperature_difference_bedroom'') | float(default=0)
|
|
}}'
|
|
target:
|
|
entity_id: number.temperature_calibration_bedroom
|
|
mode: queued
|
|
max: 10
|
|
- id: '1733252756139'
|
|
alias: Cleaning - Vacuum 12-00 Mon-Wed-Fri
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: '12:00:00'
|
|
condition:
|
|
- condition: time
|
|
weekday:
|
|
- mon
|
|
- wed
|
|
- fri
|
|
action:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: 2xDeep
|
|
target:
|
|
entity_id: input_select.vacuum_mop_session
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 3
|
|
milliseconds: 0
|
|
- service: script.robot_clean_clean_all_rooms
|
|
metadata: {}
|
|
data: {}
|
|
mode: single
|
|
- id: '1736011246760'
|
|
alias: Special - Handle vacation mode ON/OFF
|
|
description: Reacts to changes of the input_boolean.vacation_mode_enable, handling
|
|
both when it is turned ON (enabled) and OFF (disabled).
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.vacation_mode_enable
|
|
from: 'off'
|
|
to: 'on'
|
|
id: enabled
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.vacation_mode_enable
|
|
from: 'on'
|
|
to: 'off'
|
|
id: disabled
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- enabled
|
|
sequence:
|
|
- service: light.turn_off
|
|
target:
|
|
entity_id: light.lightstrip_closet_bedroom
|
|
data: {}
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id:
|
|
- input_boolean.guest_mode_enable
|
|
- input_boolean.bedtime_trigger_active
|
|
- input_boolean.wakeup_alarm_active
|
|
data: {}
|
|
- service: script.heating_set_mode_all_thermostats
|
|
data:
|
|
control_mode: Vacation
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- disabled
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id:
|
|
- input_boolean.wakeup_alarm_active
|
|
- input_boolean.bedtime_trigger_active
|
|
data: {}
|
|
- service: light.turn_on
|
|
target:
|
|
entity_id: light.lightstrip_closet_bedroom
|
|
data: {}
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ is_state(''input_select.climate_season_select'', ''Cold'')
|
|
}}'
|
|
then:
|
|
- service: script.heating_set_warmest_mode_all_thermostats
|
|
data: {}
|
|
- if:
|
|
- condition: time
|
|
after: 09:00:00
|
|
before: '21:30:00'
|
|
then:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: 2xDeep
|
|
target:
|
|
entity_id: input_select.vacuum_mop_session
|
|
else:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Quiet
|
|
target:
|
|
entity_id: input_select.vacuum_fan_mode
|
|
- service: script.robot_clean_clean_all_rooms
|
|
metadata: {}
|
|
data: {}
|
|
mode: single
|
|
- id: '1736529421955'
|
|
alias: Cleaning - Handle mop session select
|
|
description: Reacts to changes in the cleaning_mop_session input_select
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_mop_session
|
|
to: Vacuum
|
|
id: vac
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_mop_session
|
|
to: Mop
|
|
id: mop
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_mop_session
|
|
to: VacMop
|
|
id: vacmop
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_mop_session
|
|
to: 2xDeep
|
|
id: 2xdeep
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- mop
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: High
|
|
mopping_route: DeepPlus
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- vacmop
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Turbo
|
|
target:
|
|
entity_id: input_select.vacuum_fan_mode
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: Medium
|
|
mopping_route: None
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- 2xdeep
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Max
|
|
target:
|
|
entity_id: input_select.vacuum_fan_mode
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: 'Off'
|
|
mopping_route: None
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- vac
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Max
|
|
target:
|
|
entity_id: input_select.vacuum_fan_mode
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: 'Off'
|
|
mopping_route: None
|
|
mode: single
|
|
- id: '1736710457472'
|
|
alias: Cleaning - Handle fan mode changes
|
|
description: Handles changes to input_select that holds the fan modes for the robot
|
|
vacuum
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_fan_mode
|
|
to: Quiet
|
|
id: quiet
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_fan_mode
|
|
to: Balanced
|
|
id: balanced
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_fan_mode
|
|
to: Turbo
|
|
id: turbo
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.vacuum_fan_mode
|
|
to: Max
|
|
id: max
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- quiet
|
|
sequence:
|
|
- service: vacuum.set_fan_speed
|
|
metadata: {}
|
|
data:
|
|
fan_speed: Silent
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- balanced
|
|
sequence:
|
|
- service: vacuum.set_fan_speed
|
|
metadata: {}
|
|
data:
|
|
fan_speed: Standard
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turbo
|
|
sequence:
|
|
- service: vacuum.set_fan_speed
|
|
metadata: {}
|
|
data:
|
|
fan_speed: Medium
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- max
|
|
sequence:
|
|
- service: vacuum.set_fan_speed
|
|
metadata: {}
|
|
data:
|
|
fan_speed: Turbo
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
mode: single
|
|
- id: '1736713687559'
|
|
alias: Cleaning - Handle mop ready changes
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.esmeralda_mop_ready
|
|
from: 'on'
|
|
to: 'off'
|
|
id: turned-off
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.esmeralda_mop_ready
|
|
from: 'off'
|
|
to: 'on'
|
|
id: turned-on
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-off
|
|
sequence:
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: 'Off'
|
|
mopping_route: None
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-on
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: VacMop
|
|
target:
|
|
entity_id: input_select.vacuum_mop_session
|
|
mode: single
|
|
- id: '1736716190594'
|
|
alias: Cleaning - Handle 2x deep clean
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- vacuum.esmeralda
|
|
from: returning
|
|
to: docked
|
|
id: returned
|
|
condition: []
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.show_vacuum_map
|
|
- if:
|
|
- condition: and
|
|
conditions:
|
|
- condition: trigger
|
|
id:
|
|
- returned
|
|
- condition: state
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: binary_sensor.esmeralda_mop_ready
|
|
state: 'on'
|
|
then:
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- vacuum.esmeralda
|
|
attribute: status
|
|
to: Emptying the bin
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 15
|
|
timeout:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 30
|
|
milliseconds: 0
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
- service: input_text.set_value
|
|
metadata: {}
|
|
data:
|
|
value: 2x deep clean vac & mop
|
|
target:
|
|
entity_id: input_text.last_cleaning_mode
|
|
- service: script.robot_set_mop_mode
|
|
metadata: {}
|
|
data:
|
|
mopping_mode: High
|
|
mopping_route: DeepPlus
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
milliseconds: 0
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ is_state(''input_text.selected_room_ids_cleaning'', "[]")
|
|
}}'
|
|
then:
|
|
- service: vacuum.start
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
else: []
|
|
- service: xiaomi_miio.vacuum_clean_segment
|
|
data:
|
|
segments: '{{ states(''input_text.selected_room_ids_cleaning'') }}'
|
|
target:
|
|
entity_id: vacuum.esmeralda
|
|
else: []
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.mop_after_vacuum
|
|
mode: single
|
|
- id: '1737378519092'
|
|
alias: Floorplan - Handle show/hide icons
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.floorplan_show_icons
|
|
from: 'on'
|
|
to: 'off'
|
|
id: turned-off
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.floorplan_show_icons
|
|
from: 'off'
|
|
to: 'on'
|
|
id: turned-on
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-off
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.show_vacuum_map
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- turned-on
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.show_vacuum_map
|
|
mode: single
|
|
- id: '1741555462102'
|
|
alias: Bathroom - Pause SONOS on lights off
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- light.downlights_bath
|
|
from: 'on'
|
|
to: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- light.lightstrip_bath
|
|
from: 'on'
|
|
to: 'off'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: light.downlights_bath
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: light.lightstrip_bath
|
|
state: 'off'
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.party_mode_enable
|
|
state: 'on'
|
|
action:
|
|
- service: media_player.media_pause
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.sonos_move
|
|
mode: single
|
|
- id: '1744142825753'
|
|
alias: Lights - Office pendants link
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- light.pendant_office
|
|
from: 'on'
|
|
to: 'off'
|
|
id: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- light.pendant_office
|
|
from: 'off'
|
|
to: 'on'
|
|
id: 'on'
|
|
- platform: time
|
|
at: 07:30:00
|
|
id: focus
|
|
- platform: time
|
|
at: '14:30:00'
|
|
id: bright
|
|
- platform: time
|
|
at: '17:00:00'
|
|
id: chill
|
|
- platform: time
|
|
at: '21:30:00'
|
|
id: night
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.office_mode_select
|
|
id: mode-change
|
|
- platform: state
|
|
entity_id:
|
|
- light.pendant_office
|
|
attribute: brightness
|
|
id: brightness
|
|
condition: []
|
|
action:
|
|
- variables:
|
|
focus_dim: 191
|
|
focus_temp: 6535
|
|
bright_dim: 70
|
|
bright_temp: 4016
|
|
chill_dim: 51
|
|
chill_temp: 2604
|
|
night_dim: 13
|
|
night_temp: 2202
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- 'on'
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- 'off'
|
|
sequence:
|
|
- service: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- focus
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Focus
|
|
target:
|
|
entity_id: input_select.office_mode_select
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- bright
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Bright
|
|
target:
|
|
entity_id: input_select.office_mode_select
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- chill
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Chill
|
|
target:
|
|
entity_id: input_select.office_mode_select
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- night
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Night
|
|
target:
|
|
entity_id: input_select.office_mode_select
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: trigger
|
|
id:
|
|
- mode-change
|
|
- condition: state
|
|
entity_id: light.pendants_office
|
|
state: 'on'
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_select.office_mode_select
|
|
state: Focus
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
kelvin: 6500
|
|
brightness_pct: 75
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_select.office_mode_select
|
|
state: Bright
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
kelvin: 4003
|
|
brightness_pct: 50
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_select.office_mode_select
|
|
state: Chill
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
kelvin: 2603
|
|
brightness_pct: 20
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_select.office_mode_select
|
|
state: Night
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
kelvin: 2000
|
|
brightness_pct: 5
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: trigger
|
|
id:
|
|
- brightness
|
|
- condition: state
|
|
entity_id: light.pendants_office
|
|
state: 'on'
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
brightness_pct: '{{ state_attr(''light.pendant_office'', ''brightness'')
|
|
}}'
|
|
target:
|
|
entity_id: light.pendants_office
|
|
mode: queued
|
|
max: 10
|
|
- id: '1746371725883'
|
|
alias: Bedroom - Handle blinds control
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.left_blind_control_action
|
|
to: open
|
|
id: left-open
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.left_blind_control_action
|
|
to: close
|
|
id: left-close
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.left_blind_control_action
|
|
to: hold
|
|
id: left-stop
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.right_blind_control_action
|
|
to: hold
|
|
id: right-stop
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.right_blind_control_action
|
|
to: close
|
|
id: right-close
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.right_blind_control_action
|
|
to: open
|
|
id: right-open
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- left-open
|
|
sequence:
|
|
- service: cover.open_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.left_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- left-close
|
|
sequence:
|
|
- service: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.left_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- left-stop
|
|
sequence:
|
|
- service: cover.stop_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.left_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- right-open
|
|
sequence:
|
|
- service: cover.open_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.right_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- right-close
|
|
sequence:
|
|
- service: cover.close_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.right_blind_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- right-stop
|
|
sequence:
|
|
- service: cover.stop_cover
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: cover.right_blind_bedroom
|
|
mode: single
|
|
- id: '1748878472149'
|
|
alias: Wakeup - Handle input changes
|
|
description: Reacts to changes done to UI-inputs related to Wakeup. Must not validate
|
|
enable-toggle.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.wakeup_audio_amp_delay
|
|
id: amp-delay
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.wakeup_audio_loud_delay
|
|
id: loud-delay
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.wakeup_blinds_open_delay
|
|
id: blinds-delay
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.wakeup_light_start_advance
|
|
id: light-advance
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.wakeup_audio_start_volume
|
|
id: start-vol
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.wakeup_alarm_weekdays
|
|
id: alarm-weekdays
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.wakeup_alarm_weekends
|
|
id: alarm-weekends
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.wakeup_alarm_active
|
|
from: 'off'
|
|
to: 'on'
|
|
id: alarm-enabled
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.wakeup_alarm_active
|
|
from: 'on'
|
|
to: 'off'
|
|
id: alarm-disabled
|
|
- platform: time
|
|
at: '20:00:00'
|
|
id: display-check
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.wakeup_display_time
|
|
to: weekend
|
|
from: weekday
|
|
id: to-weekend
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.wakeup_display_time
|
|
id: to-weekday
|
|
from: weekend
|
|
to: weekday
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- amp-delay
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_audio_amp_delay'') | float(0)
|
|
}}'
|
|
target_entity: input_datetime.wakeup_audio_amp
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- loud-delay
|
|
sequence:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{% set amp_delay = states(''input_number.wakeup_audio_amp_delay'')
|
|
| float(15) %}
|
|
|
|
{% set loud_delay = states(''input_number.wakeup_audio_loud_delay'') |
|
|
float(30) %}
|
|
|
|
{{ loud_delay > amp_delay }}'
|
|
then:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_audio_loud_delay'') |
|
|
float(0) }}'
|
|
target_entity: input_datetime.wakeup_audio_loud
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- blinds-delay
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_blinds_open_delay'') | float(0)
|
|
}}'
|
|
target_entity: input_datetime.wakeup_blinds_open
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- light-advance
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_light_start_advance'') |
|
|
float(0) }}'
|
|
target_entity: input_datetime.wakeup_light_start
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- start-vol
|
|
sequence:
|
|
- service: sonos.update_alarm
|
|
data:
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int(72) }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm-enabled
|
|
sequence:
|
|
- service: sonos.update_alarm
|
|
metadata: {}
|
|
data:
|
|
enabled: true
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int(72) }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm-disabled
|
|
sequence:
|
|
- service: sonos.update_alarm
|
|
metadata: {}
|
|
data:
|
|
enabled: false
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int(72) }}'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm-weekdays
|
|
- to-weekday
|
|
sequence:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.wakeup_alarm_weekdays'') }}'
|
|
alarm_entity: input_datetime.wakeup_alarm_time
|
|
- service: sonos.update_alarm
|
|
data:
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
time: '{% set alarm = states(''input_datetime.wakeup_alarm_weekdays'') %}
|
|
{% set time = alarm.split('':'') %} {% set hour = time[0] | int %} {%
|
|
set minute = time[1] | int %} {{ ''%02d:%02d'' | format(hour, minute)
|
|
}}
|
|
|
|
'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm-weekends
|
|
- to-weekend
|
|
sequence:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.wakeup_alarm_weekends'') }}'
|
|
alarm_entity: input_datetime.wakeup_alarm_time
|
|
- service: sonos.update_alarm
|
|
data:
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
time: '{% set alarm = states(''input_datetime.wakeup_alarm_weekends'') %}
|
|
{% set time = alarm.split('':'') %} {% set hour = time[0] | int %} {%
|
|
set minute = time[1] | int %} {{ ''%02d:%02d'' | format(hour, minute)
|
|
}}
|
|
|
|
'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- display-check
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 4 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekend
|
|
target:
|
|
entity_id: input_select.wakeup_display_time
|
|
alias: Test if its friday
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 6 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekday
|
|
target:
|
|
entity_id: input_select.wakeup_display_time
|
|
alias: Test if its sunday
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 1
|
|
milliseconds: 0
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_select.wakeup_display_time
|
|
state: weekday
|
|
then:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.wakeup_alarm_weekdays'') }}'
|
|
alarm_entity: input_datetime.wakeup_alarm_time
|
|
- service: sonos.update_alarm
|
|
data:
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
time: '{% set alarm = states(''input_datetime.wakeup_alarm_weekdays'')
|
|
%} {% set time = alarm.split('':'') %} {% set hour = time[0] | int %}
|
|
{% set minute = time[1] | int %} {{ ''%02d:%02d'' | format(hour, minute)
|
|
}}
|
|
|
|
'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
else:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.wakeup_alarm_weekends'') }}'
|
|
alarm_entity: input_datetime.wakeup_alarm_time
|
|
- service: sonos.update_alarm
|
|
data:
|
|
alarm_id: '{{ states(''input_number.wakeup_sonos_alarm_id'') | int }}'
|
|
volume: '{{ states(''input_number.wakeup_audio_start_volume'') | float(0.08)
|
|
}}'
|
|
time: '{% set alarm = states(''input_datetime.wakeup_alarm_weekends'')
|
|
%} {% set time = alarm.split('':'') %} {% set hour = time[0] | int %}
|
|
{% set minute = time[1] | int %} {{ ''%02d:%02d'' | format(hour, minute)
|
|
}}
|
|
|
|
'
|
|
target:
|
|
entity_id: media_player.sonos_bedroom
|
|
mode: queued
|
|
max: 10
|
|
- id: '1748890659372'
|
|
alias: Wakeup - Handle alarm-time changes
|
|
description: When the main wakeup alarm-time changes, it should set the other trigger
|
|
times as well. Must not validate enable-toggle.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.wakeup_alarm_time
|
|
condition: []
|
|
action:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_light_start_advance'') | float(0)
|
|
}}
|
|
|
|
'
|
|
target_entity: input_datetime.wakeup_light_start
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_blinds_open_delay'') | float(0)
|
|
}}
|
|
|
|
'
|
|
target_entity: input_datetime.wakeup_blinds_open
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_audio_amp_delay'') | float(0)
|
|
}}'
|
|
target_entity: input_datetime.wakeup_audio_amp
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.wakeup_audio_loud_delay'') | float(0)
|
|
}}
|
|
|
|
'
|
|
target_entity: input_datetime.wakeup_audio_loud
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.wakeup_alarm_time'') }}'
|
|
delta_minutes: 60
|
|
target_entity: input_datetime.wakeup_ends
|
|
mode: restart
|
|
- id: '1749107493109'
|
|
alias: Office - Light remote presses
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.light_remote_office_action
|
|
to: arrow_left_click
|
|
id: left
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.light_remote_office_action
|
|
to: arrow_right_click
|
|
id: right
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.light_remote_office_action
|
|
id: up
|
|
to: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.light_remote_office_action
|
|
to: 'off'
|
|
id: down
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- up
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.pendants_office
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- down
|
|
sequence:
|
|
- service: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
brightness_step_pct: -8
|
|
target:
|
|
entity_id: light.pendants_office
|
|
mode: queued
|
|
max: 10
|
|
- id: '1749332974341'
|
|
alias: Bedtime - Handle input changes
|
|
description: Reacts to changes done to UI-inputs related to Bedtime. Must not validate
|
|
enable-toggle.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.bedtime_reminder_after_delay
|
|
id: reminder-delay
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.bedtime_reminder_before_advance
|
|
id: reminder-advance
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.bedtime_sheet_preheat_advance
|
|
id: preheat-advance
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.bedtime_heating_sheet_enable
|
|
id: sheet-on
|
|
from: 'off'
|
|
to: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.bedtime_heating_sheet_enable
|
|
id: sheet-off
|
|
from: 'on'
|
|
to: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.bedtime_trigger_weekdays
|
|
id: trigger-weekdays
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.bedtime_trigger_weekends
|
|
id: trigger-weekends
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.bedtime_trigger_active
|
|
from: 'off'
|
|
to: 'on'
|
|
id: trigger-enabled
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.bedtime_trigger_active
|
|
from: 'on'
|
|
to: 'off'
|
|
id: trigger-disabled
|
|
- platform: time
|
|
at: 08:00:00
|
|
id: display-check
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.bedtime_display_time
|
|
to: weekend
|
|
from: weekday
|
|
id: to-weekend
|
|
- platform: state
|
|
entity_id:
|
|
- input_select.bedtime_display_time
|
|
id: to-weekday
|
|
from: weekend
|
|
to: weekday
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- preheat-advance
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_sheet_preheat_advance'')
|
|
| int }}'
|
|
target_entity: input_datetime.bedtime_sheet_preheating
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- reminder-advance
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_reminder_before_advance'')
|
|
| int }}'
|
|
target_entity: input_datetime.bedtime_reminder_before
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- reminder-delay
|
|
sequence:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_reminder_after_delay'')
|
|
| int }}'
|
|
target_entity: input_datetime.bedtime_reminder_after
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- trigger-enabled
|
|
sequence: []
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- trigger-disabled
|
|
sequence: []
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- to-weekday
|
|
- trigger-weekdays
|
|
sequence:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.bedtime_trigger_weekdays'') }}'
|
|
alarm_entity: input_datetime.bedtime_trigger_time
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- alarm-weekends
|
|
- to-weekend
|
|
sequence:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.bedtime_trigger_weekends'') }}'
|
|
alarm_entity: input_datetime.bedtime_trigger_time
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- display-check
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 4 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekend
|
|
target:
|
|
entity_id:
|
|
- input_select.bedtime_display_time
|
|
alias: Test if its friday
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ now().weekday() == 6 }}'
|
|
sequence:
|
|
- service: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: weekday
|
|
target:
|
|
entity_id:
|
|
- input_select.bedtime_display_time
|
|
alias: Test if its sunday
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 1
|
|
milliseconds: 0
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_select.bedtime_display_time
|
|
state: weekday
|
|
then:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.bedtime_trigger_weekdays'') }}'
|
|
alarm_entity: input_datetime.bedtime_trigger_time
|
|
else:
|
|
- service: script.utility_set_alarm_time
|
|
data:
|
|
time_input: '{{ states(''input_datetime.bedtime_trigger_weekends'') }}'
|
|
alarm_entity: input_datetime.bedtime_trigger_time
|
|
mode: queued
|
|
max: 10
|
|
- id: '1749370122769'
|
|
alias: Bedtime - Handle main trigger time change
|
|
description: When the main bedtime trigger-time changes, it should set the other
|
|
trigger times as well. Must not validate enable-toggle.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_datetime.bedtime_trigger_time
|
|
condition: []
|
|
action:
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_sheet_preheat_advance'') |
|
|
int }}
|
|
|
|
'
|
|
target_entity: input_datetime.bedtime_sheet_preheating
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_curtains_close_advance'') |
|
|
int }}
|
|
|
|
'
|
|
target_entity: input_datetime.bedtime_curtains_close
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_reminder_before_advance'')
|
|
| int }}
|
|
|
|
'
|
|
target_entity: input_datetime.bedtime_reminder_before
|
|
- service: script.adjust_datetime
|
|
data:
|
|
base_datetime: '{{ states(''input_datetime.bedtime_trigger_time'') }}'
|
|
delta_minutes: '{{ states(''input_number.bedtime_reminder_after_delay'') | int
|
|
}}'
|
|
target_entity: input_datetime.bedtime_reminder_after
|
|
mode: restart
|
|
- id: '1708515045819'
|
|
alias: Lights - Masterdim ALL lights
|
|
description: Masterdims the brightness of lights in all the activity-rooms. The
|
|
exceptions are Bedroom, Guest room and Storage-room. Only applied to lights with
|
|
adjustable brightness.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: input_number.apartment_dimmer
|
|
condition: []
|
|
action:
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_veranda'', ''on'')
|
|
}}'
|
|
light_entity: light.wall_lantern_veranda
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Veranda wall lantern
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_kitchen'', ''on'')
|
|
}}'
|
|
light_entity: light.spottrack6_kitchen
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Kitchen 6-track
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_kitchen'', ''on'')
|
|
}}'
|
|
light_entity: light.pendants_kitchen
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Kitchen pendants
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_living'', ''on'')
|
|
}}'
|
|
light_entity: light.pendants_living
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Living pendants
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_living'', ''on'')
|
|
}}'
|
|
light_entity: light.downlights_living
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Living downlights
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_living'', ''on'')
|
|
}}'
|
|
light_entity: light.spottrack4_living
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Living 4-track
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_living'', ''on'')
|
|
}}'
|
|
light_entity: light.mood_lamp_living
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Living mood ball
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_entry'', ''on'')
|
|
}}'
|
|
light_entity: light.downlights_entry
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Entry downlights
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_office'', ''on'')
|
|
}}'
|
|
light_entity: light.pendant_office
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Office pendants
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_bath'', ''on'')
|
|
}}'
|
|
light_entity: light.lightstrip_bath
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Bath lightstrip
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: '{{ is_state(''input_boolean.lights_override_bath'', ''on'')
|
|
}}'
|
|
light_entity: light.downlights_bath
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Bath downlights
|
|
- service: script.masterdim_script
|
|
data:
|
|
manual_override: false
|
|
light_entity: light.downlight_toilet
|
|
brightness: '{{ states(''input_number.apartment_dimmer'') }}'
|
|
alias: Masterdim Toilet downlight
|
|
mode: restart
|
|
- id: '1709814409323'
|
|
alias: Lights - Handle Auto suncycle masterdim ON/OFF
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.auto_suncycle_masterdim
|
|
from: 'off'
|
|
to: 'on'
|
|
id: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.auto_suncycle_masterdim
|
|
from: 'on'
|
|
to: 'off'
|
|
id: 'off'
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- 'on'
|
|
sequence:
|
|
- service: script.lights_reset_overrides
|
|
mode: single
|
|
- id: '1707168721809'
|
|
alias: Auto masterdim with Sun-cycle
|
|
description: Automatically adjusts the brightness of all lights in the apartment
|
|
(masterdim) at 8 times during the suns cycle.
|
|
trigger:
|
|
- platform: time
|
|
at: sensor.sun_next_midnight
|
|
id: midnight
|
|
- platform: time
|
|
at: sensor.sun_next_dawn
|
|
id: dawn
|
|
- platform: time
|
|
at: sensor.sun_next_rising
|
|
id: sunrise
|
|
- platform: time
|
|
at: input_datetime.risenoon
|
|
id: risenoon
|
|
- platform: time
|
|
at: sensor.sun_next_noon
|
|
id: noon
|
|
- platform: time
|
|
at: input_datetime.noonset
|
|
id: noonset
|
|
- platform: time
|
|
at: sensor.sun_next_setting
|
|
id: sunset
|
|
- platform: time
|
|
at: sensor.sun_next_dusk
|
|
id: dusk
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.auto_suncycle_masterdim
|
|
state: 'on'
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- midnight
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_lowest'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Dawn
|
|
event_time: '{{ states(''sensor.sun_next_dawn'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- dawn
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_low'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Sunrise
|
|
event_time: '{{ states(''sensor.sun_next_rising'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- sunrise
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_medium'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Risenoon
|
|
event_time: '{{ states(''input_datetime.risenoon'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- risenoon
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_high'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Noon
|
|
event_time: '{{ states(''sensor.sun_next_noon'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- noon
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_highest'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Noonset
|
|
event_time: '{{ states(''input_datetime.noonset'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- noonset
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_high'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Sunset
|
|
event_time: '{{ states(''sensor.sun_next_setting'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- sunset
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_medium'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Dusk
|
|
event_time: '{{ states(''sensor.sun_next_dusk'') }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- dusk
|
|
sequence:
|
|
- service: input_number.set_value
|
|
data:
|
|
value: '{{ states(''input_number.dimconstant_low'') | int }}'
|
|
target:
|
|
entity_id: input_number.apartment_dimmer
|
|
- service: script.sun_cycle_set_next_event_text
|
|
data:
|
|
next_sun_event: Midnight
|
|
event_time: '{{ states(''sensor.sun_next_midnight'') }}'
|
|
mode: single
|
|
- id: '1703000590222'
|
|
alias: Calculate RiseNoon and NoonSet at Midnight
|
|
description: Calculates the daily middle-times between Sunrise and Noon, and Noon
|
|
and Sunset at midnight
|
|
trigger:
|
|
- platform: time
|
|
at: sensor.sun_next_midnight
|
|
condition: []
|
|
action:
|
|
- service: script.calculate_risenoon
|
|
- service: script.calculate_noonset
|
|
mode: single
|
|
- id: '1710428595542'
|
|
alias: Lights - Handle light-mode toggles ON/OFF
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_cooking_mode
|
|
id: cooking-on
|
|
from: 'off'
|
|
to: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_cooking_mode
|
|
id: cooking-off
|
|
from: 'on'
|
|
to: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_dining_mode
|
|
id: dining-on
|
|
from: 'off'
|
|
to: 'on'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_dining_mode
|
|
id: dining-off
|
|
from: 'on'
|
|
to: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_movie_mode
|
|
id: movie-off
|
|
from: 'on'
|
|
to: 'off'
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.lights_movie_mode
|
|
id: movie-on
|
|
from: 'off'
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- cooking-on
|
|
sequence:
|
|
- service: script.lights_kitchen_cooking_mood
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- cooking-off
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id: input_boolean.lights_override_kitchen
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- dining-on
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id:
|
|
- input_boolean.lights_movie_mode
|
|
- input_boolean.lights_cooking_mode
|
|
- service: script.lights_dinner_mood
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- dining-off
|
|
- movie-off
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id:
|
|
- input_boolean.lights_override_entry
|
|
- input_boolean.lights_override_kitchen
|
|
- input_boolean.lights_override_living
|
|
- input_boolean.lights_override_veranda
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- movie-on
|
|
sequence:
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id:
|
|
- input_boolean.lights_cooking_mode
|
|
- input_boolean.lights_dining_mode
|
|
- service: script.lights_tv_mood
|
|
mode: queued
|
|
- id: '1710423415819'
|
|
alias: Lights - Handle Fibaro Dimmer double-clicks
|
|
description: ''
|
|
trigger:
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 11
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: entry-double-click
|
|
alias: Listen for Fibaro Dimmer entry double-clicked
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 5
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: kitchen-double-click
|
|
alias: Listen for Fibaro Dimmer kitchen double-clicked
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 7
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: dining-double-click
|
|
alias: Listen for Fibaro Dimmer dining double-clicked
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 13
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: bath-downlights-2x
|
|
alias: Listen for Fibaro Dimmer bath downlights 2x
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 14
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: bath-lighstrip-2x
|
|
alias: Listen for Fibaro Dimmer bath lighstrip 2x
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 4
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: living-track4-2x
|
|
alias: Listen for Fibaro Dimmer living track4 2x
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
event_data:
|
|
node_id: 3
|
|
command_class: 43
|
|
property: sceneId
|
|
value: 14
|
|
id: living-downlights-2x
|
|
alias: Listen for Fibaro Dimmer living downlights 2x
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- entry-double-click
|
|
sequence:
|
|
- service: script.all_lights_off
|
|
alias: Entry double-click
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- kitchen-double-click
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.lights_cooking_mode
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- dining-double-click
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.lights_dining_mode
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- bath-downlights-2x
|
|
sequence:
|
|
- service: input_select.select_option
|
|
target:
|
|
entity_id: input_select.bathroom_mode_select
|
|
data:
|
|
option: bright
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- bath-lighstrip-2x
|
|
sequence:
|
|
- service: input_select.select_option
|
|
target:
|
|
entity_id: input_select.bathroom_mode_select
|
|
data:
|
|
option: night
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- living-track4-2x
|
|
sequence:
|
|
- service: script.all_lights_on
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- living-downlights-2x
|
|
sequence:
|
|
- service: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.lights_movie_mode
|
|
mode: queued
|