3772 lines
105 KiB
YAML
3772 lines
105 KiB
YAML
- alias: Abfallbenachrichtigung
|
||
id: f9432fc2-3051-4325-b8d6-1ba50259050b
|
||
description: Benachrichtigt wenn Abfall abgeholt wird.
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- sensor.restmull
|
||
- sensor.papier
|
||
- sensor.schadstoffe
|
||
attribute: daysTo
|
||
to: 0
|
||
id: heute
|
||
- platform: state
|
||
entity_id:
|
||
- sensor.restmull
|
||
- sensor.papier
|
||
- sensor.schadstoffe
|
||
attribute: daysTo
|
||
to: 1
|
||
id: morgen
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🗑️ Abfall 🗑️
|
||
|
||
'
|
||
value1: '{{ trigger.to_state.attributes.friendly_name }} wird {{ trigger.id
|
||
}} abgeholt.
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Abfall
|
||
mode: parallel
|
||
- alias: AbstellkammerLicht
|
||
id: 90cf54e2-7646-4a0d-b810-75d8e2360b4e
|
||
description: Schaltet das Licht nach an und aus.
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.abstellkammertursensor_contact
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: binary_sensor.abstellkammertursensor_contact
|
||
state: 'on'
|
||
then:
|
||
- service: light.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id: light.abstellkammerlicht
|
||
else:
|
||
- service: light.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: light.abstellkammerlicht
|
||
- alias: AfterHaUpgrade
|
||
id: 7e2fd668-0ff5-4a40-859e-23a804c5c855
|
||
description: change version after HA upgrade
|
||
trigger:
|
||
- trigger: time
|
||
at: '23:55:00'
|
||
condition: []
|
||
action:
|
||
- service: shell_command.after_ha_upgrade
|
||
mode: single
|
||
- id: 8b97520c-c437-4b1d-afd5-192fc2413e7f
|
||
alias: armResidentsAway
|
||
description: Alarm automatisch anschalten wenn keiner daheim ist
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.residents
|
||
to: not_home
|
||
condition: []
|
||
action:
|
||
- service: alarm_control_panel.alarm_arm_away
|
||
data:
|
||
code: secret alarm_code
|
||
target:
|
||
entity_id: alarm_control_panel.alarmo
|
||
- id: '1690789658458'
|
||
alias: Android Auto Miguel
|
||
description: ''
|
||
trigger:
|
||
- trigger: state
|
||
entity_id:
|
||
- binary_sensor.pixel_9_pro_android_auto
|
||
to: 'on'
|
||
condition: []
|
||
action:
|
||
- action: notify.mobile_app_pixel_9_pro
|
||
data:
|
||
title: Connected 2 car
|
||
message: This device is connected to android auto.
|
||
data:
|
||
car_ui: true
|
||
notification_icon: mdi:car
|
||
channel: Auto
|
||
importance: high
|
||
mode: single
|
||
- id: '1691433091247'
|
||
alias: 'Roomba Behälter '
|
||
description: 'Roomba Behälter '
|
||
trigger:
|
||
- trigger: state
|
||
entity_id:
|
||
- binary_sensor.roomba_bin_full
|
||
to: 'on'
|
||
condition: []
|
||
action:
|
||
- action: notify.telegram_home_group
|
||
data:
|
||
title: 'Roomba '
|
||
message: Behälter ist voll. Bitte leeren l.
|
||
mode: single
|
||
- id: '1708473160035'
|
||
alias: 'Battery replacement '
|
||
description: ''
|
||
use_blueprint:
|
||
path: andrew-codechimp/battery_notes_battery_replaced.yaml
|
||
- id: '1728850959105'
|
||
alias: Reset Internet
|
||
description: Steckdose an und ausschalten damit die Verbindung neu aufgebaut wird.
|
||
triggers:
|
||
- trigger: state
|
||
entity_id:
|
||
- sensor.fritz_repeater_1200_ax_letzter_neustart
|
||
to: unavailable
|
||
conditions: []
|
||
actions:
|
||
- action: switch.turn_off
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
entity_id: switch.tabletsteckdose
|
||
- delay:
|
||
hours: 0
|
||
minutes: 0
|
||
seconds: 15
|
||
milliseconds: 0
|
||
- action: switch.turn_on
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
entity_id: switch.tabletsteckdose
|
||
mode: single
|
||
- id: '1736551020218'
|
||
alias: SZ zu warm
|
||
description: ''
|
||
triggers:
|
||
- trigger: numeric_state
|
||
entity_id:
|
||
- sensor.schlafzimmertemperatur
|
||
above: 18
|
||
conditions:
|
||
- condition: sun
|
||
after: sunset
|
||
before: sunrise
|
||
before_offset: 01:00:00
|
||
actions:
|
||
- action: cover.open_cover
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
area_id: schlafzimmer
|
||
mode: single
|
||
- id: '1736807752549'
|
||
alias: SZ zu kalt
|
||
description: ''
|
||
triggers:
|
||
- trigger: numeric_state
|
||
entity_id:
|
||
- sensor.schlafzimmertemperatur
|
||
below: 15
|
||
conditions:
|
||
- condition: sun
|
||
before: sunrise
|
||
before_offset: 01:00:00
|
||
after: sunset
|
||
actions:
|
||
- action: cover.set_cover_position
|
||
metadata: {}
|
||
data:
|
||
position: 50
|
||
target:
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
mode: single
|
||
- description: Scheduled vacuum cleaner run
|
||
alias: Scheduled vacuum cleaner run
|
||
id: 146acdcd-843c-41d5-b727-b171a446a4d0
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- schedule.staubsaug_zeiten
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.automatic_cleaning
|
||
state: 'on'
|
||
action:
|
||
- service: script.cleaning
|
||
data: {}
|
||
- alias: miloStatus
|
||
id: 9693cbfe-1590-403b-b110-10b6d5fa174b
|
||
description: Sync Milo State with silke state
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- person.silke
|
||
- person.miguel
|
||
condition:
|
||
- condition: template
|
||
value_template: '{% set personName = "person." ~ states("input_select.milo_person_sync")
|
||
%}
|
||
|
||
{{ trigger.entity_id == personName }}'
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{% set personName = "person." ~ states("input_select.milo_person_sync")
|
||
%}
|
||
|
||
{{ states(personName) == "home" }}'
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.milo_home
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.milo_home
|
||
- service: device_tracker.see
|
||
data:
|
||
location_name: '{% set personName = "person." ~ states("input_select.milo_person_sync")
|
||
%}
|
||
|
||
{{ states(personName) }}'
|
||
dev_id: milo_dummy_tracker
|
||
gps:
|
||
- '{{ state_attr(''person.'' ~ states(''input_select.milo_person_sync''), ''latitude'')
|
||
}}'
|
||
- '{{ state_attr(''person.'' ~ states(''input_select.milo_person_sync''), ''longitude'')
|
||
}}'
|
||
gps_accuracy: '{% set personName = "person." ~ states("input_select.milo_person_sync")
|
||
%}
|
||
|
||
{{ state_attr(personName, "gps_accuracy") }}'
|
||
mode: queued
|
||
max: 10
|
||
- alias: weatherData
|
||
id: 5678264c-c308-4c30-865f-a9e6e64d4965
|
||
description: Antwortet auf den /wetter Befehl
|
||
trigger:
|
||
- platform: event
|
||
event_type: telegram_command
|
||
event_data:
|
||
command: /wetter
|
||
condition: []
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
value1: Wetter Bild
|
||
photo: '{{ states(''input_text.serverurl'') }}{{ state_attr(''image.ai_generated_weather_image'',
|
||
''entity_picture'') }}'
|
||
who: home
|
||
tag_id: information
|
||
group: Outdoor
|
||
mode: single
|
||
- alias: autoHeaterOff
|
||
id: 46d1add5-ee1d-4dbe-888a-a3054a247eaa
|
||
description: Heizung automatisch ausschalten, falls sie ausversehn angeschaltet
|
||
wird.
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- climate.room_climate_wohnzimmer
|
||
from: 'off'
|
||
condition:
|
||
- condition: numeric_state
|
||
entity_id: sensor.daikinap90134_outside_temperature
|
||
above: 18
|
||
action:
|
||
- service: climate.turn_off
|
||
target:
|
||
entity_id: climate.room_climate_wohnzimmer
|
||
data: {}
|
||
mode: single
|
||
- alias: parentsAway
|
||
id: 03a20f50-86fa-4a6f-915d-325ae9f3b36f
|
||
description: Automation when parents are away
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.parents
|
||
to: not_home
|
||
for:
|
||
hours: 0
|
||
minutes: 1
|
||
seconds: 0
|
||
condition: []
|
||
action:
|
||
- action: switch.turn_on
|
||
target:
|
||
entity_id: switch.kamera_steckdose_wz
|
||
mode: single
|
||
- alias: Show state of bed
|
||
id: 0a55979a-ca8c-4eef-8cb0-aade40ac6c1f
|
||
description: Show bed state on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.withings_in_bed_miguel
|
||
- platform: state
|
||
entity_id: binary_sensor.withings_in_bed_silke
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.withings_in_bed_miguel
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: binary_sensor.withings_in_bed_silke
|
||
state: 'on'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: bed
|
||
text: Zz Zz Zz Zz Zz Zz
|
||
icon: '19723'
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: bed
|
||
mode: single
|
||
- alias: BedAutomation
|
||
id: 6bb1782f-56aa-4ebc-b5ab-64e9f185f93f
|
||
description: Automatisierung, wenn jemand im Bett erkannt wurde oder alle aufgestanden
|
||
sind
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.bett_tracker
|
||
for:
|
||
hours: 0
|
||
minutes: 5
|
||
seconds: 0
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.bett_tracker
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: binary_sensor.bett_tracker
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: binary_sensor.schlafenszeit
|
||
state: 'on'
|
||
alias: Prüfen ob gerade Schlafenszeit ist
|
||
then:
|
||
- if:
|
||
- condition: state
|
||
entity_id: binary_sensor.bett_tracker
|
||
state: 'on'
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
target:
|
||
entity_id: input_boolean.night_mode
|
||
data: {}
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.night_mode
|
||
data: {}
|
||
mode: single
|
||
- alias: benzinCommand
|
||
id: 1f17b5a2-16bd-4b6c-aab0-fce9174702d8
|
||
description: Antwortet auf den /benzin Befehl
|
||
trigger:
|
||
- platform: event
|
||
event_type: telegram_command
|
||
event_data:
|
||
command: /benzin
|
||
condition: []
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '⛽ Benzinpreise ⛽
|
||
|
||
'
|
||
value1: '{% for fuel_station in statessensor.alle_benzinpreise.attributes.entity_id
|
||
%}
|
||
|
||
{{ state_attr(fuel_station, ''friendly_name'') }}: {{ states(fuel_station)
|
||
}}{{ state_attr(fuel_station, ''unit_of_measurement'') }} {% endfor %}'
|
||
who: home
|
||
tag_id: information
|
||
group: Outdoor
|
||
mode: single
|
||
- alias: Show birthdays on clock
|
||
id: 18139b1d-4666-4261-b024-e737cf1e9159
|
||
description: Show birthdays on clock
|
||
trigger:
|
||
- platform: time
|
||
at: 00:01:00
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
triggered_entity: '{{ states | selectattr(''entity_id'', ''match'', ''sensor.anniversary_birthday_'')
|
||
| selectattr(''state'', ''eq'', ''0'') | map(attribute=''entity_id'') | list
|
||
| first }}'
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ triggered_entity != '''' }}'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: birthday
|
||
text: '{{ state_attr(triggered_entity, ''friendly_name'') }}'
|
||
icon: '102'
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: birthday
|
||
mode: single
|
||
- alias: CalHotBev
|
||
id: a7e72c63-bbb1-4960-ac00-982d820e0853
|
||
description: Calculate amount of hot beverages made
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id: sensor.kaffemaschine_power
|
||
above: 600
|
||
for: 00:00:10
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.coffee_machine_is_washing
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: timer.kaffeemaschine_auto_aus
|
||
state: active
|
||
action:
|
||
- service: input_number.increment
|
||
target:
|
||
entity_id: input_number.heissgetranke_zahler
|
||
data:
|
||
amount: 1
|
||
- action: timer.cancel
|
||
data: {}
|
||
target:
|
||
entity_id: timer.kaffeemaschine_auto_aus
|
||
- action: timer.start
|
||
data: {}
|
||
target:
|
||
entity_id: timer.kaffeemaschine_auto_aus
|
||
mode: single
|
||
- alias: Calculate picnic price
|
||
id: 70e62f73-2464-477a-9525-d12e171c3cdd
|
||
description: Calc picnic price
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.picnic_status_der_letzten_bestellung
|
||
to: COMPLETED
|
||
condition: []
|
||
action:
|
||
- action: counter.set_value
|
||
target:
|
||
entity_id: counter.picnic_monats_kosten
|
||
data:
|
||
value: '{{ ( states(''counter.picnic_monats_kosten'') | float + states(''sensor.picnic_gesamtpreis_der_letzten_bestellung'')
|
||
| float ) | round(0) }}'
|
||
- action: counter.set_value
|
||
target:
|
||
entity_id: counter.picnic_jahres_kosten
|
||
data:
|
||
value: '{{ ( states(''counter.picnic_jahres_kosten'') | float + states(''sensor.picnic_gesamtpreis_der_letzten_bestellung'')
|
||
| float ) | round(0) }}'
|
||
mode: single
|
||
- alias: Terminerinnerung mit Fahrzeit
|
||
id: ccbc1585-d243-44f4-bdf0-ede4445fefb5
|
||
trigger:
|
||
- trigger: calendar
|
||
entity_id: calendar.familie
|
||
event: start
|
||
offset: -0:30:0
|
||
condition:
|
||
- condition: template
|
||
value_template: '{{ trigger.calendar_event.location != '''' }}'
|
||
action:
|
||
- variables:
|
||
start_time: '{{ trigger.calendar_event.start_time | as_timestamp | timestamp_custom(''%H:%M'',
|
||
True) }}'
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🗓️ Terminerinnerung - {{ trigger.calendar_event.summary }} 🗓️
|
||
|
||
'
|
||
value1: "Du hast einen Termin um {{ start_time }} Uhr\n \U0001F5FA️ Ort: {{\
|
||
\ trigger.calendar_event.location }}."
|
||
who: home
|
||
tag_id: information
|
||
group: Calendar
|
||
- alias: UhrFestnetz
|
||
id: 9369a9dc-88fb-4ee8-a724-94559678db81
|
||
description: Uhr Festnetz
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
from_state: "{% if trigger.from_state.attributes.from_name %}\n {{ trigger.from_state.attributes.from_name\
|
||
\ }}\n{% else %}\n {{ trigger.from_state.attributes.from }}\n{% endif %}"
|
||
to_state: "{% if trigger.to_state.attributes.from_name %}\n {{ trigger.to_state.attributes.from_name\
|
||
\ }}\n{% else %}\n {{ trigger.to_state.attributes.from }}\n{% endif %}"
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.state == ''ringing'' }}'
|
||
then:
|
||
- action: script.awtrix3notif
|
||
data:
|
||
text: '{{ to_state }}'
|
||
icon: '1232'
|
||
repeat: 2
|
||
- if:
|
||
- condition: or
|
||
conditions:
|
||
- condition: and
|
||
alias: Verpasst
|
||
conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.state == ''idle'' }}'
|
||
- condition: template
|
||
value_template: '{{ trigger.from_state.state == ''ringing'' }}'
|
||
- condition: and
|
||
alias: AB Weiterleitung
|
||
conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.state == ''talking'' }}'
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.attributes.device == ''40'' }}'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: phone
|
||
text: '{{ from_state }}'
|
||
icon: '21482'
|
||
duration: 15
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: phone
|
||
mode: single
|
||
- alias: Call mon var befüllen
|
||
id: 12afe90b-fefc-44f6-b46c-391fdde58f43
|
||
description: Set callmon var
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch
|
||
to: ringing
|
||
condition: []
|
||
action:
|
||
- service: var.update
|
||
data:
|
||
entity_id:
|
||
- var.callmon_name
|
||
- var.callmon_number
|
||
- var.callmon_time
|
||
- var.callmon_date
|
||
- service: input_text.set_value
|
||
target:
|
||
entity_id: input_text.callmon_lastcaller
|
||
data:
|
||
value: '{{ state_attr("sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch", "from")}}
|
||
({{ state_attr("sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch", "from_name")
|
||
}})'
|
||
mode: single
|
||
- alias: Festnetzbenachrichtigung
|
||
id: 2779b29f-8710-4a7b-adc8-03ec212b4ffb
|
||
description: Benachrichtigen bei verpassten anrufen
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch
|
||
from: ringing
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.state == ''idle'' }}'
|
||
then:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '📞 Verpasster Anruf 📞
|
||
|
||
'
|
||
value1: '{{ states.var.callmon_name.state }} ({{
|
||
|
||
states.var.callmon_number.state }}) hat am {{
|
||
|
||
states.var.callmon_date.state }} um {{ states.var.callmon_time.state
|
||
|
||
}} Uhr angerufen.
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Telephone
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.state == ''talking'' }}'
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.attributes.device == ''40'' }}'
|
||
then:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '📞 Verpasster Anruf - Weiterleitung AB 📞
|
||
|
||
'
|
||
value1: '{{ states.var.callmon_name.state }} ({{
|
||
|
||
states.var.callmon_number.state }}) hat am {{
|
||
|
||
states.var.callmon_date.state }} um {{ states.var.callmon_time.state
|
||
|
||
}} Uhr angerufen und wird jetzt auf den AB umgeleitet.
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Telephone
|
||
mode: single
|
||
- alias: camActiveLight
|
||
description: Light sync to webcam
|
||
id: 74cbcca6-c48d-4def-b2fe-7b5664a94701
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.bcwmc5cg4100cy0_kameraaktiv
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.workday_sensor
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: schedule.buro_tage
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: binary_sensor.bcwmc5cg4100cy0_kameraaktiv
|
||
state: 'on'
|
||
then:
|
||
- service: light.turn_on
|
||
metadata: {}
|
||
data:
|
||
rgb_color:
|
||
- 255
|
||
- 0
|
||
- 0
|
||
brightness_pct: 100
|
||
target:
|
||
entity_id: light.schreibtischlicht
|
||
else:
|
||
- service: light.turn_on
|
||
metadata: {}
|
||
data:
|
||
rgb_color:
|
||
- 30
|
||
- 255
|
||
- 0
|
||
flash: long
|
||
target:
|
||
entity_id: light.schreibtischlicht
|
||
- service: light.turn_off
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
entity_id: light.schreibtischlicht
|
||
- alias: camCommand
|
||
id: 797ec8b1-3e74-4128-b62f-68070ec64749
|
||
description: Antwortet auf den /cam Befehl
|
||
trigger:
|
||
- platform: event
|
||
event_type: telegram_command
|
||
event_data:
|
||
command: /cam
|
||
condition: []
|
||
action:
|
||
- service: script.send_cam_snaps
|
||
data: {}
|
||
mode: single
|
||
- alias: Check for flights
|
||
id: 814a77e9-f008-44df-ac4d-60a4068f2ce8
|
||
description: ''
|
||
trigger:
|
||
- platform: time_pattern
|
||
hours: /2
|
||
condition: []
|
||
action:
|
||
- action: script.check_cal4flights
|
||
data:
|
||
lookahead_hours: 3
|
||
mode: single
|
||
- alias: majaCheckHome
|
||
id: abc1c369-36b2-4084-9fc4-ce72e133ce5e
|
||
description: Check on maja when she's alone
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- person.silke
|
||
- person.miguel
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.maja_home
|
||
state: 'on'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: group.parents
|
||
state: home
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: timer.maja_check
|
||
state: idle
|
||
then:
|
||
- service: timer.cancel
|
||
data: {}
|
||
target:
|
||
entity_id: timer.maja_check
|
||
- if:
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: group.parents
|
||
state: home
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: group.guests
|
||
state: home
|
||
- condition: state
|
||
entity_id: timer.maja_check
|
||
state: idle
|
||
then:
|
||
- service: timer.start
|
||
data: {}
|
||
target:
|
||
entity_id: timer.maja_check
|
||
mode: single
|
||
- alias: Check if machine is washing
|
||
id: 0c239eff-b9be-4e90-a936-2e0144783bc9
|
||
description: Check if machine is washing
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id: sensor.kaffemaschine_power
|
||
above: 600
|
||
for: 00:00:10
|
||
condition:
|
||
- condition: state
|
||
entity_id: timer.kaffeemaschine_auto_aus
|
||
state: idle
|
||
action:
|
||
- action: input_boolean.turn_on
|
||
target:
|
||
entity_id: input_boolean.coffee_machine_is_washing
|
||
- action: timer.start
|
||
data: {}
|
||
target:
|
||
entity_id: timer.kaffeemaschine_auto_aus
|
||
- delay:
|
||
hours: 0
|
||
minutes: 0
|
||
seconds: 10
|
||
milliseconds: 0
|
||
- action: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.coffee_machine_is_washing
|
||
mode: single
|
||
- alias: ChoresNotif
|
||
id: 770ba890-cb06-4463-9447-161abd6e6195
|
||
description: Benachrichtigt, wenn Hausarbeiten anstehen.
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.chores_notif_time
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
- condition: state
|
||
entity_id: binary_sensor.grocy_overdue_chores
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🏠 Hausarbeiten fällig 🏠
|
||
|
||
'
|
||
value1: "{% set chores = state_attr(\"binary_sensor.grocy_overdue_chores\",\
|
||
\ \"overdue_chores\") %} Folgende Hausarbeiten stehen heute an oder sind überfällig:\
|
||
\ {{- '\\n' -}} {% for i in chores %} - {{ i.name }}\n \U0001F4DD {{ i.description\
|
||
\ }}\n \U0001F464 {{ i.next_execution_assigned_user.display_name }}\n \U0001F5D3\
|
||
️ {{ as_timestamp(i.next_estimated_execution_time) | timestamp_custom('%d.%m.%Y\
|
||
\ %H:%M') }}\n{% endfor %}"
|
||
who: home
|
||
tag_id: information
|
||
group: Hausarbeiten
|
||
mode: single
|
||
- alias: climateAutoOffTimer
|
||
id: a0db69d9-ec22-4abb-ab82-01ff9a12f95b
|
||
description: ''
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.finished
|
||
event_data:
|
||
entity_id: timer.climate_auto_off
|
||
- platform: event
|
||
event_type: timer.cancelled
|
||
event_data:
|
||
entity_id: timer.climate_auto_off
|
||
condition: []
|
||
action:
|
||
- service: climate.turn_off
|
||
target:
|
||
entity_id: climate.daikinap90134
|
||
mode: single
|
||
- alias: climateAutoOnTimer
|
||
id: dac8ab87-b5ab-4795-9be4-b93df9aee932
|
||
description: ''
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.started
|
||
event_data:
|
||
entity_id: timer.climate_auto_off
|
||
condition: []
|
||
action:
|
||
- service: climate.turn_on
|
||
target:
|
||
entity_id:
|
||
- climate.daikinap90134
|
||
mode: single
|
||
- alias: MedisConsume
|
||
id: fa040eca-2d48-4243-a8c6-28b78d5b3f7c
|
||
description: Medi consume in Grocy
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.medis_miguel_heuschnupfen_graeser
|
||
to: 'on'
|
||
id: heuschnupfen
|
||
- platform: state
|
||
entity_id:
|
||
- input_boolean.medis_miguel_vitamind
|
||
- input_boolean.medis_silke_vitamind
|
||
to: 'on'
|
||
id: vitamin_d
|
||
action:
|
||
- variables:
|
||
product_id: ''
|
||
- alias: Typ von medi rausfinden
|
||
choose:
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.id == ''heuschnupfen'' }}'
|
||
sequence:
|
||
- variables:
|
||
product_id: '66'
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.id == ''vitamin_d'' }}'
|
||
sequence:
|
||
- variables:
|
||
product_id: '68'
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ product_id != '''' }}'
|
||
then:
|
||
- action: grocy.consume_product_from_stock
|
||
data:
|
||
allow_subproduct_substitution: true
|
||
transaction_type: CONSUME
|
||
product_id: '{{ product_id }}'
|
||
amount: 1
|
||
spoiled: false
|
||
mode: queued
|
||
max: 5
|
||
- alias: CommitCustomComponents
|
||
id: 0be8fbce-80d5-4288-8531-b384258445d6
|
||
description: Automatischer commit der neusten HACS updates
|
||
trigger:
|
||
- trigger: time
|
||
at: '23:55:00'
|
||
condition: []
|
||
action:
|
||
- service: shell_command.auto_commit_cc
|
||
mode: single
|
||
- alias: DailyResets
|
||
id: 041e11a9-6487-4743-b846-3c340834a87f
|
||
description: Daily reset
|
||
trigger:
|
||
platform: time
|
||
at: 00:00:00
|
||
action:
|
||
- action: input_number.set_value
|
||
target:
|
||
entity_id: input_number.heissgetranke_zahler
|
||
data:
|
||
value: 0
|
||
- alias: SleepModeDeactivate
|
||
id: 0fc692c0-c6e5-4bef-8370-fabb12dcdf5d
|
||
description: Schaltet den Schlafmodus automatisch aus, wenn keine Schlafenszeit
|
||
ist
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.schlafenszeit
|
||
to: 'off'
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.night_mode
|
||
mode: single
|
||
- alias: DishwasherNotif
|
||
id: 58eb700c-0b2b-4a8b-9cfe-80a1a224f32a
|
||
description: Benachrichtigt wenn die Spülmaschine fertig ist
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- input_boolean.spulmaschine_aktiv
|
||
to: 'off'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🍴🫧 Spülmaschine 🍴🫧
|
||
|
||
'
|
||
value1: Spülmaschine ist fertig und kann ausgeräumt werden.
|
||
who: home
|
||
tag_id: information
|
||
group: Dishes
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.dishwasher_ready
|
||
- action: grocy.execute_chore
|
||
data:
|
||
chore_id: '7'
|
||
done_by: '1'
|
||
mode: single
|
||
- alias: Show doors open
|
||
id: abde5a7b-b2a6-49e5-9a90-9ed21c9978b1
|
||
description: Show doors open
|
||
trigger:
|
||
- platform: state
|
||
entity_id: number.count_doors_open
|
||
action:
|
||
- if:
|
||
- condition: numeric_state
|
||
entity_id: number.count_doors_open
|
||
below: 1
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: doors
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: doors
|
||
text: '{{ states(''number.count_doors_open'') | int }}'
|
||
icon: '9766'
|
||
mode: single
|
||
- alias: DryerActive
|
||
id: ee292445-9310-491a-bfde-075737bd1b8e
|
||
description: Setzt den Helfer, wenn der Trockner läuft.
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id: sensor.trockner_steckdose_power
|
||
above: '15'
|
||
for: 00:01:00
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.dryer_active
|
||
state: 'off'
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.dryer_active
|
||
- service: input_number.set_value
|
||
data_template:
|
||
value: '{{ states(''sensor.trockner_steckdose_energy'') }}'
|
||
entity_id: input_number.dryer_cycle_consumption
|
||
mode: single
|
||
- alias: DryerNotif
|
||
id: 45b44c95-9e9f-42d9-bc0e-369ab3a74bb9
|
||
description: Benachrichtigt wenn der Trockner fertig ist
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id: sensor.trockner_steckdose_power
|
||
below: '1.0'
|
||
for: 00:01:00
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.dryer_active
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '♨️ Trockner ♨️
|
||
|
||
'
|
||
value1: '{% set cycleConsumption = ( states("sensor.trockner_steckdose_energy")
|
||
| float - states("input_number.dryer_cycle_consumption") | float ) %} {%
|
||
set costs = cycleConsumption * states("input_number.strompreis") | float(2)
|
||
%} Trockner ist fertig. Verbrauch {{ cycleConsumption | float|round(2) }}
|
||
kWh. Das macht ca. {{ costs | float|round(2) }} €'
|
||
who: home
|
||
tag_id: information
|
||
group: Laundry
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.dryer_active
|
||
mode: single
|
||
- alias: DummyHomeStates
|
||
id: ed8f19ea-d76e-4212-b760-0893e929d23a
|
||
description: Dummy Home state trackers
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- input_boolean.maja_home
|
||
- input_boolean.milo_home
|
||
action:
|
||
- service: script.dummy_tracker_states
|
||
data: {}
|
||
mode: single
|
||
- alias: Dusk
|
||
id: 36b28e7a-7fdf-4e04-b275-09f577a36913
|
||
description: Abenddämmerungsautomation
|
||
trigger:
|
||
- platform: time
|
||
at: sensor.sun_next_dusk
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: sensor.season
|
||
state: autumn
|
||
- condition: state
|
||
entity_id: sensor.season
|
||
state: winter
|
||
then:
|
||
- action: switch.turn_on
|
||
target:
|
||
entity_id: switch.lichterkette
|
||
mode: single
|
||
- alias: Show dwd warning on clock
|
||
id: 6ce30133-5f41-456c-a80f-111fbe92bd0c
|
||
description: Show dwd warning on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.home_aktuelle_warnstufe
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
warn_count: '{{ state_attr(''sensor.home_aktuelle_warnstufe'', ''warning_count'')
|
||
| int(0) }}'
|
||
- repeat:
|
||
for_each: '{{ range(1, warn_count + 1) | list }}'
|
||
sequence:
|
||
- service: script.awtrix3customapp
|
||
data:
|
||
app_id: dwd_{{ repeat.item }}
|
||
text: '{{ state_attr(''sensor.home_aktuelle_warnstufe'', ''warning_'' ~
|
||
repeat.item ~ ''_name'') }}'
|
||
icon: '6874'
|
||
- variables:
|
||
max_possible: 3
|
||
- repeat:
|
||
for_each: '{{ range(warn_count + 1, max_possible + 1) | list }}'
|
||
sequence:
|
||
- service: script.awtrix3delapp
|
||
data:
|
||
app_id: dwd_{{ repeat.item }}
|
||
mode: single
|
||
- alias: Wetterwarnung start/change
|
||
id: 00c0aae8-8fa7-44bc-9611-676dbe4869b7
|
||
description: DWD Wetterwarnungen
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- sensor.home_aktuelle_warnstufe
|
||
- sensor.home_vorwarnstufe
|
||
attribute: warning_count
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
- '{{ trigger.from_state.state != unavailable }}'
|
||
- '{{ trigger.to_state.attributes.warning_count != trigger.from_state.attributes.warning_count
|
||
}}'
|
||
action:
|
||
- variables:
|
||
current: sensor.home_aktuelle_warnstufe
|
||
advance: sensor.home_vorwarnstufe
|
||
current_count: '{{ state_attr(current, ''warning_count'') }}'
|
||
advance_count: '{{ state_attr(advance, ''warning_count'') }}'
|
||
region_name: '{{ state_attr(current, ''region_name'') if ''current'' in trigger.entity_id
|
||
else state_attr(advance, ''region_name'') }}'
|
||
title: "{% if current_count in [0, none] and advance_count in [0, none] %}\n\
|
||
\ Entwarnung für {{ trigger.to_state.attributes.friendly_name }}\n{% else\
|
||
\ %}\n {{ region_name }}: WETTERWARNUNG ({{ current_count + advance_count\
|
||
\ }})\n{% endif %}"
|
||
weekdays:
|
||
- Montag
|
||
- Dienstag
|
||
- Mittwoch
|
||
- Donnerstag
|
||
- Freitag
|
||
- Samstag
|
||
- Sonntag
|
||
format_warning: "{% macro format_warning(warning_source, index) %}\n {% set\
|
||
\ headline = state_attr(warning_source, 'warning_' ~ index ~ '_headline')\
|
||
\ %}\n {% set description = state_attr(warning_source, 'warning_' ~ index\
|
||
\ ~ '_description') %}\n {% set instruction = state_attr(warning_source,\
|
||
\ 'warning_' ~ index ~ '_instruction') %}\n {% set time_start = (state_attr(warning_source,\
|
||
\ 'warning_' ~ index ~ '_start')|as_timestamp(now()) )|timestamp_custom('%d.%m.%Y,\
|
||
\ %R', true, 'N/A') %}\n {% set time_end = (state_attr(warning_source, 'warning_'\
|
||
\ ~ index ~ '_end')|as_timestamp(now()) )|timestamp_custom('%d.%m.%Y, %R',\
|
||
\ true, 'N/A') %}\n {% set weekday_start = (state_attr(warning_source, 'warning_'\
|
||
\ ~ index ~ '_start')|as_timestamp(now().timestamp()) )|timestamp_custom('%w',\
|
||
\ true, now().weekday() )|int %}\n {% set weekday_end = (state_attr(warning_source,\
|
||
\ 'warning_' ~ index ~ '_end')|as_timestamp(now().timestamp()) )|timestamp_custom('%w',\
|
||
\ true, now().weekday() )|int %}\n {% set last_update = (state_attr(warning_source,\
|
||
\ 'last_update')|as_timestamp(now()) )|timestamp_custom('%d.%m.%Y, %R', true,\
|
||
\ 'N/A') %}\n *{{ headline }}*\n ⏰ _{{ weekdays[weekday_start-1] ~ ', '\
|
||
\ ~ time_start ~ ' - ' ~ weekdays[weekday_end-1] ~ ', ' ~ time_end }}_\n\n\
|
||
\ {{ description|trim }}\n {% if instruction != none %}\n *Handlungsempfehlung:*\n\
|
||
\ {{ instruction|trim }}\n {% endif %}\n Letzte Aktualisierung: {{ last_update\
|
||
\ }}\n{% endmacro %}"
|
||
message: "{% if current_count in [0, none] and advance_count in [0, none] %}\n\
|
||
\ Die Wetterlage hat sich wieder normalisiert.\n{% else %}\n {% for i in\
|
||
\ range(current_count) %}\n {{ format_warning(current, loop.index) }}\n\
|
||
\ {% if not loop.last %}*** ***{% endif %}\n {% endfor %}\n {% if current_count\
|
||
\ not in [0, none] and advance_count not in [0, none] %}*** ***{% endif %}\n\
|
||
\ {% for i in range(advance_count) %}\n {{ format_warning(advance, loop.index)\
|
||
\ }}\n {% if not loop.last %}*** ***{% endif %}\n {% endfor %}\n{% endif\
|
||
\ %}"
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '{{ title }}'
|
||
value1: '{{ message }}'
|
||
tag_id: information
|
||
group: Wetter
|
||
photo: https://www.dwd.de/DWD/warnungen/warnstatus/SchilderSU.jpg
|
||
mode: parallel
|
||
- alias: GrocyNotifExpired
|
||
id: ba321099-add9-41a4-bc53-0699f29977e6
|
||
description: Benachrichtigt, wenn Produkte ablaufen sind
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.grocy_expired_products
|
||
attribute: count
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.grocy_expired_products
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🥫☠️ Produkte sind abgelaufen 🍲☠️
|
||
|
||
'
|
||
value1: '{% set expiredProducts = state_attr("binary_sensor.grocy_expired_products",
|
||
"expired_products")%} {% set expiredCount = state_attr("binary_sensor.grocy_expired_products",
|
||
"count")%}
|
||
|
||
Folgende {{ expiredCount }} Produkte sind abgelaufen: {{- ''\n'' -}} {% for
|
||
i in expiredProducts %} - {{ i.name }} {{ as_timestamp(i.best_before_date)
|
||
| timestamp_custom(''%d.%m.%Y'') }} {{- ''\n'' -}} {% endfor %}'
|
||
who: home
|
||
tag_id: information
|
||
group: Food
|
||
mode: single
|
||
- alias: GrocyNotifExpiring
|
||
id: eb62c777-22eb-4bd7-bffe-8f705cd7f4c8
|
||
description: Benachrichtigt, wenn Produkte bald ablaufen
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.grocy_expiring_products
|
||
attribute: count
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.grocy_expiring_products
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🥫 Produkte laufen bald ab 🍲
|
||
|
||
'
|
||
value1: '{% set expiringProducts = state_attr("binary_sensor.grocy_expiring_products",
|
||
"expiring_products")%} {% set expiringCount = state_attr("binary_sensor.grocy_expiring_products",
|
||
"count")%}
|
||
|
||
Es laufen folgende {{expiringCount}} Produkte bald ab: {{- ''\n'' -}} {% for
|
||
i in expiringProducts %} - {{ i.name }} {{ as_timestamp(i.best_before_date)
|
||
| timestamp_custom(''%d.%m.%Y'') }} {{- ''\n'' -}} {% endfor %}'
|
||
who: home
|
||
tag_id: information
|
||
group: Food
|
||
mode: single
|
||
- alias: Flights above home
|
||
id: 0d54b339-fb39-44f2-8675-cd24ccf2f17c
|
||
description: Flights above home
|
||
trigger:
|
||
- platform: event
|
||
event_type: flightradar24_entry
|
||
condition:
|
||
- condition: state
|
||
entity_id: group.parents
|
||
state: home
|
||
action:
|
||
- action: script.awtrix3notif
|
||
data:
|
||
text: '{{ trigger.event.data.airport_origin_city }} -> {{ trigger.event.data.airport_destination_city
|
||
}}'
|
||
icon: '8879'
|
||
repeat: 2
|
||
mode: single
|
||
- alias: majaGassiTimes
|
||
id: 8767ef86-9e59-4813-bd4d-9a293a9738a3
|
||
description: Maja Gassi times
|
||
trigger:
|
||
- platform: state
|
||
entity_id: schedule.maja_gassi_zeiten
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: schedule.maja_gassi_zeiten
|
||
state: 'on'
|
||
then:
|
||
- if:
|
||
- condition: state
|
||
entity_id: person.miguel
|
||
state: home
|
||
then:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.maja_person_sync
|
||
data:
|
||
option: miguel
|
||
else:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.maja_person_sync
|
||
data:
|
||
option: silke
|
||
else:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.maja_person_sync
|
||
data:
|
||
option: alleine
|
||
mode: single
|
||
- alias: TVProgEvening
|
||
id: 9eceacec-30fe-415a-81c0-50e54b00b6e4
|
||
description: Benachrichtigt über das TV Programm um 20:15
|
||
trigger:
|
||
- platform: time
|
||
at: '20:05:00'
|
||
condition:
|
||
- condition: state
|
||
entity_id: group.residents
|
||
state: home
|
||
action:
|
||
- service: button.press
|
||
data: {}
|
||
target:
|
||
entity_id: button.tv_prog_2015_refresh_button
|
||
- delay:
|
||
hours: 0
|
||
minutes: 0
|
||
seconds: 30
|
||
milliseconds: 0
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '📺 TV Programm heut abend 📺
|
||
|
||
'
|
||
value1: "{% set tvProg = states.sensor.tv_prog_2015.attributes %} {% for i in\
|
||
\ tvProg %} {% if not((i == \"icon\" or i == \"friendly_name\"))%}\n - {{\
|
||
\ state_attr('sensor.tv_prog_2015',i) }} ({{ i }})\n{% endif %} {% endfor\
|
||
\ %}"
|
||
who: home
|
||
tag_id: information
|
||
group: TV
|
||
mode: single
|
||
- alias: getWorkRestHTML
|
||
id: 91949311-550e-466b-abf0-996d26e324f9
|
||
description: Get work restaurant html page
|
||
trigger:
|
||
- trigger: time
|
||
at: '20:00:00'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.workday_sensor
|
||
state: 'on'
|
||
action:
|
||
- action: shell_command.browserless_scraper
|
||
data:
|
||
function: work_restaurant.js
|
||
output: work_restaurant.html
|
||
- delay: 0:00:45
|
||
- action: multiscrape.trigger_work_meals
|
||
mode: single
|
||
- id: this_is_halloween
|
||
alias: This is Halloween
|
||
initial_state: true
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.halloween_show
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.this_is_halloween
|
||
- delay: 01:00:00
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.this_is_halloween
|
||
- id: operation haunted house
|
||
alias: Operation Haunted House
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.this_is_halloween
|
||
to: 'on'
|
||
from: 'off'
|
||
id: start
|
||
- platform: state
|
||
entity_id: input_boolean.this_is_halloween
|
||
id: stop
|
||
from: 'on'
|
||
to: 'off'
|
||
action:
|
||
- choose:
|
||
- conditions:
|
||
- condition: trigger
|
||
id: start
|
||
sequence:
|
||
- service: script.turn_on
|
||
target:
|
||
entity_id: script.haunted_house
|
||
- conditions:
|
||
- condition: trigger
|
||
id: stop
|
||
sequence:
|
||
- service: script.turn_off
|
||
target:
|
||
entity_id: script.haunted_house
|
||
- service: scene.turn_on
|
||
target:
|
||
entity_id: scene.before_haunting
|
||
default: []
|
||
initial_state: true
|
||
mode: single
|
||
- id: 9f575814-8f98-411a-93a9-1b51bcd4cded
|
||
alias: Home-Assistant Neugestartet
|
||
initial_state: true
|
||
trigger:
|
||
- platform: homeassistant
|
||
event: start
|
||
action:
|
||
- service: script.dummy_tracker_states
|
||
data: {}
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Home Assistant
|
||
value1: Server wurde neugestartet
|
||
who: miguel
|
||
tag_id: information
|
||
group: System
|
||
- alias: Show holiday countdown on clock
|
||
id: 82d9f15e-5dae-4708-997f-6bae2bc337ee
|
||
description: Show holiday countdown on clock
|
||
trigger:
|
||
- platform: time
|
||
at: 00:01:00
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
triggered_entity: "{{ states\n | selectattr('entity_id', 'match', 'sensor.anniversary_urlaub_')\n\
|
||
\ | selectattr('state', 'is_number')\n | selectattr('state', 'defined')\n\
|
||
\ | selectattr('state', 'gt', '0')\n | map(attribute='entity_id')\n | list\n\
|
||
\ | first\n}}"
|
||
entity_name: '{{ state_attr(triggered_entity, ''friendly_name'') }}'
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ triggered_entity != '''' }}'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: holiday_{{ entity_name }}
|
||
text: '{{ states(triggered_entity) }} {{ state_attr(triggered_entity, ''unit_of_measurement'')}}
|
||
- {{ entity_name }}'
|
||
icon: '15644'
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: holiday_{{ entity_name }}
|
||
mode: single
|
||
- alias: UrlaubsmodusAutom
|
||
id: 7c88607a-9f86-45aa-852c-601e2c76385e
|
||
description: Schaltet das Smart Home System in den Urlaubsmodus.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.holiday_mode
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'on'
|
||
then:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 'Urlaubsmodus eingeschaltet
|
||
|
||
'
|
||
value1: 🌴
|
||
who: home
|
||
tag_id: information
|
||
group: Urlaub
|
||
- service: light.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: light.kameralichter
|
||
else:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 'Urlaubsmodus ausgeschaltet
|
||
|
||
'
|
||
value1: 🌴
|
||
who: home
|
||
tag_id: information
|
||
group: Urlaub
|
||
- service: light.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id: light.kameralichter
|
||
mode: single
|
||
- alias: UrlaubsModus
|
||
id: 5899d18e-e2f3-4575-be82-4d81effc7293
|
||
description: Schaltet das Smart Home System in den Urlaubsmodus.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.holiday_mode
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'on'
|
||
then:
|
||
- action: script.notify_engine
|
||
data:
|
||
title: 'Urlaubsmodus eingeschaltet
|
||
|
||
'
|
||
value1: 🌴
|
||
who: home
|
||
tag_id: information
|
||
group: Urlaub
|
||
- action: light.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: light.kameralichter
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: mini
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: miguel
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: silke
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: milo
|
||
else:
|
||
- action: script.notify_engine
|
||
data:
|
||
title: 'Urlaubsmodus ausgeschaltet
|
||
|
||
'
|
||
value1: 🌴
|
||
who: home
|
||
tag_id: information
|
||
group: Urlaub
|
||
- action: light.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id: light.kameralichter
|
||
mode: single
|
||
- alias: parentsHome
|
||
id: 9fad1c85-4e6d-4864-91ee-54b0fc12c725
|
||
description: Parents are at home again
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.parents
|
||
to: home
|
||
for:
|
||
hours: 0
|
||
minutes: 1
|
||
seconds: 0
|
||
condition: []
|
||
action:
|
||
- action: alarm_control_panel.alarm_disarm
|
||
data:
|
||
code: secret alarm_code
|
||
target:
|
||
entity_id: alarm_control_panel.alarmo
|
||
- action: switch.turn_off
|
||
target:
|
||
entity_id: switch.kamera_steckdose_wz
|
||
mode: single
|
||
- alias: HospitalNotif
|
||
id: daecbf74-77b8-4a46-b70c-0b4e38ee73c6
|
||
description: Benachrichtigt wenn jemand im Krankenhaus ist.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: zone.slk_klinik
|
||
from: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 5
|
||
seconds: 0
|
||
- platform: state
|
||
entity_id: zone.grk_klinik_sinsheim
|
||
from: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 5
|
||
seconds: 0
|
||
condition: []
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🚑🏥 Krankenhaus 🏥🚑
|
||
|
||
'
|
||
value1: '{% set persons = state_attr(trigger.entity_id, ''persons'') %} Achtung!
|
||
{% for i in persons %} - {{ state_attr(i,''friendly_name'') }} {% endfor %}
|
||
ist/sind seit 5min in folgendem Krankenhaus: {{ trigger.to_state.attributes.friendly_name
|
||
}}.'
|
||
who: home
|
||
tag_id: alert
|
||
group: Notfall
|
||
mode: single
|
||
- alias: Show daily hot beverages
|
||
id: c8718743-1084-41e6-a047-3483fe692c8b
|
||
description: Show daily hot beverages
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_number.heissgetranke_zahler
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ states(''input_number.heissgetranke_zahler'') | int == 0
|
||
}}'
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: coffee
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: coffee
|
||
text: '{{ states(''input_number.heissgetranke_zahler'') | int }}'
|
||
icon: '14060'
|
||
mode: single
|
||
- alias: Show humidity on clock
|
||
id: e90f58ed-9d21-499f-aa84-81a9e2523643
|
||
description: ' Show humidity on clock'
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.wohnungsfeuchtigkeit
|
||
condition: []
|
||
action:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: humidity
|
||
text: '{{ states(''sensor.wohnungsfeuchtigkeit'') }} {{ state_attr(''sensor.wohnungsfeuchtigkeit'',
|
||
''unit_of_measurement'') }}'
|
||
icon: '2423'
|
||
mode: single
|
||
- alias: Kinderzimmerlicht Auto an
|
||
id: aa5b46dc-164e-4d52-9d53-4f078c7dd107
|
||
description: ''
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.started
|
||
event_data:
|
||
entity_id: timer.children_light_on
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.automatic_lights
|
||
state: 'on'
|
||
action:
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id: light.kinderzimmerlicht
|
||
mode: single
|
||
- alias: 'Kinderzimmerlicht ohne Bewegung '
|
||
id: ab25af73-cf63-4538-9b78-a7f01e100066
|
||
description: Kinderzimmer aus wenn keine Bewegung
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.finished
|
||
event_data:
|
||
entity_id: timer.children_light_on
|
||
condition: []
|
||
action:
|
||
- service: light.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: light.kinderzimmerlicht
|
||
mode: single
|
||
- alias: Kinderzimmer bewegung erkannt
|
||
id: b3ad247c-d77b-437c-8cba-8c3fdb7b99d9
|
||
description: ''
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.kinderzimmerbewegungssensor_occupancy
|
||
to: 'on'
|
||
condition:
|
||
- condition: time
|
||
after: '17:00:00'
|
||
before: 09:00:00
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: cover.rolladen_kinderzimmer
|
||
state: closed
|
||
- condition: state
|
||
entity_id: sun.sun
|
||
state: below_horizon
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: timer.children_light_on
|
||
state: idle
|
||
then:
|
||
- service: timer.start
|
||
target:
|
||
entity_id: timer.children_light_on
|
||
else:
|
||
- service: timer.change
|
||
data:
|
||
duration: 00:05:00
|
||
target:
|
||
entity_id: timer.children_light_on
|
||
alias: Add 5min to timer
|
||
mode: single
|
||
- alias: LeavingWork
|
||
id: 8cf24a78-fe6c-452c-8845-eb16ddad0b10
|
||
description: Benachrichtigt wenn ich die Arbeit verlasse.
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- zone.work_miguel
|
||
to: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 3
|
||
seconds: 0
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.workday_sensor
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🚗 Miguel ist unterwegs heim 🚗
|
||
|
||
'
|
||
value1: 'Miguel hat gerade das Geschäft verlassen und kommt vermutlich bald
|
||
heim.
|
||
|
||
Geschätzte Zeit: {{ states(''sensor.miguel_eta_home'') }} {{ state_attr(''sensor.miguel_eta_home'',
|
||
''unit_of_measurement'') }}.
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Moving
|
||
mode: single
|
||
- alias: Show lightstrip time
|
||
id: 5f7b6ea8-5d4b-4bf8-80d0-cd976f9ea7d5
|
||
description: Show lightstrip time
|
||
trigger:
|
||
- platform: time_pattern
|
||
minutes: /5
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: timer.lichterkette
|
||
state: idle
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: lightstrip
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: lightstrip
|
||
text: Lichterkette
|
||
icon: '66625'
|
||
progress: '{{ ( 100 - max(0, ((state_attr(''timer.lichterkette'', ''finishes_at'')
|
||
| as_datetime - now().replace(microsecond=0)).total_seconds() / 25200) *
|
||
100) ) | round(2) }}'
|
||
mode: single
|
||
- alias: LichterkettenTimer
|
||
id: c63598d6-82f5-4be9-b300-1ddfa28ef650
|
||
description: Lichterketten timer
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- switch.lichterkette
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: switch.lichterkette
|
||
state: 'on'
|
||
then:
|
||
- service: timer.start
|
||
data: {}
|
||
target:
|
||
entity_id: timer.lichterkette
|
||
else:
|
||
- service: timer.finish
|
||
data: {}
|
||
target:
|
||
entity_id: timer.lichterkette
|
||
- alias: Lichterkette
|
||
id: 20b69e8d-fc7f-4cbc-a49c-c750b72e8983
|
||
description: Schaltet die Lichterkette aus
|
||
mode: single
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.finished
|
||
event_data:
|
||
entity_id: timer.lichterkette
|
||
action:
|
||
- service: switch.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: switch.lichterkette
|
||
- alias: LightningTVCounter
|
||
id: e26e4603-0144-4492-abac-7a15f9355c40
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- sensor.kohgeb_family_home_lightning_counter
|
||
condition:
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: sensor.kohgeb_family_home_lightning_counter
|
||
state: '0'
|
||
action:
|
||
- service: notify.tvoverlaynotifyfixed
|
||
data:
|
||
data:
|
||
id: fixed_lightning
|
||
icon: mdi:weather-lightning-rainy
|
||
expiration: 15m
|
||
shape: rounded
|
||
message: '{{ states(''sensor.kohgeb_family_home_lightning_counter'') | round
|
||
}} {{ state_attr(''sensor.kohgeb_family_home_lightning_counter'', ''unit_of_measurement'')
|
||
}}'
|
||
mode: single
|
||
- alias: Show lightning strikes on clock
|
||
id: 6640ee8e-ea3d-4b86-be28-ab8702d5f96c
|
||
description: Show lightning strikes on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.kohgeb_family_home_lightning_counter
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
lightning_counter: '{{ states(''sensor.kohgeb_family_home_lightning_counter'')
|
||
| int(0) }}'
|
||
lightning_distance: '{{ states(''sensor.kohgeb_family_home_lightning_distance'')
|
||
| int(0) }}'
|
||
- if:
|
||
- condition: state
|
||
entity_id: sensor.kohgeb_family_home_lightning_counter
|
||
state: '0'
|
||
then:
|
||
- service: script.awtrix3delapp
|
||
data:
|
||
app_id: lightning
|
||
else:
|
||
- service: script.awtrix3customapp
|
||
data:
|
||
app_id: lightning
|
||
text: '{{ lightning_counter }} - {{ lightning_distance }} km'
|
||
icon: '33475'
|
||
mode: single
|
||
- alias: Show lights on
|
||
id: 05cac6cf-e6a1-45b4-88f0-28374ae45913
|
||
description: Show lights on
|
||
trigger:
|
||
- platform: state
|
||
entity_id: number.count_lights_on
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: numeric_state
|
||
entity_id: number.count_lights_on
|
||
below: 1
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: lights
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: lights
|
||
text: '{{ states(''number.count_lights_on'') | int }}'
|
||
icon: '1762'
|
||
mode: single
|
||
- alias: LLMVisionCameraHN
|
||
description: ''
|
||
id: 7301525b-8f3b-411e-a473-da8c5a4afc57
|
||
triggers:
|
||
- trigger: time_pattern
|
||
minutes: /5
|
||
conditions: []
|
||
actions:
|
||
- action: script.stream_analyzer
|
||
data:
|
||
camera:
|
||
- camera.rathaus
|
||
mode: single
|
||
- alias: LongShowering
|
||
id: decf9977-3103-406d-8a04-65334807751c
|
||
description: Notify if someone is showering too long
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.dusche
|
||
from: 'on'
|
||
for:
|
||
hours: 0
|
||
minutes: 13
|
||
seconds: 0
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- service: notify.alexa_media_echo_gross
|
||
data:
|
||
message: Genug geduscht! Es sind jetzt immerhin schon 13 Minuten!!!
|
||
data:
|
||
type: tts
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Dusche
|
||
value1: Genug geduscht! Es sind jetzt immerhin schon 13 Minuten!!!
|
||
who: home
|
||
tag_id: information
|
||
group: Cleaning
|
||
mode: single
|
||
- alias: majaFotoCheck
|
||
id: bf7beb70-eb04-4272-80b7-1e032acbea61
|
||
description: ''
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.finished
|
||
event_data:
|
||
entity_id: timer.maja_check
|
||
condition: []
|
||
action:
|
||
- service: script.send_cam_snaps
|
||
data: {}
|
||
mode: single
|
||
- alias: majaTelegramStatus
|
||
id: 9af053f5-0dfb-4adf-8b36-a2747f2caaae
|
||
description: Maja state from telegram
|
||
trigger:
|
||
- platform: event
|
||
id: home
|
||
event_type: telegram_callback
|
||
event_data:
|
||
data: /maja_home
|
||
- platform: event
|
||
id: gone
|
||
event_type: telegram_callback
|
||
event_data:
|
||
data: /maja_gone
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: trigger
|
||
id: home
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.maja_home
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.maja_home
|
||
- service: telegram_bot.answer_callback_query
|
||
data_template:
|
||
callback_query_id: '{{ trigger.event.data.id }}'
|
||
message: Alles klar danke!
|
||
- service: telegram_bot.edit_replymarkup
|
||
data_template:
|
||
message_id: '{{ trigger.event.data.message.message_id }}'
|
||
chat_id: '{{ trigger.event.data.chat_id }}'
|
||
inline_keyboard: []
|
||
mode: single
|
||
- alias: workMeals
|
||
id: a601d3fe-17d3-4cff-9eb1-ea4bbca2c549
|
||
description: Notify about the work meals
|
||
trigger:
|
||
- trigger: time
|
||
at: '11:00:00'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.workday_sensor
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: schedule.buro_tage
|
||
state: 'on'
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: person.miguel
|
||
state: home
|
||
action:
|
||
- action: script.notify_engine
|
||
data:
|
||
title: '🍴 Heutiges Essen im Geschäft 🍽️
|
||
|
||
'
|
||
value1: 'Heute im Geschäft gibt es folgende Gerichte:
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Work
|
||
photos:
|
||
- file: /config/www/downloaded/work_meals/one.png
|
||
caption: '{{ states(''sensor.work_meal_one'') }}'
|
||
- file: /config/www/downloaded/work_meals/one_two.png
|
||
caption: '{{ states(''sensor.work_meal_one_two'') }}'
|
||
- file: /config/www/downloaded/work_meals/three.png
|
||
caption: '{{ states(''sensor.work_meal_three'') }}'
|
||
- file: /config/www/downloaded/work_meals/four.png
|
||
caption: '{{ states(''sensor.work_meal_four'') }}'
|
||
- file: /config/www/downloaded/work_meals/five.png
|
||
caption: '{{ states(''sensor.work_meal_five'') }}'
|
||
mode: single
|
||
- alias: MealImg
|
||
description: ''
|
||
id: ffe67e29-366b-4661-a0b0-bfea95d4468e
|
||
triggers:
|
||
- trigger: state
|
||
entity_id: sensor.work_meal_one
|
||
id: one
|
||
- trigger: state
|
||
entity_id: sensor.work_meal_one_two
|
||
id: one_two
|
||
- trigger: state
|
||
entity_id: sensor.work_meal_three
|
||
id: three
|
||
- trigger: state
|
||
entity_id: sensor.work_meal_four
|
||
id: four
|
||
- trigger: state
|
||
entity_id: sensor.work_meal_five
|
||
id: five
|
||
- trigger: state
|
||
entity_id: input_text.milo_kita_essen_mittwoch
|
||
id: mittwoch
|
||
- trigger: state
|
||
entity_id: input_text.milo_kita_essen_donnerstag
|
||
id: donnerstag
|
||
- trigger: state
|
||
entity_id: input_text.milo_kita_essen_freitag
|
||
id: freitag
|
||
conditions:
|
||
- condition: template
|
||
value_template: '{{ states(trigger.entity_id) != ''unavailable'' }}'
|
||
actions:
|
||
- choose:
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.id in [''one'', ''one_two'', ''three'', ''four'',
|
||
''five''] }}'
|
||
sequence:
|
||
- variables:
|
||
directory: work_meals
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger.id in [''mittwoch'', ''donnerstag'', ''freitag'']
|
||
}}'
|
||
sequence:
|
||
- variables:
|
||
directory: kita_meals
|
||
default:
|
||
- variables:
|
||
directory: meals
|
||
- action: openai_conversation.generate_image
|
||
data:
|
||
size: 1024x1024
|
||
quality: standard
|
||
style: vivid
|
||
config_entry: 01JAE4ZR2CG7T0XTAV08YDB7SS
|
||
prompt: 'Generiere ein realistisches Bild von folgendem Essen: {{ states(trigger.entity_id)
|
||
}} Der Fokus sollte auf dem Essen sein.'
|
||
response_variable: meal
|
||
- action: downloader.download_file
|
||
data:
|
||
overwrite: true
|
||
url: '{{ meal.url }}'
|
||
filename: '{{ trigger.id }}.png'
|
||
subdir: '{{ directory }}'
|
||
mode: parallel
|
||
- alias: MeteoAlarm
|
||
id: 40db0999-dd04-4b40-b5d3-58684fc9895f
|
||
description: Meteo Alarm
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.meteoalarm
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.jemand_in_spanien
|
||
state: 'on'
|
||
action:
|
||
- action: script.notify_engine
|
||
data:
|
||
title: 🌩️ {{state_attr('binary_sensor.meteoalarm', 'headline')}} 🌩️
|
||
value1: "\U0001F570️ {{ state_attr('binary_sensor.meteoalarm', 'effective')|as_timestamp|timestamp_custom('%d.%m.%Y\
|
||
\ %H:%M:%S %Z') }} - {{ state_attr('binary_sensor.meteoalarm', 'expires')|as_timestamp|timestamp_custom('%d.%m.%Y\
|
||
\ %H:%M:%S %Z') }}\n{{state_attr('binary_sensor.meteoalarm', 'description')}}\n\
|
||
**Handlungsempfehlung:**\n {{state_attr('binary_sensor.meteoalarm', 'instruction')}}\n\
|
||
\n**Gesendet von:**\n {{state_attr('binary_sensor.meteoalarm', 'senderName')}}"
|
||
who: family
|
||
tag_id: information
|
||
- alias: MiloKita
|
||
id: b2aeeef6-6e1f-441d-a1b4-1b678cd97467
|
||
description: Status aktualisieren, wenn Milo in der Kita ist.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: schedule.milo_kita_zeiten
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.milo_kita
|
||
state: 'on'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: schedule.milo_kita_zeiten
|
||
state: 'on'
|
||
then:
|
||
- action: input_select.select_option
|
||
target:
|
||
entity_id: input_select.milo_person_sync
|
||
data:
|
||
option: alleine
|
||
- action: device_tracker.see
|
||
data:
|
||
dev_id: milo_dummy_tracker
|
||
gps:
|
||
- secret milo_kita_lat
|
||
- secret milo_kita_long
|
||
else:
|
||
- action: input_select.select_option
|
||
target:
|
||
entity_id: input_select.milo_person_sync
|
||
data:
|
||
option: silke
|
||
mode: single
|
||
- alias: Show mini countdown on clock
|
||
id: 5ce560a2-c147-40f0-b02f-46ba328c5b84
|
||
description: Show mini countdown on clock
|
||
trigger:
|
||
- platform: time
|
||
at: 00:01:00
|
||
condition:
|
||
- condition: state
|
||
entity_id: group.parents
|
||
state: home
|
||
action:
|
||
- variables:
|
||
triggered_entity: sensor.anniversary_special_b_mini
|
||
entity_name: '{{ state_attr(triggered_entity, ''friendly_name'') }}'
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ triggered_entity != '''' }}'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: mini
|
||
text: '{{ states(triggered_entity) }} {{ state_attr(triggered_entity, ''unit_of_measurement'')}}'
|
||
icon: '365'
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: mini
|
||
mode: single
|
||
- alias: GrocyMissingProds
|
||
id: 18dc0537-cfe1-49c3-badc-0526216e7909
|
||
description: Benachrichtigt, wenn Produkte fehlen
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.grocy_missing_products
|
||
attribute: count
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.grocy_missing_products
|
||
state: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🥫 Produkte fehlen 🍲
|
||
|
||
'
|
||
value1: '{% set expiringProducts = state_attr("binary_sensor.grocy_missing_products",
|
||
"missing_products")%} {% set expiringCount = state_attr("binary_sensor.grocy_missing_products",
|
||
"count")%}
|
||
|
||
Folgende {{expiringCount}} Produkte müssen gekauft werden: {{- ''\n'' -}}
|
||
{% for i in expiringProducts %} - {{ i.name }} {{- ''\n'' -}} {% endfor %}'
|
||
who: home
|
||
tag_id: information
|
||
group: Food
|
||
mode: single
|
||
- alias: MorningBriefing
|
||
description: ''
|
||
id: ca2ea9b9-5ef6-4867-af35-4ce299c817ae
|
||
triggers:
|
||
- platform: time
|
||
at: 08:00:00
|
||
conditions:
|
||
- condition: state
|
||
entity_id: input_boolean.ai_morning_briefing
|
||
state: 'on'
|
||
actions:
|
||
- action: ai_task.generate_data
|
||
data:
|
||
entity_id: ai_task.openai_ai_task
|
||
task_name: morning briefing
|
||
instructions: "Generate a morning briefing.\n\nCan you maybe add a information\
|
||
\ what happend today in the history? If yes please search for it.\nI only\
|
||
\ want correct information about the history.\nPlease check online for sources\
|
||
\ that prove that the response is correct.\nYou can tell me details about\
|
||
\ it.\n\nWith these information:\n - current date: {{ as_timestamp(states('sensor.date_time_iso'))\
|
||
\ | timestamp_custom('%A %B %-d, %I:%M %p') }}\n - Outdoor temperature: {{\
|
||
\ states('sensor.daikinap90134_outside_temperature') }}°C\n - Weather condition:\
|
||
\ {{ states('weather.home') }}\n - Indoor temperature: {{ states('sensor.wohnungstemperatur')\
|
||
\ }}°C\n - Indoor humidity: {{ states('sensor.wohnungsfeuchtigkeit') }}%\n\
|
||
\ - Is today a work day?: {{ states('binary_sensor.workday_sensor') }}\n\n\
|
||
Answer in german. Make the answer a little bit funny.\nKeep the response to\
|
||
\ a maximum of 150 characters, can't be any longer.\n"
|
||
response_variable: response
|
||
- action: input_text.set_value
|
||
target:
|
||
entity_id: input_text.ai_morning_briefing
|
||
data:
|
||
value: '{{ response.data }}'
|
||
mode: parallel
|
||
- alias: NightMode
|
||
id: 9baffe35-daa2-43fa-bdd6-985240281706
|
||
description: Nachtmodus Automation
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.night_mode
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: input_boolean.night_mode
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: input_boolean.night_mode
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: input_boolean.night_mode
|
||
state: 'on'
|
||
then:
|
||
- service: script.night_mode_on
|
||
data: {}
|
||
else:
|
||
- service: script.night_mode_off
|
||
data: {}
|
||
mode: single
|
||
- alias: NINA Warnungen
|
||
id: a708dd34-6dd1-4745-a971-debf244734a5
|
||
description: NINA Warnungen
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.warning_home_1
|
||
to: 'on'
|
||
- platform: state
|
||
entity_id: binary_sensor.warning_home_2
|
||
to: 'on'
|
||
- platform: state
|
||
entity_id: binary_sensor.warning_home_3
|
||
to: 'on'
|
||
- platform: state
|
||
entity_id: binary_sensor.warning_home_4
|
||
to: 'on'
|
||
- platform: state
|
||
entity_id: binary_sensor.warning_home_5
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 🌩️ {{ trigger.to_state.attributes.headline }} (NINA) 🌩️
|
||
value1: "{% set attributes = trigger.to_state.attributes %} {{ attributes.description\
|
||
\ }}\n*Zeitraum* ⏰ _{{ as_datetime(attributes.start) ~ \" - \" ~ as_datetime(attributes.expires)\
|
||
\ }}_\n*Handlungsempfehlung*\n {{ attributes.recommended_actions }}\n\n*Warnung\
|
||
\ von:*\n {{ attributes.sender }}\n\n*Betroffene Bereiche*\n {{ attributes.affected_areas\
|
||
\ }}"
|
||
who: home
|
||
tag_id: information
|
||
group: Wetter
|
||
- alias: MedisNotification
|
||
id: 98553e4d-5625-488b-8a7d-01c315807b24
|
||
description: Medi Notif
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.medis_reminder_time_morning
|
||
- platform: time
|
||
at: input_datetime.medis_reminder_time_evening
|
||
- platform: time
|
||
at: input_datetime.medis_reminder_time_night
|
||
action:
|
||
- variables:
|
||
persons:
|
||
- key: miguel
|
||
device: miguel
|
||
name: Miguel
|
||
- key: silke
|
||
device: silke
|
||
name: Silke
|
||
- key: milo
|
||
device: miguel, silke
|
||
name: Milo
|
||
- key: maja
|
||
device: miguel, silke
|
||
name: Maja
|
||
medis_hourly: "{% set result = namespace(items=[]) %} {% for medi in label_entities('MedisHourly')\
|
||
\ %}\n {% if states(medi) in ['on', 'off'] and states(medi) == 'off' %}\n\
|
||
\ {% set result.items = result.items + [medi] %}\n {% endif %}\n{% endfor\
|
||
\ %} {{ result.items }}\n"
|
||
medis_daily: "{% set result = namespace(items=[]) %} {% for medi in label_entities('MedisDaily')\
|
||
\ %}\n {% if states(medi) in ['on', 'off'] and states(medi) == 'off' %}\n\
|
||
\ {% set result.items = result.items + [medi] %}\n {% endif %}\n{% endfor\
|
||
\ %} {{ result.items }}\n"
|
||
medis_weekly: "{% set result = namespace(items=[]) %} {% for medi in label_entities('MedisWeekly')\
|
||
\ %}\n {% if states(medi) in ['on', 'off'] and states(medi) == 'off' %}\n\
|
||
\ {% set result.items = result.items + [medi] %}\n {% endif %}\n{% endfor\
|
||
\ %} {{ result.items }}\n"
|
||
- variables:
|
||
all_medis: "{% set result = namespace(items=[]) %} {% for hourly in medis_hourly\
|
||
\ %}\n {% set result.items = result.items + [hourly] %}\n{% endfor %} {%\
|
||
\ for daily in medis_daily %}\n {% set result.items = result.items + [daily]\
|
||
\ %}\n{% endfor %} {% for weekly in medis_weekly %}\n {% set result.items\
|
||
\ = result.items + [weekly] %}\n{% endfor %} {{ result.items }}\n"
|
||
- variables:
|
||
medis_by_person: "{% set result = namespace(data={}) %} {% for person in persons\
|
||
\ %}\n {% set medi_list = namespace(items=[]) %}\n {% for entity_id in all_medis\
|
||
\ %}\n {% if person.key in entity_id %}\n {% set raw_name = state_attr(entity_id,\
|
||
\ 'friendly_name') or entity_id %}\n {% set name = raw_name | replace(person.name,\
|
||
\ '') | trim %}\n {% set medi_list.items = medi_list.items + [name] %}\n\
|
||
\ {% endif %}\n {% endfor %}\n {% set result.data = result.data | combine({\
|
||
\ person.key: medi_list.items | join(', ') }) %}\n{% endfor %} {{ result.data\
|
||
\ }}\n"
|
||
- repeat:
|
||
for_each: '{{ persons }}'
|
||
sequence:
|
||
- variables:
|
||
person_key: '{{ repeat.item.key }}'
|
||
person_info: '{{ repeat.item.name }}'
|
||
person_device: '{{ repeat.item.device }}'
|
||
medi_message: '{{ medis_by_person[person_key] }}'
|
||
- choose:
|
||
- conditions: '{{ medi_message != '''' }}'
|
||
sequence:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Zeit für {{ person_info }}s Medikamente!
|
||
who: '{{ person_device }}'
|
||
value1: '{{ medi_message }}'
|
||
group: Health
|
||
tag_id: information
|
||
icon: mdi:pill
|
||
actions:
|
||
- action: URI
|
||
title: Öffnen
|
||
uri: /lovelace-mobile/medication
|
||
- alias: RollladenOeffnet
|
||
id: 1bd70167-a552-4a7e-93de-2cfd0a823bc6
|
||
description: Wenn morgens der Rollladen hochgeht
|
||
trigger:
|
||
- platform: device
|
||
device_id: 2fc7242cfe1baeaaef8e393c8890e2cf
|
||
domain: cover
|
||
entity_id: cb2c427bea07f6795aa22d8414ed7dd4
|
||
type: opening
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.night_mode
|
||
state: 'on'
|
||
- condition: time
|
||
after: 06:00:00
|
||
before: '12:00:00'
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.night_mode
|
||
data: {}
|
||
mode: single
|
||
- alias: PicnicBenachrichtigung
|
||
id: 5f93e5ba-c185-48f1-8653-dd8e2271a145
|
||
description: Benachrichtigt wenn Picnic bald da ist.
|
||
trigger:
|
||
- platform: template
|
||
value_template: '"{{ as_timestamp(states(''sensor.picnic_voraussichtlicher_beginn_der_nachsten_lieferung''))
|
||
- as_timestamp(now()) <= 600 }}"
|
||
|
||
'
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🛒 Picnic 🛒
|
||
|
||
'
|
||
value1: 'Picnic kommt in den nächsten 5min.
|
||
|
||
'
|
||
tag_id: information
|
||
group: Shopping
|
||
mode: single
|
||
- id: 5d292a16-db4a-4897-88ce-1cf106efa12b
|
||
alias: Generate picture
|
||
description: Antwortet auf den /wetter Befehl
|
||
triggers:
|
||
- event_type: telegram_command
|
||
event_data:
|
||
command: /bild
|
||
trigger: event
|
||
conditions: []
|
||
actions:
|
||
- action: openai_conversation.generate_image
|
||
data:
|
||
size: 1024x1024
|
||
quality: standard
|
||
style: natural
|
||
config_entry: 01JAE4ZR2CG7T0XTAV08YDB7SS
|
||
prompt: '{{trigger.event.data[''args'']}}'
|
||
response_variable: generated
|
||
- data:
|
||
value1: '{{ generated.revised_prompt }}'
|
||
photo: '{{ generated.url }}'
|
||
who: home
|
||
tag_id: information
|
||
group: Family
|
||
action: script.notify_engine
|
||
mode: single
|
||
- alias: piholeState
|
||
id: 937b8048-a3a4-4557-9bf1-17e8d1c206bf
|
||
description: Pihole State
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- switch.pi_hole
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: switch.pi_hole
|
||
state: 'off'
|
||
then:
|
||
- service: timer.start
|
||
target:
|
||
entity_id: timer.pihole_disabled
|
||
else:
|
||
- service: timer.cancel
|
||
target:
|
||
entity_id: timer.pihole_disabled
|
||
mode: single
|
||
- alias: piholeTimerFinish
|
||
id: 484d8c6d-7be3-4069-ba2f-1a6a24f7c8fb
|
||
description: ''
|
||
trigger:
|
||
- platform: event
|
||
event_type: timer.finished
|
||
event_data:
|
||
entity_id: timer.pihole_disabled
|
||
condition: []
|
||
action:
|
||
- service: switch.turn_on
|
||
target:
|
||
entity_id: switch.pi_hole
|
||
mode: single
|
||
- alias: Pollenbenachrichtigung
|
||
id: 72ec3377-7e22-4ba2-b9a3-f3ef82261ade
|
||
description: Benachrichtigt wenn Pollen fliegen auf die einer im Haus allergisch
|
||
ist.
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- sensor.pollenflug_graeser_112
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
- condition: numeric_state
|
||
entity_id: sensor.pollenflug_graeser_112
|
||
above: 0
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '☠️🌺 Pollenflug 🌺☠️
|
||
|
||
'
|
||
value1: '{{ trigger.to_state.attributes.friendly_name }} haben heute eine "{{ trigger.to_state.attributes.state_today_desc }}"
|
||
|
||
und morgen eine "{{ trigger.to_state.attributes.state_tomorrow_desc }}".
|
||
|
||
Status heute: {{ trigger.to_state.state }}
|
||
|
||
Status morgen: {{ trigger.to_state.attributes.state_tomorrow }}
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Health
|
||
mode: single
|
||
- alias: Rain trigger
|
||
id: 00f0df21-aa56-4fc4-8f8e-56b983c49e6f
|
||
description: Set boolean while raining
|
||
trigger:
|
||
- platform: state
|
||
entity_id: weather.home
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: weather.home
|
||
state: rainy
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id: input_boolean.raining
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: input_boolean.raining
|
||
mode: single
|
||
- description: Remove old snapshots
|
||
alias: RemoveOldSnapshots
|
||
id: 7e4dceda-e410-4827-8ae0-776c16ae1511
|
||
mode: single
|
||
triggers:
|
||
- trigger: time
|
||
at: 00:15:00
|
||
conditions: []
|
||
actions:
|
||
- action: shell_command.removesnapshots
|
||
metadata: {}
|
||
data: {}
|
||
- alias: MedisResetBool
|
||
id: b67001f4-cf8f-414d-a1bb-84fe46b2b37b
|
||
description: Medis reset
|
||
trigger:
|
||
- platform: time
|
||
at: 00:01:00
|
||
id: daily
|
||
- trigger: time
|
||
at:
|
||
entity_id: input_datetime.medis_reminder_time_morning
|
||
offset: -01:00:00
|
||
id: morgens
|
||
- trigger: time
|
||
at:
|
||
entity_id: input_datetime.medis_reminder_time_evening
|
||
offset: -01:00:00
|
||
id: mittags
|
||
- trigger: time
|
||
at:
|
||
entity_id: input_datetime.medis_reminder_time_night
|
||
offset: -01:00:00
|
||
id: abends
|
||
action:
|
||
- if:
|
||
- alias: check if it is the daily Trigger
|
||
condition: template
|
||
value_template: '{{ trigger.id == ''daily'' }}'
|
||
then:
|
||
- action: input_boolean.turn_off
|
||
target:
|
||
label_id: medisdaily
|
||
- variables:
|
||
heuschnupfen: "{%- for medi in label_entities('MedisDaily') | list if states(medi)\
|
||
\ in ('on','off') -%}\n {%- if \"heuschnupfen\" in medi -%}\n {{ medi\
|
||
\ }}\n {%- endif -%}\n{%- endfor -%}\n"
|
||
- choose:
|
||
- conditions: '{{ heuschnupfen != '''' }}'
|
||
sequence:
|
||
- repeat:
|
||
for_each: '{{ heuschnupfen.split('' '') }}'
|
||
sequence:
|
||
- variables:
|
||
pollen_typ: '{{ repeat.item.split(''_'')[4] }}'
|
||
pollen_sensor: sensor.pollenflug_{{ pollen_typ }}_112
|
||
- condition: template
|
||
value_template: '{{ states(repeat.item) != ''on'' and states(pollen_sensor)
|
||
| float == 0 }}
|
||
|
||
'
|
||
- action: input_boolean.turn_on
|
||
target:
|
||
entity_id: '{{ repeat.item }}'
|
||
alias: Heuschnupfen anschalten, wenn gerade keine Pollen unterwegs sind
|
||
- condition: time
|
||
weekday:
|
||
- sun
|
||
- action: input_boolean.turn_off
|
||
target:
|
||
label_id: medisweekly
|
||
else:
|
||
- action: input_boolean.turn_off
|
||
target:
|
||
label_id:
|
||
- medishourly
|
||
- '{{ trigger.id }}'
|
||
- alias: Reset picnic counter
|
||
id: 0adfa03b-b03a-487c-961c-657907bc05d5
|
||
description: Reset picnic counter every month
|
||
trigger:
|
||
- platform: time_pattern
|
||
hours: 0
|
||
minutes: 0
|
||
condition:
|
||
- condition: template
|
||
value_template: '{{ now().day == 1 }}'
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ now().month == 1 }}'
|
||
then:
|
||
- action: counter.reset
|
||
target:
|
||
entity_id:
|
||
- counter.picnic_jahres_kosten
|
||
data: {}
|
||
alias: Check if it january
|
||
- action: counter.reset
|
||
target:
|
||
entity_id:
|
||
- counter.picnic_monats_kosten
|
||
data: {}
|
||
mode: single
|
||
- alias: RolladenLueften
|
||
id: 907a7f7e-836e-4a75-b98c-a793f0da9534
|
||
description: Öffnet Rolladen zum Lüften
|
||
trigger:
|
||
- platform: template
|
||
value_template: '{{ state_attr( "weather.home", "temperature" ) < state_attr("climate.daikinap90134",
|
||
"current_temperature") }}
|
||
|
||
'
|
||
condition:
|
||
- condition: state
|
||
entity_id: binary_sensor.nacht
|
||
state: 'off'
|
||
- condition: numeric_state
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
attribute: current_position
|
||
below: '40'
|
||
- condition: state
|
||
entity_id: input_boolean.lueften_aktiv
|
||
state: 'on'
|
||
- condition: or
|
||
conditions:
|
||
- below: '23'
|
||
entity_id: sensor.daikinap90134_outside_temperature
|
||
condition: numeric_state
|
||
- below: '23'
|
||
entity_id: weather.home
|
||
attribute: temperature
|
||
condition: numeric_state
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: weather.home
|
||
state: sunny
|
||
action:
|
||
- service: cover.open_cover
|
||
data: {}
|
||
target:
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
mode: single
|
||
- alias: RolladenSunrise
|
||
id: 24fa0d54-ffb8-43d3-9e55-ebdd262deaf0
|
||
description: Schließt Rolladen vor Sonnenaufgang
|
||
trigger:
|
||
- platform: sun
|
||
event: sunrise
|
||
offset: -01:00:00
|
||
condition:
|
||
- condition: numeric_state
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
attribute: current_position
|
||
above: '40'
|
||
- condition: state
|
||
entity_id: input_boolean.sonnen_wegblenden_schlafen_aktiv
|
||
state: 'on'
|
||
action:
|
||
- service: cover.set_cover_position
|
||
data:
|
||
position: 6
|
||
target:
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
mode: single
|
||
- alias: Rollladen Sonnenschutz
|
||
id: 35a45982-41c2-4a64-b724-aa559b81e9fd
|
||
description: Schließt Rollladen, wenn es zu warm ist
|
||
trigger:
|
||
- above: '23'
|
||
entity_id: sensor.daikinap90134_outside_temperature
|
||
platform: numeric_state
|
||
- above: '23'
|
||
entity_id: weather.home
|
||
attribute: temperature
|
||
platform: numeric_state
|
||
condition:
|
||
- condition: time
|
||
after: 09:00:00
|
||
before: '19:00:00'
|
||
- condition: state
|
||
entity_id: input_boolean.sonnen_schutz_aktiv
|
||
state: 'on'
|
||
action:
|
||
- if:
|
||
- condition: numeric_state
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
attribute: current_position
|
||
above: '40'
|
||
then:
|
||
- service: cover.set_cover_position
|
||
data:
|
||
position: 23
|
||
target:
|
||
entity_id: cover.rollladen_schlafzimmer
|
||
- if:
|
||
- condition: numeric_state
|
||
entity_id: cover.wohnzimmerrolladen
|
||
attribute: current_position
|
||
above: '40'
|
||
then:
|
||
- service: cover.set_cover_position
|
||
data:
|
||
position: 23
|
||
target:
|
||
entity_id: cover.wohnzimmerrolladen
|
||
- if:
|
||
- condition: numeric_state
|
||
entity_id: cover.rolladen_kinderzimmer
|
||
attribute: current_position
|
||
above: '40'
|
||
then:
|
||
- service: cover.set_cover_position
|
||
data:
|
||
position: 23
|
||
target:
|
||
entity_id: cover.rolladen_kinderzimmer
|
||
mode: single
|
||
- alias: Einkaufsbenachrichtigung
|
||
id: 9c0cb04f-09bc-49f6-a9d8-e5ec3ff73f2b
|
||
description: Einkaufsbenachrichtigung
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- zone.rewe
|
||
- zone.kaufland
|
||
from: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 3
|
||
seconds: 0
|
||
id: picnic_einkaufswagen
|
||
- platform: state
|
||
entity_id:
|
||
- zone.getranke_markt
|
||
from: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 3
|
||
seconds: 0
|
||
id: getranke
|
||
- platform: state
|
||
entity_id:
|
||
- zone.dm
|
||
from: '0'
|
||
for:
|
||
hours: 0
|
||
minutes: 3
|
||
seconds: 0
|
||
id: dm_einkaufen
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
list_id: todo.{{ trigger.id }}
|
||
- condition: template
|
||
value_template: '{{ states(list_id) | int > 0 }}'
|
||
- action: todo.get_items
|
||
target:
|
||
entity_id: '{{ list_id }}'
|
||
data:
|
||
status: needs_action
|
||
response_variable: incompleteItems
|
||
- action: script.notify_engine
|
||
data:
|
||
title: Einkaufsliste - {{ states(list_id) }} Dinge
|
||
value1: "{% for i in incompleteItems[list_id]['items'] %}\n - {{ i.summary\
|
||
\ }} {%\nendfor %}\n"
|
||
who: home
|
||
tag_id: information
|
||
group: Einkauf
|
||
mode: single
|
||
- alias: Shower
|
||
id: 2e10ac5d-5d52-4006-9b95-b46e4d241b99
|
||
description: Shower automation
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.dusche
|
||
to: 'on'
|
||
condition: []
|
||
action:
|
||
- service: script.spotify_audio
|
||
data:
|
||
volume: 0.6
|
||
type: playlist
|
||
media_id: https://open.spotify.com/playlist/5r4YRJTzgAObYU4pXbWW9a?si=80e65565a3b24adb&pt=5c44bf58d4ec568bfccbf89cb14e8b3c
|
||
source: Echo_Gross
|
||
mode: single
|
||
- alias: SilkeWork
|
||
id: 4b8a1925-f831-4168-bdc2-697f63d79f3c
|
||
description: Wenn Silke arbeiten muss
|
||
trigger:
|
||
- platform: state
|
||
entity_id: schedule.silke_arbeit
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: schedule.silke_arbeit
|
||
state: 'on'
|
||
then:
|
||
- action: input_select.select_option
|
||
target:
|
||
entity_id: input_select.milo_person_sync
|
||
data:
|
||
option: miguel
|
||
else:
|
||
- action: input_select.select_option
|
||
target:
|
||
entity_id: input_select.milo_person_sync
|
||
data:
|
||
option: silke
|
||
mode: single
|
||
- id: 87a6c36c-7123-4083-bd32-0927d6fa36c4
|
||
alias: snapshotOnDoorChange
|
||
description: ''
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.hausture
|
||
to: 'on'
|
||
condition:
|
||
- condition: state
|
||
entity_id: switch.flur_cam_stecker
|
||
state: 'on'
|
||
action:
|
||
- action: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: picture-entity
|
||
entity: camera.flurcam
|
||
show_state: false
|
||
show_name: false
|
||
camera_view: live
|
||
autoclose: true
|
||
timeout: 30000
|
||
title: Haustüre wurde geöffnet
|
||
size: classic
|
||
allow_nested_more_info: false
|
||
- variables:
|
||
timestamp: '{{ state_attr("camera.flurcam", "friendly_name") }}_{{ now().strftime("%Y%m%d-%H%M%S")
|
||
}}'
|
||
- variables:
|
||
file_path: /media/{{ timestamp }}.mp4
|
||
pic_path: '{{ timestamp }}.jpg'
|
||
start: '{{ now() }}'
|
||
- action: camera.snapshot
|
||
target:
|
||
entity_id: camera.flurcam
|
||
data:
|
||
filename: /config/www/cams/{{ pic_path }}
|
||
- action: script.notify_engine
|
||
data:
|
||
title: Haustüre
|
||
value1: Haustüre wurde geöffnet!
|
||
tag_id: security
|
||
who: tv_overlay
|
||
group: Alarm
|
||
photo: http://{{states('input_text.server_ip')}}:8123/local/cams/{{ pic_path
|
||
}}
|
||
- variables:
|
||
end: '{{ now() }}'
|
||
- event: cam_event
|
||
event_data:
|
||
event: Haustüre geöffnet
|
||
starts: '{{ start }}'
|
||
ends: '{{ end }}'
|
||
summary: Haustüre wurde geöffnet
|
||
key_frame: /local/cams/{{ pic_path }}
|
||
camera: camera.flurcam
|
||
- action: camera.record
|
||
target:
|
||
entity_id:
|
||
- camera.flurcam
|
||
data:
|
||
duration: 5
|
||
filename: '{{ file_path }}'
|
||
mode: single
|
||
- alias: Show spotify on the clock
|
||
id: 65f0caac-6ebc-4025-af11-4ef6bf3b75e1
|
||
description: Show spotify on the clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: media_player.spotify_miguel
|
||
condition:
|
||
- condition: state
|
||
entity_id: group.parents
|
||
state: home
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: media_player.spotify_miguel
|
||
state: playing
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: spotify
|
||
text: '{{states.media_player.spotify_miguel.attributes.media_title}}'
|
||
icon: '12676'
|
||
repeat: 1
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: spotify
|
||
mode: single
|
||
- description: Spülmaschine aktiv
|
||
alias: SpuelmaschineActive
|
||
id: a444c0eb-c032-4e9c-b923-6244fe1a24b8
|
||
mode: single
|
||
triggers:
|
||
- type: power
|
||
device_id: 693f221d9b27a211511a735ae34fc6d0
|
||
entity_id: 63bfc36a2f736572074819f62b69d6ca
|
||
domain: sensor
|
||
trigger: device
|
||
above: 30
|
||
id: 'on'
|
||
for:
|
||
hours: 0
|
||
minutes: 1
|
||
seconds: 0
|
||
- type: power
|
||
device_id: 693f221d9b27a211511a735ae34fc6d0
|
||
entity_id: 63bfc36a2f736572074819f62b69d6ca
|
||
domain: sensor
|
||
trigger: device
|
||
below: 1
|
||
id: 'off'
|
||
for:
|
||
hours: 0
|
||
minutes: 1
|
||
seconds: 0
|
||
conditions: []
|
||
actions:
|
||
- if:
|
||
- condition: trigger
|
||
id:
|
||
- 'on'
|
||
then:
|
||
- action: input_boolean.turn_on
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
entity_id: input_boolean.spulmaschine_aktiv
|
||
else:
|
||
- action: input_boolean.turn_off
|
||
metadata: {}
|
||
data: {}
|
||
target:
|
||
entity_id: input_boolean.spulmaschine_aktiv
|
||
- alias: Show state of miguel
|
||
id: f6d85177-1780-4f92-a00b-db0a583a1bad
|
||
description: Show miguels state on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.miguel
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: person.miguel
|
||
state: home
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: miguel
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: miguel
|
||
text: '{{ states(''person.miguel'') }}'
|
||
icon: '28759'
|
||
mode: single
|
||
- alias: Show state of milo
|
||
id: de7d8756-e929-4001-ade4-1c02b9a2c5c6
|
||
description: Show milos state on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.milo_carlos
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: person.milo_carlos
|
||
state: home
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: milo
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: milo
|
||
text: '{{ states(''person.milo_carlos'') }}'
|
||
icon: '48342'
|
||
mode: single
|
||
- alias: Show state of silke
|
||
id: 9503b5e7-7f22-4687-afd2-c9aed8be4696
|
||
description: Show silkes state on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: person.silke
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: person.silke
|
||
state: home
|
||
then:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: silke
|
||
else:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: silke
|
||
text: '{{ states(''person.silke'') }}'
|
||
icon: '19702'
|
||
mode: single
|
||
- alias: majaStatus
|
||
id: af0110f3-a36b-4434-8fde-b867c9d68de1
|
||
description: Sync Maja State with silke state
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- person.silke
|
||
- person.miguel
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
- condition: template
|
||
value_template: '{% set personName = "person." ~ states("input_select.maja_person_sync")
|
||
%}
|
||
|
||
{{ trigger.entity_id == personName }}'
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{% set personName = "person." ~ states("input_select.maja_person_sync")
|
||
%}
|
||
|
||
{{ states(personName) == "home" }}'
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.maja_home
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.maja_home
|
||
- service: device_tracker.see
|
||
data:
|
||
location_name: '{% set personName = "person." ~ states("input_select.maja_person_sync")
|
||
%}
|
||
|
||
{{ states(personName) }}'
|
||
dev_id: maja_dummy_tracker
|
||
gps:
|
||
- '{{ state_attr(''person.'' ~ states(''input_select.maja_person_sync''), ''latitude'')
|
||
}}'
|
||
- '{{ state_attr(''person.'' ~ states(''input_select.maja_person_sync''), ''longitude'')
|
||
}}'
|
||
gps_accuracy: '{% set personName = "person." ~ states("input_select.maja_person_sync")
|
||
%}
|
||
|
||
{{ state_attr(personName, "gps_accuracy") }}'
|
||
mode: queued
|
||
max: 10
|
||
- alias: Sunrise
|
||
id: 4ee75af6-8365-4e9f-85a8-4e71b2c9c67a
|
||
description: Sonnenaufgangsautomation
|
||
trigger:
|
||
- platform: sun
|
||
event: sunrise
|
||
offset: -00:30:00
|
||
condition: []
|
||
action:
|
||
- service: script.sunrise_script
|
||
data: {}
|
||
mode: single
|
||
- alias: Sunset
|
||
id: a383092c-b90f-4357-8ca7-931e2b0e58a9
|
||
description: Sonnenuntergangsautomation
|
||
trigger:
|
||
- platform: sun
|
||
event: sunset
|
||
offset: -00:45:00
|
||
condition: []
|
||
action:
|
||
- service: script.sunset_script
|
||
data: {}
|
||
mode: single
|
||
- alias: Wecker 3 synchronisieren
|
||
id: 6f228bce-1c81-4807-9c66-59ce30b2a5f9
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.pixel_9_pro_next_alarm
|
||
- platform: state
|
||
entity_id: sensor.silke_handy_next_alarm
|
||
action:
|
||
- service: input_datetime.set_datetime
|
||
entity_id: input_datetime.wecker_family
|
||
data_template:
|
||
datetime: "{% set wecker1_time = as_timestamp(states('sensor.pixel_9_pro_next_alarm'))\
|
||
\ %} {% set wecker2_time = as_timestamp(states('sensor.silke_handy_next_alarm'))\
|
||
\ %} {% if wecker1_time >= wecker2_time %}\n {{ strptime(as_local(wecker1_time).strftime('%Y-%m-%d\
|
||
\ %H:%M:%S'), '%Y-%m-%d %H:%M:%S') }}\n{% else %}\n {{ strptime(as_local(wecker2_time).strftime('%Y-%m-%d\
|
||
\ %H:%M:%S'), '%Y-%m-%d %H:%M:%S') }}\n{% endif %}"
|
||
- alias: SyncAlarmFromMobile
|
||
id: d51b6739-a9df-405d-9a8a-903c8082c0eb
|
||
description: Sync Wecker
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.pixel_9_pro_next_alarm
|
||
id: miguel
|
||
- platform: state
|
||
entity_id: sensor.silke_handy_next_alarm
|
||
id: silke
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: trigger
|
||
id: miguel
|
||
then:
|
||
- service: input_datetime.set_datetime
|
||
data:
|
||
timestamp: '{{ ( state_attr("sensor.pixel_9_pro_next_alarm", "Time in Milliseconds") |
|
||
int / 1000 ) }}'
|
||
target:
|
||
entity_id: input_datetime.miguel_wecker
|
||
else:
|
||
- service: input_datetime.set_datetime
|
||
data:
|
||
timestamp: '{{ ( state_attr("sensor.silke_handy_next_alarm", "Time in Milliseconds") |
|
||
int / 1000 ) }}'
|
||
target:
|
||
entity_id: input_datetime.silke_wecker
|
||
mode: single
|
||
- alias: Sync electricity price
|
||
id: 5b023ec5-2f0a-489d-8f00-efbba8af1a2b
|
||
description: Sync electricity price
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.epex_spot_data_net_price
|
||
condition: []
|
||
action:
|
||
- action: input_number.set_value
|
||
target:
|
||
entity_id: input_number.strompreis
|
||
data:
|
||
value: '{% set val = states(''sensor.epex_spot_data_net_price'') | float(0)
|
||
%} {{ ((val * 100) | round(0, ''ceil'')) / 100 }}
|
||
|
||
'
|
||
mode: single
|
||
- alias: TasksNotif
|
||
id: afa5aa6b-7cf4-43bb-bb47-d37601433dea
|
||
description: Benachrichtigt, wenn ToDo's anstehen.
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.chores_notif_time
|
||
condition:
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: sensor.grocy_tasks
|
||
state: '0'
|
||
action:
|
||
- variables:
|
||
filtered_tasks: "{% set todos = state_attr(\"sensor.grocy_tasks\", \"tasks\"\
|
||
) %} {% set now = now().astimezone() %} {% set upcoming = now + timedelta(days=10)\
|
||
\ %}\n{% set filtered = namespace(tasks=[]) %} {% for task in todos %}\n \
|
||
\ {% if task.due_date is defined and task.due_date %}\n {% set due = as_datetime(task.due_date)\
|
||
\ %}\n {% if due.tzinfo is none %}\n {% set due = due.replace(tzinfo=now.tzinfo)\
|
||
\ %}\n {% endif %}\n {% if due.date() >= now.date() and due.date() <=\
|
||
\ upcoming.date() %}\n {% set filtered.tasks = filtered.tasks + [task]\
|
||
\ %}\n {% endif %}\n {% endif %}\n{% endfor %} {% set sorted_tasks = filtered.tasks\
|
||
\ | sort(attribute='category.name') %} {{ sorted_tasks }}\n"
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 📑 ToDo's in den nächsten Tagen 📑
|
||
value1: "{% set current_cat = '' %} {% if filtered_tasks %} Folgende ToDo's\
|
||
\ stehen in den nächsten 10 Tagen an:\n{%- for task in filtered_tasks %}\n\
|
||
\ {%- set cat = task.category.name if task.category is defined and task.category.name\
|
||
\ is defined else 'Ohne Kategorie' %}\n {%- if cat != current_cat %}\n\U0001F4D1\
|
||
\ Kategorie: {{ cat }}\n {%- set current_cat = cat %}\n {%- endif %}\n\
|
||
- {{ task.name }}\n \U0001F4DD {{ task.description or '' }}\n \U0001F464\
|
||
\ {{ task.assigned_to_user.display_name if task.assigned_to_user is defined\
|
||
\ and task.assigned_to_user.display_name is defined else 'Unbekannt' }}\n\
|
||
\ \U0001F5D3️ {{ as_timestamp(task.due_date) | timestamp_custom('%d.%m.%Y\
|
||
\ %H:%M') }}\n\n{%- endfor %} {% else %} ✅ Es stehen keine ToDo's in den nächsten\
|
||
\ 10 Tagen an. {% endif %}\n"
|
||
who: home
|
||
tag_id: information
|
||
group: Hausarbeiten
|
||
mode: single
|
||
- alias: Show temperature on clock
|
||
id: 4439da33-a3b6-4566-981d-fcfa49f6786b
|
||
description: ' Show temperature on clock'
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.wohnungstemperatur
|
||
condition: []
|
||
action:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: temperature
|
||
text: '{{ states(''sensor.wohnungstemperatur'') }} {{ state_attr(''sensor.wohnungstemperatur'',
|
||
''unit_of_measurement'') }}'
|
||
icon: '4481'
|
||
mode: single
|
||
- alias: Scheduled flight takes off
|
||
id: a4d5f9d0-3232-443c-95e8-18ff404959c6
|
||
trigger:
|
||
platform: event
|
||
event_type: flightradar24_tracked_took_off
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Flight
|
||
value1: Flight takes off {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city
|
||
}} [Open FlightRadar](https://www.flightradar24.com/{{ trigger.event.data.callsign
|
||
}})
|
||
who: home
|
||
tag_id: information
|
||
group: Flights
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Flight
|
||
value1: Flight takes off {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city
|
||
}} [Open FlightRadar](https://www.flightradar24.com/{{ trigger.event.data.callsign
|
||
}})
|
||
who: family
|
||
tag_id: information
|
||
group: Flights
|
||
- alias: Scheduled flight lands
|
||
id: 9b87a72c-877b-44c2-8181-73437d50869d
|
||
trigger:
|
||
platform: event
|
||
event_type: flightradar24_tracked_landed
|
||
action:
|
||
- variables:
|
||
title: Flight
|
||
message: Flight landed {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city
|
||
}} [Open FlightRadar](https://www.flightradar24.com/{{ trigger.event.data.callsign
|
||
}})
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '{{ title }}'
|
||
value1: '{{ message }}'
|
||
who: home, family
|
||
tag_id: information
|
||
group: Flights
|
||
- service: text.set_value
|
||
data:
|
||
value: '{{ trigger.event.data.aircraft_registration }}'
|
||
target:
|
||
entity_id: text.flightradar24_remove_from_track
|
||
- id: dc32d4be-a49c-4a0e-81e1-2a85f6ed6758
|
||
alias: alarmOnContact
|
||
description: Bei Änderung der Kontaktsensoren Alarm auslösen
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.contact_sensors
|
||
to: 'on'
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_away
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_home
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_vacation
|
||
action:
|
||
- service: alarm_control_panel.alarm_trigger
|
||
target:
|
||
entity_id: alarm_control_panel.alarmo
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 🏃 Bewegung 🏃
|
||
value1: '{{ trigger.to_state.attributes.friendly_name }} wurde geöffnet.'
|
||
who: home
|
||
tag_id: alert
|
||
group: Alarm
|
||
mode: single
|
||
- id: 1838588e-2696-4082-8f5b-ef025daf94c4
|
||
alias: alarmOnDoorOpen
|
||
description: Alarm auslösen, wenn die Tür geöffnet wird.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: lock.hausture
|
||
from: locked
|
||
to: unlocked
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_away
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_home
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_vacation
|
||
action:
|
||
- service: alarm_control_panel.alarm_trigger
|
||
target:
|
||
entity_id: alarm_control_panel.alarmo
|
||
- service: script.notify_engine
|
||
data:
|
||
title: 🚪 Türe 🚪
|
||
value1: '{{ trigger.to_state.attributes.friendly_name }} wurde geöffnet.'
|
||
who: home
|
||
tag_id: alert
|
||
group: Alarm
|
||
mode: single
|
||
- id: b06e36c7-31a2-429d-88e5-70fdcf2d72c7
|
||
alias: unarmAlarm
|
||
description: Alarm automatisch abschalten
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.residents
|
||
to: home
|
||
condition:
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_away
|
||
action:
|
||
- service: alarm_control_panel.alarm_disarm
|
||
entity_id: alarm_control_panel.alarmo
|
||
data:
|
||
code: secret alarm_code
|
||
- alias: UpdateDocumentation
|
||
id: 6b1b4b5e-8da3-48a1-904f-a20728b3c67c
|
||
description: Automatischer commit und update der Docu
|
||
trigger:
|
||
- trigger: time
|
||
at: '23:55:00'
|
||
condition: []
|
||
action:
|
||
- service: script.update_docs_script
|
||
- service: shell_command.update_docs
|
||
mode: single
|
||
- alias: Update Available Notification
|
||
id: 11defef9-9e5c-41ff-8657-d5a79f384861
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.home_assistant_versions_update_available
|
||
from: 'off'
|
||
to: 'on'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: Update available
|
||
value1: '{{ state_attr(''binary_sensor.home_assistant_versions_update_available'',
|
||
''friendly_name'') }}.'
|
||
who: miguel
|
||
tag_id: information
|
||
group: System
|
||
mode: single
|
||
- alias: UrlaubsmodusAutom
|
||
id: d671c363-5a0c-4f56-b8ff-857234b23b61
|
||
description: Schaltet das Smart Home System in den Urlaubsmodus.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: armed_vacation
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.holiday_mode
|
||
- if:
|
||
- condition: state
|
||
entity_id: alarm_control_panel.alarmo
|
||
state: disarmed
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'on'
|
||
then:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.holiday_mode
|
||
mode: single
|
||
- alias: VaccumCleaner
|
||
id: 4904b3cf-2099-4f13-8565-43719f3e74b6
|
||
description: Lässt den Staubsaugroboter laufen, wenn wir mit Maja draußen sind
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.maja_home
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.automatic_cleaning
|
||
state: 'on'
|
||
action:
|
||
- service: script.cleaning_without_dog
|
||
data: {}
|
||
mode: single
|
||
- alias: Robot finishes cleaning
|
||
id: b2bad212-5d9a-40d5-b64b-94aacdaabb6d
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- vacuum.roomba
|
||
from: cleaning
|
||
to: docked
|
||
action:
|
||
- action: grocy.execute_chore
|
||
data:
|
||
chore_id: '2'
|
||
done_by: '1'
|
||
- alias: WashingNotif
|
||
id: 85d51d88-d162-4a4b-b1ee-d09e818afb98
|
||
description: Benachrichtigt wenn die Waschmaschine fertig ist
|
||
trigger:
|
||
- platform: numeric_state
|
||
entity_id: sensor.waschmaschinen_steckdose_power
|
||
below: '1.0'
|
||
for: 00:01:00
|
||
- platform: state
|
||
entity_id: sensor.waschmaschine_operation_state
|
||
to: Finished
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.wash_active
|
||
state: 'on'
|
||
action:
|
||
- action: script.notify_engine
|
||
data:
|
||
title: '🧼 Waschmaschine 🧼
|
||
|
||
'
|
||
value1: '{% set cycleConsumption = ( states("sensor.waschmaschinen_steckdose_energy")
|
||
| float - states("input_number.wash_cycle_consumption") | float ) %} {% set
|
||
costs = cycleConsumption * states("input_number.strompreis") | float(2) %}
|
||
Waschmaschine ist fertig. Verbrauch {{ cycleConsumption | float|round(2) }}
|
||
kWh. Das macht ca. {{ costs | float|round(2) }} €'
|
||
who: home
|
||
tag_id: information
|
||
group: Laundry
|
||
- action: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.wash_active
|
||
- action: grocy.execute_chore
|
||
data:
|
||
chore_id: '1'
|
||
done_by: '1'
|
||
mode: single
|
||
- alias: WashingActive
|
||
id: 129efe4c-3890-4012-867f-6317c8e5021d
|
||
description: Setzt den Helfer, wenn die Waschmaschine läuft.
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.waschmaschine_operation_state
|
||
to: Run
|
||
- platform: numeric_state
|
||
entity_id: sensor.waschmaschinen_steckdose_power
|
||
above: '15'
|
||
for: 00:01:00
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.wash_active
|
||
state: 'off'
|
||
action:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.wash_active
|
||
- service: input_number.set_value
|
||
data_template:
|
||
value: '{{ states(''sensor.waschmaschinen_steckdose_energy'') }}'
|
||
entity_id: input_number.wash_cycle_consumption
|
||
mode: single
|
||
- alias: Show waste on clock
|
||
id: 33ea773e-67d2-4f5c-97ba-778d098b0ade
|
||
description: Show waste on clock
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.nachste_abfuhrtermine
|
||
condition: []
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ trigger.to_state.attributes.daysTo | int <= 1 }}'
|
||
then:
|
||
- action: script.awtrix3customapp
|
||
data:
|
||
app_id: waste
|
||
text: '{{ trigger.to_state.state }}'
|
||
icon: '57283'
|
||
else:
|
||
- action: script.awtrix3delapp
|
||
data:
|
||
app_id: waste
|
||
mode: parallel
|
||
- alias: WateringNotifIndoor
|
||
id: 794c14fa-fac7-4d5c-85a0-b6551ad75507
|
||
description: Benachrichtigt, ob die Pflanzen drinnen gegossen werden müssen.
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.watering_time
|
||
condition:
|
||
- condition: state
|
||
entity_id: sensor.weekday
|
||
state: Sunday
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🌊🌿 Gießen 🌊🌿
|
||
|
||
'
|
||
value1: 'Pflanzen in der Wohnung müssen heute gegossen werden!
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Pflanzen
|
||
mode: single
|
||
- alias: Track Chore Water Bath
|
||
id: b900d37b-f0b2-4155-8251-bc7acbb7f1d4
|
||
description: Track Chore Water Bath
|
||
trigger:
|
||
- trigger: state
|
||
entity_id:
|
||
- sensor.wasser_warm_bad
|
||
condition: []
|
||
action:
|
||
- action: grocy.execute_chore
|
||
data:
|
||
chore_id: '8'
|
||
done_by: '2'
|
||
mode: single
|
||
- alias: Track Chore Water WC
|
||
id: 1a599a28-f737-4dcc-996a-38a7a6c647f4
|
||
description: Track Chore Water WC
|
||
trigger:
|
||
- trigger: state
|
||
entity_id:
|
||
- sensor.wasser_klo_warm
|
||
condition: []
|
||
action:
|
||
- action: grocy.execute_chore
|
||
data:
|
||
chore_id: '9'
|
||
done_by: '2'
|
||
mode: single
|
||
- alias: WateringNotifOutdoor
|
||
id: 1458fb06-3f77-4669-8e72-0a7ec224be45
|
||
description: Benachrichtigt, ob die Pflanzen draußen gegossen werden müssen.
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.watering_time
|
||
condition:
|
||
- condition: not
|
||
conditions:
|
||
- condition: state
|
||
entity_id: weather.home
|
||
state: rainy
|
||
- condition: template
|
||
value_template: '{% set days = 1 %} {{ ''rainy'' in state_attr(''weather.home'',
|
||
''forecast'')[:days] | map(attribute=''condition'') }}
|
||
|
||
'
|
||
- condition: numeric_state
|
||
entity_id: sensor.rained_last_day
|
||
below: 1
|
||
- condition: state
|
||
entity_id: input_boolean.holiday_mode
|
||
state: 'off'
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: sensor.season
|
||
state: spring
|
||
- condition: state
|
||
entity_id: sensor.season
|
||
state: summer
|
||
action:
|
||
- service: script.notify_engine
|
||
data:
|
||
title: '🌊🌿 Gießen 🌊🌿
|
||
|
||
'
|
||
value1: 'Pflanzen müssen heute gegossen werden!
|
||
|
||
'
|
||
who: home
|
||
tag_id: information
|
||
group: Pflanzen
|
||
mode: single
|
||
- alias: ShowerWater
|
||
id: 088d95b7-fe66-4f6f-b451-36f57089a574
|
||
description: Setzt den Duschstatus anhand des Wassersensors
|
||
trigger:
|
||
- platform: state
|
||
entity_id: binary_sensor.duschsensor_water_leak
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity_id: binary_sensor.duschsensor_water_leak
|
||
state: 'on'
|
||
- condition: state
|
||
entity_id: binary_sensor.duschsensor_water_leak
|
||
state: 'off'
|
||
action:
|
||
- if:
|
||
- condition: state
|
||
entity_id: binary_sensor.duschsensor_water_leak
|
||
state: 'on'
|
||
then:
|
||
- service: input_boolean.turn_on
|
||
entity_id: input_boolean.shower_active
|
||
else:
|
||
- service: input_boolean.turn_off
|
||
entity_id: input_boolean.shower_active
|
||
mode: single
|
||
- alias: Weather indicator TV
|
||
id: 54e10e2c-91a5-43cd-a7d2-d0087effef06
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- weather.home
|
||
condition: []
|
||
action:
|
||
- service: notify.tvoverlaynotifyfixed
|
||
data:
|
||
data:
|
||
id: fixed_weather
|
||
icon: '{% if is_state("weather.home","sunny") %} mdi:weather-sunny {% elif
|
||
is_state("weather.home","clear-night") %} mdi:weather-night {% elif is_state("weather.home","rainy")
|
||
%} mdi:weather-rainy {% elif is_state("weather.home","snow") %} mdi:weather-snowy
|
||
{% elif is_state("weather.home","fog") %} mdi:weather-fog {% elif is_state("weather.home","sleet")
|
||
%} mdi:weather-partly-snowy-rainy {% elif is_state("weather.home","wind")
|
||
%} mdi:weather-windy {% elif is_state("weather.home","cloudy") %} mdi:weather-cloudy
|
||
{% elif is_state("weather.home","partlycloudy") %} mdi:weather-partly-cloudy
|
||
{% elif is_state("weather.home","partlycloudy-night") %} mdi:weather-night-partly-cloudy
|
||
{% elif is_state("weather.home","hail") %} mdi:weather-hail {% elif is_state("weather.home","lightning")
|
||
%} mdi:weather-lightning {% elif is_state("weather.home","thunderstorm")
|
||
%} mdi:weather-lightning-rainy {% endif %}'
|
||
expiration: 12h
|
||
shape: circle
|
||
message: '{{ state_attr(''weather.home'', ''temperature'') | round }}°'
|
||
mode: single
|
||
- alias: Weather image
|
||
description: ''
|
||
id: 665e5eb0-932c-4a69-8dc6-99875649df6c
|
||
triggers:
|
||
- trigger: state
|
||
entity_id: weather.home
|
||
conditions: []
|
||
actions:
|
||
- action: openai_conversation.generate_image
|
||
data:
|
||
size: 1024x1024
|
||
quality: standard
|
||
style: vivid
|
||
config_entry: 01JAE4ZR2CG7T0XTAV08YDB7SS
|
||
prompt: Leingarten wenn das Wetter so ist {{ states("weather.home") }} zur der
|
||
Uhrzeit {{ states('sensor.date_time_iso') }}. Bitte auch den Mond {{ states('sensor.moon')
|
||
}} die Sonne {{ states('sun.sun') }} und die Jahreszeit {{ states('sensor.season')
|
||
}} beachten.
|
||
response_variable: generated_image
|
||
- alias: Send out a manual event to update the image entity
|
||
event: new_weather_image
|
||
event_data:
|
||
url: '{{ generated_image.url }}'
|
||
mode: single
|
||
- alias: WeatherAIPic
|
||
description: ''
|
||
id: c2e4550d-1016-4ff5-bff6-9d73d092a773
|
||
triggers:
|
||
- trigger: state
|
||
entity_id: weather.home
|
||
conditions: []
|
||
actions:
|
||
- action: openai_conversation.generate_image
|
||
data:
|
||
size: 1024x1024
|
||
quality: standard
|
||
style: vivid
|
||
config_entry: 01JAE4ZR2CG7T0XTAV08YDB7SS
|
||
prompt: 'Show the town of {{ state_attr(''weather.home'', ''friendly_name'')
|
||
}} in Germany in the picture. Include a dog in the image wearing clothing
|
||
which reflects the weather. The dog is a famous tv-presenter who is presenting
|
||
the weather-report live on-air right now.
|
||
|
||
It is {{ states(''weather.home'') }}, but keep in mind that the sun is {{
|
||
states(''sun.sun'') | replace(''_'', '' the '')}}. The temperature is {{ state_attr(''weather.home'',''temperature'')
|
||
}}{{ state_attr(''weather.home'',''temperature_unit'') }}.
|
||
|
||
Make it as realistic as possible.'
|
||
response_variable: picture
|
||
- action: downloader.download_file
|
||
data:
|
||
overwrite: true
|
||
url: '{{ picture.url }}'
|
||
filename: weather_home.png
|
||
subdir: weather
|
||
mode: parallel
|
||
- alias: weddingDay
|
||
id: 434eeb1e-ac51-4b60-a424-736b54d44c9b
|
||
description: Hochzeitstag
|
||
trigger:
|
||
- platform: state
|
||
entity_id: sensor.anniversary_special_hochzeitstag
|
||
condition:
|
||
- condition: or
|
||
conditions:
|
||
- condition: template
|
||
value_template: '{{ states(trigger.entity_id) == 0 }}'
|
||
- condition: template
|
||
value_template: '{{ states(trigger.entity_id) >= 363 }}'
|
||
action:
|
||
- if:
|
||
- condition: template
|
||
value_template: '{{ states(trigger.entity_id) == 0 }}'
|
||
then:
|
||
- service: switch.turn_on
|
||
data: {}
|
||
target:
|
||
entity_id: switch.herz
|
||
else:
|
||
- service: switch.turn_off
|
||
data: {}
|
||
target:
|
||
entity_id: switch.herz
|
||
mode: single
|
||
- alias: workDone
|
||
id: db7c5885-b42d-4db0-a1ff-3fce6572cac7
|
||
description: Sync GPS Coords with work laptop
|
||
trigger:
|
||
- platform: state
|
||
entity_id: device_tracker.bcwmc5cg4100cy0
|
||
to: not_home
|
||
condition: []
|
||
action:
|
||
- service: light.turn_off
|
||
target:
|
||
area_id: buro
|
||
mode: single
|
||
- alias: workStarting
|
||
id: bece8ed6-e1d0-44d9-a167-85413735c362
|
||
description: Geschäftslaptop befindet sich im Netz
|
||
trigger:
|
||
- platform: state
|
||
entity_id: device_tracker.bcwmc5cg4100cy0
|
||
to: home
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.status_light
|
||
state: 'on'
|
||
action:
|
||
- service: scene.create
|
||
data:
|
||
snapshot_entities:
|
||
- light.schreibtischlicht
|
||
scene_id: pre_work
|
||
- service: light.turn_on
|
||
data:
|
||
color_name: darkgreen
|
||
target:
|
||
entity_id: light.schreibtischlicht
|
||
- service: light.turn_on
|
||
data:
|
||
effect: blink
|
||
target:
|
||
entity_id: light.schreibtischlicht
|
||
- service: scene.turn_on
|
||
target:
|
||
entity_id: scene.pre_work
|
||
data: {}
|
||
mode: single
|