diy solar

diy solar

Sol-Ark, EG4 Communications Hub/LifePower4 - Solar Assistant configuration

MaikaiLife

Solar Enthusiast
Joined
Nov 16, 2022
Messages
637
Location
North Las Vegas
I wanted to share with the community how I was able to get Solar Assistant "SA" to read all my inverter data from my Sol-Ark 15K, AND also read all the individual battery data from my EG4 LifePower4 batteries so I get the best of both worlds, thorough data from "each" of my 12 batteries and all the details from my Sol-Ark while maintaining the PV Pro access also.

In my scenario, I have a Sol-Ark 15K and 12x EG4 LifePower4 batteries. In order to have closed-loop communication with the Sol-Ark and the LifewPower4 batteries, the EG4 Communications hub is required. The hub plugs into the batteries and then plugs into the Sol-Ark and makes them all appear as one giant battery to the Sol-Ark.

1691212662987.png
When connecting SA to the inverter and using the Inverter data for the battery, all you get is one giant battery in SA. Having one giant battery isn't very helpful because then I can't track the individual characteristics of my batteries like, the state of charge of each battery, which batteries are supplying current, their temperatures, voltage, and cycles.

Using two USB to ethernet cables and a splitter I connect one cable to the spitter and the PI, this gives me all the details from the inverter, then I connect the other cable from the Pi to my battery #7 in my second cabinet. In SA, I tell it to use the following settings and it works.

1691212999015.pngIMG_3834.jpeg

IMG_3856.jpeg

In SA I can now see all my LifePower4 batteries, the Communications Hub sees all the batteries, the Sol-Ark sees one giant battery, and PV Pro is still happy and working with it's dongle.
1691213084448.png

To summarize, what I have are options, and both reporting tools SA and PV Pro can run simultaneously. With SA I get the added benefits of seeing all the batteries, reports, and Home Assistant integration, and my system is fully functional with closed-loop communication.

Happy to answer any questions, I couldn't find a solution for this on the forums so I figured I would post mine and how I did it.

Cheers and enjoy!

UPDATE: Here is a diagram that shows exactly what cables are connected to what devices, and on what ports.

1695856253785.png
 
Last edited:
I have a Sol-Ark 15K, with eFlex batteries. Although I'm currently having issues with the batteries communicating properly with the inverter via BMS, I do have SA working (splitter with RS485/Canbus). Can the Canbus be further split to feed the BMS data to the inverter, and to also feed the SA with a second Canbus ->USB cable? so I can see detailed battery info like in the first post?
i.e.:
eFlex --> Canbus -->splitter --> Inverter Canbus AND
--> SA
With another splitter at the inverter for Canbus/RS485 to SA
 
I wanted to share with the community how I was able to get Solar Assistant to read all my inverter data from my Sol-Ark 15K, AND also read all the individual battery data from my EG4 LifePower4 batteries so I get the best of both worlds, thorough data from "each" of my 12 batteries and all the details from my Sol-Ark while maintaining the PV Pro access also.

In my scenario, I have a Sol-Ark 15K and 12x EG4 LifePower4 batteries. In order to have closed-loop communication with the Sol-Ark and the LifewPower4 batteries, the EG4 Communications hub is required. The hub plugs into the batteries and then plugs into the Sol-Ark and makes them all appear as one giant battery to the Sol-Ark.

View attachment 161171
When connecting Solar Assistant to the inverter and using the Inverter data for the battery, all you get is one giant battery in Solar Assistant also. Having one giant battery isn't very helpful because then I can't track the individual characteristics of my batteries like, the state of charge of each battery, which batteries are supplying current, their temperatures, and their cycles.

So using two USB to ethernet cables and a splitter I connect one cable to the spitter and the PI, this gives me all the details from the inverter, then I connect the other cable to my battery #7 in my second cabinet. In solar assistant, I tell it to use the following settings and it works.

View attachment 161219View attachment 161172
In solar assistant I can now see all my LifePower4 batteries, the Communications Hub sees all the batteries, the Sol-Ark sees one giant battery and PV Pro is still happy and working with the Wifi Dongle.
View attachment 161173

To summarize, what I have is options and both reporting tools Solar Assistant and PV Pro can run simulatneously, plus with Solar Assistnat I get all the added benefits of seeing all the batteries, reports, Home Assistant inegration etc and my system is fully functional with closed loop communication.

Happy to answer any questions, I couldn't find a solution for this on the forums so I figured I would post mine and how I did it.

Cheers and enjoy!
I just commissioned my Sol-Ark 15k and have been seriously considering Solar Assistant. I’m not a huge fan of the PV Pro app, just doesn’t seem very polished to me, but maybe I’m being critical.

I do however have a Pi sitting around in a bin doing nothing. What’s your take on the two, is Solar Assistant a major improvement? Happy to do it if it’s a worthwhile upgrade
 
I just commissioned my Sol-Ark 15k and have been seriously considering Solar Assistant. I’m not a huge fan of the PV Pro app, just doesn’t seem very polished to me, but maybe I’m being critical.

I do however have a Pi sitting around in a bin doing nothing. What’s your take on the two, is Solar Assistant a major improvement? Happy to do it if it’s a worthwhile upgrade
IMO Solar Assistant is essential, the PV Pro can't give me estimated run time, charge percentages per-hour, details on each battery, and it's only updated every 10 or 15 minutes. It is way too slow to closely monitor things when you need to see spikes in near real-time to only pull data every 10-15 minutes. The cost is nearly nothing for what you get and it runs on hardware that is less than $50, I don't see any reason not to use it.
 
IMO Solar Assistant is essential, the PV Pro can't give me estimated run time, charge percentages per-hour, details on each battery, and it's only updated every 10 or 15 minutes. It is way too slow to closely monitor things when you need to see spikes in near real-time to only pull data every 10-15 minutes. The cost is nearly nothing for what you get and it runs on hardware that is less than $50, I don't see any reason not to use it.
Did you buy the rs485-USB cable from them? I’d rather Amazon it if I can get one quicker.
 
I have a Sol-Ark 15K, with eFlex batteries. Although I'm currently having issues with the batteries communicating properly with the inverter via BMS, I do have SA working (splitter with RS485/Canbus). Can the Canbus be further split to feed the BMS data to the inverter, and to also feed the SA with a second Canbus ->USB cable? so I can see detailed battery info like in the first post?
i.e.:
eFlex --> Canbus -->splitter --> Inverter Canbus AND
--> SA
With another splitter at the inverter for Canbus/RS485 to SA
I don't know if you could do another full split, but that's an interesting idea, however, I think you would have trouble with two devices using the same pins, it would probably short something out.

In my scenario, I go from the PI to the mid battery, #7 which is the first one in the top of my second cabinet, then my Communications Hub connects to the #1 batter in the first cabinet, I use the splitter on the inverter and it all works. I would suggest maybe trying to connect to the batteries essentially at both ends like what I did.
 
I'll be back here next week.
Hung the 15K on Monday. Panels and more wiring today. I've got (6) EG4LL [still waiting on the over a month late/backordered rack] and the hub.
Plus I've got a few spare 8gb Pi4s laying around [my son builds LED Christmas displays] so Solar Assistant was something I'd looked at, but hadn't given much thought to until the system is up and commissioned. But from reading around looks like I'd need Solar and Home Assistant to obtain some real control over the system output [timing of EV charging, prioritizing batteries with inclement weather over sell back, etc].
 
Hi @JaxLax , you are correct that you need Solar Assistant "SA" and Home Assistant "HA" to make changes based on automation.

I've got it working right now, basically, SA becomes mostly an interface between the inverter/batteries and MQTT messages. HA then gets configured as the role of MQTT Server/Broker which tells SA to report all the various entity data. In my installation that means over 200 entities some numbers some sensors.

1691970794095.png

1691970769113.png

Once you get all the entities updating consistently from SA to HA, then you can create automations in HA to take action when certain conditions are true.

1691970976254.png

Basically every setting that SA can pull from your inverter is available to configured.

So a nifty one for me might be to say, if it's past 5PM and my batteries are not at an SOC of =99% then start the generator and run it until SOC reaches 99%.
 
I wanted to share with the community how I was able to get Solar Assistant to read all my inverter data from my Sol-Ark 15K, AND also read all the individual battery data from my EG4 LifePower4 batteries so I get the best of both worlds, thorough data from "each" of my 12 batteries and all the details from my Sol-Ark while maintaining the PV Pro access also.

In my scenario, I have a Sol-Ark 15K and 12x EG4 LifePower4 batteries. In order to have closed-loop communication with the Sol-Ark and the LifewPower4 batteries, the EG4 Communications hub is required. The hub plugs into the batteries and then plugs into the Sol-Ark and makes them all appear as one giant battery to the Sol-Ark.

View attachment 161171
When connecting Solar Assistant to the inverter and using the Inverter data for the battery, all you get is one giant battery in Solar Assistant also. Having one giant battery isn't very helpful because then I can't track the individual characteristics of my batteries like, the state of charge of each battery, which batteries are supplying current, their temperatures, and their cycles.

So using two USB to ethernet cables and a splitter I connect one cable to the spitter and the PI, this gives me all the details from the inverter, then I connect the other cable to my battery #7 in my second cabinet. In solar assistant, I tell it to use the following settings and it works.

View attachment 161219

View attachment 161678

View attachment 161172
In solar assistant I can now see all my LifePower4 batteries, the Communications Hub sees all the batteries, the Sol-Ark sees one giant battery and PV Pro is still happy and working with the Wifi Dongle.
View attachment 161173

To summarize, what I have is options and both reporting tools Solar Assistant and PV Pro can run simulatneously, plus with Solar Assistnat I get all the added benefits of seeing all the batteries, reports, Home Assistant inegration etc and my system is fully functional with closed loop communication.

Happy to answer any questions, I couldn't find a solution for this on the forums so I figured I would post mine and how I did it.

Cheers and enjoy!
This is the same config I use with my sunsynk and seplos mason's.
Works extremely well, and will allow extra automation too in combination with home assistant ( water heater on/off , pumps on/off) based on incoming solar and SOC for instance..
Possibilities are almost endless
 
@houseofancients do you have any issues after rebooting HA with the MQTT add-on? Mine seems to not connect to SA consistently. So I've had to configure the add-on not to start with HA, and rather use an automation to start it about 2 minutes later. That part is a little wonky, I wish the MQTT piece was a little more reliable at re-establishing itself after a scheduled/unexpected restart.
 
@houseofancients do you have any issues after rebooting HA with the MQTT add-on? Mine seems to not connect to SA consistently. So I've had to configure the add-on not to start with HA, and rather use an automation to start it about 2 minutes later. That part is a little wonky, I wish the MQTT piece was a little more reliable at re-establishing itself after a scheduled/unexpected restart.
Had some issue when running stable, but last 2 beta versions fix that for me
 
Sa's ..
It isn't ha that has a failed mqtt server, rather in older versions of SA, if it didn't get a response on first try, it would halt
 
Hi @JaxLax , you are correct that you need Solar Assistant "SA" and Home Assistant "HA" to make changes based on automation.

I've got it working right now, basically, SA becomes mostly an interface between the inverter/batteries and MQTT messages. HA then gets configured as the role of MQTT Server/Broker which tells SA to report all the various entity data. In my installation that means over 200 entities some numbers some sensors.

View attachment 162615

View attachment 162614

Once you get all the entities updating consistently from SA to HA, then you can create automations in HA to take action when certain conditions are true.

View attachment 162617

Basically every setting that SA can pull from your inverter is available to configured.

So a nifty one for me might be to say, if it's past 5PM and my batteries are not at an SOC of =99% then start the generator and run it until SOC reaches 99%.
Are you using a single RPi or (2) separate hardware pieces [one for HA and one for SA].
I've spent too much time in IoT and my home is hilariously dumb because of this. I just want to be able to locally connect and control everything. Just trying to keep the hardware/vampire loads to a minimum.
 
Are you using a single RPi or (2) separate hardware pieces [one for HA and one for SA].
I've spent too much time in IoT and my home is hilariously dumb because of this. I just want to be able to locally connect and control everything. Just trying to keep the hardware/vampire loads to a minimum.
2 seperate, as SA needs its own.
You could run HA on just about any pc, but a pi SBC is the smallest mini PC I have
 
@JaxLax , Solar Assistant (SA) will only run on an ARM processor, I don't know why they won't make it capable of running on X86 or even as a virtual machine, except for the possibility that they want to keep it locked down so everyone has to pay $55 for their software. However, I think they could make it more capable and instead just add a freemium model that you can pay to upgrade to a premium feature set rather than lock us out of the other hardware combinations and still keep it secure with license keys or something.

anyways... Home Assistant (HA) is running as a virtual machine on my Synology which enables me to run a camera system and my complete home automation on a single device. Ideally, I would host SA as another VM, but as aforementioned SA doesn't allow it.

So at a minimum, you need two Pi's, however HA runs much better with stronger hardware than what the Pi offers.

I run the SA on a Pi 4 directly off the 48v from the batteries using a step-down, not sure how long it will last but it's been running like a champ for weeks now. Also, I didn't want any moving parts on the Pi to fail so I have this fanless case that works great.
 
@JaxLax , Solar Assistant (SA) will only run on an ARM processor, I don't know why they won't make it capable of running on X86 or even as a virtual machine, except for the possibility that they want to keep it locked down so everyone has to pay $55 for their software. However, I think they could make it more capable and instead just add a freemium model that you can pay to upgrade to a premium feature set rather than lock us out of the other hardware combinations and still keep it secure with license keys or something.

anyways... Home Assistant (HA) is running as a virtual machine on my Synology which enables me to run a camera system and my complete home automation on a single device. Ideally, I would host SA as another VM, but as aforementioned SA doesn't allow it.

So at a minimum, you need two Pi's, however HA runs much better with stronger hardware than what the Pi offers.

I run the SA on a Pi 4 directly off the 48v from the batteries using a step-down, not sure how long it will last but it's been running like a champ for weeks now. Also, I didn't want any moving parts on the Pi to fail so I have this fanless case that works great.
Got it.
We have a pi out in a cg1500 in the middle of the yard for christmas lights in this case: Argon One and we haven't had a failure in years now. Oh and the pins are exposed as we use them for an external fan mounted to the box.

Not worried too much about this one, as like yours, it'll be in a insulated garage area with the equipment so fans won't be needed. Probably end up running both off the batteries and just keep them close to one another and a powered ethernet switch for connectivity. Maybe make a small perforated box to keep the kids from touching or going after blinking lights.
 
I wanted to share with the community how I was able to get Solar Assistant to read all my inverter data from my Sol-Ark 15K, AND also read all the individual battery data from my EG4 LifePower4 batteries so I get the best of both worlds, thorough data from "each" of my 12 batteries and all the details from my Sol-Ark while maintaining the PV Pro access also.

In my scenario, I have a Sol-Ark 15K and 12x EG4 LifePower4 batteries. In order to have closed-loop communication with the Sol-Ark and the LifewPower4 batteries, the EG4 Communications hub is required. The hub plugs into the batteries and then plugs into the Sol-Ark and makes them all appear as one giant battery to the Sol-Ark.
Very nice approach! My situation is slightly more complex in that I have TWO Sol-Ark 12K inverters and eight 100Ah batteries comprising three older G4LL/GYLL and five EG4. (Like the EG4 units, the G4LL batteries have two RS485 ports. Back when I was running just the G4LL/GYLL batteries with a Magnum/Midnite system, Solar Assistant was able to capture data from all three batteries.)

Right now Solar Assistant can see the two Sol-Arks via the RS485 USB cables (supplied by SignatureSolar with the EG4s) running from the RS485 CANBus battery port in the Sol-Arks. But so far I've not managed to capture individual battery data into the Solar Assistant RPi3B+. Happy to buy the EG4 comms hub if that'll do the trick. It says it works only with EG4 batteries, but that's got to include the EG4's predecessor, the G4LL/GYLL battery that first took the DIY world by storm.

I'd welcome your thoughts on whether your solution will work with two Sol-Arks and a mix of EG4 and G4LL batteries! Thanks!

I'm also planning an MQTT circuit to my OpenEVSE EV charging station so I can tell it to charge only when a) sufficient PV is available and b) after the battery bank is fully charged. I believe Solar Assistant has an MQTT server onboard.

Thanks!
 
Last edited:
Very nice approach! My situation is slightly more complex in that I have TWO Sol-Ark 12K inverters and eight 100Ah batteries comprising three older G4LL/GYLL and five EG4. (Like the EG4 units, the G4LL batteries have two RS485 ports. Back when I was running just the G4LL/GYLL batteries with a Magnum/Midnite system, Solar Assistant was able to capture data from all three batteries.)

Right now Solar Assistant can see the two Sol-Arks via the RS485 USB cables (supplied by SignatureSolar with the EG4s) running from the RS485 CANBus battery port in the Sol-Arks. But so far I've not managed to capture individual battery data into the Solar Assistant RPi3B+. Happy to buy the EG4 comms hub if that'll do the trick. It says it works only with EG4 batteries, but that's got to include the EG4's predecessor, the G4LL/GYLL battery that first took the DIY world by storm.

I'd welcome your thoughts on whether your solution will work with two Sol-Arks and a mix of EG4 and G4LL batteries! Thanks!

I'm also planning an MQTT circuit to my OpenEVSE EV charging station so I can tell it to charge only when a) sufficient PV is available and b) after the battery bank is fully charged. I believe Solar Assistant has an MQTT server onboard.

Thanks!
Interesting setup, I’m curious how both inverters are displayed in Solar Assistant “SA”.

With all your batteries more or less EG4 I think they all support the Narada communication type. I presume in SA your battery settings are using the inverter settings? If so you need one more USB to RS485 cable that can allow communication from SA to the batteries to see them individually in SA.

The Hub simply tells the Sol-Ark it’s seeing one big battery and speeds, slows reduces and stops charging using aggregated data from the batteries. Think of it like a conductor that is in charge of telling the locomotive what’s going on with all the other cars combined. That said it won’t enable you to see each individual battery, instead it enables closed loop communication for the LifePower4 batteries to the Sol Ark.

If you want to test maybe disconnect one sol-ark and use that cable on one of the batteries to enable communication to SA.

Happy to also chat verbally and share ideas if you want to hit me up.

Cheers!
 
Last edited:
I'm also planning an MQTT circuit to my OpenEVSE EV charging station so I can tell it to charge only when a) sufficient PV is available and b) after the battery bank is fully charged. I believe Solar Assistant has an MQTT server onboard.

Thanks!

You are correct is has MQTT communication abilities, in my case instead I prefer Home Assistant be the broker so I can see all the raw communication via the MQTT browser plug-in.

Regardless if HA or SA is the broker, the automations to charge your car based on solar output/battery charge will be something you create automations for in HA.

The sky is nearly the limit on automations with HA from sending push notifications, making changes to the Sol-Ark or even making direct API calls etc, once you get the data from SA over to HA a world of possibilities open up.
 
Interesting setup, I’m curious how both inverters are displayed in Solar Assistant “SA”.

With all your batteries more or less EG4 I think they all support the Narada communication type. I presume in SA your battery settings are using the inverter settings? If so you need one more USB to RS485 cable that can allow communication from SA to the batteries to see them individually in SA.

The Hub simply tells the Sol-Ark it’s seeing one big battery and speeds, slows reduces and stops charging using aggregated data from the batteries. Think of it like a conductor that is in charge of telling the locomotive what’s going on with all the other cars combined. That said it won’t enable you to see each individual battery, instead it enables closed loop communication for the LifePower4 batteries to the Sol Ark.

If you want to test maybe disconnect one sol-ark and use that cable on one of the batteries to enable communication to SA.

Happy to also chat verbally and share ideas if you want to hit me up.

Cheers!
Here's how the two Sol-Ark 12k inverters are displayed in Solar Assistant inverter view, obviously after dark with no incoming PV.

1695016590540.png

I've reached out to Signature Solar about the EG4 Comms Hub to double-check that it can read the older G4LL/GYLL batteries alongside the current EG4s. Per your suggestion, I did try using one of the RS485 USB cables to connect a battery to the SA, but I couldn't get it to work with Narada, Modbus or other protocols. I'm far from being an expert at networking...
 

diy solar

diy solar
Back
Top