HM-Sec-WDS Funk-Wassermelder

Aus FHEMWiki
Version vom 9. Juni 2016, 14:30 Uhr von Reibuehl (Diskussion | Beiträge) (Link zur Bedienungsanleitung korrigiert)
HM-Sec-WDS Funk-Wassermelder

Wassermelder, der feuchte und nasse Untergründe detektieren kann.

Features

Kontakte des Wassermelders


Der Wassermelder wird an einer HomeMatic Anlage betrieben, z.B. an einem HMLAN Konfigurator.

Gemeldet werden drei verschiedene Stati: "dry", "damp" und "wet".

Den Status "damp" (feucht) nimmt das System an, wenn zwei der äußeren Kontakte (rot) über eine Wasserfläche Kontakt haben. Der Status "Wet" (nass) wird angenommen, wenn einer der äußeren Kontakte über eine Wasserfläche mit dem inneren, ca. 1,5 mm höher liegenden Kontakt (blau) hat. Unbedingt Seite 5 der Anleitung beachten.


Ca. alle 24 Stunden sendet das System eine "battery" Meldung.


Hinweise zum Betrieb mit FHEM

Auszug aus der fhem.cfg

Beispielhafter Auszug aus der Konfiguration, die durch autocreate angelegt wurde:

define CUL_HM_HM_SEC_WDS_xxxxxx CUL_HM xxxxxx
attr CUL_HM_HM_SEC_WDS_xxxxxx .devInfo yyyyyy
attr CUL_HM_HM_SEC_WDS_xxxxxx .stc 80
attr CUL_HM_HM_SEC_WDS_xxxxxx actCycle 028:00
attr CUL_HM_HM_SEC_WDS_xxxxxx actStatus alive
attr CUL_HM_HM_SEC_WDS_xxxxxx alias WassermelderHeizung
attr CUL_HM_HM_SEC_WDS_xxxxxx expert 2_full
attr CUL_HM_HM_SEC_WDS_xxxxxx firmware 1.1
attr CUL_HM_HM_SEC_WDS_xxxxxx model HM-SEC-WDS
attr CUL_HM_HM_SEC_WDS_xxxxxx peerIDs 
attr CUL_HM_HM_SEC_WDS_xxxxxx room 8-Wasseralarm
attr CUL_HM_HM_SEC_WDS_xxxxxx serialNr xyz
attr CUL_HM_HM_SEC_WDS_xxxxxx subType threeStateSensor
#Melde alle Kontaktstatusänderungen
define Wasseralarm_Contact notify CUL_HM_HM_SEC_WDS_xxxxxx:contact.* { sendmail('local@@mail.tld','%-@','%-@') }
attr Wasseralarm_Contact room 8-Wasseralarm
#Melde Batteriewarnung
define Wasseralarm_Battery notify CUL_HM_HM_SEC_WDS_xxxxxx:battery.* { sendmail('local@@mail.tld','%-@','%-@') }
attr Wasseralarm_Battery room 8-Wasseralarm
#Melde nur "wet" Meldung
define Wasseralarm_Contact_Wet notify CUL_HM_HM_SEC_WDS_xxxxxx:contact:.wet.* { sendmail('local@@mail.tld','WET-ONLY-ALARM-%-@','%-@') }
attr Wasseralarm_Contact_Wet room 8-Wasseralarm
define CUL_HM_HM_SEC_WDS_xxxxxx FileLog /usr/local/FHEM/var/log/CUL_HM_HM_SEC_WDS_xxxxxx-%Y-%m.log CUL_HM_HM_SEC_WDS_xxxxxx
attr CUL_HM_HM_SEC_WDS_xxxxxx logtype wateralert:Plot,text
attr CUL_HM_HM_SEC_WDS_xxxxxx room 8-Wasseralarm
define CUL_HM_HM_SEC_WDS_xxxxxx weblink fileplot FileLog_CUL_HM_HM_SEC_WDS_xxxxxx:wateralert:CURRENT
attr CUL_HM_HM_SEC_WDS_xxxxxx room 8-Wasseralarm,97-Graphen

Plots / Grafiken

Beispiel für einen Plot:

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics ("dry" 0, "damp" 1, "wet" 2)
set y2tics ("dry" 0, "damp" 1, "wet" 2)
set yrange [-0.1:2.1]
set y2range [-0.1:2.1]
set ylabel "Status"
set y2label "Status"
#FileLog 3::0:$fld[2]=~"damp"?1:$fld[2]=~"wet"?2:0
plot "< awk '{print $1, $3~/damp/? 1 : $3~/wet/? 2 : 0; }' <IN>"\
    using 1:2 notitle with steps

Log-Auszug

2013-03-07_21:47:28 CUL_HM_HM_SEC_WDS_xxxxxx Activity:: alive
2013-03-08_09:56:20 CUL_HM_HM_SEC_WDS_xxxxxx alive: yes
2013-03-08_09:56:20 CUL_HM_HM_SEC_WDS_xxxxxx battery: ok
2013-03-08_09:56:20 CUL_HM_HM_SEC_WDS_xxxxxx dry
2013-03-08_09:56:20 CUL_HM_HM_SEC_WDS_xxxxxx contact: dry (to HMLAN)
2013-03-08_17:42:29 CUL_HM_HM_SEC_WDS_xxxxxx wet
2013-03-08_17:42:29 CUL_HM_HM_SEC_WDS_xxxxxx contact: wet (to HMLAN)
2013-03-08_17:42:53 CUL_HM_HM_SEC_WDS_xxxxxx dry
2013-03-08_17:42:53 CUL_HM_HM_SEC_WDS_xxxxxx contact: dry (to HMLAN)
2013-03-08_17:43:10 CUL_HM_HM_SEC_WDS_xxxxxx damp
2013-03-08_17:43:10 CUL_HM_HM_SEC_WDS_xxxxxx contact: damp (to HMLAN)
2013-03-08_17:43:16 CUL_HM_HM_SEC_WDS_xxxxxx dry
2013-03-08_17:43:16 CUL_HM_HM_SEC_WDS_xxxxxx contact: dry (to HMLAN)

Automatische E-Mail bei Feuchte/Nässe

Mittels folgendem Eintrag in der fhem.cfg wird bei jedem Statuswechsel des HM-Sec-WDS auf damp bzw. wet von FHEM eine E-Mail an eine bestimmte E-Mail-Adresse gesendet und ein entsprechender Eintrag in der fhem.log erzeugt:

define n_wasser_chk notify CUL_HM_HM_SEC_WDS_xxxxxx:contact.* { \
 if("$EVENT" !~ m/dry/) {\
  {fhemMail('Max.Mustermann@Mustermann.de','FHEM Wasseralarm',"$NAME $EVENT")};;\
  Log 3, "$NAME: Wassermeldung $EVENT";;\
 }\
}

Das Beispiel setzt eine 99_myUtils.pm mit einer funktionierenden, selbst erstellten Unterroutine fhemMail() für den Mailversand voraus.

Die Mail, die erzeugt wird, hat den Inhalt:

An:    Max.Mustermann@Mustermann.de 
Betreff:  FHEM Wasseralarm
Mail-Text: CUL_HM_HM_SEC_WDS_xxxxxx contact: wet (to HMLAN1)

Hinweis: Man kann zwar nur auf :contact.* filtern, aber dann kommt z.B. auch bei Statusänderungen von vorhandenen HM-Sec-SC eine Mail. Bei mehreren HM-Sec-WDS muss der Filter entsprechend angepasst werden, um mit einem notify auszukommen.

Links

Anleitung PDF