ich bin ganz neu und komme einfach nicht weiter. Ich möchte wie scho im Titel beschrieben den Timer von meiner Alexa im Wohnzimmer ist die Entitäts-ID: sensor.alexa_wohnzimmer_next_timer auf meine Ulanzi TC001 anzeigen lassen.
Ich h auch schon mit ChatGPT geschafft einen Timer zu erstellen der mit HH:MM:SS ausgibt aber sich nicht im Sekundentakt aktualisiert.
# Alexa Timer und Reminder
- platform: template
sensors:
alexa_wohnzimmer_next_timer_awtrix:
friendly_name: "Nächster Alexa Timer Awtrix"
value_template: >
{% set next_timer = states('sensor.alexa_wohnzimmer_next_timer') %}
{% if next_timer and next_timer != 'unavailable' %}
{% set target_time = as_datetime(next_timer) %}
{% set now = now() %}
{% if target_time > now %}
{{ (target_time - now).total_seconds() | timestamp_custom('%H:%M:%S', false) }}
{% else %}
00:00:00
{% endif %}
{% else %}
Kein Timer gestellt
{% endif %}
Wenn ja, musst Du Ihn aber auch bei jeder Veränderung, sprich jede Sekunde, neu an die Uhr schicken (Ob das in Echtzeit gelingt, könnte schwierig sein).
Also für alle die sowas auch machen möchten ich habe es hinbekommen.
Hab Chat GPT solange ausgefragt bis ich das gewünschte Ergebnis hatte. Umgesetzt ist es jetzt momentan in zwei Automationen.
Die erste Aktualisiert den Sensor alle 2s wenn er von “nicht verfügbar” auf Daten mit HH:MM:SS wechselt.
alias: Update Alexa Timer Awtrix every 2 seconds in loop
description: >
Automatisierung, die den Alexa Timer alle 2 Sekunden aktualisiert, aber nur
bei gültigen Daten
triggers:
- value_template: >
{% set sensor_value = states('sensor.alexa_wohnzimmer_next_timer_awtrix')
%} {{ sensor_value is not none and
sensor_value != 'unavailable' and
sensor_value | regex_match('^\\d{2}:\\d{2}:\\d{2}$') }}
trigger: template
conditions: []
actions:
- repeat:
while:
- condition: template
value_template: >
{% set sensor_value =
states('sensor.alexa_wohnzimmer_next_timer_awtrix') %} {{
sensor_value is not none and
sensor_value != 'unavailable' and
sensor_value | regex_match('^\\d{2}:\\d{2}:\\d{2}$') }}
sequence:
- action: homeassistant.update_entity
metadata: {}
data:
entity_id:
- sensor.alexa_wohnzimmer_next_timer_awtrix
- delay:
seconds: 2
Die zweite Automation pusht die Sensordaten dann per MQTT an meine Ulanzi.
alias: Alexa Timer zu Awtrix
description: ""
triggers:
- value_template: >
{% set sensor_value = states('sensor.alexa_wohnzimmer_next_timer_awtrix')
%} {{ sensor_value is not none and
sensor_value != 'unavailable' and
sensor_value | regex_match('^\\d{2}:\\d{2}:\\d{2}$') }}
trigger: template
id: Start App
- trigger: template
value_template: >
{% set sensor_value = states('sensor.alexa_wohnzimmer_next_timer_awtrix')
%}
{{ sensor_value is none or
sensor_value == 'unavailable' or
not (sensor_value | regex_match('^\\d{2}:\\d{2}:\\d{2}$')) }}
id: App loeschen
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- App loeschen
sequence:
- action: script.awtrix_delete_app
metadata: {}
data:
topicname: Timer_Alexa
- conditions:
- condition: trigger
id:
- Start App
sequence:
- repeat:
while:
- condition: template
value_template: >
{% set sensor_value =
states('sensor.alexa_wohnzimmer_next_timer_awtrix') %} {{
sensor_value is not none and
sensor_value != 'unavailable' and
sensor_value | regex_match('^\\d{2}:\\d{2}:\\d{2}$') }}
sequence:
- action: script.awtrix_new_app
metadata: {}
data:
rainbow: false
textcase: 0
topicname: Timer_Alexa
duration: 5
icon: ""
text: >-
{% if states('sensor.alexa_wohnzimmer_next_timer_awtrix')
!= 'unavailable' %} {{
states('sensor.alexa_wohnzimmer_next_timer_awtrix') }} {%
else %} Nicht verfügbar {% endif %}
- delay:
seconds: 2
mode: single
So funktioniert das gerade gut. Jetzt muss ich nur noch rausfinden wie ich es anstelle das die Alexa_Timer App immer sichtbar bleit wenn ein Timer läuft und die Ulanzi nicht auf andere Apps ( Time ) umschaltet.