Refactor automations and add new scenes and scripts

- Enhanced automations.yaml with new parallel actions for doorbell notifications and image analysis.
- Introduced new scenes.yaml for managing cover positions during TV time.
- Updated scripts.yaml to include mobile notifications with images for enhanced alerts.
- Created a new dashboard.yaml file for future dashboard configurations.
This commit is contained in:
Ben Melchior
2025-04-20 19:30:00 +02:00
parent 20122a7c5b
commit ab8b2d83f5
4 changed files with 908 additions and 41 deletions

View File

@@ -7,24 +7,41 @@
- sensor.8000_state - sensor.8000_state
to: In use to: In use
conditions: conditions:
- condition: state
entity_id: input_boolean.schlaffmodus
state: 'off'
- condition: state - condition: state
entity_id: sensor.8000_connected_line entity_id: sensor.8000_connected_line
attribute: Exten attribute: Exten
state: '7001' state: '7001'
actions: actions:
- parallel:
- if:
- condition: state
entity_id: input_boolean.schlaffmodus
state: 'off'
then:
- action: media_player.play_media - action: media_player.play_media
target: target:
entity_id: media_player.kuche entity_id:
- media_player.kuche
- media_player.gallerie
data: data:
announce: true announce: true
media_content_id: media-source://media_source/local/hass_media/doorbell.wav media_content_id: media-source://media_source/local/hass_media/doorbell.wav
media_content_type: audio/x-wav media_content_type: audio/x-wav
extra: extra:
volume: 50 volume: 0
- sequence: - sequence:
- action: camera.snapshot
metadata: {}
data:
filename: /config/www/snapshot/doorbell.jpg
target:
entity_id: camera.haustur
- action: script.cobe_haus_benachrichtigung_mit_bild
metadata: {}
data:
title: COBE Haus - Hausdier
message: Et ass een un der Hausdier.
image: https://hass.cobe.space/local/snapshot/doorbell.jpg
- action: input_boolean.turn_on - action: input_boolean.turn_on
metadata: {} metadata: {}
data: {} data: {}
@@ -40,11 +57,35 @@
data: {} data: {}
target: target:
entity_id: input_boolean.videophone_anzeigen entity_id: input_boolean.videophone_anzeigen
- sequence:
- action: llmvision.image_analyzer
metadata: {}
data:
include_filename: false
max_tokens: 150
temperature: 0.2
provider: 01JS9H5VFVF5YSYCFB9YW4G0TN
image_entity:
- camera.haustur
model: gemma3:12b
target_width: 1025
message: 'Beschreibe kurz und knapp das Bild meiner Haustürkamera auf Deutsch.
Wieviele Person siehst du?
Ignoriere das weiße Haus im Hintergrund. Konzentriere die Beschreibung
auf Personen, Fahrzeuge oder sonstige Auffälligkeiten.
Antworte bloß mit der Beschreibung und sonst nichts.'
expose_images: false
response_variable: doorbell
- action: script.cobe_haus_benachrichtigung - action: script.cobe_haus_benachrichtigung
metadata: {} metadata: {}
data: data:
message: Dass een un der Hausdier. message: '{{ doorbell.response_text }}'
mode: single title: COBE Haus - Hausdier
mode: restart
- id: '1743358810428' - id: '1743358810428'
alias: Einschlaffmodus einschalten alias: Einschlaffmodus einschalten
description: '' description: ''
@@ -101,14 +142,6 @@
data: {} data: {}
target: target:
entity_id: input_boolean.schlaffmodus entity_id: input_boolean.schlaffmodus
- action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id:
- automation.nachtsbeleuchtung_einschalten
- automation.rollaten_automatisch_schliessen
mode: single mode: single
- id: '1743361716570' - id: '1743361716570'
alias: Schlaffmodus ausschalten alias: Schlaffmodus ausschalten
@@ -163,6 +196,12 @@
entity_id: input_boolean.rolladen_automatisch_offnen_schliessen entity_id: input_boolean.rolladen_automatisch_offnen_schliessen
state: 'on' state: 'on'
actions: actions:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
- action: cover.close_cover - action: cover.close_cover
metadata: {} metadata: {}
data: {} data: {}
@@ -171,6 +210,16 @@
- obergeschoss_2 - obergeschoss_2
- obergeschoss_1 - obergeschoss_1
- erdgeschoss - erdgeschoss
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
mode: single mode: single
- id: '1743363549729' - id: '1743363549729'
alias: Rolladen automatisch öffnen alias: Rolladen automatisch öffnen
@@ -185,6 +234,12 @@
at: 09:00:00 at: 09:00:00
conditions: [] conditions: []
actions: actions:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
- action: cover.open_cover - action: cover.open_cover
metadata: {} metadata: {}
data: {} data: {}
@@ -206,6 +261,16 @@
area_id: area_id:
- emil - emil
- schlafzimmer - schlafzimmer
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
mode: single mode: single
- id: '1743363740983' - id: '1743363740983'
alias: Nachtsbeleuchtung einschalten alias: Nachtsbeleuchtung einschalten
@@ -246,3 +311,719 @@
- light.lda_eg_th_01 - light.lda_eg_th_01
data: {} data: {}
mode: single mode: single
- id: '1743597550070'
alias: Küche im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.l_eg_ku_01
- light.lda_eg_ku_01
- light.lda_eg_ku_02
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.l_eg_ku_01
state: 'on'
- condition: state
entity_id: light.lda_eg_ku_01
state: 'on'
- condition: state
entity_id: light.lda_eg_ku_02
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.kuche_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.kuche_anzeigen
mode: single
- id: '1743598217150'
alias: Wohzimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_eg_wz_01
- light.lda_eg_wz_02
- light.ld_eg_wz_01
- light.ld_eg_wz_02
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_eg_wz_01
state: 'on'
- condition: state
entity_id: light.lda_eg_wz_02
state: 'on'
- condition: state
entity_id: light.ld_eg_wz_01
state: 'on'
- condition: state
entity_id: light.ld_eg_wz_02
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.wohnzimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.wohnzimmer_anzeigen
mode: single
- id: '1743598510606'
alias: Emil Zimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og1_sz1_01
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og1_sz1_01
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.emil_zimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.emil_zimmer_anzeigen
mode: single
- id: '1743598616558'
alias: Millie Zimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og1_sz2_01
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og1_sz2_01
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.millie_zimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.millie_zimmer_anzeigen
mode: single
- id: '1743598967781'
alias: Kinder Badzimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og1_bz_01
- light.lda_og1_bz_02
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og1_bz_01
state: 'on'
- condition: state
entity_id: light.lda_og1_bz_02
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.kinderbadezimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.kinderbadezimmer_anzeigen
mode: single
- id: '1743599029849'
alias: Badezimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og2_bz_01
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og2_bz_01
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.badezimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.badezimmer_anzeigen
mode: single
- id: '1743599124418'
alias: Schlaffzimmer im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og2_sz_01
- light.l_og2_sz_02
- light.l_og2_sz_03
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og2_sz_01
state: 'on'
- condition: state
entity_id: light.l_og2_sz_02
state: 'on'
- condition: state
entity_id: light.l_og2_sz_03
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.schlaffzimmer_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.schlaffzimmer_anzeigen
mode: single
- id: '1743607057910'
alias: Präsenzmelder Flur
description: ''
triggers:
- trigger: state
entity_id:
- switch.se_og1_fl_pr
from: 'off'
to: 'on'
conditions: []
actions:
- if:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.schlaffmodus
state: 'off'
- condition: state
entity_id: input_boolean.einschlaffmodus
state: 'off'
- condition: numeric_state
entity_id: sensor.se_og1_fl_lux
below: input_number.helligkeit_flur
then:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 10
transition: 2
target:
entity_id:
- light.lda_eg_th_01
- light.lda_og1_th_01
- action: light.turn_on
metadata: {}
data:
brightness_pct: 25
transition: 2
target:
entity_id:
- light.lda_og1_fl_01
- light.lda_og2_fl_01
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.lda_eg_th_01
- light.lda_og1_th_01
- light.lda_og1_fl_01
- light.lda_og2_fl_01
data:
transition: 2
- if:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.schlaffmodus
state: 'off'
- condition: state
entity_id: input_boolean.einschlaffmodus
state: 'on'
- condition: numeric_state
entity_id: sensor.se_og1_fl_lux
below: input_number.helligkeit_flur
then:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 10
transition: 2
target:
entity_id:
- light.lda_eg_th_01
- light.lda_og1_th_01
- action: light.turn_on
metadata: {}
data:
brightness_pct: 25
transition: 2
target:
entity_id:
- light.lda_og1_fl_01
- light.lda_og2_fl_01
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.lda_og1_fl_01
- light.lda_og2_fl_01
data:
transition: 2
- action: light.turn_on
metadata: {}
data:
brightness_pct: 1
transition: 2
target:
entity_id:
- light.lda_eg_th_01
- light.lda_og1_th_01
mode: restart
- id: '1743608601041'
alias: 3D-Print abgeschloßen
description: ''
triggers:
- trigger: state
entity_id:
- sensor.octoprint_current_state
from: Printing
to: Operational
conditions:
- condition: state
entity_id: input_boolean.schlaffmodus
state: 'off'
actions:
- action: media_player.play_media
target:
entity_id:
- media_player.kuche
- media_player.gallerie
data:
announce: true
media_content_id: media-source://media_source/local/hass_media/3dprint_finish.mp3
media_content_type: audio/x-wav
extra:
volume: 15
- action: script.cobe_haus_benachrichtigung
metadata: {}
data:
title: COBE Haus
message: Den 3D-Drock as ferdech.
mode: single
- id: '1743656523388'
alias: Präsenzmelder Eingangsbereich
description: ''
triggers:
- trigger: state
entity_id:
- switch.se_au_eg_pr
from: 'off'
to: 'on'
conditions:
- condition: numeric_state
entity_id: sensor.se_au_eg_lux
below: 10
actions:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 20
transition: 2
target:
entity_id: light.lda_au_ga_01
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lda_au_ga_01
mode: restart
- id: '1743952518641'
alias: Beschattung Westen
description: ''
triggers:
- trigger: time_pattern
minutes: /15
- trigger: numeric_state
entity_id:
- sensor.sun_solar_azimuth
id: ShadeOff
above: input_number.beschattung_azimut_west_ende
- trigger: numeric_state
entity_id:
- sensor.sun_solar_elevation
id: ShadeOff
below: input_number.beschattung_elevation
- trigger: state
entity_id:
- weather.forecast_home
to:
- Regnerisch
- Bewölkt
- Nebel
- Strömender Regen
- Hagel
- Gewitter, regnerisch
- Gewitter
- Schneeregen
- Schneefall
- Windig
- Windig, bewölkt
id: ShadeOff
- trigger: state
entity_id:
- weather.forecast_home
conditions:
- condition: or
conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.sun_solar_azimuth
above: input_number.beschattung_azimut_west_start
below: input_number.beschattung_azimut_west_ende
- condition: numeric_state
entity_id: sensor.sun_solar_elevation
above: input_number.beschattung_elevation
- condition: or
conditions:
- condition: state
entity_id: weather.forecast_home
state: partlycloudy
- condition: state
entity_id: weather.forecast_home
state: sunny
- condition: trigger
id:
- ShadeOff
- condition: state
entity_id: input_boolean.rolladenautomatik
state: 'on'
- condition: state
entity_id: input_boolean.rolladen_automatisch_beschatten
state: 'on'
actions:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
- if:
- condition: trigger
id:
- ShadeOff
then:
- if:
- condition: state
entity_id: input_boolean.block_r_eg_wz_01
state: 'off'
then:
- action: cover.open_cover
metadata: {}
data: {}
target:
entity_id: cover.r_eg_wz_01
else:
- if:
- condition: state
entity_id: input_boolean.block_r_eg_wz_01
state: 'off'
then:
- action: cover.set_cover_position
metadata: {}
data:
position: 20
target:
entity_id: cover.r_eg_wz_01
- if:
- condition: trigger
id:
- ShadeOff
then:
- if:
- condition: state
entity_id: input_boolean.block_r_og1_bi_01
state: 'off'
then:
- action: cover.open_cover
metadata: {}
data: {}
target:
entity_id:
- cover.r_og1_bi_01
else:
- if:
- condition: state
entity_id: input_boolean.block_r_og1_bi_01
state: 'off'
then:
- action: cover.set_cover_position
metadata: {}
data:
position: 20
target:
entity_id: cover.r_og1_bi_01
- delay:
hours: 0
minutes: 1
seconds: 0
milliseconds: 0
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.automatik_fur_einzelne_rolladen_blockieren
mode: single
- id: '1743957027473'
alias: Automatik für einzelne Rolladen blockieren
description: ''
triggers:
- trigger: time
at: '23:59:00'
id: Reset
- trigger: state
entity_id:
- cover.r_eg_wz_01
id: R_EG_WZ_01
- trigger: state
entity_id:
- cover.r_og1_bi_01
id: R_OG1_BI_01
conditions: []
actions:
- if:
- condition: trigger
id:
- Reset
then:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.block_r_eg_wz_01
- if:
- condition: trigger
id:
- R_EG_WZ_01
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.block_r_eg_wz_01
- if:
- condition: trigger
id:
- R_OG1_BI_01
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id:
- input_boolean.block_r_og1_bi_01
mode: single
- id: '1745042137394'
alias: 'Sonos: RTL wiedergeben'
description: ''
triggers: []
conditions: []
actions:
- action: media_player.volume_set
metadata: {}
data:
volume_level: 0.3
target:
entity_id:
- media_player.kuche
- media_player.gallerie
- action: media_player.play_media
target:
entity_id:
- media_player.gallerie
- media_player.kuche
data:
media_content_id: media-source://radio_browser/960ef824-0601-11e8-ae97-52543be04c81
media_content_type: audio/mpeg
metadata:
title: RTL Radio Letzebuerg
thumbnail: http://www.rtl.lu/assets/images/favicon-rtllu/apple-touch-icon.png?v=202304271020
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://radio_browser
- media_content_type: music
media_content_id: media-source://radio_browser/country/LU
mode: single
- id: '1745042595220'
alias: 'Sonos: Eldoradio wiedergeben'
description: ''
triggers: []
conditions: []
actions:
- action: media_player.volume_set
metadata: {}
data:
volume_level: 0.3
target:
entity_id:
- media_player.kuche
- media_player.gallerie
- action: media_player.play_media
target:
entity_id:
- media_player.kuche
- media_player.gallerie
data:
media_content_id: media-source://radio_browser/9611e44f-0601-11e8-ae97-52543be04c81
media_content_type: audio/mpeg
metadata:
title: Eldoradio
thumbnail: ''
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://radio_browser
- media_content_type: music
media_content_id: media-source://radio_browser/country/LU
mode: single
- id: '1745161619601'
alias: Beleuchtung Garage
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.garage_ben
- binary_sensor.garage_conny
to: 'on'
conditions: []
actions:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.l_au_ga_01
- wait_for_trigger:
- trigger: state
entity_id:
- binary_sensor.garage_ben
- binary_sensor.garage_conny
from: 'on'
to: 'off'
for:
hours: 0
minutes: 1
seconds: 0
timeout:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.l_au_ga_01
mode: single
- id: '1745163313518'
alias: Gallerie im Dashboard anzeigen
description: ''
triggers:
- trigger: state
entity_id:
- light.lda_og1_bi_01
conditions: []
actions:
- if:
- condition: or
conditions:
- condition: state
entity_id: light.lda_og1_bi_01
state: 'on'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id:
- input_boolean.gallerie_anzeigen
else:
- action: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.gallerie_anzeigen
mode: single

0
dashboard.yaml Normal file
View File

View File

@@ -0,0 +1,37 @@
- id: '1745137949621'
name: Fernsehen
entities:
cover.r_eg_wz_01:
current_position: 36
device_class: blind
friendly_name: R_EG_WZ_01
supported_features: 127
state: open
cover.r_og1_bi_01:
current_position: 40
device_class: blind
friendly_name: R_OG1_BI_01
supported_features: 127
state: open
cover.r_eg_wz_03:
current_position: 51
device_class: blind
friendly_name: R_EG_WZ_03
supported_features: 127
state: open
cover.r_eg_ku_01:
current_position: 50
device_class: blind
friendly_name: R_EG_KÜ_01
supported_features: 127
state: open
icon: mdi:television
metadata:
cover.r_eg_wz_01:
entity_only: true
cover.r_og1_bi_01:
entity_only: true
cover.r_eg_wz_03:
entity_only: true
cover.r_eg_ku_01:
entity_only: true

View File

@@ -10,6 +10,11 @@ cobe_haus_benachrichtigung:
data: data:
message: '{{ message }}' message: '{{ message }}'
title: '{{ title }}' title: '{{ title }}'
- action: notify.mobile_app_sm_f711b
metadata: {}
data:
message: '{{ message }}'
title: '{{ title }}'
fields: fields:
title: title:
selector: selector:
@@ -25,3 +30,47 @@ cobe_haus_benachrichtigung:
required: true required: true
alias: COBE Haus Benachrichtigung alias: COBE Haus Benachrichtigung
description: '' description: ''
cobe_haus_benachrichtigung_mit_bild:
sequence:
- action: notify.mobile_app_iphone
metadata: {}
data:
message: '{{ message }}'
title: '{{ title }}'
data:
image: '{{ image }}'
- action: notify.mobile_app_iphone_von_conny
metadata: {}
data:
message: '{{ message }}'
title: '{{ title }}'
data:
image: '{ image }'
- action: notify.mobile_app_sm_f711b
metadata: {}
data:
message: '{{ message }}'
title: '{{ title }}'
data:
image: '{ image }'
fields:
title:
selector:
text:
name: Titel
description: Titel der Benachrichtigung
default: COBE Haus
message:
selector:
text:
name: Nachricht
description: Nachricht
required: true
image:
selector:
text:
name: image
description: image
required: true
alias: COBE Haus Benachrichtigung mit Bild
description: ''