[{"data":1,"prerenderedAt":494},["ShallowReactive",2],{"guide-en-jk-bms-log-messages-explained":3,"guides-en":435},{"id":4,"title":5,"body":6,"date":413,"description":414,"extension":415,"keywords":416,"meta":424,"navigation":425,"path":426,"related":427,"seo":431,"stem":432,"updated":433,"__hash__":434},"guides_en\u002Fguides\u002Fjk-bms-log-messages-explained.md","JK BMS Log Messages Explained: Boot, Time calibration, Protections",{"type":7,"value":8,"toc":401},"minimark",[9,26,35,40,48,51,55,91,94,98,101,200,204,214,300,306,310,313,355,359,388,392,398],[10,11,12,13,17,18,21,22,25],"p",{},"JK BMS log messages are short fixed strings such as ",[14,15,16],"code",{},"Boot",", ",[14,19,20],{},"Time calibration"," or ",[14,23,24],{},"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.",[10,27,28,29,34],{},"If you only want an answer for your own file, drop it into the ",[30,31,33],"a",{"href":32},"\u002Flogs","log analysis page",". It groups the messages for you. The sections below explain what it is grouping.",[36,37,39],"h2",{"id":38},"where-jk-bms-log-messages-come-from","Where JK BMS log messages come from",[10,41,42,43,47],{},"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 ",[30,44,46],{"href":45},"\u002Fguides\u002Fjk-bms-detail-log","how to export and read the JK-BMS Detail Log",".",[10,49,50],{},"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.",[36,52,54],{"id":53},"power-and-clock-messages","Power and clock messages",[56,57,58,68,74,80,86],"ul",{},[59,60,61,63,64,47],"li",{},[14,62,16],{},": the BMS started. The voltage and current columns are zero, and they appear to be written before anything has been measured. See ",[30,65,67],{"href":66},"\u002Fguides\u002Fjk-bms-reboots-power-events","reading reboots and power events",[59,69,70,73],{},[14,71,72],{},"Shutdown",": the BMS powered itself down.",[59,75,76,79],{},[14,77,78],{},"Enter sleep",": the BMS went into sleep mode. The sleep options are in the settings, under the smart sleep fields.",[59,81,82,85],{},[14,83,84],{},"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.",[59,87,88,90],{},[14,89,20],{},": 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.",[10,92,93],{},"Rows dated before 2021, usually 2020-01-01, were written before the clock was set. They are real events with an unknown time.",[36,95,97],{"id":96},"switch-messages","Switch messages",[10,99,100],{},"These record who switched charging or discharging, so they explain why the MOS state changed without any protection.",[56,102,103,118,133,156,169,194],{},[59,104,105,17,108,17,111,17,114,117],{},[14,106,107],{},"APP open charge",[14,109,110],{},"APP close charge",[14,112,113],{},"APP open discharge",[14,115,116],{},"APP close discharge",": you or someone else used the JK app.",[59,119,120,17,123,17,126,17,129,132],{},[14,121,122],{},"Remote open charge",[14,124,125],{},"Remote close charge",[14,127,128],{},"Remote open discharge",[14,130,131],{},"Remote close discharge",": the same through a remote command.",[59,134,135,17,138,17,141,17,144,147,148,151,152,155],{},[14,136,137],{},"RS485 charge on",[14,139,140],{},"RS485 charge off",[14,142,143],{},"RS485 discharge on",[14,145,146],{},"RS485 discharge off",", and the ",[14,149,150],{},"CAN"," equivalents: an inverter or controller on the bus switched the MOS. ",[14,153,154],{},"RS485 power off"," is its own message.",[59,157,158,161,162,165,166,168],{},[14,159,160],{},"Button to turn it off"," and ",[14,163,164],{},"APP to turn it off",": the BMS was switched off by the power button or from the app. A ",[14,167,16],{}," that follows soon after is expected, not a surprise reboot.",[59,170,171,17,174,17,177,180,181,17,184,17,187,161,190,193],{},[14,172,173],{},"Manually enable the emergency mode",[14,175,176],{},"Manually turn off the emergency mode",[14,178,179],{},"Turn off the emergency mode automatically",": emergency mode changes. ",[14,182,183],{},"Button Emergency On",[14,185,186],{},"Button Emergency Off",[14,188,189],{},"Remote Emergency On",[14,191,192],{},"Remote Emergency Off"," are the same idea with the source named.",[59,195,196,199],{},[14,197,198],{},"Button Forced Heating",": the heating function was forced on with the button.",[36,201,203],{"id":202},"protection-trips-and-releases","Protection trips and releases",[10,205,206,207,161,210,213],{},"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 ",[14,208,209],{},"Charge over temperature protection is released",[14,211,212],{},"Discharge over-temperature protection is released"," look inconsistent.",[56,215,216,243,264,281],{},[59,217,218,219,161,222,17,225,161,228,231,232,21,234,237,238,242],{},"Voltage: ",[14,220,221],{},"Cell overcharge protection",[14,223,224],{},"Battery overcharge protection",[14,226,227],{},"Cell undervoltage protection",[14,229,230],{},"Battery undervoltage protection",". Some files name the cell instead, as in ",[14,233,24],{},[14,235,236],{},"Cell 03 over discharge protection",". The analysis reads cell numbers 01 to 32. See ",[30,239,241],{"href":240},"\u002Fguides\u002Fjk-bms-cell-overcharge-protection-tripping","why cell overcharge protection keeps tripping"," for the most common case.",[59,244,245,246,17,249,252,253,161,256,259,260,47],{},"Current: ",[14,247,248],{},"Charge overcurrent protection",[14,250,251],{},"Discharge overcurrent protection",", and the stages ",[14,254,255],{},"Discharge OCP II",[14,257,258],{},"Discharge OCP III",". Limits and delays are in ",[30,261,263],{"href":262},"\u002Fguides\u002Fjk-bms-ocp-scp-settings","overcurrent and short circuit settings",[59,265,266,267,17,270,17,273,276,277,280],{},"Short circuit: ",[14,268,269],{},"Charge short circuit protection",[14,271,272],{},"Discharge short circuit protection",[14,274,275],{},"Discharge level 2 short circuit protection",". The analysis page rates these as critical. ",[14,278,279],{},"SCP Release Failed"," means the BMS could not release the short circuit protection, which is also treated as critical.",[59,282,283,284,17,287,17,290,17,293,161,296,299],{},"Temperature: ",[14,285,286],{},"Charge over temperature protection",[14,288,289],{},"Charge low temperature protection",[14,291,292],{},"Discharge over temperature protection",[14,294,295],{},"Discharge under temperature protection",[14,297,298],{},"MOS over temperature protection",", each with a release.",[10,301,302,303,305],{},"A trip with no release before the end of the file is still open. A ",[14,304,16],{}," closes any open episode, because the BMS lost its state.",[36,307,309],{"id":308},"fault-messages","Fault messages",[10,311,312],{},"Faults are not ordinary protections. They describe something wrong with the BMS or its wiring, and the analysis page rates them as critical.",[56,314,315,330,339,345],{},[59,316,317,161,320,323,324,161,327,47],{},[14,318,319],{},"Abnormal current sensor",[14,321,322],{},"Abnormal coprocessor communication",": internal faults. Their release rows are ",[14,325,326],{},"Abnormal release of current sensor",[14,328,329],{},"Abnormal cancellation of coprocessor communication",[59,331,332,161,335,338],{},[14,333,334],{},"Charge MOS abnormal",[14,336,337],{},"Discharge MOS abnormal",": the BMS detected a problem with a MOS.",[59,340,341,344],{},[14,342,343],{},"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.",[59,346,347,350,351,47],{},[14,348,349],{},"Cells Count Incorrect",": the cell count the BMS sees does not match its setting. Compare it with the cell count in the ",[30,352,354],{"href":353},"\u002F","editor",[36,356,358],{"id":357},"configuration-messages","Configuration messages",[56,360,361,373,379],{},[59,362,363,17,366,17,369,372],{},[14,364,365],{},"Factory setting LION",[14,367,368],{},"Factory setting LFP",[14,370,371],{},"Factory setting LTO",": the settings were reset to a factory set for that chemistry. All your values changed at once, so check them.",[59,374,375,378],{},[14,376,377],{},"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.",[59,380,381,17,384,387],{},[14,382,383],{},"Unknown Log Code [5]",[14,385,386],{},"[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.",[36,389,391],{"id":390},"reading-them-faster","Reading them faster",[10,393,394,395,397],{},"Reading a long file by hand is slow. The ",[30,396,33],{"href":32}," 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.",[10,399,400],{},"Start with the faults and the critical rows, then look at the trips that repeat.",{"title":402,"searchDepth":403,"depth":403,"links":404},"",3,[405,407,408,409,410,411,412],{"id":38,"depth":406,"text":39},2,{"id":53,"depth":406,"text":54},{"id":96,"depth":406,"text":97},{"id":202,"depth":406,"text":203},{"id":308,"depth":406,"text":309},{"id":357,"depth":406,"text":358},{"id":390,"depth":406,"text":391},"2026-10-02","What each JK BMS log message means: Boot, Time calibration, APP open charge, protection trips and releases, Discharge On Failed and Unknown Log Code [0].","md",[417,418,419,420,421,422,423],"jk bms log messages","jk bms time calibration","jk bms app open charge","jk bms unknown log code","jk bms discharge on failed","jk bms reset watch-dog","jk bms event log explained",{},true,"\u002Fguides\u002Fjk-bms-log-messages-explained",[428,429,430],"jk-bms-detail-log","jk-bms-reboots-power-events","jk-bms-ocp-scp-settings",{"title":5,"description":414},"guides\u002Fjk-bms-log-messages-explained",null,"BZEUT9Q2sz-3pNQt59mQ5fZvldG8aWuUQ4EjYec3plQ",[436,441,445,448,451,455,459,460,464,467,471,475,478,482,486,490],{"path":437,"title":438,"description":439,"date":440,"updated":433},"\u002Fguides\u002Fjk-bms-bluetooth-browser","Change JK BMS Settings over Bluetooth in Your Browser","Connect to a JK BMS from Chrome or Edge, read every setting, apply a preset and write it back in a safe order with read-back checks. No JK app needed.","2026-10-04",{"path":442,"title":443,"description":444,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-balance-settings","JK BMS Balance Settings: Start Voltage, Trigger, Current","JK BMS balance settings explained: start balance voltage, balance trigger voltage, max balance current and the Balancer switch, for LFP, NMC and LTO.",{"path":240,"title":446,"description":447,"date":413,"updated":433},"JK BMS Cell Over Charge Protection Keeps Tripping: Causes and Fix","JK BMS cell over charge protection tripping and releasing every minute? See why a charger set too high causes it, how to tell it from a weak cell, and how to fix it.",{"path":45,"title":449,"description":450,"date":413,"updated":440},"How to export and read the JK-BMS Detail Log","What 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.",{"path":452,"title":453,"description":454,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-export-import-settings","Export and Import JK BMS Settings: The .jkcfg File Guide","How to export and import JK BMS settings with the app, what the .jkcfg file contains, why hand edits break it, and how to edit it safely in your browser.",{"path":456,"title":457,"description":458,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-lifepo4-settings","JK BMS Settings for LiFePO4: 8S and 16S, 280Ah and 314Ah","JK BMS settings for LiFePO4 packs: per-cell voltage, balance, current and temperature values for 8S and 16S with 280Ah and 314Ah cells, in three wear levels.",{"path":426,"title":5,"description":414,"date":413,"updated":433},{"path":461,"title":462,"description":463,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-nmc-lto-settings","JK BMS Settings for NMC and LTO: Safe Per-Cell Values","JK BMS settings for NMC and LTO packs: per-cell OVP, UVP, balance, temperature and C-rate values in three wear levels, plus how the editor detects chemistry.",{"path":262,"title":465,"description":466,"date":413,"updated":440},"JK BMS Overcurrent Protection Settings: OCP and SCP Guide","JK BMS overcurrent protection settings explained: charge and discharge OCP limits, delays, recovery times and SCP, with ranges and sizing for inverters.",{"path":468,"title":469,"description":470,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-parameters-explained","JK BMS Parameters Explained: Every Setting by Group","JK BMS parameters explained in one glossary: cell OVP, OVPR, UVP, UVPR, balance, SOC, RCV and RFV, current and temperature limits, with typical LFP ranges.",{"path":472,"title":473,"description":474,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-password","JK BMS Password: Default Codes, Change and Reset Guide","Your JK BMS password is really two codes: Bluetooth and settings. See factory defaults, how to change them, what to try if one fails, and what to do if lost.",{"path":66,"title":476,"description":477,"date":413,"updated":440},"JK BMS Reboots and Charge MOS Off: Reading Power Events in the Log","JK 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.",{"path":479,"title":480,"description":481,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-sending-failure","JK BMS Sending failure: Causes and Step-by-Step Fix","JK BMS Sending failure on import? See why the firmware rejects settings (voltage chains, write order, SCP delay) and how to fix it step by step.",{"path":483,"title":484,"description":485,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-soc-calibration","JK BMS SOC Calibration: Fix SOC Drift, Jumps and Reset","JK BMS SOC calibration explained: why SOC drifts or jumps, what the SOC-100% voltage and SOC-0% voltage do, and how to set them and recalibrate the pack.",{"path":487,"title":488,"description":489,"date":413,"updated":433},"\u002Fguides\u002Fjk-bms-weak-cell-log","Find a Weak Cell with the JK BMS Log: Trips, Spread and Balance","Find a weak cell in the JK BMS Detail Log: which cell trips first, how wide the spread is at the trip, and whether it is balance drift or a bad cell.",{"path":491,"title":492,"description":493,"date":413,"updated":440},"\u002Fguides\u002Fjk-bms-wire-resistance","JK BMS Wire Resistance: Fix Abnormal Balance Wire Alarm","JK BMS wire resistance explained: what the abnormal resistance of the balance wire warning means, normal values, common causes and how to fix a bad lead.",1791151315700]