Closed littleyoda closed 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.
After a little more research:
I think the correct way is to check for 0x6069 at offset 16.
Page 6: https://developer.sma.de/fileadmin/content/global/Partner/Documents/SMA_Labs/EMETER-Protokoll-TI-de-10.pdf
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
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.
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.