Open rucksman opened 2 years ago
Hallo rucksman; hast du vielleicht noch andere SMA-Geräte in deinem Netz hängen (mit der Seriennummer 2013313958) https://github.com/datenschuft/SMA-EM/issues/66 vermutlich ist das Problem hiermit behoben. Dein Datenstrom beginnt auch mit 534d4100000402a000000001002; Das dürften auch Speedwire device discovery Pakete sein
Ich habe ja die aktuelle Version von SMA-EM verwendet, da ist der PR ja schon integriert. Ich habe zwar noch andere SMA Geräte (Wechselrichter, Home Manager 1.0), aber die haben alle nicht diese Seriennummer.
Neues Problem: Es kommen nur in großen Abständen Daten. Dazwischen werden keine Daten gesendet. Der EM ist aber per ping erreichbar, auch die Web-Oberfläche lässt sich aufrufen. Der Wechselrichter ist auch pingbar. Mache ich in der Zeit ein sma-em-capture-package.py, dann passsiert erst einmal minutenlang gar nichts, irgendwann kommt dann eine Ausgabe, dann erhalte ich auch über MQTT wieder Daten. Das geht dann ganz kurze Zeit gut, bis wieder minutenlang keine Daten mehr kommen. Gibt es da einen Trick, wie ich dem Problem auf die Schliche kommen kann? Die Pakete kommen ja an, aber eben nicht zuverlässig und immer nur ganz kurz, ehe es wieder viele Minuten keine Daten gibt.
I tried to set this up on my new PV installation with HM2 and an SMA Tripower 15. I got a similar behavior like rucksman. It seems 2 different devices are broadcasting. HM2 Serial: 3011XXXXXX unk Serials: 2013XXXXXX STP 15 Serials: 19XXXXXXXX With a try: except: block, I get a 50/50 chance to hit the correct device. BTW, what is the correct value for "ipbind". If I enter the HM2 ip address, I get: "could not connect to mulicast group or bind to given interface"
Okay, found a "fix".
I got datalength of 54, 74 and 606. So in decode_speedwire() I use:
if datalength > 74:
instead of
if datalength >= 54:
I also added a while not in sma-em-measurement.py
emparts = {}
while not emparts:
emparts=decode_speedwire(sock.recv(608))
Lets see what will come out of that.
Tanks @ano302 for the hint.
I got also this kind of crash, regularly in less than a minute:
Traceback (most recent call last):
File "/opt/smaemd/SMA-EM/sma-em-measurement.py", line 82, in <module>
print ('SMA-EM Serial:{}'.format(emparts['serial']))
KeyError: 'serial'
After adding the line "while not emparts:" the capturing works without crashing :-)
I'm using Sunny Home Manager 2.0 with the Firmware version "2.9.2.R|020902"
Ulli
Ich benutze SMA-EM schon eine ganze Zeit (in einem Docker Container). Neuerdings bekomme ich eine Fehlermeldung, auch nach einer kompletter Neuinstallation, wenn ich /opt/smaemd/sma-em-measurement.py mache:
Die Serial ist nicht die, die ich in der config eingetragen habe. Ich habe die config komplett aus dem Repository übernommen und nur die korrekte Serial eingefügt.
Eine ähnliche Fehlermeldung kommt nach /opt/smaemd/sma-em-capture-package.py: