HM-Sec-WDS Funk-Wassermelder
Wassermelder, der feuchte und nasse Untergründe detektieren kann.
Features
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