PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung

Aus FHEMWiki
Wechseln zu: Navigation, Suche
PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung
PCA301 Funkschaltsteckdose
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

X mark.svg Ein (natürlich mit Verlust der Gewährleistung verbundener) Umbau zum reinen Energieverbrauchsmesser durch Überbrückung des Relais ist im Forum beschrieben.
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