diy solar

diy solar

Near Real Time Sol-Ark 12K Monitoring

SolarHead

50% of people are below average. (Its a statistic)
Joined
Jan 20, 2022
Messages
255
Location
Planet Earth
I see some posts/threads already mentioning some wanting, and already maybe doing some things to get better monitoring from the Sol-Ark. So far, I have the PowerView app but it only updates when you ask it to, or every 10 minutes maybe, and I find it lacking. Plus, its coded in China, the servers are probably in China. Maybe someone can help me find what I think I'm looking for. The threads that I've seen online it appears you have to be a hard-core programmer, with an electrical engineering degree, and 20 years of experience programming electronics, software and firmware. Being someone without all that knowledge, it would be nice to have something that's fairly straightforward and already built to be able to view stats of my Sol-Ark (plug and play). Plus, I really wish Sol-Ark would get away from using the China-made app and server. I don't think it would be that difficult to have an internal webserver on port 80 where one could use a browser to view reports and manage everything the Sol-Ark has to offer. My $200 HP printer has this and its pretty effective, and secure for the most part (behind my firewall) and the $6800 Sol-Ark has a Chinese made app that looks good but as mentioned lacking. Any input would be appreciated that would allow someone with less technical skills to view reports. I've found products like this https://solar-assistant.io that includes a Raspberry Pi and an app which look interesting thats advertised to work with a Sol-Ark, but not sure what else is out there or recommended. I installed my entire solar system myself, I got the dongle configured and the app installed, I've taken C++ in school (nightmare but I passed) so I'm more technical than most, but I don't have the skills and knowledge to build and program what I'm seeing people go through to get at the data from the Sol-Ark.
 
Sol-ark is just a rebranded Deye inverter. Which is a Chinese inverter manufacturer. That's why it's monitoring app is a Chinese app.
 
After I purchased the Sol-Ark, is when I discovered Deye and it made sense as to where/why the app came from. I still think Sol-Ark could develop their own internal web server (no internet connection required by user) that would operate on your internal network and work in a browser. No need for DNS, just enter an IP into your browser.
 
Has anyone successfully used Solar Assistant w/ a Raspberry Pi and Sol-Ark 12k? if yes, can you share your experience?
 
After I purchased the Sol-Ark, is when I discovered Deye and it made sense as to where/why the app came from. I still think Sol-Ark could develop their own internal web server (no internet connection required by user) that would operate on your internal network and work in a browser. No need for DNS, just enter an IP into your browser.
I totally agree but the protocols and Registers are a little outside my wheelhouse.
I have seen people mention Python and other things but no steps to getting there.

It really should be that hard to develop an App to run on a server.

Maybe that is something we can crowd source and get done then License it out?
 
Solar assistant is probably the closest you are going to get as that communicates with the inverter via the RS485 port I believe.
I think the modbus via the WiFi dongle can't be queried as often?
It would be interesting to see the solarassistant python script and try modify it and get it working with Node exporter and prometheus so it can all be piped into Grafana.
 
This can easily be done with my existing raspberry pi image (in resources) and nodered just by changing the read register addresses , I have the modbus registers for the DEYE/Sunsynk but don't have an inverter to test on.

Here are all the modbus register addresses

device id: 17

registers:
- device:
register: 12
ctype: s
bytes: 10
encoding: utf-8
- rated_power:
register: 38
big_endian: true
ctype: H
scale: 10.0
- mppt_channels:
register: 42
big_endian: true
ctype: B
- phase:
register: 43
big_endian: true
ctype: B
- max_threshold_grid_voltage:
big_endian: true
ctype: H
register: 64
scale: 10.0
- min_threshold_grid_voltage:
big_endian: true
ctype: H
register: 66
scale: 10.0
- max_threshold_grid_frequency:
big_endian: true
ctype: H
register: 68
scale: 100.0
- min_threshold_grid_frequency:
big_endian: true
ctype: H
register: 70
scale: 100.0
- state:
big_endian: true
ctype: H
register: 132
- today_energy:
big_endian: true
ctype: H
register: 134
scale: 10.0
- total_reactive_energy:
big_endian: true
ctype: H
register: 136
scale: 10.0
- today_grid_connect_time:
big_endian: true
ctype: H
register: 138
- total_energy:
big_endian: true
ctype: H
register: 140
scale: 10.0
- grid_voltage_A:
big_endian: true
ctype: H
register: 160
scale: 10.0
- grid_voltage_B:
big_endian: true
ctype: H
register: 162
scale: 10.0
- grid_voltage_C:
big_endian: true
ctype: H
register: 164
scale: 10.0
- grid_current_A:
big_endian: true
ctype: H
register: 166
scale: 10.0
- grid_current_B:
big_endian: true
ctype: H
register: 168
scale: 10.0
- grid_current_C:
big_endian: true
ctype: H
register: 170
scale: 10.0
- grid_frequency:
big_endian: true
ctype: H
register: 172
scale: 100.0
- output_power:
big_endian: true
ctype: H
register: 186
scale: 10.0
- radiator_mode_1_temperature:
big_endian: true
ctype: H
register: 194
scale: 100.0
correction: -10
- radiator_mode_2_temperature:
big_endian: true
ctype: H
register: 196
scale: 100.0
correction: -10
- inductor_temperature_1:
big_endian: true
ctype: H
register: 198
scale: 100.0
correction: -10
- inductor_temperature_2:
big_endian: true
ctype: H
register: 200
scale: 100.0
correction: -10
- DC_voltage_1:
big_endian: true
ctype: H
register: 232
scale: 10.0
- DC_current_1:
big_endian: true
ctype: H
register: 234
scale: 10.0
- DC_voltage_2:
big_endian: true
ctype: H
register: 236
scale: 10.0
- DC_current_2:
big_endian: true
ctype: H
register: 238
scale: 10.0
- DC_voltage_3:
big_endian: true
ctype: H
register: 240
scale: 10.0
- DC_current_3:
big_endian: true
ctype: H
register: 242
scale: 10.0
- DC_voltage_4:
big_endian: true
ctype: H
register: 244
scale: 10.0
- DC_current_4:
big_endian: true
ctype: H
register: 246
scale: 10.0
 
This can easily be done with my existing raspberry pi image (in resources) and nodered just by changing the read register addresses , I have the modbus registers for the DEYE/Sunsynk but don't have an inverter to test on.

Here are all the modbus register addresses

device id: 17

registers:
- device:
register: 12
ctype: s
bytes: 10
encoding: utf-8
- rated_power:
register: 38
big_endian: true
ctype: H
scale: 10.0
- mppt_channels:
register: 42
big_endian: true
ctype: B
- phase:
register: 43
big_endian: true
ctype: B
- max_threshold_grid_voltage:
big_endian: true
ctype: H
register: 64
scale: 10.0
- min_threshold_grid_voltage:
big_endian: true
ctype: H
register: 66
scale: 10.0
- max_threshold_grid_frequency:
big_endian: true
ctype: H
register: 68
scale: 100.0
- min_threshold_grid_frequency:
big_endian: true
ctype: H
register: 70
scale: 100.0
- state:
big_endian: true
ctype: H
register: 132
- today_energy:
big_endian: true
ctype: H
register: 134
scale: 10.0
- total_reactive_energy:
big_endian: true
ctype: H
register: 136
scale: 10.0
- today_grid_connect_time:
big_endian: true
ctype: H
register: 138
- total_energy:
big_endian: true
ctype: H
register: 140
scale: 10.0
- grid_voltage_A:
big_endian: true
ctype: H
register: 160
scale: 10.0
- grid_voltage_B:
big_endian: true
ctype: H
register: 162
scale: 10.0
- grid_voltage_C:
big_endian: true
ctype: H
register: 164
scale: 10.0
- grid_current_A:
big_endian: true
ctype: H
register: 166
scale: 10.0
- grid_current_B:
big_endian: true
ctype: H
register: 168
scale: 10.0
- grid_current_C:
big_endian: true
ctype: H
register: 170
scale: 10.0
- grid_frequency:
big_endian: true
ctype: H
register: 172
scale: 100.0
- output_power:
big_endian: true
ctype: H
register: 186
scale: 10.0
- radiator_mode_1_temperature:
big_endian: true
ctype: H
register: 194
scale: 100.0
correction: -10
- radiator_mode_2_temperature:
big_endian: true
ctype: H
register: 196
scale: 100.0
correction: -10
- inductor_temperature_1:
big_endian: true
ctype: H
register: 198
scale: 100.0
correction: -10
- inductor_temperature_2:
big_endian: true
ctype: H
register: 200
scale: 100.0
correction: -10
- DC_voltage_1:
big_endian: true
ctype: H
register: 232
scale: 10.0
- DC_current_1:
big_endian: true
ctype: H
register: 234
scale: 10.0
- DC_voltage_2:
big_endian: true
ctype: H
register: 236
scale: 10.0
- DC_current_2:
big_endian: true
ctype: H
register: 238
scale: 10.0
- DC_voltage_3:
big_endian: true
ctype: H
register: 240
scale: 10.0
- DC_current_3:
big_endian: true
ctype: H
register: 242
scale: 10.0
- DC_voltage_4:
big_endian: true
ctype: H
register: 244
scale: 10.0
- DC_current_4:
big_endian: true
ctype: H
register: 246
scale: 10.0
I D/L the pi image. Thanks!

I hate to ask but do you have a Step by step or even pseudo directions as to accomplish the monitoring?

I can get the image to the PI. However after that its all FM to me...
 
I D/L the pi image. Thanks!

I hate to ask but do you have a Step by step or even pseudo directions as to accomplish the monitoring?

I can get the image to the PI. However after that its all FM to me...
I don't have a step by step unfortunately, your best bet is to start with the nodered guides online and modbus module guides.
 
Has anyone successfully used Solar Assistant w/ a Raspberry Pi and Sol-Ark 12k? if yes, can you share your experience?
Works perfectly with a Deye, no reason it would not with nothing else but a rebadged Deye.

Only issue is the rs485 / USB converter chip (FTDI) seems to require quite some power from the PI. At least on my PI 3B I had to change the power supply from a 2.5A to a 3A.

You can buy the rs485 / USB cable from Solar Assistant (expensive shipping out of SA) or buy an equivalent locally. It's nothing more than a 10usd standard Cisco console cable.

Here for example :
 
Works perfectly with a Deye, no reason it would not with nothing else but a rebadged Deye.

Only issue is the rs485 / USB converter chip (FTDI) seems to require quite some power from the PI. At least on my PI 3B I had to change the power supply from a 2.5A to a 3A.

You can buy the rs485 / USB cable from Solar Assistant (expensive shipping out of SA) or buy an equivalent locally. It's nothing more than a 10usd standard Cisco console cable.

Here for example :
So they don’t require some special Rollover or x configuration for the RS -485 to USB?
 
Nop, it's a standard console cable with a FTDI converter. I tried different ones from different vendors, all work ...
 
Nop, it's a standard console cable with a FTDI converter. I tried different ones from different vendors, all work ...
Thanks!!
Do you know if you need a PI for each inverter or will it see 2 as 1 plant as long as they are parallel??
 
Back
Top