I managed to decode the signal. The main problem was, I had some of the logic analyzers settings wrong and the signal got inverted. But the lc12s transceivers I ordered finally arrived and I was just able to sniff both the signal from the data box and the inverter with it.
Normally the lc12s can be configured to work on different channels and at different baud rates, but all of solar decided to just stick with the default settings. So after sniffing a few the signals send by the box I found this Pattern:
0x43 0xC0 BoxID BoxID 0x00 0x00 ID ID ID ID 0x00 0x00 0x00 0x00 Checksum
An important note is that both the inverters and the box's id's are already in hex and don't need to be converted.
Also I am not quite sure what the box id is for but I think as long as you are always using the same one it should be fine and is only needed if there are multiple boxes close to each other.
The response from the inverter looks as follows:
0x43 0xC0 BoxID BoxID 00 00 ID ID ID ID XX XX XX 00 XX VDC VDC DC DC VAC VAC AC AC 00 XX XX XX
VDC = Voltage DC
DC = Current on DC side
VAC = Voltage AC
AC = Current on AC side
ID = Inverter id
All places marked with an XX Iam not yet sure what they mean if anything at all.
There are still two parameters missing, the inverter type and the daily/total power generation.
But I have already written some code for the ESP32 to get all the values every Minute and upload them to an influxdb instance running on my Raspberry Pi server. Check it out on my GitHub.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.