watchdog, TelegramBot, Homematic, $NAME...

Begonnen von Martin-72, 22 März 2017, 21:20:56

Vorheriges Thema - Nächstes Thema

Martin-72

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.
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

rabehd

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.
Auch funktionierende Lösungen kann man hinterfragen.

Martin-72

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
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

rabehd

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 gelesen und was es sonst noch so bei google gibt?
Auch funktionierende Lösungen kann man hinterfragen.

Bitschubser

Hast du für das Problem mit $NAME inzwischen eine Lösung?
Habe nämlich das selbe Problem
FHEM in VM auf Proxmox, Homematic über 2x HM-Lan, Homematic-IP über Raspimatic in VM auf Proxmox, Solax-X3 G4-Wechselrichter, Pushover, TTS, Shelly + Sonoff über MQTT

igami

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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

viegener

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

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Bitschubser

OK, dann schaue ich mir das monitoring Modul mal an.

FHEM entwickelt sich so dynamisch, da komme ich manchmal nicht hinterher.  ;)
FHEM in VM auf Proxmox, Homematic über 2x HM-Lan, Homematic-IP über Raspimatic in VM auf Proxmox, Solax-X3 G4-Wechselrichter, Pushover, TTS, Shelly + Sonoff über MQTT

CoolTux

Die Variable $NAME wird zum Triggerzeitpunkt gefüllt kann also nicht zum set Befehlszeitpunkt verwendet werden da dieser ja verzögert ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net