Variable mit individuellem Zeit-Wert setzen

CyPe78

New member
Hallo Gemeinschaft.

Ich bin noch relativ am Anfang, was die Programmierung von Automationen angeht und hoffe auf Eure Hilfe, auch wenn es wahrscheinlich Basisfragen sind.

Ich möchte einen boolschen Sensor auswerten und in Abhängigkeit dessen Status, dann in einer anderen Variable (ich tippe hier auf einen template-Sensor) den Zeitpunkt A (z.B. 07:00:00)
oder den Zeitpunkt B (z.B. 09:30:00) schreiben. Diese Variable möchte ich dann in einer anderen Automation als Trigger weiter verwenden.
Ich stelle mich zu dusselig an, die richtige Herangehensweise zu finden.

Ohne zu sehr von meiner Frage abzulenken, möchte ich mein Szenario natürlich auch beschreiben, wofür ich das machen will.
Ich werte einen Google-Kalender aus, ob da ein Termin mit dem Begriffen Urlaub oder Ferien auftaucht --> das habe ich geschafft
Dann setze ich da einen entsprechenden Boolschen Sensor auf on oder off (da ich denke, dass ich die Info öfter benötigen werde) --> das habe ich geschafft
Jetzt soll anhand dieses boolschen Sensor eine Zeit definiert werden (also das oben beschriebenen Problem) --> hier hakt es
Es sollen Jalousie-Automationen entstehen, die als Trigger eben den Wert aus der vorherigen Variable nehmen, um eine bestimmte Position einzustellen.
Hintergrund: In den Ferien oder im Urlaub sollen die Jalousien eben einfach später hochfahren. Dies möchte ich eben mit meinem Google Kalender realisieren.

Ich danke Euch für Euer Schwarmwissen.
 
Was hälst Du davon, einen Helfer (Einstellungen => Geräte & Dienste => Reiter Helfer) von dem Typ Template zu nehmen und diesen on / off ausgeben zu lassen? Beispiel:
YAML:
{% set urlaub = '09:30' %}
{% set arbeit = '07:00' %}
{% if states('input_boolean.xyz') == 'on' and now().strftime('%H:%M') == urlaub %}
on
{% elif states('input_boolean.xyz') == 'off' and now().strftime('%H:%M') == arbeit %}
on
{% else %}
off
{% endif %}
Erstmal die Uhrzeiten setzen (das dient der Übersicht), den input_boolean.xyz müsstest Du durch Deinen Sensor ersetzen, und wenn der Sensor sagt "ja, Urlaub" und die Uhrzeit für Urlaub eingetreten ist oder der Sensor sagt "nein, Arbeit" und die Uhrzeit für Arbeit eingetreten ist, dann wechselt der Sensor auf "on", was Du in der Automatisierung verwenden kannst. Diesen Helfer könntest Du dann natürlich durch andere Szenarien (Wochenende?) noch ergänzen.
 
Hallo Nival. Das klingt gut. Ich habe da irgendwie einen Knoten im Kopf und brauchte genau diesen Anstoß. Ich gehe das so an.
 
Jetzt habe ich es mir genau durchgelesen. Ein on off habe ich ja schon durch die Kalenderauswertung. Ich möchte ja in eine einzige Variable die Zeit schreiben, um diese Variable später weiter zu verwenden als Trigger.
 
diese Variable später weiter zu verwenden als Trigger
Also über die Jalousien hinaus?

Dann erstell einen Helfer vom Typ Zeitpunkt, wähle "Uhrzeit", dann erstelle eine Automatisierung, wähle "Entität", "Zustand", den erstellten boolschen Sensor als Entität, bei "Dann" wähle "Baustein", "Wenn-Dann", wenn => boolscher Sensor on dann => "Aktion ausführen", "Zeitpunkt-Eingabe: Einstellen" und eben angelegten Helfer wählen, 09:30, sonst => "Aktion ausführen", "Zeitpunkt-Eingabe: Einstellen" und eben angelegten Helfer wählen, 07:00.

Oder nimm diesen Code, ersetze input_boolean.xyz durch Deinen Sensor und input_datetime.xyz durch Deinen Helfer vom Typ Uhrzeit und füge das bei einer neuen Automatisierung als YAML ein, danach kannst Du wieder auf visuell wechseln und es in Ruhe anschauen.
YAML:
alias: set time
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.xyz
conditions: []
actions:
  - if:
      - condition: state
        entity_id: input_boolean.xyz
        state: "on"
    then:
      - action: input_datetime.set_datetime
        target:
          entity_id: input_datetime.xyz
        data:
          time: "09:30:00"
    else:
      - action: input_datetime.set_datetime
        target:
          entity_id: input_datetime.xyz
        data:
          time: "07:00:00"
mode: single
 
Hallo Nival.
Ich wollte noch ein abschließendes Feedback geben.
Deine Variante funktioniert und macht genau das, was ich will.

Es ist zwar noch nicht in der finalen Automation eingebaut, aber ich habe mir ein paar kleine Testautomationen gebaut und die Daten werden sauber gesetzt.

Vielen Dank für Dein Unterstützung.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.096
Beiträge
59.267
Mitglieder
6.133
Neuestes Mitglied
dennissejournet
Zurück
Oben