Hallo zusammen,
ich stehe gerade etwas auf dem Schlauch.
Ich möchte mir eine Nachricht (via Pushover alias Nachrichten) schicken, wenn das Fenster um 18:00 Uhr noch offen ist und die Temperatur im Zimmer unter 17 Grad beträgt.
Dazu habe ich folgenden Code eingegeben, aber der macht nicht das, was ich will.
DOIF (([18:00]) and ["Fenster_SZ:open"] and [SZ_Eltern_Weather:temperature < 17]) (set Nachrichten msg 'Das Schlafzimmer-Fenster ist noch offen')
Kann mir da jemand einen Tip geben?
Danke für Eure Hilfe
Statt Event ["Fenster_SZ:open"] Reading abfragen [?Fenster_SZ] =~ "open"
Das hat leider keinen Erfolg gebracht.
18:00 ist ja auch schon lange vorbei.
Ich pass die Zeit zum Testen natürlich an [emoji41]
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Ja, dann musst Du wohl mehr Infos liefern https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche
Hi,
18 Uhr fragt natürlich nur einen Zeitpunkt ab - ich denke aber Du willst die Meldung vor 18 Uhr unterdrücken und nach 18 Uhr bekommen.
Ich würde mit zu erst einen Dummy bauen, der um 18 Uhr täglich aktiviert wird und zu späteren Zeit (23 Uhr) täglich wieder deaktiviert wird.
Den Dummy würde ich dann abfragen.
Die Fenster Geschichte habe ich bei mir - ohne Zeitfenster - über einen Watchdog gelöst:
define Watchdog_Fenster_Bad watchdog Fenster_Bad:opened.* 00:30:00 Fenster_Bad:closed.* set Sonos_Kueche Speak 15 de Das Fenster im Bad ist noch offen.
attr Watchdog_Fenster_Bad autoRestart 1
Der Watchdog löst nach 30 min offenen Fenster aus. Die Temperatur wird nicht überwacht.
Viel Erfolg.
Michael
Gesendet von meinem SM-G930F mit Tapatalk
Zitat von: Sammy_80 am 02 März 2019, 07:47:12
Hi,
18 Uhr fragt natürlich nur einen Zeitpunkt ab - ich denke aber Du willst die Meldung vor 18 Uhr unterdrücken und nach 18 Uhr bekommen.
Ich würde mit zu erst einen Dummy bauen, der um 18 Uhr täglich aktiviert wird und zu späteren Zeit (23 Uhr) täglich wieder deaktiviert wird.
Den Dummy würde ich dann abfragen.
Die Fenster Geschichte habe ich bei mir - ohne Zeitfenster - über einen Watchdog gelöst:
define Watchdog_Fenster_Bad watchdog Fenster_Bad:opened.* 00:30:00 Fenster_Bad:closed.* set Sonos_Kueche Speak 15 de Das Fenster im Bad ist noch offen.
attr Watchdog_Fenster_Bad autoRestart 1
Der Watchdog löst nach 30 min offenen Fenster aus. Die Temperatur wird nicht überwacht.
Viel Erfolg.
Michael
Gesendet von meinem SM-G930F mit Tapatalk
Die Anforderung ist eindeutig
wenn das Fenster um 18:00 Uhr noch offen
formuliert.
Du hast die Temperaturbedingung vergessen.
Hallo,
das war nur mein Beispiel >ohne< Temperatur.
Schöne Grüße,
Michael
Gesendet von meinem SM-G930F mit Tapatalk
Hi,
das
[SZ_Eltern_Weather:temperature < 17]
Müsste meiner Meinung nach so aussehen:
[SZ_Eltern_Weather:temperature] < 17
Grüße
Achim
Hört sich voll nach meinem Problem vor zwei Wochen an. Hier hatte ich schnell die Lösung bekommen.
https://forum.fhem.de/index.php/topic,97414.0.html (https://forum.fhem.de/index.php/topic,97414.0.html)
Zitat von: CBSnake am 02 März 2019, 09:08:21
Hi,
das
[SZ_Eltern_Weather:temperature < 17]
Müsste meiner Meinung nach so aussehen:
[SZ_Eltern_Weather:temperature] < 17
Grüße
Achim
Das ändern der Klammer hat mir auch nicht den richtigen Erfolg gebracht.
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Poste doch mal deine aktuelle Version
Zitat von: Sammy_80 am 02 März 2019, 07:47:12Ich würde mit zu erst einen Dummy bauen, der um 18 Uhr täglich aktiviert wird und zu späteren Zeit (23 Uhr) täglich wieder deaktiviert wird.
Das kann DOIF besser selbst:
([18:00-23:00]) and ...
DOIF (([18:00])
um die zeit muss doch noch nicht nochmal eine extra ()
also
ungefähr
([18:00] and ["Fenster_SZ:open"] and [SZ_Eltern_Weather:temperature] < 17) (set Nachrichten msg 'Das Schlafzimmer-Fenster ist noch offen')
also mit der änderung auf das reading state so:
([18:00] and [Fenster_SZ:state] eq "open" and [SZ_Eltern_Weather:temperature] < 17) (set Nachrichten msg 'Das Schlafzimmer-Fenster ist noch offen')
Vorausgesetzt im reading state open drin, steht da was anderes z.bsp opened muss das noch geändert werden.
Grüße
Swen
Auch wenn es am äußern Verhalten nichts ändert, würde ich noch zwei Fragezeichen (https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger) verteilen, was die Last etwas senkt. Der einzige genutzte Trigger ist ja die Zeit.
Zitat von: doman75 am 04 März 2019, 14:54:16
DOIF (([18:00])
um die zeit muss doch noch nicht nochmal eine extra ()
also
ungefähr
([18:00] and ["Fenster_SZ:open"] and [SZ_Eltern_Weather:temperature] < 17) (set Nachrichten msg 'Das Schlafzimmer-Fenster ist noch offen')
also mit der änderung auf das reading state so:
([18:00] and [Fenster_SZ:state] eq "open" and [SZ_Eltern_Weather:temperature] < 17) (set Nachrichten msg 'Das Schlafzimmer-Fenster ist noch offen')
Vorausgesetzt im reading state open drin, steht da was anderes z.bsp opened muss das noch geändert werden.
Grüße
Swen
Hallo Swen,
Ich habe meinen Code jetzt mal geändert und teste es morgen mal.
Auf jedenfall von mir schon jetzt ein großes DANKE.
Jetzt hab ich den Code getestet, aber es funktioniert leider nicht.
Das Fenster war offen, die Temperatur lag bei knapp 14 Grad, aber ich habe keine Meldung bekommen.
Stell doch mal ein List von 17:00 ein.
Und am besten noch ein List vom Fenstersensor und vom Thermostat, weil
[SZ_Eltern_Weather:temperature]
gibt es bei meinen Thermostaten im Weather Kanal nicht, das heißt dort:
[SZ_Eltern_Weather:measured-temp]
Hast du auch ein DOELSE im Doif oder das Attribut do always aktiv?
Hallo zusammen,
ich habe mich gestern Abend nochmal mit dem Thema befasst und bin auf die Lösung gekommen.
Nachdem ich mir die "Raw definition" angeschaut habe ist da am Anfang 2x DOIF gestanden, davon hab ich eins gelöscht und heute ist die Meldung, wie gedacht/geplant gekommen.
Damit ist dieses Thema geschlossen.
Danke für Eure Hilfe.