1418 lines
45 KiB
YAML
1418 lines
45 KiB
YAML
- id: '1697148849415'
|
|
alias: Trine er kommet hjem - Frederik
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.trine_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
data:
|
|
message: Trine er kommet hjem
|
|
- id: '1697148849515'
|
|
alias: Trine er kommet hjem - Sophie
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.trine_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_sophie_iphone
|
|
data:
|
|
message: Mor er kommet hjem
|
|
- id: '1697148849615'
|
|
alias: Trine er kommet hjem - Victoria
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.trine_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_victoria_telefon
|
|
data:
|
|
message: Mor er kommet hjem
|
|
- id: '1697148849715'
|
|
alias: Trine er kommet hjem - Tristan
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.trine_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_tristan_iphone_13_ny
|
|
data:
|
|
message: Mor er kommet hjem
|
|
- id: '2697148849715'
|
|
alias: Frederik er kommet hjem - Frederik
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.frederik_kristian_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
data:
|
|
message: Jeg er kommet hjem
|
|
- id: '2697148849615'
|
|
alias: Frederik er kommet hjem - Victoria
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.frederik_kristian_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_victoria_telefon
|
|
data:
|
|
message: Far er kommet hjem
|
|
- id: '2697148849515'
|
|
alias: Frederik er kommet hjem - Tristan
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.frederik_kristian_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_tristan_iphone_13_ny
|
|
data:
|
|
message: Far er kommet hjem
|
|
- id: '2697148849415'
|
|
alias: Frederik er kommet hjem - Trine
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.frederik_kristian_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
message: Frederik er kommet hjem
|
|
- id: '26971488489515'
|
|
alias: Frederik er kommet hjem - Sophie
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.frederik_kristian_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_sophie_iphone
|
|
data:
|
|
message: Far er kommet hjem
|
|
- id: '3697148849415'
|
|
alias: Sophie er kommet hjem - Frederik
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.sophie_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
data:
|
|
message: Sophie er kommet hjem
|
|
- id: '3697148849515'
|
|
alias: Sophie er kommet hjem - Trine
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.sophie_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
message: Sophie er kommet hjem
|
|
- id: '3697148849615'
|
|
alias: Sophie er kommet hjem - Victoria
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.sophie_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_victoria_telefon
|
|
data:
|
|
message: Sophe er kommet hjem
|
|
- id: '3697148849715'
|
|
alias: Sophie er kommet hjem - Tristan
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.sophie_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_tristan_iphone_13_ny
|
|
data:
|
|
message: Sophie er kommet hjem
|
|
- id: '4697148849415'
|
|
alias: Victoria er kommet hjem - Frederik
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.victoria_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
data:
|
|
message: Victoria er kommet hjem
|
|
- id: '4697148849515'
|
|
alias: Victoria er kommet hjem - Trine
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.victoria_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
message: Victoria er kommet hjem
|
|
- id: '4697148849615'
|
|
alias: Victoria er kommet hjem - Sophie
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.victoria_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_sophie_iphone
|
|
data:
|
|
message: Victoria er kommet hjem
|
|
- id: '4697148849715'
|
|
alias: Victoria er kommet hjem - Tristan
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.victoria_haase_pedersen
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_tristan_iphone_13_ny
|
|
data:
|
|
message: Victoria er kommet hjem
|
|
- id: '5697148849415'
|
|
alias: Tristan er kommet hjem - Frederik
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.tristan
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
data:
|
|
message: Tristan er kommet hjem
|
|
- id: '5697148849515'
|
|
alias: Tristan er kommet hjem - Trine
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.tristan
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
message: Tristan er kommet hjem
|
|
- id: '5697148849615'
|
|
alias: Tristan er kommet hjem - Sophie
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- person.tristan
|
|
from: not_home
|
|
to: home
|
|
action:
|
|
- service: notify.mobile_app_sophie_iphone
|
|
data:
|
|
message: Tristan er kommet hjem
|
|
- id: '5697148849715'
|
|
alias: Tristan er kommet hjem - Victoria
|
|
description: ''
|
|
triggers:
|
|
- entity_id:
|
|
- person.tristan
|
|
from: not_home
|
|
to: home
|
|
trigger: state
|
|
actions:
|
|
- action: notify.mobile_app_victoria_telefon
|
|
data:
|
|
message: Tristan er kommet hjem
|
|
- id: '1721776282506'
|
|
alias: Sophie er kommet hjem TTS
|
|
description: ''
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: device_tracker.sophie_iphone
|
|
zone: zone.home
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: tts.cloud_say
|
|
data:
|
|
entity_id: media_player.aben_lukke
|
|
message: Sophie er kommet hjem
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1721777352759'
|
|
alias: Trine er kommet hjem TTS
|
|
description: ''
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.home
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: tts.cloud_say
|
|
data:
|
|
entity_id: media_player.aben_lukke
|
|
message: Mor er kommet hjem
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1721778388939'
|
|
alias: Victoria er kommet hjem TTS
|
|
description: resume playing after TTS
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.victoria_haase_pedersen
|
|
zone: zone.home
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: tts.cloud_say
|
|
data:
|
|
entity_id: media_player.aben_lukke
|
|
message: Victoria er kommet hjem
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1721778520182'
|
|
alias: Tristan er kommet hjem TTS
|
|
description: Resume playing after TTS
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.tristan
|
|
zone: zone.home
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: tts.cloud_say
|
|
data:
|
|
entity_id: media_player.aben_lukke
|
|
message: Tristan er kommet hjem
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1721778585916'
|
|
alias: Frederik er kommet hjem TTS
|
|
description: Resume playing after TTS
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.frederik_kristian_pedersen
|
|
zone: zone.home
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: tts.cloud_say
|
|
data:
|
|
entity_id: media_player.aben_lukke
|
|
message: Far er kommet hjem
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1721779415086'
|
|
alias: 'Bryggers døren er blevet åbnet '
|
|
description: resume playing after TTS
|
|
triggers:
|
|
- type: opened
|
|
device_id: bd8ab77921a34425041ae4cef5632ec4
|
|
entity_id: 3f44441253de2330a9ee51f89655ff06
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- metadata: {}
|
|
data:
|
|
cache: true
|
|
entity_id: media_player.aben_lukke
|
|
message: Bryggersdøren er blevet åbnet
|
|
language: da-DK
|
|
action: tts.cloud_say
|
|
mode: single
|
|
- id: '1722303039761'
|
|
alias: Frederik Husk at købe
|
|
description: ''
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.frederik_kristian_pedersen
|
|
zone: zone.rema1000
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.frederik_kristian_pedersen
|
|
zone: zone.fotex
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.frederik_kristian_pedersen
|
|
zone: zone.coop_365_hasseris
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.frederik_kristian_pedersen
|
|
zone: zone.handel_netto_hasseris
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- service: notify.mobile_app_frederik_iphone_15_pro
|
|
metadata: {}
|
|
data:
|
|
message: Husk og købe disse vare
|
|
title: Tryk her
|
|
data:
|
|
clickAction: /Huskelister
|
|
url: /todo?entity_id=todo.indkobsliste
|
|
mode: single
|
|
- id: '1722303277292'
|
|
alias: Trine Husk at købe
|
|
description: ''
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.rema1000
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
data:
|
|
clickAction: /Huskelister
|
|
url: /todo?entity_id=todo.indkobsliste
|
|
title: Tryk her
|
|
message: Husk og købe disse vare
|
|
mode: single
|
|
- id: '1722349301296'
|
|
alias: 'Trine - Husk at købe '
|
|
description: ''
|
|
trigger:
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.rema1000
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.fotex
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.coop_365_hasseris
|
|
event: enter
|
|
- platform: zone
|
|
entity_id: person.trine_haase_pedersen
|
|
zone: zone.handel_netto_hasseris
|
|
event: enter
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_trine_iphone_14_pro
|
|
data:
|
|
data:
|
|
clickAction: /Huskelister
|
|
url: /todo?entity_id=todo.indkobsliste
|
|
message: Husk og købe disse vare
|
|
title: Tryk her
|
|
mode: single
|
|
- id: '1727648335717'
|
|
alias: Legestue - sluk TV efter kl 2200
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: '22:00:00'
|
|
condition: []
|
|
action:
|
|
- action: switch.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: c9e17d5fef2b455565f01cf5cb1c3a72
|
|
mode: single
|
|
- id: '1727648397425'
|
|
alias: Legestue - tænd TV efter kl 0600
|
|
description: ''
|
|
trigger:
|
|
- platform: time
|
|
at: 06:00:00
|
|
condition: []
|
|
action:
|
|
- action: switch.turn_on
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
device_id: c9e17d5fef2b455565f01cf5cb1c3a72
|
|
mode: single
|
|
- id: '1734593887463'
|
|
alias: Kontor - vindue åben
|
|
description: Luk Radiator når vinduet åbnes
|
|
triggers:
|
|
- type: opened
|
|
device_id: 6685d2781c1b97e3227e8ddb4f0a9387
|
|
entity_id: 723e8118874603457d5746b52aa633f1
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: climate.set_hvac_mode
|
|
metadata: {}
|
|
data:
|
|
hvac_mode: 'off'
|
|
target:
|
|
device_id: 70031b73bebd812285d08297d6d4cd38
|
|
mode: single
|
|
- id: '1734593961335'
|
|
alias: Kontor - vindue lukket
|
|
description: Sæt Radiator til auto når vinduet Lukkes
|
|
triggers:
|
|
- type: not_opened
|
|
device_id: 6685d2781c1b97e3227e8ddb4f0a9387
|
|
entity_id: 723e8118874603457d5746b52aa633f1
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: climate.set_hvac_mode
|
|
metadata: {}
|
|
data:
|
|
hvac_mode: auto
|
|
target:
|
|
device_id: 70031b73bebd812285d08297d6d4cd38
|
|
mode: single
|
|
- id: '1734680525144'
|
|
alias: Kontor - remoteTest - sluk lys
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: 9d40a6d3b1d108acd0092f707f339bf0
|
|
type: action
|
|
subtype: arrow_right_click
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: turn_off
|
|
device_id: 6e65da499107f5e51b96b478fad69e86
|
|
entity_id: 2cc18da8fb81e31ca785b2a140f2ea36
|
|
domain: light
|
|
- type: turn_off
|
|
device_id: 56b3b560b189448e5adb7876b5ba6988
|
|
entity_id: 9a6783159b65f0db65209a0b725a8280
|
|
domain: light
|
|
mode: single
|
|
- id: '1734680554585'
|
|
alias: Kontor - remoteTest - Tænd lys
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: 9d40a6d3b1d108acd0092f707f339bf0
|
|
type: action
|
|
subtype: arrow_left_click
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: turn_on
|
|
device_id: 6e65da499107f5e51b96b478fad69e86
|
|
entity_id: 2cc18da8fb81e31ca785b2a140f2ea36
|
|
domain: light
|
|
brightness_pct: 60
|
|
- type: turn_on
|
|
device_id: 56b3b560b189448e5adb7876b5ba6988
|
|
entity_id: 9a6783159b65f0db65209a0b725a8280
|
|
domain: light
|
|
brightness_pct: 60
|
|
mode: single
|
|
- id: '1734680599895'
|
|
alias: Baghave - Tænd/sluk
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: 9d40a6d3b1d108acd0092f707f339bf0
|
|
type: action
|
|
subtype: brightness_up_click
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: toggle
|
|
device_id: b15e53728be37e4ae307509b4bbed905
|
|
entity_id: ed48ca70f647f9eac01ebbefb009c1cd
|
|
domain: switch
|
|
mode: single
|
|
- id: '1734690378274'
|
|
alias: Legestue - Tænd lys hvis der er nogen i lokalet
|
|
description: ''
|
|
triggers:
|
|
- type: occupied
|
|
device_id: ba17a19135747d5845be2b562754905b
|
|
entity_id: 322a2c0112b2f673c85db15150579961
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
brightness_pct: 60
|
|
rgb_color:
|
|
- 240
|
|
- 178
|
|
- 112
|
|
target:
|
|
entity_id:
|
|
- light.legestue_light_legestue1
|
|
- light.legestue_light_legestue2
|
|
- light.legestue_light_legestue3
|
|
mode: single
|
|
- id: '1734690419544'
|
|
alias: Legestue - Sluk lys hvis der ikke er nogen i lokalet
|
|
description: ''
|
|
triggers:
|
|
- type: not_occupied
|
|
device_id: ba17a19135747d5845be2b562754905b
|
|
entity_id: 322a2c0112b2f673c85db15150579961
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- light.legestue_light_legestue1
|
|
- light.legestue_light_legestue2
|
|
- light.legestue_light_legestue3
|
|
mode: single
|
|
- id: '1734786548210'
|
|
alias: 'Sophie - sophie2 - tænd/sluk/skru op og ned '
|
|
description: ''
|
|
use_blueprint:
|
|
path: FloppyGit/tradfri_e1743_switch_to_light.yaml
|
|
input:
|
|
source_switch_e1743_action: sensor.sophie_remote_sophie2_action
|
|
target_light:
|
|
device_id: cac765242ce4b1a532fbc438cfa79097
|
|
- id: '1734786980649'
|
|
alias: Sophie - sophie1 - tænd/sluk/skru op og ned
|
|
description: ''
|
|
use_blueprint:
|
|
path: FloppyGit/tradfri_e1743_switch_to_light.yaml
|
|
input:
|
|
source_switch_e1743_action: sensor.sophie_remote_sophie1_action
|
|
target_light:
|
|
device_id: ba38ff9b156656877c62124304072f59
|
|
- id: '1734877370629'
|
|
alias: Kontor - Pressent - tænd lys
|
|
description: Tænd lys når der er nogen
|
|
triggers:
|
|
- type: occupied
|
|
device_id: d7d3bc79c625ac6be784158965c5efd7
|
|
entity_id: 2716cd871347a641e9e3816c0a9e7867
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- type: is_occupied
|
|
condition: device
|
|
device_id: d7d3bc79c625ac6be784158965c5efd7
|
|
entity_id: 2716cd871347a641e9e3816c0a9e7867
|
|
domain: binary_sensor
|
|
sequence:
|
|
- action: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
brightness: 178
|
|
color_temp_kelvin: 330
|
|
target:
|
|
entity_id: light.kontor_group
|
|
- conditions:
|
|
- type: is_not_occupied
|
|
condition: device
|
|
device_id: d7d3bc79c625ac6be784158965c5efd7
|
|
entity_id: 2716cd871347a641e9e3816c0a9e7867
|
|
domain: binary_sensor
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 0
|
|
sequence:
|
|
- action: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.kontor_group
|
|
mode: restart
|
|
- id: '1734879019552'
|
|
alias: Stue - Tænd lille lampe sammen med sofa lys
|
|
description: ''
|
|
triggers:
|
|
- type: turned_on
|
|
device_id: 30f2b71db2fe6de49f43c9b48e67b429
|
|
entity_id: 7861d4d4869e92f5bc28e46e9f2a5ef1
|
|
domain: light
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: turn_on
|
|
device_id: 97fa7024552e0b30df6473be1129dadd
|
|
entity_id: 62a0859166b131d5a113460522ec7cf4
|
|
domain: switch
|
|
mode: single
|
|
- id: '1734879050796'
|
|
alias: Stue - Sluk lille lampe sammen med sofa lys
|
|
description: ''
|
|
triggers:
|
|
- type: turned_off
|
|
device_id: 30f2b71db2fe6de49f43c9b48e67b429
|
|
entity_id: 7861d4d4869e92f5bc28e46e9f2a5ef1
|
|
domain: light
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: turn_off
|
|
device_id: 97fa7024552e0b30df6473be1129dadd
|
|
entity_id: 62a0859166b131d5a113460522ec7cf4
|
|
domain: switch
|
|
mode: single
|
|
- id: '1735041774519'
|
|
alias: Køkken - spisebord - Tænd/Sluk
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: cca2de2ff5712542389ae97e7981890f
|
|
type: action
|
|
subtype: toggle
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- type: toggle
|
|
device_id: 243903f9e038dfd0ab9f4ec61e625371
|
|
entity_id: 234477e1b5a8be1a9723a99896d7dbb9
|
|
domain: light
|
|
mode: single
|
|
- id: '1735175315574'
|
|
alias: Kontor - remoteTest -Skru op
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: 9d40a6d3b1d108acd0092f707f339bf0
|
|
type: action
|
|
subtype: arrow_left_hold
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- device_id: 6e65da499107f5e51b96b478fad69e86
|
|
domain: light
|
|
entity_id: 2cc18da8fb81e31ca785b2a140f2ea36
|
|
type: brightness_increase
|
|
- device_id: 56b3b560b189448e5adb7876b5ba6988
|
|
domain: light
|
|
entity_id: 9a6783159b65f0db65209a0b725a8280
|
|
type: brightness_increase
|
|
mode: single
|
|
- id: '1735175377719'
|
|
alias: Kontor - remoteTest - Skru ned
|
|
description: ''
|
|
triggers:
|
|
- domain: mqtt
|
|
device_id: 9d40a6d3b1d108acd0092f707f339bf0
|
|
type: action
|
|
subtype: arrow_right_hold
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- device_id: 6e65da499107f5e51b96b478fad69e86
|
|
domain: light
|
|
entity_id: 2cc18da8fb81e31ca785b2a140f2ea36
|
|
type: brightness_decrease
|
|
- device_id: 56b3b560b189448e5adb7876b5ba6988
|
|
domain: light
|
|
entity_id: 9a6783159b65f0db65209a0b725a8280
|
|
type: brightness_decrease
|
|
mode: single
|
|
- id: '1735176310831'
|
|
alias: Stue - Stor terrassedør åbnet TTS
|
|
description: ''
|
|
triggers:
|
|
- type: opened
|
|
device_id: ff9ef66b6ff1a955792a0ba960b28004
|
|
entity_id: 6094e2542e284055babcfca715c253b4
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: tts.cloud_say
|
|
metadata: {}
|
|
data:
|
|
cache: false
|
|
entity_id: media_player.aben_lukke
|
|
message: Terrassedøren i stuen er blevet åbnet
|
|
language: da-DK
|
|
mode: single
|
|
- id: '1735876650796'
|
|
alias: Soveværelse - luk vindue
|
|
description: Sæt Radiator til auto når vinduet Lukkes
|
|
triggers:
|
|
- type: not_opened
|
|
device_id: 68272f2d2bd9c290a6ea9d41e706d4c9
|
|
entity_id: e47308fd3f35b9d3291a8bd8a0bfd504
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: climate.set_hvac_mode
|
|
metadata: {}
|
|
data:
|
|
hvac_mode: auto
|
|
target:
|
|
device_id:
|
|
- 547da8a34695f82651d4b68935710d1d
|
|
mode: single
|
|
- id: '1735876690141'
|
|
alias: Soveværelse - åben vindue
|
|
description: Luk Radiator når vinduet åbnes
|
|
triggers:
|
|
- type: opened
|
|
device_id: 68272f2d2bd9c290a6ea9d41e706d4c9
|
|
entity_id: e47308fd3f35b9d3291a8bd8a0bfd504
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: climate.set_hvac_mode
|
|
metadata: {}
|
|
data:
|
|
hvac_mode: 'off'
|
|
target:
|
|
device_id:
|
|
- 547da8a34695f82651d4b68935710d1d
|
|
mode: single
|
|
- id: '1740491821573'
|
|
alias: 'victoria turn off heating in victorias room '
|
|
description: 'turn off heating in victorias room if window opens '
|
|
triggers:
|
|
- type: opened
|
|
device_id: dc284837aff71d8b81a288d17962d9a5
|
|
entity_id: 922b17a39254b79f7e7773e61c86e3f1
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- data: {}
|
|
action: climate.turn_off
|
|
target:
|
|
device_id: f3fbaf154948921904985aa4c21f2a6b
|
|
mode: single
|
|
- id: '1740491914825'
|
|
alias: victoria turn on heating in victorias room
|
|
description: turn off heating in victorias room when window closes
|
|
triggers:
|
|
- type: not_opened
|
|
device_id: dc284837aff71d8b81a288d17962d9a5
|
|
entity_id: 922b17a39254b79f7e7773e61c86e3f1
|
|
domain: binary_sensor
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- data:
|
|
hvac_mode: auto
|
|
action: climate.set_hvac_mode
|
|
target:
|
|
device_id: f3fbaf154948921904985aa4c21f2a6b
|
|
mode: single
|
|
- id: '1742283043468'
|
|
alias: Kontor - Pressent - sluk lys
|
|
description: ''
|
|
triggers:
|
|
- type: not_occupied
|
|
device_id: d7d3bc79c625ac6be784158965c5efd7
|
|
entity_id: 2716cd871347a641e9e3816c0a9e7867
|
|
domain: binary_sensor
|
|
trigger: device
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 5
|
|
conditions: []
|
|
actions:
|
|
- type: turn_off
|
|
device_id: f847031db1854dfff2c4dec16259a6ad
|
|
entity_id: 9a7ccb3f347f15e3d7b956a8daeaae77
|
|
domain: switch
|
|
mode: single
|
|
- alias: Garage sluk
|
|
id: garage_sluk
|
|
trigger:
|
|
platform: sun
|
|
event: sunrise
|
|
offset: +00:30:00
|
|
action:
|
|
service: light.turn_off
|
|
entity_id:
|
|
- light.garage_light_garage1
|
|
- light.garage_light_garage2
|
|
- alias: Garage tænd
|
|
id: garage_tænd
|
|
trigger:
|
|
platform: sun
|
|
event: sunset
|
|
offset: -00:30:00
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.GarageNat
|
|
- alias: Garage when closing door
|
|
id: Garage_when_closing_door
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.bryggers_sensor_bryggersdor_contact
|
|
to: 'off'
|
|
for:
|
|
minutes: 3
|
|
condition:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.garage_when_door_closes
|
|
- alias: Garage when opening door
|
|
id: Garage_when_opening_door
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.bryggers_sensor_bryggersdor_contact
|
|
to: 'on'
|
|
condition:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.garage_opening_the_door
|
|
- alias: 00 - Google Home Automatic Resume
|
|
id: 417395bc-bd64-40a3-b20a-9062d426a01f
|
|
mode: parallel
|
|
max_exceeded: silent
|
|
trigger:
|
|
- platform: event
|
|
enabled: true
|
|
event_type: call_service
|
|
event_data:
|
|
domain: media_player
|
|
service: play_media
|
|
variables:
|
|
announce_volume: '{{ state_attr(''script.google_home_resume'', ''settings'').get(''announce_volume_automation'')
|
|
}}'
|
|
id: play
|
|
- platform: event
|
|
enabled: true
|
|
event_type: call_service
|
|
event_data:
|
|
domain: cast
|
|
service: show_lovelace_view
|
|
id: cast
|
|
variables:
|
|
version: 2023.8.0
|
|
settings:
|
|
primary_spotcast: pepijn
|
|
radio_data:
|
|
NPO Radio 2:
|
|
picture: http://192.168.2.3:8123/local/pictures/radio/npo_radio_2.png
|
|
title: Er is maar één NPO Radio 2
|
|
Radio Veronica:
|
|
picture: http://192.168.2.3:8123/local/pictures/radio/radio_veronica.png
|
|
title: WE. LOVE. MUSIC.
|
|
Willy:
|
|
picture: http://192.168.2.3:8123/local/pictures/radio/willy.png
|
|
title: MUSIC MATTERS
|
|
KINK:
|
|
picture: http://192.168.2.3:8123/local/pictures/radio/kink.jpg
|
|
title: NO ALTERNATIVE
|
|
speaker_groups:
|
|
media_player.huis_groep:
|
|
- media_player.keuken_hub
|
|
- media_player.slaapkamer_hub
|
|
- media_player.pepijn_mini
|
|
- media_player.woonkamer_home
|
|
- media_player.werkamer_marleen_minini
|
|
- media_player.zolder_werkkamer_stereo
|
|
- media_player.floris_mini
|
|
media_player.boven_groep:
|
|
- media_player.pepijn_mini
|
|
- media_player.slaapkamer_hub
|
|
- media_player.werkamer_marleen_mini
|
|
- media_player.zolder_werkkamer_stereo
|
|
- media_player.floris_mini
|
|
media_player.beneden_groep:
|
|
- media_player.keuken_hub
|
|
- media_player.woonkamer_home
|
|
media_player.zolder_groep:
|
|
- media_player.slaapkamer_hub
|
|
- media_player.zolder_werkkamer_stereo
|
|
default_volume_level: 0.5
|
|
dummy_player: media_player.vlc_telnet
|
|
default_resume_delay:
|
|
seconds: 20
|
|
max_runtime:
|
|
minutes: 10
|
|
enable_automation: true
|
|
dashboard_cast: true
|
|
announce_volume_automation: 0.4
|
|
entities: '{%- set e = trigger.event.data.service_data.entity_id %} {%- set e
|
|
= (e | replace('' '', '''')).split('','') if e is string else e %} {%- set e
|
|
= expand(e) | map(attribute=''entity_id'') | list %} {%- set speaker_groups
|
|
= settings.get(''speaker_groups'') | default({}, true) %} {%- set members =
|
|
speaker_groups.items() | selectattr(''0'', ''in'', e) | map(attribute=''1'')
|
|
| sum(start=[]) %} {{ e + members }}
|
|
|
|
'
|
|
condition:
|
|
- alias: Check if automation in enabled in script settings
|
|
condition: template
|
|
value_template: '{{ settings.enable_automation | default(true) }}'
|
|
- alias: Check if announce was set on the service call
|
|
condition: template
|
|
value_template: '{{ trigger.id == ''cast'' or trigger.event.data.service_data.get(''announce'',
|
|
false) }}'
|
|
- alias: Check if dashboard resume is enabled in case of dashboard cast trigger
|
|
condition: template
|
|
value_template: '{{ trigger.id == ''play'' or settings.get(''dashboard_cast'')
|
|
| default(true) or settings.get(''dashboard_cast'') is none }}'
|
|
action:
|
|
- alias: Set variables to be used in the automation
|
|
variables:
|
|
start_time: '{{ start_time if start_time is defined else now() }}'
|
|
speaker_groups: '{{ settings.get(''speaker_groups'') | default({}, true) }}'
|
|
speaker_group_list: '{{ speaker_groups.keys() | list }}'
|
|
cast_entities: '{{ integration_entities(''cast'') }}'
|
|
spotify_entities: '{{ integration_entities(''spotify'') }}'
|
|
primary_spotcast_check: '{%- set accounts = spotify_entities | map(''replace'',
|
|
''media_player.spotify_'', '''') | list %} {{ spotify_entities | count <=
|
|
1 or settings.get(''primary_spotcast'') in accounts }}
|
|
|
|
'
|
|
ytube_music_entities: '{{ integration_entities(''ytube_music_player'') | select(''match'',
|
|
''^media_player.'') | list }}
|
|
|
|
'
|
|
resume_active: "{{ expand(integration_entities('group'))\n | selectattr('entity_id',\
|
|
\ 'search', 'group.resume_active_ghresume')\n | map(attribute='attributes.entity_id')\n\
|
|
\ | map('list')\n | sum(start=[])\n}}\n"
|
|
resume_action_false: "{{ expand(integration_entities('group'))\n | selectattr('entity_id',\
|
|
\ 'search', 'group.resume_action_false_ghresume')\n | map(attribute='attributes.entity_id')\n\
|
|
\ | map('list')\n | sum(start=[])\n}}\n"
|
|
- alias: Failsafe to remove all groups if no resume scripts are not running
|
|
if: "{{ \n is_state_attr('script.google_home_resume', 'current', 0)\n and integration_entities('group')\n\
|
|
\ | select('search', 'ghresume')\n | list | count > 0\n}}\n"
|
|
then:
|
|
- alias: Which groups to remove
|
|
variables:
|
|
groups_existing: '{{ integration_entities(''group'') | select(''search'',
|
|
''ghresume'') | list }}
|
|
|
|
'
|
|
- alias: Loop to remove groups
|
|
repeat:
|
|
for_each: '{{ groups_existing }}'
|
|
sequence:
|
|
- alias: Remove one group
|
|
service: group.remove
|
|
data:
|
|
object_id: '{{ states[repeat.item].object_id }}'
|
|
- alias: Check if target is already being resumed on in a group which is already
|
|
being resumed
|
|
condition: template
|
|
value_template: "{%- set groups = states.group\n | selectattr('entity_id',\
|
|
\ 'search', 'resume_script_active_ghresume_')\n | map(attribute='entity_id')\n\
|
|
\ | list\n%} {%- set active = expand(groups)\n | rejectattr('state',\
|
|
\ 'in', ['unknown', 'unavailable'])\n | map(attribute='entity_id')\n\
|
|
\ | unique\n | list\n%} {%- set members =\
|
|
\ speaker_groups.items() | selectattr('0', 'in', active) | map(attribute='1')\
|
|
\ | sum(start=[]) %} {%- set active = active + members %} {%- set target_members\
|
|
\ = speaker_groups.items() | selectattr('0', 'in', entities) | map(attribute='1')\
|
|
\ | sum(start=[]) %} {%- set entities = (entities + target_members) | reject('in',\
|
|
\ speaker_group_list) | unique | list %} {{ entities | reject('in', active)\
|
|
\ | list | count > 0 }}\n"
|
|
- alias: Are there Spotify entities?
|
|
if: '{{ integration_entities(''spotify'') | count > 0 }}'
|
|
then:
|
|
- alias: Update Spotify entities
|
|
service: homeassistant.update_entity
|
|
target:
|
|
entity_id: '{{ integration_entities(''spotify'') }}'
|
|
- alias: Set data_source and determine target list
|
|
variables:
|
|
data_source: automation
|
|
target_list: "{{\n integration_entities('cast')\n | select('in', entities)\n\
|
|
\ | list\n}}\n"
|
|
- variables:
|
|
player_data: "{%- if player_data is undefined %}\n {# general information for\
|
|
\ all entities #}\n {%- set ns = namespace(info=[], groups_playing=[]) %}\n\
|
|
\ {%- for entity in expand(cast_entities) %}\n {%- set members = speaker_groups[entity.entity_id]\n\
|
|
\ if speaker_groups is defined\n and\
|
|
\ iif(speaker_groups)\n and entity.entity_id in speaker_group_list\n\
|
|
\ else []\n %}\n {%- set screen = entity.attributes.device_class\
|
|
\ is not defined %}\n {%- set type = iif(members,'group',iif(screen,'screen','speaker'))\
|
|
\ %}\n {%- for group in speaker_group_list %}\n {%- set members\
|
|
\ = speaker_groups.items() | selectattr('0', 'eq', group) | map(attribute='1')\
|
|
\ | list | first %}\n {%- set members_playing = expand(members) | selectattr('state',\
|
|
\ 'eq', 'playing') | list | count == members | count %}\n {%- set content_list\
|
|
\ = expand(members) | selectattr('attributes.media_content_id', 'defined')\
|
|
\ | map(attribute='attributes.media_content_id') | list %}\n {%- set\
|
|
\ group_playing = members_playing and content_list | select('eq', content_list[0])\
|
|
\ | list | count == content_list | count %}\n {%- set ns.groups_playing\
|
|
\ = ns.groups_playing + [ group ] if group_playing else ns.groups_playing\
|
|
\ %}\n {%- endfor %}\n {%- set groups_playing = ns.groups_playing\
|
|
\ %}\n {%- if type == 'speaker' %}\n {% set groups = speaker_groups.items()\
|
|
\ | selectattr('1', 'search', entity.entity_id) | map(attribute='0') | list\
|
|
\ %}\n {% set playing = groups | select('in', groups_playing) | list\
|
|
\ | count > 0 %}\n {% set type = 'playing_member' if playing else type\
|
|
\ %}\n {%- endif %}\n {%- set state = 'off' if type == 'group' and\
|
|
\ not entity.entity_id in groups_playing else entity.state %}\n {%- set\
|
|
\ general = dict(\n data_source = data_source,\n\
|
|
\ entity_id = entity.entity_id,\n \
|
|
\ state = state,\n type = type,\n\
|
|
\ members = members\n \
|
|
\ )\n if type != 'playing_member'\n \
|
|
\ else dict(entity_id = entity.entity_id, type = type, members=[])\n\
|
|
\ %}\n {# check if there is a Spotify account playing on this entity\
|
|
\ #}\n {%- set list_check = expand([ entity.entity_id ] + members) |\
|
|
\ map(attribute='name') | list %}\n {%- set spotify_entity = expand(spotify_entities)\n\
|
|
\ | selectattr('state', 'eq', 'playing')\n\
|
|
\ | selectattr('attributes.source', 'in',\
|
|
\ list_check)\n | map(attribute='object_id')\n\
|
|
\ | join\n \
|
|
\ | replace('spotify_', '')\n %}\n {# add volume level #}\n \
|
|
\ {%- if not state in ['off', 'unavailable', 'unknown'] or type == 'playing_member'\
|
|
\ %}\n {%- set additional = dict(volume_level = entity.attributes.get('volume_level',\
|
|
\ settings.get('default_volume_level')) | round(2, default=0.25)) %}\n \
|
|
\ {%- else %}\n {%- set additional = {} %}\n {%- endif %}\n\
|
|
\ {# add metadata for playing entities #}\n {%- if type == 'playing_member'%}\n\
|
|
\ {%- elif (spotify_entity or\n (\n entity.state\
|
|
\ == 'playing'\n and expand(speaker_groups.items()\n \
|
|
\ | selectattr('0', 'eq', entity.entity_id)\n \
|
|
\ | list) \n | rejectattr('state',\
|
|
\ 'eq', 'playing')\n | list\n \
|
|
\ | count == 0\n )) and (type != 'group' or entity.entity_id\
|
|
\ in groups_playing)\n %}\n {%- set additional = dict(additional,\
|
|
\ **dict(\n state = 'playing',\n \
|
|
\ app_name = entity.attributes.get('app_name', 'no\
|
|
\ app'),\n media_content_id = (entity.attributes.get('media_content_id',\
|
|
\ {}) | from_json).get('contentId', 'no media_content')\n \
|
|
\ if entity.attributes.get('app_name')\
|
|
\ == 'Google Podcasts'\n \
|
|
\ else entity.attributes.get('media_content_id', 'no media_content'),\n\
|
|
\ media_position = (as_timestamp(now()) |\
|
|
\ round(2)\n - as_timestamp(entity.attributes.get('media_position_updated_at',\
|
|
\ now())) | round(2)\n \
|
|
\ + entity.attributes.get('media_position', 0)) | round(2)\n \
|
|
\ ))\n %}\n {# add Spotify account #}\n\
|
|
\ {%- if entity.attributes.get('app_name') == 'Spotify' %}\n \
|
|
\ {%- set spotcast = spotify_entity if spotify_entity\n \
|
|
\ and settings.primary_spotcast is defined\n \
|
|
\ and spotify_entity != settings.primary_spotcast\n\
|
|
\ and spotify_entities | count > 1\n \
|
|
\ and primary_spotcast_check\n \
|
|
\ else 'primary_account' %}\n {%- set additional\
|
|
\ = dict(additional,\n **dict(state='playing',\n\
|
|
\ spotcast = spotcast\n \
|
|
\ )\n )\
|
|
\ \n %}\n {# add information for ytube_music_player integration\
|
|
\ #}\n {%- elif entity.entity_id in expand(ytube_music_entities)\n\
|
|
\ | selectattr('state', 'eq', 'playing')\n\
|
|
\ | selectattr('attributes.remote_player_id',\
|
|
\ 'defined')\n | map(attribute='attributes.remote_player_id')\n\
|
|
\ | list\n %}\n {%- set\
|
|
\ additional = dict(additional,\n **dict(app_name='Ytube\
|
|
\ Music Player',\n yt_player=expand(ytube_music_entities)\
|
|
\ | selectattr('attributes.remote_player_id', 'defined') | selectattr('attributes.remote_player_id',\
|
|
\ 'eq', entity.entity_id) | map(attribute='entity_id') | join,\n \
|
|
\ media_content_id = 'ytube_music'\n \
|
|
\ )\n \
|
|
\ ) \n %}\n {# add information for web streams (including\
|
|
\ TuneIn) #}\n {%- elif entity.attributes.get('app_name') not in ['Spotify',\
|
|
\ 'YouTube', 'YouTube Music'] %}\n {%- if entity.attributes.get('media_artist')\
|
|
\ in (settings.get('radio_data') | default({}, true)).keys() | list %}\n \
|
|
\ {%- set data = settings.radio_data[entity.attributes.media_artist]\
|
|
\ %}\n {%- set picture, title = data.get('picture'), data.get('title')\
|
|
\ %}\n {%- endif %}\n {%- set additional = dict(additional,\
|
|
\ **dict(\n media_artist = 'Google\
|
|
\ Podcasts' if entity.attributes.get('app_name') == 'Google Podcasts'\n \
|
|
\ else entity.attributes.get('media_artist',\
|
|
\ 'no artist'),\n media_title = title\
|
|
\ if title is defined else entity.attributes.get('media_title', 'no title'),\n\
|
|
\ media_content_type = '' ~ entity.attributes.get('media_content_type',\
|
|
\ 'no type'),\n entity_picture = picture\
|
|
\ if picture is defined else entity.attributes.get('entity_picture', 'no pic')\n\
|
|
\ ))\n %}\n {%- endif\
|
|
\ %}\n {%- endif %}\n {# cobmine all data #}\n {%- set ns.info\
|
|
\ = ns.info + [ dict(general, **additional) if additional is defined else\
|
|
\ general ] %}\n {%- endfor %}\n {% set player_data = ns.info %}\n{%- endif\
|
|
\ %} {{ player_data }}\n"
|
|
- alias: Interrupt YouTube music if needed
|
|
if: '{{ player_data | selectattr(''entity_id'', ''in'', target_list) | selectattr(''yt_player'',
|
|
''defined'') | list | count > 0 }}
|
|
|
|
'
|
|
then:
|
|
- service: ytube_music_player.call_method
|
|
data:
|
|
entity_id: '{{ player_data | selectattr(''entity_id'', ''in'', target_list)
|
|
| selectattr(''yt_player'', ''defined'') | map(attribute=''yt_player'')
|
|
| list }}
|
|
|
|
'
|
|
command: interrupt_start
|
|
- if: '{{ trigger.id == ''play'' and announce_volume is defined and iif(announce_volume)
|
|
}}'
|
|
then:
|
|
- wait_template: '{{ is_state(entities|first, ''idle'') }}'
|
|
- alias: Set volume for announcement
|
|
service: media_player.volume_set
|
|
target:
|
|
entity_id: '{{ entities }}'
|
|
data:
|
|
volume_level: '{{ announce_volume }}'
|
|
- alias: Short delay
|
|
delay: 0.5
|
|
- alias: Check again if target is already being resumed
|
|
condition: template
|
|
value_template: "{%- set groups = states.group\n | selectattr('entity_id',\
|
|
\ 'search', 'resume_script_active_ghresume_')\n | map(attribute='entity_id')\n\
|
|
\ | list\n%} {%- set active = expand(groups)\n | rejectattr('state',\
|
|
\ 'in', ['unknown', 'unavailable'])\n | map(attribute='entity_id')\n\
|
|
\ | unique\n | list\n%} {%- set members =\
|
|
\ speaker_groups.items() | selectattr('0', 'in', active) | map(attribute='1')\
|
|
\ | sum(start=[]) %} {%- set active = active + members %} {%- set target_members\
|
|
\ = speaker_groups.items() | selectattr('0', 'in', entities) | map(attribute='1')\
|
|
\ | sum(start=[]) %} {%- set entities = (entities + target_members) | reject('in',\
|
|
\ speaker_group_list) | unique | list %} {{ entities | reject('in', active)\
|
|
\ | list | count > 0 }}\n"
|
|
- alias: Send actions using Google Home Resume script
|
|
service: script.turn_on
|
|
target:
|
|
entity_id: script.google_home_resume
|
|
data:
|
|
variables:
|
|
start_time: '{{ start_time }}'
|
|
automation: true
|
|
target_list: '{{ target_list }}'
|
|
player_data: '{{ player_data }}'
|
|
- alias: ingen_er_hjemme
|
|
id: '16355416316486'
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: zone.home
|
|
below: 1
|
|
action:
|
|
- service: scene.turn_on
|
|
target:
|
|
entity_id: scene.SlukAltLysUntagetUdelysOgUnderKoekkenbordet
|
|
- alias: AI Suggestions - New Entity Detection
|
|
description: Generates automation suggestions whenever new entities are registered
|
|
in Home Assistant
|
|
trigger:
|
|
- platform: event
|
|
event_type: entity_registry_updated
|
|
event_data:
|
|
action: create
|
|
- platform: event
|
|
event_type: entity_registry_updated
|
|
event_data:
|
|
action: update
|
|
condition:
|
|
- condition: template
|
|
value_template: "{% set last_triggered = states('automation.ai_suggestions_new_entity_detection').attributes.last_triggered\
|
|
\ %} {% if last_triggered is not none %}\n {% set hours_since = ((now() - as_datetime(last_triggered)).total_seconds()\
|
|
\ / 3600) | float %}\n {{ hours_since > 1.0 }}\n{% else %}\n true\n{% endif\
|
|
\ %}"
|
|
action:
|
|
- service: ai_automation_suggester.generate_suggestions
|
|
target: {}
|
|
data: {}
|
|
- alias: nogen_er_hjemme
|
|
id: '16355416358686'
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: zone.home
|
|
above: 0
|
|
action:
|
|
- condition: or
|
|
conditions:
|
|
- condition: sun
|
|
before: sunrise
|
|
- condition: sun
|
|
after: sunset
|
|
- service: scene.turn_on
|
|
target:
|
|
entity_id: scene.TaendLysNaaAlarmFrakolbles
|
|
- id: climate_control_for_two_windows_in_Sophies_room
|
|
alias: sophie turn on heating in sophies room in Sophie's room
|
|
description: Turn off heating when either window is open and turn it back on when
|
|
both windows are closed
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.sophie_sensor_sophievindue1_contact
|
|
- binary_sensor.sophie_sensor_sophievindue2_contact
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.sophie_sensor_sophievindue1_contact
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: binary_sensor.sophie_sensor_sophievindue2_contact
|
|
state: 'on'
|
|
sequence:
|
|
- service: climate.turn_off
|
|
target:
|
|
entity_id: climate.sophies_vaerelse
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.sophie_sensor_sophievindue1_contact
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: binary_sensor.sophie_sensor_sophievindue2_contact
|
|
state: 'off'
|
|
sequence:
|
|
- service: climate.set_hvac_mode
|
|
target:
|
|
entity_id: climate.sophies_vaerelse
|
|
data:
|
|
hvac_mode: auto
|
|
mode: single
|
|
- alias: Sovevaerelse Dag
|
|
id: sovevaerelseDag
|
|
trigger:
|
|
- platform: state
|
|
entity_id: light.sovevaerelse
|
|
to: 'on'
|
|
from: 'off'
|
|
condition:
|
|
- condition: time
|
|
after: 06:00:01
|
|
before: '18:59:59'
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.SovevaerelseDag
|
|
- alias: Sovevaerelse Nat
|
|
id: sovevaerelseNat
|
|
trigger:
|
|
- platform: state
|
|
entity_id: light.sovevaerelse
|
|
to: 'on'
|
|
from: 'off'
|
|
condition:
|
|
- condition: time
|
|
after: '19:00:00'
|
|
before: 06:00:00
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.SovevaerelseNat
|
|
- alias: Terrasse Baghave tænd
|
|
id: terrasseBaghave_tænd
|
|
trigger:
|
|
platform: sun
|
|
event: sunset
|
|
offset: -00:30:00
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.terrasseBaghaveNat
|
|
- alias: Terrasse Forhave tænd
|
|
id: terrasseForhave_tænd
|
|
trigger:
|
|
platform: sun
|
|
event: sunset
|
|
offset: -00:30:00
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.terrasseForhaveNat
|
|
- alias: Terrasse sluk
|
|
id: terrasse_sluk
|
|
trigger:
|
|
platform: sun
|
|
event: sunrise
|
|
offset: +00:30:00
|
|
action:
|
|
service: light.turn_off
|
|
entity_id:
|
|
- light.terrasse_light_terrasseforhave
|
|
- light.terrasse_light_terrassebaghave
|
|
- alias: Koekken under_koekkenbordet Off
|
|
id: under_koekkenbordet_Off
|
|
trigger:
|
|
platform: sun
|
|
event: sunrise
|
|
offset: +00:30:00
|
|
action:
|
|
service: light.turn_off
|
|
entity_id: light.controller_rgb_ir_b788e5
|
|
- alias: Koekken under_koekkenbordet On
|
|
id: under_koekkenbordet-On
|
|
trigger:
|
|
platform: sun
|
|
event: sunset
|
|
offset: -00:30:00
|
|
action:
|
|
service: light.turn_on
|
|
entity_id: light.controller_rgb_ir_b788e5
|
|
- alias: AI Suggestions - Weekly Review
|
|
description: Performs a weekly scan of all entities to suggest new automation opportunities
|
|
trigger:
|
|
- platform: time
|
|
at: 03:00:00
|
|
condition:
|
|
- condition: time
|
|
weekday:
|
|
- sun
|
|
action:
|
|
- service: ai_automation_suggester.generate_suggestions
|
|
data:
|
|
all_entities: true
|
|
- service: persistent_notification.create
|
|
data:
|
|
title: Weekly Automation Review
|
|
message: The AI Automation Suggester has completed its weekly review. Check
|
|
the suggestions sensor for new automation ideas!
|
|
notification_id: weekly_automation_review
|