• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

YamBMS JK-BMS-CAN with new Cut-Off Charging Logic (open-source)

This is not an error but normal operation.
The id 0x356 is sent, the inverter responds with 0x305 and the canbus_link_timer is reset.

Good to know, never leave the console with logs open indefinitely (via OTA), this can be the cause of an overload and crash.
For continuous log monitoring it is better to use UART.

As I explained in the README you can enable the inverter heartbeat monitoring to check if it is stable continuously at +/- 600ms.
I have the heartbeat enabled and yes, is around 600-640ms each time i checked it.
 
Its beautiful.

Im going to add BMS deltas tho. I need it! It helps my anxiety to have some peaks and valleys.
This YamBms is not connected to the inverter. I have 4 of your project running ATM

:)
 

Attachments

  • Screenshot 2024-10-01 at 19-42-03 YamBMS – Home Assistant.png
    Screenshot 2024-10-01 at 19-42-03 YamBMS – Home Assistant.png
    118.9 KB · Views: 13
You can leave it enabled for a day and then analyze the graph.
It looks way to much in the graph statistics comparing with i can see live when i check it.

What can be the cause of this and more important what i can do on my side to fix/improve this?

Thanks for the suport.
 

Attachments

  • IMG_1719.jpeg
    IMG_1719.jpeg
    116.8 KB · Views: 4
It looks way to much in the graph statistics comparing with i can see live when i check it.

What can be the cause of this and more important what i can do on my side to fix/improve this?

Thanks for the suport.

Are you using the web server?
 
It looks way to much in the graph statistics comparing with i can see live when i check it.

What can be the cause of this and more important what i can do on my side to fix/improve this?

Thanks for the suport.

Please provide the CANBUS Status and ESP32 Online Status as in the example below.

When you see Became unavailable it means that Home Assistant can no longer receive the information, this may be due to a network connection problem of the ESP32 or the HA server on your WiFi / Ethernet network, in my case this was a HA upgrade.

If you see CANBUS Status turned off then it means that your inverter did not respond with ACK 0x305 quickly enough (5s by defauft), look at the graph over a period of one hour so that it is more accurate.

1727852423918.png


1727852465171.png
 
Update on my end, got BLE working to 2 BMS, but cant get CAN online to inverter:
Code:
[01:19:36][E][component:082]:   Component canbus is marked FAILED

Inverter Brand : Midnite
Inverter Model : MN15-12KW-AIO
Inverter battery mode : Pylon 1.2
BMS model : jk-pb2a16s20p
BMS protocol : BLE
RS485 board : not sure, kit model
ESP32 board : ESP32-S3 DevKitC-1 Waveshare
CAN name : Automatic
CAN protocol : PYLON 1.2
CAN transceiver : MCP2515
Multi-BMS : yes

This setup works fine natively just using CAN from BMS to Inverter on Pylon protocol with a straight 568B CAT5 cable.

If I get this working, the hardware will probably be of interest:
https://www.waveshare.com/Pico-CAN-B.htm (MCP2515 CAN module)
Available on Amazon prime (vs 10+ day to get an Atom)

I used board_esp32-s3-devkitc-1_mcp2515.yaml

My CAN config:
Code:
spi:
  # BUS SPI 1
  - id: bus_spi1
    mosi_pin: 7
    miso_pin: 4
    clk_pin: 6

canbus:
  # CANBUS NODE 1
  - platform: mcp2515
    spi_id: bus_spi1
    id: canbus_node1
    cs_pin: 5
    can_id: 2
    bit_rate: 500kbps

GPIOs on this board are:
Pico-CAN-B-details-inter.jpg

IMG_20241001_223010~2.jpg
IMG_20241001_230018~2.jpg

I wired solid blue (RJ45 pin 4) to CAN_H, and white/blue (RJ45 pin 5) to CAN_L The docs on the BMS and the inverter both indicate the CAN pinout is on the center pair. I also tried with the 120ohm jumper on and off. Attached are configs. I'm a network tech by trade, so making cables is my thing.
 

Attachments

Code:
[01:19:36][E][component:082]:   Component canbus is marked FAILED

Given this error I would say that the problem comes from the configuration of your MCP2515.

This means that the esphome canbus component is not working.
 
@Sleeper85 Any issues running without Home Assistant for a while? Due to hurricane, lack of sun and no grid available for many weeks I need to conserve as much energy as possible. Every watt counts right now.
 
I sorry to hear that you are among the affected.

I do not know about reboots without a HA connection but it doesn't seem to reboot when it doesn't have a can connection.

I have been running without can on one of mine for a couple days now with no problem.
 
@Sleeper85 Any issues running without Home Assistant for a while? Due to hurricane, lack of sun and no grid available for many weeks I need to conserve as much energy as possible. Every watt counts right now.

Normally no, the default configuration is designed to not reboot every 15min in case of loss of connection with the HA API.

YAML:
api:
  reboot_timeout: 0s

But without WiFi there will be reboots of the ESP32 every 15 minutes unless you also add this option:

YAML:
wifi:
  reboot_timeout: 0s

Courage
 
Dashboard 1.1.3

Fine tuning + added the BMS tab (already uploaded on github).

The wire resistance values and the balance current are not available for JK-B over UART.

1727974249054.png

Edit: added version for JK-PB RS485 (untested)

YamBMS_HA_Dashboard_Black.png

1727965402188.png
 
Last edited:
I sorry to hear that you are among the affected.
Thanks. It’s our cabin/place in the mountains. We’re going to head up and clean out the thawed freezers if we can drive up there. Bringing a few PV panels to throw on the ground as I’m assuming mine are gone since system is dead. Just want enough power for 6000xp, StarLink, WiFi, security cameras. Leaving everything else off. Looting is starting so just want some information on what’s going on.
 
I am running bms_JK-PB_RS485_bms_minimal and with logger level set to warn i get the fallowing error.
View attachment 248014
I know it was discussed before but i am wonder what missing parameter from the full list that is not included in minimal configuration can cause this error. Using bms_JK-PB_RS485_bms_minimal and logger level DEBUG or WARN with bms_JK-PB_RS485_bms_full this issue is not occurring.
 

Attachments

  • warn.PNG
    warn.PNG
    46.4 KB · Views: 5
I am running bms_JK-PB_RS485_bms_minimal and with logger level set to warn i get the fallowing error.
View attachment 248014
I know it was discussed before but i am wonder what missing parameter from the full list that is not included in minimal configuration can cause this error. Using bms_JK-PB_RS485_bms_minimal and logger level DEBUG or WARN with bms_JK-PB_RS485_bms_full this issue is not occurring.

I don't know and I don't have a JK-PB to test it, if you have time you can try to find the missing sensor, this is not normal. I opened a discussion about it but @txubelaxu never answered.

 
I am trying to get a Esp32S3 devkit board to work with a MCP2515.
I am using the "board_esp32-s3-devkitc-1_mcp2515" package

I am utilizing:
Mosi pin: 11
Miso pin 12
Clk Pin 13
CS pin 21
All this is per the package yaml. Is there anything else to connect or change?
I wired it up as described and it doesnt talk to my 6000xp. No errors on compile.
I tried 3.3v and 5v.
Tried with and without the jumper.

I am wondering if there is an interrupt pin that I am unaware of?
 
Last edited:
I am trying to get a Esp32S3 devkit board to work with a MCP2515.
I am using the "board_esp32-s3-devkitc-1_mcp2515" package

I am utilizing:
Mosi pin: 11
Miso pin 12
Clk Pin 13
CS pin 21
All this is per the package yaml. Is there anything else to connect or change?
I wired it up as described and it doesnt talk to my 6000xp. No errors on compile.
I tried 3.3v and 5v.
Tried with and without the jumper.

I am wondering if there is an interrupt pin that I am unaware of?

Normally no, the doc shows a resistor from 4K7 to MISO but this does not work for me with PVbrain2 and so I have no resistor.

Also check the clock option compared to the crystal of your board.

 

diy solar

diy solar
Back
Top