-
Arduino Library
08/23/2024 at 18:09 • 0 commentsAs of now Iam officially marking this project as finished. I recently found a library on GitHub which handles all the communications. @atc1441 and a few others have cracked the communication between the inverter and the smart box. They even found a few other commands you can send using their library to shut off the inverter and more. I am now using said library as they did a great job and there isn't anything I can actually improve. I have made a custom PCB with an ESP32-S2 and the LC12S and wrote some code that pulls the data from the inverter every minute and then saves said data to an influxdb instance running on a Raspberry Pi 4. It's also running a Grafana dashboard for all the datavisualization. If any one is interested in building one of their own all the files are on GitHub and I'm also selling the PCB optionally with case if you don't have the means of manufacturing one yourself just send me an email to lopfi95@gmail.com.
-
Cracked the signal
10/17/2022 at 13:29 • 0 commentsI 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.