FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: heikoh81 am 26 Juli 2014, 15:33:02

Titel: Perl-Frage: Wasserstandsmelder - State "Trocken" unterdrücken
Beitrag von: heikoh81 am 26 Juli 2014, 15:33:02
Hallo zusammen,

meine Problemstellung betrifft eher PERL, weswegen ich das Thema nicht im Homematic-Bereich poste.

Ich habe einen Homematic-Wasserstandsmelder. Dieser kennt 3 Stati:

Mittels Attribut "eventMap" habe ich die englischen Stati auf deutsche umgeschrieben:
open:WasserMehrAls2Millimeter tilted:feuchtWeniger2Millimeter closed:Trocken

Im Homematic-Wiki habe ich einen Code-Schnipsel zur Email-Benachrichtigung bei Wasser-Alarm in ein Notify eingebaut:

Wassermelder1:contact.* {
if("%" !~ m/dry/) {
  {DebianMail('emfpänger@@domain','Wasseralarm ausgelöst ('.FmtDateTime(time()).') %','@ %')};
  Log 3, "@: Wassermeldung %";
}
}


Der Wassermelder sendet nun täglich etwa zur gleichen Zeit eine Mail mit dem Status "Trocken".
Wie müsste ich den Code umbauen, damit die Trocken-Meldung unterdrückt wird?
Die if-Zeile so?


if("%" !~ m/dry/closed) {


Steht das "/" in "m/dry/closed" für "oder"?

Vielen Dank für eure Antworten,
viele Grüße,

Heiko
Titel: Antw:Perl-Frage: Wasserstandsmelder - State "Trocken" unterdrücken
Beitrag von: betateilchen am 26 Juli 2014, 15:41:58
benutze einfach das Attribut event-on-change. Fertig.
Titel: Antw:Perl-Frage: Wasserstandsmelder - State "Trocken" unterdrücken
Beitrag von: heikoh81 am 27 Juli 2014, 19:31:11
"m/dry/closed"
hat leider nichts gebracht, heute morgen kam wieder die Email für Status "trocken".
(closed = trocken)

Kannst du mir ein Beispiel geben wie das event-on-change auszusehen hat?
Vielen Dank.