Offset zu Wecker erstellen

figugegu

New member
Liebe Community
Nchdem ich mich durch diverse Beiträge in Foren gelesen habe, nun aber trotzdem nicht weiterkomme, frage ich hier mal um Hilfe.
Ich habe in HA einen Lichtwecker eingerichtet. Das passt soweit. Getriggert wird dieser über den auf dem Handy eingestellten Alarm über die Mobile-App-Integration.

Nun möchte ich aber, dass z.B. 30min nach diesem Alarm eine weitere Automation ausgeführt wird. Die Idee dahinter: der Lichtwecker soll nicht in allen Zimmer zur gleichen Zeit an gehen, wohl aber vom gleichen Wecker getriggert werden.

Vielen Dank im voraus

Nachtrag:
Nun habe ich etwas hingekriegt, aber noch nicht wie es sollte:
Die Verzögerung funktioniert nun, allerdings nicht bezogen auf die eingestellte Zeit und ohne das Datum.
Automation:
YAML:
alias: Alarmtest
description: ""
triggers:
  - entity_id: sensor.phone_next_alarm
    trigger: state
conditions: []
actions:
  - data:
      time: >-
        {{ strptime(states('input_datetime.weckzeit'), "%H:%M:%S") -
        strptime('45', '%M') }}
    target:
      entity_id: input_datetime.weckzeit_verzoegerung
    action: input_datetime.set_datetime
mode: single
Wie geht es, dass es die Zeit/Datum von sensor.phone_next_alarm als Weckzeit nimmt? Wenn ich anstelle input_datetime.weckzeit sensor.phone_next_alarm nehme, geht nichts.
Und gibt es eine Möglichkeit, den Offset, im Beispiel 45min, aus einem Helfer zu holen?
 
Zuletzt bearbeitet:
Wenn eine Aktion 30 Minuten später erfolgen soll, warum baust Du nicht einfach ein Delay von 30 Minuten in die Automatisierung ein ?
Und ja, würde vermutlich auch gehen, das man die 30 Minuten aus einem Helfer rauslesen kann.
 
Hallo RudiP
Du hast schon recht. Ich muss mich da noch ein wenig damit beschäftigen. Ich grüble grad noch an anderen Dingen rum.
Gibt es z.B. eine Möglichkeit, die Trasitiontime über einen Helfer anzupassen? Also so, dass diese dann im UI einfach angepasst werden kann?
Aktuelle Automation:
YAML:
alias: Test Lichtwecker
description: ""
triggers:
  - trigger: time
    at: sensor.samuel_s_phone_next_alarm
conditions:
  - condition: state
    entity_id: input_boolean.wecker_an_aus
    state: "on"
actions:
  - action: light.turn_on
    metadata: {}
    data:
      transition: 1800
    target:
      entity_id: light.leuchte_wohnzimmer_licht
mode: single
 
Wenn Du dein
Code:
    data:
      transition: 1800
durch so etwas ersetzt
Code:
data:
  value: "{{ states('sensor.wohnzimmer_sensor_temperature')|float(21) }}"
dann sollte das gehen.
Ich setzte damit die Temperatur in der Entität auf einen Wert, der in "sensor.wohnzimmer_sensor_temperature" steht oder, falls der nicht verfügbar ist, fest auf 21.
Und dieser Sensor kann auch problemlos ein input.number sein.
 
Danke, werde ich mal versuchen. Aber dann wird der Wert ja nicht "transition" zugewiesen, oder?

Folgendes habe ich versucht, klappt aber nicht...
YAML:
alias: Test Lichtwecker
description: ""
triggers:
  - trigger: time
    at: sensor.samuel_s_phone_next_alarm
conditions:
  - condition: state
    entity_id: input_boolean.wecker_an_aus
    state: "on"
actions:
  - action: light.turn_on
    metadata: {}
    data:
      transition: {{ states('input_number.transitionzeit') }}
    target:
      entity_id: light.leuchte_wohnzimmer_licht
mode: single
 
Wenn Du dein
Code:
    data:
      transition: 1800
durch so etwas ersetzt
Code:
data:
  value: "{{ states('sensor.wohnzimmer_sensor_temperature')|float(21) }}"
dann sollte das gehen.
Ich setzte damit die Temperatur in der Entität auf einen Wert, der in "sensor.wohnzimmer_sensor_temperature" steht oder, falls der nicht verfügbar ist, fest auf 21.
Und dieser Sensor kann auch problemlos ein input.number sein.
Wo steht bei dir denn dieser Code? In der Automation?
Weil da funktioniert es bei mir nicht...
 
Ja, in einer Automatisierung.
Dein Code ist aber auch noch deutlich falsch.
Du hast ein "-" vor action, was ich nicht habe. metadata: {} gehört da gar nicht rein. Vor target fehlt der "-"
Wenn ich diese Fehler anpasse, kommt bei mir folgender Coe raus:
Code:
alias: Test Lichtwecker
description: ""
triggers:
  - trigger: time
    at: sensor.samuel_s_phone_next_alarm
conditions:
  - condition: state
    entity_id: input_boolean.wecker_an_aus
    state: "on"
actions:
  - target:
      entity_id: light.leuchte_wohnzimmer_licht
    data:
      transition: "{{ states('input_number.temp_badezimmer_eco')|float }}"
    action: light.turn_on
mode: single
Ich habe hier nur einen anderen input.number nehmen müssen, den mußt Du durch deinen ersetzen.
 
Wenn eine Aktion 30 Minuten später erfolgen soll, warum baust Du nicht einfach ein Delay von 30 Minuten in die Automatisierung ein ?
Und ja, würde vermutlich auch gehen, das man die 30 Minuten aus einem Helfer rauslesen kann.
Nochmals zu dieser Antwort von dir zurück...
Ich möchte nicht, das habe ich falsch beschrieben, eine Automation verzögern, sondern vorziehen. Also z.B. 10min vor Wecker (next_alarm) die Kaffeemaschine starten. Oder eben das Licht anmachen.
Aber dazu muss ich nach meinem Verständnis einen datetime-Helfer haben, welcher next_alarm ausliest und noch x Minuten abzieht.
Dieser kann dann wiederum als Trigger verwendet werden...
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.550
Beiträge
54.652
Mitglieder
5.370
Neuestes Mitglied
timsel89
Zurück
Oben