Forum: Haus & Smart Home Projekt SMA HM-D0 Schnüffelstück (PV-Anlage, SmartMeter, Sunny Home Manager)


von Torsten G. (regengott)


Angehängte Dateien:

Lesenswert?

Hallo

Ausgangsituation
Ich habe für meine PV-Anlage einen eHZ Zähler von Hager, von dem ein 
optischer Auslesekopf (HM-D0-METERADAPTER von SMA) an meinem Sunny Home 
Manager (SHM) angeschlossen ist.Der HM-D0 überträgt die D0 Daten über 
RS232 an den SHM.

Ziel
Daten aus dem Zähler nicht nur im SunnyPortal nutzen, sondern gleich in 
meine InfluxDB oder MySQL schreiben.

etwas untechnisch formuliert
Ich möchte das Kabel aufschneiden, eine Wundermaschine aus 
(Raspi/Arduino/Elektronik/was-auch-immer) dazwischen hängen und die 
Daten abgreifen. (siehe Bild) Halt ein Schnüffelstück ;-)

Mir schwebt eine diffuse Idee aus zwei RS232-Shields und etwas 
Programmlogik dazwischen vor, aber ich komme auf keinen Anfang.

Hat jemand eine Idee/Hinweis oder sowas gar schon realisiert?
Wenn ich sehe, wieviele Leute sich die Daten umständlich per FHEM(*) 
wieder einlesen, bin sicher, dass es eine größere Anwendergemeinde dafür 
gäbe...

Viele Grüße
Torsten

(*) https://wiki.fhem.de/wiki/SunnyHomeManager

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Solange nichts weiter über das verwendete Protokoll bekannt ist, 
brauchst Du einen universellen Mithörer.

Der benötigt gleich zwei serielle Schnittstellen für die Auswertung.

Dein "Schnüffelstück" verbindet GND beider seriellen Schnittstellen mit 
dem der abzuhörenden Strecke, die TX-Leitung des Meter-Adapters mit der 
RX-Leitung der einen Deiner seriellen Schnittstellen und die RX-Leitung 
des Meter-Adapters mit der RX-Leitung der anderen Deiner seriellen 
Schnittstellen.

Auf dem Rechner, der die beiden Schnittstellen zur Verfügung stellst, 
läuft ein Programm, das gleichzeitig Daten auf beiden Schnittstellen 
empfängt und sie in zeitlichem Zusammenhang zueinander mit 
Richtungsinformationen erfasst.

Richtungsinformation ist hier "hat Meter-Adapter gesendet" oder "hat 
Sunny Dings gesendet".

Sofern die grundlegenden Übertragungsparameter (Baudrate, Parität etc.) 
korrekt sind, erhältst Du ein Protokoll, das funktional dem hier ähnelt:
1
Sunny .....gib mir daten........................gib mir daten................
2
Meter ....................nutzdaten, nutzdaten.................nutzdaten, nutzdaten

: Bearbeitet durch User
von Torsten G. (regengott)


Lesenswert?

Ja, so dachte ich das auch. Wenn ich die Beiträge hier 
(https://electronics.stackexchange.com/questions/63865/rs-232-serial-sniffing) 
richtig lese, kann ich (da ich nichts senden will) einfach TX und GND 
ausleiten und (nach ggf Spannungswandlung) einem Arduino/RasPi zuführen. 
Dort dann einfach vzlogger laufen lassen und fertig. Kabel ist schon 
gesplittet, Oszi hängt dran - mal schauen, was rauskommt...

von Torsten G. (regengott)


Angehängte Dateien:

Lesenswert?

Die Lösung hätte nicht einfacher sein können. Die Vermutung, ein 
einfaches Wiretapping genügt, hat sich bewahrheitet. (siehe Bild) Man 
kann einen RS232 Sender mit mehreren Empfängern verbinden, jedoch nicht 
mehrere Sender an einen Empfänger anschliessen.

Für alle, die das auch probieren möchten:

Vorrausetzung
* Smartmeter, der Die Daten von sich aus liefert (Bsp SML basierte eHZ 
von Hager).  D0-basierten Smartmeter, die eine Aktivierungssequenz 
erfordern (z.B Itron ACE3000) sind nicht geeignet (s.o.)

Umsetzung
Kabel auftrennen, 8V und RX wieder verbinden, zusätzliches Kabel an TX 
und GND anbringen und ebenfalls wieder verbinden, dann TX an RX eine 
RS232 Schnittstelle anbringen. Kann ein Computer, ein Board für den 
RasPi/Arduino oder ein RS232 zu USB Konverter (5€ bei eBay) sein.

Zitat aus (*1)

>Anschlussbelegung des HM-D0-Meteradapter ist:
>grün = GND
>braun = TX
>weiß = RX
>gelb = +8V

>Entsprechend muss bei einer 9-pol. Sub-D-Buchse:
>grün auf Pin 5
>braun auf Pin 2

Die Daten lese ich mit vzlogger aus, funktioniert bisher prima!

(*1) 
https://www.photovoltaikforum.com/datenlogger-f5/sma-hm-d0-meteradapter-an-raspberry-pi-anschliesen-t97249.html

von Joe (Gast)


Lesenswert?

Moin!

Ich hoffe, hier liest noch jemand mit? Ich versuche im Moment genau das 
selbe, also mitlesen dessen, was vom Lesekopf zum SHM geht.

Protokoll müsste meines Erachtens SML sein. Ich verwende eine FHEM 
Instanz und das Modul Obis.
Einziges Problem: es kommt nur Müll, keine Readings.

Kann ich denn die TX- und GND-Leitung direkt an UART 0 am Raspi klemmen? 
(Spannungsproblem wegen der 8Volt für den Lesekopf?)

Ich besitze so eine FTDI-Rs232 Adapter - hier habe ich TX- und GND 
belegt und versuche über /dev/ttyUSB0 auszulesen, bisher auch nur mit 
mäßigem Erfolg.

Im Internet finde ich Schaltpläne, bei denen die TX-/TX-Leitungen auf 
die UART-GPIO gesteckt wurden. Denke ich zu kompliziert? Ich habe am 
Lesekopf keinen USB-Anschluss ...will ja eben die TX-Leitung einfangen.

Ach ja: 3.3 oder 5V am FTDI-Adapter? Ist das lesend? Vermutlich liegt 
hier mein Problem?!? Unterschiedliche Spannungsquellen.

Danke für jeden Hinweis!

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.