Forum: Haus & Smart Home Stromzähler EFR SGM C8 auslesen


von Franko P. (sgssn)


Lesenswert?

Hallo
hab nen neuen Stromzähler von EFR bekommen. Der hat neben dem Display 
eine IR-LED die permanent ungefragt Daten ausspuckt. Hab mal ein 
IR-Leser mit UART Schnittstelle drangehalten und mit dem PC 
aufgezeichent, komm aber nicht damit klar, was die Werte bedeuten.
Baudrate 9600 sollte stimmen, im Datenbereich kommt immer wieder die 
Kombination "EFR" vor. ich tippe mal darauf, dass da immer ein neuer 
datensatz beginnt. Hat sich damit mal einer beschäftigt und die Daten 
"entschlüsselt"

Gruß

von 900ss (900ss)


Lesenswert?

Für Tasmota gibt es ein Script für einen EFR Zähler. Nicht deiner.

https://tasmota.github.io/docs/Smart-Meter-Interface/#easymeter-q1d-ascii-obis

Wenn du da recht weit runter scrollst, findest du die Scripte für alle 
möglichen Zähler, auch einen EFR.
Vielleicht spricht ja dein Zähler ähnlich.

von Franko P. (sgssn)


Angehängte Dateien:

Lesenswert?

Ah, ok danke, schau ich mir an.
Mich wundert nur, dass ich Daten nicht anfordern muss, sondern das 
sprudelt von selber.
Hab mal mitgeloggte Daten (programm terminal.exe) angehängt. Was mich 
auch wundert ist, dass die Datensätze offenbar nicht gleich lang sind. 
Könnte es sein, dass das Notebook mit den Daten überfordert ist und 
Daten verschluckt?
ich hab die daten etwas formatiert, die beginnen alle mit "EFR".

gruß

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

@900ss. Duc Fahrer oder was :-)

von Gunnar F. (gufi36)


Lesenswert?

Ich habe das kürzlich mit einer Fotodiode und Transimpedanzverstärker 
gemacht:
Beitrag "SYNA Holley Smart-Stromzähler defekt - angeblich 50.000 Stück betroffen!"

Hast du an die notwendige Invertierung gedacht? Bei meinem ersten 
Versuch fehlte die noch und es kam nur Müll raus.

von 900ss (900ss)


Angehängte Dateien:

Lesenswert?

Franko P. schrieb:
> Duc Fahrer oder was :-)

Das Modell im Vordergrund :)

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

Wahnsinn, ne echte Desmo, sieht aus wie Neu. Respekt! Gratuliere!

von Franko P. (sgssn)


Lesenswert?

Hallo
ne ich denke nicht, dass da ne Invertierung fehlt. Ich hab da so nen 
gekauften IR-Leser für diese Stromzähler. Und meiner hat ne 
UART-Schnittstelle spezifiziert, mit der ich dann auf nen 
UART-USB-Wandler gehe und damit rein ins Notebook. Und bei den daten 
wiederholen sich immer wieder die Daten

45 46 52 22 03 und die "45 46 52" = EFR, 22 könnte für die Anzahl der 
folgenden Byte stehen und die 3 vielleicht für 3-Phasig, danach kommt
E2 D7 AB, das könnten die Phasenspannungen sein. Aber danach? Am 
Stromzählerdisplay kann ich die Leistung ablesen, die gerade aufgenommen 
wird, und das passt irgendwie nicht zu dem was danach an Daten kommt.

Gruß

von Sascha W. (sascha-w)


Lesenswert?

Hab den selben Zähler. Zur Auswertung der Daten im SML-Format verwende 
ich NodeRed. Im Lieferzustand gibt er außer paar Daten wie Hersteller 
(EFM) und Versionsnummer den Bezugszählerstand 1.8.0 und den 
Einspeisezählerstand 2.8.0
auf 0.1Wh genau aus. Hab mir die Pin vom Netzbetreiber schicken lassen. 
Dann gibts zusätzlich:
Strom L1, L2, L3
Leistung L1, L2, L3, Gesamt
Spannung L1, L2, L3
Netzfrequenz
und 5 Phasenwinkel

Für NodeRed gibts dazu ein entsprechendes Smartmeter Plugin.
9600Baud 8N1 passt.

Sascha

von 900ss (900ss)


Lesenswert?

Sascha W. schrieb:
> Für NodeRed gibts dazu ein entsprechendes Smartmeter Plugin

Oh, interessant.  Ich habe zwar nicht den gleichen Zähler aber einen 
anderen der SML ausgibt. Danke gut den Hinweis.

von 900ss (900ss)


Lesenswert?

Franko P. schrieb:
> Wahnsinn, ne echte Desmo, sieht aus wie Neu. Respekt! Gratuliere!

Danke. Ich habe das Moped schon seit 1986 (ist Bj. 1981). Allerdings war 
sie damals silber/blau. Rot sind sie "alle" deshalb ist meine 
schwarz/gold. ;) Und es gefällt mir wirklich besser.

: Bearbeitet durch User
von Peter R. (peter_r689)


Lesenswert?

Hallo,
mal zurück zur eigentlichen Frage. Der Zähler liefert alle Sekunde den 
Datensatz mit den Zählerständen. Ohne Freischaltung nur die Daten, die 
auch auf dem Display zu sehen sind. Nach Freischaltung per PIN auch 
einiges mehr, wie die momentane Leistung. Die lässt sich gut nutzen, den 
eigenen Verbrauch zu analysieren oder sogar Leistungen zu steuern, um 
eine Einspeisung zu minimieren.
Und der Zähler liefert die Daten nach dem SML-Protokoll. Tasmota kann 
das dekodieren, sowie auch andere Auslesegeräte meinzaehler.com 
powerfox.de -> einfach googeln ;-)

Gruß Peter

von Mario M. (thelonging)


Lesenswert?


von 900ss (900ss)


Lesenswert?

Es gibt einen fertigen Lesekopf der mit Tasmota geliefert wird. Ich 
nutze den und er funktioniert gut.

Info dazu:
https://sites.google.com/view/hichi-lesekopf/startseite

Der Kopf zum kaufen in der Bucht:
https://www.ebay.de/itm/315375748332

Die Seite mit den Scripten hatte ich oben schon verlinkt. Dein Zähler 
taucht da nur nicht auf. Ein anderer von EFR allerdings schon.

Du musst dir "nur" für deinen Zähler das passende Script bauen. Dann 
liefert dir der Lesekopf alles z.B. per MQTT.
Es sei denn du möchtest gerne alles selber bauen.

Du müsstest auch prüfen ob die Sender-Empfangsbohrungen vom Abstand 
passen von deinem Zähler und dem Kopf. Ich weiß nicht ob das "genormt" 
ist.

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

Mein Lesekopf sieht genauso aus wie der Tasmota. Ich habe jetzt nur 2 
Probleme. Zum einen eben, dass ich nicht weiss, was die Daten bedeuten 
und dass ich den Eindruck habe, dass nein Notebook überfordet ist. Aber 
letzteres lässt sich schon lösen. Und ich brauch schon die Bedeutung der 
daten, da das Ganze Teil einer Überwachung auf uC-Basis werden soll. Ich 
lese mir mal durch was es da oben alles an Infos und Links gegeben hat. 
Da bin ich beschäftigt. Danke erst mal.

Gruß

von 900ss (900ss)


Lesenswert?

Franko P. schrieb:
> Und ich brauch schon die Bedeutung der daten

Vielleicht mal freundlich beim Hersteller fragen. Vielleicht schicken 
sie dir das Protokoll. Oder im Forum zu Tasmota schauen, evtl. hast das 
schon jemand gelöst und es wurde nur kein Script in der Sammelseite, die 
ich bekomme hatte, aufgeführt.

Sascha hat oben schon geschrieben, dass er die Daten mit NodeRed 
auswertet. Also da müsste ja was zu holen sein. Evtl. über das Plugin zu 
NodeRed.

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

Ja danke. Beim Hersteller hab ich schon nachgefragt: Es gibt nichts was 
es nicht schon auf der Homepage an Downloads gibt. Also ja, werd ich mal 
die Qullen oben absuchen. Hatte ja gehofft hier jemanden zu finden, der 
da schon reingekrochen ist.....

: Bearbeitet durch User
von Peter Z. (hangloose)


Lesenswert?

Bei meinem Holley Zähler...
Der komplette Datensatz startet immer mit

1B 1B 1B 1B 01 01 01 01

Die letzten beiden Bytes bevor wieder die Startsequenz kommt sind die
CRC16 Checksumme

Der Bezug Datensatz startet bei mir mit
77 07 01 00 01 08 00 ff
Wobei der Zählerstand in den letzten Bytes bevor es wieder mit 01 77
weitergeht stehen sollte. Diesen Wert dann durch 10000 teilen, dann hat
man den Bezug in kWh.

Der Einspeise Datensatz startet bei
77 07 01 00 02 08 00 ff

Hier findet man auch einiges...

https://www.stefan-weigert.de/php_loader/sml.php

: Bearbeitet durch User
von Sascha W. (sascha-w)


Lesenswert?

Also das Plugin für Nodered baut auch auf einer SML Bibliothek auf die 
es bei Github gibt - ist halt Java Script. Würde mich nicht wundern wenn 
es das auch in C gibt. Die Frage ist ob man den kompletten Dekoder in 
einen μC einbauen will, Tasmota macht das meines Wissens auch nur so das 
es im Datenstrom nach bestimmten Mustern sucht wie Beispielsweise 1.8.0.
Die Register des EFM für die restlichen Werte kann ich mal raussuchen 
und hier einstellen.

Sascha

von Franko P. (sgssn)


Lesenswert?

Ah super, jetzt kommt Licht ins Dunkel!
danke und Gruß

von Sascha W. (sascha-w)


Angehängte Dateien:

Lesenswert?

Hallo,

hab mal eine Doku vom -C4 angehangen die ich im Internet gefunden habe, 
dort stehen auch die OBIS-Codes drin, die mit den ausgelesenen des C8 
übereinstimmen.

In der Textdatei die ausgelesenen Werte aus NodeRed mit Smartmeter-Node 
als dekodierte Rohdaten der einzelnen Register.

Gruß Sascha

hier noch die SML-Lib auf Github
https://github.com/Apollon77/smartmeter-obis

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

Super, danke für Eure Bemühungen.

Jetzt muss ich erst mal meinen uC dafür programmieren, damit ich dann 
die Werte rausfiltern kann.

Danke nochmal an Alle und Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.