FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Gunther am 23 Oktober 2017, 15:56:18

Titel: Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Gunther am 23 Oktober 2017, 15:56:18
Nachdem ich mit anderen Versuchen gescheitert bin (https://forum.fhem.de/index.php?topic=78314.new;topicseen#new) und ich einen Tipp bekommen habe mit dem DOIF zu arbeiten, stelle ich meine Frage mal hier:

Ich habe einen Dummy, in dem ich die Zeit der Nachtabsenkung speichere: uhrzeit_nachtabsenkung_aufheben

Mein DOIF setzt lediglich in Abhängigkeit von uhrzeit_nachtabsenkung_aufheben meinen Hausstatus (Dummy haus_Status) auf 1 (anwesend).

Was ich nun möchte ist, dass wenn ich eine Änderung an der Nachtabsenkungszeit vornehme, diese Zeit auch im DOIF berücksichtigt wird. Leider klappt das nicht.
Ich habe in der commandref gelesen, aber leider keinen Ansatz für mein Problem gefunden (hier im Forum suche ich seit 2 Tagen leider erfolglos).

Mein DEF sieht so aus:
([{Value("uhrzeit_nachtabsenkung_aufheben")}|Mo] and [haus_Status:state] <3) (set haus_Status 1)

Habt Ihr einen Ansatz oder eine Idee für mich?
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: amenomade am 23 Oktober 2017, 16:02:54
([[uhrzeit_nachtabsenkung_aufheben]|Mo] and [haus_Status:state] <3) (set haus_Status 1) sollte gehen
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Gunther am 23 Oktober 2017, 16:22:10
Ich habe mich anscheinend nicht richtig ausgedrückt.
Mein oben stehendes DOIF funktioniert korrekt.
Leider bekommt es eine Änderung des Dummys nicht mit sondern nimmt die letzte ausgeführte Zeit.

Ist das verständlich?
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Per am 23 Oktober 2017, 16:53:37
Zitat von: Gunther am 23 Oktober 2017, 16:22:10Leider bekommt es eine Änderung des Dummys nicht mit sondern nimmt die letzte ausgeführte Zeit.
Bei deiner Variante gibt es auch keinen Trigger auf den Dummy, nur eine Abfrage. Also nur dann, wenn sich haus_status ändert (Trigger) wird auch der Dummy geprüft.
Bei der Variante von amenomade hast du zwei Trigger. Den Dummy und haus_status. Schon mal getestet?
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Gunther am 23 Oktober 2017, 17:15:35
Klappt! Genial. Danke Euch beiden.

Jetzt eine Frage dazu:
Meine Variante stellt nur einen Wert da und die von amenomade ein Device, dass bei Änderung triggert. Ist das der Unterschied?

Edit: Und noch eine Zusatzfrage: Mache ich für die einzelnen Wochentage (jeweils ein anderer Dummy) je ein DOIF oder baue ich das besser mit DOIFELSE ein? Oder egal?
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: amenomade am 24 Oktober 2017, 09:01:43
ZitatMeine Variante stellt nur einen Wert da und die von amenomade ein Device, dass bei Änderung triggert. Ist das der Unterschied?
Richtig.

M.M.n. ist es einfacher sowas über weekprofile oder weekdaytimer zu entwickeln. Da hast Du sogar ein widget, um alles zu bearbeiten.
Aber über DOIF geht es auch. Ein "or" in der Zeitbedingung sollte reichen:

(([[uhrzeit_nachtabsenkung_aufheben]|Mo] or [[uhrzeit_nachtabsenkung_aufheben_Di]|Di] or ...) and [haus_Status:state] <3) (set haus_Status 1)
Do kannst sogar auf die dummys verzichten, und userReadings direkt auf dem DOIF setzen, und die Bedingung [[$SELF:readingFuerMontag]|Mo] z.B. nutzen.

Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Gunther am 24 Oktober 2017, 10:43:52
Danke Dir!
Jetzt habe ich es vermutlich in der ungünstigsten Variante mit mehreren DOIFs und Variablen entwickelt.
Dafür ist es nun auch für meine Frau pflegbar.
So sieht es nun aus:
https://forum.fhem.de/index.php?topic=78398.msg703484#msg703484 (https://forum.fhem.de/index.php?topic=78398.msg703484#msg703484)
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Per am 24 Oktober 2017, 13:23:34
Zitat von: Gunther am 23 Oktober 2017, 17:15:35Mache ich für die einzelnen Wochentage (jeweils ein anderer Dummy) je ein DOIF oder baue ich das besser mit DOIFELSE ein?
Meine Erfahrungen: entweder je Eingang oder je Ausgang (letzteres ist meine Preferenz) ein DOIF. Alles andere kann dir die Übersicht dermaßen kaputt machen, dass du den Spass an der Sache verlierst.
Das finde ich ja den Vorteil ggü. notify, du hast alle(!) Einflüsse in einem DOIF (bzw. du kannst alle drin haben). Erst recht jetzt mit den DOIF-Readings.
Titel: Antw:Zeit (in Dummy gepflegt) regelmäßig in DOIF aktualisieren
Beitrag von: Gunther am 24 Oktober 2017, 14:40:17
Danke für den Tipp!

Ich denke über amenomades Hinweis mit weekdaytimer nach.
Ich weiß nur noch nicht, ob ich damit meine Features (vgl.) Link abgebildet bekomme und eine vernünftige Anwendung über die FHEM Oberfäche möglich ist, bis ich Tablet UI fertig habe.

Freue mich über einen Hinweis dazu.