FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Ranseyer am 23 März 2018, 08:49:28

Titel: Notify nur einmal bei mehrfachen Events
Beitrag von: Ranseyer am 23 März 2018, 08:49:28
Hi,

ich bekomme alle 5 Minuten einen Event der so beginnt. (Ist noch länger)
2018-03-23 08:40:07.062 MQTT_DEVICE heating.errors MqttRawMsg: ERR0000-date|2018-03-17 23:34:24 ERR0000-code|169/072 ERR0000-art|quittiert ERR0000-text|Aschebox voll, bitte entleeren ERR0001-date|2018-03-17 23:34:23 ERR0001-code|169/073 ERR0001-art| ERR0001-text|Aschebox voll, bitte entleeren ERR0002-date|2018-03-17 17:53:49 ERR0002-code|169/201 ERR0002-art|gekommen ERR0002-text|Aschebox voll, bitte entleeren ERR0003-date|2018-03-14 22:48:57 ERR0003-code|016/034 ERR0003-art|quittiert ERR0003-text|Raumaustragung kontrollieren ERR0004-date|2018-03-14 16:36:07 ERR0004-code|016/162 ERR0004-art|gegangen ERR0004-text|Raumaustragung kontrollieren ERR0005-date|2018-03-14 16:36:04 ERR0005-code|016/163 ERR0005-art|gekommen ERR0005-text|Raumaustragung kontrollieren

Es gibt folgenden Notify:
defmod notify.heating.errors notify heating.errors.* set telegram message Heizungs-Fehler

Damit bekomme ich alle 5-Minuten per Telegramm die Info: "Heizungs-Fehler"...

Diese Meldung hätte ich aber genau einmal etwartet am 17.03. um 23:35 (also zu vollen 5 Minuten; OK da gab es das Notify noch nicht, aber mal in der Theorie...)
ZitatMQTT_DEVICE heating.errors MqttRawMsg: ERR0000-date|2018-03-17 23:34:24

Gibt es dafür eine einfache Lösung um die Meldung genau einmal zu bekommen wenn es aufgetreten ist ?
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: Beta-User am 23 März 2018, 09:39:13
Könnte mit einem watchdog gelöst werden, der eben dann eine zweite Warnung benötigt, bis er auslöst und nach dem Beheben des Problems erst wieder manuell gestartet wird.

Wenn es "etwas mehr" sein darf als Anregung für die grobe Richtung: Benni's Fenster-Warner-Code hier (https://forum.fhem.de/index.php/topic,36504.msg287778.html#msg287778).

Da kann man dann Wiederholzeiten usw, einstellen.

Gruß, Beta-User
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: frank am 23 März 2018, 10:02:15
wenn das event immer exakt das selbe ist, reicht ja auch ein einfaches "attr event-on-change-reading .*" im modul, das das event erzeugt.
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: rudolfkoenig am 23 März 2018, 10:22:33
Oder man setzt im notify selbst das disable Attribut, nachdem man die Daten versendet hat.
Diesen muss man irgendwann manuell zuruecksetzen.
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: Frank_Huber am 23 März 2018, 10:44:12
oder man nutzt DOIF mit dem Attribut cmdpause oder repeatsame
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: Ranseyer am 23 März 2018, 12:46:34
Danke das wäre doch das einfachste...

Test läuft!

Zitat von: frank am 23 März 2018, 10:02:15
wenn das event immer exakt das selbe ist, reicht ja auch ein einfaches "attr event-on-change-reading .*" im modul, das das event erzeugt.
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: Ranseyer am 23 März 2018, 16:53:37
Danke nochmals. Bis jetzt läuft das so:
Zitat"attr event-on-change-reading .*" im modul, das das event erzeugt.

Also keine Events mehr, und somit keine Messages im Telegram. Der Gegentest wird sicher auch noch erfolgreich sein.

ZitatKönnte mit einem watchdog gelöst werden, der eben dann eine zweite Warnung benötigt, bis er auslöst und nach dem Beheben des Problems erst wieder manuell gestartet wird.
Das hätte nicht geholfen. Wenn das Problem behoben ist bekomme ich trotzdem per MQTT immer noch die selbe Meldung... (Nämlich, dass z.B. vor einer Woche ein Problem war)

ZitatWenn es "etwas mehr" sein darf als Anregung für die grobe Richtung: Benni's Fenster-Warner-Code hier.
Ich versuche mir mal dieses zu merken...

Danke nochmals an alle die sich Beteiligt haben !

Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: witty am 30 September 2019, 23:34:10
Nur interessehalber:
Spricht etwas gegen folgende Umsetzung? Oder sollte man das so nicht umsetzen?

IT_1527x0ba54:.* {
fhem("attr TuerNotify disable 1");;
fhem("set myTelegramBot message TuerNotify");;
sleep(30);;
fhem("attr TuerNotify disable 0")
}
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: Otto123 am 30 September 2019, 23:50:15
Hi,

sollte man so nicht umsetzen! Damit steht dein FHEM für 30 Sekunden still - blockiert.
So würde der Code nicht blockieren
IT_1527x0ba54:.* attr TuerNotify disable 1;
set myTelegramBot message TuerNotify;
sleep(30);
attr TuerNotify disable 0


Aber es wird immer die config geändert.  Besser set TuerNotify active | set TuerNotify inactive verwenden.
Zitatinactive
Deaktiviert das entsprechende Gerät. Beachte den leichten semantischen Unterschied zum disable Attribut: "set inactive" wird bei einem shutdown automatisch in fhem.state gespeichert, es ist kein save notwendig.
Der Einsatzzweck sind Skripte, um das notify temporär zu deaktivieren.
Das gleichzeitige Verwenden des disable Attributes wird nicht empfohlen.
active
Aktiviert das entsprechende Gerät, siehe inactive.
Gruß Otto
Titel: Antw:Notify nur einmal bei mehrfachen Events
Beitrag von: CoolTux am 01 Oktober 2019, 07:34:52
Oder das Attribut disableAfterTrigger in Sekunden.