Seite 1 von 1
Werte von Variablen mit Status setzen
Verfasst: Do 27. Okt 2022, 14:16
von Snowrisk
Hallo,
ich möchte in einer Automatisierung den aktuellen Zustand einer Entität auslesen und in einer Variable speichern. Dann
möchte ich den Zustand ändern und später wieder auf den gespeicherten Zustand der Variable zurücksetzen.
Genauer:
Ich möchte den aktuellen Zeitplan eines Thermostats speichern, einen anderen Zeitplan auf dem gleichen Thermostat
setzen ("Abwesend") und später wieder auf den ursprünglichen Zeitplan (aus der Variable) zurückwechseln.
Es geht um folgende Zustände:
Code: Alles auswählen
- Normal
- Urlaub anwesend
- Homeoffice MoDiDoFr
- Sparen
- Sparen Homeoffice MoDiDoFr
- Abwesend
Die "Speicherung" ist deshalb nötig, da die eingestellten Zeitpläne je nach Jahreszeit oder Anforderung wechseln können und ich nach
einstellen des Zustandes "Abwesend" immer wieder auf den vorher eingestellten Zeitplan zurückkomme....
Wie mache ich das?
Ich hoffe, ich hab jetzt nicht alle verwirrt
VG
Jens
Re: Werte von Variablen mit Status setzen
Verfasst: Do 27. Okt 2022, 21:52
von Osorkon
Handelst es sich bei der von Dir genannten Entität um ein input_select?
In dem Fall würde ich Snapshot Szenen erstellen und die danach aufrufen.
Damit erstellst Du ein Snapshot vom input_select.zeitplan und speicherst diesen als Szenen ab -> scene.zeitplan_before
Code: Alles auswählen
action:
- service: scene.create
data:
snapshot_entities: input_select.zeitplan
scene_id: zeitplan_before
Hiermit rufst Du die zuvor erstellte Szene scene.zeitplan_before auf.
Code: Alles auswählen
action:
- service: scene.turn_on
data: {}
target:
entity_id: scene.zeitplan_before
Gruß
Osorkon
Re: Werte von Variablen mit Status setzen
Verfasst: Fr 28. Okt 2022, 07:30
von Snowrisk
Handelst es sich bei der von Dir genannten Entität um ein input_select?
Glaube nicht, zumindest sagt der Name der Entität nur "select":
select.netatmo_thermostat_steuerung
- 28-10-_2022_07-29-20.jpg (40.26 KiB) 1877 mal betrachtet
Hat aber trotzdem funktioniert!
Code: Alles auswählen
service: scene.create
data:
scene_id: zeitplan_before
snapshot_entities:
- select.netatmo_thermostat_steuerung
Code: Alles auswählen
service: scene.turn_on
target:
entity_id: scene.zeitplan_before
metadata: {}
Ich war etwas verwirrt, weil der Status der Szene immer auf "unknown" steht. Hatte dort den wert der abgefragten Entität erwartet....
Re: Werte von Variablen mit Status setzen
Verfasst: Di 12. Mär 2024, 15:32
von Frank-Ahrens
Hallo,
ich habe auch versucht mir innerhalb einer Automation einen aktuellen Zustand per Snapshot zu merken, um ihn dann später wieder herzustellen.
Der Zustand der verwendeten Entität ist 20.0. Wenn ich zwischen der Aktion des Erstellens des Snapshot und des "Zurücksetzens" des gespeicherten Snapshots den Wert im Zustand manuell verändere passiert gar nichts.
Code: Alles auswählen
action:
- service: scene.create
metadata: {}
data:
scene_id: merken
snapshot_entities:
- sensor.temperatur_thermostat_eingestellt_ziel
- service: scene.turn_on
metadata: {}
target:
entity_id: scene.merken
Wenn ich mir, nachdem Lauf der Automatisierung den Zustand der Szene anschaue, steht dort auch nicht die 20.0 drin, sondern der "Zeitstempel" wann die Automatisierung gelaufen ist.
Wie bekomme ich den richtigen Wert erfasst, um ihn dann hinterher, wieder in den Sensor zu schreiben?
Der Grund für dieses "Konstrukt" ist, dass ich mir den IST-Wert der Temperatur-Vorgabe einer laufenden Automatisierung für ein Termostat merken möchte. Ich habe einen "Schalter" mit dem ich die Vorgabe manuell "übersteuere" und möchte einen weiteren Schalter erstellen, der ein Reset auf die Werte/Vorgaben, der zum Zeitpunkt der manuellen Übersteuerung eingestellten Werte zurücksetzt.
Re: Werte von Variablen mit Status setzen
Verfasst: Do 14. Mär 2024, 00:29
von Osorkon
@Frank-Ahrens Du kannst den Wert eines Sensors nicht setzen/Manipulieren.
Es ist ein Sensor Wert, der von einem Gerät berichtet wird. Das sit einen Einbahnstraße.
Frank-Ahrens hat geschrieben: ↑Di 12. Mär 2024, 15:32
Der Grund für dieses "Konstrukt" ist, dass ich mir den IST-Wert der Temperatur-Vorgabe einer laufenden Automatisierung für ein Termostat merken möchte.
Du meinst bestimmt die Soll-Tempertaur und nicht die Ist-Temperatur, richtig?
Wenn, dann musst Du Dir ein Snapshot der climate Entität erstellen.
Gruß
Osorkon