Email benachrichtigung wenn Wert festgelegten Wert übersteigt

Begonnen von MichlB, 29 August 2015, 22:11:04

Vorheriges Thema - Nächstes Thema

MichlB

Hallo
ich steh wieder einmal an...

Seit einiger Zeit versuche ich den Richtigen code zu finden, komme aber nicht ganz dahinter.
Mir ist es gelungen, dass mir FHEM mails schickt, jetzt möchte ich, dass ich eine Benachrichtigung bekomme, wenn ein Messwert eine bestimmte Grenze übersteigt.

Der Wert ist ein aus einem MYSENSOR - Watermeter und hier möchte ich, dass wenn der Flow über 150l liegt, mir ne mail geschickt wird.

attr MYSENSOR_100 mapReading_flow1 1 flow
wäre der Wert, den ich überwachen möchte.
mein ansatz wäre
attr MYSENSOR_100 event-on-change-reading {if flow1 > 150  {DebianMail('empfaenger@mail.de','Feuchtecheck','ACHTNG überhöhte Wasserentnahme!');;;;}}

das klappt aber irgendwie gar nicht...
wie genau sollte der synthax von event-on-change-reading aussehen? ist die Prüfung mit "if flow1 > 150" so richtig?
kann mir ev. jemand tips geben?
Danke euch.
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

franky08

#1
Das event-on-change-reading hat da eigendlich nichts zu suchen, wenn du das device auswerten willst, dann mit ReadingsVal oder Value wenn nicht numerisch.
Zu dem Mail Teil kann ich IMO nichts sagen aber wenn der Codeteil so OK ist.

In der Art:

{if (ReadingsVal("device","reading","default") > "wert") {fhem .... dann mache ....}}

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

MichlB

ok soweit kann ich folgen, was bewirkt eigentlich das "default" bei readingsval?
nächste frage wäre dann, muss ich ein notify erstellen oder kann ich das als attr eines devices definieren?
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

franky08

#3
1 Der default Rückgabewert
2 notify ja
3 geht nicht als Attribut
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

MichlB

also gut, ich habe das jetzt versucht, bekomme aber weder eine fehlermeldung noch eine email...
woran kann das liegen?
hier mein code
define Wasserverbrauch notify {if ReadingsVal("MYSENSOR_100","flow1","default") > 2) {DebianMail('empfänger@domain.at','Sicherheitsbericht','ACHTUNG - Wasserverbrauch > 30L');;}}


mail senden generell funktioniert aber da ich als test täglich ne mail schicke....

hier der sensor den ich bewerten möchte
define MYSENSOR_100 MYSENSORS_DEVICE 100
attr MYSENSOR_100 IODev SerialGate
attr MYSENSOR_100 alias Wasser
attr MYSENSOR_100 config M
attr MYSENSOR_100 mapReading_flow1 1 flow
attr MYSENSOR_100 mapReading_value11 1 value1
attr MYSENSOR_100 mapReading_volume1 1 volume
attr MYSENSOR_100 mode node
attr MYSENSOR_100 room 00_Sensornet
attr MYSENSOR_100 setReading_value11 1
attr MYSENSOR_100 stateFormat volumen m3 <br/> flow1 l
attr MYSENSOR_100 userReadings volumen {ReadingsVal("MYSENSOR_100","volume1",0)+801.1781}
attr MYSENSOR_100 version 1.4.1
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

franky08

Was gibt denn

{ReadingsVal("MYSENSOR_100","flow1",0)}

eingegeben in der Kommandozeile von fhem zurück?
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Knallfrosch

Hallo,

ich bin zwar auch kein Crack aber was mir auf Anhieb auffällt ist das einzelne @ versuch es mal mit
define Wasserverbrauch notify {if ReadingsVal("MYSENSOR_100","flow1","default") > 2) {DebianMail('empfänger@@domain.at','Sicherheitsbericht','ACHTUNG - Wasserverbrauch > 30L');;}}

Ich glaube dann sollte es funktionieren.

Grüße

franky08

Wird es nicht! Er sagt ja, dass der Mail Teil funktioniert aber "default" ist nicht numerisch und sollte etwas numerisches als default Rückgabewert enthalten und nicht einfach den String default.
Mal in die commandref sehen, dass sind fhem Grundlagen.
Klammern fehlen übrigends auch  ;)
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Knallfrosch

#8
Zitat von: Michl1003! am 30 August 2015, 20:54:22
also gut, ich habe das jetzt versucht, bekomme aber weder eine fehlermeldung noch eine email...


also scheinbar klappt es nicht mit der Mail.

Ich habe leider keinen Mailalarm mehr in dieser Variante, sonst hätte ich dir meinen Code gerne kopiert.
Den Code hatte ich hier im Forum als Codeschnipsel gefunden.

Aber Franky08 kann dir sicher besser helfen als ich!



NACHTRAG: mit der Suche findet man ein Bsp. das helfen könnte.
define Temperatur_alarm notify ([Temperatur:temperature] < 10) ({ DebianMail('info@@all4everyone.de','FHEM-Temperatur','ACHTUNG - Temperatur zu niedrig!');;;; })

MichlB

#9
ich verschicke täglich ne mail mit
define testmail at *21:35:00 {DebianMail('sadfasdf@asdfas.at','Feuchtecheck','Bewässerung auf off');;;;}

das funktioniert...
aber das mit der Mail wenn bedingung erfüllt ist, das funkt leider nicht....
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

franky08

Wie oben schon geschrieben, Test auf Kommandozeile machen und im Event Monitor ggf. mal nachsehen was der Sensor überhaupt für Readings liefert!
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Knallfrosch

#11
define Temperatur_alarm DOIF ([MYSENSOR_100:flow1] >2) ({ DebianMail('blahhh@@blahhhh.at','Sicherheitsbericht','ACHTUNG - Wasserverbrauch zu hoch');;;; })


Versuch mal.....wenn das nicht geht muss ich leider aufgeben.

Franky08 hat dir ja auch einen Vorschlag gemacht um an die Lösung zu kommen.

Grüße

franky08

@Knallfrosch
Das kann nicht funktionieren, siehe commandref zu notify! Das sieht ehr nach DOIF aus  ;)
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Knallfrosch

Zitat von: franky08 am 30 August 2015, 21:40:56
@Knallfrosch
Das kann nicht funktionieren, siehe commandref zu notify! Das sieht ehr nach DOIF aus  ;)

Asche auf mein Haupt.....ich habe es gerade schon korrigiert!

Anfänger hilft Anfänger.....das kommt dann dabei raus...  ;D

MichlB

ich bin ja auch nicht so der programmierer, aber ich glaube, steckt ja schon im namen, dass irgendwas wie doif oderirgendwas nach update richtiger wäre, vom gefühl her...
ach ja, der funktiioniert auch nicht.
define Wasserverbrauch DOIF ([MYSENSORS_100:flow1] > 10) ({ DebianMail('sdsdfasdf@@dasdf.at','Sicherheitsbericht','ACHTUNG - Wasserverbrauch hoch!!');;;; })


übrigens, auch wenn du ein anfänger bist, ich bin froh, dass mir irgendwer dabei hilft..
jede hilfe ist willkommen!
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox