permundo SmartPlug PSC234 wireless relay switch with metering

Begonnen von 50watt, 14 Mai 2014, 21:50:32

Vorheriges Thema - Nächstes Thema

50watt

Permundo SmartPlug PSC234 mit Fhem verwenden:

Das Datenblatt inklusive EEP Beschreibung gibt es hier:
http://www.batterielos.de/shop/media/products/Datasheet-PSC234.pdf

Der SmartPlug ist eine per EnOcean

  • schaltbare Steckdose
  • kein Dimmer
der auch

  • die Leistung
  • den Energieverbrauch
  • die interne Temperatur
  • die Spannung
misst und ausgibt sowie flags für

  • Last an/ausgesteckt
  • Last ein/ausgeschaltet
  • ...
hat.

TeachIn funktioniert:
set TCM teach 60


Den Smartplug in eine Steckdose einstecken:
log (verbose 5):

2014.05.14 21:14:36 5: TCM TCM310_0 RAW: 55000A0701EBA500
2014.05.14 21:14:36 5: TCM TCM310_0 RAW: 55000A0701EBA5000000090186AF830001FFFFFFFF440084
2014.05.14 21:14:36 5: TCM310_0 dispatch EnOcean:1:A5:00000009:0186AF83:00:01FFFFFFFF4400
2014.05.14 21:14:36 1: EnOcean Unknown device with ID 0186AF83 and RORG sensor, please define it.
2014.05.14 21:14:36 2: autocreate: define EnO_sensor_0186AF83 EnOcean 0186AF83 EnOcean:1:A5:00000009:0186AF83:00:01FFFFFFFF4400
2014.05.14 21:14:36 2: autocreate: define FileLog_EnO_sensor_0186AF83 FileLog ./log/EnO_sensor_0186AF83-%Y.log EnO_sensor_0186AF83
2014.05.14 21:14:36 5: TCM TCM310_0 RAW: 55000A0701EBA50000000C0186AF830001FFFFFFFF44004E
2014.05.14 21:14:36 5: TCM310_0 dispatch EnOcean:1:A5:0000000C:0186AF83:00:01FFFFFFFF4400
2014.05.14 21:14:37 5: TCM TCM310_0 RAW: 550009070156D204
2014.05.14 21:14:37 5: TCM TCM310_0 RAW: 550009070156D20460000186AF830001FFFFFFFF44002A
2014.05.14 21:14:37 5: TCM310_0 dispatch EnOcean:1:D2:046000:0186AF83:00:01FFFFFFFF4400


TeachIn mode am PSC234 aktivieren (Knopf 5Sek. drücken, auslassen und wieder 3Sek. drücken)

2014.05.14 21:15:09 5: TCM TCM310_0 RAW: 55000D0701FDD4A0
2014.05.14 21:15:09 5: TCM TCM310_0 RAW: 55000D0701FDD4A0FF33000901D20186AF830001FFFFFFFF490039
2014.05.14 21:15:09 5: TCM310_0 dispatch EnOcean:1:D4:A0FF33000901D2:0186AF83:00:01FFFFFFFF4900
2014.05.14 21:15:09 5: TCM TCM310_0 sending 55000D0701FDD491FF33000901D2FF98A10500030186AF83FF00EC
2014.05.14 21:15:09 5: SW: 55000D0701FDD491FF33000901D2FF98A10500030186AF83FF00EC
2014.05.14 21:15:09 2: EnOcean EnO_sensor_0186AF83 UTE teach-in-response send to 0186AF83
2014.05.14 21:15:09 2: EnOcean EnO_sensor_0186AF83 UTE teach-in EEP D2-01-09 Manufacturer: 033
2014.05.14 21:15:10 5: TCM TCM310_0 RAW: 5500010002650000
2014.05.14 21:15:10 5: TCM TCM310_0 RESPONSE: OK


get <device> measurement all energy
2014.05.14 21:30:08 3: EnOcean EnO_sensor_0186AF83 get 6 30 energy.
2014.05.14 21:30:08 2: EnOcean get EnO_sensor_0186AF83 measurement
2014.05.14 21:30:08 5: TCM TCM310_0 sending 55000807013DD2061EFF98A10500030186AF83FF000B
2014.05.14 21:30:08 5: SW: 55000807013DD2061EFF98A10500030186AF83FF000B
2014.05.14 21:30:08 5: TCM TCM310_0 RAW: 550001000265000055000C070196D20720000000000186AF830001FFFFFFFF4A007A
2014.05.14 21:30:08 5: TCM TCM310_0 RESPONSE: OK
2014.05.14 21:30:08 5: TCM310_0 dispatch EnOcean:1:D2:072000000000:0186AF83:00:01FFFFFFFF4A00


get <device> measurement all power
2014.05.14 21:32:18 3: EnOcean EnO_sensor_0186AF83 get 6 30 power.
2014.05.14 21:32:18 2: EnOcean get EnO_sensor_0186AF83 measurement
2014.05.14 21:32:18 5: TCM TCM310_0 sending 55000807013DD2063EFF98A10500030186AF83FF00F5
2014.05.14 21:32:18 5: SW: 55000807013DD2063EFF98A10500030186AF83FF00F5
2014.05.14 21:32:18 5: TCM TCM310_0 RAW: 550001000265000055000C070196D20760000000000186AF830001FFFFFFFF46000F
2014.05.14 21:32:18 5: TCM TCM310_0 RESPONSE: OK
2014.05.14 21:32:18 5: TCM310_0 dispatch EnOcean:1:D2:076000000000:0186AF83:00:01FFFFFFFF4600

Nun gibt's auch readings für energy0, energyUnits0, power0, powerUnits0 !!

Anstecken einer Last:
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 55000707017AF610
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 55000707017AF6100186AF833001FFFFFFFF4700B9
2014.05.14 21:34:57 5: TCM310_0 dispatch EnOcean:1:F6:10:0186AF83:30:01FFFFFFFF4700
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 55000707017AF600
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 55000707017AF6000186AF833001FFFFFFFF4000AD
2014.05.14 21:34:57 5: TCM310_0 dispatch EnOcean:1:F6:00:0186AF83:30:01FFFFFFFF4000
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 550009070156D204
2014.05.14 21:34:57 5: TCM TCM310_0 RAW: 550009070156D20460640186AF830001FFFFFFFF43001A
2014.05.14 21:34:57 5: TCM310_0 dispatch EnOcean:1:D2:046064:0186AF83:00:01FFFFFFFF4300
2014.05.14 21:34:59 5: TCM TCM310_0 RAW: 55000A0701EBA500
2014.05.14 21:34:59 5: TCM TCM310_0 RAW: 55000A0701EBA500003B0C0186AF830001FFFFFFFF400081
2014.05.14 21:34:59 5: TCM310_0 dispatch EnOcean:1:A5:00003B0C:0186AF83:00:01FFFFFFFF4000
2014.05.14 21:35:08 5: TCM TCM310_0 RAW: 55000A0701EBA500
2014.05.14 21:35:08 5: TCM TCM310_0 RAW: 55000A0701EBA5000000090186AF830001FFFFFFFF440084
2014.05.14 21:35:08 5: TCM310_0 dispatch EnOcean:1:A5:00000009:0186AF83:00:01FFFFFFFF4400


Ausschalten der Last:
2014.05.14 21:36:26 5: TCM TCM310_0 RAW: 55000A0701EBA500
2014.05.14 21:36:26 5: TCM TCM310_0 RAW: 55000A0701EBA50000280C0186AF830001FFFFFFFF4300EC
2014.05.14 21:36:26 5: TCM310_0 dispatch EnOcean:1:A5:0000280C:0186AF83:00:01FFFFFFFF4300
2014.05.14 21:36:29 5: TCM TCM310_0 RAW: 55000A0701EBA500
2014.05.14 21:36:29 5: TCM TCM310_0 RAW: 55000A0701EBA50000000C0186AF830001FFFFFFFF41000F
2014.05.14 21:36:29 5: TCM310_0 dispatch EnOcean:1:A5:0000000C:0186AF83:00:01FFFFFFFF4100


Die Last lässt sich schalten!


Was fehlt sind readings für:

  • die interne Temperatur
  • die Spannung
  • Last an/ausgesteckt
  • Last ein/ausgeschaltet

PSC234 ist kein Dimmer und sollte wohl auch nicht als solcher angezeigt werden.

TAUSEND DANK für das soooo coole EnOcean Modul!
Würde gerne helfen weiter zu Testen ;-)
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

klaus.schauer

Es gibt für die gesamte Familie EEP D2.01.xx ein Fhem-Profil. Deshalb taucht beim Switch auch der Dim-Parameter auf. Das ist vielleicht ein kleiner Schönheitsfehler. Es wäre aber viel zu aufwändig gewesen, weitere Profilunterscheidungen zu machen.

Die von Fhem nicht unterstützten produktspezifischen Flags sind nicht in den EEP enthalten. Die Beschreibung des Gerätes ist ja recht umfangreich. Falls der Aufwand sich in Grenzen hält, werde ich versuchen, dies in nächster Zeit einzuarbeiten.

krikan

#2
Beim PSC234 werden bei mir nur die "Roh"-Readings D0-D3 und sensor1-sensor3 regelmäßig automatisch aktualisiert. Die Readings für energy und power werden nur nach explizitem Aufruf von "get measurment" aktualisiert.  Habe den PSC234 jetzt mehrfach resetet und neu in Fhem angelernt; Ergebniss ist immer gleich. Zudem stimmt der state unregelmäßig nicht; springt zeitweise auf "0".

Muss ich noch etwas besonderes beachten? Oder kann Fhem das noch nicht?

Danke, Christian

krikan

Die angezeigten Rohreadings scheinen EEP A5-12-01 Telegramme (4BS) zu sein. Diese versendet der PSC234 mit der gleichen Absenderadresse wie die EEP D2.01.00 (VLD) -Anders bei den neuen PEHAs dort gibt es unterschiedliche Absenderadressen-.  Laut PSC234-Anleitung müsste doch bei einem UTE-teach-in alles über VLD-Telegramme laufen. Das bekomme ich aber trotz mehrfachen Resets und neuem Teach-in nicht hin, 4BS und VLD werden immer vermischt. Zumindest auf den ersten Blick scheint bei 50watt die gleiche Vermischung vorzuliegen!?

klaus.schauer

Das Problem der Telegramme mit unterschiedlichen EEP, die über eine SenderID kommen, könnte man vielleicht mit einem "subTypeReading" lösen. Dieses Attribut müsste dann manuell gesetzt werden. Das wird aber dazu führen, dass "state" über zwei Profile gefüllt wird. Finde ich auch nicht gerade praktisch. Eine ähnliche Lösung gibts es auch fürs Senden, siehe subTypeSet. Dort kommt es aber nicht zu unerwünschten Wechselwirkungen.

Muss ich mal drüber schlafen. Manchmal frage ich mich inzwischen, wer das alles mit der Vielzahl der Attribute noch wirklich durchblicken will?

krikan

Meine Vermutung und Hoffnung geht eher in die Richtung von Problemen beim Teach-In. Die optische Anzeige des PSC234 beim Teach-In gibt mir nämlich Rätsel auf. Signalisiert nicht nur mit einem Blinken das UTE-Teach-in, sondern signalisierte noch einen weiteren mit unbekannten Vorgang. Zudem verstehe ich die Anleitung so, dass 4BS-Telegramm nur bei 4BS-Central-Command-Teach-in versendet wird. Technisch kannst Du das besser einschätzen, ob meine Gedankengänge überhaupt möglich/richtig sind.

Ich bastel noch mal...
Zitat
Manchmal frage ich mich inzwischen, wer das alles mit der Vielzahl der Attribute noch wirklich durchblicken will?
Du hoffentlich  ;)

Danke, Christian

Zephyr

Hallo zusammen,

habt ihr herausbekommen welches der Readings den aktuellen Status (an oder aus) beim PSC234 anzeigt? Egal ob an oder aus, bei mir werden immer die gleichen Werte angezeigt. Würde das aber gerne in der Übersicht sehen können...

Grüße
Zephy
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

krikan

@Zephyr
Die Lösung kenne ich nicht. Könntest Du aber einmal schreiben, wie Du angelernt hast (UTE?) und welche Telegramme Dein PSC schickt (LOG mit verbose 5)

@klaus.schauer
Befürchte, dass der PSC tatsächlich beim UTE-teach-In verschiedene Telegramme mit gleicher Absenderadresse schickt und kein Anlernfehler vorliegt. Siehe auch meine Threadergänzung zu PEHA EasyclickPro. Wäre dann analog zu PEHA mit dem Nachteil der gleichen Absender-Id. Standardmäßig liefert der PSC aber -im Gegensatz zu PEHA- bei mir nur regelmäßig die A5-Telegramme.

krikan

Nach vielen Experimenten komme ich abschließend zu folgendem Ergebnis beim PSC234:

Nach einem UTE-Teach-In werden folgende Telegramme verschickt:
Bei Schaltvorgängen Statustelegramm als VLD-Telegramme EEP D2.01.00
Zyklische Statustelegramme zur Energiemessung werden automatisch als 4BS-Telegramm EEP A5-12-01 gesendet
Statustelegramme zur Energiemessung als VLD-Telegramme werden nur durch den expliziten Aufruf von "get measurement..." gesendet
Absender-ID ist für alle Telegramme gleich.

Zur annäherend korrekten Auswertung habe ich 10_EnOcean.pm (r5587) folgendermaßen angepasst:

Zeile 3289:
} elsif (($st =~ m/^autoMeterReading/) || ($st eq "actuator.01")){

Zeile 3321:
} elsif (($st eq "autoMeterReading.01") || ($st eq "actuator.01")) {

Zeile 3343:
if (!(($st eq "actuator.01") && ($manufID eq "033"))) {
    push @event, "3:state:$meterReading";
}


Reading "state" wird nach diesen Änderungen immer "nur" mit dem korrekten Schaltstatus gefüllt.

Offene Punkte/Probleme:
- Readings werden in 10_EnOcean.pm für A5 und VLD teilweise gleich benannt, aber unterschiedlich mit Inhalten gefüllt (energy0 usw.)
- MSC-Telegramme werden noch nicht unterstützt
- Einbindung ist nicht sonderlich "schön" und wieder ein Spezialfall für ein Enocan-Produkt im Code trotz EnOcean-Standart

Über kritische Anmerkungen und Ergänzungen wäre ich dankbar.

klaus.schauer

Diese Speziallösung gefällt mir eigentlich nicht. Ich hätte lieber ein allgemeingültiges Vorgehen mit einem zusätzlichen Attribut. Nur etwas wirklich Brauchbares ist mir noch nicht eingefallen. Wahrscheinlich sollten wir es deshalb zuerst mit der vorgeschlagenen Lösung versuchen.

Welche Readings und welche Inhalte sind denn konkret zweifach oder unterschiedlich vorhanden?

Die Bearbeitung der MSC-Telegramme habe ich aus Zeitgründen erst einmal zurückgestellt.

krikan

ZitatDiese Speziallösung gefällt mir eigentlich nicht. Ich hätte lieber ein allgemeingültiges Vorgehen mit einem zusätzlichen Attribut.
Mir auch nicht. Fand den Vorschlag mit subTypeReading von Dir besser, allein am Umsetzungsvermögen scheitert es. Theoretisch: immer wenn subTypeReading eine Parse-Funktion in 10_EnOcean.pm auslöst, sollte keine state-Änderung ausgelöst werden. Fraglich ist aber, ob die Problematik auf den PSC beschränkt ist.

ZitatWelche Readings und welche Inhalte sind denn konkret zweifach oder unterschiedlich vorhanden?
Reading "energy0": A5-Telegramm erzeugt Wert bspw. "0.2"; während D2-Telegramm Wert "245" ergibt; anscheinend Einheiten unterschiedlich
power wird als A5-Telegramm im Reading "power" und als D2-Telegramm im Reading "power0" ausgegeben; Werte sind erfreulicherweise einheitlich (unkritisch)


klaus.schauer

Bitte mal das Reading D2 löschen. Nach der Zuordnung des A5 Profils sollte es nicht mehr beschrieben werden. Falls dennoch, so muss es von einem weiteren gesendeten EEP kommen.

krikan

Mit "D2-Telegrammen" meinte ich nicht die Roh-Readings, sondern die VLD-Telegramme nach EEP D2....
Es werden auch keine Roh-Readings mehr erzeugt, vgl. Screenshot

klaus.schauer


krikan

Nur fast:
ZitatReading "energy0": A5-Telegramm erzeugt Wert bspw. "0.2"; während D2-Telegramm Wert "245" ergibt; anscheinend Einheiten unterschiedlich
power wird als A5-Telegramm im Reading "power" und als D2-Telegramm im Reading "power0" ausgegeben; Werte sind erfreulicherweise einheitlich (unkritisch)
Das Reading "energy0" kann man nicht sinnvoll nutzen, da es von den beiden EEP-Telegrammentypen mit jeweils anderen Einheiten bestückt wird. (0.2 kwh versus  245 wh)