PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (cat) |
||
(25 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
|Bild=PCA301.jpg | |Bild=PCA301.jpg | ||
|Bildbeschreibung=PCA301 Funkschaltsteckdose | |Bildbeschreibung=PCA301 Funkschaltsteckdose | ||
|HWProtocol= | |HWProtocol=PCA | ||
|HWType=Sender, Empfänger, Sensor | |HWType=Sender, Empfänger, Sensor | ||
|HWCategory= | |HWCategory=PCA | ||
|HWComm= | |HWComm=868 MHz | ||
|HWChannels=1 | |HWChannels=1 | ||
|HWVoltage= | |HWVoltage=230 V~ | ||
|HWPowerConsumption=Eigenverbrauch ca. 0, | |HWPowerConsumption=Eigenverbrauch ca. 0,4 W | ||
|HWPoweredBy=Netz | |HWPoweredBy=Netz | ||
|HWSize=120*62*36(72)mm | |HWSize=120*62*36(72) mm | ||
|HWDeviceFHEM=[http://fhem.de/commandref.html#PCA301 36_PCA301.pm] | |HWDeviceFHEM=[http://fhem.de/commandref.html#PCA301 36_PCA301.pm] | ||
|ModOwner=[http://forum.fhem.de/index.php?action=profile;u=430 Andre / justme1968] | |||
|HWManufacturer=ELV / eQ-3 | |HWManufacturer=ELV / eQ-3 | ||
}} | }} | ||
Die '''PCA301''' ist eine über 868, | Die '''PCA301''' ist eine über 868,40 MHz per Funk kommunizierende Schaltsteckdose (Zwischenstecker), die gleichzeitig auch den Energieverbrauch eines angeschlossenen Verbrauchers ermittelt und sendet. | ||
Es gibt eine zu diesem System passende Anzeige- und Bedieneinheit (PSA301), mit der bis zu acht der PCA301 Steckdosen geschaltet und deren gemessene Energieverbrauchswerte angezeigt werden können. | Es gibt eine zu diesem System passende Anzeige- und Bedieneinheit (PSA301), mit der bis zu acht der PCA301 Steckdosen geschaltet und deren gemessene Energieverbrauchswerte angezeigt werden können. | ||
== Features == | == Features == | ||
* Schalten über Funk (PSA301 oder | * Schalten über Funk (PSA301 oder FHEM) | ||
* Schalten über Taste am Gerät | * Schalten über Taste am Gerät | ||
* Messen des Energieverbrauchs und Übertragung der gemessenen Werte | * Messen des Energieverbrauchs und Übertragung der gemessenen Werte | ||
* Die Anzeigeeinheit kann bis zu acht Schaltsteckdosen gleichzeitig verwalten | * Die Anzeigeeinheit kann bis zu acht Schaltsteckdosen gleichzeitig verwalten | ||
== Hinweise zum Betrieb mit | == Hinweise zum Betrieb mit FHEM == | ||
Die PCA301 Unterstützung in | Die PCA301 Unterstützung in FHEM wird über [[JeeLink]] als [[Interface]] abgewickelt. | ||
{{Infobox Modul | |||
|ModPurpose=Modul zur Unterstützung der [[PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung]] | |||
|ModType=d | |||
|ModForumArea=Sonstige Systeme | |||
|ModCmdRef=PCA301 | |||
|ModTechName=36_PCA301.pm | |||
|ModOwner=Andre/justme1968 ({{Link2FU|430|Forum}} / [[Benutzer_Diskussion:Justme|Wiki]]) | |||
}} | |||
Zum Betrieb mit FHEM ist die PCA eigene Anzeigeeinheit nicht | Zum Betrieb mit FHEM ist die PCA-eigene Anzeigeeinheit nicht erforderlich, kann aber gleichzeitig genutzt werden. Dabei ist jedoch zu beachten, dass die Anzeigeeinheit auch aktiv mit den Schaltsteckdosen kommunizieren und z. B. in regelmäßigen Abständen die kumulierten Verbrauchswerte zurücksetzen kann. | ||
Die Beschränkung (der PSA301) auf den Betrieb von bis zu acht Schaltsteckdosen gleichzeitig gilt unter | Die Beschränkung (der PSA301) auf den Betrieb von bis zu acht Schaltsteckdosen gleichzeitig gilt unter FHEM nicht. Das FHEM Modul kann eine größere Anzahl PCA301 gleichzeitig verwalten. | ||
=== Definition | === Definition === | ||
Das Gerät wird definiert mit | Das Gerät wird definiert mit | ||
:<code>define <name> PCA301 <addr> <channel></code> | :<code>define <name> PCA301 <addr> <channel></code> | ||
Bei aktiviertem | Bei aktiviertem [[autocreate]] werden die erforderlichen Definitionen von FHEM beim Erkennen eines entsprechenden Geräts automatisch angelegt. | ||
=== Attribute === | |||
Über die Standard-Attribute (alias, [[devStateIcon]], etc.) hinaus sind folgende Attribute verfügbar: | |||
; forceOn | |||
: '''0''' - keine besondere Behandlung | |||
: '''1''' - die Zwischensteckdose wird von FHEM auf ''on'' gesetzt, sobald der Status ''off'' erkannt wird | |||
; offLevel | |||
: ''wert'' - ein aktueller Verbrauchswert (Reading ''power'') kleiner oder gleich ''wert'' wird als ''off'' angesehen; dieses Verhalten ist nur aktiv, wenn gleichzeitig Attribut ''readonly'' ungleich ''0'' ist | |||
; readonly | |||
: wenn dieses Attribut einen Wert ungleich ''0'' hat, sind alle Schaltfunktionen (''on'', ''off'', ''toggle'') inaktiv | |||
== Bekannte Probleme == | == Bekannte Probleme == | ||
=== Verhalten nach Stromausfall === | === Verhalten nach Stromausfall === | ||
{{Randnotiz|RNTyp=r|RNText=Ein (natürlich mit Verlust der Gewährleistung verbundener) Umbau zum reinen Energieverbrauchsmesser durch Überbrückung des Relais ist im {{Link2Forum|Topic=11648|Message=106468|LinkText=Forum}} beschrieben. <br /> Nachbau - wie üblich - auf eigene Gefahr.}} | |||
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) befindet sich der PCA301 im Zustand "Aus". Je nach Anwendungssituation (z. B. Einsatz als Verbrauchsmessgerät bei einem Kühlschrank) könnte das unerwünschte Auswirkungen haben. Um dem entgegenwirken zu können, gibt es für dieses Device die Möglichkeit mit | Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) befindet sich der PCA301 im Zustand "Aus". Je nach Anwendungssituation (z. B. Einsatz als Verbrauchsmessgerät bei einem Kühlschrank) könnte das unerwünschte Auswirkungen haben. Um dem entgegenwirken zu können, gibt es für dieses Device die Möglichkeit mit | ||
:<code>attr <name> forceOn 1</code> | :<code>attr <name> forceOn 1</code> | ||
den Status "On" zu erzwingen. | den Status "On" zu erzwingen. FHEM versucht dann, das Gerät einzuschalten, sobald ein Zustand oder Schaltvorgang "Off" erkannt wird. Das setzt natürlich ein laufendes FHEM-System voraus. | ||
=== Pairen der zweiten und weiterer Steckdosen === | === Pairen der zweiten und weiterer Steckdosen === | ||
Werden weitere Steckdosen durch '''autocreate''' angelegt, stimmt unter Umständen die Kanalnummer nicht und die Steckdose ist von | Werden weitere Steckdosen durch '''autocreate''' angelegt, stimmt unter Umständen die Kanalnummer nicht und die Steckdose ist von FHEM aus nicht schaltbar. In diesem Fall sollte das Gerät gelöscht werden (mit dem Befehl | ||
:<code>delete PCA301_xxxxxx</code> | :<code>delete PCA301_xxxxxx</code> | ||
einzugeben im Befehlsfenster im Webinterface). Nach der erneuten automatischen Erkennung sollte das Gerät dann funktionieren. | einzugeben im Befehlsfenster im Webinterface). Nach der erneuten automatischen Erkennung sollte das Gerät dann funktionieren. | ||
Die Ursache für Unstimmigkeiten bei der | Die Ursache für Unstimmigkeiten bei der Kanalzuordnung sind in der Regel Dosen, die zuerst an FHEM und dann an der Displayeinheit angelernt werden. Die nächste Version des FHEM moduls wird automatisch geänderte Kanalnummern lernen und im Device aktualisieren. Das Problem sollte dann nicht mehr auftreten. | ||
=== Häufiges Polling mit PCA Sketch | === Häufiges Polling mit PCA Sketch pcaSerial10.0h === | ||
Mit Version 10.0h des pcaSerial Sketches wurden die definierten Geräte fälschlicherweise im Abstand von drei Sekunden gepollt. Dieses Problem wurde mit Version 10.0i behoben. | Mit Version 10.0h des pcaSerial Sketches wurden die definierten Geräte fälschlicherweise im Abstand von drei Sekunden gepollt. Dieses Problem wurde mit Version 10.0i behoben. | ||
Nach Aufspielen der Version 10.0i auf den JeeLink müssen die folgenden Befehle abgesetzt werden (Eingabe in das | Nach Aufspielen der Version 10.0i auf den JeeLink müssen die folgenden Befehle abgesetzt werden (Eingabe in das FHEM-Befehlsfeld unter der Annahme, dass der JeeLink mit dem Namen ''myJeeLink'' definiert wurde): | ||
:<code>set myJeeLink raw 0c< | :<code>set myJeeLink raw 0c</code> | ||
:<code>set myJeeLink raw 2c</code> | |||
um die Konfiguration im EEPROM des JeeLink neu zu füllen. | um die Konfiguration im EEPROM des JeeLink neu zu füllen. | ||
=== | === "Leerlaufanzeige" zwischen 20W und 35W === | ||
PCA301 der Charge, die ca. Anfang November 2013 ausgeliefert wurde, zeigen teilweise im Leerlauf (d.h. eingeschaltet aber ohne angeschlossenen oder eingeschalteten Verbraucher) eine konstante Leistungsaufnahe von | PCA301 der Charge, die ca. Anfang November 2013 ausgeliefert wurde, zeigen teilweise im Leerlauf (d.h. eingeschaltet aber ohne angeschlossenen oder eingeschalteten Verbraucher) eine konstante Leistungsaufnahe von 20 bis 35 Watt an. Exemplare mit dieser Fehlfunktion sind zu reklamieren und an der Lieferanten zurückzugeben. | ||
Auch die Ende Januar 2014 ausgelieferte Charge hat offensichtlich eine Fehlerquote von bis zu 50%. ELV hat mittlerweile darauf reagiert und folgende Information herausgegeben: | |||
:''Es ist korrekt, dass der Artikel aktuell nicht verfügbar ist. Es gab bei einigen Steckdosen eine fehlerhafte Anzeige im Leerlauf. Dieses Verhalten wird aktuell mit dem Hersteller geklärt und der Lagerbestand ist für diese Zeit gesperrt. Die Steckdosen werden jedoch nach Klärung dieses Sachverhalts wieder im ELV Shop angeboten.'' ([http://www.elv.de/topic/zusatz-steckdosen-fehlerhaft-und-derzeit-nicht-im-sortiment.html ELV]) | |||
=== Löschen von PCA301 Geräten erfordert Nacharbeiten === | |||
Zumindest derzeit (d.h. 02/2014 mit Version 10.0i des JeeLink Sketches) müssen nach dem Löschen von nicht mehr erwünschten PCA301 Geräten die beiden Befehle | |||
:<code>set myJeeLink raw 0c</code> | |||
:<code>set myJeeLink raw 2c</code> | |||
abgesetzt werden. Anderenfalls werden die Steckdosen von der autocreate Funktion bei jedem FHEM-Neustart oder dem Neueinlesen der [[Konfiguration]] wieder angelegt. | |||
=== Empfangsfrequenz korrigieren === | |||
Siehe [[JeeLink#PCA301 Sketch|PCA301 Sketch]]. | |||
=== Schalten bei Empfangsproblemem erzwingen === | |||
Es gibt verschiedene Möglichkeiten, das Schalten auch bei Empfangsproblemen zu erzwingen. Eine [[watchdog]]-basierte aus diesem {{Link2Forum|Topic=11648|Message=320423}}: | |||
define watchOn watchdog <pca301>:set-on 00:00:02 <pca301>:on set <pca301> on; trigger watchOn . | |||
define watchOff watchdog <pca301>:set-off 00:00:02 <pca301>:off set <pca301> off; trigger watchOff . | |||
Damit wird zwei Sekunden nach dem ersten Fehlversuch erneut versucht, zu schalten. Wenn im watchdog die Reihenfolge von set und trigger vertauscht wird, wird so lange versucht zu schalten, bis es erfolgreich war. Die watchdogs müssen jeweils für jede Dose angelegt werden. | |||
Eine auf [[notify]] und einer Routine in [[99_myUtils_anlegen|99_myUtils.pm]] basierende Variante ist in {{Link2Forum|Topic=42080|LinkText=diesem Forenthread}} beschrieben. Das ''notify'': | |||
:<code>define PCA301.ntfy notify .*.(on|off|set-on|set-off) {if($TYPE eq 'PCA301') {PCA301_check($NAME,$EVENT)}}</code> | |||
Der Code für die ''99_myUtils'': | |||
<syntaxhighlight lang="perl" style="width:750px">sub PCA301_check($$){ | |||
my ($Name,$Event) = @_; | |||
#Reading warte auf acknowledge setzen | |||
if (($Event eq "set-on") or ($Event eq "set-off")) { | |||
readingsSingleUpdate($defs{$Name}, "waitforACK", $Event,1); | |||
Log 1, ("PCA301_check: Schaltsignal $Event zu $Name gesendet"); | |||
} | |||
#Rückmeldung Kontrollieren | |||
if ($Event eq "on") { | |||
if (ReadingsVal($Name, 'waitforACK', '') eq "set-on") { | |||
readingsSingleUpdate($defs{$Name}, "waitforACK", "ACK:on",1); | |||
Log 1, ("PCA301_check: Rückmeldung $Event von $Name erhalten"); | |||
} elsif (ReadingsVal($Name, 'waitforACK', '') eq "set-off") { | |||
fhem ("sleep 1;set $Name off"); | |||
Log 1, ("PCA301_check: Falsche Rückmeldung $Event von $Name erhalten"); | |||
} | |||
} elsif ($Event eq "off") { | |||
if (ReadingsVal("$Name", 'waitforACK', '') eq "set-off") { | |||
readingsSingleUpdate($defs{$Name}, "waitforACK", "ACK:off",1); | |||
Log 1, ("PCA301_check: Rückmeldung $Event von $Name erhalten"); | |||
} elsif (ReadingsVal($Name, 'waitforACK', '') eq "set-on") { | |||
fhem ("sleep 1;set $Name on"); | |||
Log 1, ("PCA301_check: Falsche Rückmeldung $Event von $Name erhalten"); | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
== Links == | == Links == | ||
* | * Bedienungsanleitung der Funkschaltsteckdose (PDF {{DocLink|elv|/Assets/Produkte/10/1088/108894/Downloads/108894_funkschaltsteckdose_pca301_um.pdf}}) | ||
* | * Bedienungsanleitung Steckdose und Bedien-/Anzeigeeinheit (PDF {{DocLink|elv|/Assets/Produkte/10/1088/108893/Downloads/108893_pca301_um.pdf}}) | ||
* [http://blog.moneybag.de/hausautomation-fhem-mit-funksteckdose-energiemessung-elv-pca-301/ Blog] zum Thema | * {{Link2Forum|Topic=11648|LinkText=JeeLink / PCA301}} - Analyse des Funkprotokolls; Anfänge der Entstehung der PCA301-Unterstützung in FHEM. | ||
* [http://blog.moneybag.de/hausautomation-fhem-mit-funksteckdose-energiemessung-elv-pca-301/ Blog] zum Thema JeeLink zur Anbindung von PCA301 und von Lacrosse Temperatursensoren an FHEM | |||
[[Kategorie:Other Components]] | [[Kategorie:Other Components]] | ||
[[Kategorie: | [[Kategorie:Energieverbrauchsmessung]] | ||
[[Kategorie:Schalter (Empfänger)]] | [[Kategorie:Schalter (Empfänger)]] | ||
[[Kategorie:868MHz]] |
Aktuelle Version vom 16. Mai 2018, 16:47 Uhr
PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung | |
---|---|
Allgemein | |
Protokoll | PCA |
Typ | Sender, Empfänger, Sensor |
Kategorie | PCA |
Technische Details | |
Kommunikation | 868 MHz |
Kanäle | 1 |
Betriebsspannung | 230 V~ |
Leistungsaufnahme | Eigenverbrauch ca. 0,4 W |
Versorgung | Netz |
Abmessungen | 120*62*36(72) mm |
Sonstiges | |
Modulname | 36_PCA301.pm |
Ersteller | Andre / justme1968 |
Hersteller | ELV / eQ-3 |
Die PCA301 ist eine über 868,40 MHz per Funk kommunizierende Schaltsteckdose (Zwischenstecker), die gleichzeitig auch den Energieverbrauch eines angeschlossenen Verbrauchers ermittelt und sendet.
Es gibt eine zu diesem System passende Anzeige- und Bedieneinheit (PSA301), mit der bis zu acht der PCA301 Steckdosen geschaltet und deren gemessene Energieverbrauchswerte angezeigt werden können.
Features
- Schalten über Funk (PSA301 oder FHEM)
- Schalten über Taste am Gerät
- Messen des Energieverbrauchs und Übertragung der gemessenen Werte
- Die Anzeigeeinheit kann bis zu acht Schaltsteckdosen gleichzeitig verwalten
Hinweise zum Betrieb mit FHEM
Die PCA301 Unterstützung in FHEM wird über JeeLink als Interface abgewickelt.
PCA301 | |
---|---|
Zweck / Funktion | |
Modul zur Unterstützung der PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstige Systeme |
Modulname | 36_PCA301.pm |
Ersteller | Andre/justme1968 (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Zum Betrieb mit FHEM ist die PCA-eigene Anzeigeeinheit nicht erforderlich, kann aber gleichzeitig genutzt werden. Dabei ist jedoch zu beachten, dass die Anzeigeeinheit auch aktiv mit den Schaltsteckdosen kommunizieren und z. B. in regelmäßigen Abständen die kumulierten Verbrauchswerte zurücksetzen kann.
Die Beschränkung (der PSA301) auf den Betrieb von bis zu acht Schaltsteckdosen gleichzeitig gilt unter FHEM nicht. Das FHEM Modul kann eine größere Anzahl PCA301 gleichzeitig verwalten.
Definition
Das Gerät wird definiert mit
define <name> PCA301 <addr> <channel>
Bei aktiviertem autocreate werden die erforderlichen Definitionen von FHEM beim Erkennen eines entsprechenden Geräts automatisch angelegt.
Attribute
Über die Standard-Attribute (alias, devStateIcon, etc.) hinaus sind folgende Attribute verfügbar:
- forceOn
- 0 - keine besondere Behandlung
- 1 - die Zwischensteckdose wird von FHEM auf on gesetzt, sobald der Status off erkannt wird
- offLevel
- wert - ein aktueller Verbrauchswert (Reading power) kleiner oder gleich wert wird als off angesehen; dieses Verhalten ist nur aktiv, wenn gleichzeitig Attribut readonly ungleich 0 ist
- readonly
- wenn dieses Attribut einen Wert ungleich 0 hat, sind alle Schaltfunktionen (on, off, toggle) inaktiv
Bekannte Probleme
Verhalten nach Stromausfall
Nachbau - wie üblich - auf eigene Gefahr.
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) befindet sich der PCA301 im Zustand "Aus". Je nach Anwendungssituation (z. B. Einsatz als Verbrauchsmessgerät bei einem Kühlschrank) könnte das unerwünschte Auswirkungen haben. Um dem entgegenwirken zu können, gibt es für dieses Device die Möglichkeit mit
attr <name> forceOn 1
den Status "On" zu erzwingen. FHEM versucht dann, das Gerät einzuschalten, sobald ein Zustand oder Schaltvorgang "Off" erkannt wird. Das setzt natürlich ein laufendes FHEM-System voraus.
Pairen der zweiten und weiterer Steckdosen
Werden weitere Steckdosen durch autocreate angelegt, stimmt unter Umständen die Kanalnummer nicht und die Steckdose ist von FHEM aus nicht schaltbar. In diesem Fall sollte das Gerät gelöscht werden (mit dem Befehl
delete PCA301_xxxxxx
einzugeben im Befehlsfenster im Webinterface). Nach der erneuten automatischen Erkennung sollte das Gerät dann funktionieren.
Die Ursache für Unstimmigkeiten bei der Kanalzuordnung sind in der Regel Dosen, die zuerst an FHEM und dann an der Displayeinheit angelernt werden. Die nächste Version des FHEM moduls wird automatisch geänderte Kanalnummern lernen und im Device aktualisieren. Das Problem sollte dann nicht mehr auftreten.
Häufiges Polling mit PCA Sketch pcaSerial10.0h
Mit Version 10.0h des pcaSerial Sketches wurden die definierten Geräte fälschlicherweise im Abstand von drei Sekunden gepollt. Dieses Problem wurde mit Version 10.0i behoben.
Nach Aufspielen der Version 10.0i auf den JeeLink müssen die folgenden Befehle abgesetzt werden (Eingabe in das FHEM-Befehlsfeld unter der Annahme, dass der JeeLink mit dem Namen myJeeLink definiert wurde):
set myJeeLink raw 0c
set myJeeLink raw 2c
um die Konfiguration im EEPROM des JeeLink neu zu füllen.
"Leerlaufanzeige" zwischen 20W und 35W
PCA301 der Charge, die ca. Anfang November 2013 ausgeliefert wurde, zeigen teilweise im Leerlauf (d.h. eingeschaltet aber ohne angeschlossenen oder eingeschalteten Verbraucher) eine konstante Leistungsaufnahe von 20 bis 35 Watt an. Exemplare mit dieser Fehlfunktion sind zu reklamieren und an der Lieferanten zurückzugeben.
Auch die Ende Januar 2014 ausgelieferte Charge hat offensichtlich eine Fehlerquote von bis zu 50%. ELV hat mittlerweile darauf reagiert und folgende Information herausgegeben:
- Es ist korrekt, dass der Artikel aktuell nicht verfügbar ist. Es gab bei einigen Steckdosen eine fehlerhafte Anzeige im Leerlauf. Dieses Verhalten wird aktuell mit dem Hersteller geklärt und der Lagerbestand ist für diese Zeit gesperrt. Die Steckdosen werden jedoch nach Klärung dieses Sachverhalts wieder im ELV Shop angeboten. (ELV)
Löschen von PCA301 Geräten erfordert Nacharbeiten
Zumindest derzeit (d.h. 02/2014 mit Version 10.0i des JeeLink Sketches) müssen nach dem Löschen von nicht mehr erwünschten PCA301 Geräten die beiden Befehle
set myJeeLink raw 0c
set myJeeLink raw 2c
abgesetzt werden. Anderenfalls werden die Steckdosen von der autocreate Funktion bei jedem FHEM-Neustart oder dem Neueinlesen der Konfiguration wieder angelegt.
Empfangsfrequenz korrigieren
Siehe PCA301 Sketch.
Schalten bei Empfangsproblemem erzwingen
Es gibt verschiedene Möglichkeiten, das Schalten auch bei Empfangsproblemen zu erzwingen. Eine watchdog-basierte aus diesem Beitrag:
define watchOn watchdog <pca301>:set-on 00:00:02 <pca301>:on set <pca301> on; trigger watchOn . define watchOff watchdog <pca301>:set-off 00:00:02 <pca301>:off set <pca301> off; trigger watchOff .
Damit wird zwei Sekunden nach dem ersten Fehlversuch erneut versucht, zu schalten. Wenn im watchdog die Reihenfolge von set und trigger vertauscht wird, wird so lange versucht zu schalten, bis es erfolgreich war. Die watchdogs müssen jeweils für jede Dose angelegt werden.
Eine auf notify und einer Routine in 99_myUtils.pm basierende Variante ist in diesem Forenthread beschrieben. Das notify:
define PCA301.ntfy notify .*.(on|off|set-on|set-off) {if($TYPE eq 'PCA301') {PCA301_check($NAME,$EVENT)}}
Der Code für die 99_myUtils:
sub PCA301_check($$){
my ($Name,$Event) = @_;
#Reading warte auf acknowledge setzen
if (($Event eq "set-on") or ($Event eq "set-off")) {
readingsSingleUpdate($defs{$Name}, "waitforACK", $Event,1);
Log 1, ("PCA301_check: Schaltsignal $Event zu $Name gesendet");
}
#Rückmeldung Kontrollieren
if ($Event eq "on") {
if (ReadingsVal($Name, 'waitforACK', '') eq "set-on") {
readingsSingleUpdate($defs{$Name}, "waitforACK", "ACK:on",1);
Log 1, ("PCA301_check: Rückmeldung $Event von $Name erhalten");
} elsif (ReadingsVal($Name, 'waitforACK', '') eq "set-off") {
fhem ("sleep 1;set $Name off");
Log 1, ("PCA301_check: Falsche Rückmeldung $Event von $Name erhalten");
}
} elsif ($Event eq "off") {
if (ReadingsVal("$Name", 'waitforACK', '') eq "set-off") {
readingsSingleUpdate($defs{$Name}, "waitforACK", "ACK:off",1);
Log 1, ("PCA301_check: Rückmeldung $Event von $Name erhalten");
} elsif (ReadingsVal($Name, 'waitforACK', '') eq "set-on") {
fhem ("sleep 1;set $Name on");
Log 1, ("PCA301_check: Falsche Rückmeldung $Event von $Name erhalten");
}
}
}
Links
- Bedienungsanleitung der Funkschaltsteckdose (PDF [1])
- Bedienungsanleitung Steckdose und Bedien-/Anzeigeeinheit (PDF [2])
- JeeLink / PCA301 - Analyse des Funkprotokolls; Anfänge der Entstehung der PCA301-Unterstützung in FHEM.
- Blog zum Thema JeeLink zur Anbindung von PCA301 und von Lacrosse Temperatursensoren an FHEM