HM-ES-PMSw1-Pl Funk-Schaltaktor 1-fach mit Leistungsmessung

Aus FHEMWiki
Wechseln zu: Navigation, Suche
HM-ES-PMSw1-Pl Funk-Schaltaktor 1-fach mit Leistungsmessung
Frontansicht
Allgemein
Protokoll HomeMatic
Typ powerMeter
Kategorie HomeMatic
Technische Details
Kommunikation 868MHz
Kanäle 6
Betriebsspannung 230V
Leistungsaufnahme <0,6W
Versorgung Netz
Abmessungen 59 x 123 x 40mm
Sonstiges
Modulname CUL_HM
Hersteller ELV / eQ-3


HM-ES-PMSw1-Pl ist ein HomeMatic Funk-Schaltaktor in Zwischenstecker-Ausführung, der über die Schaltfunktion hinaus auch Informationen über den aktuellen Verbrauch der angeschlossenen Verbraucher sowie über die anliegende Spannung und Netzfrequenz liefert. Dieser Aktor ist seit dem 20.12.2013 verfügbar.

Ein Gerät mit gleichem Funktionsumfang ist als HM-ES-PMSw1-DR für die Hutschienenmontage verfügbar.

HM-ES-PMSw1-PI Seitenansicht

Features

HomeMatic Funk-Schaltaktor mit Leistungsmessung für zwei Funktionsbereiche:

  • Schalten von angeschlossenen Verbrauchern (Schaltkanal)
  • Messen von Spannung, Strom, Wirkleistung, Frequenz und Energieverbrauch (Messkanal)
  • Automatische Schalten von angelernten Aktoren beim Über- oder Unterschreiten von definierten Schwellwerten (Sensorkanäle)

Der Schaltkanal kann angeschlossene Verbraucher oder angelernte HomeMatic Aktoren ein- bzw. ausschalten. Der Messkanal verfügt über eine Messfunktion und Empfangs- sowie Übertragungsmöglichkeit von Messdaten (z.B. Spannung, Strom, Wirkleistung, Frequenz und Energieverbrauch bis 3680 Watt/16 A). Die Messdaten werden je nach Verbraucherverhalten in Abständen von einigen Sekunden bis mehreren Minuten übertragen, der Sendezyklus kann durch verschiedene Register konfiguriert werden (Änderungsschwellwerte). Des weiteren kann er - in Abhängigkeit von definierbaren Schwellwerten (Über- / Unterschreitung) - andere Aktoren schalten.

Technische Daten:

  • Spannungsversorgung: 230 V/50 Hz
  • Stromaufnahme: 16 A max.
  • Leistungsaufnahme Ruhebetrieb: < 0,6 W
  • Max. Schaltleistung: 3680 W (ohmsche Last)
  • Schutzart: IP 20
  • Relais: Schließer
  • Schaltzyklen: 50.000 bei cosφ=1
  • Abmessungen (B x H x T): 59 x 123 x 40 mm
  • Gewicht: 165 g (ohne Netzstecker)
  • Messauflösung Leistung: 0,01 W
  • Messbereich Leistung: 0–3.680 W
  • Messgenauigkeit Leistung: 1 % ±0,03 W
  • Messauflösung Strom: 1 mA
  • Messbereich Strom: 0–16 A
  • Messgenauigkeit Strom: 1 % ±1 mA
  • Messauflösung Spannung: 0,1 V
  • Messbereich Spannung: 200–255 V
  • Messgenauigkeit Spannung: 0,5 % ±0,1 V
  • Messauflösung Frequenz: 0,01 Hz
  • Messbereich Frequenz: 48,72–51,27 Hz
  • Messgenauigkeit Frequenz: 0,1 % ±0,01 Hz

(Angaben ohne Gewähr)

Hinweise zur Inbetriebnahme und Installation

Der PMSw1 funktioniert "out-of-the-box", nachdem er an FHEM angelernt (gepairt) worden ist.

Das Pairing sollte wie in HomeMatic Devices pairen beschrieben durchgeführt werden.

Betrieb mit FHEM

Der PMSw1 verfügt über insgesamt 6 Kanäle (HM-Jargon: channels), von denen der Schaltkanal (Kanal 1) und der Messkanal (Kanal 2) in FHEM primär genutzt werden. Die Kanäle 3 - 6 sind zur Konfiguration der Schaltvorgänge gepeerter Aktoren bei Änderungen des Leistungsverbrauchs (Kanal 3), des Stromverbrauchs (Kanal 4), der elektrischen Spannung (Kanal 5) oder der Frequenz (Kanal 6). Diese Kanäle können ausschließlich über Register konfiguriert werden.

Channels (Kanäle) 01 bis 06

Channel 01 (_Sw)

Der eigentliche Schaltkanal, über den die am PMSw1 eingesteckten Verbraucher ein- und ausgeschaltet werden können.

Log-Datei des Kanals:

<Datum>_<Zeit> HMPMSW_01_Sw set_on
<Datum>_<Zeit> HMPMSW_01_Sw level: 100 %
<Datum>_<Zeit> HMPMSW_01_Sw pct: 100
<Datum>_<Zeit> HMPMSW_01_Sw deviceMsg: on (to HMLAN1)
<Datum>_<Zeit> HMPMSW_01_Sw timedOn: off
<Datum>_<Zeit> HMPMSW_01_Sw set_off
<Datum>_<Zeit> HMPMSW_01_Sw level: 0 %
<Datum>_<Zeit> HMPMSW_01_Sw pct: 0
<Datum>_<Zeit> HMPMSW_01_Sw deviceMsg: off (to HMLAN1)
<Datum>_<Zeit> HMPMSW_01_Sw timedOn: off

Channel 02 (_Pwr)

Der Messkanal des PMSw1, über den die momentane Netzspannung, die Frequenz (in Hz), die aktuellen Verbrauchswerte (Last, Watt) sowie die seit Inbetriebnahme umgewandelte Leistung ("Verbrauch", Wh) usw. an die Zentrale (hier FHEM) übermittelt werden.

Log-Datei des Kanals:

<Datum>_<Zeit> HMPMSW_01_Pwr energy: 153.2
<Datum>_<Zeit> HMPMSW_01_Pwr power: 90.92
<Datum>_<Zeit> HMPMSW_01_Pwr current: 427
<Datum>_<Zeit> HMPMSW_01_Pwr voltage: 233.4
<Datum>_<Zeit> HMPMSW_01_Pwr 50: -
<Datum>_<Zeit> HMPMSW_01_Pwr boot: on
<Datum>_<Zeit> HMPMSW_01_Pwr energy: 153.8
<Datum>_<Zeit> HMPMSW_01_Pwr power: 80.85
<Datum>_<Zeit> HMPMSW_01_Pwr current: 384
<Datum>_<Zeit> HMPMSW_01_Pwr voltage: 232.2
<Datum>_<Zeit> HMPMSW_01_Pwr 50: -
<Datum>_<Zeit> HMPMSW_01_Pwr boot: on
<Datum>_<Zeit> HMPMSW_01_Pwr energy: 157.5
<Datum>_<Zeit> HMPMSW_01_Pwr power: 86.41
<Datum>_<Zeit> HMPMSW_01_Pwr current: 409
<Datum>_<Zeit> HMPMSW_01_Pwr voltage: 232.6
<Datum>_<Zeit> HMPMSW_01_Pwr 50: -
<Datum>_<Zeit> HMPMSW_01_Pwr boot: on

Channel 03 (_SenPwr)

Dieser Sensorkanal beinhaltet die Logik für eine automatische Schaltung aller angelernten Aktoren auf Basis des momentanen Leistungsverbrauchs (Überschreitung oder Unterschreitung) der angeschlossenen Verbraucher. Mittels der verfügbaren Register kann man genau einstellen, nach welchen Bedingungen aufgrund des momentanen Leistungsverbrauches ein Schaltbefehl gesendet werden soll.

Log-Datei des Kanals (verfügbaren Register):

<Datum>_<Zeit> HMPMSW_01_SenPwr R-cndTxCycBelow: 0 
<Datum>_<Zeit> HMPMSW_01_SenPwr R-txThrLoPwr: 200 W
<Datum>_<Zeit> HMPMSW_01_SenPwr R-transmitTryMax: 6 
<Datum>_<Zeit> HMPMSW_01_SenPwr R-cndTxCycAbove: 200 
<Datum>_<Zeit> HMPMSW_01_SenPwr R-cndTxFalling: off 
<Datum>_<Zeit> HMPMSW_01_SenPwr R-txThrHiPwr: 100 W
<Datum>_<Zeit> HMPMSW_01_SenPwr R-cndTxRising: off 
<Datum>_<Zeit> HMPMSW_01_SenPwr R-ledOnTime: 0.5 s

Dieser Kanal dient nur zum Auslesen und Setzen der Register für die Schaltautomaik und stellt daher keine Readings oder speziellen Kommandos zur Verfügung.

Channel 04 (_SenI)

Dieser Sensorkanal beinhaltet die Logik für eine automatische Schaltung aller angelernten Aktoren auf Basis des momentanen Stromverbrauchs (Überschreitung oder Unterschreitung) der angeschlossenen Verbraucher. Mittels der verfügbaren Register kann man genau einstellen, nach welchen Bedingungen aufgrund des momentanen Stromverbrauchs ein Schaltbefehl gesendet werden soll.

Log-Datei des Kanals (verfügbaren Register):

<Datum>_<Zeit> HMPMSW_01_SenI R-cndTxCycBelow: 0 
<Datum>_<Zeit> HMPMSW_01_SenI R-txThrLoCur: 20 mA
<Datum>_<Zeit> HMPMSW_01_SenI R-transmitTryMax: 6 
<Datum>_<Zeit> HMPMSW_01_SenI R-cndTxCycAbove: 200 
<Datum>_<Zeit> HMPMSW_01_SenI R-cndTxFalling: off 
<Datum>_<Zeit> HMPMSW_01_SenI R-txThrHiCur: 10 mA
<Datum>_<Zeit> HMPMSW_01_SenI R-cndTxRising: off 
<Datum>_<Zeit> HMPMSW_01_SenI R-ledOnTime: 0.5 s

Dieser Kanal dient nur zum Auslesen und Setzen der Register für die Abschaltautomatik und stellt daher keine Readings oder speziellen Kommandos zur Verfügung.

Channel 05 (_SenU)

Dieser Sensorkanal beinhaltet die Logik für eine automatische Schaltung aller angelernten Aktoren auf Basis der aktuell anliegenden elektrischen Spannung (Überschreitung oder Unterschreitung). Mittels der verfügbaren Register kann man genau einstellen, nach welchen Bedingungen auf Basis der elektrischen Spannung ein Schaltbefehl durchgeführt werden soll.

Log-Datei des Kanals (verfügbaren Register):

<Datum>_<Zeit> HMPMSW_01_SenU R-cndTxCycBelow: 0 
<Datum>_<Zeit> HMPMSW_01_SenU R-transmitTryMax: 6 
<Datum>_<Zeit> HMPMSW_01_SenU R-txThrLoVlt: 24 V
<Datum>_<Zeit> HMPMSW_01_SenU R-cndTxCycAbove: 200 
<Datum>_<Zeit> HMPMSW_01_SenU R-cndTxFalling: off 
<Datum>_<Zeit> HMPMSW_01_SenU R-txThrHiVlt: 22 V
<Datum>_<Zeit> HMPMSW_01_SenU R-cndTxRising: off 
<Datum>_<Zeit> HMPMSW_01_SenU R-ledOnTime: 0.5 s

Channel 06 (_SenF)

Dieser Sensorkanal beinhaltet die Logik für eine automatische Schaltung aller angelernten Aktoren auf Basis der Frequenz (Überschreitung oder Unterschreitung) der anliegenden Spannung. Mittels der verfügbaren Register kann man genau einstellen, nach welchen Bedingungen auf Basis der Frequenz ein Schaltbefehl durchgeführt werden soll.

Die Abschaltung erfolgt dann selbstständig durch den Aktor.

Log-Datei des Kanals (verfügbaren Register):

<Datum>_<Zeit> HMPMSW_01_SenF R-cndTxCycBelow: 0 
<Datum>_<Zeit> HMPMSW_01_SenF R-txThrHiFrq: 49.8 Hz
<Datum>_<Zeit> HMPMSW_01_SenF R-txThrLoFrq: 50.2 Hz
<Datum>_<Zeit> HMPMSW_01_SenF R-transmitTryMax: 6 
<Datum>_<Zeit> HMPMSW_01_SenF R-cndTxCycAbove: 200 
<Datum>_<Zeit> HMPMSW_01_SenF R-cndTxFalling: off 
<Datum>_<Zeit> HMPMSW_01_SenF R-cndTxRising: off 
<Datum>_<Zeit> HMPMSW_01_SenF R-ledOnTime: 0.5 s

Dieser Kanal dient nur zum Auslesen und Setzen der Register für die Abschaltautomatik und stellt daher keine Readings oder speziellen Kommandos zur Verfügung.

Beispielkonfiguration

Ein Master-Slave-Beispiel aus dem Forum um einen HM-ES-PMSw1-Pl mit einem HM Aktor zu peeren:

Es gibt vier Sensorkanäle: Leistung (03), Strom (04), Spannung (05) und Frequenz (06). Wenn in Abhängigkeit vom Strom geschaltet werden soll, wird der Strom-Komparator-Channel mit einem Aktor gepeert.

set HM-ES-PMSw1-Pl_Senl peerChan 0 hm_aktor set

Dann wird der Komparator eingestellt. Hier werden die Events konfiguriert die der Komparator an den Aktor senden soll. Eine Übersicht gibt es mit get regList:


list:         register | range              | peer     | description 
   1: cndTxCycAbove    |     literal        |          | cyclic trigger if level is above cndTxDecAbove options:on,off 
   1: cndTxCycBelow    |     literal        |          | cyclic trigger if level is below cndTxCycBelow options:on,off 
   1: cndTxDecAbove    |   0 to 255         |          | level for cndTxCycAbove 
   1: cndTxDecBelow    |   0 to 255         |          | level for cndTxCycBelow 
   1: cndTxFalling     |     literal        |          | trigger if falling options:on,off 
   1: cndTxRising      |     literal        |          | trigger if rising options:on,off 
   1: ledOnTime        |   0 to 1.275s      |          | LED ontime 
   1: sign             |     literal        |          | signature (AES) options:on,off 
   1: transmitTryMax   |   1 to 10          |          | max message re-transmit 
   1: txThrHiCur       |   0 to 16000mA     |          | threshold low current 
   1: txThrLoCur       |   0 to 16000mA     |          | threshold high current 
   4: expectAES        |     literal        | required | expect AES options:on,off 
   4: peerNeedsBurst   |     literal        | required | peer expects burst options:on,off 


Zuerst musst entschieden werden, was wie geschaltet werden soll: bei welchem Strom soll ein-/ausgeschaltet werden. Bei positiver oder negativer Flanke. Sollen die Schaltbefehle permanent wiederholt werden, oder nur bei Änderung kommen und welche Schaltwerte sollen bei den Ereignissen gesendet werden.

Beispiel, 2 Events erzeugen:

  1. wenn i von unter 10mA nach über 100mA wechselt, wird ein Event mit dem Wert 200 gesendet (daraus machen wir später im Aktor ein on).
  2. wenn i von über 100mA nach unter 10mA wechselt, wird ein Event mit dem Wert 0 gesendet (daraus machen wir später im Aktor ein off).


Schaltschwellen definieren:

txThrHiCur       100
txThrLoCur       10

Cyclisches Senden abschalten:

cndTxCycAbove    off
cndTxCycBelow    off

Beide Schaltflanken auswerten, positiv soll anschalten, negativ soll ausschalten:

cndTxFalling     on
cndTxRising      on

und zum Schluss die Werte setzen, die der Messsensor bei den Events übermitteln soll. Zur Erinnerung: positive Flanke => 200 und negative Flanke => 0:

cndTxDecAbove    200
cndTxDecBelow    0

Danach wird im Aktor festgelegt, was beim Eintreffen von den Werten 0,200 geschehen soll.

event Monitor

<Bitte ergänzen>

fhem.log Auszug

2013.12.29 19:06:11.957 3: CUL_HM Unknown device CUL_HM_HM_ES_PMSw1_Pl_24A920, please define it
2013.12.29 19:06:11.976 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920 CUL_HM 24A920 A1A5B840024A9200000001400AC4B455130393635383038513F0100
2013.12.29 19:06:11.994 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920 FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920
2013.12.29 19:06:16.879 3: Device CUL_HM_HM_ES_PMSw1_Pl_24A920 added to ActionDetector with 000:10 time
2013.12.29 19:06:16.889 3: CUL_HM pair: CUL_HM_HM_ES_PMSw1_Pl_24A920 powerMeter, model HM-ES-PMSw1-Pl serialNr KEQ0965808
2013.12.29 19:06:16.998 3: Device CUL_HM_HM_ES_PMSw1_Pl_24A920 added to ActionDetector with 000:10 time
2013.12.29 19:06:17.905 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw CUL_HM 24A92001
2013.12.29 19:06:17.909 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw
2013.12.29 19:06:18.906 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr CUL_HM 24A92002
2013.12.29 19:06:18.909 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr
2013.12.29 19:06:19.906 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr CUL_HM 24A92003
2013.12.29 19:06:19.909 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr
2013.12.29 19:06:20.906 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI CUL_HM 24A92004
2013.12.29 19:06:20.910 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI
2013.12.29 19:06:21.907 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU CUL_HM 24A92005
2013.12.29 19:06:21.974 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU
2013.12.29 19:06:22.096 2: CUL_HM set CUL_HM_HM_ES_PMSw1_Pl_24A920 getConfig
2013.12.29 19:06:22.917 2: autocreate: define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF CUL_HM 24A92006
2013.12.29 19:06:22.921 2: autocreate: define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF
2013.12.29 19:06:28.968 2: CUL_HM set CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw statusRequest
2013.12.29 19:06:29.980 2: CUL_HM set CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU getConfig
2013.12.29 19:06:33.990 2: CUL_HM set CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF getConfig

fhem.cfg

define CUL_HM_HM_ES_PMSw1_Pl_24A920 CUL_HM 24A920
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 .devInfo 3F0100
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 .stc 51
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 IODev LANCUL
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 actCycle 000:10
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 actStatus alive
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 autoReadReg 4_reqStatus
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 expert 2_full
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 firmware 1.4
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 peerIDs 
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 room CUL_HM
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 serialNr KEQ0965808
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 subType powerMeter
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920 webCmd getConfig

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920 FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920 logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920 room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw CUL_HM 24A92001
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw peerIDs 00000000,
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Sw room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr CUL_HM 24A92002
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr peerIDs 
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_Pwr room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr CUL_HM 24A92003
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr peerIDs 00000000,
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenPwr room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI CUL_HM 24A92004
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI peerIDs 00000000,
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenI room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU CUL_HM 24A92005
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU peerIDs 00000000,
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenU room CUL_HM

 define CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF CUL_HM 24A92006
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF expert 1
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF model HM-ES-PMSw1-Pl
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF peerIDs 00000000,
 attr CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF room CUL_HM

 define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF FileLog /usr/local/FHEM/var/log/CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF logtype text
 attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A920_SenF room CUL_HM

Loggen von Werten

Leider werden die Verbauchswerte nicht automatisch geloggt, das von FHEM angelegte Log sammelt nur Informationen des Haupt-Devices.

Damit hier auch die Verbrauchs- und Stromwerte mitgeloggt werden, muss man dies dem Log des Haupt-Device (bevorzugt per WebInterface) hinzufügen.

Am Ende sollte die entsprechende Definition wie folgt aussehen:

define FileLog_Keller.Waeschetrockner FileLog ./log/Keller.Waeschetrockner-%Y.log Keller.Waeschetrockner|Keller.Waeschetrockner_Pwr:.*

Die Devicenamen sind natürlich an die vorliegenden Gegebenheiten anzupassen.

Plots/Grafiken

Hier ein Beispielplot für den Channel 02 (Pwr):

Plot des HM-ES-PMSw1-PI (Channel 02)

Inhalt der zugehörigen gplot-Datei (SVG_FileLog_HMPMSW_01_Pwr_1.gplot):

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 
set y2tics 
set grid
set ylabel "Energie"
set y2label "Power"

#FileLog 4:HMPMSW_01_Pwr.energy\x3a::
#FileLog 4:HMPMSW_01_Pwr.power\x3a::

plot "<IN>" using 1:2 axes x1y1 title 'Energie' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Power' ls l1 lw 1 with lines

und die Definitionen dafür beim Device (fhem.cfg):

define SVG_FileLog_HMPMSW_01_Pwr_1 SVG FileLog_HMPMSW_01_Pwr:SVG_FileLog_HMPMSW_01_Pwr_1:CURRENT

Tipps

Aktor nach Stromausfall automatisch einschalten

Um dafür zu sorgen, dass nach einem Stromausfall der Aktor den Schaltausgang von sich aus auf "An" stellt (Default ist "Aus"), kann man seit Firmware Version 2.5 wie folgt vorgehen:

Im Kanal 1 des Devices (_Sw) das Register R-powerUpAction auf on setzen:

set <deviceName>_Sw regSet powerUpAction on

Die folgende Variante ist für ältere Firmware-Versionen möglich:

  1. Device auf übliche Weise mit FHEM pairen
  2. Interne Peers/Register für FHEM aktivieren
    set <deviceName> regSet intKeyVisib visib
  3. Erneutes getConfig auf das Device durchführen
    set <deviceName> getConfig
  4. Ch01 (Sw) mit Ch05 (SenU) peeren
    set <deviceName>_SenU peerChan 0 <deviceName>_Sw single set
  5. Erneutes getConfig auf das Device durchführen
    set <deviceName> getConfig
  6. Register auf Ch01 (Sw) setzen
    set <deviceName>_Sw regSet lgSwJtDlyOff on self01
    set <deviceName>_Sw regSet lgSwJtOn on self01
    set <deviceName>_Sw regSet shSwJtDlyOff on self01
    set <deviceName>_Sw regSet shSwJtOn on self01
    set <deviceName>_Sw regSet lgSwJtDlyOff on self05
    set <deviceName>_Sw regSet lgSwJtOn on self05
    set <deviceName>_Sw regSet shSwJtDlyOff on self05
    set <deviceName>_Sw regSet shSwJtOn on self05
  7. Register auf Ch05 (SenU) setzen
    set <deviceName>_SenU regSet cndTxRising on
    set <deviceName>_SenU regSet txThrHiVlt 200
    set <deviceName>_SenU regSet txThrLoVlt 180

Versehentliches Ausschalten mit dem Taster verhindern

So kann verhindert werden, dass mit dem eingebauten Taster das angeschlossene Gerät versehentlich ausgeschaltet wird. Das Einschalten per Taster ist weiterhin möglich:

Zunächst die internen Peers sichtbar machen: https://wiki.fhem.de/wiki/HomeMatic_Register_programmieren#Tasten_sichtbar_machen

Dann im Kanal 1 des Devices (_Sw) shSwJtOn auf dlyOn setzen:

set <deviceName>_Sw regSet shSwJtOn dlyOn self01

Bekannte Probleme

  • Sobald der PMSw1 selbst von der Spannungsversorgung getrennt worden ist, verliert er die bisherigen Verbrauchswerte.
  • Nach einem Stromausfall steht der Schalter auf "Aus", das angeschlossene Gerät ist also ebenfalls aus. Dies kann - falls man den Aktor nur zur reinen Verbrauchsmessung verwendet - bei der Messung von z.B. Kühlschrank, Kühltruhe oder Heizung zu unerfreulichen Auswirkungen führen. Eine Abhilfe schaffen die unter Tipps aufgeführten Register-Einstellungen.
Mit der Firmware 2.5 wurde am 16.3.2015 im Switch-Channel das Register powerUpAction eingeführt.

Firmware Update

Empfohlene und erprobte Vorgehensweise beim Update der Firmware wie hier im Forum beschrieben. Besonders zu beachten:

  • IO Device verwenden, das für Updates geeignet ist (Attribute IODev und IOgrp), ggf. andere IO Devices vorübergehend auf inaktiv setzen
  • Aktor in Steckdose stecken und einschalten
  • fwUpdate Kommando aus FHEM heraus absetzen
  • Update kann zwei bis drei Minuten dauern (schnelles Blinken der LED (rot) am Aktor)
  • ...

Links