Einbindung der kostengünstigen Funkschaltsteckdose PCA 301 mit Energiemessung

Begonnen von Emil, 13 März 2013, 11:22:35

Vorheriges Thema - Nächstes Thema

justme1968

das klingt ja schon klasse.

eine frage ohne gerade testen zu können: meldet der sketch automatisch wenn eine neue steckdose gepaired wurde?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ohweh

Ich dachte Du bist in Urlaub ;-)

Ja, meldet eher... ein kurzer Hinweis beginnend mit "#PREQ" gefolgt von der ID der Dose. Dachte mir ihr braucht das ;-)


justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Kleiner

Falls noch Bedarf besteht ich habe nochmal für "2 Packte" den SPI-Traffic der Anzeigeeinheit aufgezeichnet.
Und dieses Mal habe ich ein etwas besser lesbares Format (XML)

ohweh


Kleiner

Zitat von: Kleiner schrieb am Di, 21 Mai 2013 20:05Mir ist das Set bei ELV auch aufgefallen, ich habe es mit jedoch aus einer anderen Intention gekauft.
Ich möchte eine Anbindung an emoncms umsetzen und den Energieverbrauch dort abbilden.

Leider hatte ich wenig bis keinen Erfolg bei der Suche nach Details zum Funk-Protokoll, aus diesem Grund habe ich selbst begonnen die Hardware zu untersuchen.
Aktuell habe ich die Anzeigeeinheit bereits zerlegt und einen Abgriff für die SPI-Schnittstelle des Funkmoduls realisiert.
Als Funkmodul in der Anzeigeeinheit kommt ein RFM12BDP von HOPERF Electronic zum Einsatz.

Zum Mitschneiden der SPI-Schnittstelle verwende ich einen Bus Pirate v3.
Ich habe ein kleines Programm geschrieben das sowohl das Mitschneiden als auch eine "Interpretation" der Daten übernimmt.
Ein erstes Ergebnis könnt ihr in der angehängten Datei finden, diese Datei enthält zwei Protokolle (ohne Last, aus- bzw. eingeschaltet).

Es scheint ca. alle 60s eine Anfrage der Anzeigeeinheit zu geben, mit anschließender Antwort der Steckdose/n.
Dabei werden folgende Daten übermittelt (ins TX Register geschrieben bzw. aus dem RX FIFO ausgelesen:

TX Protokoll (Anzeigeeinheit):
TX: AA AA AA 2D D4 01 04 07 F8 92 00 AA AA AA AA 71 52 AA AA AA
TX: AA AA AA 2D D4 01 04 07 F8 92 00 AA AA AA AA 71 52 AA AA AA

TX: AA AA AA 2D D4 01 05 07 F8 92 01 AA AA AA AA 77 4A AA AA AA

RX Protokoll (Anzeigeeinheit):
RX: 01 04 07 F8 92 00 00 00 00 00 0E 9F
RX: 01 04 07 F8 92 01 00 00 00 00 8E E4

RX: 01 05 07 F8 92 01 AA AA AA AA 77 4A

Interpretation:
1 Byte: Kanal
1 Byte: Befehl (04 = Abfrage Messwerte, 05 = Schaltbefehl, 06 = Funk-Steckdose suchen)
3 Byte: Adresse (UID) Steckdose
1 Byte: Data [Befehl 04: (00 = default, 01 = rücksetzten des absoluten Verbrauchs), Befehl 05: (00 = aus, 01 = ein), Befehl 06: (00 = default)]
2 Byte: aktueller Verbrauch in W (Faktor 1/10)
2 Byte: absoluter Verbrauch in kWh (Faktor 1/100)
2 Byte: CRC16 (Polynom 8005h)



Damit dürfe die Frage nach dem Protokoll fast geklärt sein, offen wäre noch das Thema "pairing".


PS: Ich hatte den Befehl 06 unterschlagen "Finden der Steckdose"

ohweh

Hey,

was meinst Du mit 06, finden der Dose? Der ist mir noch nicht in die Pfoten gekommen. Was passiert denn dann?

/Oliver

Kleiner

Die LED der Steckdose blinkt ~5sec.
Könnte ganz nützlich sein wenn man nicht mehr grnau weiß welcher Kanal welche Steckdose ist und nicht ein-/ausschalten möchte.

ohweh

Nicht schlecht, könnte echt hilfreich sein! Bin mal gespannt ob wir noch mehr finden?!?!

Kleiner

Ich denke nicht, meine Referenz für die möglichen Befehle war die Anleitung der Anzeigeeinheit.
Ich bin einfach die verschiedenen Befehele durchgegangen und habe die Daten auf dem SPI-Bus analysiert.
ICh denke nicht das es einen SW-Update oder ähnliche versteckte Befehle gibt.

ohweh

Eigentlich fehlt mir auch nur ein einziger. Der, der der Dose mitteilt, dass sie ihren Schaltzustand über einen Stromausfall hinweg behalten soll. Haben sie wohl schlicht vergessen (oder weggespart). Aber gut, können wir natürlich zu Fuss nachbilden...

/Oliver

justme1968

@ohweh: könntest du mal eine sitzung mit der seriellen konsole posten mit den antworten auf die kommandos ?

danke
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ein paar anregungen nach trockenübungen und gedankenspielen:

- das automatische pairen sollte abschaltbar sein und vielleicht noch nicht mal der default. es wird ziemlich probleme machen wenn der nachbar auch welche von den steckdosen hat oder man z.b. aus reichweiten gründen mehr als einen enpfänger hat/braucht.

- in den raw messages sollten weder beim senden noch beim empfangen kommas oder leerzeichen sein. zumindest nicht überall und nicht zwischen zusammmengehörenden bytes wie z.b. der adresse oder den beiden bytes der verbrauchsdaten. das macht das parsen auf fhem seite unhandlich. wenn es die hex schlange lesbarer machen soll dann leerzeichen und immer zwischen logischen teilen und beim senden und empfangen gleich.

- ich würde vorschlagen für die nachrichten zwischen fhem und dem jeenode in beiden richtungen nur die adresse der steckdosen zu verwenden. die laufende nummer bringt keinen wirklichen vorteil sondern wird an einigen stellen probleme machen. z.b. bei mehr als einem empfänger oder wenn sich die nummer beim neu anlernen ändert. bei den hue lampen habe ich nur so eine laufende nummer und die priobleme sind nicht nur  theoretisch da.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Kleiner

Für mich ist z.B. noch offen ob das Protokoll mehr als die sieben oder acht Kanäle hergibt oder nicht.
Dies könnte unter Umständen dann auch die Frage klären ob es notwendig / sinnvoll ist den Kanal zu betrachen oder nicht.

justme1968

wenn du die beschränkung das anzahl der dosen bei der steuereinheit meinst: die ist für mich im protokoll nicht sichtbar. ich sehe keinen grund warum der sketch nicht mit beliebig vielen steckdosen klar kommen sollte.

ich vermute mal die beschränkung betrifft nur die anzeigeeinheit und nich das protokoll und die integration in fhem.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968