HM-Sen-RD-O Funk-Regensensor: Unterschied zwischen den Versionen
Rohan (Diskussion | Beiträge) K (→Korrosion / eindringendes Wasser: Typo) |
K (Sichtung / Korrektur der letzten Änderungen) |
||
(25 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Allgemeines == | == Allgemeines == | ||
Der HM-Sen-RD-O (RD-O) ist ein Funk-Regensensor. Stand 26.06.2013 war er noch nicht lieferbar, ab August 2013 waren die Fertiggeräte verfügbar und seit Dezember 2013 sind auch die Bausätze lieferbar. | |||
Er erkennt beginnenden Regen und kann über mit ihm [[Peering (HomeMatic)|gepeerte]] Aktoren Reaktionen veranlassen. Zudem verfügt er über eine eingebaute Heizung sowie eine optische Anzeige (grüne LED) direkt im Gehäuse, die durch Aufleuchten die Regenerkennung darstellt. Er wird mittels einer externen Spannungsversorgung (DC 7,5 bis 30 V; nicht im Lieferumfang) betrieben. | |||
Die eingebaute Heizung in der Sensorfläche soll Fehlmeldungen (Betauung, z.B. durch Nebel, bzw. Vereisung) vermeiden helfen. | |||
== Technische Daten == | == Technische Daten == | ||
* Aktuelle Firmware: 1.4 (Stand Dezember 2013) | * Aktuelle Firmware: 1.4 (Stand Dezember 2013) | ||
* Versorgungsspannung: 7,5–30 V DC | * Versorgungsspannung: 7,5–30 V DC | ||
Zeile 16: | Zeile 16: | ||
* Gewicht: 286 gr. | * Gewicht: 286 gr. | ||
Man kann den RD-O auch als | Man kann den RD-O auch als Bausatz bestellen, dann ist er ein paar Euro preiswerter. Der Zusammenbau erfordert keine Profi-Lötkenntnisse, da nur ein paar bedrahtete Bauteile (Elko, LEDs, Transceiver-Modul usw.) einzulöten sind. Der Sensor ist bereits verklebt und angeschlossen. | ||
== Betrieb mit FHEM == | == Betrieb mit FHEM == | ||
Mit Stand Dezember 2013 wird der RD-O von FHEM unterstützt (Ausnahme siehe "Probleme"). Voraussetzung ist ein halbwegs aktueller FHEM-Versionsstand, da es sich um ein relativ neues HomeMatic-Gerät handelt. Zunächst ist der RD-O mit FHEM zu p'''ai'''ren. Nun kann man das Device [[rename|umbenennen]]. Die Kanäle (siehe unten) werden dabei (leider) nicht automatisch mit umbenannt, dies kann aber durch entsprechende ''rename''-Befehle von Hand nachgeholt werden (ggf. vorher prüfen, ob das Gerät ein ''set ... deviceRename ...'' anbietet; damit würden auch die Kanäle umbenannt). Danach ein ''save config'' und ''rereadcfg'' und weiter ... | |||
Mit Stand Dezember 2013 wird der RD-O von | |||
=== Geräte-Kanäle (Device-channels) === | === Geräte-Kanäle (Device-channels) === | ||
Der RD-O hat 2 Kanäle zusätzlich zum "Channel 00", der das eigentliche Device darstellt. | |||
Der RD-O hat 2 Kanäle zusätzlich zum "Channel 00", | * Channel 01, dieser enthält alles für die eigentliche Erkennung, ob es gerade regnet oder nicht | ||
* Channel 01, dieser enthält alles | |||
* Channel 02, über diesen kann das Verhalten der internen Heizung gesteuert werden | * Channel 02, über diesen kann das Verhalten der internen Heizung gesteuert werden | ||
==== Channel 00 ==== | ==== Channel 00 ==== | ||
Die Register: | Die Register: | ||
list: register | range | peer | description | list: register | range | peer | description | ||
Zeile 40: | Zeile 37: | ||
Die Register: | Die Register: | ||
list: register | range | peer | description | list: register | range | peer | description | ||
1: | 1: cndTxThrhHi | 0 to 3000mV | | threshold high condition | ||
1: cndTxThrhLo | 0 to 3000mV | | threshold high condition | |||
1: eventFilterTimeB | 5 to 7620s | | event filter time | 1: eventFilterTimeB | 5 to 7620s | | event filter time | ||
1: evntRelFltTime | 1 to 7620s | | event filter release time | 1: evntRelFltTime | 1 to 7620s | | event filter release time | ||
1: highHoldTime | 60 to 7620s | | hold time on high state | 1: highHoldTime | 60 to 7620s | | hold time on high state | ||
1: sign | literal | | signature (AES) options:off,on | |||
1: transmitTryMax | 1 to 10 | | max message re-transmit | 1: transmitTryMax | 1 to 10 | | max message re-transmit | ||
4: expectAES | literal | required | expect AES options:on | 4: expectAES | literal | required | expect AES options:off,on | ||
4: peerNeedsBurst | literal | required | peer expects burst options:on,off | 4: peerNeedsBurst | literal | required | peer expects burst options:on,off | ||
==== Channel 02 ==== | ==== Channel 02 ==== | ||
Die Register: | |||
list: register | range | peer | description | |||
1: sign | literal | | signature (AES) options:off,on | |||
=== Konfiguration === | |||
Bei eingeschaltetem [[autocreate]] werden die erforderlichen Definitionen zum erkannten Sen-RD-O überwiegend selbstständig angelernt: | |||
define Regensensor CUL_HM 20CE4B | |||
attr Regensensor .devInfo 040101 | |||
attr Regensensor .stc 70 | |||
attr Regensensor autoReadReg 4_reqStatus | |||
attr Regensensor firmware 1.4 | |||
attr Regensensor model HM-Sen-RD-O | |||
attr Regensensor room CUL_HM | |||
attr Regensensor serialNr KEQ0117756 | |||
attr Regensensor subType sensRain | |||
attr Regensensor webCmd getConfig | |||
define FileLog_Regensensor FileLog /opt/fhem/log/Regensensor-%Y-%m.log Regensensor | |||
attr FileLog_Regensensor logtype text | |||
attr FileLog_Regensensor room CUL_HM | |||
= | # Channel 01 => 20CE4B01 | ||
define Regensensor_EsRegnet CUL_HM 20CE4B01 | |||
attr Regensensor_EsRegnet expert 1 | |||
attr Regensensor_EsRegnet model HM-Sen-RD-O | |||
attr Regensensor_EsRegnet peerIDs 00000000, | |||
attr Regensensor_EsRegnet room CUL_HM | |||
define FileLog_Regensensor_EsRegnet FileLog /opt/fhem/log/Regensensor_EsRegnet-%Y-%m.log Regensensor_EsRegnet | |||
attr FileLog_Regensensor_EsRegnet logtype text | |||
attr FileLog_Regensensor_EsRegnet room CUL_HM | |||
define SVG_FileLog_Regensensor_EsRegnet SVG FileLog_Regensensor_EsRegnet:Regensensor:CURRENT | |||
attr SVG_FileLog_Regensensor_EsRegnet room CUL_HM | |||
# Channel 02 => 20CE4B02 | |||
define Regensensor_Heizung CUL_HM 20CE4B02 | |||
attr Regensensor_Heizung expert 1 | |||
attr Regensensor_Heizung model HM-Sen-RD-O | |||
attr Regensensor_Heizung peerIDs 00000000, | |||
attr Regensensor_Heizung room CUL_HM | |||
define FileLog_Regensensor_Heizung FileLog /opt/fhem/log/Regensensor_Heizung-%Y-%m.log Regensensor_Heizung | |||
attr FileLog_Regensensor_Heizung logtype text | |||
attr FileLog_Regensensor_Heizung room CUL_HM | |||
=== Steuerung / Betrieb === | |||
Über die Veränderung der entsprechenden Register kann man das Verhalten des RD-O anpassen. So läuft z.B. ab Werk die Heizung nach Anschluss der Spannungsversorgung ständig mit. Nach der Verbindung mit einer Zentrale (hier FHEM) kann man dies steuern. | |||
Eine manuelle Heizungssteuerung erreicht man über den ''Channel 02'': | |||
Mit dem Befehl | |||
:<code> set Regensensor_Heizung off</code> | |||
wird die Heizung aus- und durch | wird die Heizung aus- und durch | ||
:<code> set Regensensor_Heizung on</code> | |||
wieder eingeschaltet. | |||
<code> | Eine einfache Heizungsautomatik ist ganz einfach über ein Attribut möglich: | ||
:<code> attr Regensensor_Heizung param offAtPon,onAtRain</code> | |||
</code> | <code>offAtPon</code> schaltet die Heizung zwingend aus, wenn der (wieder) Sensor mit Spannung versorgt wird (nach einem Stromausfall). | ||
<code>onAtRain</code> schaltet die Heizung beim Status ''rain'' ein und beim Status ''dry'' wieder aus. | |||
Evtl. sollte man die Heizung in Abhängigkeit von Temperatur und/oder relativer Luftfeuchte ein- bzw. ausschalten (Stromverbrauch; Materialschonung, denn die Sensorfläche wird merklich warm). Ein Einschalten bei erkanntem Regen (wenn nicht bereits durch das o.g. Attribut realisiert) ist ebenfalls sinnvoll, denn die Heizung sorgt für ein schnelleres Abtrocknen der Sensorfläche und somit eine zeitnahe Regenende-Erkennung. | |||
Hierzu kann beispielsweise folgendes in FHEM definiert werden: | |||
:<code> define DoIf_RegenSensorHzgOnOff DOIF (([Aussen.ThermoHygro:temperature]<5 or [Regensensor_EsRegnet] eq "rain") and [Regensensor_Heizung] eq "off") (set Regensensor_Heizung on) DOELSEIF (([Aussen.ThermoHygro:temperature]>6 and [Regensensor_EsRegnet] eq "dry") and [Regensensor_Heizung] eq "on") (set Regensensor_Heizung off)</code> | |||
:<code> attr DoIf_RegenSensorHzgOnOff room Wetter</code> | |||
Die Sensor-Heizung wird damit bei Temperaturen unter 5 °C '''oder''' bei erkanntem Regen eingeschaltet. Die Abschaltung der Heizung erfolgt, sobald die Temperatur über 6 °C beträgt '''und''' es trocken ist. | |||
Man sollte darauf achten, dass der Status der Heizung im DOIF mit abgefragt wird. Ohne diese Abfrage werden sehr oft die Schaltbefehle gesendet, was dauerhaft dazu führen kann, dass die Sender in den Überlastmodus gehen und kurzzeitig keine Befehle mehr senden. | |||
Der RD-O reagiert bereits bei der Berührung der Sensorfläche mit einem Finger mit der Meldung "Es regnet". Dies erfolgt auch, sobald man einen kleinen Bereich mit einem Tropfen Wasser befeuchtet. Die Meldung bleibt (ab Werk) einige Minuten erhalten. Das Ansprech- und Rücksetzverhalten kann über die Veränderung der entsprechenden Register angepasst werden. | |||
=== Log-Daten === | === Log-Daten === | ||
Auszüge aus den Logs unmittelbar nach Anschluss der Spannungsversorgung und dem ersten Drücken der Anlerntaste am RD-O: | Auszüge aus den Logs unmittelbar nach Anschluss der Spannungsversorgung und dem ersten Drücken der Anlerntaste am RD-O: | ||
==== Event monitor ==== | ==== Event monitor ==== | ||
<Datum> <Zeit> Global global UNDEFINED CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 | <Datum> <Zeit> Global global UNDEFINED CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 | ||
<Datum> <Zeit> Global global DEFINED CUL_HM_HM_Sen_RD_O_20EC4B | <Datum> <Zeit> Global global DEFINED CUL_HM_HM_Sen_RD_O_20EC4B | ||
Zeile 92: | Zeile 139: | ||
<Datum> <Zeit> CUL_HM CUL_HM_HM_Sen_RD_O_20EC4B_Rain dry | <Datum> <Zeit> CUL_HM CUL_HM_HM_Sen_RD_O_20EC4B_Rain dry | ||
==== | ==== FHEM-Log ==== | ||
<Datum> <Zeit> 3: CUL_HM Unknown device CUL_HM_HM_Sen_RD_O_20EC4B, please define it | <Datum> <Zeit> 3: CUL_HM Unknown device CUL_HM_HM_Sen_RD_O_20EC4B, please define it | ||
<Datum> <Zeit> 2: autocreate: define CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 | <Datum> <Zeit> 2: autocreate: define CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 | ||
Zeile 104: | Zeile 150: | ||
==== Device-Logs ==== | ==== Device-Logs ==== | ||
==== Channel 01 Log (Es regnet) ==== | ==== Channel 01 Log (Es regnet) ==== | ||
<Datum> <Zeit> Regensensor_EsRegnet timedOn: off | <Datum> <Zeit> Regensensor_EsRegnet timedOn: off | ||
<Datum> <Zeit> Regensensor_EsRegnet dry | <Datum> <Zeit> Regensensor_EsRegnet dry | ||
Zeile 117: | Zeile 161: | ||
<Datum> <Zeit> Regensensor_EsRegnet timedOn: off | <Datum> <Zeit> Regensensor_EsRegnet timedOn: off | ||
<Datum> <Zeit> Regensensor_EsRegnet dry | <Datum> <Zeit> Regensensor_EsRegnet dry | ||
Am gezeigten log ist zu erkennen, dass der Sen-RD-O Zustandsänderungen genau einmal meldet und danach nicht wiederholt. | |||
==== Channel 02 Log (Heizung an oder aus) ==== | ==== Channel 02 Log (Heizung an oder aus) ==== | ||
<Datum> <Zeit> Regensensor_Heizung timedOn: off | <Datum> <Zeit> Regensensor_Heizung timedOn: off | ||
<Datum> <Zeit> Regensensor_Heizung on | <Datum> <Zeit> Regensensor_Heizung on | ||
Zeile 129: | Zeile 174: | ||
<Datum> <Zeit> Regensensor_Heizung on | <Datum> <Zeit> Regensensor_Heizung on | ||
=== | === Plot / Grafische Darstellung === | ||
Der RD-O meldet im Channel_01-Log die Zustände "rain" (für: es regnet) und "dry" (für: es regnet nicht). Diese Werte kann man in FHEM-Plots natürlich nicht so auswerten wie numerische Angaben. Aber auch dafür bietet FHEM eine Lösung. Hier zunächst der Plot: | |||
[[Datei:HM-Sen-RD-O_cut.jpg|Plot des HM-Sen-RD-O]] | |||
Und hier die dazugehörige Plot-Datei: | |||
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 'Regnet es: Ja/Nein' | |||
set ytics ("Trocken" 0, "Regen" 1) | |||
set y2tics ("Trocken" 0, "Regen" 1) | |||
set grid | |||
set ylabel "" | |||
set y2label "" | |||
set yrange [-0.1:1.1] | |||
set y2range [-0.1:1.1] | |||
#FileLog 3::0:$fld[2]=~"rain"?1:0 | |||
plot "<IN>" using 1:2 axes x1y2 title 'Regnet es?' ls l0 lw 1 with steps | |||
Dieser Plot hat noch einen Mangel. Um kurz vor 20:00 Uhr hat es erneut angefangen zu regnen und obwohl es jetzt nach 22:00 Uhr ist, deutet der Plot an, dass es momentan "nicht regnet". An einer plausibleren Darstellung wird gearbeitet. | |||
== Bekannte Probleme == | |||
=== getConfig === | |||
Anfangs (Mitte Dezember 2013) gab es noch ein Problem mit dem ''getConfig''. Dieser Befehl wurde quittiert mit den Meldungen: | |||
protState CMDs_done_Errors:1 | protState CMDs_done_Errors:1 | ||
Zeile 139: | Zeile 208: | ||
state RESPONSE TIMEOUT:RegisterRead | state RESPONSE TIMEOUT:RegisterRead | ||
Andere Befehle (wie oben z.B. Heizung an/aus) wurden dagegen umgehend erfolgreich abgearbeitet. | |||
Dieses Problem ist mittlerweile gelöst, so dass der RD-O voll genutzt werden kann. | |||
=== Erst Minuten nach Regenende meldet der RD-O "dry" (also kein Regen mehr) === | |||
Das liegt zum einen daran, dass der auf der Sensorfläche befindliche Niederschlag erst einmal durch die interne Sensorheizung "verdampft" werden muss. Zum anderen ist der RD-O so eingestellt, dass er erst 5 Minuten nach Abtrocknen der Sensorfläche wieder den Zustand "dry" an FHEM meldet. Zuständig dafür ist das RD-O-Register ''highHoldTime'' im Channel '''01''', das werksseitig auf 300 Sekunden (also 5 Minuten) eingestellt ist. Dieses Register kann man aber auf einen Wert von (minimal, kürzer geht nicht) z.B. 60 Sekunden setzen: | |||
:<code> set Regensensor_EsRegnet regSet highHoldTime 60</code> | |||
=== Korrosion / eindringendes Wasser === | |||
In den Käuferbewertungen und im Kundenforum von ELV gibt es Meldungen, dass möglicherweise die Sensorfläche "korrodiert" bzw. der RD-O mit Wasser "voll läuft". Diese Meldungen scheinen sich allerdings auf eine frühere Version des ARR-bausatzes zu beziehen, bei der man die Sensorfläche noch selbst in den Gehäusedeckel (wasserdicht) einkleben musste. Dieses Einkleben war bei dem Bausatz von Mitte Dezember 2013 nicht mehr erforderlich. Sobald dazu Erfahrungswerte vorliegen, werden diese hier eingetragen. | |||
In den Käuferbewertungen von ELV gibt es Meldungen, dass möglicherweise die Sensorfläche "korrodiert" bzw. der RD-O mit Wasser "voll läuft". Sobald dazu Erfahrungswerte vorliegen, werden diese hier eingetragen. | |||
== Links == | == Links == | ||
* [http://www.elv.de/homematic-funk-regensensor-1.html Produktinfo] | * [http://www.elv.de/homematic-funk-regensensor-1.html Produktinfo] | ||
* | * Bedienungsanleitung (PDF) {{DocLink|elv|/Assets/Produkte/13/1302/130220/Downloads/130220_hm_regensensor_um.pdf}} | ||
* Datenblatt (PDF) {{DocLink|elv|/Assets/Produkte/13/1302/130220/Downloads/130220_hm_regensensor_data.pdf}} | |||
[[Kategorie:HomeMatic Components]] | [[Kategorie:HomeMatic Components]] | ||
[[Kategorie:Regensensor]] | [[Kategorie:Regensensor]] |
Aktuelle Version vom 13. April 2021, 16:37 Uhr
Allgemeines
Der HM-Sen-RD-O (RD-O) ist ein Funk-Regensensor. Stand 26.06.2013 war er noch nicht lieferbar, ab August 2013 waren die Fertiggeräte verfügbar und seit Dezember 2013 sind auch die Bausätze lieferbar.
Er erkennt beginnenden Regen und kann über mit ihm gepeerte Aktoren Reaktionen veranlassen. Zudem verfügt er über eine eingebaute Heizung sowie eine optische Anzeige (grüne LED) direkt im Gehäuse, die durch Aufleuchten die Regenerkennung darstellt. Er wird mittels einer externen Spannungsversorgung (DC 7,5 bis 30 V; nicht im Lieferumfang) betrieben.
Die eingebaute Heizung in der Sensorfläche soll Fehlmeldungen (Betauung, z.B. durch Nebel, bzw. Vereisung) vermeiden helfen.
Technische Daten
- Aktuelle Firmware: 1.4 (Stand Dezember 2013)
- Versorgungsspannung: 7,5–30 V DC
- Max. Stromaufnahme: 250 mA
- IP-Schutzart: IP44
- Leistungsaufnahme Ruhebetrieb: 0,4 W (ohne Sensorheizung)
- Leistungsaufnahme Sensorheizung: ca. 1 W
- Abmessungen (B x H x T): 80 x 82 x 55 mm
- Gewicht: 286 gr.
Man kann den RD-O auch als Bausatz bestellen, dann ist er ein paar Euro preiswerter. Der Zusammenbau erfordert keine Profi-Lötkenntnisse, da nur ein paar bedrahtete Bauteile (Elko, LEDs, Transceiver-Modul usw.) einzulöten sind. Der Sensor ist bereits verklebt und angeschlossen.
Betrieb mit FHEM
Mit Stand Dezember 2013 wird der RD-O von FHEM unterstützt (Ausnahme siehe "Probleme"). Voraussetzung ist ein halbwegs aktueller FHEM-Versionsstand, da es sich um ein relativ neues HomeMatic-Gerät handelt. Zunächst ist der RD-O mit FHEM zu pairen. Nun kann man das Device umbenennen. Die Kanäle (siehe unten) werden dabei (leider) nicht automatisch mit umbenannt, dies kann aber durch entsprechende rename-Befehle von Hand nachgeholt werden (ggf. vorher prüfen, ob das Gerät ein set ... deviceRename ... anbietet; damit würden auch die Kanäle umbenannt). Danach ein save config und rereadcfg und weiter ...
Geräte-Kanäle (Device-channels)
Der RD-O hat 2 Kanäle zusätzlich zum "Channel 00", der das eigentliche Device darstellt.
- Channel 01, dieser enthält alles für die eigentliche Erkennung, ob es gerade regnet oder nicht
- Channel 02, über diesen kann das Verhalten der internen Heizung gesteuert werden
Channel 00
Die Register:
list: register | range | peer | description 0: localResDis | literal | | local reset disable options:on,off 0: pairCentral | 0 to 16777215 | | pairing to central 0: transmDevTryMax | 1 to 10 | | max message re-transmit
Channel 01
Die Register:
list: register | range | peer | description 1: cndTxThrhHi | 0 to 3000mV | | threshold high condition 1: cndTxThrhLo | 0 to 3000mV | | threshold high condition 1: eventFilterTimeB | 5 to 7620s | | event filter time 1: evntRelFltTime | 1 to 7620s | | event filter release time 1: highHoldTime | 60 to 7620s | | hold time on high state 1: sign | literal | | signature (AES) options:off,on 1: transmitTryMax | 1 to 10 | | max message re-transmit 4: expectAES | literal | required | expect AES options:off,on 4: peerNeedsBurst | literal | required | peer expects burst options:on,off
Channel 02
Die Register:
list: register | range | peer | description 1: sign | literal | | signature (AES) options:off,on
Konfiguration
Bei eingeschaltetem autocreate werden die erforderlichen Definitionen zum erkannten Sen-RD-O überwiegend selbstständig angelernt:
define Regensensor CUL_HM 20CE4B attr Regensensor .devInfo 040101 attr Regensensor .stc 70 attr Regensensor autoReadReg 4_reqStatus attr Regensensor firmware 1.4 attr Regensensor model HM-Sen-RD-O attr Regensensor room CUL_HM attr Regensensor serialNr KEQ0117756 attr Regensensor subType sensRain attr Regensensor webCmd getConfig define FileLog_Regensensor FileLog /opt/fhem/log/Regensensor-%Y-%m.log Regensensor attr FileLog_Regensensor logtype text attr FileLog_Regensensor room CUL_HM
# Channel 01 => 20CE4B01 define Regensensor_EsRegnet CUL_HM 20CE4B01 attr Regensensor_EsRegnet expert 1 attr Regensensor_EsRegnet model HM-Sen-RD-O attr Regensensor_EsRegnet peerIDs 00000000, attr Regensensor_EsRegnet room CUL_HM define FileLog_Regensensor_EsRegnet FileLog /opt/fhem/log/Regensensor_EsRegnet-%Y-%m.log Regensensor_EsRegnet attr FileLog_Regensensor_EsRegnet logtype text attr FileLog_Regensensor_EsRegnet room CUL_HM define SVG_FileLog_Regensensor_EsRegnet SVG FileLog_Regensensor_EsRegnet:Regensensor:CURRENT attr SVG_FileLog_Regensensor_EsRegnet room CUL_HM
# Channel 02 => 20CE4B02 define Regensensor_Heizung CUL_HM 20CE4B02 attr Regensensor_Heizung expert 1 attr Regensensor_Heizung model HM-Sen-RD-O attr Regensensor_Heizung peerIDs 00000000, attr Regensensor_Heizung room CUL_HM define FileLog_Regensensor_Heizung FileLog /opt/fhem/log/Regensensor_Heizung-%Y-%m.log Regensensor_Heizung attr FileLog_Regensensor_Heizung logtype text attr FileLog_Regensensor_Heizung room CUL_HM
Steuerung / Betrieb
Über die Veränderung der entsprechenden Register kann man das Verhalten des RD-O anpassen. So läuft z.B. ab Werk die Heizung nach Anschluss der Spannungsversorgung ständig mit. Nach der Verbindung mit einer Zentrale (hier FHEM) kann man dies steuern.
Eine manuelle Heizungssteuerung erreicht man über den Channel 02: Mit dem Befehl
set Regensensor_Heizung off
wird die Heizung aus- und durch
set Regensensor_Heizung on
wieder eingeschaltet.
Eine einfache Heizungsautomatik ist ganz einfach über ein Attribut möglich:
attr Regensensor_Heizung param offAtPon,onAtRain
offAtPon
schaltet die Heizung zwingend aus, wenn der (wieder) Sensor mit Spannung versorgt wird (nach einem Stromausfall).
onAtRain
schaltet die Heizung beim Status rain ein und beim Status dry wieder aus.
Evtl. sollte man die Heizung in Abhängigkeit von Temperatur und/oder relativer Luftfeuchte ein- bzw. ausschalten (Stromverbrauch; Materialschonung, denn die Sensorfläche wird merklich warm). Ein Einschalten bei erkanntem Regen (wenn nicht bereits durch das o.g. Attribut realisiert) ist ebenfalls sinnvoll, denn die Heizung sorgt für ein schnelleres Abtrocknen der Sensorfläche und somit eine zeitnahe Regenende-Erkennung.
Hierzu kann beispielsweise folgendes in FHEM definiert werden:
define DoIf_RegenSensorHzgOnOff DOIF (([Aussen.ThermoHygro:temperature]<5 or [Regensensor_EsRegnet] eq "rain") and [Regensensor_Heizung] eq "off") (set Regensensor_Heizung on) DOELSEIF (([Aussen.ThermoHygro:temperature]>6 and [Regensensor_EsRegnet] eq "dry") and [Regensensor_Heizung] eq "on") (set Regensensor_Heizung off)
attr DoIf_RegenSensorHzgOnOff room Wetter
Die Sensor-Heizung wird damit bei Temperaturen unter 5 °C oder bei erkanntem Regen eingeschaltet. Die Abschaltung der Heizung erfolgt, sobald die Temperatur über 6 °C beträgt und es trocken ist.
Man sollte darauf achten, dass der Status der Heizung im DOIF mit abgefragt wird. Ohne diese Abfrage werden sehr oft die Schaltbefehle gesendet, was dauerhaft dazu führen kann, dass die Sender in den Überlastmodus gehen und kurzzeitig keine Befehle mehr senden.
Der RD-O reagiert bereits bei der Berührung der Sensorfläche mit einem Finger mit der Meldung "Es regnet". Dies erfolgt auch, sobald man einen kleinen Bereich mit einem Tropfen Wasser befeuchtet. Die Meldung bleibt (ab Werk) einige Minuten erhalten. Das Ansprech- und Rücksetzverhalten kann über die Veränderung der entsprechenden Register angepasst werden.
Log-Daten
Auszüge aus den Logs unmittelbar nach Anschluss der Spannungsversorgung und dem ersten Drücken der Anlerntaste am RD-O:
Event monitor
<Datum> <Zeit> Global global UNDEFINED CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 <Datum> <Zeit> Global global DEFINED CUL_HM_HM_Sen_RD_O_20EC4B <Datum> <Zeit> Global global DEFINED FileLog_CUL_HM_HM_Sen_RD_O_20EC4B <Datum> <Zeit> Global global SAVE <Datum> <Zeit> Global global UNDEFINED CUL_HM_HM_Sen_RD_O_20EC4B_Rain CUL_HM 20EC4B01 <Datum> <Zeit> Global global DEFINED CUL_HM_HM_Sen_RD_O_20EC4B_Rain <Datum> <Zeit> Global global DEFINED FileLog_CUL_HM_HM_Sen_RD_O_20EC4B_Rain <Datum> <Zeit> Global global SAVE <Datum> <Zeit> Global global UNDEFINED CUL_HM_HM_Sen_RD_O_20EC4B_Heating CUL_HM 20EC4B02 <Datum> <Zeit> Global global DEFINED CUL_HM_HM_Sen_RD_O_20EC4B_Heating <Datum> <Zeit> Global global DEFINED FileLog_CUL_HM_HM_Sen_RD_O_20EC4B_Heating <Datum> <Zeit> Global global SAVE ... und kurz darauf ... <Datum> <Zeit> CUL_HM CUL_HM_HM_Sen_RD_O_20EC4B_Rain timedOn: off <Datum> <Zeit> CUL_HM CUL_HM_HM_Sen_RD_O_20EC4B_Rain dry
FHEM-Log
<Datum> <Zeit> 3: CUL_HM Unknown device CUL_HM_HM_Sen_RD_O_20EC4B, please define it <Datum> <Zeit> 2: autocreate: define CUL_HM_HM_Sen_RD_O_20EC4B CUL_HM 20EC4B A1A02840020EC4B0000001400A74B45513031313730363770040101 <Datum> <Zeit> 2: autocreate: define FileLog_CUL_HM_HM_Sen_RD_O_20EC4B FileLog /opt/fhem/log/CUL_HM_HM_Sen_RD_O_20EC4B-%Y-%m.log CUL_HM_HM_Sen_RD_O_20EC4B <Datum> <Zeit> 2: autocreate: define CUL_HM_HM_Sen_RD_O_20EC4B_Rain CUL_HM 20EC4B01 <Datum> <Zeit> 2: autocreate: define FileLog_CUL_HM_HM_Sen_RD_O_20EC4B_Rain FileLog /opt/fhem/log/CUL_HM_HM_Sen_RD_O_20EC4B_Rain-%Y-%m.log CUL_HM_HM_Sen_RD_O_20EC4B_Rain <Datum> <Zeit> 2: autocreate: define CUL_HM_HM_Sen_RD_O_20EC4B_Heating CUL_HM 20EC4B02 <Datum> <Zeit> 2: autocreate: define FileLog_CUL_HM_HM_Sen_RD_O_20EC4B_Heating FileLog /opt/fhem/log/CUL_HM_HM_Sen_RD_O_20EC4B_Heating-%Y-%m.log CUL_HM_HM_Sen_RD_O_20EC4B_Heating <Datum> <Zeit> 2: CUL_HM set CUL_HM_HM_Sen_RD_O_20EC4B getConfig
Device-Logs
Channel 01 Log (Es regnet)
<Datum> <Zeit> Regensensor_EsRegnet timedOn: off <Datum> <Zeit> Regensensor_EsRegnet dry <Datum> <Zeit> Regensensor_EsRegnet timedOn: off <Datum> <Zeit> Regensensor_EsRegnet rain <Datum> <Zeit> Regensensor_EsRegnet timedOn: off <Datum> <Zeit> Regensensor_EsRegnet dry <Datum> <Zeit> Regensensor_EsRegnet timedOn: off <Datum> <Zeit> Regensensor_EsRegnet rain <Datum> <Zeit> Regensensor_EsRegnet timedOn: off <Datum> <Zeit> Regensensor_EsRegnet dry
Am gezeigten log ist zu erkennen, dass der Sen-RD-O Zustandsänderungen genau einmal meldet und danach nicht wiederholt.
Channel 02 Log (Heizung an oder aus)
<Datum> <Zeit> Regensensor_Heizung timedOn: off <Datum> <Zeit> Regensensor_Heizung on <Datum> <Zeit> Regensensor_Heizung set_off <Datum> <Zeit> Regensensor_Heizung timedOn: off <Datum> <Zeit> Regensensor_Heizung off <Datum> <Zeit> Regensensor_Heizung set_on <Datum> <Zeit> Regensensor_Heizung timedOn: off <Datum> <Zeit> Regensensor_Heizung on
Plot / Grafische Darstellung
Der RD-O meldet im Channel_01-Log die Zustände "rain" (für: es regnet) und "dry" (für: es regnet nicht). Diese Werte kann man in FHEM-Plots natürlich nicht so auswerten wie numerische Angaben. Aber auch dafür bietet FHEM eine Lösung. Hier zunächst der Plot:
Und hier die dazugehörige Plot-Datei:
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 'Regnet es: Ja/Nein' set ytics ("Trocken" 0, "Regen" 1) set y2tics ("Trocken" 0, "Regen" 1) set grid set ylabel "" set y2label "" set yrange [-0.1:1.1] set y2range [-0.1:1.1] #FileLog 3::0:$fld[2]=~"rain"?1:0 plot "<IN>" using 1:2 axes x1y2 title 'Regnet es?' ls l0 lw 1 with steps
Dieser Plot hat noch einen Mangel. Um kurz vor 20:00 Uhr hat es erneut angefangen zu regnen und obwohl es jetzt nach 22:00 Uhr ist, deutet der Plot an, dass es momentan "nicht regnet". An einer plausibleren Darstellung wird gearbeitet.
Bekannte Probleme
getConfig
Anfangs (Mitte Dezember 2013) gab es noch ein Problem mit dem getConfig. Dieser Befehl wurde quittiert mit den Meldungen:
protState CMDs_done_Errors:1 ... state RESPONSE TIMEOUT:RegisterRead
Andere Befehle (wie oben z.B. Heizung an/aus) wurden dagegen umgehend erfolgreich abgearbeitet.
Dieses Problem ist mittlerweile gelöst, so dass der RD-O voll genutzt werden kann.
Erst Minuten nach Regenende meldet der RD-O "dry" (also kein Regen mehr)
Das liegt zum einen daran, dass der auf der Sensorfläche befindliche Niederschlag erst einmal durch die interne Sensorheizung "verdampft" werden muss. Zum anderen ist der RD-O so eingestellt, dass er erst 5 Minuten nach Abtrocknen der Sensorfläche wieder den Zustand "dry" an FHEM meldet. Zuständig dafür ist das RD-O-Register highHoldTime im Channel 01, das werksseitig auf 300 Sekunden (also 5 Minuten) eingestellt ist. Dieses Register kann man aber auf einen Wert von (minimal, kürzer geht nicht) z.B. 60 Sekunden setzen:
set Regensensor_EsRegnet regSet highHoldTime 60
Korrosion / eindringendes Wasser
In den Käuferbewertungen und im Kundenforum von ELV gibt es Meldungen, dass möglicherweise die Sensorfläche "korrodiert" bzw. der RD-O mit Wasser "voll läuft". Diese Meldungen scheinen sich allerdings auf eine frühere Version des ARR-bausatzes zu beziehen, bei der man die Sensorfläche noch selbst in den Gehäusedeckel (wasserdicht) einkleben musste. Dieses Einkleben war bei dem Bausatz von Mitte Dezember 2013 nicht mehr erforderlich. Sobald dazu Erfahrungswerte vorliegen, werden diese hier eingetragen.
Links
- Produktinfo
- Bedienungsanleitung (PDF) [1]
- Datenblatt (PDF) [2]