Hauptmenü

[Gelöst]Notify mit Zeit

Begonnen von Sebastian84, 04 Juni 2023, 05:41:47

Vorheriges Thema - Nächstes Thema

Sebastian84

Guten Morgen
Ich möchte gerne das ich eine Naricht  bekomme wenn das Ereignis nochmal geprüft wurde nach einer Stunde ob es immer noch ist.

ZitatEingangstuer:present:.no set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'

Das ist im Moment mein Notify
Das Problem ist das ich jetzt immer ne Nachricht bekomme auch wenn der Sensor nur kurz weg ist. Deshalb wollte ich da nach einer Stunde nochmal prüfen und dann erst benachrichtigt werden


Nobbynews

#1
Würde ich über watchdog lösen.
https://fhem.de/commandref_DE.html#watchdog

define wd_F_Bad_close watchdog Fenster_Bad:off 00:01:00 Fenster_Bad:on {\
 fhem ('set cm fakeSC HK_Bad 0');;\
 fhem ('setreading HK_Bad Fenster 0');;\
}
attr wd_F_Bad_close autoRestart 1
Wenn das Fenster nach 1 Minute immer noch geschlossen (off) ist, also nicht wieder auf 'on' gewechselt hat, dann tue etwas.

Jamo

#2
mit notify - dabei wird ein sleep gestartet, das nach 1 Stunde nochmal den status von Eingangstür present prüft, ob die Eingangstür immer noch auf ist, und erst dann die message schickt.
Benutze ich immer dann wenn ich nicht zusätzlich ein weiteres device definieren mag.

define n_F_Bad_close notify Eingangstuer:present:.no fhem("sleep 3600 sleep3600_Eingangstuer;{if (ReadingsVal('Eingangstuer','present','nA') eq 'on') {fhem(\"set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'\")}}")
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Sebastian84

#3
Danke
Ich hab noch eine Frage.
Das ist ja eine Prüfung ob der Sensor der Tür nicht mehr da ist, dann soll die Naricht kommen. Wenn aber in der Stunde der Sensor wieder present ist soll keine Nachricht kommen

Dann müßte ich in der if Funktion no reinschauen stadt on?

MadMax-FHEM

Zitat von: Sebastian84 am 04 Juni 2023, 09:42:52Danke
Ich hab noch eine Frage.
Das ist ja eine Prüfung ob der Sensor der Tür nicht mehr da ist, dann soll die Naricht kommen. Wenn aber in der Stunde der Sensor wieder present ist soll keine Nachricht kommen

Dann müßte ich in der if Funktion no reinschauen stadt on?

Vermutlich...
Du musst halt den Status/Wert prüfen, der zu einer Nachricht führen soll (logisch)... ;)

Irgendwie hast du "sowas" doch schon (mehrfach) gefragt?
Immer noch keine (brauchbare) Lösung dafür gefunden?

EDIT: ;)
https://forum.fhem.de/index.php?topic=131751.msg1259245#msg1259245
https://forum.fhem.de/index.php?topic=131601.msg1257708#msg1257708
Dort wurden ähnliche/dieselben Vorschläge ebenfalls genannt... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Zitatdefine Eingangstuer_Baterie_Zustand notify Eingangstuer:present:.no fhem("sleep 3600 sleep3600_Eingangstuer;{if (ReadingsVal('Eingangstuer','present','nA') eq 'no') {fhem(\"set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'\")}}").


Dann kommt diese Fehlermeldung:

Unknown command {if, try help.

MadMax-FHEM

Wo hast du es wie eingegeben?

Direkt in fhemWeb-cmd?

-> Strichpunkte doppeln?

Besser ein "leeres" notify etc. anlegen und dann dort anpassen (DEF)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84


Jamo

ZitatDirekt im fhem web.

Dann muessen es zwei Semicolon sein, also define n_F_Bad_close notify Eingangstuer:present:.no fhem("sleep 3600 sleep3600_Eingangstuer;;{if (ReadingsVal('Eingangstuer','present','nA') eq 'on') {fhem(\"set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'\")}}")
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Sebastian84

Jetzt kommt die Fehlermeldung
Zitat
ZitatMissing right curly or square bracket at (eval 1226566) line 1, at end of line
syntax error at (eval 1226566) line 1, at EOF

MadMax-FHEM

Verdopple halt einfach die Strichpunkte beim 1ten Vorschlag...

Oder lese bzgl. Klammern (mitdenken ist nicht verboten ;) )

Also geschweifte Klammer auf -> Perl

Da dann den fhem-Aufruf usw.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Das habe ich probiert vor {fhem aber kommt eine Fehlermeldung

Zitatdefine n_F_Bad_close notify Eingangstuer:present:.no {fhem("sleep 3600 sleep3600_Eingangstuer;;{if (ReadingsVal('Eingangstuer','present','nA') eq 'on') {fhem(\"set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'\")}}") 

JensS

#12
Sollte das nicht mit einem simplen DOIF zu lösen sein?
define EingangstuerPresent_DOIF DOIF ([Eingangstuer:present] eq "no")(set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike')DOELSE()
attr EingangstuerPresent_DOIF wait 3600:0

Gruß Jens

p.s. Dann lässt du den zweiten Ausführungsteil halt leer.
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Sebastian84

#13
Ich möchte ja nur benarichtet werden wenn der Sensor nach einer Stunde immer noch nicht ereichbar ist. Der andere Zustand ist egal. Da es mir nur darum geht das ich nicht direkt informiert werde will wenn der Sensor kurz kein Empfang hat und dann wieder da ist. Es geht mir nur ums Richtige Baterie Wechsel.

MadMax-FHEM

#14
Zitat von: Sebastian84 am 04 Juni 2023, 12:15:27Ich möchte ja nur benarichtet werden wenn der Sensor nach einer Stunde immer noch nicht ereichbar ist. Der andere Zustand ist egal. Da es mir nur darum geht das ich nicht direkt informiert werde will wenn der Sensor kurz kein Empfang hat und dann wieder da

Wenn "immer noch nicht ereichbar ist", dann Watchdog.
Die aktuellen Vorschläge mit sleep/at usw. prüfen ja nur, ob nach x-Zeit (zufällig) auch (nicht zwingend noch) nicht erreichbar...

EDIT: kenne DOIF zu wenig aber dort wird zurückgesetzt, wenn der Zustand mal wieder "korrekt" war? Könnte also auch tun was du willst...

Zitat von: Sebastian84 am 04 Juni 2023, 12:15:27Es geht mir nur ums Richtige Baterie Wechsel.
Geht es jetzt um Batterie wie hier https://forum.fhem.de/index.php?topic=133410.msg1274460#msg1274460 gefragt?
Oder worum?

define n_F_Bad_close notify Eingangstuer:present:.no {fhem("sleep 3600 sleep3600_Eingangstuer;;{if (ReadingsVal('Eingangstuer','present','nA') eq 'on') {fhem(\"set pushmsg msg ' Eingangstürkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'\")}}")}

Wird zumindest ohne Fehler bei Eingabe in fhem-Web-cmd geschluckt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)