Closed Smoeller0 closed 2 years ago
Run the command with debug (add ``-D```) and post the results Might be worth trying jk04 protocol as well
Hello I Try the jk04 but the same result
jkbms -p C8:47:8C:F2:80:D9 -P JK02 -D
2022-03-19 06:44:11,894:INFO:init:main@236: Solar Device Command Utility, version: 0.7.76, remove brackets in ved protocol
2022-03-19 06:44:11,894:INFO:init:main@339: Creating device "unnamed" (type: "jkbms") on port "C8:47:8C:F2:80:D9 (porttype=None)" using protocol "JK02"
2022-03-19 06:44:11,897:DEBUG:init:main@343: device_class <class 'mppsolar.devices.jkbms.jkbms'>
2022-03-19 06:44:11,897:DEBUG:device:init@31: init args ()
2022-03-19 06:44:11,897:DEBUG:device:init@32: init kwargs {'name': 'unnamed', 'port': 'C8:47:8C:F2:80:D9', 'protocol': 'JK02', 'baud': 2400, 'porttype': None, 'mqtt_broker': 'localhost', 'mqtt_port': 1883, 'mqtt_user': None, 'mqtt_pass': None}
2022-03-19 06:44:11,897:DEBUG:device:get_port_type@71: port matches jkble ':'
2022-03-19 06:44:11,897:INFO:device:set_port@154: Using jkbleio for communications
2022-03-19 06:44:11,939:DEBUG:device:set_protocol@96: Protocol JK02
2022-03-19 06:44:11,953:DEBUG:device:init@36: init name unnamed, port <mppsolar.io.jkbleio.JkBleIO object at 0xb6542190>, protocol <mppsolar.protocols.jk02.jk02 object at 0xb6542208>
2022-03-19 06:44:11,953:DEBUG:init:main@390: Commands [(<mppsolar.devices.jkbms.jkbms object at 0xb6542178>, '', '', 'screen', None, None)]
2022-03-19 06:44:11,954:INFO:init:main@395: Looping 1 commands
2022-03-19 06:44:11,954:INFO:init:main@405: Getting results from device: jkbms device - name: unnamed, port: <mppsolar.io.jkbleio.JkBleIO object at 0xb6542190>, protocol: <mppsolar.protocols.jk02.jk02 object at 0xb6542208> for command: , tag: , outputs: screen
2022-03-19 06:44:11,954:INFO:device:run_command@270: Running command
2022-03-19 06:44:11,954:INFO:jkabstractprotocol:get_full_command@70: Using protocol b'JK02' with 2 commands
2022-03-19 06:44:11,954:DEBUG:jkabstractprotocol:get_command_defn@95: get_command_defn for: getCellData
2022-03-19 06:44:11,954:DEBUG:abstractprotocol:get_command_defn@42: Processing command 'getCellData'
2022-03-19 06:44:11,954:DEBUG:abstractprotocol:get_command_defn@44: Found command getCellData in protocol b'JK02'
2022-03-19 06:44:11,955:DEBUG:jkabstractprotocol:get_full_command@74: self._command = getCellData, self._command_defn = {'name': 'getCellData', 'command_code': '96', 'record_type': '2', 'description': 'BLE Cell Data inquiry', 'help': ' -- queries the ble device for the cell data', 'type': 'QUERY', 'response_type': 'POSITIONAL', 'response': [['Hex2Str', 4, 'Header', ''], ['Hex2Str', 1, 'Record_Type', ''], ['Hex2Int', 1, 'Record_Counter', ''], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell01', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell02', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell03', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell04', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell05', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell06', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell07', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell08', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell09', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell10', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell11', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell12', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell13', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell14', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell15', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell16', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell17', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell18', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell19', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell20', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell21', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell22', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell23', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell24', 'V'], ['discard', 4, 'discard1', ''], ['LittleHex2Short:r/1000', 2, 'Average_Cell_Voltage', 'V'], ['LittleHex2Short:r/1000', 2, 'Delta_Cell_Voltage', 'V'], ['LittleHex2Short:r/1000', 2, 'Current_Balancer', ''], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell01', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell02', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell03', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell04', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell05', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell06', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell07', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell08', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell09', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell10', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell11', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell12', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell13', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell14', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell15', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell16', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell17', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell18', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell19', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell20', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell21', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell22', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell23', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell24', 'Ohm'], ['discard', 6, 'discard2', ''], ['LittleHex2UInt:r/1000', 4, 'Battery_Voltage', 'V'], ['LittleHex2Float', 4, 'Battery_Power', 'W'], ['LittleHex2Float', 4, 'Charge_Current', 'A'], ['LittleHex2Short:r/10', 2, 'Battery_T1', '°C'], ['LittleHex2Short:r/10', 2, 'Battery_T2', '°C'], ['LittleHex2Short:r/10', 2, 'MOS_Temp', '°C'], ['discard', 4, 'discard4', ''], ['discard', 1, 'discard4_1', ''], ['Hex2Int', 1, 'Percent_Remain', ''], ['LittleHex2UInt:r/1000', 4, 'Capacity_Remain', ''], ['LittleHex2UInt:r/1000', 4, 'Nominal_Capacity', ''], ['Hex2Str', 4, 'Cycle_Count', ''], ['LittleHex2UInt:r/1000', 4, 'Capacity_Cycle', ''], ['discard', 2, 'Unknown12', ''], ['discard', 2, 'Unknown13', ''], ['uptime', 3, 'Time', ''], ['discard', 2, 'Unknown15', ''], ['discard', 2, 'Unknown16', ''], ['discard', 2, 'Unknown17', ''], ['discard', 12, 'discard6', ''], ['discard', 2, 'Unknown18', ''], ['discard', 2, 'Unknown19', ''], ['discard', 2, 'Unknown20', ''], ['LittleHex2Short:r/1000', 2, 'Current_Charge', ''], ['LittleHex2Short:r/1000', 2, 'Current_Discharge', ''], ['discard', 2, 'Unknown23', ''], ['discard', 2, 'Unknown24', ''], ['discard', 2, 'Unknown25', ''], ['discard', 2, 'Unknown26', ''], ['discard', 2, 'Unknown27', ''], ['discard', 2, 'Unknown28', ''], ['discard', 2, 'Unknown29', ''], ['discard', 93, 'Unknown30', '']], 'test_responses': [b'U\xaa\xeb\x90\x02\xb5.\r(\r\xfa\x0c.\r/\r"\r"\r\x13\r\x19\r\x1d\r\x1d\r\x17\r\x1f\r\x16\r\xfb\x0c\x1f\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1c\r5\x00\x04\x02\x9b\x00\xc6\x00\xa0\x00\xb3\x00\xbc\x00\xcc\x00\xbe\x00\xb1\x00\xb4\x00-\x01=\x01\xb0\x00\xa1\x00\xab\x00\xb2\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x16\x01<\x01\x00\x00\x00\x00\x00ck\x0c\x03\x00@\r\x03\x00\x00\x00\x00\x00\xdcM\x01\x00d\x00\x00\x00x\x1e\x16\x00\x01\x01H\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x01\x00\x00\x00\x98\x04\x00\x00\x00\x00&\x01A@\x00\x00\x00\x007\xfe\xff\xff\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80', b'U\xaa\xeb\x90\x02\xbb.\r(\r\xfa\x0c.\r/\r"\r"\r\x13\r\x19\r\x1d\r\x1d\r\x17\r\x1f\r\x16\r\xfb\x0c\x1f\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1b\r5\x00\x04\x02\x9b\x00\xc6\x00\xa0\x00\xb3\x00\xbc\x00\xcc\x00\xbe\x00\xb1\x00\xb4\x00-\x01=\x01\xb0\x00\xa1\x00\xab\x00\xb2\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x14\x01<\x01\x00\x00\x00\x00\x00ck\x0c\x03\x00@\r\x03\x00\x00\x00\x00\x00\xdcM\x01\x00d\x00\x00\x00z\x1e\x16\x00\x01\x01H\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x01\x00\x00\x00\x98\x04\x00\x00\x00\x00&\x01A@\x00\x00\x00\x007\xfe\xff\xff\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81', b'U\xaa\xeb\x90\x02\x10\xad\x0eR\x0eS\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00p\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Q+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000\xf80\xf8S\x01\x00\x00\x0c\x01\x00\x00\xc2\x14\x00\x00p\x17\x00\x00\x00\x00\x00\x00\x8f\x01\x00\x00\x00\x00Q\x07\xafi\x00\x00\x00\x00\xcb\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x11\x04\x00\x00\x00\x00\x92J;@\x00\x00\x00\x00\xad\x08\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c', b'U\xaa\xeb\x90\x02\xa7\xd8\x0e\xd8\x0e\xd7\x0e\xd8\x0e\xd8\x0e\xda\x0e\xd7\x0e\xda\x0e\xd7\x0e\xd8\x0e\xd8\x0e\xd8\x0e\xc3\x0e\xda\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff?\x00\x00\xd7\x0e\x19\x00\x0c\x02m\x00n\x00o\x00n\x00o\x00m\x00p\x00l\x00l\x00l\x00l\x00l\x00o\x00l\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\xda\x00\x05\x01\x00\x00\x02\xf9\x02EN!\x00\x00\xc7\x00\x00\x03\x00\x00\x00\x87\x91\x00\x00W\x00)\x03\x16\x11\x04\x00\x01\x01\xa8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x01\x00\x00\x00\x11\x04\x00\x00\x00\x00\xee(@@\x7f\x00\x00\x00i\xfd\xff\xff\x00\x00\x00\x01\x00\x01\x00\x00t\xa3(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00F']}
2022-03-19 06:44:11,955:DEBUG:jkabstractprotocol:get_full_command@85: cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-03-19 06:44:11,955:DEBUG:jkabstractprotocol:get_full_command@88: cmd with command code: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-03-19 06:44:11,955:DEBUG:jkabstractprotocol:get_full_command@90: cmd with crc: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10')
2022-03-19 06:44:11,955:INFO:device:run_command@296: full command bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10') for command getCellData
2022-03-19 06:44:11,956:DEBUG:jkabstractprotocol:get_command_defn@95: get_command_defn for: getCellData
2022-03-19 06:44:11,956:DEBUG:abstractprotocol:get_command_defn@42: Processing command 'getCellData'
2022-03-19 06:44:11,956:DEBUG:abstractprotocol:get_command_defn@44: Found command getCellData in protocol b'JK02'
2022-03-19 06:44:11,956:INFO:jkabstractprotocol:get_full_command@70: Using protocol b'JK02' with 2 commands
2022-03-19 06:44:11,956:DEBUG:jkabstractprotocol:get_command_defn@95: get_command_defn for: getCellData
2022-03-19 06:44:11,956:DEBUG:abstractprotocol:get_command_defn@42: Processing command 'getCellData'
2022-03-19 06:44:11,956:DEBUG:abstractprotocol:get_command_defn@44: Found command getCellData in protocol b'JK02'
2022-03-19 06:44:11,957:DEBUG:jkabstractprotocol:get_full_command@74: self._command = getCellData, self._command_defn = {'name': 'getCellData', 'command_code': '96', 'record_type': '2', 'description': 'BLE Cell Data inquiry', 'help': ' -- queries the ble device for the cell data', 'type': 'QUERY', 'response_type': 'POSITIONAL', 'response': [['Hex2Str', 4, 'Header', ''], ['Hex2Str', 1, 'Record_Type', ''], ['Hex2Int', 1, 'Record_Counter', ''], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell01', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell02', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell03', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell04', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell05', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell06', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell07', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell08', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell09', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell10', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell11', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell12', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell13', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell14', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell15', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell16', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell17', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell18', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell19', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell20', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell21', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell22', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell23', 'V'], ['LittleHex2Short:r/1000', 2, 'Voltage_Cell24', 'V'], ['discard', 4, 'discard1', ''], ['LittleHex2Short:r/1000', 2, 'Average_Cell_Voltage', 'V'], ['LittleHex2Short:r/1000', 2, 'Delta_Cell_Voltage', 'V'], ['LittleHex2Short:r/1000', 2, 'Current_Balancer', ''], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell01', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell02', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell03', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell04', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell05', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell06', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell07', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell08', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell09', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell10', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell11', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell12', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell13', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell14', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell15', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell16', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell17', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell18', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell19', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell20', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell21', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell22', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell23', 'Ohm'], ['LittleHex2Short:r/1000', 2, 'Resistance_Cell24', 'Ohm'], ['discard', 6, 'discard2', ''], ['LittleHex2UInt:r/1000', 4, 'Battery_Voltage', 'V'], ['LittleHex2Float', 4, 'Battery_Power', 'W'], ['LittleHex2Float', 4, 'Charge_Current', 'A'], ['LittleHex2Short:r/10', 2, 'Battery_T1', '°C'], ['LittleHex2Short:r/10', 2, 'Battery_T2', '°C'], ['LittleHex2Short:r/10', 2, 'MOS_Temp', '°C'], ['discard', 4, 'discard4', ''], ['discard', 1, 'discard4_1', ''], ['Hex2Int', 1, 'Percent_Remain', ''], ['LittleHex2UInt:r/1000', 4, 'Capacity_Remain', ''], ['LittleHex2UInt:r/1000', 4, 'Nominal_Capacity', ''], ['Hex2Str', 4, 'Cycle_Count', ''], ['LittleHex2UInt:r/1000', 4, 'Capacity_Cycle', ''], ['discard', 2, 'Unknown12', ''], ['discard', 2, 'Unknown13', ''], ['uptime', 3, 'Time', ''], ['discard', 2, 'Unknown15', ''], ['discard', 2, 'Unknown16', ''], ['discard', 2, 'Unknown17', ''], ['discard', 12, 'discard6', ''], ['discard', 2, 'Unknown18', ''], ['discard', 2, 'Unknown19', ''], ['discard', 2, 'Unknown20', ''], ['LittleHex2Short:r/1000', 2, 'Current_Charge', ''], ['LittleHex2Short:r/1000', 2, 'Current_Discharge', ''], ['discard', 2, 'Unknown23', ''], ['discard', 2, 'Unknown24', ''], ['discard', 2, 'Unknown25', ''], ['discard', 2, 'Unknown26', ''], ['discard', 2, 'Unknown27', ''], ['discard', 2, 'Unknown28', ''], ['discard', 2, 'Unknown29', ''], ['discard', 93, 'Unknown30', '']], 'test_responses': [b'U\xaa\xeb\x90\x02\xb5.\r(\r\xfa\x0c.\r/\r"\r"\r\x13\r\x19\r\x1d\r\x1d\r\x17\r\x1f\r\x16\r\xfb\x0c\x1f\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1c\r5\x00\x04\x02\x9b\x00\xc6\x00\xa0\x00\xb3\x00\xbc\x00\xcc\x00\xbe\x00\xb1\x00\xb4\x00-\x01=\x01\xb0\x00\xa1\x00\xab\x00\xb2\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x16\x01<\x01\x00\x00\x00\x00\x00ck\x0c\x03\x00@\r\x03\x00\x00\x00\x00\x00\xdcM\x01\x00d\x00\x00\x00x\x1e\x16\x00\x01\x01H\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x01\x00\x00\x00\x98\x04\x00\x00\x00\x00&\x01A@\x00\x00\x00\x007\xfe\xff\xff\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80', b'U\xaa\xeb\x90\x02\xbb.\r(\r\xfa\x0c.\r/\r"\r"\r\x13\r\x19\r\x1d\r\x1d\r\x17\r\x1f\r\x16\r\xfb\x0c\x1f\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1b\r5\x00\x04\x02\x9b\x00\xc6\x00\xa0\x00\xb3\x00\xbc\x00\xcc\x00\xbe\x00\xb1\x00\xb4\x00-\x01=\x01\xb0\x00\xa1\x00\xab\x00\xb2\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x14\x01<\x01\x00\x00\x00\x00\x00ck\x0c\x03\x00@\r\x03\x00\x00\x00\x00\x00\xdcM\x01\x00d\x00\x00\x00z\x1e\x16\x00\x01\x01H\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x01\x00\x00\x00\x98\x04\x00\x00\x00\x00&\x01A@\x00\x00\x00\x007\xfe\xff\xff\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81', b'U\xaa\xeb\x90\x02\x10\xad\x0eR\x0eS\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00p\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Q+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000\xf80\xf8S\x01\x00\x00\x0c\x01\x00\x00\xc2\x14\x00\x00p\x17\x00\x00\x00\x00\x00\x00\x8f\x01\x00\x00\x00\x00Q\x07\xafi\x00\x00\x00\x00\xcb\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x11\x04\x00\x00\x00\x00\x92J;@\x00\x00\x00\x00\xad\x08\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c', b'U\xaa\xeb\x90\x02\xa7\xd8\x0e\xd8\x0e\xd7\x0e\xd8\x0e\xd8\x0e\xda\x0e\xd7\x0e\xda\x0e\xd7\x0e\xd8\x0e\xd8\x0e\xd8\x0e\xc3\x0e\xda\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff?\x00\x00\xd7\x0e\x19\x00\x0c\x02m\x00n\x00o\x00n\x00o\x00m\x00p\x00l\x00l\x00l\x00l\x00l\x00o\x00l\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\xda\x00\x05\x01\x00\x00\x02\xf9\x02EN!\x00\x00\xc7\x00\x00\x03\x00\x00\x00\x87\x91\x00\x00W\x00)\x03\x16\x11\x04\x00\x01\x01\xa8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x01\x00\x00\x00\x11\x04\x00\x00\x00\x00\xee(@@\x7f\x00\x00\x00i\xfd\xff\xff\x00\x00\x00\x01\x00\x01\x00\x00t\xa3(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00F']}
2022-03-19 06:44:11,957:DEBUG:jkabstractprotocol:get_full_command@85: cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-03-19 06:44:11,957:DEBUG:jkabstractprotocol:get_full_command@88: cmd with command code: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-03-19 06:44:11,957:DEBUG:jkabstractprotocol:get_full_command@90: cmd with crc: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10')
2022-03-19 06:44:11,957:INFO:jkbleio:send_and_receive@26: full command bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10') for command getCellData
2022-03-19 06:44:11,958:DEBUG:jkabstractprotocol:get_command_defn@95: get_command_defn for: getCellData
2022-03-19 06:44:11,958:DEBUG:abstractprotocol:get_command_defn@42: Processing command 'getCellData'
2022-03-19 06:44:11,958:DEBUG:abstractprotocol:get_command_defn@44: Found command getCellData in protocol b'JK02'
2022-03-19 06:44:11,958:DEBUG:jkbleio:send_and_receive@30: expected record type 2 for command getCellData
2022-03-19 06:44:11,958:INFO:jkbleio:ble_connect@54: Attempting to connect to C8:47:8C:F2:80:D9
2022-03-19 06:44:12,365:INFO:jkbleio:ble_get_data@82: Connected to b''
Traceback (most recent call last):
File "/usr/local/bin/jkbms", line 8, in
Good luck, been trying to fix this for months. See my topic
This is very bad. Is the Problem in rs485 too? I Just Open my working Balancer and solder wires to the Bluetooth module to Read the Data and Try to understand...
Yup, I worked on it for I don't know how many hours, and got some of it to work, but it was spotty at best. I honestly got it 100% because of this so when it become more of a chore than it was worth I just made my own with an ESP32 and ADS1115 with a couple of relays. Got one of those 5a active balancers and haven't looked back.
I Record first Data from the BMS.
[85,170,235,144,2,8,89,14,4,14,5,14,156,15,151,15,36,14,148,15,3,14,38,14,254,13,68,14,40,14,160,15,88,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,0,0,162,14,162,1,12,9,154,0,179,0,232,0,186,0,205,0,211,0,181,0,178,0,197,0,15,1,250,0,245,0,196,0,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,204,0,0,0,0,0,0,0,0,0,0,48,248,48,248,207,0,0,0,40,248,2,99,62,156,0,0,64,156,0,0,22,0,0,0,139,238,13,0,100,0,192,2,161,7,34,0,1,1,172,6,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,250,3,0,0,0,0,65,255,64,64,156,0,0,0,88,170,253,255,0,0,0,1,0,2,0,0,182,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128]
Where Battery Voltage ist int 16 start at byte 7+8 [85,170,235,144,2,8,89,14,4,14,5,14 (14*255 )+89= 3,659V
Hello i Buy an new JK-B2A24S15P and have a problem reading the Data now. Before i had the jk only balancer without bms abd this worked fine. Anyone any idea how to solve this Problem?
jkbms -p C8:47:8C:F2:80:D9 -c getCellData -P JK02 Traceback (most recent call last): File "/usr/local/bin/jkbms", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/dist-packages/mppsolar/init.py", line 408, in main
results = _device.run_command(command=_command)
File "/usr/local/lib/python3.9/dist-packages/mppsolar/devices/device.py", line 309, in run_command
raw_response = self._port.send_and_receive(
File "/usr/local/lib/python3.9/dist-packages/mppsolar/io/jkbleio.py", line 34, in send_and_receive
response = self.ble_get_data(full_command)
File "/usr/local/lib/python3.9/dist-packages/mppsolar/io/jkbleio.py", line 91, in ble_get_data
characteristicRead = serviceNotify.getCharacteristics(characteristicReadUuid)[0]
IndexError: list index out of range