Fhem+pushover mit variablen zeitangaben 15min 30 min usw.

Begonnen von Doomer, 13 November 2018, 17:14:23

Vorheriges Thema - Nächstes Thema

Doomer

Hallo,
Ich hab momentan einen watchdog laufen, der mich dran
Erinnert wenn das Fenster offen ist. Gibt es eine möglichkeit das
mir eine Push-nachricht geschickt wird, wo die Zeitangabe drin steht?
Bsp.
das Fenster steht seit 15 minuten offen.
15min spaätet
Das fenster steht seit 30miniten offen.
Usw
Solange bis das Fenster geschlossen wird.
Ich hoffe mir kann jemand helfen. Die google siche brachte leider nicht wirklich was:-(
Danke im vorraus
Lg. Maik

ArduPino

Ich habe so was ähnliches (oder auch ganz anderes) in das Alarm Modul integriert, ist aber im Endeffekt so was wie notify mit at aber nur zwei Ausgaben.
Einmal 30 Minuten, mit Soundausgabe und Telegram Meldung, dann 1h mit Soundausgabe und Telegram Meldung, die dann lautet "Ein Fenster ist bereits sehr lange geöffnet"...natürlich an Außentemperatur gekoppelt, denn im Sommer kann ein Fenster auch länger auf bleiben.
Beides wird dann immer wiederholt, je nach dem welche Außentemperatur gerade ist.

Aber ich denke du suchst was viel komplizierteres :-D


Byte09

#2
Zitat von: Doomer am 13 November 2018, 17:14:23
Hallo,
Ich hab momentan einen watchdog laufen, der mich dran
Erinnert wenn das Fenster offen ist. Gibt es eine möglichkeit das
mir eine Push-nachricht geschickt wird, wo die Zeitangabe drin steht?
Bsp.
das Fenster steht seit 15 minuten offen.
15min spaätet
Das fenster steht seit 30miniten offen.
Usw
Solange bis das Fenster geschlossen wird.
Ich hoffe mir kann jemand helfen. Die google siche brachte leider nicht wirklich was:-(
Danke im vorraus
Lg. Maik

da ich aber ausschliesslich mit meinem eigenen Modul arbeite kann ich dir nur eine MSwitch-Lösung anbieten.

Bei Interesse gib mir doch bitte mal ein list deines devices 'fenster'

gruss Byte09

Doomer

Hallo, ui..auf die lösung bin ich gespannt...ich kenn jetzt mswitch nicht wirklich
Hier ist mal mein ganzer watchdog

defmod Bad_Fenster_watchdog watchdog Bad_Fenster:open 00:15:00 Bad_Fenster:closed set pushmsg msg 'Zuhause meldet' 'Das Fenster im Bad steht schon seit 15 min offen
Hoffe du kannst damit was anfangen:-)

Byte09

Zitat von: Doomer am 13 November 2018, 20:22:30
Hallo, ui..auf die lösung bin ich gespannt...ich kenn jetzt mswitch nicht wirklich
Hier ist mal mein ganzer watchdog

defmod Bad_Fenster_watchdog watchdog Bad_Fenster:open 00:15:00 Bad_Fenster:closed set pushmsg msg 'Zuhause meldet' 'Das Fenster im Bad steht schon seit 15 min offen
Hoffe du kannst damit was anfangen:-)

ich poste dir in 5 min was

gruss Byte09

Byte09

#5
anbei eine rawdefinition .

diese sollte wie gewünscht arbeiten, das intervall steht hier aber auf 10 sekunden.

das ausgabedevice musst du ggf ändern - steht aber im device.

schau es dir einfach mal an , bei fragen gerne hier oder im MSwitch-Thread.

gruss Byte09

edit: die eingeblendeten kommentare kannst du über das attribut MSwitch_Comments" abschalten -> 0
du musst aber dafür sorgen , dass das entsprechende event des fenster-devices wirklich nur dann kommt, wenn wirklich eine statusänderung stattfindet (event-on-change)

defmod Zeitangabe MSwitch Bad_Fenster   # MSwitch_Self FreeCmd pushmsg
attr Zeitangabe MSwitch_Comments 1
attr Zeitangabe MSwitch_Debug 0
attr Zeitangabe MSwitch_Delete_Delays 1
attr Zeitangabe MSwitch_Expert 1
attr Zeitangabe MSwitch_Extensions 0
attr Zeitangabe MSwitch_Help 0
attr Zeitangabe MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr Zeitangabe MSwitch_Include_Devicecmds 1
attr Zeitangabe MSwitch_Include_MSwitchcmds 0
attr Zeitangabe MSwitch_Include_Webcmds 0
attr Zeitangabe MSwitch_Inforoom MSwitch
attr Zeitangabe MSwitch_Lock_Quickedit 1
attr Zeitangabe MSwitch_Mode Full
attr Zeitangabe room 1_test

setstate Zeitangabe off
setstate Zeitangabe 2018-11-13 20:31:41 .Device_Affected FreeCmd-AbsCmd1,MSwitch_Self-AbsCmd1,pushmsg-AbsCmd1
setstate Zeitangabe 2018-11-13 20:31:51 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]cmd#[NF]cmd#[NF]{#[nl]my#[sp]$zeit_sec#[sp]=#[sp]ReadingsAge('Bad_Fenster'#[ko]#[sp]'state'#[ko]#[sp]0)#[se]#[nl]#[nl]my#[sp]$sec#[sp]=#[sp]$zeit_sec#[sp]%#[sp]60#[se]#[nl]$zeit_sec#[sp]=#[sp]($zeit_sec#[sp]-#[sp]$sec)#[sp]/#[sp]60#[se]#[nl]my#[sp]$minute#[sp]=#[sp]$zeit_sec#[sp]%#[sp]60#[se]#[nl]$zeit_sec#[sp]=#[sp]($zeit_sec#[sp]-#[sp]$minute)#[sp]/#[sp]60#[se]#[nl]my#[sp]$hour#[sp]=#[sp]$zeit_sec#[sp]%#[sp]24#[se]#[nl]$zeit_sec#[sp]=#[sp]($zeit_sec#[sp]-#[sp]$hour)#[sp]/#[sp]24#[se]#[nl]my#[sp]$day#[sp]=#[sp]$zeit_sec#[sp]%#[sp]7#[se]#[nl]my#[sp]$week#[sp]=#[sp]($zeit_sec#[sp]-#[sp]$day)#[sp]/#[sp]7#[se]#[nl]#[nl]fhem("setreading#[sp]$SELF#[sp]sinceMin#[sp]".$minute#[sp])#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]sinceSek#[sp]".$sec#[sp])#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]sinceStd#[sp]".$hour#[sp])#[se]#[nl]}#[NF]{#[nl]fhem("setreading#[sp]$SELF#[sp]sinceMin#[sp]0")#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]sinceSek#[sp]0")#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]sinceStd#[sp]0")#[se]#[nl]}#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]0#[NF]Bitte#[sp]hier#[sp]keine#[sp]Aenderungen#[sp]vornehmen.#[NF]0#[NF]0#[NF]1#[ND]MSwitch_Self-AbsCmd1#[NF]exec_cmd1#[NF]del_delays#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]10#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]2#[NF]0#[NF]Bitte#[sp]hier#[sp]keine#[sp]Aenderungen#[sp]vornehmen#[ko]#[sp]ausgenommen#[sp]der#[sp]Zeitangabe#[sp]fuer#[sp]Wiederholungen#[sp]<00#[dp]00#[dp]10>#[sp]fuer#[sp]10#[sp]Sekunden#[NF]0#[NF]0#[NF]1#[ND]pushmsg-AbsCmd1#[NF]msg#[NF]no_action#[NF]seit#[sp][$SELF#[dp]sinceStd]#[sp]Stunden#[sp]#[ko]#[sp][$SELF#[dp]sinceMin]#[sp]Minuten#[sp]und#[sp][$SELF#[dp]sinceSek]#[sp]Sekunden#[sp]an#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]3#[NF]0#[NF]Dieses#[sp]Device#[sp]beinhaltet#[sp]das#[sp]Ausgabegraet.#[sp]Dieses#[sp]kann#[sp]geaendert#[sp]werden#[sp]durch#[sp]set#[sp]change#[sp]renamed#[sp]pushmsg#[sp]NEWDEVIVE#[sp].#[sp]der#[sp]Ausgabe#[sp]string#[sp]lautet#[sp]<seit#[sp][$SELF#[dp]sinceStd]#[sp]Stunden#[sp]#[ko]#[sp][$SELF#[dp]sinceMin]#[sp]Minuten#[sp]und#[sp][$SELF#[dp]sinceSek]#[sp]Sekunden#[sp]an>#[NF]0#[NF]0#[NF]1
setstate Zeitangabe 2018-11-13 20:28:41 .Device_Events no_trigger#[tr]state:open#[tr]state:closed
setstate Zeitangabe 2018-11-13 18:27:54 .First_init done
setstate Zeitangabe 2018-11-13 20:26:13 .Trigger_cmd_off no_trigger
setstate Zeitangabe 2018-11-13 20:26:13 .Trigger_cmd_on no_trigger
setstate Zeitangabe 2018-11-13 20:24:53 .Trigger_condition
setstate Zeitangabe 2018-11-13 20:26:13 .Trigger_off state:closed
setstate Zeitangabe 2018-11-13 20:26:13 .Trigger_on state:open
setstate Zeitangabe 2018-11-13 20:24:53 .Trigger_time
setstate Zeitangabe 2018-11-13 18:27:54 .V_Check V2.00
setstate Zeitangabe 2018-11-13 20:30:29 .sortby none
setstate Zeitangabe 2018-11-13 20:32:54 EVENT state:closed
setstate Zeitangabe 2018-11-13 20:32:54 EVTFULL Bad_Fenster:state:closed
setstate Zeitangabe 2018-11-13 20:32:54 EVTPART1 Bad_Fenster
setstate Zeitangabe 2018-11-13 20:32:54 EVTPART2 state
setstate Zeitangabe 2018-11-13 20:32:54 EVTPART3 closed
setstate Zeitangabe 2018-11-13 20:32:55 Exec_cmd {fhem("setreading Zeitangabe sinceMin 0");;fhem("setreading Zeitangabe sinceSek 0");;fhem("setreading ....
setstate Zeitangabe 2018-11-13 20:29:52 Trigger_device Bad_Fenster
setstate Zeitangabe 2018-11-13 20:26:13 Trigger_log off
setstate Zeitangabe 2018-11-13 20:32:54 incomming state:closed
setstate Zeitangabe 2018-11-13 20:32:54 last_event state:closed
setstate Zeitangabe 2018-11-13 19:18:12 since1 273
setstate Zeitangabe 2018-11-13 20:32:54 sinceMin 0
setstate Zeitangabe 2018-11-13 20:32:54 sinceSek 0
setstate Zeitangabe 2018-11-13 20:32:54 sinceStd 0
setstate Zeitangabe 2018-11-13 20:32:54 state off


Byte09

vergessen einzustellen:

wenn du das attribut MSwitch_Help auf 1 setzt bekommst du jede menge Hilfetxte.

gruss Byte09