HM-Sen-RD-O Funk-Regensensor

Aus FHEMWiki
Version vom 19. Dezember 2013, 10:13 Uhr von Rohan (Diskussion | Beiträge) (Erläuterungen zum Device und Betrieb mit Fhem eingearbeitet)

Allgemeines

Beim HM-Sen-RD-O (RD-O) handelt es sich um einen Funk-Regensensor. Stand 26.06.2013 war er noch nicht lieferbar, Stand Dezember 2013 sind auch die Bausätze lieferbar.

Er hat lt. Produktbeschreibung eine eingebaute Heizung und eine optische Anzeige direkt im Gehäuse. Er wird mittels einer externen Spannungsversorgung (DC 7,5 bis 30 V) betrieben (nicht im Lieferumfang).

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 "ARR"-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. Dem Bausatz liegt (entgegen sonstiger Bausätze von ELV) keine Aufbauanleitung (meist in Form einer Kopie des Artikels zur Produktvorstellung aus dem jeweiligen ELV-Journal) bei, welche jedoch mit einer freundlichen E-Mail an den ELV-Support angefordert werden kann und als PDF-Dokument übersandt wird.

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 ("renamen"). Die Kanäle (siehe unten) wurden hier dabei (leider) nicht automatisch mitumbenannt, dies kann aber durch entsprechende rename-Befehle von Hand nachgeholt werden. 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", welcher das eigentliche Device darstellt.

  • Channel 01, dieser enthält alles um 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: condTxThrhHi     |   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: transmitTryMax   |   1 to 10          |          | max message re-transmit
  4: expectAES        |     literal        | required | expect AES options:on,off
  4: peerNeedsBurst   |     literal        | required | peer expects burst options:on,off

Channel 02

Die Register:

<folgt>

Steuerung

Über die Veränderung der entsprechenden Register kann man das Verhalten des RD-O seinen eigenen Bedürfnissen 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. Mittels (bitte auf den Channel 02)

set Regensensor_Heizung off

wird die Heizung aus- und durch

set Regensensor_Heizung on

wieder eingeschaltet.

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

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

Probleme

getConfig

Ein set Regensensor getConfig wird nach ein paar Sekunden mit einem

protState	CMDs_done_Errors:1
...
state		RESPONSE TIMEOUT:RegisterRead

quittiert.

Im Device-Log erscheinen dazu folgende Einträge:

<Datum> <Zeit> Regensensor ResndFail
<Datum> <Zeit> Regensensor RESPONSE TIMEOUT:RegisterRead
<Datum> <Zeit> Regensensor ResndFail
<Datum> <Zeit> Regensensor RESPONSE TIMEOUT:RegisterRead

Andere Befehle (wie oben z.B. Heiszung an/aus) werden dagegen umgehend erfolgreich abgearbeitet. Für dies "Problem" wird es kurzfristig eine Lösung geben.

Korrosion / eindringendes Wasser

Im 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