kellerza / hassio-sma-em

Home Assistant SMA Add-On
MIT License
31 stars 19 forks source link

Tripower X and SMA-EM #27

Closed littleyoda closed 1 year ago

littleyoda commented 1 year ago

I'm using a Tripower-X Inverter and the SHM 2.0.

I regularly receive errors in the log files that various sensor data are not available. Under options I already added the Serial number of the SHM 2.0

INFO:sensors:Unknown sensor: q3supply
INFO:sensors:Unknown sensor: q3supplycounter
INFO:sensors:Unknown sensor: qconsume
INFO:sensors:Unknown sensor: qconsumecounter
INFO:sensors:Unknown sensor: qsupply
INFO:sensors:Unknown sensor: qsupplycounter
INFO:sensors:Unknown sensor: s1consume
INFO:sensors:Unknown sensor: s1consumecounter

For a long time I couldn't make sense of it all. In the meantime, I think I know the cause.

The Tripower-X send out Speedwire-Packets every minute or so.

58 bytes received from [192.168.2.XXX]
--------: 00 01 02 03 04 05 06 07 08 09
00000000: 53 4D 41 00 00 04 02 A0 00 00 
00000010: 00 01 00 26 00 10 60 65 09 A0 
00000020: FF FF FF FF FF FF 00 00 74 01 
00000030: 0A 30 B4 B3 00 00 00 00 00 00 
00000040: 9B C7 00 02 00 00 00 00 00 00 
00000050: 00 00 00 00 00 00 00 00 

these packets are much too short with 58 bytes compared to the 608(?) bytes to contain data.

sma-em-measurement even crashes because the serial entry is missing from the dict with the data. https://github.com/datenschuft/SMA-EM/blob/master/sma-em-measurement.py#L82

I don't know if a filter on a packet size makes sense or if one would have to include a better parsing of the speedwire packets.

littleyoda commented 1 year ago

After a little more research:

I think the correct way is to check for 0x6069 at offset 16. grafik

Page 6: https://developer.sma.de/fileadmin/content/global/Partner/Documents/SMA_Labs/EMETER-Protokoll-TI-de-10.pdf