FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Da_Erdinga am 01 März 2019, 21:27:18

Titel: DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 01 März 2019, 21:27:18
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
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Ellert am 01 März 2019, 21:33:50
Statt Event ["Fenster_SZ:open"] Reading abfragen [?Fenster_SZ] =~ "open"
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 01 März 2019, 21:40:37
Das hat leider keinen Erfolg gebracht.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Ellert am 01 März 2019, 21:42:39
18:00 ist ja auch schon lange vorbei.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 01 März 2019, 21:43:46
Ich pass die Zeit zum Testen natürlich an [emoji41]

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Ellert am 01 März 2019, 21:45:52
Ja, dann musst Du wohl mehr Infos liefern https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag 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

Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Ellert am 02 März 2019, 08:21:55
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.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Sammy_80 am 02 März 2019, 08:23:25
Hallo,

das war nur mein Beispiel >ohne< Temperatur.

Schöne Grüße,
Michael

Gesendet von meinem SM-G930F mit Tapatalk

Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag 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
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: münster am 02 März 2019, 13:52:08
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)
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 02 März 2019, 14:08:20
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

Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: CBSnake am 02 März 2019, 14:21:25
Poste doch mal deine aktuelle Version
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Per am 04 März 2019, 14:27:25
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 ...
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag 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
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Per am 04 März 2019, 16:19:40
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.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 04 März 2019, 23:17:49
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.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 05 März 2019, 20:56:25
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.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Per am 06 März 2019, 10:47:30
Stell doch mal ein List von 17:00 ein.
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: CBSnake am 07 März 2019, 08:09:19
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?
Titel: Antw:DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist
Beitrag von: Da_Erdinga am 10 März 2019, 18:44:57
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.