FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: fh555 am 23 Februar 2021, 00:07:26

Titel: gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: fh555 am 23 Februar 2021, 00:07:26
Hi,
ich verzweifel bald, sitze jetzt schon Stunden vor den Problem und langsam sehe ich den Wald vor lauter Bäumen nicht mehr.

Theoretisch ganz einfach. Ich möchte eine E-Mail Benachrichtigung auslösen, wenn der Shelly Flood "Wasser" detektiert.
Ich habe es mit notify und DOIF versucht aber mit beiden bekomme ich es nicht hin.

Hier mein Versuch mit "notify"
MQTT2_shellyflood_C8A89B {if(ReadingsVal("MQTT2_shellyflood_C8A89B","flood","") eq "true") ({DebianMail('FHEM-Wasserschaden-Alarm','ACHTUNG - Keller steht unter Wasser!')})

Fehler: Alarm_Flood DOIF: Perlblck: no right bracket:

oder mit DOIF
([MQTT2_shellyflood_C8A89B:flood] == "true") ({DebianMail('FHEM-Wasserschaden-Alarm','ACHTUNG - Keller steht unter Wasser!');;})

Fehler: condition c01: Bareword "true" not allowed while "strict subs" in use, line 1.

Sowie zahlreiche weitere Versuche. Ich habe die Commandoref und Wiki und durchforstet aber leider erfolglos :-(

Die Anbindung habe ich mit MQTT2 gemacht, wie ihr sehen könnt.

Habe es jetzt endlich hinbekommen :-)
Titel: Antw:gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: elektrikpe2 am 24 Februar 2021, 09:48:16
Hallo, ich stehe vor dem gleichen Problem. Kannst Du uns Deine Lösung zeigen? Danke. LG Peter
Titel: Antw:gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: fh555 am 24 Februar 2021, 20:44:42
Hi elektrikpe2,
ich habe ein neues Device Notify "Alarm_Flood_notify" angelegt und in der DEF folgendes deklariert:

MQTT2_shellyflood_C8A89B:flood:.* {if( ReadingsVal( "MQTT2_shellyflood_C8A89B","flood","" ) == "true") {DebianMail('FHEM-Wasserschaden-Alarm','ACHTUNG - Keller steht unter Wasser!');;}}

Die Benachrichtigung funktioniert, aber leider hatte ich die Nacht ein Problem.

Ich bekam eine E-Mail, dass mein Keller unter Wasser steht, was aber nicht sein kann, da der Shelly Flood bei mir noch auf den Schreibtisch steht.
Es war halt zu spät gewesen als ich die Lösung hatte und wollte nicht mehr in den Keller gehen.

Ich muß jetzt ersteinmal die Logs des Shelly überprüfen, ob es eine Fehlfunktion von Shelly ist oder ein Problem in meiner Auswertung.

Wenn ich eine Sirene als Alarmgeber angeschlossen hätte, wären wir alle Nachts kurz nach 3:00 Uhr in den Betten gestanden.

P.S.: Habe gerade mal das LOG angeschaut, Der Shelly hat seinen Stus gesendet, da die Temperatur um 1° gefallen war, kann er ja auch, ist ja so eingestellt, aber er übermittelt den Status Flood: false

2021-02-24_03:29:14 MQTT2_shellyflood_C8A89B flood: false

Also stimmt noch was nicht mit der Auswertung meines notify's

------
So, nun endlich doch gelöst :-)
------

MQTT2_shellyflood_C8A89B:flood:.* {if(ReadingsVal("MQTT2_shellyflood_C8A89B","flood","") eq "true") {DebianMail('FHEM-Wasserschaden-Alarm','ACHTUNG - Keller steht unter Wasser!');;}}

Bei einer Statusmeldung zwecks Temperaturänderung geht keine E-Mail raus und bei Wasserkontakt wird eine versendet :-)
Titel: Antw:gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: Beta-User am 25 Februar 2021, 07:56:06
1. Wenn du Text vergleichen willst, ist "==" ungeeignet (=> "eq" &Co)
2. Wenn du nur reagieren willst, wenn "true" paßt, solltest du den TRIGGER (=> vorne, vermutlich: MQTT2_shellyflood_C8A89B:flood:.true) anpassen, dann kannst du dir das if hinten sparen...

(Grundsätzlich: In Events denken, nicht in Zuständen).
Titel: Antw:gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: fh555 am 26 Februar 2021, 00:02:22
Hi Beta-User,
danke für deinen Beitrag  :)

Ich habe den Code jetzt, wie von Dir vorgeschlagen, geändert und einen Testlauf (Wasser und Temperaturänderung) gemacht.
MQTT2_shellyflood_C8A89B:flood:.true {DebianMail('FHEM-Wasserschaden-Alarm','ACHTUNG - Keller steht unter Wasser!');;}

Das Ergebnis ist das selbe, wie mit meinen Code. Nur dass deiner minimalistischer ist, was die Sache natürlich ungemein vereinfacht.

Vielen Dank dafür.
Titel: Antw:gelöst - Shelly Flood, E-Mail Benachrichtigung
Beitrag von: Wernieman am 26 Februar 2021, 10:13:21
Und vor allem filter FHEM schon vor ....