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...
 
Ich habe keine solche Automatisierung bei mir laufen und lese auch keine Wecker aus meinem Handy. Von daher kann ich Dir hier schlecht helfen. Ich weiß nicht mal, wie der Auslöser dafür aussieht, ob man da irgendwas machen kann.
Dein Ansatz, die Zeit des Weckers auszulesen und in einer Automatisierung dann 10 Minuten früher zu triggern, halte ich für den vermutlich besten weg.
 
Ich habe es hingekriegt, das Licht (oder eine andere Aktion) x Minuten vor dem eingestellten Wecker zu aktivieren...
Falls mal wieder jemand danach sucht.

Template
YAML:
template:
  - trigger:
      - platform: time
        at: '00:00:00'
      - platform: state
        entity_id: input_number.dauer_lichtwecker
      - platform: event
        event_type: event_template_reloaded
      - platform: homeassistant
        event: start
    sensor:
      - name: 'Beginn Lichtwecker'
        unique_id: 'beginn_lichtwecker'
        state: "{{ states('sensor.galaxy_next_alarm') | as_datetime - timedelta(minutes= states('input_number.dauer_lichtwecker')|int(0)) }}"
        device_class: timestamp

Automation:
YAML:
alias: Lichtwecker
description: ""
triggers:
  - trigger: time
    at: sensor.beginn_lichtwecker
conditions:
  - condition: state
    state: "on"
    entity_id: input_boolean.wecker_an_aus
actions:
  - target:
      entity_id: light.lampe_schlafzimmer_licht
    data:
      transition: "{{ states('input_number.dauer_lichtwecker')|float }}"
    action: light.turn_on
mode: single

Mit input_number.dauer_lichtwecker kann der Beginn, wiviel Minuten vor dem Wecker die Automation gestartet wird, gesetzt werden.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.564
Beiträge
54.796
Mitglieder
5.396
Neuestes Mitglied
dinimutter
Zurück
Oben