Alpha ESS Battery #164
Replies: 19 comments 2 replies
-
|
I would try the Pylon CAN protocol as its a chinese built battery and they commonly use/support that. |
Beta Was this translation helpful? Give feedback.
-
|
Alright, ill get the multimeter out and see what i can discover. will feed
back any info.
Thanks
…On Fri, Oct 10, 2025 at 3:39 AM Torsten Oltmanns ***@***.***> wrote:
I would try the Pylon CAN protocol as its a chinese built battery and they
commonly use/support that.
Otherwise I would need the protocol communication specification for the
Alpha Battery M48112-S. Preferrably the CAN specification.
For the pin identification you could try measuring the voltage of the pins
on the BMS. CAN_H line (around 3.5V) and a lower voltage level on the CAN_L
line (around 1.5V) in the dominant state. Otherwise both are around 2.5V
(then you need to try switching them).
—
Reply to this email directly, view it on GitHub
<#164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BL3HJQW7G4VRB2L7RFUGJKL3W4L7XAVCNFSM6AAAAACIXSIJUCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINRUGI3DQMI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
|
ok tried using the pylon hv and see this: |
Beta Was this translation helpful? Give feedback.
-
|
Are your CAN ports and your CAN hat configured correctly? Looks like it cannot open the CAN port. If you are sure its configured correctly try restarting the PI. It sometimes happens on my CAN hat too. Usually its working after a restart or two |
Beta Was this translation helpful? Give feedback.
-
|
Yep i checked with loop back and all config looks fine. i double checked
cables to and they are correct.
…On Sun, Oct 12, 2025 at 4:08 AM Torsten Oltmanns ***@***.***> wrote:
Are your CAN ports and your CAN hat configured correctly? Looks like it
cannot open the CAN port. If you are sure its configured correctly try
restarting the PI. It sometimes happens on my CAN hat too. Usually its
working after a restart or two
—
Reply to this email directly, view it on GitHub
<#164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BL3HJQWU6QW3AXOZVPN374T3XHAZRAVCNFSM6AAAAACIXSIJUCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINRVGY3TKNA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
|
It clearly states that the CAN interface is down. Did you pull it up before running? |
Beta Was this translation helpful? Give feedback.
-
|
the hat us one of these:
https://www.waveshare.com/wiki/RS485_CAN_HAT#CAN_Usage
if it wasnt up the loopback wouldnt work tho would it?
if i try the pylontech hv i get this:
2025-10-17 09:23:20.671 | INFO | main | til.SystemProperties:22 |
Loading config.properties from: config/config.properties
2025-10-17 09:23:21.563 | INFO | main | ore.InverterProducer:76 |
Created inverter binding: NONE
2025-10-17 09:23:21.593 | INFO | main | verter.core.Inverter:55 |
Using plugins: []
2025-10-17 09:23:21.603 | INFO | main | core.BMSListProducer:107 |
Intialized BMS #1[PYLON_HV_CAN] on port can0
2025-10-17 09:23:21.610 | INFO | main | verter.BmsToInverter:283 |
Starting BMS receiver...
2025-10-17 09:23:21.617 | INFO | Thread-3 | verter.BmsToInverter:309 |
Reading BMS #1 PYLON_HV_CAN on can0...
2025-10-17 09:23:21.619 | INFO | Thread-3 | toinverter.core.Port:111 |
Opening can0 ...
2025-10-17 09:23:21.643 | INFO | Thread-3 | toinverter.core.Port:113 |
Opening port can0 SUCCESSFUL
but nothing after
with the Pylon can:
2025-10-17 09:30:58.904 | INFO | Thread-3 | verter.BmsToInverter:431 |
BMS alarms:
NONE
2025-10-17 09:30:59.894 | INFO | Thread-4 | verter.BmsToInverter:335 |
Sending to inverter NONE on 1...
2025-10-17 09:30:59.904 | INFO | Thread-3 | verter.BmsToInverter:309 |
Reading BMS #1 PYLON_CAN on can0...
2025-10-17 09:31:00.895 | INFO | Thread-4 | verter.BmsToInverter:335 |
Sending to inverter NONE on 1...
2025-10-17 09:31:00.925 | ERROR | Thread-3 | PylonBmsCANProcessor:75 |
Error receiving frame!
tel.schich.javacan.platform.linux.LinuxNativeOperationException: Unable to
read from the socket - errorNumber=11, errorMessage='Resource temporarily
unavailable'
at tel.schich.javacan.SocketCAN.read(Native Method)
~[javacan-core-3.2.4.jar:?]
at
tel.schich.javacan.AbstractCanChannel.readSocket(AbstractCanChannel.java:213)
~[javacan-core-3.2.4.jar:?]
at
tel.schich.javacan.RawCanChannelImpl.readUnsafe(RawCanChannelImpl.java:85)
~[javacan-core-3.2.4.jar:?]
at tel.schich.javacan.RawCanChannelImpl.read(RawCanChannelImpl.java:79)
~[javacan-core-3.2.4.jar:?]
at tel.schich.javacan.RawCanChannelImpl.read(RawCanChannelImpl.java:74)
~[javacan-core-3.2.4.jar:?]
at
com.airepublic.bmstoinverter.protocol.can.JavaCANPort.receiveFrame(JavaCANPort.java:77)
~[protocol-can-0.0.1-SNAPSHOT.jar:?]
at
com.airepublic.bmstoinverter.bms.pylon.can.PylonBmsCANProcessor.collectData(PylonBmsCANProcessor.java:38)
~[bms-pylon-can-0.0.1-SNAPSHOT.jar:?]
at com.airepublic.bmstoinverter.core.BMS.process(BMS.java:180)
~[core-api-0.0.1-SNAPSHOT.jar:?]
at
com.airepublic.bmstoinverter.BmsToInverter.lambda$start$3(BmsToInverter.java:310)
~[bms-to-inverter-main-0.0.1-SNAPSHOT.jar:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
2025-10-17 09:31:00.926 | INFO | Thread-3 | verter.BmsToInverter:361 |
BMS SOC V A CellMinV CellMaxV CellDiff
#1 -0.1 0.0 0.0 0.0(#0) 0.0(#0) 0.0
…On Fri, Oct 17, 2025 at 1:17 AM Torsten Oltmanns ***@***.***> wrote:
It clearly states that the CAN interface is down. Did you pull it up
before running?
What Pi and CAN hat are you using?
I start and stop my CAN ports of my Waveshare 2CH CAN FD hat automatically
on booting the PI with a script like:
#!/usr/bin/env bash
sudo ip link set down can0
sudo ip link set down can1
sudo ip link set can0 type can bitrate 500000 restart-ms 100 fd off
sudo ip link set can1 type can bitrate 500000 restart-ms 100 fd off
sudo ifconfig can0 txqueuelen 65536
sudo ifconfig can1 txqueuelen 65536
sudo ip link set up can0
sudo ip link set up can1
—
Reply to this email directly, view it on GitHub
<#164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BL3HJQVUZKADMMVXD36TEIT3YAYTLAVCNFSM6AAAAACIXSIJUCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINZQGQYDSOI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
|
left the HV one one longer and got this:
2025-10-17 09:36:23.965 | INFO | Thread-3 | lonHVBmsCANProcessor:86 |
Command 4200 successfully sent and received! 0x00
2025-10-17 09:39:48.765 | INFO | Thread-3 | lonHVBmsCANProcessor:86 |
Command 4200 successfully sent and received! 0x02
2025-10-17 09:39:48.766 | INFO | Thread-3 | verter.BmsToInverter:361 |
BMS SOC V A CellMinV CellMaxV CellDiff
2025-10-17 09:39:48.767 | INFO | Thread-3 | verter.BmsToInverter:431 |
BMS alarms:
NONE
…On Fri, Oct 17, 2025 at 9:31 AM Lewis Bates ***@***.***> wrote:
the hat us one of these:
https://www.waveshare.com/wiki/RS485_CAN_HAT#CAN_Usage
if it wasnt up the loopback wouldnt work tho would it?
if i try the pylontech hv i get this:
2025-10-17 09:23:20.671 | INFO | main | til.SystemProperties:22
| Loading config.properties from: config/config.properties
2025-10-17 09:23:21.563 | INFO | main | ore.InverterProducer:76
| Created inverter binding: NONE
2025-10-17 09:23:21.593 | INFO | main | verter.core.Inverter:55
| Using plugins: []
2025-10-17 09:23:21.603 | INFO | main | core.BMSListProducer:107
| Intialized BMS #1[PYLON_HV_CAN] on port can0
2025-10-17 09:23:21.610 | INFO | main | verter.BmsToInverter:283
| Starting BMS receiver...
2025-10-17 09:23:21.617 | INFO | Thread-3 | verter.BmsToInverter:309
| Reading BMS #1 PYLON_HV_CAN on can0...
2025-10-17 09:23:21.619 | INFO | Thread-3 | toinverter.core.Port:111
| Opening can0 ...
2025-10-17 09:23:21.643 | INFO | Thread-3 | toinverter.core.Port:113
| Opening port can0 SUCCESSFUL
but nothing after
with the Pylon can:
2025-10-17 09:30:58.904 | INFO | Thread-3 | verter.BmsToInverter:431
| BMS alarms:
NONE
2025-10-17 09:30:59.894 | INFO | Thread-4 | verter.BmsToInverter:335
| Sending to inverter NONE on 1...
2025-10-17 09:30:59.904 | INFO | Thread-3 | verter.BmsToInverter:309
| Reading BMS #1 PYLON_CAN on can0...
2025-10-17 09:31:00.895 | INFO | Thread-4 | verter.BmsToInverter:335
| Sending to inverter NONE on 1...
2025-10-17 09:31:00.925 | ERROR | Thread-3 | PylonBmsCANProcessor:75
| Error receiving frame!
tel.schich.javacan.platform.linux.LinuxNativeOperationException: Unable to
read from the socket - errorNumber=11, errorMessage='Resource temporarily
unavailable'
at tel.schich.javacan.SocketCAN.read(Native Method)
~[javacan-core-3.2.4.jar:?]
at
tel.schich.javacan.AbstractCanChannel.readSocket(AbstractCanChannel.java:213)
~[javacan-core-3.2.4.jar:?]
at
tel.schich.javacan.RawCanChannelImpl.readUnsafe(RawCanChannelImpl.java:85)
~[javacan-core-3.2.4.jar:?]
at tel.schich.javacan.RawCanChannelImpl.read(RawCanChannelImpl.java:79)
~[javacan-core-3.2.4.jar:?]
at tel.schich.javacan.RawCanChannelImpl.read(RawCanChannelImpl.java:74)
~[javacan-core-3.2.4.jar:?]
at
com.airepublic.bmstoinverter.protocol.can.JavaCANPort.receiveFrame(JavaCANPort.java:77)
~[protocol-can-0.0.1-SNAPSHOT.jar:?]
at
com.airepublic.bmstoinverter.bms.pylon.can.PylonBmsCANProcessor.collectData(PylonBmsCANProcessor.java:38)
~[bms-pylon-can-0.0.1-SNAPSHOT.jar:?]
at com.airepublic.bmstoinverter.core.BMS.process(BMS.java:180)
~[core-api-0.0.1-SNAPSHOT.jar:?]
at
com.airepublic.bmstoinverter.BmsToInverter.lambda$start$3(BmsToInverter.java:310)
~[bms-to-inverter-main-0.0.1-SNAPSHOT.jar:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
2025-10-17 09:31:00.926 | INFO | Thread-3 | verter.BmsToInverter:361
|
BMS SOC V A CellMinV CellMaxV CellDiff
#1 -0.1 0.0 0.0 0.0(#0) 0.0(#0) 0.0
On Fri, Oct 17, 2025 at 1:17 AM Torsten Oltmanns ***@***.***>
wrote:
> It clearly states that the CAN interface is down. Did you pull it up
> before running?
> What Pi and CAN hat are you using?
> I start and stop my CAN ports of my Waveshare 2CH CAN FD hat
> automatically on booting the PI with a script like:
>
> #!/usr/bin/env bash
> sudo ip link set down can0
> sudo ip link set down can1
> sudo ip link set can0 type can bitrate 500000 restart-ms 100 fd off
> sudo ip link set can1 type can bitrate 500000 restart-ms 100 fd off
> sudo ifconfig can0 txqueuelen 65536
> sudo ifconfig can1 txqueuelen 65536
> sudo ip link set up can0
> sudo ip link set up can1
>
> —
> Reply to this email directly, view it on GitHub
> <#164 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BL3HJQVUZKADMMVXD36TEIT3YAYTLAVCNFSM6AAAAACIXSIJUCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINZQGQYDSOI>
> .
> You are receiving this because you authored the thread.Message ID:
> <ai-republic/bms-to-inverter/repo-discussions/164/comments/14704099@
> github.com>
>
|
Beta Was this translation helpful? Give feedback.
-
|
It does find the port on can0, that's why it logs: But this part is the important one: Which means the port is currently blocked by another application. Try restarting the PI and manually pull the interface down and up again. Then start the application. Please always attach a clean logfie (with log level debug and only the BMS configured. Inverter NONE and no extensions). That way its easier to read and see the whole picture of what's happening. |
Beta Was this translation helpful? Give feedback.
-
|
I gave up with this Alpha and purchased a JBD instead, tho i also have
issues with that. It does seem to be getting some data on rs48 for it.
the jbd software works fine. any help appreciated
…On Sat, Oct 18, 2025 at 7:05 AM Torsten Oltmanns ***@***.***> wrote:
It does find the port on can0, that's why it logs:
2025-10-17 09:23:21.619 | INFO | Thread-3 | toinverter.core.Port:111 |
*Opening can0 ...*
2025-10-17 09:23:21.643 | INFO | Thread-3 | toinverter.core.Port:113 |
*Opening port can0 SUCCESSFUL*
But this part is the important one:
2025-10-17 09:31:00.925 | ERROR | Thread-3 | PylonBmsCANProcessor:75 |
Error receiving frame!
tel.schich.javacan.platform.linux.LinuxNativeOperationException: Unable to
read from the socket - errorNumber=11, errorMessage='
*Resource temporarily unavailable*'
Which means the port is currently blocked by another application. Try
restarting the PI and manually pull the interface down and up again. Then
start the application.
Please always attach a clean logfie (with log level debug and only the BMS
configured. Inverter NONE and no extensions). That way its easier to read
and see the whole picture of what's happening.
—
Reply to this email directly, view it on GitHub
<#164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BL3HJQXJDRXTRPPCKHN4YY33YHKCJAVCNFSM6AAAAACIXSIJUCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINZRGU2DMMA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
|
Just let me know if you have a problem and attach a log file here with only the BMS configured (no inverter, no other services) 😄 |
Beta Was this translation helpful? Give feedback.
-
|
BMS-to-Inverter-Debug.log Attached are the logs thanks |
Beta Was this translation helpful? Give feedback.
-
|
Hi @lewis1991-red, |
Beta Was this translation helpful? Give feedback.
-
|
BMS-to-Inverter-Debug.log |
Beta Was this translation helpful? Give feedback.
-
|
Great! Thanks for the logs. I've added minimum cell voltage, maximum cell voltage and cell voltage difference. |
Beta Was this translation helpful? Give feedback.
-
|
Sorry about the delay, so it looks like its getting further now and it reads the bms fine. now when i try send that to the growatt HV inveter it doesnt show a battery in shineapp. log attached |
Beta Was this translation helpful? Give feedback.
-
|
Hi @lewis1991-red, |
Beta Was this translation helpful? Give feedback.
-
|
also it works fine with the python script i made. |
Beta Was this translation helpful? Give feedback.
-
|
What Pi do you use? Maybe you need to adjust the architecture to use the right CAN library. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi i have an Alpha Battery M48112-S, it currently in dumb mode to growatt sph600. i would like to make it smarter and found this project.
i see alpha is not listed and i cannot even find documentation on the pin out for can port.
where do i even start?
i have a can hat for pi.
Beta Was this translation helpful? Give feedback.
All reactions