Hallo Zusammen,
ich hänge grade ein wenig mit und bei
watchdog. Da ich aber nicht sicher bin, in welchem Bereich mein Fehler liegt, schreibe ich es mal zu den Anfängerfragen...
Ich möchte eine Nachricht per Telegram, wenn eins meiner Fenster länger als 15 Minuten geöffnet ist.
Angefangen habe ich mit einem notify, der die entsprechende Meldung sofort versendet. Hier klappt alles. Ein
Fenster_BadeWC:open|Fenster_Esszimmer_Osten_links:open|Fenster_Esszimmer_Sueden_links:open|Fenster_GaesteWC:open|Fenster_Kinderzimmer_Osten_links:open|Fenster_Kueche_links:open|Fenster_Schlafzimmer_links:open|Fenster_Wohnzimmer:open set teleBot message @231817xxx Das $NAME ist offen. Bitte schließe es doch wieder. Danke
Ergibt (sobald ich das Wohnzimmerfenster öffne)die Nachricht auf dem Handy
ZitatDas Fenster_Wohnzimmer ist offen. Bitte schließe es doch wieder. Danke
Soweit so gut. Mit diesem ersten Schritt bin ich zufrieden.
Nun ist es aber so, dass ich beim Öffnen des Fensters dabei bin und es deshalb auch mitbekomme. Allerdings vergesse ich dann morgens nach dem Lüften im Schlafzimmer dann schon mal, das Fenster wieder zu schließen und möchte demnach nach einer halben Stunde erinnert werden.
Nun habe ich das notify in einen watchdog überführt:
(Fenster_BadeWC:open|Fenster_Esszimmer_Osten_links:open|Fenster_Esszimmer_Sueden_links:open|Fenster_GaesteWC:open|Fenster_Kinderzimmer_Osten_links:open|Fenster_Kueche_links:open|Fenster_Schlafzimmer_links:open|Fenster_Wohnzimmer:open) 00:30:00 (Fenster_BadeWC:closed|Fenster_Esszimmer_Osten_links:closed|Fenster_Esszimmer_Sueden_links:closed|Fenster_GaesteWC:closed|Fenster_Kinderzimmer_Osten_links:open|Fenster_Kueche_links:closed|Fenster_Schlafzimmer_links:closed|Fenster_Wohnzimmer:closed) set teleBot message @231817xxx Das $NAME ist seit 30 Minuten offen
Dies führt zu folgender Meldung mit einer Verzögerung von 30 Minuten:
ZitatDas $NAME ist seit 30 Minuten offen
1. Frage: Wie schaffe ich es, dass der Watchdog mit ebenfalls mitteilt, welches Fenster noch offen ist?
2. Frage: Was muss ich tun, dass ich bei Betätigung des Schalters HM_3EBC55_Btn_04 (Schalter 4 eines HM-PB-6-WM55 mit Namen HM_3EBC55) sofort eine Meldung abgesetzt wird, dass entweder alle Fenster geschlossen sind oder welches Fenster eben nicht..?
3. Frage: Wie überzeuge ich FHEM an 2 Telegram-Nutzer die entsprechenden Meldungen abzusetzen?
Vielen Dank für Eure Unterstützung.
Martin
Ich nutze FHEM auf einem Raspi 2 mit CUL868 und HMLAN. Die Fensterkontakte sind HM-SEC-SCo.
PS: Ich habe jeweils nur die DEF kopiert.
Nachfrage: Was meinst Du mit 2 Telegram-Nutzern?
Entweder Du schickst jedem die Nachricht oder Du legst eine Gruppe bei Telegram an und sendest die nachricht an die Gruppe. Variante 2 nutze ich. Die Beschreibung müßte hier (? Wiki) zu finden sein.
Zitat von: rabehd am 22 März 2017, 21:51:18
Nachfrage: Was meinst Du mit 2 Telegram-Nutzern?
Hi rabehd,
Naja, ich wollte meiner Frau und mir jeweils personalisierte Nachrichten zukommen lassen... ;)
Mit der Gruppe wäre natürlich auch eine Lösung, dachte aber, es ginge auch anders...
Vielen Dank für Deine Hilfe.
Martin
Es geht beides.
Schau Dir mal die Attribute des Device TelegramBot an. Da gibt es "cmdRestrictedPeer" (da habe ich die Liste der einzelnen Teilnehmer) und "defaultPeer" (da steht die Kennung der Gruppe drin).
Wir erhalten also direkt Nachrichten und über die Gruppe. Du kannst auch den Nachrichtenbefehl für jeden Teilnehmer einzeln aufrufen.
Hast https://wiki.fhem.de/wiki/TelegramBot (https://wiki.fhem.de/wiki/TelegramBot) gelesen und was es sonst noch so bei google gibt?
Hast du für das Problem mit $NAME inzwischen eine Lösung?
Habe nämlich das selbe Problem
Mit dem monitoring Modul kann man sammeln welche Fenster schon länger als 30 Minuten offen sind.
Mit einem Notify kann man dann auf das Event "error add: <Fenster>" reagieren und sich eine Nachricht schicken lassen.
In der commandref ist ein Beispiel dazu.
Weiterhin kann man das Versenden der Nachrichten auch über das msgDialog Modul machen welches sich momentan noch in der Beta Phase befindet.
Ich denke der Ansatz von igami ist hier der bessere, denn das bisherige watchdog funktioniert so auch wohl nicht.
grund: Das schliessen eines beliebigen Fensters verhindert die Alarmmeldung auch wenn ein anderes Fenster noch offen ist. Im Commandref von watchdog steht dazu auch ein Hinweis:
ZitatEin generischer Watchdog (ein Watchdog, verantwortlich für mehrere Devices) ist derzeit nicht möglich.
Es müsste also ein watchdog pro Fenster angelegt werden.
Weiterer Hinweis zum Problem $NAME - wenn ich das richtig erinnere wird $NAME in notify unterstützt aber nicht in watchdog
OK, dann schaue ich mir das monitoring Modul mal an.
FHEM entwickelt sich so dynamisch, da komme ich manchmal nicht hinterher. ;)
Die Variable $NAME wird zum Triggerzeitpunkt gefüllt kann also nicht zum set Befehlszeitpunkt verwendet werden da dieser ja verzögert ist.