-
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
JKBMS and RS485 strange output? Looks different/better with new cable... #506
Comments
Also tried BT with JK04, but it runs until I break and gives this: 2024-07-28 08:22:41,254:DEBUG:jkabstractprotocol:wipe_to_start@150: SOR not found in record EDIT: Looks like the same as: #504 |
The response doesnt match any of the protocols I have documentation for -
perhaps the baud rate is wrong
can you try at 9600?
…On Sun, 28 Jul 2024 at 08:33, axyaxyfr ***@***.***> wrote:
I have two JK_PB2A16S15P connected to eachother and an RS485 connection to
a rpi running this. Hardware ver 15.XA and sw is 15.10.
It connects to the BMS but the values look strange. I use the supplied
cable from eelbattery to connect...
Any suggestions?
***@***.***:~ $ jkbms -p /dev/ttyUSB0 -b 115200 -P JK485 -D
2024-07-27 ***@***.***: Solar Device Command
Utility, version: 0.15.62
2024-07-27 ***@***.***
<https://github.com/29>: mqttbroker config: {'name': 'localhost', 'port':
1883, 'user': None, 'pass': None}
2024-07-27 ***@***.***: MqttBroker name:
localhost, port: 1883, user: None
2024-07-27 ***@***.***: udp port 5555
2024-07-27 ***@***.***: Using Postgres None
2024-07-27 ***@***.***: Using Mongo None with
mppsolar
2024-07-27 ***@***.***: Creating device "unnamed"
(type: "jkbms") on port "/dev/ttyUSB0 (porttype=None)" using protocol
"JK485"
2024-07-27 ***@***.***: device_class <class
'mppsolar.devices.jkbms.jkbms'>
2024-07-27 ***@***.*** <https://github.com/33>:
*init* args ()
2024-07-27 ***@***.*** <https://github.com/34>:
*init* kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol':
'JK485', 'baud': 115200, 'porttype': None, 'mqtt_broker':
<mppsolar.libs.mqttbrokerc.MqttBroker object at 0x7607bca0>, 'udp_port':
'5555', 'mongo_url': None, 'mongo_db': 'mppsolar'}
2024-07-27 ***@***.***: port matches ttyusb
2024-07-27 ***@***.***: Using serialio for
communications
2024-07-27 ***@***.***: Protocol JK485
2024-07-27 ***@***.*** <https://github.com/38>:
*init* name unnamed, port <mppsolar.inout.serialio.SerialIO object at
0x7607bda8>, protocol JKBMS RS485 serial communication protocol handler
2024-07-27 ***@***.***: Commands
[(<mppsolar.devices.jkbms.jkbms object at 0x7607bcb8>, '', '', 'screen',
None, None)]
2024-07-27 ***@***.***: Looping 1 commands
2024-07-27 ***@***.***: Getting results from
device: jkbms device - name: unnamed, port:
<mppsolar.inout.serialio.SerialIO object at 0x7607bda8>, protocol: JKBMS
RS485 serial communication protocol handler for command: , tag: , outputs:
screen
2024-07-27 ***@***.***: Running command
2024-07-27 ***@***.***: Using protocol
b'JK485' with 1 commands
2024-07-27 ***@***.***:
get_command_defn for: getBalancerData
2024-07-27 ***@***.***:
Processing command 'getBalancerData'
2024-07-27 ***@***.***: Found
command getBalancerData in protocol b'JK485'
2024-07-27 ***@***.***: cmd with
header: bytearray(b'U\xaa\x00\x00\x00\x00\x00')
2024-07-27 ***@***.***: cmd with header
+ slave address: bytearray(b'U\xaa\x01\x00\x00\x00\x00')
2024-07-27 ***@***.***: cmd with
command code and frame data: bytearray(b'U\xaa\x01\xff\x00\x00\x00')
2024-07-27 ***@***.***: cmd with crc:
bytearray(b'U\xaa\x01\xff\x00\x00\xff')
2024-07-27 ***@***.***: full command
bytearray(b'U\xaa\x01\xff\x00\x00\xff') for command getBalancerData
2024-07-27 ***@***.***:
get_command_defn for: getBalancerData
2024-07-27 ***@***.***:
Processing command 'getBalancerData'
2024-07-27 ***@***.***: Found
command getBalancerData in protocol b'JK485'
2024-07-27 ***@***.***: port
/dev/ttyUSB0, baudrate 115200
2024-07-27 ***@***.***: Executing
command via serialio...
2024-07-27 ***@***.***: serial
response was: b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16
\x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 ***@***.***: Send and Receive
Response b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16
\x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 ***@***.***: response passed
to decode: b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16
\x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 ***@***.***:
get_command_defn for: getBalancerData
2024-07-27 ***@***.***:
Processing command 'getBalancerData'
2024-07-27 ***@***.***: Found
command getBalancerData in protocol b'JK485'
2024-07-27 ***@***.***: Processing
response of type POSITIONAL
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 2, 'Header', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Slave Address', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Command Code', '']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/100', 2, 'Total Battery Voltage', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Average Cell Voltage', 'V']
2024-07-27 ***@***.***: Got
defn: ['Hex2Int', 1, 'Number of Cells', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Int', 1, 'Highest Cell', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Int', 1, 'Lowest Cell', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Charging / Discharging', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Alarm - todo', '']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Difference', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Balance Current', 'A']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Balance Trigger Voltage', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Max Balance Current', 'A']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Balance On / Off', '']
2024-07-27 ***@***.***: Got
defn: ['Hex2Int', 1, 'Set Number of Cells', '']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell01', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell02', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell03', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell04', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell05', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell06', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell07', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell08', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell09', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell10', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell11', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell12', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell13', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell14', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell15', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell16', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell17', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell18', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell19', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell20', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell21', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell22', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell23', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell24', 'V']
2024-07-27 ***@***.***: Got
defn: ['BigHex2Short', 2, 'Temperature', '°C']
2024-07-27 ***@***.***: Got
defn: ['Hex2Str', 1, 'Checksum', '']
2024-07-27 ***@***.***: trimmed and
split responses: [b'\x02\x10', b'\x16', b' ', b'\x00\x01', b'\x02\x00',
b'\x00', b'\xc2', b'\x01', b'\x03', b'\x10', b'\x16 ', b'\x00\x01',
b'\x02\x00', b'\x00\xcf', b'\x91', b'\x04', b'\x10\x16', b' \x00',
b'\x01\x02', b'\x00\x00', b'\xe9\xa1', b'\x05', b'', b'', b'', b'', b'',
b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'']
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 2, 'Header', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Header, raw_value b'\x02\x10'
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex
b'\x02\x10' decoded to 0210
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Slave Address', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Slave Address, raw_value
b'\x16'
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b'\x16'
decoded to 16
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Command Code', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Command Code, raw_value b' '
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b' '
decoded to 20
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/100', 2, 'Total Battery Voltage', 'V']
2024-07-27 ***@***.***: Got
template r/100 for Total Battery Voltage b'\x00\x01'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Total Battery Voltage,
raw_value b'\x00\x01'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x00\x01' 2 byte decoded to 1
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Average Cell Voltage', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Average Cell Voltage b'\x02\x00'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Average Cell Voltage,
raw_value b'\x02\x00'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x02\x00' 2 byte decoded to 512
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Int', 1, 'Number of Cells', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Int for data_name: Number of Cells, raw_value
b'\x00'
2024-07-27 ***@***.***:
Processing format string Hex2Int(raw_value)
2024-07-27 ***@***.***: Hex b'\x00'
decoded to 0
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Int', 1, 'Highest Cell', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Int for data_name: Highest Cell, raw_value b'\xc2'
2024-07-27 ***@***.***:
Processing format string Hex2Int(raw_value)
2024-07-27 ***@***.***: Hex b'\xc2'
decoded to 194
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Int', 1, 'Lowest Cell', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Int for data_name: Lowest Cell, raw_value b'\x01'
2024-07-27 ***@***.***:
Processing format string Hex2Int(raw_value)
2024-07-27 ***@***.***: Hex b'\x01'
decoded to 1
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Charging / Discharging', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Charging / Discharging,
raw_value b'\x03'
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b'\x03'
decoded to 03
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Alarm - todo', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Alarm - todo, raw_value b'\x10'
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b'\x10'
decoded to 10
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Difference', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Difference b'\x16 '
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Difference,
raw_value b'\x16 '
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x16 ' 2 byte decoded to 5664
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Balance Current', 'A']
2024-07-27 ***@***.***: Got
template r/1000 for Balance Current b'\x00\x01'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Balance Current,
raw_value b'\x00\x01'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x00\x01' 2 byte decoded to 1
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Balance Trigger Voltage', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Balance Trigger Voltage b'\x02\x00'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Balance Trigger Voltage,
raw_value b'\x02\x00'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x02\x00' 2 byte decoded to 512
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Max Balance Current', 'A']
2024-07-27 ***@***.***: Got
template r/1000 for Max Balance Current b'\x00\xcf'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Max Balance Current,
raw_value b'\x00\xcf'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x00\xcf' 2 byte decoded to 207
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Balance On / Off', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Balance On / Off, raw_value
b'\x91'
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b'\x91'
decoded to 91
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Int', 1, 'Set Number of Cells', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Int for data_name: Set Number of Cells, raw_value
b'\x04'
2024-07-27 ***@***.***:
Processing format string Hex2Int(raw_value)
2024-07-27 ***@***.***: Hex b'\x04'
decoded to 4
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell01', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell01 b'\x10\x16'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell01, raw_value
b'\x10\x16'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x10\x16' 2 byte decoded to 4118
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell02', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell02 b' \x00'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell02, raw_value
b' \x00'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex b'
\x00' 2 byte decoded to 8192
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell03', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell03 b'\x01\x02'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell03, raw_value
b'\x01\x02'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x01\x02' 2 byte decoded to 258
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell04', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell04 b'\x00\x00'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell04, raw_value
b'\x00\x00'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\x00\x00' 2 byte decoded to 0
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell05', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell05 b'\xe9\xa1'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell05, raw_value
b'\xe9\xa1'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
b'\xe9\xa1' 2 byte decoded to -5727
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell06', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell06 b'\x05'
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell06, raw_value
b'\x05'
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 1 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell07', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell07 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell07, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell08', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell08 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell08, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell09', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell09 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell09, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell10', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell10 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell10, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell11', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell11 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell11, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell12', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell12 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell12, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell13', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell13 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell13, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell14', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell14 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell14, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell15', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell15 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell15, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell16', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell16 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell16, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell17', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell17 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell17, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell18', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell18 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell18, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell19', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell19 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell19, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell20', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell20 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell20, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell21', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell21 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell21, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell22', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell22 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell22, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell23', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell23 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell23, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short:r/1000', 2, 'Voltage Cell24', 'V']
2024-07-27 ***@***.***: Got
template r/1000 for Voltage Cell24 b''
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Voltage Cell24, raw_value
b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['BigHex2Short', 2, 'Temperature', '°C']
2024-07-27 ***@***.***:
Processing data_type: BigHex2Short for data_name: Temperature, raw_value b''
2024-07-27 ***@***.***:
Processing format string BigHex2Short(raw_value)
2024-07-27 ***@***.***: Hex
encoded value must be 2 bytes long. Was 0 length
2024-07-27 ***@***.***: Processing
POSITIONAL type responses
2024-07-27 ***@***.***: Got defn
['Hex2Str', 1, 'Checksum', '']
2024-07-27 ***@***.***:
Processing data_type: Hex2Str for data_name: Checksum, raw_value b''
2024-07-27 ***@***.***:
Processing format string Hex2Str(raw_value)
2024-07-27 ***@***.***: Hex b''
decoded to
2024-07-27 ***@***.***: Decoded response
{'_command': 'getBalancerData', '_command_description': 'Get Balancer
Data', 'raw_response': ['\x02\x10\x16 \x00\x01\x02\x00\x00Â\x01\x03\x10\x16
\x00\x01\x02\x00\x00Ï\x91\x04\x10\x16 \x00\x01\x02\x00\x00é¡\x05', ''],
'Header': ['0210', ''], 'Slave Address': ['16', ''], 'Command Code': ['20',
''], 'Total Battery Voltage': [0.01, 'V'], 'Average Cell Voltage': [0.512,
'V'], 'Number of Cells': [0, ''], 'Highest Cell': [194, ''], 'Lowest Cell':
[1, ''], 'Charging / Discharging': ['03', ''], 'Alarm - todo': ['10', ''],
'Voltage Difference': [5.664, 'V'], 'Balance Current': [0.001, 'A'],
'Balance Trigger Voltage': [0.512, 'V'], 'Max Balance Current': [0.207,
'A'], 'Balance On / Off': ['91', ''], 'Set Number of Cells': [4, ''],
'Voltage Cell01': [4.118, 'V'], 'Voltage Cell02': [8.192, 'V'], 'Voltage
Cell03': [0.258, 'V'], 'Voltage Cell04': [0.0, 'V'], 'Voltage Cell05':
[-5.727, 'V'], 'Voltage Cell06': [0.0, 'V'], 'Voltage Cell07': [0.0, 'V'],
'Voltage Cell08': [0.0, 'V'], 'Voltage Cell09': [0.0, 'V'], 'Voltage
Cell10': [0.0, 'V'], 'Voltage Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0,
'V'], 'Voltage Cell13': [0.0, 'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage
Cell15': [0.0, 'V'], 'Voltage Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0,
'V'], 'Voltage Cell18': [0.0, 'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage
Cell20': [0.0, 'V'], 'Voltage Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0,
'V'], 'Voltage Cell23': [0.0, 'V'], 'Voltage Cell24': [0.0, 'V'],
'Temperature': [0, '°C'], 'Checksum': ['', '']}
2024-07-27 ***@***.***: results: {'_command':
'getBalancerData', '_command_description': 'Get Balancer Data',
'raw_response': ['\x02\x10\x16 \x00\x01\x02\x00\x00Â\x01\x03\x10\x16
\x00\x01\x02\x00\x00Ï\x91\x04\x10\x16 \x00\x01\x02\x00\x00é¡\x05', ''],
'Header': ['0210', ''], 'Slave Address': ['16', ''], 'Command Code': ['20',
''], 'Total Battery Voltage': [0.01, 'V'], 'Average Cell Voltage': [0.512,
'V'], 'Number of Cells': [0, ''], 'Highest Cell': [194, ''], 'Lowest Cell':
[1, ''], 'Charging / Discharging': ['03', ''], 'Alarm - todo': ['10', ''],
'Voltage Difference': [5.664, 'V'], 'Balance Current': [0.001, 'A'],
'Balance Trigger Voltage': [0.512, 'V'], 'Max Balance Current': [0.207,
'A'], 'Balance On / Off': ['91', ''], 'Set Number of Cells': [4, ''],
'Voltage Cell01': [4.118, 'V'], 'Voltage Cell02': [8.192, 'V'], 'Voltage
Cell03': [0.258, 'V'], 'Voltage Cell04': [0.0, 'V'], 'Voltage Cell05':
[-5.727, 'V'], 'Voltage Cell06': [0.0, 'V'], 'Voltage Cell07': [0.0, 'V'],
'Voltage Cell08': [0.0, 'V'], 'Voltage Cell09': [0.0, 'V'], 'Voltage
Cell10': [0.0, 'V'], 'Voltage Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0,
'V'], 'Voltage Cell13': [0.0, 'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage
Cell15': [0.0, 'V'], 'Voltage Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0,
'V'], 'Voltage Cell18': [0.0, 'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage
Cell20': [0.0, 'V'], 'Voltage Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0,
'V'], 'Voltage Cell23': [0.0, 'V'], 'Voltage Cell24': [0.0, 'V'],
'Temperature': [0, '°C'], 'Checksum': ['', '']}
2024-07-27 ***@***.***: attempting to create
output processor: screen
2024-07-27 ***@***.*** <https://github.com/15>:
processor.screen *init* kwargs {}
2024-07-27 ***@***.***: Using output filter: None
2024-07-27 ***@***.***: Using output processor:
screen
2024-07-27 ***@***.***: kwargs {'data':
{'_command': 'getBalancerData', '
*command_description': 'Get Balancer Data', 'raw_response': ['\x02\x10\x16
\x00\x01\x02\x00\x00Â\x01\x03\x10\x16 \x00\x01\x02\x00\x00Ï\x91\x04\x10\x16
\x00\x01\x02\x00\x00é¡\x05', ''], 'Header': ['0210', ''], 'Slave Address':
['16', ''], 'Command Code': ['20', ''], 'Total Battery Voltage': [0.01,
'V'], 'Average Cell Voltage': [0.512, 'V'], 'Number of Cells': [0, ''],
'Highest Cell': [194, ''], 'Lowest Cell': [1, ''], 'Charging /
Discharging': ['03', ''], 'Alarm - todo': ['10', ''], 'Voltage Difference':
[5.664, 'V'], 'Balance Current': [0.001, 'A'], 'Balance Trigger Voltage':
[0.512, 'V'], 'Max Balance Current': [0.207, 'A'], 'Balance On / Off':
['91', ''], 'Set Number of Cells': [4, ''], 'Voltage Cell01': [4.118, 'V'],
'Voltage Cell02': [8.192, 'V'], 'Voltage Cell03': [0.258, 'V'], 'Voltage
Cell04': [0.0, 'V'], 'Voltage Cell05': [-5.727, 'V'], 'Voltage Cell06':
[0.0, 'V'], 'Voltage Cell07': [0.0, 'V'], 'Voltage Cell08': [0.0, 'V'],
'Voltage Cell09': [0.0, 'V'], 'Voltage Cell10': [0.0, 'V'], 'Voltage
Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0, 'V'], 'Voltage Cell13': [0.0,
'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage Cell15': [0.0, 'V'], 'Voltage
Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0, 'V'], 'Voltage Cell18': [0.0,
'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage Cell20': [0.0, 'V'], 'Voltage
Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0, 'V'], 'Voltage Cell23': [0.0,
'V'], 'Voltage Cell24': [0.0, 'V'], 'Temperature': [0, '°C'], 'Checksum':
['', '']}, 'tag': '', 'name': 'unnamed', 'mqtt_broker':
<mppsolar.libs.mqttbrokerc.MqttBroker object at 0x7607bca0>, 'udp_port':
'5555', 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar',
'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case':
False} 2024-07-27 ***@***.***: displayData:
{'header': ['0210', ''], 'slave_address': ['16', ''], 'command_code':
['20', ''], 'total_battery_voltage': [0.01, 'V'], 'average_cell_voltage':
[0.512, 'V'], 'number_of_cells': [0, ''], 'highest_cell': [194, ''],
'lowest_cell': [1, ''], 'charging*/*discharging': ['03', ''], 'alarm*-*todo':
['10', ''], 'voltage_difference': [5.664, 'V'], 'balance_current': [0.001,
'A'], 'balance_trigger_voltage': [0.512, 'V'], 'max_balance_current':
[0.207, 'A'], 'balance_on*/_off': ['91', ''], 'set_number_of_cells': [4,
''], 'voltage_cell01': [4.118, 'V'], 'voltage_cell02': [8.192, 'V'],
'voltage_cell03': [0.258, 'V'], 'voltage_cell04': [0.0, 'V'],
'voltage_cell05': [-5.727, 'V'], 'voltage_cell06': [0.0, 'V'],
'voltage_cell07': [0.0, 'V'], 'voltage_cell08': [0.0, 'V'],
'voltage_cell09': [0.0, 'V'], 'voltage_cell10': [0.0, 'V'],
'voltage_cell11': [0.0, 'V'], 'voltage_cell12': [0.0, 'V'],
'voltage_cell13': [0.0, 'V'], 'voltage_cell14': [0.0, 'V'],
'voltage_cell15': [0.0, 'V'], 'voltage_cell16': [0.0, 'V'],
'voltage_cell17': [0.0, 'V'], 'voltage_cell18': [0.0, 'V'],
'voltage_cell19': [0.0, 'V'], 'voltage_cell20': [0.0, 'V'],
'voltage_cell21': [0.0, 'V'], 'voltage_cell22': [0.0, 'V'],
'voltage_cell23': [0.0, 'V'], 'voltage_cell24': [0.0, 'V'], 'temperature':
[0, '°C'], 'checksum': ['', '']}
Command: getBalancerData - Get Balancer Data
Parameter Value Unit
header 0210
slave_address 16
command_code 20
total_battery_voltage 0.01 V
average_cell_voltage 0.512 V
number_of_cells 0
highest_cell 194
lowest_cell 1
charging_/
*discharging 03 alarm*-
*todo 10 voltage_difference 5.664 V balance_current 0.001 A
balance_trigger_voltage 0.512 V max_balance_current 0.207 A balance_on*/_off
91
set_number_of_cells 4
voltage_cell01 4.118 V
voltage_cell02 8.192 V
voltage_cell03 0.258 V
voltage_cell04 0.0 V
voltage_cell05 -5.727 V
voltage_cell06 0.0 V
voltage_cell07 0.0 V
voltage_cell08 0.0 V
voltage_cell09 0.0 V
voltage_cell10 0.0 V
voltage_cell11 0.0 V
voltage_cell12 0.0 V
voltage_cell13 0.0 V
voltage_cell14 0.0 V
voltage_cell15 0.0 V
voltage_cell16 0.0 V
voltage_cell17 0.0 V
voltage_cell18 0.0 V
voltage_cell19 0.0 V
voltage_cell20 0.0 V
voltage_cell21 0.0 V
voltage_cell22 0.0 V
voltage_cell23 0.0 V
voltage_cell24 0.0 V
temperature 0 °C
checksum
2024-07-27 ***@***.***: Not daemon, so not looping
***@***.***:~ $ lsusb
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics CH340 serial converter
—
Reply to this email directly, view it on GitHub
<#506>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNWMMCYUD2DUXVSU3STZOP7Z7AVCNFSM6AAAAABLSEZ4F2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQZTGNRRG43DQOA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Sure thing. With 9600: ps@raspberrypi:~ $ jkbms -p /dev/ttyUSB0 -b 9600 -P JK485 -D
|
i dont think the code work with 'real' rs485 - pretty sure someone else found this out an made a script that worked - looks like they used the esphome solution https://github.com/txubelaxu/esphome-jk-bms |
Is it also an unknown protocol with BT? I get the same is issue #504 |
Tried with a new cable, and now it looks different/better: ps@raspberrypi:~ $ jkbms -p /dev/ttyUSB0 -b 115200 -P JK485 -D |
Just like the poster above I too am getting nothing back from the BMS using mppsolar, but sending to it '4E 57 00 13 00 00 00 00 06 03 00 00 00 00 00 00 68 00 00 01 29' responds will all data. I tried all sorts of commands, but I believe the closes to success was: the result is:
So clearly it is getting a wrong response, but why? It sends the following hex string: Most curiously, when I send the same string via serial I do get the following response: So it appears to be truncating maybe?
I looked at the translated Chinese document for something else we can interpret as the end of the frame. I found this. At the end there is always 0x68 followed by 4 byte checksum, of which 2 bytes are not used and are zero. So it seems every frame ends with (hex) 68 00 00 XX XX and this is one simple method to detect the end (a better one would be to process the header and get the length, but this is the faster method I chose today). So after making the following changes: https://github.com/lukolszewski/mpp-solar/tree/feature/jk_serialio It appears to be working fine! |
|
Indeed it does 😅 Edit: I still like my version though as it replies signifficantly faster (both could be tweaked further of course). Does anyone know how frequently the values are updated internally? Is there a point to query every second for example to catch current peaks? |
Hello, which protocol is configured on BMS UART? |
I have two JK_PB2A16S15P connected to eachother and an RS485 connection to a rpi running this. Hardware ver 15.XA and sw is 15.10.
It connects to the BMS but the values look strange. I use the supplied cable from eelbattery to connect...
Any suggestions?
ps@raspberrypi:~ $ jkbms -p /dev/ttyUSB0 -b 115200 -P JK485 -D
2024-07-27 22:23:52,104:INFO:init:main@214: Solar Device Command Utility, version: 0.15.62
2024-07-27 22:23:52,105:DEBUG:mqttbrokerc:init@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None}
2024-07-27 22:23:52,106:DEBUG:init:main@239: MqttBroker name: localhost, port: 1883, user: None
2024-07-27 22:23:52,106:DEBUG:init:main@241: udp port 5555
2024-07-27 22:23:52,106:DEBUG:init:main@243: Using Postgres None
2024-07-27 22:23:52,106:DEBUG:init:main@246: Using Mongo None with mppsolar
2024-07-27 22:23:52,107:INFO:init:main@347: Creating device "unnamed" (type: "jkbms") on port "/dev/ttyUSB0 (porttype=None)" using protocol "JK485"
2024-07-27 22:23:52,112:DEBUG:init:main@351: device_class <class 'mppsolar.devices.jkbms.jkbms'>
2024-07-27 22:23:52,113:DEBUG:device:init@33: init args ()
2024-07-27 22:23:52,113:DEBUG:device:init@34: init kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'JK485', 'baud': 115200, 'porttype': None, 'mqtt_broker': <mppsolar.libs.mqttbrokerc.MqttBroker object at 0x7607bca0>, 'udp_port': '5555', 'mongo_url': None, 'mongo_db': 'mppsolar'}
2024-07-27 22:23:52,113:DEBUG:init:get_port_type@69: port matches ttyusb
2024-07-27 22:23:52,114:INFO:init:get_port@111: Using serialio for communications
2024-07-27 22:23:52,128:DEBUG:init:get_protocol@13: Protocol JK485
2024-07-27 22:23:52,363:DEBUG:device:init@38: init name unnamed, port <mppsolar.inout.serialio.SerialIO object at 0x7607bda8>, protocol JKBMS RS485 serial communication protocol handler
2024-07-27 22:23:52,363:DEBUG:init:main@402: Commands [(<mppsolar.devices.jkbms.jkbms object at 0x7607bcb8>, '', '', 'screen', None, None)]
2024-07-27 22:23:52,363:INFO:init:main@407: Looping 1 commands
2024-07-27 22:23:52,364:INFO:init:main@417: Getting results from device: jkbms device - name: unnamed, port: <mppsolar.inout.serialio.SerialIO object at 0x7607bda8>, protocol: JKBMS RS485 serial communication protocol handler for command: , tag: , outputs: screen
2024-07-27 22:23:52,364:INFO:device:run_command@50: Running command
2024-07-27 22:23:52,364:INFO:jk485:get_full_command@100: Using protocol b'JK485' with 1 commands
2024-07-27 22:23:52,364:DEBUG:jkabstractprotocol:get_command_defn@105: get_command_defn for: getBalancerData
2024-07-27 22:23:52,365:DEBUG:abstractprotocol:get_command_defn@70: Processing command 'getBalancerData'
2024-07-27 22:23:52,365:DEBUG:abstractprotocol:get_command_defn@72: Found command getBalancerData in protocol b'JK485'
2024-07-27 22:23:52,365:DEBUG:jk485:get_full_command@114: cmd with header: bytearray(b'U\xaa\x00\x00\x00\x00\x00')
2024-07-27 22:23:52,365:DEBUG:jk485:get_full_command@117: cmd with header + slave address: bytearray(b'U\xaa\x01\x00\x00\x00\x00')
2024-07-27 22:23:52,366:DEBUG:jk485:get_full_command@122: cmd with command code and frame data: bytearray(b'U\xaa\x01\xff\x00\x00\x00')
2024-07-27 22:23:52,366:DEBUG:jk485:get_full_command@125: cmd with crc: bytearray(b'U\xaa\x01\xff\x00\x00\xff')
2024-07-27 22:23:52,366:INFO:device:run_command@78: full command bytearray(b'U\xaa\x01\xff\x00\x00\xff') for command getBalancerData
2024-07-27 22:23:52,366:DEBUG:jkabstractprotocol:get_command_defn@105: get_command_defn for: getBalancerData
2024-07-27 22:23:52,367:DEBUG:abstractprotocol:get_command_defn@70: Processing command 'getBalancerData'
2024-07-27 22:23:52,367:DEBUG:abstractprotocol:get_command_defn@72: Found command getBalancerData in protocol b'JK485'
2024-07-27 22:23:52,367:DEBUG:serialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 115200
2024-07-27 22:23:52,370:DEBUG:serialio:send_and_receive@22: Executing command via serialio...
2024-07-27 22:23:53,727:DEBUG:serialio:send_and_receive@30: serial response was: b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16 \x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 22:23:53,729:DEBUG:device:run_command@95: Send and Receive Response b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16 \x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 22:23:53,730:INFO:abstractprotocol:decode@245: response passed to decode: b'\x02\x10\x16 \x00\x01\x02\x00\x00\xc2\x01\x03\x10\x16 \x00\x01\x02\x00\x00\xcf\x91\x04\x10\x16 \x00\x01\x02\x00\x00\xe9\xa1\x05'
2024-07-27 22:23:53,730:DEBUG:jkabstractprotocol:get_command_defn@105: get_command_defn for: getBalancerData
2024-07-27 22:23:53,731:DEBUG:abstractprotocol:get_command_defn@70: Processing command 'getBalancerData'
2024-07-27 22:23:53,731:DEBUG:abstractprotocol:get_command_defn@72: Found command getBalancerData in protocol b'JK485'
2024-07-27 22:23:53,732:INFO:abstractprotocol:decode@289: Processing response of type POSITIONAL
2024-07-27 22:23:53,732:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 2, 'Header', '']
2024-07-27 22:23:53,733:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Slave Address', '']
2024-07-27 22:23:53,733:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Command Code', '']
2024-07-27 22:23:53,734:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/100', 2, 'Total Battery Voltage', 'V']
2024-07-27 22:23:53,734:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Average Cell Voltage', 'V']
2024-07-27 22:23:53,735:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Int', 1, 'Number of Cells', '']
2024-07-27 22:23:53,735:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Int', 1, 'Highest Cell', '']
2024-07-27 22:23:53,736:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Int', 1, 'Lowest Cell', '']
2024-07-27 22:23:53,736:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Charging / Discharging', '']
2024-07-27 22:23:53,737:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Alarm - todo', '']
2024-07-27 22:23:53,737:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Difference', 'V']
2024-07-27 22:23:53,738:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Balance Current', 'A']
2024-07-27 22:23:53,738:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Balance Trigger Voltage', 'V']
2024-07-27 22:23:53,739:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Max Balance Current', 'A']
2024-07-27 22:23:53,739:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Balance On / Off', '']
2024-07-27 22:23:53,739:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Int', 1, 'Set Number of Cells', '']
2024-07-27 22:23:53,740:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell01', 'V']
2024-07-27 22:23:53,740:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell02', 'V']
2024-07-27 22:23:53,741:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell03', 'V']
2024-07-27 22:23:53,741:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell04', 'V']
2024-07-27 22:23:53,742:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell05', 'V']
2024-07-27 22:23:53,742:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell06', 'V']
2024-07-27 22:23:53,743:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell07', 'V']
2024-07-27 22:23:53,743:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell08', 'V']
2024-07-27 22:23:53,744:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell09', 'V']
2024-07-27 22:23:53,744:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell10', 'V']
2024-07-27 22:23:53,745:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell11', 'V']
2024-07-27 22:23:53,745:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell12', 'V']
2024-07-27 22:23:53,746:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell13', 'V']
2024-07-27 22:23:53,746:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell14', 'V']
2024-07-27 22:23:53,746:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell15', 'V']
2024-07-27 22:23:53,747:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell16', 'V']
2024-07-27 22:23:53,747:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell17', 'V']
2024-07-27 22:23:53,748:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell18', 'V']
2024-07-27 22:23:53,748:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell19', 'V']
2024-07-27 22:23:53,749:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell20', 'V']
2024-07-27 22:23:53,749:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell21', 'V']
2024-07-27 22:23:53,749:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell22', 'V']
2024-07-27 22:23:53,750:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell23', 'V']
2024-07-27 22:23:53,750:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short:r/1000', 2, 'Voltage Cell24', 'V']
2024-07-27 22:23:53,751:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['BigHex2Short', 2, 'Temperature', '°C']
2024-07-27 22:23:53,751:DEBUG:jkabstractprotocol:get_responses@127: Got defn: ['Hex2Str', 1, 'Checksum', '']
2024-07-27 22:23:53,752:DEBUG:abstractprotocol:decode@293: trimmed and split responses: [b'\x02\x10', b'\x16', b' ', b'\x00\x01', b'\x02\x00', b'\x00', b'\xc2', b'\x01', b'\x03', b'\x10', b'\x16 ', b'\x00\x01', b'\x02\x00', b'\x00\xcf', b'\x91', b'\x04', b'\x10\x16', b' \x00', b'\x01\x02', b'\x00\x00', b'\xe9\xa1', b'\x05', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'', b'']
2024-07-27 22:23:53,752:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,753:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 2, 'Header', '']
2024-07-27 22:23:53,753:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Header, raw_value b'\x02\x10'
2024-07-27 22:23:53,753:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,754:DEBUG:protocol_helpers:Hex2Str@109: Hex b'\x02\x10' decoded to 0210
2024-07-27 22:23:53,755:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,756:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Slave Address', '']
2024-07-27 22:23:53,756:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Slave Address, raw_value b'\x16'
2024-07-27 22:23:53,757:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,757:DEBUG:protocol_helpers:Hex2Str@109: Hex b'\x16' decoded to 16
2024-07-27 22:23:53,758:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,759:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Command Code', '']
2024-07-27 22:23:53,759:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Command Code, raw_value b' '
2024-07-27 22:23:53,759:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,760:DEBUG:protocol_helpers:Hex2Str@109: Hex b' ' decoded to 20
2024-07-27 22:23:53,761:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,761:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/100', 2, 'Total Battery Voltage', 'V']
2024-07-27 22:23:53,761:DEBUG:abstractprotocol:process_response@116: Got template r/100 for Total Battery Voltage b'\x00\x01'
2024-07-27 22:23:53,762:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Total Battery Voltage, raw_value b'\x00\x01'
2024-07-27 22:23:53,762:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,763:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x00\x01' 2 byte decoded to 1
2024-07-27 22:23:53,764:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,764:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Average Cell Voltage', 'V']
2024-07-27 22:23:53,765:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Average Cell Voltage b'\x02\x00'
2024-07-27 22:23:53,765:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Average Cell Voltage, raw_value b'\x02\x00'
2024-07-27 22:23:53,765:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,766:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x02\x00' 2 byte decoded to 512
2024-07-27 22:23:53,767:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,767:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Int', 1, 'Number of Cells', '']
2024-07-27 22:23:53,768:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Int for data_name: Number of Cells, raw_value b'\x00'
2024-07-27 22:23:53,768:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Int(raw_value)
2024-07-27 22:23:53,769:DEBUG:protocol_helpers:Hex2Int@96: Hex b'\x00' decoded to 0
2024-07-27 22:23:53,770:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,770:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Int', 1, 'Highest Cell', '']
2024-07-27 22:23:53,771:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Int for data_name: Highest Cell, raw_value b'\xc2'
2024-07-27 22:23:53,771:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Int(raw_value)
2024-07-27 22:23:53,772:DEBUG:protocol_helpers:Hex2Int@96: Hex b'\xc2' decoded to 194
2024-07-27 22:23:53,772:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,773:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Int', 1, 'Lowest Cell', '']
2024-07-27 22:23:53,773:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Int for data_name: Lowest Cell, raw_value b'\x01'
2024-07-27 22:23:53,773:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Int(raw_value)
2024-07-27 22:23:53,774:DEBUG:protocol_helpers:Hex2Int@96: Hex b'\x01' decoded to 1
2024-07-27 22:23:53,775:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,775:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Charging / Discharging', '']
2024-07-27 22:23:53,776:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Charging / Discharging, raw_value b'\x03'
2024-07-27 22:23:53,776:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,777:DEBUG:protocol_helpers:Hex2Str@109: Hex b'\x03' decoded to 03
2024-07-27 22:23:53,777:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,778:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Alarm - todo', '']
2024-07-27 22:23:53,778:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Alarm - todo, raw_value b'\x10'
2024-07-27 22:23:53,778:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,779:DEBUG:protocol_helpers:Hex2Str@109: Hex b'\x10' decoded to 10
2024-07-27 22:23:53,780:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,780:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Difference', 'V']
2024-07-27 22:23:53,781:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Difference b'\x16 '
2024-07-27 22:23:53,781:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Difference, raw_value b'\x16 '
2024-07-27 22:23:53,782:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,782:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x16 ' 2 byte decoded to 5664
2024-07-27 22:23:53,783:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,784:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Balance Current', 'A']
2024-07-27 22:23:53,784:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Balance Current b'\x00\x01'
2024-07-27 22:23:53,785:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Balance Current, raw_value b'\x00\x01'
2024-07-27 22:23:53,785:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,786:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x00\x01' 2 byte decoded to 1
2024-07-27 22:23:53,786:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,787:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Balance Trigger Voltage', 'V']
2024-07-27 22:23:53,787:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Balance Trigger Voltage b'\x02\x00'
2024-07-27 22:23:53,788:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Balance Trigger Voltage, raw_value b'\x02\x00'
2024-07-27 22:23:53,788:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,789:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x02\x00' 2 byte decoded to 512
2024-07-27 22:23:53,790:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,790:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Max Balance Current', 'A']
2024-07-27 22:23:53,791:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Max Balance Current b'\x00\xcf'
2024-07-27 22:23:53,791:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Max Balance Current, raw_value b'\x00\xcf'
2024-07-27 22:23:53,791:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,792:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x00\xcf' 2 byte decoded to 207
2024-07-27 22:23:53,793:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,793:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Balance On / Off', '']
2024-07-27 22:23:53,794:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Balance On / Off, raw_value b'\x91'
2024-07-27 22:23:53,794:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,795:DEBUG:protocol_helpers:Hex2Str@109: Hex b'\x91' decoded to 91
2024-07-27 22:23:53,796:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,796:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Int', 1, 'Set Number of Cells', '']
2024-07-27 22:23:53,797:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Int for data_name: Set Number of Cells, raw_value b'\x04'
2024-07-27 22:23:53,797:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Int(raw_value)
2024-07-27 22:23:53,798:DEBUG:protocol_helpers:Hex2Int@96: Hex b'\x04' decoded to 4
2024-07-27 22:23:53,798:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,799:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell01', 'V']
2024-07-27 22:23:53,799:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell01 b'\x10\x16'
2024-07-27 22:23:53,799:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell01, raw_value b'\x10\x16'
2024-07-27 22:23:53,800:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,801:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x10\x16' 2 byte decoded to 4118
2024-07-27 22:23:53,801:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,802:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell02', 'V']
2024-07-27 22:23:53,802:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell02 b' \x00'
2024-07-27 22:23:53,803:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell02, raw_value b' \x00'
2024-07-27 22:23:53,803:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,803:DEBUG:protocol_helpers:BigHex2Short@151: Hex b' \x00' 2 byte decoded to 8192
2024-07-27 22:23:53,803:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,804:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell03', 'V']
2024-07-27 22:23:53,804:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell03 b'\x01\x02'
2024-07-27 22:23:53,804:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell03, raw_value b'\x01\x02'
2024-07-27 22:23:53,804:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,805:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x01\x02' 2 byte decoded to 258
2024-07-27 22:23:53,805:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,805:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell04', 'V']
2024-07-27 22:23:53,806:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell04 b'\x00\x00'
2024-07-27 22:23:53,806:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell04, raw_value b'\x00\x00'
2024-07-27 22:23:53,806:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,806:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\x00\x00' 2 byte decoded to 0
2024-07-27 22:23:53,807:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,807:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell05', 'V']
2024-07-27 22:23:53,807:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell05 b'\xe9\xa1'
2024-07-27 22:23:53,807:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell05, raw_value b'\xe9\xa1'
2024-07-27 22:23:53,808:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,808:DEBUG:protocol_helpers:BigHex2Short@151: Hex b'\xe9\xa1' 2 byte decoded to -5727
2024-07-27 22:23:53,808:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,809:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell06', 'V']
2024-07-27 22:23:53,809:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell06 b'\x05'
2024-07-27 22:23:53,809:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell06, raw_value b'\x05'
2024-07-27 22:23:53,809:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,810:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 1 length
2024-07-27 22:23:53,810:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,810:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell07', 'V']
2024-07-27 22:23:53,811:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell07 b''
2024-07-27 22:23:53,811:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell07, raw_value b''
2024-07-27 22:23:53,811:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,811:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,812:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,812:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell08', 'V']
2024-07-27 22:23:53,812:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell08 b''
2024-07-27 22:23:53,812:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell08, raw_value b''
2024-07-27 22:23:53,813:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,813:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,813:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,813:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell09', 'V']
2024-07-27 22:23:53,814:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell09 b''
2024-07-27 22:23:53,814:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell09, raw_value b''
2024-07-27 22:23:53,814:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,814:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,815:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,815:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell10', 'V']
2024-07-27 22:23:53,815:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell10 b''
2024-07-27 22:23:53,816:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell10, raw_value b''
2024-07-27 22:23:53,816:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,816:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,817:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,817:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell11', 'V']
2024-07-27 22:23:53,817:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell11 b''
2024-07-27 22:23:53,817:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell11, raw_value b''
2024-07-27 22:23:53,817:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,818:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,818:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,818:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell12', 'V']
2024-07-27 22:23:53,819:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell12 b''
2024-07-27 22:23:53,819:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell12, raw_value b''
2024-07-27 22:23:53,819:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,819:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,820:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,820:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell13', 'V']
2024-07-27 22:23:53,820:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell13 b''
2024-07-27 22:23:53,820:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell13, raw_value b''
2024-07-27 22:23:53,821:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,821:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,821:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,822:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell14', 'V']
2024-07-27 22:23:53,822:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell14 b''
2024-07-27 22:23:53,822:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell14, raw_value b''
2024-07-27 22:23:53,822:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,823:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,823:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,823:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell15', 'V']
2024-07-27 22:23:53,824:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell15 b''
2024-07-27 22:23:53,824:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell15, raw_value b''
2024-07-27 22:23:53,824:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,825:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,825:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,825:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell16', 'V']
2024-07-27 22:23:53,826:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell16 b''
2024-07-27 22:23:53,826:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell16, raw_value b''
2024-07-27 22:23:53,826:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,826:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,827:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,827:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell17', 'V']
2024-07-27 22:23:53,827:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell17 b''
2024-07-27 22:23:53,827:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell17, raw_value b''
2024-07-27 22:23:53,828:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,828:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,828:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,829:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell18', 'V']
2024-07-27 22:23:53,829:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell18 b''
2024-07-27 22:23:53,829:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell18, raw_value b''
2024-07-27 22:23:53,829:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,830:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,830:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,830:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell19', 'V']
2024-07-27 22:23:53,830:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell19 b''
2024-07-27 22:23:53,831:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell19, raw_value b''
2024-07-27 22:23:53,831:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,831:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,832:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,832:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell20', 'V']
2024-07-27 22:23:53,832:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell20 b''
2024-07-27 22:23:53,833:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell20, raw_value b''
2024-07-27 22:23:53,833:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,833:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,834:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,834:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell21', 'V']
2024-07-27 22:23:53,834:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell21 b''
2024-07-27 22:23:53,834:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell21, raw_value b''
2024-07-27 22:23:53,835:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,835:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,835:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,836:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell22', 'V']
2024-07-27 22:23:53,836:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell22 b''
2024-07-27 22:23:53,836:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell22, raw_value b''
2024-07-27 22:23:53,836:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,837:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,837:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,837:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell23', 'V']
2024-07-27 22:23:53,837:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell23 b''
2024-07-27 22:23:53,838:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell23, raw_value b''
2024-07-27 22:23:53,838:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,838:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,839:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,839:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short:r/1000', 2, 'Voltage Cell24', 'V']
2024-07-27 22:23:53,839:DEBUG:abstractprotocol:process_response@116: Got template r/1000 for Voltage Cell24 b''
2024-07-27 22:23:53,840:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Voltage Cell24, raw_value b''
2024-07-27 22:23:53,840:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,840:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,841:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,841:DEBUG:abstractprotocol:decode@519: Got defn ['BigHex2Short', 2, 'Temperature', '°C']
2024-07-27 22:23:53,841:DEBUG:abstractprotocol:process_response@117: Processing data_type: BigHex2Short for data_name: Temperature, raw_value b''
2024-07-27 22:23:53,841:DEBUG:abstractprotocol:process_response@206: Processing format string BigHex2Short(raw_value)
2024-07-27 22:23:53,842:INFO:protocol_helpers:BigHex2Short@148: Hex encoded value must be 2 bytes long. Was 0 length
2024-07-27 22:23:53,842:DEBUG:abstractprotocol:decode@492: Processing POSITIONAL type responses
2024-07-27 22:23:53,842:DEBUG:abstractprotocol:decode@519: Got defn ['Hex2Str', 1, 'Checksum', '']
2024-07-27 22:23:53,843:DEBUG:abstractprotocol:process_response@117: Processing data_type: Hex2Str for data_name: Checksum, raw_value b''
2024-07-27 22:23:53,843:DEBUG:abstractprotocol:process_response@206: Processing format string Hex2Str(raw_value)
2024-07-27 22:23:53,843:DEBUG:protocol_helpers:Hex2Str@109: Hex b'' decoded to
2024-07-27 22:23:53,844:INFO:device:run_command@113: Decoded response {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['\x02\x10\x16 \x00\x01\x02\x00\x00Â\x01\x03\x10\x16 \x00\x01\x02\x00\x00Ï\x91\x04\x10\x16 \x00\x01\x02\x00\x00é¡\x05', ''], 'Header': ['0210', ''], 'Slave Address': ['16', ''], 'Command Code': ['20', ''], 'Total Battery Voltage': [0.01, 'V'], 'Average Cell Voltage': [0.512, 'V'], 'Number of Cells': [0, ''], 'Highest Cell': [194, ''], 'Lowest Cell': [1, ''], 'Charging / Discharging': ['03', ''], 'Alarm - todo': ['10', ''], 'Voltage Difference': [5.664, 'V'], 'Balance Current': [0.001, 'A'], 'Balance Trigger Voltage': [0.512, 'V'], 'Max Balance Current': [0.207, 'A'], 'Balance On / Off': ['91', ''], 'Set Number of Cells': [4, ''], 'Voltage Cell01': [4.118, 'V'], 'Voltage Cell02': [8.192, 'V'], 'Voltage Cell03': [0.258, 'V'], 'Voltage Cell04': [0.0, 'V'], 'Voltage Cell05': [-5.727, 'V'], 'Voltage Cell06': [0.0, 'V'], 'Voltage Cell07': [0.0, 'V'], 'Voltage Cell08': [0.0, 'V'], 'Voltage Cell09': [0.0, 'V'], 'Voltage Cell10': [0.0, 'V'], 'Voltage Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0, 'V'], 'Voltage Cell13': [0.0, 'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage Cell15': [0.0, 'V'], 'Voltage Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0, 'V'], 'Voltage Cell18': [0.0, 'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage Cell20': [0.0, 'V'], 'Voltage Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0, 'V'], 'Voltage Cell23': [0.0, 'V'], 'Voltage Cell24': [0.0, 'V'], 'Temperature': [0, '°C'], 'Checksum': ['', '']}
2024-07-27 22:23:53,844:DEBUG:init:main@421: results: {'_command': 'getBalancerData', '_command_description': 'Get Balancer Data', 'raw_response': ['\x02\x10\x16 \x00\x01\x02\x00\x00Â\x01\x03\x10\x16 \x00\x01\x02\x00\x00Ï\x91\x04\x10\x16 \x00\x01\x02\x00\x00é¡\x05', ''], 'Header': ['0210', ''], 'Slave Address': ['16', ''], 'Command Code': ['20', ''], 'Total Battery Voltage': [0.01, 'V'], 'Average Cell Voltage': [0.512, 'V'], 'Number of Cells': [0, ''], 'Highest Cell': [194, ''], 'Lowest Cell': [1, ''], 'Charging / Discharging': ['03', ''], 'Alarm - todo': ['10', ''], 'Voltage Difference': [5.664, 'V'], 'Balance Current': [0.001, 'A'], 'Balance Trigger Voltage': [0.512, 'V'], 'Max Balance Current': [0.207, 'A'], 'Balance On / Off': ['91', ''], 'Set Number of Cells': [4, ''], 'Voltage Cell01': [4.118, 'V'], 'Voltage Cell02': [8.192, 'V'], 'Voltage Cell03': [0.258, 'V'], 'Voltage Cell04': [0.0, 'V'], 'Voltage Cell05': [-5.727, 'V'], 'Voltage Cell06': [0.0, 'V'], 'Voltage Cell07': [0.0, 'V'], 'Voltage Cell08': [0.0, 'V'], 'Voltage Cell09': [0.0, 'V'], 'Voltage Cell10': [0.0, 'V'], 'Voltage Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0, 'V'], 'Voltage Cell13': [0.0, 'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage Cell15': [0.0, 'V'], 'Voltage Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0, 'V'], 'Voltage Cell18': [0.0, 'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage Cell20': [0.0, 'V'], 'Voltage Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0, 'V'], 'Voltage Cell23': [0.0, 'V'], 'Voltage Cell24': [0.0, 'V'], 'Temperature': [0, '°C'], 'Checksum': ['', '']}
2024-07-27 22:23:53,845:INFO:init:get_output@40: attempting to create output processor: screen
2024-07-27 22:23:53,847:DEBUG:screen:init@15: processor.screen init kwargs {}
2024-07-27 22:23:53,848:DEBUG:init:main@427: Using output filter: None
2024-07-27 22:23:53,848:INFO:screen:output@21: Using output processor: screen
2024-07-27 22:23:53,849:DEBUG:screen:output@22: kwargs {'data': {'_command': 'getBalancerData', 'command_description': 'Get Balancer Data', 'raw_response': ['\x02\x10\x16 \x00\x01\x02\x00\x00Â\x01\x03\x10\x16 \x00\x01\x02\x00\x00Ï\x91\x04\x10\x16 \x00\x01\x02\x00\x00é¡\x05', ''], 'Header': ['0210', ''], 'Slave Address': ['16', ''], 'Command Code': ['20', ''], 'Total Battery Voltage': [0.01, 'V'], 'Average Cell Voltage': [0.512, 'V'], 'Number of Cells': [0, ''], 'Highest Cell': [194, ''], 'Lowest Cell': [1, ''], 'Charging / Discharging': ['03', ''], 'Alarm - todo': ['10', ''], 'Voltage Difference': [5.664, 'V'], 'Balance Current': [0.001, 'A'], 'Balance Trigger Voltage': [0.512, 'V'], 'Max Balance Current': [0.207, 'A'], 'Balance On / Off': ['91', ''], 'Set Number of Cells': [4, ''], 'Voltage Cell01': [4.118, 'V'], 'Voltage Cell02': [8.192, 'V'], 'Voltage Cell03': [0.258, 'V'], 'Voltage Cell04': [0.0, 'V'], 'Voltage Cell05': [-5.727, 'V'], 'Voltage Cell06': [0.0, 'V'], 'Voltage Cell07': [0.0, 'V'], 'Voltage Cell08': [0.0, 'V'], 'Voltage Cell09': [0.0, 'V'], 'Voltage Cell10': [0.0, 'V'], 'Voltage Cell11': [0.0, 'V'], 'Voltage Cell12': [0.0, 'V'], 'Voltage Cell13': [0.0, 'V'], 'Voltage Cell14': [0.0, 'V'], 'Voltage Cell15': [0.0, 'V'], 'Voltage Cell16': [0.0, 'V'], 'Voltage Cell17': [0.0, 'V'], 'Voltage Cell18': [0.0, 'V'], 'Voltage Cell19': [0.0, 'V'], 'Voltage Cell20': [0.0, 'V'], 'Voltage Cell21': [0.0, 'V'], 'Voltage Cell22': [0.0, 'V'], 'Voltage Cell23': [0.0, 'V'], 'Voltage Cell24': [0.0, 'V'], 'Temperature': [0, '°C'], 'Checksum': ['', '']}, 'tag': '', 'name': 'unnamed', 'mqtt_broker': <mppsolar.libs.mqttbrokerc.MqttBroker object at 0x7607bca0>, 'udp_port': '5555', 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False}
2024-07-27 22:23:53,850:DEBUG:screen:output@74: displayData: {'header': ['0210', ''], 'slave_address': ['16', ''], 'command_code': ['20', ''], 'total_battery_voltage': [0.01, 'V'], 'average_cell_voltage': [0.512, 'V'], 'number_of_cells': [0, ''], 'highest_cell': [194, ''], 'lowest_cell': [1, ''], 'charging/discharging': ['03', ''], 'alarm-todo': ['10', ''], 'voltage_difference': [5.664, 'V'], 'balance_current': [0.001, 'A'], 'balance_trigger_voltage': [0.512, 'V'], 'max_balance_current': [0.207, 'A'], 'balance_on/_off': ['91', ''], 'set_number_of_cells': [4, ''], 'voltage_cell01': [4.118, 'V'], 'voltage_cell02': [8.192, 'V'], 'voltage_cell03': [0.258, 'V'], 'voltage_cell04': [0.0, 'V'], 'voltage_cell05': [-5.727, 'V'], 'voltage_cell06': [0.0, 'V'], 'voltage_cell07': [0.0, 'V'], 'voltage_cell08': [0.0, 'V'], 'voltage_cell09': [0.0, 'V'], 'voltage_cell10': [0.0, 'V'], 'voltage_cell11': [0.0, 'V'], 'voltage_cell12': [0.0, 'V'], 'voltage_cell13': [0.0, 'V'], 'voltage_cell14': [0.0, 'V'], 'voltage_cell15': [0.0, 'V'], 'voltage_cell16': [0.0, 'V'], 'voltage_cell17': [0.0, 'V'], 'voltage_cell18': [0.0, 'V'], 'voltage_cell19': [0.0, 'V'], 'voltage_cell20': [0.0, 'V'], 'voltage_cell21': [0.0, 'V'], 'voltage_cell22': [0.0, 'V'], 'voltage_cell23': [0.0, 'V'], 'voltage_cell24': [0.0, 'V'], 'temperature': [0, '°C'], 'checksum': ['', '']}
Command: getBalancerData - Get Balancer Data
Parameter Value Unit
header 0210
slave_address 16
command_code 20
total_battery_voltage 0.01 V
average_cell_voltage 0.512 V
number_of_cells 0
highest_cell 194
lowest_cell 1
charging_/discharging 03
alarm-todo 10
voltage_difference 5.664 V
balance_current 0.001 A
balance_trigger_voltage 0.512 V
max_balance_current 0.207 A
balance_on/_off 91
set_number_of_cells 4
voltage_cell01 4.118 V
voltage_cell02 8.192 V
voltage_cell03 0.258 V
voltage_cell04 0.0 V
voltage_cell05 -5.727 V
voltage_cell06 0.0 V
voltage_cell07 0.0 V
voltage_cell08 0.0 V
voltage_cell09 0.0 V
voltage_cell10 0.0 V
voltage_cell11 0.0 V
voltage_cell12 0.0 V
voltage_cell13 0.0 V
voltage_cell14 0.0 V
voltage_cell15 0.0 V
voltage_cell16 0.0 V
voltage_cell17 0.0 V
voltage_cell18 0.0 V
voltage_cell19 0.0 V
voltage_cell20 0.0 V
voltage_cell21 0.0 V
voltage_cell22 0.0 V
voltage_cell23 0.0 V
voltage_cell24 0.0 V
temperature 0 °C
checksum
2024-07-27 22:23:53,852:DEBUG:init:main@452: Not daemon, so not looping
ps@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics CH340 serial converter
The text was updated successfully, but these errors were encountered: