DOIF soll mir eine Meldung senden, wenn ein Fenster offen ist

Begonnen von Da_Erdinga, 01 März 2019, 21:27:18

Vorheriges Thema - Nächstes Thema

Da_Erdinga

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
Viele Grüsse aus Bayern.

Dirk

Ellert

#1
Statt Event ["Fenster_SZ:open"] Reading abfragen [?Fenster_SZ] =~ "open"

Da_Erdinga

Viele Grüsse aus Bayern.

Dirk

Ellert


Da_Erdinga

Ich pass die Zeit zum Testen natürlich an [emoji41]

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Viele Grüsse aus Bayern.

Dirk

Ellert


Sammy_80

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


Ellert

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.

Sammy_80

Hallo,

das war nur mein Beispiel >ohne< Temperatur.

Schöne Grüße,
Michael

Gesendet von meinem SM-G930F mit Tapatalk


CBSnake

Hi,

das

[SZ_Eltern_Weather:temperature < 17]

Müsste meiner Meinung nach so aussehen:

[SZ_Eltern_Weather:temperature] < 17

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

münster

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

Da_Erdinga

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

Viele Grüsse aus Bayern.

Dirk

CBSnake

FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Per

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 ...

doman75

#14
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

Per

Auch wenn es am äußern Verhalten nichts ändert, würde ich noch zwei Fragezeichen verteilen, was die Last etwas senkt. Der einzige genutzte Trigger ist ja die Zeit.

Da_Erdinga

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.
Viele Grüsse aus Bayern.

Dirk

Da_Erdinga

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.
Viele Grüsse aus Bayern.

Dirk

Per


CBSnake

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?
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Da_Erdinga

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.
Viele Grüsse aus Bayern.

Dirk