Compare commits

...

17 Commits

20 changed files with 781 additions and 259 deletions

View File

@@ -1 +1 @@
2025.5.0 2025.9.0

View File

@@ -38,7 +38,7 @@
input: input:
person_entity: person.marcus_scholz person_entity: person.marcus_scholz
zone_entity: zone.home zone_entity: zone.home
notify_device: 6adad2de67b26c864cfcb1a91bd12e48 notify_device: 773450cae5e93524731940ad081846d9
- id: '1623526683767' - id: '1623526683767'
alias: Licht bei Sonnenaufgang ausschalten alias: Licht bei Sonnenaufgang ausschalten
description: '' description: ''
@@ -69,9 +69,11 @@
alias: Gute Nacht! alias: Gute Nacht!
description: Schalte alles (außer Schlafzimmer) aus, sobald das Schlaftracking startet. description: Schalte alles (außer Schlafzimmer) aus, sobald das Schlaftracking startet.
triggers: triggers:
- entity_id: input_text.sleep_as_android - trigger: state
to: sleep_tracking_started entity_id:
trigger: state - event.sleep_as_android_schlaf_tracking
attribute: event_type
to: started
conditions: [] conditions: []
actions: actions:
- target: - target:
@@ -89,22 +91,61 @@
- data: - data:
message: Gute Nacht! message: Gute Nacht!
action: notify.mobile_app_le2123 action: notify.mobile_app_le2123
- data:
media:
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
media_content_type: provider
metadata:
title: Gute Nacht, schlaf gut.
thumbnail: https://brands.home-assistant.io/_/tts/logo.png
media_class: app
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://tts
- media_content_type: provider
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
action: media_player.play_media
enabled: true
target:
entity_id: media_player.home_assistant_voice_09c0e7_media_player
- data:
media:
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
media_content_type: provider
metadata:
title: Gute Nacht, schlaf gut.
thumbnail: https://brands.home-assistant.io/_/tts/logo.png
media_class: app
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://tts
- media_content_type: provider
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
action: media_player.play_media
enabled: true
target:
entity_id: media_player.m5stack_atom_echo
- target: - target:
entity_id: media_player.raspiaudio_muse_luxe entity_id: media_player.raspiaudio_muse_luxe
data: data:
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut. media:
media_content_type: provider
metadata:
title: Gute Nacht, schlaf gut.
thumbnail: https://brands.home-assistant.io/_/tts/logo.png
media_class: app
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://tts
- media_content_type: provider
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut. media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
media_content_type: provider
metadata:
title: Gute Nacht, schlaf gut.
thumbnail: https://brands.home-assistant.io/_/tts/logo.png
media_class: app
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://tts
- media_content_type: provider
media_content_id: media-source://tts/tts.piper?message=Gute+Nacht%2C+schlaf+gut.
action: media_player.play_media action: media_player.play_media
enabled: true enabled: true
- target: - target:
@@ -125,28 +166,45 @@
- id: '1623868115464' - id: '1623868115464'
alias: 420! alias: 420!
description: '' description: ''
trigger: triggers:
- platform: time - at: '16:20'
at: '16:20' trigger: time
condition: [] conditions: []
action: actions:
- service: notify.mobile_app_le2123 - action: notify.mobile_app_apollo
data: data:
message: Lodere es, Lustknabe.
title: 420!
- data:
title: 420! title: 420!
message: Lodere es, Lustknabe. message: Lodere es, Lustknabe.
- service: tts.speak action: notify.mobile_app_le2123
data: - data:
cache: true cache: true
media_player_entity_id: media_player.raspiaudio_muse_luxe media_player_entity_id: media_player.raspiaudio_muse_luxe
message: 4 20 lodere es, Lustknabe message: 4 20 lodere es, Lustknabe
target: target:
entity_id: tts.piper entity_id: tts.piper
- service: mqtt.publish action: tts.speak
data: - data:
cache: true
media_player_entity_id: media_player.home_assistant_voice_09c0e7_media_player
message: 4 20 lodere es, Lustknabe
target:
entity_id: tts.piper
action: tts.speak
- data:
qos: 0 qos: 0
retain: false retain: false
topic: awtrix_b8658c/notify topic: awtrix_kitchen/notify
payload: '{"text": "420, lodere es, Lustknabe!"}' payload: '{"text": "420, lodere es, Lustknabe!"}'
action: mqtt.publish
- data:
qos: 0
retain: false
topic: awtrix_desk/notify
payload: '{"text": "420, lodere es, Lustknabe!"}'
action: mqtt.publish
mode: single mode: single
- id: '1623911524804' - id: '1623911524804'
alias: TV Anti-Reflexion (undo) alias: TV Anti-Reflexion (undo)
@@ -174,10 +232,11 @@
alias: Licht im Schlafzimmer zur Schlafenszeit einschalten alias: Licht im Schlafzimmer zur Schlafenszeit einschalten
description: Bei Beginn der empfohlenen Schlafenszeit. description: Bei Beginn der empfohlenen Schlafenszeit.
triggers: triggers:
- entity_id: input_text.sleep_as_android - trigger: state
entity_id:
- event.sleep_as_android_benutzerbenachrichtigung
attribute: event_type
to: time_to_bed_alarm_alert to: time_to_bed_alarm_alert
for: 00:05:00
trigger: state
conditions: conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
@@ -194,50 +253,69 @@
target: target:
entity_id: tts.piper entity_id: tts.piper
action: tts.speak action: tts.speak
enabled: false enabled: true
- data:
cache: true
media_player_entity_id: media_player.home_assistant_voice_09c0e7_media_player_2
message: Ab ins Bett, Schlafenszeit.
target:
entity_id: tts.piper
action: tts.speak
enabled: true
- data:
cache: true
media_player_entity_id: media_player.m5stack_atom_echo
message: Ab ins Bett, Schlafenszeit.
target:
entity_id: tts.piper
action: tts.speak
enabled: true
mode: single mode: single
- id: '1623954512941' - id: '1623954512941'
alias: Licht im Schlafzimmer zum Aufwachen einschalten alias: Licht im Schlafzimmer zum Aufwachen einschalten
description: Nach der Alarmquittierung description: Nach der Alarmquittierung
trigger: triggers:
- platform: state - trigger: state
entity_id: input_text.sleep_as_android entity_id:
to: alarm_alert_start - event.sleep_as_android_schlaf_tracking
condition: attribute: event_type
to: stopped
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
action: actions:
- delay: - delay:
hours: 0 hours: 0
minutes: 0 minutes: 1
seconds: 30 seconds: 0
milliseconds: 0 milliseconds: 0
- service: light.turn_on - target:
target:
device_id: 68868390eda35e969ec60a13020f2407 device_id: 68868390eda35e969ec60a13020f2407
data: {} data: {}
action: light.turn_on
mode: single mode: single
- id: '1624820688449' - id: '1624820688449'
alias: 'Anruf: Beim Klingeln grün blinken' alias: 'Anruf: Beim Klingeln grün blinken'
description: '' description: ''
trigger: triggers:
- platform: state - entity_id: sensor.fritz_box_7490_call_monitor_dem_commander1024_seine_cloud
entity_id: sensor.fritz_box_7490_call_monitor_dem_commander1024_seine_cloud
to: ringing to: ringing
- platform: state trigger: state
entity_id: sensor.le2123_phone_state - entity_id:
- sensor.le2123_phone_state_2
to: ringing to: ringing
- platform: state trigger: state
to: ringing - to: ringing
entity_id: sensor.moto_g_100_phone_state entity_id:
condition: - sensor.xt2125_4_phone_state
trigger: state
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
action: actions:
- service: light.turn_on - data:
data:
rgb_color: rgb_color:
- 9 - 9
- 255 - 255
@@ -246,8 +324,8 @@
entity_id: entity_id:
- light.awtrix_desk_indicator_1 - light.awtrix_desk_indicator_1
- light.awtrix_kitchen_indicator_1 - light.awtrix_kitchen_indicator_1
- service: scene.create action: light.turn_on
data: - data:
scene_id: wled_last_state scene_id: wled_last_state
snapshot_entities: snapshot_entities:
- light.kuche - light.kuche
@@ -256,51 +334,53 @@
- select.kuche_color_palette - select.kuche_color_palette
- select.wohnzimmer_vorne_color_palette - select.wohnzimmer_vorne_color_palette
- select.wohnzimmer_hinten_color_palette - select.wohnzimmer_hinten_color_palette
- service: scene.turn_on action: scene.create
target: - target:
entity_id: scene.grun_blinken entity_id: scene.grun_blinken
data: {} data: {}
action: scene.turn_on
- delay: - delay:
hours: 0 hours: 0
minutes: 0 minutes: 0
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- service: scene.turn_on - target:
target:
entity_id: scene.wled_last_state entity_id: scene.wled_last_state
data: {} data: {}
action: scene.turn_on
- delay: - delay:
hours: 0 hours: 0
minutes: 0 minutes: 0
seconds: 15 seconds: 15
milliseconds: 0 milliseconds: 0
- service: light.turn_off - data: {}
data: {}
target: target:
entity_id: entity_id:
- light.awtrix_desk_indicator_1 - light.awtrix_desk_indicator_1
- light.awtrix_kitchen_indicator_1 - light.awtrix_kitchen_indicator_1
action: light.turn_off
mode: single mode: single
- id: '1625481640348' - id: '1625481640348'
alias: 'Anruf: Beim Telefonieren Musik pausieren' alias: 'Anruf: Beim Telefonieren Musik pausieren'
description: '' description: ''
trigger: triggers:
- platform: state - entity_id: sensor.fritz_box_7490_call_monitor_telefonbuch
entity_id: sensor.fritz_box_7490_call_monitor_telefonbuch
to: talking to: talking
- platform: state trigger: state
entity_id: sensor.le2123_phone_state - entity_id:
- sensor.le2123_phone_state_2
to: talking to: talking
- platform: state trigger: state
entity_id: sensor.moto_g_100_phone_state - entity_id:
- sensor.xt2125_4_phone_state
to: talking to: talking
condition: trigger: state
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
action: actions:
- service: scene.create - data:
data:
scene_id: media_last_state scene_id: media_last_state
snapshot_entities: snapshot_entities:
- media_player.wohnzimmer_main - media_player.wohnzimmer_main
@@ -308,24 +388,27 @@
- media_player.ccze - media_player.ccze
- media_player.spotify_marcus_scholz - media_player.spotify_marcus_scholz
- media_player.xboxonex - media_player.xboxonex
- service: media_player.media_pause action: scene.create
target: - target:
area_id: area_id:
- schlafzimmer - schlafzimmer
- wohnzimmer - wohnzimmer
action: media_player.media_pause
data: {}
- wait_for_trigger: - wait_for_trigger:
- platform: state - entity_id: sensor.j9110_phone_state
entity_id: sensor.j9110_phone_state
to: idle to: idle
from: talking from: talking
- platform: state trigger: state
entity_id: sensor.fritz_box_7490_call_monitor_telefonbuch - entity_id: sensor.fritz_box_7490_call_monitor_telefonbuch
to: idle to: idle
from: talking from: talking
- service: scene.turn_on trigger: state
target: - target:
entity_id: entity_id:
- scene.media_last_state - scene.media_last_state
action: scene.turn_on
data: {}
mode: single mode: single
- id: '1628972104416' - id: '1628972104416'
alias: Raumduft nach einer Stunde wieder ausschalten alias: Raumduft nach einer Stunde wieder ausschalten
@@ -351,25 +434,27 @@
- id: '1628972885682' - id: '1628972885682'
alias: Raumduft zum Aufstehen einschalten alias: Raumduft zum Aufstehen einschalten
description: '' description: ''
trigger: triggers:
- platform: state - trigger: state
entity_id: input_text.sleep_as_android entity_id:
to: sleep_tracking_stopped - event.sleep_as_android_schlaf_tracking
condition: attribute: event_type
to: stopped
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
action: actions:
- type: turn_on - type: turn_on
device_id: 5a08ac4c3b3893b540a9934fa92dccfa device_id: 5a08ac4c3b3893b540a9934fa92dccfa
entity_id: switch.flur_raumduft entity_id: switch.flur_raumduft
domain: switch domain: switch
- service: light.turn_on - data: {}
data: {}
target: target:
entity_id: entity_id:
- light.awtrix_desk_matrix - light.awtrix_528bd4_matrix
- light.awtrix_kitchen_matrix - light.awtrix_b8658c_matrix
action: light.turn_on
mode: single mode: single
- id: '1630914505161' - id: '1630914505161'
alias: Beim Verlassen der Wohnung alles abschalten alias: Beim Verlassen der Wohnung alles abschalten
@@ -458,26 +543,23 @@
- id: '1675778284738' - id: '1675778284738'
alias: Stündliche Zeitansage alias: Stündliche Zeitansage
description: '' description: ''
trigger: triggers:
- platform: time_pattern - minutes: '0'
minutes: '0'
seconds: '0' seconds: '0'
hours: '*' hours: '*'
condition: trigger: time_pattern
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
- condition: or - condition: or
conditions: conditions:
- condition: state - condition: state
entity_id: input_text.sleep_as_android entity_id: event.sleep_as_android_schlaf_tracking
state: sleep_tracking_stopped attribute: event_type
- condition: state state: stopped
entity_id: input_text.sleep_as_android actions:
state: alarm_alert_dismiss - data:
action:
- service: tts.speak
data:
cache: true cache: true
media_player_entity_id: media_player.raspiaudio_muse_luxe media_player_entity_id: media_player.raspiaudio_muse_luxe
message: '{{message}} message: '{{message}}
@@ -486,14 +568,35 @@
target: target:
entity_id: tts.piper entity_id: tts.piper
enabled: true enabled: true
- service: mqtt.publish action: tts.speak
data: - data:
cache: true
media_player_entity_id: media_player.home_assistant_voice_09c0e7_media_player
message: '{{message}}
'
target:
entity_id: tts.piper
enabled: true
action: tts.speak
- data:
cache: true
media_player_entity_id: media_player.m5stack_atom_echo
message: '{{message}}
'
target:
entity_id: tts.piper
enabled: true
action: tts.speak
- data:
topic: awtrix_desk/notify topic: awtrix_desk/notify
payload: '{"text": "{{message}}", "icon": "clockcolor", "duration": 16}' payload: '{"text": "{{message}}", "icon": "clockcolor", "duration": 16}'
- service: mqtt.publish action: mqtt.publish
data: - data:
topic: awtrix_kitchen/notify topic: awtrix_kitchen/notify
payload: '{"text": "{{message}}", "icon": "clockcolor", "duration": 16}' payload: '{"text": "{{message}}", "icon": "clockcolor", "duration": 16}'
action: mqtt.publish
variables: variables:
message: '{% set t = now().hour %} {% set m = ''Morgen'' if t < 12 else ''Nachmittag'' message: '{% set t = now().hour %} {% set m = ''Morgen'' if t < 12 else ''Nachmittag''
if t < 18 else ''Abend'' %} Guten {{m}} Marcus. Draußen sind es {{states(''sensor.aussentemperatur'')}} if t < 18 else ''Abend'' %} Guten {{m}} Marcus. Draußen sind es {{states(''sensor.aussentemperatur'')}}
@@ -517,16 +620,16 @@
alias: Fenster schließen, wenn es warm wird alias: Fenster schließen, wenn es warm wird
description: Tagsüber im Sommer, wenn die Außentemperatur sich der Innentemperatur description: Tagsüber im Sommer, wenn die Außentemperatur sich der Innentemperatur
annähert. annähert.
trigger: triggers:
- platform: numeric_state - entity_id:
entity_id:
- sensor.aussentemperatur - sensor.aussentemperatur
above: sensor.wohnungstemperatur above: sensor.wohnungstemperatur
for: for:
hours: 0 hours: 0
minutes: 5 minutes: 5
seconds: 0 seconds: 0
condition: trigger: numeric_state
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
@@ -536,16 +639,15 @@
- condition: sun - condition: sun
after: sunrise after: sunrise
before: sunset before: sunset
action: actions:
- service: notify.mobile_app_le2123 - data:
data:
title: Schlaues lüften title: Schlaues lüften
message: '{{message}} message: '{{message}}
' '
enabled: true enabled: true
- service: tts.speak action: notify.mobile_app_le2123
data: - data:
cache: true cache: true
media_player_entity_id: media_player.raspiaudio_muse_luxe media_player_entity_id: media_player.raspiaudio_muse_luxe
message: '{{message}} message: '{{message}}
@@ -553,6 +655,7 @@
' '
target: target:
entity_id: tts.piper entity_id: tts.piper
action: tts.speak
variables: variables:
message: 'Die Außentemperatur ist mit {{states(''sensor.aussentemperatur'')}} message: 'Die Außentemperatur ist mit {{states(''sensor.aussentemperatur'')}}
° Celsius {{((states(''sensor.aussentemperatur'')|float)-(states(''sensor.wohnungstemperatur'')|float)) ° Celsius {{((states(''sensor.aussentemperatur'')|float)-(states(''sensor.wohnungstemperatur'')|float))
@@ -564,40 +667,37 @@
- id: '1686327239749' - id: '1686327239749'
alias: Fenster öffnen wenn es kühler wird alias: Fenster öffnen wenn es kühler wird
description: Im Sommer, wenn die Außentemperatur sich der Innentemperatur annähert. description: Im Sommer, wenn die Außentemperatur sich der Innentemperatur annähert.
trigger: triggers:
- platform: numeric_state - entity_id:
entity_id:
- sensor.aussentemperatur - sensor.aussentemperatur
for: for:
hours: 0 hours: 0
minutes: 5 minutes: 5
seconds: 0 seconds: 0
below: sensor.wohnungstemperatur below: sensor.wohnungstemperatur
condition: trigger: numeric_state
conditions:
- condition: state - condition: state
entity_id: person.marcus_scholz entity_id: person.marcus_scholz
state: home state: home
- condition: or - condition: or
conditions: conditions:
- condition: state - condition: state
entity_id: input_text.sleep_as_android entity_id: event.sleep_as_android_schlaf_tracking
state: sleep_tracking_stopped state: sleep_tracking_stopped
- condition: state attribute: event_type
entity_id: input_text.sleep_as_android
state: alarm_alert_dismiss
- condition: state - condition: state
entity_id: sensor.season entity_id: sensor.season
state: summer state: summer
action: actions:
- service: notify.mobile_app_le2123 - data:
data:
title: Schlaues lüften title: Schlaues lüften
message: '{{message}} message: '{{message}}
' '
enabled: true enabled: true
- service: tts.speak action: notify.mobile_app_le2123
data: - data:
cache: true cache: true
media_player_entity_id: media_player.raspiaudio_muse_luxe media_player_entity_id: media_player.raspiaudio_muse_luxe
message: '{{message}} message: '{{message}}
@@ -605,6 +705,7 @@
' '
target: target:
entity_id: tts.piper entity_id: tts.piper
action: tts.speak
mode: single mode: single
variables: variables:
message: 'Die Außentemperatur ist mit {{states(''sensor.aussentemperatur'')}} message: 'Die Außentemperatur ist mit {{states(''sensor.aussentemperatur'')}}
@@ -672,14 +773,13 @@
- id: '1698954553138' - id: '1698954553138'
alias: 'Awtrix: Jahresfortschirtt' alias: 'Awtrix: Jahresfortschirtt'
description: Jahresfortschritt in % description: Jahresfortschritt in %
trigger: triggers:
- platform: time_pattern - hours: '*'
hours: '*'
minutes: 0 minutes: 0
condition: [] trigger: time_pattern
action: conditions: []
- service: mqtt.publish actions:
data: - data:
payload: '{# Get current timestamp #} {%- set now = now() -%} {# Start of current payload: '{# Get current timestamp #} {%- set now = now() -%} {# Start of current
year #} {%- set startOfYear = now.replace(year=now.year, month=1, day=1, hour=0, year #} {%- set startOfYear = now.replace(year=now.year, month=1, day=1, hour=0,
minute=0, second=0, microsecond=0) -%} {# Determine end of current year #} minute=0, second=0, microsecond=0) -%} {# Determine end of current year #}
@@ -689,9 +789,24 @@
= as_timestamp(now) - as_timestamp(startOfYear) -%} {%- set progress = ( current = as_timestamp(now) - as_timestamp(startOfYear) -%} {%- set progress = ( current
/ total * 100 ) | round(0, "floor", 0) -%} {# Output #} { "text": "{{ progress / total * 100 ) | round(0, "floor", 0) -%} {# Output #} { "text": "{{ progress
}} %", "icon": "y2023"}' }} %", "icon": "y2023"}'
topic: awtrix_b8658c/custom/yearprogress topic: awtrix_desk/custom/yearprogress
qos: 0 qos: 0
retain: false retain: false
action: mqtt.publish
- data:
payload: '{# Get current timestamp #} {%- set now = now() -%} {# Start of current
year #} {%- set startOfYear = now.replace(year=now.year, month=1, day=1, hour=0,
minute=0, second=0, microsecond=0) -%} {# Determine end of current year #}
{%- set endOfYear = startOfYear.replace(month=12, day=31, hour=23, minute=59,
second=59, microsecond=999999) -%} {# Calculate progress #} {%- set total
= as_timestamp(endOfYear) - as_timestamp(startOfYear) -%} {%- set current
= as_timestamp(now) - as_timestamp(startOfYear) -%} {%- set progress = ( current
/ total * 100 ) | round(0, "floor", 0) -%} {# Output #} { "text": "{{ progress
}} %", "icon": "y2023"}'
topic: awtrix_kitchen/custom/yearprogress
qos: 0
retain: false
action: mqtt.publish
mode: single mode: single
- id: '1699955800413' - id: '1699955800413'
alias: 'Awtrix: Laufender Spotify Song' alias: 'Awtrix: Laufender Spotify Song'
@@ -731,19 +846,19 @@
- id: '1699969052661' - id: '1699969052661'
alias: 'Awtrix: Matrix einschalten' alias: 'Awtrix: Matrix einschalten'
description: '' description: ''
trigger: triggers:
- platform: state - entity_id: person.marcus_scholz
entity_id: person.marcus_scholz
to: home to: home
from: not_home from: not_home
condition: [] trigger: state
action: conditions: []
- service: light.turn_on actions:
data: {} - data: {}
target: target:
entity_id: entity_id:
- light.awtrix_desk_matrix - light.awtrix_b8658c_matrix
- light.awtrix_kitchen_matrix - light.awtrix_528bd4_matrix
action: light.turn_on
mode: single mode: single
- id: '1700482951854' - id: '1700482951854'
alias: Licht bei Sonnenuntergang einschalten (XMas) alias: Licht bei Sonnenuntergang einschalten (XMas)
@@ -810,44 +925,42 @@
controller_device: f3b032ad1f3ccc658a7d4588cc0e5c0c controller_device: f3b032ad1f3ccc658a7d4588cc0e5c0c
helper_last_controller_event: input_text.styrbar_wohnzimmer_moodlight_letztes_event helper_last_controller_event: input_text.styrbar_wohnzimmer_moodlight_letztes_event
action_button_up_short: action_button_up_short:
- service: light.turn_on - data: {}
data: {}
target: target:
device_id: device_id:
- 4edd9b9df7d1f6f2fe7dcc2e5c0eb968 - 4edd9b9df7d1f6f2fe7dcc2e5c0eb968
- 6dcbd87b459412144bddc42af3ae8b83 - 6dcbd87b459412144bddc42af3ae8b83
action: light.turn_on
action_button_down_short: action_button_down_short:
- service: light.turn_off - data: {}
data: {}
target: target:
device_id: device_id:
- 6dcbd87b459412144bddc42af3ae8b83 - 6dcbd87b459412144bddc42af3ae8b83
- 4edd9b9df7d1f6f2fe7dcc2e5c0eb968 - 4edd9b9df7d1f6f2fe7dcc2e5c0eb968
action: light.turn_off
action_button_left_short: action_button_left_short:
- service: script.wled_random_effect - data: {}
data: {} action: script.wled_random_effect
action_button_right_short: action_button_right_short:
- service: script.wled_random_palette - data: {}
data: {} action: script.wled_random_palette
action_button_up_long: action_button_up_long:
- service: light.turn_on - action: script.moodlight_orange_plasma
metadata: {} data: {}
data: action_button_down_long:
brightness_pct: 10 - action: script.moodlight_neutral
target: data: {}
entity_id: light.wohnzimmer_moodlight
action_button_down_long: []
action_button_down_double: action_button_down_double:
- service: light.turn_off - target:
target:
device_id: 9f42805af5b7e423023595390342b9ac device_id: 9f42805af5b7e423023595390342b9ac
data: {} data: {}
action: light.turn_off
action_button_up_double: action_button_up_double:
- service: light.turn_on - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: 9f42805af5b7e423023595390342b9ac device_id: 9f42805af5b7e423023595390342b9ac
action: light.turn_on
button_up_double_press: true button_up_double_press: true
button_down_double_press: true button_down_double_press: true
- id: '1702588441751' - id: '1702588441751'
@@ -870,41 +983,41 @@
input: input:
remote: bd97db2ae9b0104d50dc6a343315608b remote: bd97db2ae9b0104d50dc6a343315608b
double_dot_single_press: double_dot_single_press:
- service: light.turn_off - target:
target:
device_id: device_id:
- 68868390eda35e969ec60a13020f2407 - 68868390eda35e969ec60a13020f2407
data: {} data: {}
action: light.turn_off
double_dot_double_press: double_dot_double_press:
- service: light.turn_off - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: 3c86ddd39979139f29645308815c0271 device_id: 3c86ddd39979139f29645308815c0271
action: light.turn_off
single_dot_single_press: single_dot_single_press:
- service: light.turn_on - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: 68868390eda35e969ec60a13020f2407 device_id: 68868390eda35e969ec60a13020f2407
action: light.turn_on
single_dot_double_press: single_dot_double_press:
- service: light.turn_on - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: 3c86ddd39979139f29645308815c0271 device_id: 3c86ddd39979139f29645308815c0271
action: light.turn_on
double_dot_long_press: double_dot_long_press:
- service: switch.turn_off - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: b7c1c80b21406c5608e38aa0c7e7e439 device_id: b7c1c80b21406c5608e38aa0c7e7e439
action: switch.turn_off
single_dot_long_press: single_dot_long_press:
- service: switch.turn_on - metadata: {}
metadata: {}
data: {} data: {}
target: target:
device_id: b7c1c80b21406c5608e38aa0c7e7e439 device_id: b7c1c80b21406c5608e38aa0c7e7e439
action: switch.turn_on
- id: '1705488817426' - id: '1705488817426'
alias: Let's Encrypt alias: Let's Encrypt
description: Zertifikat prüfen und verlängern via Addon description: Zertifikat prüfen und verlängern via Addon
@@ -1134,3 +1247,34 @@
target: target:
entity_id: input_boolean.waschetrockner_aktiv entity_id: input_boolean.waschetrockner_aktiv
mode: single mode: single
- id: '1756756139646'
alias: Türklingel
description: Benachrichtigung über Wohnungs- oder Haustürklingeln
triggers:
- trigger: mqtt
topic: gdoor/bus_rx
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.action == ''BUTTON_RING'' and trigger.payload_json.parameters
== ''0560'' }}'
sequence:
- data:
data:
push:
interruption-level: time-sensitive
message: Türklingel (außen)
action: notify.alle_mobilen_gerate
- conditions:
- condition: template
value_template: '{{ trigger.payload_json.action == ''BUTTON_FLOOR'' and trigger.payload_json.parameters
== ''FF6F'' and trigger.payload_json.busdata == ''0110139A59A6FF6FA1CC''}}'
sequence:
- data:
data:
push:
interruption-level: time-sensitive
message: Türklingel (innen)
action: notify.alle_mobilen_gerate
mode: single

View File

@@ -1,7 +0,0 @@
- sensor:
# Raspberry Pi CPU temp
name: "CPU Temp"
unique_id: '4144237916258'
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: "{{ value | multiply(0.001) | round(1) }}"

View File

@@ -11,15 +11,13 @@ http:
tts: tts:
- platform: picotts_remote - platform: picotts_remote
language: "de-DE" language: "de-DE"
- platform: google_translate
language: "de"
# Include modules # Include modules
group: !include groups.yaml group: !include groups.yaml
automation: !include automations.yaml automation: !include automations.yaml
automation webhooks: !include automations_webhooks.yaml
script: !include scripts.yaml script: !include scripts.yaml
scene: !include scenes.yaml scene: !include scenes.yaml
notify: !include notify.yaml
# Enable additional integrations # Enable additional integrations
# Enable 'wake_on_lan' intrgration # Enable 'wake_on_lan' intrgration
@@ -31,11 +29,11 @@ homeassistant:
# Additional sensors # Additional sensors
sensor: !include sensors.yaml sensor: !include sensors.yaml
command_line: !include commandline.yaml
utility_meter: !include utility_meters.yaml utility_meter: !include utility_meters.yaml
# MQTT sensors # MQTT sensors
mqtt: !include mqtt.yaml mqtt: !include mqtt.yaml
mqtt_statestream: !include mqtt_statestream.yaml
# Template sensors # Template sensors
template: !include template.yaml template: !include template.yaml
@@ -73,4 +71,3 @@ generic_hygrostat:
away_humidity: 60 away_humidity: 60
away_fixed: true away_fixed: true
sensor_stale_duration: 00:15:00 sensor_stale_duration: 00:15:00

View File

@@ -4,12 +4,18 @@ from __future__ import annotations
from typing import Any from typing import Any
from lhpapi import HochwasserPortalAPI, LHPError from lhpapi import HochwasserPortalAPI, LHPError, get_all_stations
import voluptuous as vol import voluptuous as vol
from homeassistant.config_entries import ConfigFlow from homeassistant.config_entries import ConfigFlow
from homeassistant.data_entry_flow import FlowResult from homeassistant.data_entry_flow import FlowResult
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.selector import (
SelectOptionDict,
SelectSelector,
SelectSelectorConfig,
SelectSelectorMode,
)
from .const import CONF_ADD_UNAVAILABLE, CONF_PEGEL_IDENTIFIER, DOMAIN, LOGGER from .const import CONF_ADD_UNAVAILABLE, CONF_PEGEL_IDENTIFIER, DOMAIN, LOGGER
@@ -50,12 +56,29 @@ class HochwasserPortalConfigFlow(ConfigFlow, domain=DOMAIN):
return self.async_create_entry(title=f"{api.name}", data=user_input) return self.async_create_entry(title=f"{api.name}", data=user_input)
stations_dict = await self.hass.async_add_executor_job(get_all_stations)
LOGGER.debug(
"%i stations found on Github",
len(stations_dict),
)
stations = [SelectOptionDict(value="---", label="")]
stations.extend(
SelectOptionDict(value=k, label=f"{v} ({k})")
for k, v in stations_dict.items()
)
return self.async_show_form( return self.async_show_form(
step_id="user", step_id="user",
errors=errors, errors=errors,
data_schema=vol.Schema( data_schema=vol.Schema(
{ {
vol.Required(CONF_PEGEL_IDENTIFIER): cv.string, vol.Required(CONF_PEGEL_IDENTIFIER): SelectSelector(
SelectSelectorConfig(
options=stations,
mode=SelectSelectorMode.DROPDOWN,
sort=True,
custom_value=True,
)
),
vol.Required(CONF_ADD_UNAVAILABLE, default=False): cv.boolean, vol.Required(CONF_ADD_UNAVAILABLE, default=False): cv.boolean,
} }
), ),

View File

@@ -9,6 +9,6 @@
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"issue_tracker": "https://github.com/stephan192/hochwasserportal/issues", "issue_tracker": "https://github.com/stephan192/hochwasserportal/issues",
"loggers": ["hochwasserportal"], "loggers": ["hochwasserportal"],
"requirements": ["lhpapi==1.0.3"], "requirements": ["lhpapi==1.0.5"],
"version": "1.0.1" "version": "1.0.3"
} }

View File

@@ -41,7 +41,7 @@ ota:
wifi: wifi:
ssid: "Voltage-legacy" ssid: "Voltage-legacy"
password: !secret voltage_legacy_psk password: !secret voltage_legacy_psk
use_address: ${name}.home use_address: atorch-dc-load.home
power_save_mode: high power_save_mode: high
fast_connect: on fast_connect: on

View File

@@ -49,7 +49,7 @@ i2c:
scl: 7 scl: 7
scan: true scan: true
# DHT22 sensor # Temp/humidity sensors
sensor: sensor:
- platform: dht - platform: dht
model: dht22 model: dht22

View File

@@ -197,12 +197,14 @@ sensor:
text_sensor: text_sensor:
- platform: homeassistant - platform: homeassistant
name: "Sun Rising ESP" name: "Sun Rising ESP"
#entity_id: sensor.sun_next_rising
entity_id: sensor.sun_rising_template entity_id: sensor.sun_rising_template
id: sun_rising id: sun_rising
internal: true internal: true
- platform: homeassistant - platform: homeassistant
name: "Sun Setting ESP" name: "Sun Setting ESP"
#entity_id: sensor.sun_next_setting
entity_id: sensor.sun_setting_template entity_id: sensor.sun_setting_template
id: sun_setting id: sun_setting
internal: true internal: true

View File

@@ -0,0 +1,31 @@
substitutions:
name: home-assistant-voice-09c0e7
friendly_name: Home Assistant Voice 09c0e7
packages:
Nabu Casa.Home Assistant Voice PE: github://esphome/home-assistant-voice-pe/home-assistant-voice.yaml
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
wifi:
ssid: "Voltage-legacy"
password: !secret voltage_legacy_psk
#use_address: ${name}.home
#power_save_mode: high
#fast_connect: on
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "HA Voice Fallback Hotspot"
password: !secret fallback_psk
# Enable Home Assistant API
api:
encryption:
key: !secret apikey
ota:
platform: esphome
password: !secret ota

114
esphome/kamera-balkon.yaml Normal file
View File

@@ -0,0 +1,114 @@
substitutions:
name: kamera-balkon
friendly_name: Kamera Balkon
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: sensor.camera
version: "1.0"
min_version: 2022.1.0
esp32:
board: esp32cam
framework:
type: arduino
wifi:
ssid: "Voltage-legacy"
password: !secret voltage_legacy_psk
# use_address: cam-balcony.home
power_save_mode: high
fast_connect: on
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Cam Balkon Fallback Hotspot"
password: !secret fallback_psk
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: !secret apikey
ota:
platform: esphome
password: !secret ota
# Initialize I²C
i2c:
- id: bus_a
sda: GPIO13
scl: GPIO14
scan: true
- id: bus_c
sda: GPIO26
scl: GPIO27
# Camera
esp32_camera:
name: ${friendly_name}
external_clock:
pin: GPIO0
frequency: 20MHz
i2c_id:
bus_c
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
resolution: SVGA
max_framerate: 24 fps
idle_framerate: 0.2 fps
jpeg_quality: 30
agc_mode: auto
agc_gain_ceiling: 4x
wb_mode: auto
vertical_flip: true
horizontal_mirror: true
esp32_camera_web_server:
- port: 8080
mode: stream
- port: 8081
mode: snapshot
# Temp/humidity sensors
sensor:
- platform: wifi_signal
name: "WiFi Signalstärke"
update_interval: 60s
- platform: sht3xd
i2c_id:
bus_a
temperature:
name: "Balkon Temperatur"
filters:
- offset: -4.4
humidity:
name: "Balkon Luftfeuchtigkeit"
address: 0x44
heater_enabled: True
update_interval: 60s
# Flash LED
output:
- platform: ledc
pin: GPIO4
id: flash
channel: 2
# Define RGB mode for LED
light:
- platform: monochromatic
id: flashlight
name: "Blitzlicht"
output: flash

View File

@@ -19,7 +19,7 @@ esp32:
wifi: wifi:
ssid: "Voltage-legacy" ssid: "Voltage-legacy"
password: !secret voltage_legacy_psk password: !secret voltage_legacy_psk
use_address: ${name}.home use_address: cam-livingroom.home
power_save_mode: high power_save_mode: high
fast_connect: on fast_connect: on
@@ -60,9 +60,23 @@ esp32_camera:
max_framerate: 24 fps max_framerate: 24 fps
idle_framerate: 0.2 fps idle_framerate: 0.2 fps
jpeg_quality: 30 jpeg_quality: 30
agc_mode: auto
agc_gain_ceiling: 4x
wb_mode: auto
vertical_flip: true vertical_flip: true
horizontal_mirror: true horizontal_mirror: true
esp32_camera_web_server:
- port: 8080
mode: stream
- port: 8081
mode: snapshot
sensor:
- platform: wifi_signal
name: "WiFi Signalstärke"
update_interval: 60s
# Flash LED # Flash LED
output: output:
- platform: ledc - platform: ledc

View File

@@ -1,3 +1,5 @@
# Source: https://github.com/esphome/wake-word-voice-assistants/blob/main/m5stack-atom-echo/m5stack-atom-echo.yaml
substitutions: substitutions:
name: m5stack-atom-echo name: m5stack-atom-echo
friendly_name: M5Stack Atom Echo friendly_name: M5Stack Atom Echo
@@ -13,8 +15,6 @@ esp32:
board: m5stack-atom board: m5stack-atom
framework: framework:
type: esp-idf type: esp-idf
version: 4.4.8
platform_version: 5.4.0
# Enable Home Assistant API # Enable Home Assistant API
api: api:
@@ -78,6 +78,7 @@ media_player:
format: WAV format: WAV
codec_support_enabled: false codec_support_enabled: false
buffer_size: 6000 buffer_size: 6000
volume_min: 0.4
files: files:
- id: timer_finished_wave_file - id: timer_finished_wave_file
file: https://github.com/esphome/wake-word-voice-assistants/raw/main/sounds/timer_finished.wav file: https://github.com/esphome/wake-word-voice-assistants/raw/main/sounds/timer_finished.wav
@@ -211,7 +212,6 @@ light:
chipset: SK6812 chipset: SK6812
num_leds: 1 num_leds: 1
rgb_order: grb rgb_order: grb
rmt_channel: 0
effects: effects:
- pulse: - pulse:
name: "Slow Pulse" name: "Slow Pulse"

View File

@@ -1,3 +1,5 @@
# Source: https://github.com/RASPIAUDIO/esphomeLuxe/blob/main/luxe_microWW.yaml
substitutions: substitutions:
name: "raspiaudio-muse-luxe" name: "raspiaudio-muse-luxe"
friendly_name: "RaspiAudio Muse Luxe" friendly_name: "RaspiAudio Muse Luxe"
@@ -71,7 +73,7 @@ micro_wake_word:
# - model: alexa # - model: alexa
# vad: # vad:
microphone: luxe_mic microphone: luxe_mic
on_wake_word_detected: on_wake_word_detected:
- voice_assistant.start: - voice_assistant.start:
wake_word: !lambda return wake_word; wake_word: !lambda return wake_word;
@@ -111,13 +113,44 @@ output:
globals: globals:
- id: Vol - id: Vol
type: float type: float
initial_value: '0.6' initial_value: '0.6'
- id: phase - id: phase
type: int type: int
initial_value: '0' initial_value: '0'
- id: mute - id: mute
type: bool type: bool
initial_value: 'false' initial_value: 'false'
- id: muteH
type: bool
initial_value: 'false'
interval:
- interval: 0.1sec
then:
- if:
condition:
- speaker.is_stopped:
then:
- if:
condition:
- not:
- lambda: 'return(id(muteH));'
then:
- output.turn_on: dac_mute
- lambda: id(muteH) = true;
- logger.log: "====> hardware mute"
- if:
condition:
- speaker.is_playing:
then:
- if:
condition:
- lambda: 'return(id(muteH));'
then:
- output.turn_off: dac_mute
- lambda: id(muteH) = false;
- logger.log: "====> hardware unmute"
sensor: sensor:
- platform: adc - platform: adc
@@ -189,13 +222,13 @@ binary_sensor:
pullup: true pullup: true
name: Volume Up name: Volume Up
on_click: on_click:
- lambda: |- - lambda: |-
id(Vol) += 0.05; id(Vol) += 0.05;
if(id(Vol) > 1) id(Vol) = 1; if(id(Vol) > 1) id(Vol) = 1;
- media_player.volume_set: - media_player.volume_set:
id: luxe_media_player id: luxe_media_player
volume: !lambda return id(Vol); volume: !lambda return id(Vol);
- platform: gpio - platform: gpio
pin: pin:
number: GPIO32 number: GPIO32
@@ -205,13 +238,13 @@ binary_sensor:
pullup: true pullup: true
name: Volume Down name: Volume Down
on_click: on_click:
- lambda: |- - lambda: |-
id(Vol) -= 0.05; id(Vol) -= 0.05;
if(id(Vol) < 0) id(Vol) = 0; if(id(Vol) < 0) id(Vol) = 0;
- media_player.volume_set: - media_player.volume_set:
id: luxe_media_player id: luxe_media_player
volume: !lambda return id(Vol); volume: !lambda return id(Vol);
- platform: gpio - platform: gpio
pin: pin:
number: GPIO12 number: GPIO12
@@ -220,16 +253,16 @@ binary_sensor:
input: true input: true
pullup: true pullup: true
name: Mute name: Mute
on_click: on_click:
- if: - if:
condition: condition:
- lambda: 'return(id(mute));' - lambda: 'return(id(mute));'
then: then:
- script.execute: mute_off - script.execute: mute_off
- lambda: id(mute) = false; - lambda: id(mute) = false;
else: else:
- script.execute: mute_on - script.execute: mute_on
- lambda: id(mute) = true; - lambda: id(mute) = true;
on_double_click: on_double_click:
- if: - if:
condition: condition:
@@ -269,9 +302,9 @@ microphone:
sample_rate: 16000 sample_rate: 16000
i2s_din_pin: GPIO35 i2s_din_pin: GPIO35
bits_per_sample: 16bit bits_per_sample: 16bit
channel: left channel: stereo
adc_type: external adc_type: external
speaker: speaker:
- platform: i2s_audio - platform: i2s_audio
id: luxe_speaker id: luxe_speaker
@@ -280,8 +313,8 @@ speaker:
sample_rate: 48000 sample_rate: 48000
bits_per_sample: 16bit bits_per_sample: 16bit
channel: stereo channel: stereo
buffer_duration: 100ms buffer_duration: 100ms
media_player: media_player:
- platform: speaker - platform: speaker
name: None name: None
@@ -292,37 +325,36 @@ media_player:
speaker: luxe_speaker speaker: luxe_speaker
format: FLAC format: FLAC
sample_rate: 48000 sample_rate: 48000
num_channels: 2 num_channels: 2
files: files:
- id: little_sound - id: little_sound
file: https://github.com/esphome/home-assistant-voice-pe/raw/dev/sounds/timer_finished.flac file: https://github.com/esphome/home-assistant-voice-pe/raw/dev/sounds/timer_finished.flac
on_announcement: on_announcement:
- micro_wake_word.stop: - micro_wake_word.stop:
- if: - if:
condition: condition:
lambda: 'return(id(phase) != 2);' lambda: 'return(id(phase) != 2);'
then: then:
- lambda: |- - lambda: |-
if(id(phase) == 1) id(phase) = 2; if(id(phase) == 1) id(phase) = 2;
- script.execute: mute_off - script.execute: mute_off
- script.execute: update_led - script.execute: update_led
on_idle: on_idle:
- wait_until: - wait_until:
and: and:
- not: - not:
media_player.is_announcing: media_player.is_announcing:
- not: - not:
voice_assistant.is_running: voice_assistant.is_running:
- if: - if:
condition: condition:
lambda: 'return((id(phase) == 4) || (id(phase) == 2));' lambda: 'return((id(phase) == 4) || (id(phase) == 2));'
then: then:
- lambda: |- - lambda: |-
id(phase) = 1; id(phase) = 1;
- micro_wake_word.start: - micro_wake_word.start:
- script.execute: update_led - script.execute: update_led
voice_assistant: voice_assistant:
id: va id: va
@@ -334,10 +366,10 @@ voice_assistant:
volume_multiplier: 2.0 volume_multiplier: 2.0
on_listening: on_listening:
- logger.log: "listening 3 => phase" - logger.log: "listening 3 => phase"
- micro_wake_word.stop: - micro_wake_word.stop:
- lambda: |- - lambda: |-
id(phase) = 3; id(phase) = 3;
- script.execute: update_led - script.execute: update_led
on_stt_end: on_stt_end:
@@ -351,53 +383,53 @@ voice_assistant:
on_tts_start: on_tts_start:
- logger.log: "answering 4 => phase" - logger.log: "answering 4 => phase"
- lambda: |- - lambda: |-
id(phase) = 4; id(phase) = 4;
- script.execute: update_led - script.execute: update_led
on_error: on_error:
- logger.log: "ERROR!!!!!!!!!!!!!!!!" - logger.log: "ERROR!!!!!!!!!!!!!!!!"
- light.turn_on: - light.turn_on:
id: top_led id: top_led
blue: 0% blue: 0%
red: 100% red: 100%
green: 0% green: 0%
effect: pulse effect: pulse
- delay: 3s - delay: 3s
- lambda: id(phase) = 1; - lambda: id(phase) = 1;
- script.execute: update_led - script.execute: update_led
######### #########
# Scripts # Scripts
script: script:
- id: update_led - id: update_led
then: then:
- logger.log: "==>>>update_led" - logger.log: "==>>>update_led"
- lambda: |- - lambda: |-
if(id(phase) == 0)id(start).execute(); if(id(phase) == 0)id(start).execute();
if(id(phase) == 1)id(waiting).execute(); if(id(phase) == 1)id(waiting).execute();
if(id(phase) == 2)id(external_player).execute(); if(id(phase) == 2)id(external_player).execute();
if(id(phase) == 3)id(listening).execute(); if(id(phase) == 3)id(listening).execute();
if(id(phase) == 4)id(answering).execute(); if(id(phase) == 4)id(answering).execute();
- id: start - id: start
then: then:
- light.turn_on: - light.turn_on:
id: top_led id: top_led
effect: slow_pulse effect: slow_pulse
red: 80% red: 80%
green: 0% green: 0%
blue: 80% blue: 80%
- delay: 5sec - delay: 5sec
- lambda: id(my_es8388).setup(); - lambda: id(my_es8388).setup();
- output.turn_off: dac_mute - output.turn_off: dac_mute
- lambda: id(phase) = 1; - lambda: id(phase) = 1;
- media_player.speaker.play_on_device_media_file: - media_player.speaker.play_on_device_media_file:
media_file: little_sound media_file: little_sound
announcement: true announcement: true
- script.execute: update_led - script.execute: update_led
- id: waiting - id: waiting
@@ -409,8 +441,8 @@ script:
green: 0% green: 0%
blue: 100% blue: 100%
brightness: 100% brightness: 100%
- voice_assistant.stop: - voice_assistant.stop:
- micro_wake_word.start: - micro_wake_word.start:
- id: listening - id: listening
@@ -420,8 +452,8 @@ script:
effect: pulse effect: pulse
red: 0% red: 0%
green: 100% green: 100%
blue: 0% blue: 0%
brightness: 100% brightness: 100%
- id: answering - id: answering
then: then:
@@ -430,8 +462,8 @@ script:
effect: none effect: none
red: 100% red: 100%
green: 100% green: 100%
blue: 0% blue: 0%
brightness: 100% brightness: 100%
- id: external_player - id: external_player
then: then:
@@ -440,7 +472,7 @@ script:
effect: none effect: none
red: 80% red: 80%
green: 40% green: 40%
blue: 0% blue: 0%
- id: mute_on - id: mute_on
then: then:

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

154
mqtt.yaml
View File

@@ -81,3 +81,157 @@
model: Vauno-EN8822C model: Vauno-EN8822C
manufacturer: rtl_433 manufacturer: rtl_433
- device_class: humidity
unit_of_measurement: '%'
value_template: '{{ value|float }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Nexus-TH/1/238/humidity
unique_id: Nexus-TH-1-238-H
device:
identifiers:
- Nexus-TH-1-238
model: Nexus-TH
manufacturer: rtl_433
name: Nexus-TH-1-238
name: Humidity
- device_class: humidity
unit_of_measurement: '%'
value_template: '{{ value|float }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Nexus-TH/1/238/humidity
unique_id: Nexus-TH-1-238-H
device:
identifiers:
- Nexus-TH-1-238
model: Nexus-TH
manufacturer: rtl_433
name: Nexus-TH-1-238
name: Humidity
# Cotech-367959
- device_class: battery
unit_of_measurement: '%'
value_template: '{{ ((float(value) * 99)|round(0)) + 1 }}'
state_class: measurement
entity_category: diagnostic
state_topic: rtl_433/sdr/devices/Cotech-367959/130/battery_ok
unique_id: Cotech-367959-130-B
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Battery
- device_class: temperature
unit_of_measurement: °F
value_template: '{{ value|float|round(1) }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/temperature_F
unique_id: Cotech-367959-130-F
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Temperature
- device_class: humidity
unit_of_measurement: '%'
value_template: '{{ value|float }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/humidity
unique_id: Cotech-367959-130-H
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Humidity
- device_class: precipitation
unit_of_measurement: mm
value_template: '{{ value|float|round(2) }}'
state_class: total_increasing
state_topic: rtl_433/sdr/devices/Cotech-367959/130/rain_mm
unique_id: Cotech-367959-130-RT
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Rain Total
- unit_of_measurement: °
value_template: '{{ value|float }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/wind_dir_deg
unique_id: Cotech-367959-130-WD
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Wind Direction
- device_class: wind_speed
unit_of_measurement: km/h
value_template: '{{ (float(value|float) * 3.6) | round(2) }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/wind_avg_m_s
unique_id: Cotech-367959-130-WS
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Wind Average
- device_class: wind_speed
unit_of_measurement: km/h
value_template: '{{ (float(value|float) * 3.6) | round(2) }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/wind_max_m_s
unique_id: Cotech-367959-130-GS
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Wind max
- device_class: illuminance
unit_of_measurement: lx
value_template: '{{ value|int }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/light_lux
unique_id: Cotech-367959-130-lux
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: Outside Luminance
- unit_of_measurement: UV Index
value_template: '{{ value|float|round(1) }}'
state_class: measurement
state_topic: rtl_433/sdr/devices/Cotech-367959/130/uv
unique_id: Cotech-367959-130-uv
device:
identifiers:
- Cotech-367959-130
model: Cotech-367959
manufacturer: rtl_433
name: Cotech-367959-130
name: UV Index

8
mqtt_statestream.yaml Normal file
View File

@@ -0,0 +1,8 @@
base_topic: homeassistant
publish_attributes: true
publish_timestamps: true
# include:
# entities:
# - sensor.Netzleistung

8
notify.yaml Normal file
View File

@@ -0,0 +1,8 @@
#All Mobile Phones
- platform: group
name: "Alle mobilen Geräte"
services:
- service: mobile_app_le2123
- service: mobile_app_apollo
- service: mobile_app_xt2125_4

View File

@@ -29,6 +29,7 @@
- sensor.*_wi_fi_signal - sensor.*_wi_fi_signal
- sensor.*_wifi_strenght - sensor.*_wifi_strenght
- sensor.*_uptime - sensor.*_uptime
- sensor.sun*
entities: entities:
- sun.sun # Don't record sun data - sun.sun # Don't record sun data
- sensor.fritzbox_device_uptime - sensor.fritzbox_device_uptime

View File

@@ -61,7 +61,8 @@
{% set kaffeemaschine = states('sensor.kaffeemaschine_leistung_2') | float %} {% set kaffeemaschine = states('sensor.kaffeemaschine_leistung_2') | float %}
{% set waeschetrockner = states('sensor.waschetrockner_leistung') | float %} {% set waeschetrockner = states('sensor.waschetrockner_leistung') | float %}
{% set waschmaschine = states('sensor.waschmaschine_leistung') | float %} {% set waschmaschine = states('sensor.waschmaschine_leistung') | float %}
{{ (total + solar - raumduft - keller - musik - bett - heimkino_sz - deko - schreibtisch - serverraum - heimkino_wz - spieleschrank - kuehlschrank - kaffeemaschine - waeschetrockner - waschmaschine) | round(1) }} {% set arcade = states('sensor.arcade_automat_leistung') | float %}
{{ (total + solar - raumduft - keller - musik - bett - heimkino_sz - deko - schreibtisch - serverraum - heimkino_wz - spieleschrank - kuehlschrank - kaffeemaschine - waeschetrockner - waschmaschine - arcade) | round(1) }}
device_class: power device_class: power
state_class: measurement state_class: measurement
attributes: attributes: