diy solar

diy solar

Anyone have a NodeRed flow EG4 6000EX-48

SkyMo

New Member
Joined
Feb 24, 2021
Messages
54
I use Node-Red to build monitors and control pumps and other stuff at my remote site. I have working flows for Trophy Batteries, Victron BMS and EpEver solar charge controllers. Now I have EG4 6000Ex inverters, I'd like to add them to the mix. Even though I have a document that sorta describes the protocol, I haven't had much luck getting anything from the inverters.

For starters, I don't see anything regarding the baud rate or parity? I assume that I am just reading coils, but that isn't clear either. Maybe if I was an expert on ModBus this would all be easy, but I am not.

Then again, I am sure I am not the only one doing this. Anyone get talking to these inverters working? I know SolarAssistant sort of works, but it doesn't do what I need.
 

Attachments

  • Modbus-protocol-for-EG4-6000EX-48.pdf
    177.9 KB · Views: 15
SkyMo. I am able to pull data from the EG4 6000Ex and parse it for use in Node-Red using the jblance mpp-solar python script. I've done a lot of industrial controls work over the years so I'm very familiar with ModBus. I'm glad to see EG4 (or Voltronic?) are supporting ModBus now, however, I haven't tested it yet. My EG4 6000EX was installed to replace a similar Voltronic-based MPP LVX6048 which I don't believe had modbus support. I was able to swap my LVX6048 for an EG4 6000EX and the comms I was using still work.

Wiring: I'm using the micro-B USB port on the bottom side of the display panel - no baud rate to worry about
Software: jblance mpp-solar python script available here https://github.com/jblance/mpp-solar
Install: If you already have python and pip installed on your computer (windows or linux) this script can be installed simply by "pip install mppsolar"

from there I execute the command line from within node-red as
/usr/local/bin/mpp-solar -p /dev/hidraw0 -P PI18SV -c GS
that is on linux, will be a bit different if you are node-red on windows

the output of that command is a fixed width text as below. There are other commands if you want different data. Just run the above command without the 'GS' at the end for the list of available commands. Attached is the Node-Red script I use for reading the data and pushing it to an mqtt server. I"m also controlling some battery heaters from the rasperry pi as well.

root@propertybox:/dev# /usr/local/bin/mpp-solar -p /dev/hidraw0 -P PI18SV -c GS Command: GS - Query general status -------------------------------------------------------------------------------- Parameter Value Unit ac_input_voltage 0 0.1V ac_input_frequency 0 0.1Hz ac_output_voltage 0 0.1V ac_output_frequency 0 0.1Hz ac_output_apparent_power 0 VA ac_output_active_power 0 W ac_output_load 0 % battery_voltage 529 0.1V battery_voltage_from_scc 0 0.1V battery_voltage_from_scc2 0 0.1V battery_discharge_current 0 A battery_charge_current 0 A battery_capacity 100 % inverter_temperature 20 °C mppt1_charger_temperature 0 °C mppt2_charger_temperature 0 °C pv1_input_power 54 W pv2_input_power 0 W pv1_input_voltage 1200 0.1V pv2_input_voltage 0 0.1V setting_value_configuration_state Nothing changed mppt1_charger_status normal mppt2_charger_status abnormal load_connection disconnect battery_power_direction charge dc/ac_power_direction donothing line_power_direction donothing local_parallel_id 0
 

Attachments

  • Property Pi NodeRed.zip
    5.9 KB · Views: 3
Last edited:
Back
Top