Neu: 77_SMAEM - Modul für SMA Energie Meter. Alternative zum Sunny Home Manager.

Begonnen von Volker Kettenbach, 30 März 2016, 12:42:05

Vorheriges Thema - Nächstes Thema

Volker Kettenbach

Welche Firmqare Version hat das EM? Das kann man per http auf dessen Weboberfläche sehen.

MiVo69

Meine Energy Meter haben Version 1.02.04.R - Die funktionieren alle.
Die Home Manager 2.0 funktionieren leider alle nicht mehr. Die Versionsnummern findest Du im jpg im Anhang.
Gruß Michael


Volker Kettenbach


MiVo69

Schade. Weiß jemand ob man ein Downgrade machen kann?
Gruß Michael

300P



Zitat von: Volker Kettenbach am 11 Dezember 2019, 08:50:27
Da kann ich nicht helfen. Hier geht es nur um das EM

Hallo Volker,

SMA hat augenscheinlich da 8 Byte "zwischengefügt" bei der Version des HM2.0 /verändert, oder falle ich auf einen alte Seite "rein"???

siehe

http://www.eb-systeme.de/?page_id=3005


Gruß
300P

Zitat:


siehe

http://www.eb-systeme.de/?page_id=3005

Auszug / weitere Hinweise von der Seite
SMA Homemanager 2.0 >= 2.03.4.R

SMA hat sein Datagramm, welches der Homemanager 2.0 aussendet, verändert.
Es werden nun 608 byte, statt 600 byte versandt. Da dies in Zukunft noch häufiger geschehen wird, ist es besser, die Werte nicht über den Offset aus dem Bytestream zu holen, sondern über die Indizes (OBIS Kennzahlen).

Anhand der alten Dokumentation sieht man, wie die Messwerte und Zähler aufgebaut sind und an welchen Stellen sie stehen.

Dokumentation EnergyMeter 1.0
http://www.eb-systeme.de/wp-content/uploads/2019/12/EMETER-Protokoll-TI-de-10.pdf


So sieht ein Beispiel eines neuen Datagrams aus:

534d41 00 000402a 0000 0000 1024 c0010 6069 0174 b2f0f761 eb6af9da
0001040000000ff60001080000000002bd9b6e18
0002040000000000000208000000000215c8a160
0003040000000000000308000000000000ddc250
000404000000163600040800000000058dbeaf68
0009040000001b5a0009080000000004f73e9f08
000a040000000000000a080000000003a04bfa70
000d040000000248
->>>000e04000000c378<<<-                                       FETT    ->>>>300P
00150400000002ef0015080000000000f73af370
0016040000000000001608000000000000000000
001704000000000000170800000000000bee0330
00180400000002a8001808000000000055c621e0
001d0400000003f5001d0800000000011acd88e8
001e040000000000001e08000000000000000000
001f040000000266
0020040000039b4c
00210400000002e5
00290400000009cf00290800000000020c6442f0
002a040000000000002a080000000002ef8ce118
002b040000000000002b08000000000000000438
002c040000000d60002c080000000003af10bf50
00310400000010960031080000000002b23ad6d0
0032040000000000003208000000000461fd0768
0033040000000726
0034040000039ca3
003504000000024f
003d040000000338003d08000000000093c071d0
003e040000000000003e08000000000000000000
003f040000000000003f08000000000003167328
004004000000062d0040080000000001970e83a8
00450400000006f70045080000000001d116c3f8
0046040000000000004608000000000000000000
0047040000000311
0048040000039c0a
00490400000001ce
900000000203045200000000

Im fett unterlegten Teilstück stellen sich die eingefügten 8 Byte mit der OBIS Kennzahl 14.4.0 dar. Diese ergeben den Wert 50040. Teilt man das durch 1000 ergeben sich 50,04Hz für die Netzfrequenz.

Die folgende Tabelle gibt eine Übersicht der gesamten Messkanäle und deren Definition:

ID Aktueller Mittelwert Zählerstand Beschreibung
4-byte 8-byte
Summen
1 1:1.4.0 1:1.8.0 Wirkleistung/-arbeit +
2 1:2.4.0 1:2.8.0 Wirkleistung/-arbeit −
3 1:3.4.0 1:3.8.0 Blindleistung/-arbeit +
4 1:4.4.0 1:4.8.0 Blindleistung/-arbeit −
9 1:9.4.0 1:9.8.0 Scheinleistung/-arbeit +
10 1:10.4.0 1:10.8.0 Scheinleistung/-arbeit −
13 1:13.4.0 Leistungsfaktor
14 1:14.4.0 Netzfrequenz (FW HM20: >=2.03.4.R)       ->>>>>Änderung 300P
Phase 1
21 1:21.4.0 1:21.8.0 Wirkleistung/-arbeit +
22 1:22.4.0 1:22.8.0 Wirkleistung/-arbeit −
23 1:23.4.0 1:23.8.0 Blindleistung/-arbeit +
24 1:24.4.0 1:24.8.0 Blindleistung/-arbeit −
29 1:29.4.0 1:29.8.0 Scheinleistung/-arbeit +
30 1:30.4.0 1:30.8.0 Scheinleistung/-arbeit −
31 1:31.4.0 Strom
32 1:32.4.0 Spannung
Phase 2
41 1:41.4.0 1:41.8.0 Wirkleistung/-arbeit +
42 1:42.4.0 1:42.8.0 Wirkleistung/-arbeit −
43 1:43.4.0 1:43.8.0 Blindleistung/-arbeit +
44 1:44.4.0 1:44.8.0 Blindleistung/-arbeit −
49 1:49.4.0 1:49.8.0 Scheinleistung/-arbeit +
50 1:50.4.0 1:50.8.0 Scheinleistung/-arbeit −
51 1:51.4.0 Strom
52 1:52.4.0 Spannung
Phase 3
61 1:61.4.0 1:61.8.0 Wirkleistung/-arbeit +
62 1:62.4.0 1:62.8.0 Wirkleistung/-arbeit −
63 1:63.4.0 1:63.8.0 Blindleistung/-arbeit +
64 1:64.4.0 1:64.8.0 Blindleistung/-arbeit −
69 1:69.4.0 1:69.8.0 Scheinleistung/-arbeit +
70 1:70.4.0 1:70.8.0 Scheinleistung/-arbeit −
71 1:71.4.0 Strom
72 1:72.4.0 Spannung
Sonstige
127 144:0.0.0 Softwareversion (4 Byte)

FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

MiVo69

Vielen Dank für die Information.
Kann ich dann vielleicht doch eine kleine Hoffnung auf eine Anpassung des Moduls hoffen, Volker?
Bin leider selbst nicht in der Lage soetwas zu programmieren...
Gruß Michael

DS_Starter

Guten Morgen zusammen,

@Volker, ich möchte empfehlen das Modul zu kopieren (z.B. nach 77_SMAEM20) und Anpassungen für den HM2.0 dort vorzunehmen, denn wenn ich es richtig lese werden zukünftig noch weitere Anpassungen kommen:

Zitat
SMA hat sein Datagramm, welches der Homemanager 2.0 aussendet, verändert. Es werden nun 608 byte, statt 600 byte versandt. Da dies in Zukunft noch häufiger geschehen wird, ist es besser, die Werte nicht über den Offset aus dem Bytestream zu holen, sondern über die Indizes (OBIS Kennzahlen).

Im SMAEM würde ich nur noch kleinere Anpassungen machen ... das Modul läuft sehr stabil mit dem SMAEM.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Volker Kettenbach

Hallo zusammen,

@DS_Starter: ja, ich denke eine Kopie macht Sinn. Ggf. könnte die auch 77_SMAHM heissen, denn wie ich hier https://www.sma-sunny.com/zwei-in-eins-generationswechsel-beim-sunny-home-manager/ gelesen habe, ist wohl jetzt der Homemanager und das Energy-Meter ein Gerät.

@MiVo69: in unseren Anlagen sind HM und EM zwei separate Geräte.Mein Modul unterstützt nur das EM. Den die Daten des Wechselrichters lese ich direkt über dessen Ethernet Schnittstelle aus. DS_Starter hat dafür das Modul 77_SMAInverter entwickelt. Diese Vorgehensweise (also den Wechselrichter über eine Ethernetschnittstelle auszulesen) ist die präferierte Variante. Das HM und auch das SunnyPortal sind proprietäre Systeme, an die nur schwer an zu docken ist.

Volker Kettenbach

Noch ein Nachtrag: ich werden den HM 2.0 nicht implementieren können, da ich
1. keinen habe
2. nur sehr wenig Zeit habe

DS_Starter

Ich selbst habe auch keinen HM2.0.
Dennoch verstehe ich den Wunsch und die zunehmende Notwendigkeit sich dieser Hardware zuzuwenden. Ich glaube es gibt in dem HM 2 sogar eine eigene API, bin mir da aber nicht sicher.

Momentan bin ich selbst auch noch mit anderen Projekten im Synology Umfeld beschäftigt.

Trotzdem würde ich bei einer Weiterentwicklung des SMAEM2 unterstützen wollen und das neue Modul programmtechnisch in die Hand nehmen, da ich das Modul von Volker gut kenne und auch Beiträge geleistet habe.
Wenn sich also ein kleines Team finden würde, wobei mindestens einer diese Hardware hat und technisch versiert supporten kann, könnten wir das Thema angehen denke ich. Oder jemand schenkt mir einen HM 2.0.  ;D

Wird aber wegen des Zeitfaktors eine längere Geschichte, es denn ein anderer Entwickler findet sich noch.
Bis eine Lösung gefunden ist, könnte ich dir MiVo69 das Modul 76_SMAPortal empfehlen was mittlerweile auch sauber liefert und ein paar nette Features mitbringt.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Wzut

Zitat von: DS_Starter am 12 Dezember 2019, 12:37:10
Wenn sich also ein kleines Team finden würde, wobei mindestens einer diese Hardware hat
Wie du weisst bin ich "begrenzt" Teamfähig, allerdings besitze ich den HM mit der neusten FW und verwende ja selbst einen Clone des Moduls.
Ich habe heute Morgen auch schon versucht die verlinkte Doku http://www.eb-systeme.de/wp-content/uploads/2019/12/EMETER-Protokoll-TI-de-10.pdf
zu verstehen, ist mir aber leider nicht gelungen. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DS_Starter

Hi Wzut,

na bis jetzt war deine Teamfähigkeit immer ausreichend.  8)
Das Dok hatte ich mir auch schon mal angesehen und war auch nicht wirklich schlau geworden.
Außerdem gibt SMA auf deren Developerseite https://www.sma.de/produkte/sma-developer.html die SEMP-Schnittstelle als die umfassend nutzbare Schnittstelle bekannt:

Zitat

Die gute Lösung zum Anbinden an das Energiemanagement

Auch zum Thema Energiemanagement bietet SMA jetzt schon eine Lösung an. Bis es in diesem Segment zu einer Standardisierung kommt, können Sie jetzt schon die vorhandene Protokoll Schnittstelle SEMP (Simple Energy Management Protokoll) des Sunny Home Manager uneingeschränkt nutzen.
....

Ich hatte mir bereits das Developement-Kit vor längerer Zeit mal runtergeladen und hänge das Zip-File hier an.

Wenn ich alles richtig interpretiere, würde man in FHEM ein Gateway-Device (Modul) bauen, um die Informationen des HM zu empfangen und über diesen Weg sogar auch Informationen der zu steuernden Devices an denn EM senden können bezüglich Entscheidung An/Aus usw.
Schau dir das Zip auch mal an Wzut. Wenn du da Potential siehst, müsste ich/man mal das neuste Kit besorgen und sich darauf basierend ein paar Gednken machen.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Ich habe mal was auf die Schnelle probiert ...

@MiVo69, ich habe dir eine Testversion hier angehängt.
Dort gibt es ein Attribut "offset". Setze dir das mal auf den Wert 16.
Und dann schauen wir ob du wieder richtige Werte hast.

Das angehängte Modul downloaden, nach FHEM kopieren und umbenennen nach 77_SMAEM.pm. Danach ein reload 77_SMAEM oder FHeM Neustart.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MiVo69

Hallo,
vielen Dank für die schnellen Reaktionen.
Ich habe das Modul soeben getestet und mit dem Offset von 16 bekomme ich auch wieder vernünftige Werte.
Leider verhagelt mir nun der Offset allerdings die Werte von meinen Energy Metern. Die passen dann wieder nur bei Offset 0.
Für mich als Laie: Im Grunde müßte eine Unterscheidung zwischen Energy Meter und Home Manager implementiert werden, oder tatsächlich eine Aufteilung in 2 verschiedene Module. Dann wäre es allerdings  sinnvoll nur eine Auswertung des Multicastprotokolls bei einer (oder mehrern) in den Attributen hinterlegten passenden Seriennummer zu machen, ansonsten hätten vermutlich beide Module unnötig viel zu tun, oder?
Gruß Michael

DS_Starter

Hi Michael,

na dann hätten wir zumindest erstmal einen Lösungsweg. Es passt für die EM natürlich nicht, keine Frage.
Eine automatische Unterscheidung über die Firmwareversion wäre mir am Liebsten, habe ich aber bis jetzt nicht gefunden dass der EM es mitliefern würde.  Habt ihr das schonmal irgendwo gesehen ?

Zitat
...
Dann wäre es allerdings  sinnvoll nur eine Auswertung des Multicastprotokolls bei einer (oder mehrern) in den Attributen hinterlegten passenden Seriennummer zu machen

Das wäre genau der Weg, wenn es automatisch nicht geht.

Im Grobtext ... ein Attribut mit der Serialnumber die ausgewertet werden soll (Standard: alle wie bisher). Damit kann man den relevanten EM/HM auswählen.
Zweites Attribut "Firmware < Version" bzw. ">= Version" um darüber den offset zu schalten.

Dann wäre zumindest das aktuelle Problem gelöst.

Was denkt ihr ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter