diy solar

diy solar

This is how you can use any LiFePo4 / Lithium battery single/multiple BMS(es) with any Inverter

I have the EndurEnergy ESP-5100 battery, which seems to be the USA version of the CFE-5100s. The latter is supported by Solar Assistant. Any guess which BMS it is, and whether it is a supported BMS?


Does PylonTech worth with SolarAssistant?
When you have multiples of the same battery, does it matter if you add them as one battery (master/slave), or separately (each a master)?
I'm thinking adding them separately allows battery level monitoring, whereas the M/S may only provide aggregate data.

In addition to the EE battery with a sol-ark, I DIY an EVE with JKBMS battery. I am now thinking of adding Solar Assistant, so this may be the ticket. Currently the JKBMS is along for the ride.

Thanks.

Yes, it seems your ESP-5100 does speak the PylonTech CAN specification. If this works with SolarAssistant I really don't know.

PylonTech protocols (low and high voltage) are supported by my software though: https://github.com/ai-republic/bms-to-inverter
SolArk inverter is also supported. Also I've added JK CAN & RS485 support just today (see below)
 
I just came across this, so I am wondering if I have this devices function correct.
Are you saying I can take a supported inverter like a Deye and hook this up to the Canbus and then connect batteries with different BMS models to the Pi via Canbus or rs485 and it will aggregate the Data from each pack and send the info to the inverter as though all the packs are using the same bms models.
 
I just came across this, so I am wondering if I have this devices function correct.
Are you saying I can take a supported inverter like a Deye and hook this up to the Canbus and then connect batteries with different BMS models to the Pi via Canbus or rs485 and it will aggregate the Data from each pack and send the info to the inverter as though all the packs are using the same bms models.
From Github


The appplication supports multiple BMS (even mixes from different manufacturers), aggregating them and sending the data to the configurable inverter.
 
Hi Tolsol, just saw you here, as I have already contacted you on GitHub.

Have you tried the Canable USB adapter? Didn’t get mine to work properly and I’m waiting on a second unit.
 
Hi @TolSol would this work with a Morningstar SSC and DALY BMS? the morning star has the 485 and a few other protocols. ideally it would tie the DALY in between the Morningstar protocol and a Magnum inverter. I am more than willing to pay for support if you can figure this out. Also for some RD into the subject as i realize it takes time and effort to figure out.
 
Last edited:
DEYE inverters CAN binding is now added. I'd be really grateful if somebody could test the application with a DEYE inverter and a supported BMS!
This device is something that has been needed for a long time.
I mentioned this idea in several old posts, that we needed a device that could translate data from any popular BMS so that it could be used with any Inverter and also the ability to mix and match different model battery packs and have them be seen as being all the same.

I am using a Sol-Ark along with eFlex batteries on Canbus and I have one EG4LL V1 Battery that is not in the Comm loop. It is using RS485 and of course cannot be put in the Comm loop with the eFlex batteries.
 
Finished implementing JK RS485 binding and would be happy if somebody can help me test
I just came across this, so I am wondering if I have this devices function correct.
Are you saying I can take a supported inverter like a Deye and hook this up to the Canbus and then connect batteries with different BMS models to the Pi via Canbus or rs485 and it will aggregate the Data from each pack and send the info to the inverter as though all the packs are using the same bms models.
Hi,
yes, that is exactly the purpose of the application. This way you are not restricted by the inverter manufacturer which battery manufacturer you have to use.
The application will request the data from whichever (multiple) BMS(es) via CAN or RS485/UART/RS232, etc. and aggregate the data and send it to the inverter using a supported protocol via CAN or RS485/UART/RS232, etc.

So you are absolutely flexible which batteries you combine with which inverter. You can even use different BMS(es) in your setup.

On top of that you can use a webserver to monitor you batteries and/or use MQTT to propagate and service other applications like HomeAssistant or similar.

To use the application its best to use a Raspberry PI 3B/4B/5 and (depending what protocols you need) a RS485-CAN-Hat or 2CH-CAN-Hat.
Everything is described in detail on: https://github.com/ai-republic/bms-to-inverter

Its best to reach out to me there on Github as I don't receive notifications from this forum.
 
Hi Tolsol, just saw you here, as I have already contacted you on GitHub.

Have you tried the Canable USB adapter? Didn’t get mine to work properly and I’m waiting on a second unit.
Yes, I answered your question on the discussion board on GitHub and asked if you installed the Candlelight firmware on your Canable. That will enable the Canable to use the faster SocketCAN. Also I implemented the RS485 binding for the JK BMS and need someone to test it ;)
 
Any plans to add PACE BMS?
Hi @Danke,
can you provide a RS485 or CAN commincation protocol? Then its a matter of a couple of days to support it.

UPDATE: I did a quick research and it seems the PACE BMS uses the PylonTech communication protocol - in which case it should be already supported
 
Last edited:
This device is something that has been needed for a long time.
I mentioned this idea in several old posts, that we needed a device that could translate data from any popular BMS so that it could be used with any Inverter and also the ability to mix and match different model battery packs and have them be seen as being all the same.

I am using a Sol-Ark along with eFlex batteries on Canbus and I have one EG4LL V1 Battery that is not in the Comm loop. It is using RS485 and of course cannot be put in the Comm loop with the eFlex batteries.
@robby Yes, you and do that too, use your eFlex batteries on e.g. can0 and also hook up your EG3LL battery on can1 and hook up the inverter on can2. Or RS485 or whatever is supported by the inverter or EG4LL.
 
@Daddy Tanuki which communication protocols, e.g. (PylonTech, SMA, Growatt, etc.) can your Morningstar SSC use?
And could you provide me with the detailed product models so that I can check what exactly your system uses.
I'm sure we can figure something out :)
 
Last edited:
@Daddy Tanuki which communication protocols, e.g. (PylonTech, SMA, Growatt, etc.) can your Morningstar SSC use?
And could you provide me with the detailed product models so that I can check what exactly your system uses.
I'm sure we can figure something out :)
TS-MPPT-60 uses MODBUS... "The TriStar MPPT supports the industry standard MODBUS® application protocol via its serial RS-232 andEIA-485 interfaces." the BMS's are DALY and the inverter is Magnum MS4448PAE but will never be used as charger as it has its own proprietary remote not sure whats its language or anything else is.
 
@robby Yes, you and do that too, use your eFlex batteries on e.g. can0 and also hook up your EG3LL battery on can1 and hook up the inverter on can2. Or RS485 or whatever is supported by the inverter or EG4LL.
Great work my friend this is a fantastic piece of gear that was really needed.
Does your software support the BMS in the eFlex?
 
@Daddy Tanuki great, I found the ModBus specification here: https://www.morningstarcorp.com/wp-...-doc-tristar-mppt-modbus-specification-en.pdf
That should be enough to create a binding for the TriStar TS-MPPT-60. Daly BMSes are already supported.
So you would only hook up the Raspberry PI between the Daly BMS and the TriStar right?
well i need to get a raspberry pi first! ha ha ha. I am new to all of this so i will start looking into what i need as far as the raspberry pi. and move from there. anybody out there reading got a good tutorial?
 
well i need to get a raspberry pi first! ha ha ha. I am new to all of this so i will start looking into what i need as far as the raspberry pi. and move from there. anybody out there reading got a good tutorial?
Here's your shopping list :)
- Raspberry Pi 4B 4gb or 8gb (similar to that)
- Waveshare RS485/CAN (if your Daly has the CAN specifically!!! enabled)
or
-Waveshare 2-Channel RS485 (if you just have UART/RS485 on your Daly)
- 2 RJ45 network cables CAT5 or CAT6

The Raspberry PI is simply run from the SD card. You need to download the Raspberry PI Imager, plug the SD card in your PC and choose the Raspian OS 64bit to be installed on the SD card. Plug the SD card into your PI and boot. In the Terminal :
Code:
sudo apt update
sudo apt upgrade
sudo apt install default-jdk

Done.
The Waveshare RS485/CAN has a good Wiki explaining how to install, but I can assist you in that if you have questions.
 
Last edited:
Here's your shopping list :)
- Raspberry Pi 4B 4gb or 8gb (similar to that)
- Waveshare RS485/CAN (if your Daly has the CAN specifically!!! enabled)
or
-Waveshare 2-Channel RS485 (if you just have UART/RS485 on your Daly)
- 2 RJ45 network cables CAT5 or CAT6

The Raspberry PI is simply run from the SD card. You need to download the Raspberry PI Imager, plug the SD card in your PC and choose the Raspian OS 64bit to be installed on the SD card. Plug the SD card into your PI and boot. In the Terminal :
Code:
sudo apt update
sudo apt upgrade
sudo apt install default-jdk

Done.
The Waveshare RS485/CAN has a good Wiki explaining how to install, but I can assist you in that if you have questions.
i will get shopping!
 
With PylonTech BMS, can you get cell level information?

Is it better to have the batteries in master/slave configuration, or read each battery separately (all in master mode)?
 
Is Orange Pi supported? I'm thinking of getting Solar Assistant, and could demo the program on that before commiting to it.
Any hardware which supports SocketCAN (via a CANBus hat) for CAN communication and/or RS485 (via a RS485 adapter) and can run Java.
 

diy solar

diy solar
Back
Top