-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JK-BMS over TTL #389
Comments
i think the data is including a |
yep definitely a premature data termination due to the serial input read logic, cell number 13 ( partial decode below seem to work (assuming there are 14 cells in your setup)
|
Yeh, now it works. Do you have idea how to adjust response addresses based on cell count as currently my setup will only work on 14 cells setup? Thanks anyway. Logs(current and capacity needs other formula not important atm) jkbms -b 115200 -P JKSERIAL -D -p /dev/ttyUSB0 --porttype daly 2023-08-15 12:02:55,863:INFO:__init__:main@216: Solar Device Command Utility, version: 0.16.10, python version: 3.11.2 2023-08-15 12:02:55,864:DEBUG:mqttbrokerc:__init__@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None} 2023-08-15 12:02:55,864:DEBUG:__init__:main@251: MqttBroker name: localhost, port: 1883, user: None 2023-08-15 12:02:55,864:DEBUG:__init__:main@253: udp port 5555 2023-08-15 12:02:55,864:DEBUG:__init__:main@255: Using Postgres None 2023-08-15 12:02:55,864:DEBUG:__init__:main@258: Using Mongo None with mppsolar 2023-08-15 12:02:55,864:INFO:__init__:main@359: Creating device "unnamed" (type: "jkbms") on port "/dev/ttyUSB0 (porttype=daly)" using protocol "JKSERIAL" 2023-08-15 12:02:55,867:DEBUG:__init__:main@363: device_class 2023-08-15 12:02:55,867:DEBUG:device:__init__@34: __init__ args () 2023-08-15 12:02:55,867:DEBUG:device:__init__@35: __init__ kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'JKSERIAL', 'baud': 115200, 'porttype': 'daly', 'mqtt_broker': , 'udp_port': '5555', 'mongo_url': None, 'mongo_db': 'mppsolar'} 2023-08-15 12:02:55,867:INFO:__init__:get_port@81: Port overide - using port 'daly' 2023-08-15 12:02:55,867:DEBUG:__init__:get_port_type@57: port matches daly 2023-08-15 12:02:55,867:INFO:__init__:get_port@117: Using dalyserialio for communications 2023-08-15 12:02:55,873:DEBUG:__init__:get_protocol@13: Protocol JKSERIAL 2023-08-15 12:02:55,978:DEBUG:device:__init__@39: __init__ name unnamed, port , protocol JKBMS TTL serial communication protocol handler 2023-08-15 12:02:55,978:DEBUG:__init__:main@408: Commands [(, '', '', 'screen', None, None)] 2023-08-15 12:02:55,978:INFO:__init__:main@413: Looping 1 commands 2023-08-15 12:02:55,978:INFO:__init__:main@423: Getting results from device: jkbms device - name: unnamed, port: , protocol: JKBMS TTL serial communication protocol handler for command: , tag: , outputs: screen 2023-08-15 12:02:55,978:INFO:device:run_command@51: Running command 2023-08-15 12:02:55,978:INFO:jkserial:get_full_command@103: Using protocol b'JKSERIAL' with 1 commands 2023-08-15 12:02:55,978:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-15 12:02:55,978:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-15 12:02:55,979:DEBUG:jkserial:get_full_command@145: cmd with crc: bytearray(b'NW\x00\x13\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00h\x00\x00\x01&') 2023-08-15 12:02:55,979:INFO:device:run_command@81: full command bytearray(b'NW\x00\x13\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00h\x00\x00\x01&') for command getBalancerData 2023-08-15 12:02:55,979:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-15 12:02:55,979:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-15 12:02:55,979:DEBUG:dalyserialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 115200 2023-08-15 12:02:55,981:DEBUG:dalyserialio:send_and_receive@22: Executing command via dalyserialio... 2023-08-15 12:02:56,481:DEBUG:dalyserialio:send_and_receive@32: bytes waiting 285 2023-08-15 12:02:56,982:DEBUG:dalyserialio:send_and_receive@32: bytes waiting 0 2023-08-15 12:02:56,982:DEBUG:dalyserialio:send_and_receive@38: serial response was: b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15\xca\x84\x81\xc5\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16\xda\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6' 2023-08-15 12:02:57,095:DEBUG:device:run_command@98: Send and Receive Response b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15\xca\x84\x81\xc5\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16\xda\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6' 2023-08-15 12:02:57,096:INFO:abstractprotocol:decode@246: response passed to decode: b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15\xca\x84\x81\xc5\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16\xda\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6' 2023-08-15 12:02:57,096:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-15 12:02:57,096:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-15 12:02:57,097:INFO:abstractprotocol:decode@290: Processing response of type POSITIONAL 2023-08-15 12:02:57,097:DEBUG:jkserial:get_responses@173: get_responses: responses [b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01', b'y', b'*', b'\x01', b'\x0f\x90', b'\x02', b'\x0f\x91', b'\x03', b'\x0f\x94', b'\x04', b'\x0f\x8e', b'\x05', b'\x0f\x92', b'\x06', b'\x0f\x91', b'\x07', b'\x0f\x91', b'\x08', b'\x0f\x91', b'\t', b'\x0f\x93', b'\n', b'\x0f\x8e', b'\x0b', b'\x0f\x91', b'\x0c', b'\x0f\x90', b'\r', b'\x0f\x90', b'\x0e', b'\x0f\x8d', b'\x80', b'\x00!', b'\x81', b'\x00\x1c', b'\x82', b'\x00\x1e', b'\x83', b'\x15\xca', b'\x84', b'\x81\xc5', b'\x85', b'd', b'\x86\x02', b'\x87', b'\x00\x19', b'\x89', b'\x00\x00\x16\xda', b'\x8a', b'\x00\x0e', b'\x8b', b'\x00\x00', b'\x8c', b'\x00\x03', b'\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6'] 2023-08-15 12:02:57,097:DEBUG:abstractprotocol:decode@294: trimmed and split responses: [b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01', b'y', b'*', b'\x01', b'\x0f\x90', b'\x02', b'\x0f\x91', b'\x03', b'\x0f\x94', b'\x04', b'\x0f\x8e', b'\x05', b'\x0f\x92', b'\x06', b'\x0f\x91', b'\x07', b'\x0f\x91', b'\x08', b'\x0f\x91', b'\t', b'\x0f\x93', b'\n', b'\x0f\x8e', b'\x0b', b'\x0f\x91', b'\x0c', b'\x0f\x90', b'\r', b'\x0f\x90', b'\x0e', b'\x0f\x8d', b'\x80', b'\x00!', b'\x81', b'\x00\x1c', b'\x82', b'\x00\x1e', b'\x83', b'\x15\xca', b'\x84', b'\x81\xc5', b'\x85', b'd', b'\x86\x02', b'\x87', b'\x00\x19', b'\x89', b'\x00\x00\x16\xda', b'\x8a', b'\x00\x0e', b'\x8b', b'\x00\x00', b'\x8c', b'\x00\x03', b'\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6'] 2023-08-15 12:02:57,098:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,098:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 11, 'discard', ''] 2023-08-15 12:02:57,098:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: discard, raw_value b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01' 2023-08-15 12:02:57,098:DEBUG:abstractprotocol:process_response@124: Discarding discard:b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01' 2023-08-15 12:02:57,098:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'discard', ''] 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: discard, raw_value b'y' 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:process_response@124: Discarding discard:b'y' 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Int:r/3', 1, 'Cell count', ''] 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:process_response@117: Got template r/3 for Cell count b'*' 2023-08-15 12:02:57,099:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Int for data_name: Cell count, raw_value b'*' 2023-08-15 12:02:57,100:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Int(raw_value) 2023-08-15 12:02:57,100:DEBUG:protocol_helpers:Hex2Int@92: Hex b'*' decoded to 42 2023-08-15 12:02:57,100:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '1 cell number', ''] 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 1 cell number, raw_value b'\x01' 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:process_response@124: Discarding 1 cell number:b'\x01' 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '1 Cell Voltage', 'V'] 2023-08-15 12:02:57,101:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 1 Cell Voltage b'\x0f\x90' 2023-08-15 12:02:57,102:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 1 Cell Voltage, raw_value b'\x0f\x90' 2023-08-15 12:02:57,102:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,102:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x90' 2 byte decoded to 3984 2023-08-15 12:02:57,102:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '2 cell number', ''] 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 2 cell number, raw_value b'\x02' 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:process_response@124: Discarding 2 cell number:b'\x02' 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '2 Cell Voltage', 'V'] 2023-08-15 12:02:57,103:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 2 Cell Voltage b'\x0f\x91' 2023-08-15 12:02:57,104:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 2 Cell Voltage, raw_value b'\x0f\x91' 2023-08-15 12:02:57,104:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,104:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x91' 2 byte decoded to 3985 2023-08-15 12:02:57,104:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '3 cell number', ''] 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 3 cell number, raw_value b'\x03' 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:process_response@124: Discarding 3 cell number:b'\x03' 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '3 Cell Voltage', 'V'] 2023-08-15 12:02:57,105:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 3 Cell Voltage b'\x0f\x94' 2023-08-15 12:02:57,106:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 3 Cell Voltage, raw_value b'\x0f\x94' 2023-08-15 12:02:57,106:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,106:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x94' 2 byte decoded to 3988 2023-08-15 12:02:57,106:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,106:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '4 cell number', ''] 2023-08-15 12:02:57,106:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 4 cell number, raw_value b'\x04' 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:process_response@124: Discarding 4 cell number:b'\x04' 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '4 Cell Voltage', 'V'] 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 4 Cell Voltage b'\x0f\x8e' 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 4 Cell Voltage, raw_value b'\x0f\x8e' 2023-08-15 12:02:57,107:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,108:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x8e' 2 byte decoded to 3982 2023-08-15 12:02:57,108:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,108:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '5 cell number', ''] 2023-08-15 12:02:57,108:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 5 cell number, raw_value b'\x05' 2023-08-15 12:02:57,108:DEBUG:abstractprotocol:process_response@124: Discarding 5 cell number:b'\x05' 2023-08-15 12:02:57,108:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,109:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '5 Cell Voltage', 'V'] 2023-08-15 12:02:57,109:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 5 Cell Voltage b'\x0f\x92' 2023-08-15 12:02:57,109:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 5 Cell Voltage, raw_value b'\x0f\x92' 2023-08-15 12:02:57,109:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,109:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x92' 2 byte decoded to 3986 2023-08-15 12:02:57,110:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,110:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '6 cell number', ''] 2023-08-15 12:02:57,110:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 6 cell number, raw_value b'\x06' 2023-08-15 12:02:57,110:DEBUG:abstractprotocol:process_response@124: Discarding 6 cell number:b'\x06' 2023-08-15 12:02:57,111:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,111:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '6 Cell Voltage', 'V'] 2023-08-15 12:02:57,111:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 6 Cell Voltage b'\x0f\x91' 2023-08-15 12:02:57,111:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 6 Cell Voltage, raw_value b'\x0f\x91' 2023-08-15 12:02:57,111:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,112:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x91' 2 byte decoded to 3985 2023-08-15 12:02:57,112:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,112:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '7 cell number', ''] 2023-08-15 12:02:57,112:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 7 cell number, raw_value b'\x07' 2023-08-15 12:02:57,112:DEBUG:abstractprotocol:process_response@124: Discarding 7 cell number:b'\x07' 2023-08-15 12:02:57,113:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,113:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '7 Cell Voltage', 'V'] 2023-08-15 12:02:57,113:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 7 Cell Voltage b'\x0f\x91' 2023-08-15 12:02:57,113:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 7 Cell Voltage, raw_value b'\x0f\x91' 2023-08-15 12:02:57,113:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,113:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x91' 2 byte decoded to 3985 2023-08-15 12:02:57,114:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,114:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '8 cell number', ''] 2023-08-15 12:02:57,114:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 8 cell number, raw_value b'\x08' 2023-08-15 12:02:57,114:DEBUG:abstractprotocol:process_response@124: Discarding 8 cell number:b'\x08' 2023-08-15 12:02:57,114:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,115:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '8 Cell Voltage', 'V'] 2023-08-15 12:02:57,115:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 8 Cell Voltage b'\x0f\x91' 2023-08-15 12:02:57,115:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 8 Cell Voltage, raw_value b'\x0f\x91' 2023-08-15 12:02:57,115:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,115:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x91' 2 byte decoded to 3985 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '9 cell number', ''] 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 9 cell number, raw_value b'\t' 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:process_response@124: Discarding 9 cell number:b'\t' 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '9 Cell Voltage', 'V'] 2023-08-15 12:02:57,116:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 9 Cell Voltage b'\x0f\x93' 2023-08-15 12:02:57,117:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 9 Cell Voltage, raw_value b'\x0f\x93' 2023-08-15 12:02:57,117:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,117:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x93' 2 byte decoded to 3987 2023-08-15 12:02:57,117:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,117:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '10 cell number', ''] 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 10 cell number, raw_value b'\n' 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:process_response@124: Discarding 10 cell number:b'\n' 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '10 Cell Voltage', 'V'] 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 10 Cell Voltage b'\x0f\x8e' 2023-08-15 12:02:57,118:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 10 Cell Voltage, raw_value b'\x0f\x8e' 2023-08-15 12:02:57,119:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,119:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x8e' 2 byte decoded to 3982 2023-08-15 12:02:57,119:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,119:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '11 cell number', ''] 2023-08-15 12:02:57,119:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 11 cell number, raw_value b'\x0b' 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:process_response@124: Discarding 11 cell number:b'\x0b' 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '11 Cell Voltage', 'V'] 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 11 Cell Voltage b'\x0f\x91' 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 11 Cell Voltage, raw_value b'\x0f\x91' 2023-08-15 12:02:57,120:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,121:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x91' 2 byte decoded to 3985 2023-08-15 12:02:57,121:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,121:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '12 cell number', ''] 2023-08-15 12:02:57,121:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 12 cell number, raw_value b'\x0c' 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:process_response@124: Discarding 12 cell number:b'\x0c' 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '12 Cell Voltage', 'V'] 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 12 Cell Voltage b'\x0f\x90' 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 12 Cell Voltage, raw_value b'\x0f\x90' 2023-08-15 12:02:57,122:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,123:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x90' 2 byte decoded to 3984 2023-08-15 12:02:57,123:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,123:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '13 cell number', ''] 2023-08-15 12:02:57,123:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 13 cell number, raw_value b'\r' 2023-08-15 12:02:57,124:DEBUG:abstractprotocol:process_response@124: Discarding 13 cell number:b'\r' 2023-08-15 12:02:57,124:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,124:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '13 Cell Voltage', 'V'] 2023-08-15 12:02:57,124:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 13 Cell Voltage b'\x0f\x90' 2023-08-15 12:02:57,124:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 13 Cell Voltage, raw_value b'\x0f\x90' 2023-08-15 12:02:57,125:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,125:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x90' 2 byte decoded to 3984 2023-08-15 12:02:57,125:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,125:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, '14 cell number', ''] 2023-08-15 12:02:57,125:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: 14 cell number, raw_value b'\x0e' 2023-08-15 12:02:57,126:DEBUG:abstractprotocol:process_response@124: Discarding 14 cell number:b'\x0e' 2023-08-15 12:02:57,126:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,126:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, '14 Cell Voltage', 'V'] 2023-08-15 12:02:57,126:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for 14 Cell Voltage b'\x0f\x8d' 2023-08-15 12:02:57,126:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: 14 Cell Voltage, raw_value b'\x0f\x8d' 2023-08-15 12:02:57,127:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,127:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x0f\x8d' 2 byte decoded to 3981 2023-08-15 12:02:57,127:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,127:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'MOS temp', ''] 2023-08-15 12:02:57,127:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: MOS temp, raw_value b'\x80' 2023-08-15 12:02:57,128:DEBUG:abstractprotocol:process_response@124: Discarding MOS temp:b'\x80' 2023-08-15 12:02:57,128:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,128:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short', 2, 'MOS temp', '°C'] 2023-08-15 12:02:57,128:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: MOS temp, raw_value b'\x00!' 2023-08-15 12:02:57,128:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,129:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x00!' 2 byte decoded to 33 2023-08-15 12:02:57,129:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,129:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Temp sensor 1', ''] 2023-08-15 12:02:57,129:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Temp sensor 1, raw_value b'\x81' 2023-08-15 12:02:57,129:DEBUG:abstractprotocol:process_response@124: Discarding Temp sensor 1:b'\x81' 2023-08-15 12:02:57,129:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,130:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short', 2, 'Temp sensor 1', '°C'] 2023-08-15 12:02:57,130:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Temp sensor 1, raw_value b'\x00\x1c' 2023-08-15 12:02:57,130:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,130:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x00\x1c' 2 byte decoded to 28 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Temp sensor 2', ''] 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Temp sensor 2, raw_value b'\x82' 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:process_response@124: Discarding Temp sensor 2:b'\x82' 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,131:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short', 2, 'Temp sensor 2', '°C'] 2023-08-15 12:02:57,132:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Temp sensor 2, raw_value b'\x00\x1e' 2023-08-15 12:02:57,132:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,132:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x00\x1e' 2 byte decoded to 30 2023-08-15 12:02:57,132:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,132:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Total battery voltage', ''] 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Total battery voltage, raw_value b'\x83' 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:process_response@124: Discarding Total battery voltage:b'\x83' 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/100', 2, 'Total battery voltage', 'V'] 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:process_response@117: Got template r/100 for Total battery voltage b'\x15\xca' 2023-08-15 12:02:57,133:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Total battery voltage, raw_value b'\x15\xca' 2023-08-15 12:02:57,134:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,134:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x15\xca' 2 byte decoded to 5578 2023-08-15 12:02:57,134:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,134:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Balance current', ''] 2023-08-15 12:02:57,134:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Balance current, raw_value b'\x84' 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:process_response@124: Discarding Balance current:b'\x84' 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short:r/1000', 2, 'Balance current', 'A'] 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:process_response@117: Got template r/1000 for Balance current b'\x81\xc5' 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Balance current, raw_value b'\x81\xc5' 2023-08-15 12:02:57,135:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,135:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x81\xc5' 2 byte decoded to -32315 2023-08-15 12:02:57,136:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,136:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Percent remaining', ''] 2023-08-15 12:02:57,136:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Percent remaining, raw_value b'\x85' 2023-08-15 12:02:57,136:DEBUG:abstractprotocol:process_response@124: Discarding Percent remaining:b'\x85' 2023-08-15 12:02:57,136:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,137:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Int', 1, 'Percent remaining', '%'] 2023-08-15 12:02:57,137:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Int for data_name: Percent remaining, raw_value b'd' 2023-08-15 12:02:57,137:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Int(raw_value) 2023-08-15 12:02:57,137:DEBUG:protocol_helpers:Hex2Int@92: Hex b'd' decoded to 100 2023-08-15 12:02:57,137:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,137:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 2, 'Number of battery sensors', ''] 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Number of battery sensors, raw_value b'\x86\x02' 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:process_response@124: Discarding Number of battery sensors:b'\x86\x02' 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Cycle count', ''] 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Cycle count, raw_value b'\x87' 2023-08-15 12:02:57,138:DEBUG:abstractprotocol:process_response@124: Discarding Cycle count:b'\x87' 2023-08-15 12:02:57,139:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,139:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short', 2, 'Cycle count', ''] 2023-08-15 12:02:57,139:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Cycle count, raw_value b'\x00\x19' 2023-08-15 12:02:57,139:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,140:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x00\x19' 2 byte decoded to 25 2023-08-15 12:02:57,140:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,140:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Total capacity', ''] 2023-08-15 12:02:57,140:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Total capacity, raw_value b'\x89' 2023-08-15 12:02:57,140:DEBUG:abstractprotocol:process_response@124: Discarding Total capacity:b'\x89' 2023-08-15 12:02:57,141:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,141:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Str', 4, 'Total capacity', ''] 2023-08-15 12:02:57,141:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Str for data_name: Total capacity, raw_value b'\x00\x00\x16\xda' 2023-08-15 12:02:57,141:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Str(raw_value) 2023-08-15 12:02:57,141:DEBUG:protocol_helpers:Hex2Str@105: Hex b'\x00\x00\x16\xda' decoded to 000016da 2023-08-15 12:02:57,142:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,142:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Total number of battery strings', ''] 2023-08-15 12:02:57,142:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Total number of battery strings, raw_value b'\x8a' 2023-08-15 12:02:57,142:DEBUG:abstractprotocol:process_response@124: Discarding Total number of battery strings:b'\x8a' 2023-08-15 12:02:57,142:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,143:DEBUG:abstractprotocol:decode@522: Got defn ['BigHex2Short', 2, 'Total number of battery strings', ''] 2023-08-15 12:02:57,143:DEBUG:abstractprotocol:process_response@118: Processing data_type: BigHex2Short for data_name: Total number of battery strings, raw_value b'\x00\x0e' 2023-08-15 12:02:57,143:DEBUG:abstractprotocol:process_response@207: Processing format string BigHex2Short(raw_value) 2023-08-15 12:02:57,143:DEBUG:protocol_helpers:BigHex2Short@147: Hex b'\x00\x0e' 2 byte decoded to 14 2023-08-15 12:02:57,143:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Battery Warning Message', ''] 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Battery Warning Message, raw_value b'\x8b' 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:process_response@124: Discarding Battery Warning Message:b'\x8b' 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Str', 2, 'Battery Warning Message', ''] 2023-08-15 12:02:57,144:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Str for data_name: Battery Warning Message, raw_value b'\x00\x00' 2023-08-15 12:02:57,145:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Str(raw_value) 2023-08-15 12:02:57,145:DEBUG:protocol_helpers:Hex2Str@105: Hex b'\x00\x00' decoded to 0000 2023-08-15 12:02:57,145:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,145:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 1, 'Battery status information', ''] 2023-08-15 12:02:57,145:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: Battery status information, raw_value b'\x8c' 2023-08-15 12:02:57,145:DEBUG:abstractprotocol:process_response@124: Discarding Battery status information:b'\x8c' 2023-08-15 12:02:57,146:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,146:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Str', 2, 'Battery status information', ''] 2023-08-15 12:02:57,146:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Str for data_name: Battery status information, raw_value b'\x00\x03' 2023-08-15 12:02:57,146:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Str(raw_value) 2023-08-15 12:02:57,146:DEBUG:protocol_helpers:Hex2Str@105: Hex b'\x00\x03' decoded to 0003 2023-08-15 12:02:57,146:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-15 12:02:57,147:DEBUG:abstractprotocol:decode@522: Got defn ['discard', 880, 'settings + header', ''] 2023-08-15 12:02:57,147:DEBUG:abstractprotocol:process_response@118: Processing data_type: discard for data_name: settings + header, raw_value b'\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6' 2023-08-15 12:02:57,147:DEBUG:abstractprotocol:process_response@124: Discarding settings + header:b'\x8e\x16\xb2\x8f\x10\xf4\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b\xb8\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d\xa1\x00d\xa2\x00\x14\xa3\x00<\xa4\x00<\xa5\x00\x01\xa6\x00\x03\xa7\xff\xec\xa8\xff\xf6\xa9\x0e\xaa\x00\x00\x00\xea\xab\x01\xac\x01\xad\x047\xae\x01\xaf\x01\xb0\x00\n\xb1\x14\xb2123456\x00\x00\x00\x00\xb3\x00\xb4Input Us\xb52306\xb6\x00\x01\x82\xe3\xb711.XW_S11.261__\xb8\x00\xb9\x00\x00\x00\xea\xbaInput UserdaJK_B1A20S15P\xc0\x01\x00\x00\x00\x00h\x00\x00Q\xd6' 2023-08-15 12:02:57,147:INFO:device:run_command@116: Decoded response {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15Ê\x84\x81Å\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16Ú\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16²\x8f\x10ô\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b¸\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d¡\x00d¢\x00\x14£\x00<¤\x00<¥\x00\x01¦\x00\x03§ÿì¨ÿö©\x0eª\x00\x00\x00ê«\x01¬\x01\xad\x047®\x01¯\x01°\x00\n±\x14²123456\x00\x00\x00\x00³\x00´Input Usµ2306¶\x00\x01\x82ã·11.XW_S11.261__¸\x00¹\x00\x00\x00êºInput UserdaJK_B1A20S15PÀ\x01\x00\x00\x00\x00h\x00\x00QÖ', ''], 'Cell count': [14.0, ''], '1 Cell Voltage': [3.984, 'V'], '2 Cell Voltage': [3.985, 'V'], '3 Cell Voltage': [3.988, 'V'], '4 Cell Voltage': [3.982, 'V'], '5 Cell Voltage': [3.986, 'V'], '6 Cell Voltage': [3.985, 'V'], '7 Cell Voltage': [3.985, 'V'], '8 Cell Voltage': [3.985, 'V'], '9 Cell Voltage': [3.987, 'V'], '10 Cell Voltage': [3.982, 'V'], '11 Cell Voltage': [3.985, 'V'], '12 Cell Voltage': [3.984, 'V'], '13 Cell Voltage': [3.984, 'V'], '14 Cell Voltage': [3.981, 'V'], 'MOS temp': [33, '°C'], 'Temp sensor 1': [28, '°C'], 'Temp sensor 2': [30, '°C'], 'Total battery voltage': [55.78, 'V'], 'Balance current': [-32.315, 'A'], 'Percent remaining': [100, '%'], 'Cycle count': [25, ''], 'Total capacity': ['000016da', ''], 'Total number of battery strings': [14, ''], 'Battery Warning Message': ['0000', ''], 'Battery status information': ['0003', '']} 2023-08-15 12:02:57,148:DEBUG:__init__:main@427: results: {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15Ê\x84\x81Å\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16Ú\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16²\x8f\x10ô\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b¸\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d¡\x00d¢\x00\x14£\x00<¤\x00<¥\x00\x01¦\x00\x03§ÿì¨ÿö©\x0eª\x00\x00\x00ê«\x01¬\x01\xad\x047®\x01¯\x01°\x00\n±\x14²123456\x00\x00\x00\x00³\x00´Input Usµ2306¶\x00\x01\x82ã·11.XW_S11.261__¸\x00¹\x00\x00\x00êºInput UserdaJK_B1A20S15PÀ\x01\x00\x00\x00\x00h\x00\x00QÖ', ''], 'Cell count': [14.0, ''], '1 Cell Voltage': [3.984, 'V'], '2 Cell Voltage': [3.985, 'V'], '3 Cell Voltage': [3.988, 'V'], '4 Cell Voltage': [3.982, 'V'], '5 Cell Voltage': [3.986, 'V'], '6 Cell Voltage': [3.985, 'V'], '7 Cell Voltage': [3.985, 'V'], '8 Cell Voltage': [3.985, 'V'], '9 Cell Voltage': [3.987, 'V'], '10 Cell Voltage': [3.982, 'V'], '11 Cell Voltage': [3.985, 'V'], '12 Cell Voltage': [3.984, 'V'], '13 Cell Voltage': [3.984, 'V'], '14 Cell Voltage': [3.981, 'V'], 'MOS temp': [33, '°C'], 'Temp sensor 1': [28, '°C'], 'Temp sensor 2': [30, '°C'], 'Total battery voltage': [55.78, 'V'], 'Balance current': [-32.315, 'A'], 'Percent remaining': [100, '%'], 'Cycle count': [25, ''], 'Total capacity': ['000016da', ''], 'Total number of battery strings': [14, ''], 'Battery Warning Message': ['0000', ''], 'Battery status information': ['0003', '']} 2023-08-15 12:02:57,148:INFO:__init__:get_output@40: attempting to create output processor: screen 2023-08-15 12:02:57,151:DEBUG:screen:__init__@15: processor.screen __init__ kwargs {} 2023-08-15 12:02:57,151:DEBUG:__init__:main@433: Using output filter: None 2023-08-15 12:02:57,151:INFO:screen:output@21: Using output processor: screen 2023-08-15 12:02:57,152:DEBUG:screen:output@22: kwargs {'data': {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x91\x03\x0f\x94\x04\x0f\x8e\x05\x0f\x92\x06\x0f\x91\x07\x0f\x91\x08\x0f\x91\t\x0f\x93\n\x0f\x8e\x0b\x0f\x91\x0c\x0f\x90\r\x0f\x90\x0e\x0f\x8d\x80\x00!\x81\x00\x1c\x82\x00\x1e\x83\x15Ê\x84\x81Å\x85d\x86\x02\x87\x00\x19\x89\x00\x00\x16Ú\x8a\x00\x0e\x8b\x00\x00\x8c\x00\x03\x8e\x16²\x8f\x10ô\x90\x106\x91\x10\x04\x92\x00\x05\x93\x0c\x1c\x94\x0c\x80\x95\x00\x05\x96\x01,\x97\x00n\x98\x01,\x99\x00U\x9a\x00\x1e\x9b\x0b¸\x9c\x002\x9d\x01\x9e\x00Z\x9f\x00F\xa0\x00d¡\x00d¢\x00\x14£\x00<¤\x00<¥\x00\x01¦\x00\x03§ÿì¨ÿö©\x0eª\x00\x00\x00ê«\x01¬\x01\xad\x047®\x01¯\x01°\x00\n±\x14²123456\x00\x00\x00\x00³\x00´Input Usµ2306¶\x00\x01\x82ã·11.XW_S11.261__¸\x00¹\x00\x00\x00êºInput UserdaJK_B1A20S15PÀ\x01\x00\x00\x00\x00h\x00\x00QÖ', ''], 'Cell count': [14.0, ''], '1 Cell Voltage': [3.984, 'V'], '2 Cell Voltage': [3.985, 'V'], '3 Cell Voltage': [3.988, 'V'], '4 Cell Voltage': [3.982, 'V'], '5 Cell Voltage': [3.986, 'V'], '6 Cell Voltage': [3.985, 'V'], '7 Cell Voltage': [3.985, 'V'], '8 Cell Voltage': [3.985, 'V'], '9 Cell Voltage': [3.987, 'V'], '10 Cell Voltage': [3.982, 'V'], '11 Cell Voltage': [3.985, 'V'], '12 Cell Voltage': [3.984, 'V'], '13 Cell Voltage': [3.984, 'V'], '14 Cell Voltage': [3.981, 'V'], 'MOS temp': [33, '°C'], 'Temp sensor 1': [28, '°C'], 'Temp sensor 2': [30, '°C'], 'Total battery voltage': [55.78, 'V'], 'Balance current': [-32.315, 'A'], 'Percent remaining': [100, '%'], 'Cycle count': [25, ''], 'Total capacity': ['000016da', ''], 'Total number of battery strings': [14, ''], 'Battery Warning Message': ['0000', ''], 'Battery status information': ['0003', '']}, 'tag': '', 'name': 'unnamed', 'mqtt_broker': , 'udp_port': '5555', 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False} 2023-08-15 12:02:57,152:DEBUG:screen:output@74: displayData: {'cell_count': [14.0, ''], '1_cell_voltage': [3.984, 'V'], '2_cell_voltage': [3.985, 'V'], '3_cell_voltage': [3.988, 'V'], '4_cell_voltage': [3.982, 'V'], '5_cell_voltage': [3.986, 'V'], '6_cell_voltage': [3.985, 'V'], '7_cell_voltage': [3.985, 'V'], '8_cell_voltage': [3.985, 'V'], '9_cell_voltage': [3.987, 'V'], '10_cell_voltage': [3.982, 'V'], '11_cell_voltage': [3.985, 'V'], '12_cell_voltage': [3.984, 'V'], '13_cell_voltage': [3.984, 'V'], '14_cell_voltage': [3.981, 'V'], 'mos_temp': [33, '°C'], 'temp_sensor_1': [28, '°C'], 'temp_sensor_2': [30, '°C'], 'total_battery_voltage': [55.78, 'V'], 'balance_current': [-32.315, 'A'], 'percent_remaining': [100, '%'], 'cycle_count': [25, ''], 'total_capacity': ['000016da', ''], 'total_number_of_battery_strings': [14, ''], 'battery_warning_message': ['0000', ''], 'battery_status_information': ['0003', '']} Command: getBalancerData - Get Balancer Data -------------------------------------------------------------------------------- Parameter Value Unit cell_count 14.0 1_cell_voltage 3.984 V 2_cell_voltage 3.985 V 3_cell_voltage 3.988 V 4_cell_voltage 3.982 V 5_cell_voltage 3.986 V 6_cell_voltage 3.985 V 7_cell_voltage 3.985 V 8_cell_voltage 3.985 V 9_cell_voltage 3.987 V 10_cell_voltage 3.982 V 11_cell_voltage 3.985 V 12_cell_voltage 3.984 V 13_cell_voltage 3.984 V 14_cell_voltage 3.981 V mos_temp 33 °C temp_sensor_1 28 °C temp_sensor_2 30 °C total_battery_voltage 55.78 V balance_current -32.315 A percent_remaining 100 % cycle_count 25 total_capacity 000016da total_number_of_battery_strings 14 battery_warning_message 0000 battery_status_information 0003 --------------------------------------------------------------------------------2023-08-15 12:02:57,154:DEBUG:init:main@458: Not daemon, so not looping |
I am very happy with this USB TTL option .I managed to connect my JK BMS but i am getting some data that is wrong . Command: getBalancerData - Get Balancer DataParameter Value Unit |
As I mentioned previously currently there is no cell count detection. You need to adjust it manually in protocol file. |
The above are what i am interested to get correct |
Clone this repo and edit mppsolar/protocols/jkserial.py(delete cell9-14) then install by running pip install -e . in mpp-solar folder. |
Can you post a debug run (then I'll 2 different cell count examples to work
from)
…On Thu, 17 Aug 2023, 10:04 pm geofreybingachie, ***@***.***> wrote:
mos_temp -30976 °C
battery_t1 -30464 °C
battery_t2 3698 °C
battery_voltage 0.08 V
balance_current 0.0 A
percent_remain 0 %
cycle_count 26767
total_capacity d0900e42
The above are what i am interested to get correct
—
Reply to this email directly, view it on GitHub
<#389 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNRA5PKOK3FS6PFKBODXVXUDZANCNFSM6AAAAAA3PSFCBM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I don't mean to hijack the channel, but is it possible to directly grab data off of the JKBMS using python code using this library, from TTL to USB? |
Yes. There are a variety of output methods including ones that just print
the results (actually thebl default does this)
…On Fri, 18 Aug 2023, 9:41 pm Apprisco, ***@***.***> wrote:
I don't mean to hijack the channel, but is it possible to directly grab
data off of the JKBMS using python code using this library, from TTL to USB?
Not just solar assistant or whatever.
I have the B2A24S20P
—
Reply to this email directly, view it on GitHub
<#389 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNXYBDCFEBFZ7CO65OLXV42EVANCNFSM6AAAAAA3PSFCBM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Here you have full list of output options https://github.com/jblance/mpp-solar/wiki/Detailed-Usage#list-available-output-processors |
Can you post a debug run too(add -D to command)? It would help in development as currently only 14 cell setup report correct values. |
I should just try this out, but is mpp-solar and jkbms a python importable library now? |
logic to address this is implemented in powermon jkserial |
Hi, I implemented logic to read data over ttl(proxer05@666c5c6) but i have problem with decoding. Response length depends on cell count so its not possible to use static "addresses" of data(atleast for reading all data).
Tested on B1A20S15P(v11 hw)
Debug info if needed
jkbms -b 115200 -P JKSERIAL -D -p /dev/ttyUSB0 2023-08-14 13:36:08,725:INFO:__init__:main@216: Solar Device Command Utility, version: 0.16.10, python version: 3.11.2 2023-08-14 13:36:08,726:DEBUG:mqttbrokerc:__init__@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None} 2023-08-14 13:36:08,726:DEBUG:__init__:main@251: MqttBroker name: localhost, port: 1883, user: None 2023-08-14 13:36:08,726:DEBUG:__init__:main@253: udp port 5555 2023-08-14 13:36:08,726:DEBUG:__init__:main@255: Using Postgres None 2023-08-14 13:36:08,726:DEBUG:__init__:main@258: Using Mongo None with mppsolar 2023-08-14 13:36:08,726:INFO:__init__:main@359: Creating device "unnamed" (type: "jkbms") on port "/dev/ttyUSB0 (porttype=None)" using protocol "JKSERIAL" 2023-08-14 13:36:08,729:DEBUG:__init__:main@363: device_class 2023-08-14 13:36:08,729:DEBUG:device:__init__@34: __init__ args () 2023-08-14 13:36:08,729:DEBUG:device:__init__@35: __init__ kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'JKSERIAL', 'baud': 115200, 'porttype': None, 'mqtt_broker': , 'udp_port': '5555', 'mongo_url': None, 'mongo_db': 'mppsolar'} 2023-08-14 13:36:08,729:DEBUG:__init__:get_port_type@69: port matches ttyusb 2023-08-14 13:36:08,729:INFO:__init__:get_port@111: Using serialio for communications 2023-08-14 13:36:08,737:DEBUG:__init__:get_protocol@13: Protocol JKSERIAL 2023-08-14 13:36:08,839:DEBUG:device:__init__@39: __init__ name unnamed, port , protocol JKBMS TTL serial communication protocol handler 2023-08-14 13:36:08,840:DEBUG:__init__:main@408: Commands [(, '', '', 'screen', None, None)] 2023-08-14 13:36:08,840:INFO:__init__:main@413: Looping 1 commands 2023-08-14 13:36:08,840:INFO:__init__:main@423: Getting results from device: jkbms device - name: unnamed, port: , protocol: JKBMS TTL serial communication protocol handler for command: , tag: , outputs: screen 2023-08-14 13:36:08,840:INFO:device:run_command@51: Running command 2023-08-14 13:36:08,840:INFO:jkserial:get_full_command@49: Using protocol b'JKSERIAL' with 1 commands 2023-08-14 13:36:08,840:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-14 13:36:08,840:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-14 13:36:08,840:DEBUG:jkserial:get_full_command@91: cmd with crc: bytearray(b'NW\x00\x13\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00h\x00\x00\x01&') 2023-08-14 13:36:08,840:INFO:device:run_command@81: full command bytearray(b'NW\x00\x13\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00h\x00\x00\x01&') for command getBalancerData 2023-08-14 13:36:08,840:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-14 13:36:08,840:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-14 13:36:08,841:DEBUG:serialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 115200 2023-08-14 13:36:08,842:DEBUG:serialio:send_and_receive@22: Executing command via serialio... 2023-08-14 13:36:08,944:DEBUG:serialio:send_and_receive@30: serial response was: b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r' 2023-08-14 13:36:09,059:DEBUG:device:run_command@98: Send and Receive Response b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r' 2023-08-14 13:36:09,060:INFO:abstractprotocol:decode@246: response passed to decode: b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r' 2023-08-14 13:36:09,060:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'getBalancerData' 2023-08-14 13:36:09,060:DEBUG:abstractprotocol:get_command_defn@73: Found command getBalancerData in protocol b'JKSERIAL' 2023-08-14 13:36:09,060:INFO:abstractprotocol:decode@290: Processing response of type POSITIONAL 2023-08-14 13:36:09,061:DEBUG:jkserial:get_responses@119: get_responses: responses [b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r'] 2023-08-14 13:36:09,061:DEBUG:abstractprotocol:decode@294: trimmed and split responses: [b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r'] 2023-08-14 13:36:09,061:DEBUG:abstractprotocol:decode@495: Processing POSITIONAL type responses 2023-08-14 13:36:09,061:DEBUG:abstractprotocol:decode@522: Got defn ['Hex2Str', 50, 'response', ''] 2023-08-14 13:36:09,061:DEBUG:abstractprotocol:process_response@118: Processing data_type: Hex2Str for data_name: response, raw_value b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r' 2023-08-14 13:36:09,062:DEBUG:abstractprotocol:process_response@207: Processing format string Hex2Str(raw_value) 2023-08-14 13:36:09,062:DEBUG:protocol_helpers:Hex2Str@105: Hex b'NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r' decoded to 4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d 2023-08-14 13:36:09,062:INFO:device:run_command@116: Decoded response {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r', ''], 'response': ['4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d', '']} 2023-08-14 13:36:09,062:DEBUG:__init__:main@427: results: {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r', ''], 'response': ['4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d', '']} 2023-08-14 13:36:09,063:INFO:__init__:get_output@40: attempting to create output processor: screen 2023-08-14 13:36:09,065:DEBUG:screen:__init__@15: processor.screen __init__ kwargs {} 2023-08-14 13:36:09,065:DEBUG:__init__:main@433: Using output filter: None 2023-08-14 13:36:09,065:INFO:screen:output@21: Using output processor: screen 2023-08-14 13:36:09,065:DEBUG:screen:output@22: kwargs {'data': {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['NW\x01\x1b\x00\x00\x00\x00\x03\x00\x01y*\x01\x0f\x90\x02\x0f\x92\x03\x0f\x97\x04\x0f\x90\x05\x0f\x93\x06\x0f\x93\x07\x0f\x92\x08\x0f\x90\t\x0f\x94\n\x0f\x90\x0b\x0f\x92\x0c\x0f\x91\r', ''], 'response': ['4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d', '']}, 'tag': '', 'name': 'unnamed', 'mqtt_broker': , 'udp_port': '5555', 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False} 2023-08-14 13:36:09,066:DEBUG:screen:output@74: displayData: {'response': ['4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d', '']} Command: getBalancerData - Get Balancer Data -------------------------------------------------------------------------------- Parameter Value Unit response 4e57011b00000000030001792a010f90020f92030f97040f90050f93060f93070f92080f90090f940a0f900b0f920c0f910d --------------------------------------------------------------------------------2023-08-14 13:36:09,066:DEBUG:init:main@458: Not daemon, so not looping
Update: When trying to get read all data only part of it is fetched. Partial reads like mos temperature are not affected(23 bytes)
The text was updated successfully, but these errors were encountered: