JK BMS Log Messages Explained: Boot, Time calibration, Protections
JK BMS log messages are short fixed strings such as Boot, Time calibration or Cell 01 over charge protection. This guide explains what each one means and which point to a real problem. The names come from the message table the firmware uses, as listed in the open-source esphome-jk-bms project.
If you only want an answer for your own file, drop it into the log analysis page. It groups the messages for you. The sections below explain what it is grouping.
Where JK BMS log messages come from
The messages are the text column of the Detail Log. The BMS writes one row per event, and each row carries a snapshot of the pack: MOS states, highest and lowest cell, voltages, current, capacity and temperatures. How to export the file and read the other columns is covered in how to export and read the JK-BMS Detail Log.
The text is not standardised. The same kind of event is spelled differently in different places, and the analysis page matches messages by pattern rather than by exact string. Where that matters, it is mentioned below.
Power and clock messages
Boot: the BMS started. The voltage and current columns are zero, and they appear to be written before anything has been measured. See reading reboots and power events.Shutdown: the BMS powered itself down.Enter sleep: the BMS went into sleep mode. The sleep options are in the settings, under the smart sleep fields.Reset Watch-Dog: the internal watchdog restarted the BMS. Unlike the three above, this is a fault. One now and then is worth noting, repeated ones are worth investigating.Time calibration: logged when an app connects and sets the clock. It marks your own sessions and is not a fault. The analysis page hides these rows by default.
Rows dated before 2021, usually 2020-01-01, were written before the clock was set. They are real events with an unknown time.
Switch messages
These record who switched charging or discharging, so they explain why the MOS state changed without any protection.
APP open charge,APP close charge,APP open discharge,APP close discharge: you or someone else used the JK app.Remote open charge,Remote close charge,Remote open discharge,Remote close discharge: the same through a remote command.RS485 charge on,RS485 charge off,RS485 discharge on,RS485 discharge off, and theCANequivalents: an inverter or controller on the bus switched the MOS.RS485 power offis its own message.Button to turn it offandAPP to turn it off: the BMS was switched off by the power button or from the app. ABootthat follows soon after is expected, not a surprise reboot.Manually enable the emergency mode,Manually turn off the emergency mode,Turn off the emergency mode automatically: emergency mode changes.Button Emergency On,Button Emergency Off,Remote Emergency OnandRemote Emergency Offare the same idea with the source named.Button Forced Heating: the heating function was forced on with the button.
Protection trips and releases
A trip means the BMS cut off charging or discharging. Most trips have a matching release row when the value recovers. The release wording varies: "is released", "released" or "Release", and "over-temperature" or "over temperature". That is why Charge over temperature protection is released and Discharge over-temperature protection is released look inconsistent.
- Voltage:
Cell overcharge protectionandBattery overcharge protection,Cell undervoltage protectionandBattery undervoltage protection. Some files name the cell instead, as inCell 01 over charge protectionorCell 03 over discharge protection. The analysis reads cell numbers 01 to 32. See why cell overcharge protection keeps tripping for the most common case. - Current:
Charge overcurrent protection,Discharge overcurrent protection, and the stagesDischarge OCP IIandDischarge OCP III. Limits and delays are in overcurrent and short circuit settings. - Short circuit:
Charge short circuit protection,Discharge short circuit protection,Discharge level 2 short circuit protection. The analysis page rates these as critical.SCP Release Failedmeans the BMS could not release the short circuit protection, which is also treated as critical. - Temperature:
Charge over temperature protection,Charge low temperature protection,Discharge over temperature protection,Discharge under temperature protectionandMOS over temperature protection, each with a release.
A trip with no release before the end of the file is still open. A Boot closes any open episode, because the BMS lost its state.
Fault messages
Faults are not ordinary protections. They describe something wrong with the BMS or its wiring, and the analysis page rates them as critical.
Abnormal current sensorandAbnormal coprocessor communication: internal faults. Their release rows areAbnormal release of current sensorandAbnormal cancellation of coprocessor communication.Charge MOS abnormalandDischarge MOS abnormal: the BMS detected a problem with a MOS.Discharge On Failed: the BMS tried to switch discharge on and it did not work. The message alone does not give the cause. Look at the rows around it, since a protection that is still active would be one explanation.Cells Count Incorrect: the cell count the BMS sees does not match its setting. Compare it with the cell count in the editor.
Configuration messages
Factory setting LION,Factory setting LFP,Factory setting LTO: the settings were reset to a factory set for that chemistry. All your values changed at once, so check them.Unknown Log Code [0]: not a real event. It appears to be the periodic record the BMS writes when timed data storage is on, and the analysis page hides it by default. If your file has thousands of these, check the data storage period.Unknown Log Code [5],[10]and other numbers: codes the table does not name. The analysis page lists them as unknown, and it cannot say what they mean either.
Reading them faster
Reading a long file by hand is slow. The log analysis page sorts the messages into families (power, switches, each protection type, faults, configuration), pairs trips with releases, and counts trips per cell. It hides clock-sync and periodic rows until you ask for them. Everything runs in your browser and the file is not uploaded.
Start with the faults and the critical rows, then look at the trips that repeat.
Related guides
- How to export and read the JK-BMS Detail LogWhat the JK-BMS Detail Log contains, how to export it from the app, how to read its events and what the log analysis page tells you about trips and faults.
- JK BMS Reboots and Charge MOS Off: Reading Power Events in the LogJK BMS reboots or the charge MOS switched off by itself? Learn to read Boot rows and MOS state in the Detail Log and tell expected restarts from real faults.
- JK BMS Overcurrent Protection Settings: OCP and SCP GuideJK BMS overcurrent protection settings explained: charge and discharge OCP limits, delays, recovery times and SCP, with ranges and sizing for inverters.