HM-Sec-WDS Funk-Wassermelder: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Automatische E-Mail bei Feuchte/Nässe: @ und % -> $NAME und $EVENT)
K (Anpassung an FHEM 5.7; Gliederungsebenen angepasst)
Zeile 3: Zeile 3:
Wassermelder, der feuchte und nasse Untergründe detektieren kann.
Wassermelder, der feuchte und nasse Untergründe detektieren kann.


= Features =
== Features ==
[[Datei:HM-Sec-WDS-Funk-Wassermelder2.png|thumb|right|Kontakte des Wassermelders]]
[[Datei:HM-Sec-WDS-Funk-Wassermelder2.png|thumb|right|Kontakte des Wassermelders]]


Zeile 22: Zeile 22:




= Hinweise zum Betrieb mit FHEM =
== Hinweise zum Betrieb mit FHEM ==
== Auszug aus der fhem.cfg ==
=== Auszug aus der fhem.cfg ===
Angelegt durch autocreate
Beispielhafter Auszug aus der [[Konfiguration]], die durch [[autocreate]] angelegt wurde:
 
  <nowiki>define CUL_HM_HM_SEC_WDS_xxxxxx CUL_HM xxxxxx
  <nowiki>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 .devInfo yyyyyy
Zeile 53: Zeile 52:
define CUL_HM_HM_SEC_WDS_xxxxxx weblink fileplot FileLog_CUL_HM_HM_SEC_WDS_xxxxxx:wateralert:CURRENT
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</nowiki>
attr CUL_HM_HM_SEC_WDS_xxxxxx room 8-Wasseralarm,97-Graphen</nowiki>
== Plots / Grafiken ==
 
=== Plots / Grafiken ===
Beispiel für einen [[Plots_erzeugen|Plot]]:
  <nowiki>set terminal png transparent size &lt;SIZE&gt; crop
  <nowiki>set terminal png transparent size &lt;SIZE&gt; crop
set output '&lt;OUT&gt;.png'
set output '&lt;OUT&gt;.png'
Zeile 69: Zeile 70:
plot &quot;&lt; awk '{print $1, $3~/damp/? 1&#160;: $3~/wet/? 2&#160;: 0; }' &lt;IN&gt;&quot;\
plot &quot;&lt; awk '{print $1, $3~/damp/? 1&#160;: $3~/wet/? 2&#160;: 0; }' &lt;IN&gt;&quot;\
     using 1:2 notitle with steps</nowiki>
     using 1:2 notitle with steps</nowiki>
== Log-Auszug ==
 
=== Log-Auszug ===
  <nowiki>2013-03-07_21:47:28 CUL_HM_HM_SEC_WDS_xxxxxx Activity:: alive
  <nowiki>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 alive: yes
Zeile 83: Zeile 85:
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 dry
2013-03-08_17:43:16 CUL_HM_HM_SEC_WDS_xxxxxx contact: dry (to HMLAN)</nowiki>
2013-03-08_17:43:16 CUL_HM_HM_SEC_WDS_xxxxxx contact: dry (to HMLAN)</nowiki>
== 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:
=== 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:


  <nowiki>define n_wasser_chk notify CUL_HM_HM_SEC_WDS_xxxxxx:contact.* { \
  <nowiki>define n_wasser_chk notify CUL_HM_HM_SEC_WDS_xxxxxx:contact.* { \
  if("$EVENT" !~ m/dry/) {\
  if("$EVENT" !~ m/dry/) {\
   {fhemMail('Max.Mustermann@@Mustermann.de','FHEM Wasseralarm','$NAME&#160;$EVENT')};;\
   {fhemMail('Max.Mustermann@Mustermann.de','FHEM Wasseralarm',"$NAME $EVENT")};;\
   Log 3, "$NAME: Wassermeldung&#160;$EVENT";;\
   Log 3, "$NAME: Wassermeldung $EVENT";;\
  }\
  }\
}</nowiki>
}</nowiki>
Das setzt aber eine funktionierende [[99 myUtils anlegen]] voraus.  
Das Beispiel setzt eine [[99 myUtils anlegen|99_myUtils.pm]] mit einer funktionierenden, selbst erstellten Unterroutine fhemMail() für den [[E-Mail_senden|Mailversand]] voraus.  


Die Mail, die erzeugt wird, hat den Inhalt:
Die Mail, die erzeugt wird, hat den Inhalt:
Zeile 99: Zeile 102:
Betreff:  FHEM Wasseralarm
Betreff:  FHEM Wasseralarm
Mail-Text: CUL_HM_HM_SEC_WDS_xxxxxx contact: wet (to HMLAN1)</nowiki>
Mail-Text: CUL_HM_HM_SEC_WDS_xxxxxx contact: wet (to HMLAN1)</nowiki>
'''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 dann der Filter entsprechend angepasst werden, um mit einem ''notify''auszukommen.
'''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 =
== Links ==
Anleitung [http://www.elv-downloads.de/service/manuals/Homematic/83459_HM_Sec_WDS_D_v1_0_UM.pdf PDF]
Anleitung [http://www.elv-downloads.de/service/manuals/Homematic/83459_HM_Sec_WDS_D_v1_0_UM.pdf PDF]


[[Kategorie:HomeMatic Components]]
[[Kategorie:HomeMatic Components]]
[[Kategorie:Wassermelder]]
[[Kategorie:Wassermelder]]

Version vom 30. März 2016, 16:28 Uhr

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