You might look at my Sunny Island agent ... there's no docs but all the logic is controlled by javascript - easy to read. I use a raspberry PI with a CAN/RS485 hat as a BMS/controller for the SI.
Here's the code:
https://github.com/sshoecraft/solardirector/tree/main/agents/si
Here's the hat...
Sorry haven't checked in here in a while ... and not getting email reminders for activity anymore.
Here's a static compiled version for debian bullseye (11) 64-bit made on a RPI4B+
If you want to use bluetooth you would probably want to use the ESP32 - you might look previously in this thread as shadowsteve has already done this. Using the ESP32 it would be pretty easy to control it via an android app. There are a ton of vids on youtube showing how to control a relay (to...
I added an -X option to jbdtool to "reset" the BMS but I'm not totally sure what it does (it's not documented and I only learned of it from debugging the bluetooth stuff).
You might try it and see if it works for you. I think it might also "unstick" the BMS if it has an error.
I just tried this on a freshly written esp - it connected to my phone's hotspot.
Then I connected my computer to the same hotspot and was able to connect to the ESP page.
I make changes to the BMS via my grafa page - but it calls a web service on my RPI which in turn just calls jbdtool.
I have some of these active balancers and have been thinking about doing exactly that (controlling a relay to turn it on via the esp). I would say it's possible, yes. I...
The RS485 is the UART bms with the 485 dongle. It depends on how you are going to read it. Will you use the UART on the rPI or will you get a USB RS485 for the rPI?
for balance, it's an eeprom parameter: BatteryConfig
use -r BatteryConfig to read it
-w BatteryConfig <value> to write it
use -n for numeric outout only (no translation)
I used the attached SMA design for my system. It works extremely well and I much prefer AC coupled to DC coupled.
I am running 3xSB6.0-US and 4xSI6048-US.
I've seen the yasdi2mqtt and it seems like a pretty good product. I think daklein runs it - you might ask him what he thinks.
My software was created just for the DIY lithium batts and grew from there. Nowadays I have JavaScript scripts and I can write directly to influxdb so no need for...
I currently use 50A breakers on mine. I have 4 Sunny Islands. I have seen surges of 31k watts (5 ton AC starting up and dryer running) and it didnt trip the breakers although I think constant use definitely would do it. Then again, if I'm using anywhere near 160 amps (80%/breaker * 4) for...
The SI agent (agents/si) acts as a "BMS" to the Sunny Island. I have an actual hardware BMS (JBD) on my battery packs. I then have a Raspberry PI with a CAN/RS485 card which is connected to the Sunny Island. The si agent talks to the Sunny Island via the CAN bus and acts as the external BMS...
I was thinking about the issue you have with MQTT; it might be due to the MQTT version - I specify MQTT_5 in the connection options and SignalK might not support 5.
I compiled a version that uses MQTT 3. The version (attached) is "jbdtool version 1.8 build 202204111732." Please test against...
It will lock the target (-t <transports:target>), so if you use ttyS0 on one and ttyS1 on another it will lock them individually. Please test to confirm.
You're using a serial connection and so only one should be using it at a given time. I've updated the program so that it will lock the target - so 2 instances of jbdtool will not be able to use it at the same time. The default behavior is to wait until the resource is free. I've added the...
OK that's very strange. Are you sure nothing else is talking to the BMS while you are pulling data from it?
Because I'm asking the BMS for the "basic information and status" (DD A5 03) and it's returning the hardware version info (DD 05). It's supposed to return DD 03 (basic info).
I've...
on the FIRST time executing it, can you give me the output when using -d 6?
I'll load up SignalK on a VM and test against it. I'm using the PAHO client - there may be a compatibility issue.
just checked again; they look to be pretty even all afternoon even though #2 is still slightly higher - I'm going to leave it alone for now. Boy you can tell when that damn dryer kicks on.
The others fluctuate a little bit but #2 is almost always on top ... I'm wondering if it could be the breaker. I'll keep an eye on it and pop in a spare breaker if it becomes a problem.
Batts are charged and am feeding the excess to the grid atm
I turned on current data collection and it's pretty even:
I'll leave it going the rest of the afternoon and check it this eve
Try this one for a PI3B 32-bit
jbdtool: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=e633c55ab3293efb0c64ec1ebafd6fbd54cce8a1, with debug_info, not stripped
Yea, I keep an eye on the busbars and underneath them is a thin piece of polyethylene. It's been over a year since I got them but I vaguely remember something about the total size of the breakers in the panel and the manuf rating. Also the wiring is #8 90 deg THHN - which I got free. Going...
Wow my system is very similar to this - with the exception that my Sunny Islands control the generator - it starts the gen when the grid is out and the batteries are low then turns it off when the batts are charged. Similarly, I have a manual transfer switch at my main panel to switch between...
ok here's a statically compiled version for the PI4B 64-bit. please test it.
this wont work if you're running a 32-bit OS on it (uname -m will tell you)