Perl-Frage: Wasserstandsmelder - State "Trocken" unterdrücken

Begonnen von heikoh81, 26 Juli 2014, 15:33:02

Vorheriges Thema - Nächstes Thema

heikoh81

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:

  • Nass - Wasserstand größer 2mm
  • Feucht
  • Trocken

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

betateilchen

benutze einfach das Attribut event-on-change. Fertig.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

heikoh81

"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.