jblance/jkbms

Doesn't seem to work with device that contains both BMS and Active balancer

abidhahmed opened this issue · 13 comments

Hi,

Really nice work you've done here, was super excited to try it out!

I happen to have a different hardware variant which does both BMS + Active balancing (so the app has options to control charge/discharge/balancing etc apart from usual BMS configs). Here's how it looks like :
Capture

The model I have is JK-BD6A20S10P

Here are the values I get when I run your script (with debug option) :

pi@rpi:~/new/jkbms/jkbms $ jkbms -D -p
Query BMS via BLE
Reading config file: /etc/jkbms/jkbms.conf
Logging level: 10
DEBUG:JKBMS-BT:Config data - name: Power Wall 1, model: JK-BD6A20S10P, mac: 3c:a5:19:db:58:61, command: command, tag: Power_Wall_1, format: influx2
DEBUG:JKBMS-BT:Additional config - records: 1, maxConnectionAttempts: 3, mqttBroker: None
jkBMS Logging level: 10
DEBUG:JKBMS-BT:JKBMS instance --- name: Power Wall 1, model: JK-BD6A20S10P, mac: 3c:a5:19:db:58:61, command: command, tag: Power_Wall_1, format: influx2, records: 1, maxConnectionAttempts: 3, mqttBroker: None
Delegate JKBMS instance --- name: Power Wall 1, model: JK-BD6A20S10P, mac: 3c:a5:19:db:58:61, command: command, tag: Power_Wall_1, format: influx2, records: 1, maxConnectionAttempts: 3, mqttBroker: None
INFO:JKBMS-BT:Attempting to connect to Power Wall 1
INFO:JKBMS-BT:Connected to b'Nothing JK1\x00'
INFO:JKBMS-BT:Read characteristic: Characteristic <ffe3>, handle 10
INFO:JKBMS-BT:Enable 0x0b handle
INFO:JKBMS-BT:Enable read handle
INFO:JKBMS-BT:Write getInfo to read handle
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
INFO:JKBMS-BT:Processing info record
INFO:JKBMS-BT:Record number: 87
INFO:JKBMS-BT:VendorID: JK-BD6A20S10P
{'VendorID': 'JK-BD6A20S10P'}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Device Name: Nothing JK1
{'DeviceName': 'Nothing JK1'}:influx2:None:Power_Wall_1
DEBUG:JKBMS-BT:Pass Code: 1234
INFO:JKBMS-BT:Hardware Version: 4.0
{'HardwareVersion': '4.0'}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Software Version: 4.1.7
{'SoftwareVersion': '4.1.7'}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Uptime: 19D18H20M0S
{'Uptime': '19D18H20M0S'}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Power Up Times: 4
{'Power Up Times: 4'}:influx2:None:Power_Wall_1
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
INFO:JKBMS-BT:notificationData has ACK
INFO:JKBMS-BT:Write getCellInfo to read handle
INFO:JKBMS-BT:Grabbing 1 records (after inital response)
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
INFO:JKBMS-BT:Processing extended record
INFO:JKBMS-BT:Record number: 87
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
INFO:JKBMS-BT:notificationData has ACK
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
DEBUG:JKBMS-BT:From handle: 0x0a Got 20 bytes of data
INFO:JKBMS-BT:Processing cell data record
INFO:JKBMS-BT:Record length 300
INFO:JKBMS-BT:Record number: 87
DEBUG:JKBMS-BT:Volts: [bytearray(b'\x00\r\x00\r'), bytearray(b'\xf6\x0c\x01\r'), bytearray(b'\x01\r\xfb\x0c'), bytearray(b'\xf9\x0c\xf9\x0c'), bytearray(b'\xfb\x0c\xfb\x0c'), bytearray(b'\xfe\x0c\xfb\x0c'), bytearray(b'\xfe\x0c\xf9\x0c'), bytearray(b'\xf9\x0c\xfe\x0c'), bytearray(b'\x00\x00\x00\x00'), bytearray(b'\x00\x00\x00\x00'), bytearray(b'\x00\x00\x00\x00'), bytearray(b'\x00\x00\x00\x00'), bytearray(b'\xff\xff\x00\x00'), bytearray(b'\xfc\x0c\x0b\x00'), bytearray(b'\x03\x02\x9b\x00'), bytearray(b'\xc6\x00\xa0\x00'), bytearray(b'\xb3\x00\xbc\x00'), bytearray(b'\xcc\x00\xbe\x00'), bytearray(b'\xb1\x00\xb4\x00'), bytearray(b'-\x01=\x01'), bytearray(b'\xb0\x00\xa1\x00'), bytearray(b'\xab\x00\xb2\x00'), bytearray(b'\xad\x00\x00\x00'), bytearray(b'\x00\x00\x00\x00')]
INFO:JKBMS-BT:After position 3: 3.944304526105059e-31
INFO:JKBMS-BT:After position 2: 3.944304526105059e-31
INFO:JKBMS-BT:After position 1: 3.945869344184874e-31
INFO:JKBMS-BT:After position 0: 3.945869344184874e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\x00\r\x00\r')
DEBUG:JKBMS-BT:hex(byte1): 0xd
DEBUG:JKBMS-BT:byte1Low: -51
DEBUG:JKBMS-BT:hex(byte2): 0x0
DEBUG:JKBMS-BT:byte2High: 0
DEBUG:JKBMS-BT:byte2Low: 0
DEBUG:JKBMS-BT:hex(byte3): 0xd
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 13
DEBUG:JKBMS-BT:hex(byte4): 0x0
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 4.930380657631324e-32
DEBUG:JKBMS-BT:step2: 3.0814879110195774e-33
DEBUG:JKBMS-BT:step3: 1.925929944387236e-34
DEBUG:JKBMS-BT:step4: 1.2037062152420224e-35
DEBUG:JKBMS-BT:step5: 7.52316384526264e-37
DEBUG:JKBMS-BT:step6: 4.70197740328915e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\x00\r\x00\r') decoded to 3.945869344184874e-31
INFO:JKBMS-BT:Cell: 01, Volts: 0.0000
{'VoltageCell01': 3.945869344184874e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 3.944304526105059e-31
INFO:JKBMS-BT:After position 2: 3.975119405215255e-31
INFO:JKBMS-BT:After position 1: 3.976563852673545e-31
INFO:JKBMS-BT:After position 0: 3.976679521317666e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xf6\x0c\x01\r')
DEBUG:JKBMS-BT:hex(byte1): 0xd
DEBUG:JKBMS-BT:byte1Low: -51
DEBUG:JKBMS-BT:hex(byte2): 0x1
DEBUG:JKBMS-BT:byte2High: 0
DEBUG:JKBMS-BT:byte2Low: 1
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xf6
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 6
DEBUG:JKBMS-BT:step1: 4.930380657631324e-32
DEBUG:JKBMS-BT:step2: 3.0814879110195774e-33
DEBUG:JKBMS-BT:step3: 1.925929944387236e-34
DEBUG:JKBMS-BT:step4: 1.2037062152420224e-35
DEBUG:JKBMS-BT:step5: 7.52316384526264e-37
DEBUG:JKBMS-BT:step6: 4.70197740328915e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xf6\x0c\x01\r') decoded to 3.976679521317666e-31
INFO:JKBMS-BT:Cell: 02, Volts: 0.0000
{'VoltageCell02': 3.976679521317666e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.782526410776531e-31
INFO:JKBMS-BT:After position 1: 3.782917615296485e-31
INFO:JKBMS-BT:After position 0: 3.78291773284592e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\x01\r\xfb\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xfb
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 11
DEBUG:JKBMS-BT:hex(byte3): 0xd
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 13
DEBUG:JKBMS-BT:hex(byte4): 0x1
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 1
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\x01\r\xfb\x0c') decoded to 3.78291773284592e-31
INFO:JKBMS-BT:Cell: 03, Volts: 0.0000
{'VoltageCell03': 3.78291773284592e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.7671189712214333e-31
INFO:JKBMS-BT:After position 1: 3.767480083086006e-31
INFO:JKBMS-BT:After position 0: 3.7675093528953414e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xf9\x0c\xf9\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xf9
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 9
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xf9
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 9
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xf9\x0c\xf9\x0c') decoded to 3.7675093528953414e-31
INFO:JKBMS-BT:Cell: 04, Volts: 0.0000
{'VoltageCell04': 3.7675093528953414e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.782526410776531e-31
INFO:JKBMS-BT:After position 1: 3.782887522641104e-31
INFO:JKBMS-BT:After position 0: 3.7829170275493095e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xfb\x0c\xfb\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xfb
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 11
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xfb
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 11
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xfb\x0c\xfb\x0c') decoded to 3.7829170275493095e-31
INFO:JKBMS-BT:Cell: 05, Volts: 0.0000
{'VoltageCell05': 3.7829170275493095e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.782526410776531e-31
INFO:JKBMS-BT:After position 1: 3.782887522641104e-31
INFO:JKBMS-BT:After position 0: 3.7829173801976147e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xfe\x0c\xfb\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xfb
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 11
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xfe
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 14
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xfe\x0c\xfb\x0c') decoded to 3.7829173801976147e-31
INFO:JKBMS-BT:Cell: 06, Volts: 0.0000
{'VoltageCell06': 3.7829173801976147e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.7671189712214333e-31
INFO:JKBMS-BT:After position 1: 3.767480083086006e-31
INFO:JKBMS-BT:After position 0: 3.767509940642517e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xfe\x0c\xf9\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xf9
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 9
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xfe
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 14
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xfe\x0c\xf9\x0c') decoded to 3.767509940642517e-31
INFO:JKBMS-BT:Cell: 07, Volts: 0.0000
{'VoltageCell07': 3.767509940642517e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 9.860761315262648e-32
INFO:JKBMS-BT:After position 2: 3.805637570109178e-31
INFO:JKBMS-BT:After position 1: 3.8059986819737507e-31
INFO:JKBMS-BT:After position 0: 3.806027951783086e-31
DEBUG:JKBMS-BT:hexString: bytearray(b'\xf9\x0c\xfe\x0c')
DEBUG:JKBMS-BT:hex(byte1): 0xc
DEBUG:JKBMS-BT:byte1Low: -52
DEBUG:JKBMS-BT:hex(byte2): 0xfe
DEBUG:JKBMS-BT:byte2High: 15
DEBUG:JKBMS-BT:byte2Low: 14
DEBUG:JKBMS-BT:hex(byte3): 0xc
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 12
DEBUG:JKBMS-BT:hex(byte4): 0xf9
DEBUG:JKBMS-BT:byte4High: 15
DEBUG:JKBMS-BT:byte4Low: 9
DEBUG:JKBMS-BT:step1: 1.232595164407831e-32
DEBUG:JKBMS-BT:step2: 7.703719777548943e-34
DEBUG:JKBMS-BT:step3: 4.81482486096809e-35
DEBUG:JKBMS-BT:step4: 3.009265538105056e-36
DEBUG:JKBMS-BT:step5: 1.88079096131566e-37
DEBUG:JKBMS-BT:step6: 1.1754943508222875e-38
DEBUG:JKBMS-BT:Hex bytearray(b'\xf9\x0c\xfe\x0c') decoded to 3.806027951783086e-31
INFO:JKBMS-BT:Cell: 08, Volts: 0.0000
{'VoltageCell08': 3.806027951783086e-31}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 09, Volts: 0.0000
{'VoltageCell09': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 10, Volts: 0.0000
{'VoltageCell10': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 11, Volts: 0.0000
{'VoltageCell11': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 12, Volts: 0.0000
{'VoltageCell12': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 13, Volts: 0.0000
{'VoltageCell13': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 14, Volts: 0.0000
{'VoltageCell14': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 15, Volts: 0.0000
{'VoltageCell15': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 16, Volts: 0.0000
{'VoltageCell16': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 17, Volts: 0.0000
{'VoltageCell17': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 18, Volts: 0.0000
{'VoltageCell18': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 19, Volts: 0.0000
{'VoltageCell19': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 2.350988701644575e-38
INFO:JKBMS-BT:After position 2: 3.471381754772068e-38
INFO:JKBMS-BT:After position 1: 3.471453501253441e-38
INFO:JKBMS-BT:After position 0: 3.47146611293962e-38
DEBUG:JKBMS-BT:hexString: bytearray(b'-\x01=\x01')
DEBUG:JKBMS-BT:hex(byte1): 0x1
DEBUG:JKBMS-BT:byte1Low: -63
DEBUG:JKBMS-BT:hex(byte2): 0x3d
DEBUG:JKBMS-BT:byte2High: 3
DEBUG:JKBMS-BT:byte2Low: 13
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x2d
DEBUG:JKBMS-BT:byte4High: 2
DEBUG:JKBMS-BT:byte4Low: 13
DEBUG:JKBMS-BT:step1: 2.938735877055719e-39
DEBUG:JKBMS-BT:step2: 1.8367099231598242e-40
DEBUG:JKBMS-BT:step3: 1.1479437019748901e-41
DEBUG:JKBMS-BT:step4: 7.174648137343064e-43
DEBUG:JKBMS-BT:step5: 4.484155085839415e-44
DEBUG:JKBMS-BT:step6: 2.802596928649634e-45
DEBUG:JKBMS-BT:Hex bytearray(b'-\x01=\x01') decoded to 3.47146611293962e-38
INFO:JKBMS-BT:Cell: 20, Volts: 0.0000
{'VoltageCell20': 3.47146611293962e-38}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 21, Volts: 0.0000
{'VoltageCell21': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 22, Volts: 0.0000
{'VoltageCell22': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 23, Volts: 0.0000
{'VoltageCell23': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 24, Volts: 0.0000
{'VoltageCell24': 0.0}:influx2:None:Power_Wall_1
{'VoltageTotal': 3.061234859856294e-30}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Processing wire resistances
INFO:JKBMS-BT:Cell: 00, Resistance: 0.0000
{'ResistanceCell00': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 01, Resistance: 0.0000
{'ResistanceCell01': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 02, Resistance: 0.0000
{'ResistanceCell02': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 03, Resistance: 0.0000
{'ResistanceCell03': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 04, Resistance: 0.0000
{'ResistanceCell04': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 05, Resistance: 0.0000
{'ResistanceCell05': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 06, Resistance: 0.0000
{'ResistanceCell06': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 2.350988701644575e-38
INFO:JKBMS-BT:After position 2: 3.0673055716769065e-38
INFO:JKBMS-BT:After position 1: 3.06737731815828e-38
INFO:JKBMS-BT:After position 0: 3.0673907706235374e-38
DEBUG:JKBMS-BT:hexString: bytearray(b"0\x01\'\x01")
DEBUG:JKBMS-BT:hex(byte1): 0x1
DEBUG:JKBMS-BT:byte1Low: -63
DEBUG:JKBMS-BT:hex(byte2): 0x27
DEBUG:JKBMS-BT:byte2High: 2
DEBUG:JKBMS-BT:byte2Low: 7
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x30
DEBUG:JKBMS-BT:byte4High: 3
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 2.938735877055719e-39
DEBUG:JKBMS-BT:step2: 1.8367099231598242e-40
DEBUG:JKBMS-BT:step3: 1.1479437019748901e-41
DEBUG:JKBMS-BT:step4: 7.174648137343064e-43
DEBUG:JKBMS-BT:step5: 4.484155085839415e-44
DEBUG:JKBMS-BT:step6: 2.802596928649634e-45
DEBUG:JKBMS-BT:Hex bytearray(b"0\x01\'\x01") decoded to 3.0673907706235374e-38
INFO:JKBMS-BT:Cell: 07, Resistance: 0.0000
INFO:JKBMS-BT:After position 3: 2.350988701644575e-38
INFO:JKBMS-BT:After position 2: 3.0673055716769065e-38
INFO:JKBMS-BT:After position 1: 3.06737731815828e-38
INFO:JKBMS-BT:After position 0: 3.0673907706235374e-38
DEBUG:JKBMS-BT:hexString: bytearray(b"0\x01\'\x01")
DEBUG:JKBMS-BT:hex(byte1): 0x1
DEBUG:JKBMS-BT:byte1Low: -63
DEBUG:JKBMS-BT:hex(byte2): 0x27
DEBUG:JKBMS-BT:byte2High: 2
DEBUG:JKBMS-BT:byte2Low: 7
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x30
DEBUG:JKBMS-BT:byte4High: 3
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 2.938735877055719e-39
DEBUG:JKBMS-BT:step2: 1.8367099231598242e-40
DEBUG:JKBMS-BT:step3: 1.1479437019748901e-41
DEBUG:JKBMS-BT:step4: 7.174648137343064e-43
DEBUG:JKBMS-BT:step5: 4.484155085839415e-44
DEBUG:JKBMS-BT:step6: 2.802596928649634e-45
DEBUG:JKBMS-BT:Hex bytearray(b"0\x01\'\x01") decoded to 3.0673907706235374e-38
{'ResistanceCell07': 3.0673907706235374e-38}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 08, Resistance: 0.0000
{'ResistanceCell08': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 2361183241434822606848
INFO:JKBMS-BT:After position 2: 2.3611832414348226e+21
INFO:JKBMS-BT:After position 1: 2.3611832414348226e+21
INFO:JKBMS-BT:After position 0: 2.3611832414348226e+21
DEBUG:JKBMS-BT:hexString: bytearray(b'\x00\x00\x00c')
DEBUG:JKBMS-BT:hex(byte1): 0x63
DEBUG:JKBMS-BT:byte1Low: 35
DEBUG:JKBMS-BT:hex(byte2): 0x0
DEBUG:JKBMS-BT:byte2High: 0
DEBUG:JKBMS-BT:byte2Low: 0
DEBUG:JKBMS-BT:hex(byte3): 0x0
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 0
DEBUG:JKBMS-BT:hex(byte4): 0x0
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 2.9514790517935283e+20
DEBUG:JKBMS-BT:step2: 1.8446744073709552e+19
DEBUG:JKBMS-BT:step3: 1.152921504606847e+18
DEBUG:JKBMS-BT:step4: 7.205759403792794e+16
DEBUG:JKBMS-BT:step5: 4503599627370496.0
DEBUG:JKBMS-BT:step6: 281474976710656.0
DEBUG:JKBMS-BT:Hex bytearray(b'\x00\x00\x00c') decoded to 2.3611832414348226e+21
INFO:JKBMS-BT:Cell: 09, Resistance: 2361183241434822606848.0000
INFO:JKBMS-BT:After position 3: 2361183241434822606848
INFO:JKBMS-BT:After position 2: 2.3611832414348226e+21
INFO:JKBMS-BT:After position 1: 2.3611832414348226e+21
INFO:JKBMS-BT:After position 0: 2.3611832414348226e+21
DEBUG:JKBMS-BT:hexString: bytearray(b'\x00\x00\x00c')
DEBUG:JKBMS-BT:hex(byte1): 0x63
DEBUG:JKBMS-BT:byte1Low: 35
DEBUG:JKBMS-BT:hex(byte2): 0x0
DEBUG:JKBMS-BT:byte2High: 0
DEBUG:JKBMS-BT:byte2Low: 0
DEBUG:JKBMS-BT:hex(byte3): 0x0
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 0
DEBUG:JKBMS-BT:hex(byte4): 0x0
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 2.9514790517935283e+20
DEBUG:JKBMS-BT:step2: 1.8446744073709552e+19
DEBUG:JKBMS-BT:step3: 1.152921504606847e+18
DEBUG:JKBMS-BT:step4: 7.205759403792794e+16
DEBUG:JKBMS-BT:step5: 4503599627370496.0
DEBUG:JKBMS-BT:step6: 281474976710656.0
DEBUG:JKBMS-BT:Hex bytearray(b'\x00\x00\x00c') decoded to 2.3611832414348226e+21
{'ResistanceCell09': 2.3611832414348226e+21}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 10, Resistance: 0.0000
{'ResistanceCell10': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 11, Resistance: 0.0000
{'ResistanceCell11': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 12, Resistance: 0.0000
{'ResistanceCell12': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 13, Resistance: 0.0000
{'ResistanceCell13': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 14, Resistance: 0.0000
{'ResistanceCell14': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 15, Resistance: 0.0000
{'ResistanceCell15': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 6.162975822039155e-33
INFO:JKBMS-BT:After position 2: 9.533353224716817e-33
INFO:JKBMS-BT:After position 1: 9.533541303812949e-33
INFO:JKBMS-BT:After position 0: 9.533542038496918e-33
DEBUG:JKBMS-BT:hexString: bytearray(b'\x01\x01F\n')
DEBUG:JKBMS-BT:hex(byte1): 0xa
DEBUG:JKBMS-BT:byte1Low: -54
DEBUG:JKBMS-BT:hex(byte2): 0x46
DEBUG:JKBMS-BT:byte2High: 4
DEBUG:JKBMS-BT:byte2Low: 6
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x1
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 1
DEBUG:JKBMS-BT:step1: 7.703719777548943e-34
DEBUG:JKBMS-BT:step2: 4.81482486096809e-35
DEBUG:JKBMS-BT:step3: 3.009265538105056e-36
DEBUG:JKBMS-BT:step4: 1.88079096131566e-37
DEBUG:JKBMS-BT:step5: 1.1754943508222875e-38
DEBUG:JKBMS-BT:step6: 7.346839692639297e-40
DEBUG:JKBMS-BT:Hex bytearray(b'\x01\x01F\n') decoded to 9.533542038496918e-33
INFO:JKBMS-BT:Cell: 16, Resistance: 0.0000
INFO:JKBMS-BT:After position 3: 6.162975822039155e-33
INFO:JKBMS-BT:After position 2: 9.533353224716817e-33
INFO:JKBMS-BT:After position 1: 9.533541303812949e-33
INFO:JKBMS-BT:After position 0: 9.533542038496918e-33
DEBUG:JKBMS-BT:hexString: bytearray(b'\x01\x01F\n')
DEBUG:JKBMS-BT:hex(byte1): 0xa
DEBUG:JKBMS-BT:byte1Low: -54
DEBUG:JKBMS-BT:hex(byte2): 0x46
DEBUG:JKBMS-BT:byte2High: 4
DEBUG:JKBMS-BT:byte2Low: 6
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x1
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 1
DEBUG:JKBMS-BT:step1: 7.703719777548943e-34
DEBUG:JKBMS-BT:step2: 4.81482486096809e-35
DEBUG:JKBMS-BT:step3: 3.009265538105056e-36
DEBUG:JKBMS-BT:step4: 1.88079096131566e-37
DEBUG:JKBMS-BT:step5: 1.1754943508222875e-38
DEBUG:JKBMS-BT:step6: 7.346839692639297e-40
DEBUG:JKBMS-BT:Hex bytearray(b'\x01\x01F\n') decoded to 9.533542038496918e-33
{'ResistanceCell16': 9.533542038496918e-33}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 17, Resistance: 0.0000
{'ResistanceCell17': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 18, Resistance: 0.0000
{'ResistanceCell18': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 19, Resistance: 0.0000
{'ResistanceCell19': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 20, Resistance: 0.0000
{'ResistanceCell20': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 1.504632769052528e-36
INFO:JKBMS-BT:After position 2: 3.479463278433971e-36
INFO:JKBMS-BT:After position 1: 3.479463278433971e-36
INFO:JKBMS-BT:After position 0: 3.479463278433971e-36
DEBUG:JKBMS-BT:hexString: bytearray(b'\x00\x00\x98\x04')
DEBUG:JKBMS-BT:hex(byte1): 0x4
DEBUG:JKBMS-BT:byte1Low: -60
DEBUG:JKBMS-BT:hex(byte2): 0x98
DEBUG:JKBMS-BT:byte2High: 9
DEBUG:JKBMS-BT:byte2Low: 8
DEBUG:JKBMS-BT:hex(byte3): 0x0
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 0
DEBUG:JKBMS-BT:hex(byte4): 0x0
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 1.88079096131566e-37
DEBUG:JKBMS-BT:step2: 1.1754943508222875e-38
DEBUG:JKBMS-BT:step3: 7.346839692639297e-40
DEBUG:JKBMS-BT:step4: 4.591774807899561e-41
DEBUG:JKBMS-BT:step5: 2.8698592549372254e-42
DEBUG:JKBMS-BT:step6: 1.793662034335766e-43
DEBUG:JKBMS-BT:Hex bytearray(b'\x00\x00\x98\x04') decoded to 3.479463278433971e-36
INFO:JKBMS-BT:Cell: 21, Resistance: 0.0000
INFO:JKBMS-BT:After position 3: 1.504632769052528e-36
INFO:JKBMS-BT:After position 2: 3.479463278433971e-36
INFO:JKBMS-BT:After position 1: 3.479463278433971e-36
INFO:JKBMS-BT:After position 0: 3.479463278433971e-36
DEBUG:JKBMS-BT:hexString: bytearray(b'\x00\x00\x98\x04')
DEBUG:JKBMS-BT:hex(byte1): 0x4
DEBUG:JKBMS-BT:byte1Low: -60
DEBUG:JKBMS-BT:hex(byte2): 0x98
DEBUG:JKBMS-BT:byte2High: 9
DEBUG:JKBMS-BT:byte2Low: 8
DEBUG:JKBMS-BT:hex(byte3): 0x0
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 0
DEBUG:JKBMS-BT:hex(byte4): 0x0
DEBUG:JKBMS-BT:byte4High: 0
DEBUG:JKBMS-BT:byte4Low: 0
DEBUG:JKBMS-BT:step1: 1.88079096131566e-37
DEBUG:JKBMS-BT:step2: 1.1754943508222875e-38
DEBUG:JKBMS-BT:step3: 7.346839692639297e-40
DEBUG:JKBMS-BT:step4: 4.591774807899561e-41
DEBUG:JKBMS-BT:step5: 2.8698592549372254e-42
DEBUG:JKBMS-BT:step6: 1.793662034335766e-43
DEBUG:JKBMS-BT:Hex bytearray(b'\x00\x00\x98\x04') decoded to 3.479463278433971e-36
{'ResistanceCell21': 3.479463278433971e-36}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 22, Resistance: 0.0000
{'ResistanceCell22': 0.0}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:After position 3: 2
INFO:JKBMS-BT:After position 2: 3.015625
INFO:JKBMS-BT:After position 1: 3.01568603515625
INFO:JKBMS-BT:After position 0: 3.015695095062256
DEBUG:JKBMS-BT:hexString: bytearray(b'&\x01A@')
DEBUG:JKBMS-BT:hex(byte1): 0x40
DEBUG:JKBMS-BT:byte1Low: 0
DEBUG:JKBMS-BT:hex(byte2): 0x41
DEBUG:JKBMS-BT:byte2High: 4
DEBUG:JKBMS-BT:byte2Low: 1
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x26
DEBUG:JKBMS-BT:byte4High: 2
DEBUG:JKBMS-BT:byte4Low: 6
DEBUG:JKBMS-BT:step1: 0.25
DEBUG:JKBMS-BT:step2: 0.015625
DEBUG:JKBMS-BT:step3: 0.0009765625
DEBUG:JKBMS-BT:step4: 6.103515625e-05
DEBUG:JKBMS-BT:step5: 3.814697265625e-06
DEBUG:JKBMS-BT:step6: 2.384185791015625e-07
DEBUG:JKBMS-BT:Hex bytearray(b'&\x01A@') decoded to 3.015695095062256
INFO:JKBMS-BT:Cell: 23, Resistance: 3.0157
INFO:JKBMS-BT:After position 3: 2
INFO:JKBMS-BT:After position 2: 3.015625
INFO:JKBMS-BT:After position 1: 3.01568603515625
INFO:JKBMS-BT:After position 0: 3.015695095062256
DEBUG:JKBMS-BT:hexString: bytearray(b'&\x01A@')
DEBUG:JKBMS-BT:hex(byte1): 0x40
DEBUG:JKBMS-BT:byte1Low: 0
DEBUG:JKBMS-BT:hex(byte2): 0x41
DEBUG:JKBMS-BT:byte2High: 4
DEBUG:JKBMS-BT:byte2Low: 1
DEBUG:JKBMS-BT:hex(byte3): 0x1
DEBUG:JKBMS-BT:byte3High: 0
DEBUG:JKBMS-BT:byte3Low: 1
DEBUG:JKBMS-BT:hex(byte4): 0x26
DEBUG:JKBMS-BT:byte4High: 2
DEBUG:JKBMS-BT:byte4Low: 6
DEBUG:JKBMS-BT:step1: 0.25
DEBUG:JKBMS-BT:step2: 0.015625
DEBUG:JKBMS-BT:step3: 0.0009765625
DEBUG:JKBMS-BT:step4: 6.103515625e-05
DEBUG:JKBMS-BT:step5: 3.814697265625e-06
DEBUG:JKBMS-BT:step6: 2.384185791015625e-07
DEBUG:JKBMS-BT:Hex bytearray(b'&\x01A@') decoded to 3.015695095062256
{'ResistanceCell23': 3.015695095062256}:influx2:None:Power_Wall_1
INFO:JKBMS-BT:Cell: 24, Resistance: 0.0000
{'ResistanceCell24': 0.0}:influx2:None:Power_Wall_1
Got 1 records
INFO:JKBMS-BT:Disconnecting...

As you can tell, the values are highly inaccurate / wrong. I tried to debug but can't quite grasp how the binary conversion happens because the data from my hardware appears to be a bit different. It does work with the initial stuff (i.e passcode / device name, etc)

Here's some wireshark capture as well : (make sure to set your filter to btl2cap.cid == 0x0004 so there's no additional unwanted noise)
initial-connect.zip

I also tried playing around with the toggle with actions that disable/enable charger FET / balancing etc but the write values appear to be completely different each time, but want to solve the main problem of accessing cell voltages first 😅

Would love to hear more feedback on how I can get it to work with my device, thanks a lot for your hard work!

Hi,

Thanks, the apk appears like the same one used for the Active balancer as well - here's a link from where I got mine :
https://www.pgyer.com/Cfq3

I think i have worked out the voltage decode process - it is indeed different to the other device I had access to.

I am integrating all this into mpp-solar code, as i have refactored that to allow different protocols to be supported easily

I dont have a device to test the JKBMS working at the moment - if you are keen to help / get progress you can try installing the mpp-solar and testing with a command like mpp-solar -p <mac address of ble device> -P JK04 -c getInfo -D and posting the output (I havent implemented the new decode yet, but it will easy once i get the rest working again with the flexible mpp-solar code)

Note you will need bluepy installed

sudo apt-get install libglib2.0-dev
pip install pluepy

actually got first pass at the new decode (which should suit you), so if you get mpp-solar version 0.7.8 or later and try

mpp-solar -p <mac address of ble device> -P JK02 -c getCellData -D

Thanks a lot for your help! Just tried this with mpp-solar latest version (via venv) - I'm getting this error :

NameError: name 'getInfo' is not defined

Full console output:

(mppsolar) pi@raspberrypi:~/venv/mppsolar/src/mpp-solar $ mpp-solar -p 3C:A5:19:DB:58:61 -P JK02 -c getCellData -D
INFO:MPP-Solar:MPP Solar Command Utility, version: 0.7.8, Refactored version - not backwards compatible, add jkbms (02 and 04) support
INFO:MPP-Solar:Creating device "unnamed" (type: "mppsolar") on port "3C:A5:19:DB:58:61" using protocol "JK02" for command "getCellData" (tag: getCellData)
DEBUG:MPP-Solar:device_class <class 'mppsolar.devices.mppsolar.mppsolar'>
INFO:MPP-Solar:Using jkbleio for communications
DEBUG:MPP-Solar:device.set_protocol with protocol JK02
DEBUG:MPP-Solar:mppsolar __init__ name unnamed, port <mppsolar.io.jkbleio.JkBleIO object at 0xb5fe3eb0>, protocol <mppsolar.protocols.jk02.jk02 object at 0xb5fe3dd0>
DEBUG:MPP-Solar:mppsolar __init__ args ()
DEBUG:MPP-Solar:mppsolar __init__ kwargs {'name': 'unnamed', 'port': '3C:A5:19:DB:58:61', 'protocol': 'JK02'}
INFO:MPP-Solar:Running command getCellData
INFO:MPP-Solar:Using protocol b'JK02' with 2 commands
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
DEBUG:MPP-Solar:cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with command code: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with crc: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10')
INFO:MPP-Solar:full command bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10') for command getCellData
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
INFO:MPP-Solar:Attempting to connect to 3C:A5:19:DB:58:61
INFO:MPP-Solar:Connected to b'Nothing JK1\x00'
INFO:MPP-Solar:Read characteristic: Characteristic <ffe3>, handle 10
INFO:MPP-Solar:Enable 0x0b handle
INFO:MPP-Solar:Enable read handle
Traceback (most recent call last):
  File "/home/pi/venv/mppsolar/bin/mpp-solar", line 11, in <module>
    load_entry_point('mpp-solar', 'console_scripts', 'mpp-solar')()
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/__init__.py", line 330, in main
    results = device.run_command(command=args.command, show_raw=args.showraw)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/devices/mppsolar.py", line 45, in run_command
    response = self._port.send_and_receive(command, show_raw, self._protocol)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/io/jkbleio.py", line 32, in send_and_receive
    response = self.ble_get_data(full_command)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/io/jkbleio.py", line 102, in ble_get_data
    "Write getInfo to read handle", self._device.writeCharacteristic(handleRead, getInfo)
NameError: name 'getInfo' is not defined

Thats a bug - problem with not having my device available to test.
I've made a change to hopefully address this problem (just note I'm making the changes on my phone while away so no guarantees :-)

Thanks @jblance -- really appreciate all your help! I've tried again and ran into this issue :

Traceback (most recent call last):
  File "/home/pi/venv/mppsolar/bin/mpp-solar", line 11, in <module>
    load_entry_point('mpp-solar', 'console_scripts', 'mpp-solar')()
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/__init__.py", line 330, in main
    results = device.run_command(command=args.command, show_raw=args.showraw)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/devices/mppsolar.py", line 45, in run_command
    response = self._port.send_and_receive(command, show_raw, self._protocol)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/io/jkbleio.py", line 32, in send_and_receive
    response = self.ble_get_data(full_command)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/io/jkbleio.py", line 128, in ble_get_data
    if self._device.waitForNotifications(1.0):
  File "/home/pi/venv/mppsolar/lib/python3.7/site-packages/bluepy/btle.py", line 560, in waitForNotifications
    resp = self._getResp(['ntfy','ind'], timeout)
  File "/home/pi/venv/mppsolar/lib/python3.7/site-packages/bluepy/btle.py", line 416, in _getResp
    self.delegate.handleNotification(hnd, data)
  File "/home/pi/venv/mppsolar/src/mpp-solar/mppsolar/io/jkbledelegate.py", line 31, in handleNotification
    if is_record_complete(self.notificationData):
NameError: name 'is_record_complete' is not defined

Fixed it by making this change:
https://github.com/jblance/mpp-solar/blob/master/mppsolar/io/jkbledelegate.py#L31

if is_record_complete(self.notificationData):

to

if self._protocol.is_record_complete(self.notificationData):

Now when the program runs, I get lots of cool output but looks like they're decoded inaccurately still:

(mppsolar) pi@raspberrypi:~/venv/mppsolar/src/mpp-solar/mppsolar/io $ mpp-solar -p 3C:A5:19:DB:58:61 -P JK02 -c getCellData -D
INFO:MPP-Solar:MPP Solar Command Utility, version: 0.7.8, Refactored version - not backwards compatible, add jkbms (02 and 04) support
INFO:MPP-Solar:Creating device "unnamed" (type: "mppsolar") on port "3C:A5:19:DB:58:61" using protocol "JK02" for command "getCellData" (tag: getCellData)
DEBUG:MPP-Solar:device_class <class 'mppsolar.devices.mppsolar.mppsolar'>
INFO:MPP-Solar:Using jkbleio for communications
DEBUG:MPP-Solar:device.set_protocol with protocol JK02
DEBUG:MPP-Solar:mppsolar __init__ name unnamed, port <mppsolar.io.jkbleio.JkBleIO object at 0xb5f28fd0>, protocol <mppsolar.protocols.jk02.jk02 object at 0xb5f28d90>
DEBUG:MPP-Solar:mppsolar __init__ args ()
DEBUG:MPP-Solar:mppsolar __init__ kwargs {'name': 'unnamed', 'port': '3C:A5:19:DB:58:61', 'protocol': 'JK02'}
INFO:MPP-Solar:Running command getCellData
INFO:MPP-Solar:Using protocol b'JK02' with 2 commands
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
DEBUG:MPP-Solar:cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with command code: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with crc: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10')
INFO:MPP-Solar:full command bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10') for command getCellData
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
INFO:MPP-Solar:Attempting to connect to 3C:A5:19:DB:58:61
INFO:MPP-Solar:Connected to b'Nothing JK1\x00'
INFO:MPP-Solar:Read characteristic: Characteristic <ffe3>, handle 10
INFO:MPP-Solar:Enable 0x0b handle
INFO:MPP-Solar:Enable read handle
INFO:MPP-Solar:Write command to read handle
INFO:MPP-Solar:Grabbing 1 records (after inital response)
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:Record CRC is valid
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:Not valid start of record - wiping data bytearray(b'\xaaU\x90\xeb\xc8\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D')
ERROR:MPP-Solar:No SOR found in record looking for completeness
Got 1 records
DEBUG:MPP-Solar:Record now bytearray(b"U\xaa\xeb\x90\x01&X\x02\x00\x00(\n\x00\x00\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xaf\x00\x00\x1e\x00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\x00<\x00\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x008\xff\xff\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xdc\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5")
INFO:MPP-Solar:Disconnecting BLE Device...
DEBUG:MPP-Solar:Raw response bytearray(b"U\xaa\xeb\x90\x01&X\x02\x00\x00(\n\x00\x00\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xaf\x00\x00\x1e\x00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\x00<\x00\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x008\xff\xff\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xdc\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5")
INFO:MPP-Solar:response passed to decode: bytearray(b"U\xaa\xeb\x90\x01&X\x02\x00\x00(\n\x00\x00\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xaf\x00\x00\x1e\x00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\x00<\x00\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x008\xff\xff\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xdc\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5")
DEBUG:MPP-Solar:Length of responses 300
DEBUG:MPP-Solar:Processing defn ['hex', 4, 'Header', '']
DEBUG:MPP-Solar:hex defn
DEBUG:MPP-Solar:Processing defn ['hex', 1, 'Record Type', '']
DEBUG:MPP-Solar:hex defn
DEBUG:MPP-Solar:Processing defn ['int', 1, 'Record Counter', '']
DEBUG:MPP-Solar:int defn
DEBUG:MPP-Solar:Processing defn ['loop', 24, 'Voltage Cell', 'V', '2ByteHex']
DEBUG:MPP-Solar:loop defn
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'(\n')
DEBUG:MPP-Solar:answer after pos1 0.032
DEBUG:MPP-Solar:answer after pos2 0.04
DEBUG:MPP-Solar:answer after pos3 0.04
DEBUG:MPP-Solar:answer after pos4 2.6
INFO:MPP-Solar:Hex bytearray(b'(\n') 2 byte decoded to 2.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xb8\x0b')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.184
DEBUG:MPP-Solar:answer after pos3 0.184
DEBUG:MPP-Solar:answer after pos4 3.0
INFO:MPP-Solar:Hex bytearray(b'\xb8\x0b') 2 byte decoded to 3.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x10\x0e')
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.016
DEBUG:MPP-Solar:answer after pos3 0.016
DEBUG:MPP-Solar:answer after pos4 3.6
INFO:MPP-Solar:Hex bytearray(b'\x10\x0e') 2 byte decoded to 3.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'H\r')
DEBUG:MPP-Solar:answer after pos1 0.064
DEBUG:MPP-Solar:answer after pos2 0.07200000000000001
DEBUG:MPP-Solar:answer after pos3 0.07200000000000001
DEBUG:MPP-Solar:answer after pos4 3.4000000000000004
INFO:MPP-Solar:Hex bytearray(b'H\r') 2 byte decoded to 3.4000000000000004
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x0f\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.015
DEBUG:MPP-Solar:answer after pos3 0.015
DEBUG:MPP-Solar:answer after pos4 0.015
INFO:MPP-Solar:Hex bytearray(b'\x0f\x00') 2 byte decoded to 0.015
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xc4\t')
DEBUG:MPP-Solar:answer after pos1 0.192
DEBUG:MPP-Solar:answer after pos2 0.196
DEBUG:MPP-Solar:answer after pos3 0.196
DEBUG:MPP-Solar:answer after pos4 2.5000000000000004
INFO:MPP-Solar:Hex bytearray(b'\xc4\t') 2 byte decoded to 2.5000000000000004
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xc8\xaf')
DEBUG:MPP-Solar:answer after pos1 0.192
DEBUG:MPP-Solar:answer after pos2 0.2
DEBUG:MPP-Solar:answer after pos3 41.160000000000004
DEBUG:MPP-Solar:answer after pos4 45.0
INFO:MPP-Solar:Hex bytearray(b'\xc8\xaf') 2 byte decoded to 45.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard1', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x1e\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Average Cell Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Delta Cell Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown1', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\xa0\x86')
DEBUG:MPP-Solar:answer after pos1 0.16
DEBUG:MPP-Solar:answer after pos2 0.16
DEBUG:MPP-Solar:answer after pos3 32.928
DEBUG:MPP-Solar:answer after pos4 34.464
INFO:MPP-Solar:Hex bytearray(b'\xa0\x86') 2 byte decoded to 34.464
DEBUG:MPP-Solar:Processing defn ['loop', 25, 'Resistance Cell', 'Ohm', '2ByteHex']
DEBUG:MPP-Solar:loop defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x01\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.001
DEBUG:MPP-Solar:answer after pos3 0.001
DEBUG:MPP-Solar:answer after pos4 0.001
INFO:MPP-Solar:Hex bytearray(b'\x01\x00') 2 byte decoded to 0.001
DEBUG:MPP-Solar:hexString: bytearray(b'\x1e\x00')
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.03
DEBUG:MPP-Solar:answer after pos3 0.03
DEBUG:MPP-Solar:answer after pos4 0.03
INFO:MPP-Solar:Hex bytearray(b'\x1e\x00') 2 byte decoded to 0.03
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'8\xff')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.056
DEBUG:MPP-Solar:answer after pos3 61.495999999999995
DEBUG:MPP-Solar:answer after pos4 65.336
INFO:MPP-Solar:Hex bytearray(b'8\xff') 2 byte decoded to 65.336
DEBUG:MPP-Solar:hexString: bytearray(b'\xff\xff')
DEBUG:MPP-Solar:answer after pos1 0.24
DEBUG:MPP-Solar:answer after pos2 0.255
DEBUG:MPP-Solar:answer after pos3 61.695
DEBUG:MPP-Solar:answer after pos4 65.535
INFO:MPP-Solar:Hex bytearray(b'\xff\xff') 2 byte decoded to 65.535
DEBUG:MPP-Solar:hexString: bytearray(b'\x9c\xff')
DEBUG:MPP-Solar:answer after pos1 0.14400000000000002
DEBUG:MPP-Solar:answer after pos2 0.15600000000000003
DEBUG:MPP-Solar:answer after pos3 61.596
DEBUG:MPP-Solar:answer after pos4 65.43599999999999
INFO:MPP-Solar:Hex bytearray(b'\x9c\xff') 2 byte decoded to 65.43599999999999
DEBUG:MPP-Solar:hexString: bytearray(b'\xff\xff')
DEBUG:MPP-Solar:answer after pos1 0.24
DEBUG:MPP-Solar:answer after pos2 0.255
DEBUG:MPP-Solar:answer after pos3 61.695
DEBUG:MPP-Solar:answer after pos4 65.535
INFO:MPP-Solar:Hex bytearray(b'\xff\xff') 2 byte decoded to 65.535
DEBUG:MPP-Solar:hexString: bytearray(b'\x84\x03')
DEBUG:MPP-Solar:answer after pos1 0.128
DEBUG:MPP-Solar:answer after pos2 0.132
DEBUG:MPP-Solar:answer after pos3 0.132
DEBUG:MPP-Solar:answer after pos4 0.9
INFO:MPP-Solar:Hex bytearray(b'\x84\x03') 2 byte decoded to 0.9
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard2', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x10\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Battery Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x01\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.001
DEBUG:MPP-Solar:answer after pos3 0.001
DEBUG:MPP-Solar:answer after pos4 0.001
INFO:MPP-Solar:Hex bytearray(b'\x01\x00') 2 byte decoded to 0.001
DEBUG:MPP-Solar:Processing defn ['discard', 10, 'discard3', '']
DEBUG:MPP-Solar:Discarding 10 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'Battery T1', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b'@\r')
DEBUG:MPP-Solar:answer after pos1 0.064
DEBUG:MPP-Solar:answer after pos2 0.064
DEBUG:MPP-Solar:answer after pos3 0.064
DEBUG:MPP-Solar:answer after pos4 3.3920000000000003
INFO:MPP-Solar:Hex bytearray(b'@\r') 2 byte decoded to 3.3920000000000003
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'Battery T2', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x03\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.003
DEBUG:MPP-Solar:answer after pos3 0.003
DEBUG:MPP-Solar:answer after pos4 0.003
INFO:MPP-Solar:Hex bytearray(b'\x03\x00') 2 byte decoded to 0.003
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'MOS Temp', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b"\x10\'")
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.016
DEBUG:MPP-Solar:answer after pos3 8.208
DEBUG:MPP-Solar:answer after pos4 10.0
INFO:MPP-Solar:Hex bytearray(b"\x10\'") 2 byte decoded to 10.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard4', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\xdc\x05')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown5', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown6', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown7', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown8', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown9', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard5', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown10', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown11', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown12', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown13', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['uptime', 3, 'Time', '']
DEBUG:MPP-Solar:uptime defn
DEBUG:MPP-Solar:Uptime int value 0 for pos 0
DEBUG:MPP-Solar:Uptime int value 0 for pos 1
DEBUG:MPP-Solar:Uptime int value 0 for pos 2
INFO:MPP-Solar:Uptime result 0D0H0M0S
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown15', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown16', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown17', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 12, 'discard6', '']
DEBUG:MPP-Solar:Discarding 12 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown18', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown19', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown20', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown21', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown22', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown23', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown24', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown25', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown26', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown27', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown28', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown29', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['rem']
DEBUG:MPP-Solar:remainder
DEBUG:MPP-Solar:Decoded response {'Header': ['55aaeb90', ''], 'Record Type': ['01', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000', 'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Voltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'], 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000', 'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'discard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', 'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', 'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', 'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', 'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', 'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', 'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', 'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', 'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360', 'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["bytearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], 'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unknown8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytearray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unknown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00 00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unknown25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xe5')", ''], 'len remainder': [93, '']}
INFO:MPP-Solar:Decoded response {'Header': ['55aaeb90', ''], 'Record Type': ['01', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000', 'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Voltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'], 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000', 'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'discard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', 'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', 'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', 'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', 'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', 'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', 'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', 'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', 'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360', 'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["bytearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], 'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unknown8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytearray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unknown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00 00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unknown25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getCellData', '_command_description': 'BLE Cell Data inquiry'}
DEBUG:MPP-Solar:Send and Receive Response {'Header': ['55aaeb90', ''], 'Record Type': ['01', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000', 'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Voltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'], 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000', 'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'discard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', 'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', 'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', 'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', 'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', 'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', 'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', 'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', 'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360', 'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["bytearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], 'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unknown8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytearray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unknown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00 00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unknown25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getCellData', '_command_description': 'BLE Cell Data inquiry'}
DEBUG:MPP-Solar:results: {'Header': ['55aaeb90', ''], 'Record Type': ['01', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000', 'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Voltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'], 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000', 'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'discard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', 'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', 'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', 'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', 'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', 'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', 'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', 'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', 'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360', 'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["bytearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], 'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unknown8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytearray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unknown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00 00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unknown25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getCellData', '_command_description': 'BLE Cell Data inquiry'}
INFO:MPP-Solar:attempting to create output processor: screen
DEBUG:MPP-Solar:processor.screen __init__ kwargs {}
INFO:MPP-Solar:Using output processor: screen
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter                       Value           Unit
Header                          55aaeb90
Record Type                     01
Record Counter                  38
Voltage Cell01                  0.6000          V
Voltage Cell02                  0.0000          V
Voltage Cell03                  2.6000          V
Voltage Cell04                  0.0000          V
Voltage Cell05                  3.0000          V
Voltage Cell06                  0.0000          V
Voltage Cell07                  3.6000          V
Voltage Cell08                  0.0000          V
Voltage Cell09                  3.4000          V
Voltage Cell10                  0.0000          V
Voltage Cell11                  0.0150          V
Voltage Cell12                  0.0000          V
Voltage Cell13                  0.0000          V
Voltage Cell14                  0.0000          V
Voltage Cell15                  0.0000          V
Voltage Cell16                  0.0000          V
Voltage Cell17                  0.0000          V
Voltage Cell18                  0.0000          V
Voltage Cell19                  0.0000          V
Voltage Cell20                  0.0000          V
Voltage Cell21                  2.5000          V
Voltage Cell22                  0.0000          V
Voltage Cell23                  45.0000         V
Voltage Cell24                  0.0000          V
discard1                        bytearray(b'\x1e\x00\x00\x00')
Average Cell Voltage            0.0600          V
Delta Cell Voltage              0.0000          V
Unknown1                        34.4640         a0 86
Resistance Cell01               0.0010          Ohm
Resistance Cell02               0.0300          Ohm
Resistance Cell03               0.0000          Ohm
Resistance Cell04               0.0600          Ohm
Resistance Cell05               0.0000          Ohm
Resistance Cell06               0.0600          Ohm
Resistance Cell07               0.0000          Ohm
Resistance Cell08               0.6000          Ohm
Resistance Cell09               0.0000          Ohm
Resistance Cell10               0.7000          Ohm
Resistance Cell11               0.0000          Ohm
Resistance Cell12               0.6000          Ohm
Resistance Cell13               0.0000          Ohm
Resistance Cell14               0.7000          Ohm
Resistance Cell15               0.0000          Ohm
Resistance Cell16               0.6000          Ohm
Resistance Cell17               0.0000          Ohm
Resistance Cell18               65.3360         Ohm
Resistance Cell19               65.5350         Ohm
Resistance Cell20               65.4360         Ohm
Resistance Cell21               65.5350         Ohm
Resistance Cell22               0.9000          Ohm
Resistance Cell23               0.0000          Ohm
Resistance Cell24               0.7000          Ohm
Resistance Cell25               0.0000          Ohm
discard2                        bytearray(b'\x10\x00\x00\x00')
Battery Voltage                 0.0010          V
discard3                        bytearray(b'\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00')
Battery T1                      339.2           °C
Battery T2                      0.3             °C
MOS Temp                        1000.0          °C
discard4                        bytearray(b'\x00\x00\xdc\x05')
Unknown5                        0.0000          00 00
Unknown6                        0.0000          00 00
Unknown7                        0.0000          00 00
Unknown8                        0.0000          00 00
Unknown9                        0.0000          00 00
discard5                        bytearray(b'\x00\x00\x00\x00')
Unknown10                       0.0000          00 00
Unknown11                       0.0000          00 00
Unknown12                       0.0000          00 00
Unknown13                       0.0000          00 00
Time                            0D0H0M0S
Unknown15                       0.0000          00 00
Unknown16                       0.0000          00 00
Unknown17                       0.0000          00 00
discard6                        bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
Unknown18                       0.0000          00 00
Unknown19                       0.0000          00 00
Unknown20                       0.0000          00 00
Unknown21                       0.0000          00 00
Unknown22                       0.0000          00 00
Unknown23                       0.0000          00 00
Unknown24                       0.0000          00 00
Unknown25                       0.0000          00 00
Unknown26                       0.0000          00 00
Unknown27                       0.0000          00 00
Unknown28                       0.0000          00 00
Unknown29                       0.0000          00 00
remainder                       bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5')
len remainder                   93

Think I need to discard the first record returned, I've tried to do that in the latest changes (please excuse phone-coding mistakes)

If you get a chance can you update and repeat

Cheers

Thanks, just tried with the latest changes - looks like we still need to tinker around 🦖

(mppsolar) pi@raspberrypi:~/venv/mppsolar/src/mpp-solar $ mpp-solar -p 3C:A5:19:                                                                                                      DB:58:61 -P JK02 -c getCellData -D
INFO:MPP-Solar:MPP Solar Command Utility, version: 0.7.8, Refactored version - n                                                                                                      ot backwards compatible, add jkbms (02 and 04) support
INFO:MPP-Solar:Creating device "unnamed" (type: "mppsolar") on port "3C:A5:19:DB                                                                                                      :58:61" using protocol "JK02" for command "getCellData" (tag: getCellData)
DEBUG:MPP-Solar:device_class <class 'mppsolar.devices.mppsolar.mppsolar'>
INFO:MPP-Solar:Using jkbleio for communications
DEBUG:MPP-Solar:device.set_protocol with protocol JK02
DEBUG:MPP-Solar:mppsolar __init__ name unnamed, port <mppsolar.io.jkbleio.JkBleI                                                                                                      O object at 0xb5f86fd0>, protocol <mppsolar.protocols.jk02.jk02 object at 0xb5f8                                                                                                      6d90>
DEBUG:MPP-Solar:mppsolar __init__ args ()
DEBUG:MPP-Solar:mppsolar __init__ kwargs {'name': 'unnamed', 'port': '3C:A5:19:D                                                                                                      B:58:61', 'protocol': 'JK02'}
INFO:MPP-Solar:Running command getCellData
INFO:MPP-Solar:Using protocol b'JK02' with 2 commands
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
DEBUG:MPP-Solar:cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\                                                                                                      x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with command code: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
DEBUG:MPP-Solar:cmd with crc: bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\                                                                                                      x00\x00\x00\x00\x00\x00\x00\x00\x00\x10')
INFO:MPP-Solar:full command bytearray(b'\xaaU\x90\xeb\x96\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x10') for command getCellData
DEBUG:MPP-Solar:get_command_defn for: getCellData
DEBUG:MPP-Solar:Found command getCellData in protocol b'JK02'
INFO:MPP-Solar:Attempting to connect to 3C:A5:19:DB:58:61
INFO:MPP-Solar:Connected to b'Nothing JK1\x00'
INFO:MPP-Solar:Read characteristic: Characteristic <ffe3>, handle 10
INFO:MPP-Solar:Enable 0x0b handle
INFO:MPP-Solar:Enable read handle
INFO:MPP-Solar:Write command to read handle
INFO:MPP-Solar:Grabbing 2 records (after inital response)
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:SOR found in record
DEBUG:MPP-Solar:Record CRC is valid
DEBUG:MPP-Solar:From handle: 0x0a Got 20 bytes of data
DEBUG:MPP-Solar:Not valid start of record - wiping data bytearray(b'\xaaU\x90\xe                                                                                                      b\xc8\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D')
ERROR:MPP-Solar:No SOR found in record looking for completeness
Got 2 records
DEBUG:MPP-Solar:Record now bytearray(b"U\xaa\xeb\x90\x01&X\x02\x00\x00(\n\x00\x0                                                                                                      0\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xaf\x00\x00\x1e\x                                                                                                      00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\x00<\x00\x00\x0                                                                                                      0X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x008\xff\xf                                                                                                      f\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00\x00\x01\x00\x0                                                                                                      0\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xdc\x05\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5") len 300
INFO:MPP-Solar:Disconnecting BLE Device...
DEBUG:MPP-Solar:Raw response bytearray(b"U\xaa\xeb\x90\x01&X\x02\x00\x00(\n\x00\                                                                                                      x00\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xaf\x00\x00\x1e                                                                                                      \x00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\x00<\x00\x00\                                                                                                      x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x008\xff\                                                                                                      xff\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00\x00\x01\x00\                                                                                                      x00\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xdc\x05\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5")
INFO:MPP-Solar:response passed to decode: bytearray(b"U\xaa\xeb\x90\x01&X\x02\x0                                                                                                      0\x00(\n\x00\x00\xb8\x0b\x00\x00\x10\x0e\x00\x00H\r\x00\x00\x0f\x00\x00\x00\x00\                                                                                                      x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\t\x00\x00\xc8\xa                                                                                                      f\x00\x00\x1e\x00\x00\x00<\x00\x00\x00\xa0\x86\x01\x00\x1e\x00\x00\x00<\x00\x00\                                                                                                      x00<\x00\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\x00\x00\xbc\x02\x00\x00X\x02\                                                                                                      x00\x008\xff\xff\xff\x9c\xff\xff\xff\x84\x03\x00\x00\xbc\x02\x00\x00\x10\x00\x00                                                                                                      \x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00@\r\x03\x00\x10\'\x00\x00\xd                                                                                                      c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0                                                                                                      0\xe5")
DEBUG:MPP-Solar:Length of responses 300
DEBUG:MPP-Solar:Processing defn ['hex', 4, 'Header', '']
DEBUG:MPP-Solar:hex defn
DEBUG:MPP-Solar:Processing defn ['hex', 1, 'Record Type', '']
DEBUG:MPP-Solar:hex defn
DEBUG:MPP-Solar:Processing defn ['int', 1, 'Record Counter', '']
DEBUG:MPP-Solar:int defn
DEBUG:MPP-Solar:Processing defn ['loop', 24, 'Voltage Cell', 'V', '2ByteHex']
DEBUG:MPP-Solar:loop defn
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'(\n')
DEBUG:MPP-Solar:answer after pos1 0.032
DEBUG:MPP-Solar:answer after pos2 0.04
DEBUG:MPP-Solar:answer after pos3 0.04
DEBUG:MPP-Solar:answer after pos4 2.6
INFO:MPP-Solar:Hex bytearray(b'(\n') 2 byte decoded to 2.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xb8\x0b')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.184
DEBUG:MPP-Solar:answer after pos3 0.184
DEBUG:MPP-Solar:answer after pos4 3.0
INFO:MPP-Solar:Hex bytearray(b'\xb8\x0b') 2 byte decoded to 3.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x10\x0e')
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.016
DEBUG:MPP-Solar:answer after pos3 0.016
DEBUG:MPP-Solar:answer after pos4 3.6
INFO:MPP-Solar:Hex bytearray(b'\x10\x0e') 2 byte decoded to 3.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'H\r')
DEBUG:MPP-Solar:answer after pos1 0.064
DEBUG:MPP-Solar:answer after pos2 0.07200000000000001
DEBUG:MPP-Solar:answer after pos3 0.07200000000000001
DEBUG:MPP-Solar:answer after pos4 3.4000000000000004
INFO:MPP-Solar:Hex bytearray(b'H\r') 2 byte decoded to 3.4000000000000004
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x0f\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.015
DEBUG:MPP-Solar:answer after pos3 0.015
DEBUG:MPP-Solar:answer after pos4 0.015
INFO:MPP-Solar:Hex bytearray(b'\x0f\x00') 2 byte decoded to 0.015
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xc4\t')
DEBUG:MPP-Solar:answer after pos1 0.192
DEBUG:MPP-Solar:answer after pos2 0.196
DEBUG:MPP-Solar:answer after pos3 0.196
DEBUG:MPP-Solar:answer after pos4 2.5000000000000004
INFO:MPP-Solar:Hex bytearray(b'\xc4\t') 2 byte decoded to 2.5000000000000004
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xc8\xaf')
DEBUG:MPP-Solar:answer after pos1 0.192
DEBUG:MPP-Solar:answer after pos2 0.2
DEBUG:MPP-Solar:answer after pos3 41.160000000000004
DEBUG:MPP-Solar:answer after pos4 45.0
INFO:MPP-Solar:Hex bytearray(b'\xc8\xaf') 2 byte decoded to 45.0
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard1', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x1e\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Average Cell Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Delta Cell Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown1', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\xa0\x86')
DEBUG:MPP-Solar:answer after pos1 0.16
DEBUG:MPP-Solar:answer after pos2 0.16
DEBUG:MPP-Solar:answer after pos3 32.928
DEBUG:MPP-Solar:answer after pos4 34.464
INFO:MPP-Solar:Hex bytearray(b'\xa0\x86') 2 byte decoded to 34.464
DEBUG:MPP-Solar:Processing defn ['loop', 25, 'Resistance Cell', 'Ohm', '2ByteHex                                                                                                      ']
DEBUG:MPP-Solar:loop defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x01\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.001
DEBUG:MPP-Solar:answer after pos3 0.001
DEBUG:MPP-Solar:answer after pos4 0.001
INFO:MPP-Solar:Hex bytearray(b'\x01\x00') 2 byte decoded to 0.001
DEBUG:MPP-Solar:hexString: bytearray(b'\x1e\x00')
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.03
DEBUG:MPP-Solar:answer after pos3 0.03
DEBUG:MPP-Solar:answer after pos4 0.03
INFO:MPP-Solar:Hex bytearray(b'\x1e\x00') 2 byte decoded to 0.03
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'<\x00')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.06
DEBUG:MPP-Solar:answer after pos3 0.06
DEBUG:MPP-Solar:answer after pos4 0.06
INFO:MPP-Solar:Hex bytearray(b'<\x00') 2 byte decoded to 0.06
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'X\x02')
DEBUG:MPP-Solar:answer after pos1 0.08
DEBUG:MPP-Solar:answer after pos2 0.088
DEBUG:MPP-Solar:answer after pos3 0.088
DEBUG:MPP-Solar:answer after pos4 0.6
INFO:MPP-Solar:Hex bytearray(b'X\x02') 2 byte decoded to 0.6
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'8\xff')
DEBUG:MPP-Solar:answer after pos1 0.048
DEBUG:MPP-Solar:answer after pos2 0.056
DEBUG:MPP-Solar:answer after pos3 61.495999999999995
DEBUG:MPP-Solar:answer after pos4 65.336
INFO:MPP-Solar:Hex bytearray(b'8\xff') 2 byte decoded to 65.336
DEBUG:MPP-Solar:hexString: bytearray(b'\xff\xff')
DEBUG:MPP-Solar:answer after pos1 0.24
DEBUG:MPP-Solar:answer after pos2 0.255
DEBUG:MPP-Solar:answer after pos3 61.695
DEBUG:MPP-Solar:answer after pos4 65.535
INFO:MPP-Solar:Hex bytearray(b'\xff\xff') 2 byte decoded to 65.535
DEBUG:MPP-Solar:hexString: bytearray(b'\x9c\xff')
DEBUG:MPP-Solar:answer after pos1 0.14400000000000002
DEBUG:MPP-Solar:answer after pos2 0.15600000000000003
DEBUG:MPP-Solar:answer after pos3 61.596
DEBUG:MPP-Solar:answer after pos4 65.43599999999999
INFO:MPP-Solar:Hex bytearray(b'\x9c\xff') 2 byte decoded to 65.43599999999999
DEBUG:MPP-Solar:hexString: bytearray(b'\xff\xff')
DEBUG:MPP-Solar:answer after pos1 0.24
DEBUG:MPP-Solar:answer after pos2 0.255
DEBUG:MPP-Solar:answer after pos3 61.695
DEBUG:MPP-Solar:answer after pos4 65.535
INFO:MPP-Solar:Hex bytearray(b'\xff\xff') 2 byte decoded to 65.535
DEBUG:MPP-Solar:hexString: bytearray(b'\x84\x03')
DEBUG:MPP-Solar:answer after pos1 0.128
DEBUG:MPP-Solar:answer after pos2 0.132
DEBUG:MPP-Solar:answer after pos3 0.132
DEBUG:MPP-Solar:answer after pos4 0.9
INFO:MPP-Solar:Hex bytearray(b'\x84\x03') 2 byte decoded to 0.9
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:hexString: bytearray(b'\xbc\x02')
DEBUG:MPP-Solar:answer after pos1 0.176
DEBUG:MPP-Solar:answer after pos2 0.188
DEBUG:MPP-Solar:answer after pos3 0.188
DEBUG:MPP-Solar:answer after pos4 0.7
INFO:MPP-Solar:Hex bytearray(b'\xbc\x02') 2 byte decoded to 0.7
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard2', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x10\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHex', 1, 'Battery Voltage', 'V']
DEBUG:MPP-Solar:2ByteHex defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x01\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.001
DEBUG:MPP-Solar:answer after pos3 0.001
DEBUG:MPP-Solar:answer after pos4 0.001
INFO:MPP-Solar:Hex bytearray(b'\x01\x00') 2 byte decoded to 0.001
DEBUG:MPP-Solar:Processing defn ['discard', 10, 'discard3', '']
DEBUG:MPP-Solar:Discarding 10 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'Battery T1', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b'@\r')
DEBUG:MPP-Solar:answer after pos1 0.064
DEBUG:MPP-Solar:answer after pos2 0.064
DEBUG:MPP-Solar:answer after pos3 0.064
DEBUG:MPP-Solar:answer after pos4 3.3920000000000003
INFO:MPP-Solar:Hex bytearray(b'@\r') 2 byte decoded to 3.3920000000000003
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'Battery T2', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x03\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.003
DEBUG:MPP-Solar:answer after pos3 0.003
DEBUG:MPP-Solar:answer after pos4 0.003
INFO:MPP-Solar:Hex bytearray(b'\x03\x00') 2 byte decoded to 0.003
DEBUG:MPP-Solar:Processing defn ['2ByteHexC', 1, 'MOS Temp', '°C']
DEBUG:MPP-Solar:2ByteHexC defn
DEBUG:MPP-Solar:hexString: bytearray(b"\x10\'")
DEBUG:MPP-Solar:answer after pos1 0.016
DEBUG:MPP-Solar:answer after pos2 0.016
DEBUG:MPP-Solar:answer after pos3 8.208
DEBUG:MPP-Solar:answer after pos4 10.0
INFO:MPP-Solar:Hex bytearray(b"\x10\'") 2 byte decoded to 10.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard4', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\xdc\x05')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown5', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown6', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown7', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown8', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown9', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 4, 'discard5', '']
DEBUG:MPP-Solar:Discarding 4 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown10', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown11', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown12', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown13', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['uptime', 3, 'Time', '']
DEBUG:MPP-Solar:uptime defn
DEBUG:MPP-Solar:Uptime int value 0 for pos 0
DEBUG:MPP-Solar:Uptime int value 0 for pos 1
DEBUG:MPP-Solar:Uptime int value 0 for pos 2
INFO:MPP-Solar:Uptime result 0D0H0M0S
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown15', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown16', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown17', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['discard', 12, 'discard6', '']
DEBUG:MPP-Solar:Discarding 12 values
DEBUG:MPP-Solar:Discarded bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x                                                                                                      00\x00')
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown18', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown19', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown20', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown21', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown22', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown23', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown24', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown25', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown26', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown27', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown28', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['2ByteHexU', 1, 'Unknown29', '']
DEBUG:MPP-Solar:2ByteHexU defn
DEBUG:MPP-Solar:hexString: bytearray(b'\x00\x00')
DEBUG:MPP-Solar:answer after pos1 0.0
DEBUG:MPP-Solar:answer after pos2 0.0
DEBUG:MPP-Solar:answer after pos3 0.0
DEBUG:MPP-Solar:answer after pos4 0.0
INFO:MPP-Solar:Hex bytearray(b'\x00\x00') 2 byte decoded to 0.0
DEBUG:MPP-Solar:Processing defn ['rem']
DEBUG:MPP-Solar:remainder
DEBUG:MPP-Solar:Decoded response {'Header': ['55aaeb90', ''], 'Record Type': ['0                                                                                                      1', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage                                                                                                       Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04':                                                                                                       ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000',                                                                                                       'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Vo                                                                                                      ltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell                                                                                                      11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0                                                                                                      000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V']                                                                                                      , 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage                                                                                                       Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20':                                                                                                       ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000',                                                                                                       'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'd                                                                                                      iscard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['                                                                                                      0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a                                                                                                      0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300',                                                                                                       'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600',                                                                                                       'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600',                                                                                                       'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000',                                                                                                       'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000',                                                                                                       'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000',                                                                                                       'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000',                                                                                                       'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000',                                                                                                       'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360',                                                                                                       'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360                                                                                                      ', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.900                                                                                                      0', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.700                                                                                                      0', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\                                                                                                      x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["by                                                                                                      tearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T                                                                                                      1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'],                                                                                                       'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '                                                                                                      00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unkn                                                                                                      own8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytea                                                                                                      rray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown1                                                                                                      1': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000                                                                                                      ', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknow                                                                                                      n16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytea                                                                                                      rray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Un                                                                                                      known18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['                                                                                                      0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00                                                                                                       00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unkn                                                                                                      own25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.                                                                                                      0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 0                                                                                                      0'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x                                                                                                      00\\x00\\x00\\xe5')", ''], 'len remainder': [93, '']}
INFO:MPP-Solar:Decoded response {'Header': ['55aaeb90', ''], 'Record Type': ['01                                                                                                      ', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage                                                                                                       Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': [                                                                                                      '0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000',                                                                                                       'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Vol                                                                                                      tage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell1                                                                                                      1': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.00                                                                                                      00', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'],                                                                                                       'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage                                                                                                       Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': [                                                                                                      '0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000',                                                                                                       'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'di                                                                                                      scard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0                                                                                                      .0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0                                                                                                       86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', '                                                                                                      Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', '                                                                                                      Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', '                                                                                                      Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', '                                                                                                      Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', '                                                                                                      Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', '                                                                                                      Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', '                                                                                                      Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', '                                                                                                      Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360',                                                                                                       'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360'                                                                                                      , 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000                                                                                                      ', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000                                                                                                      ', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x                                                                                                      10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["byt                                                                                                      earray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1                                                                                                      ': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], '                                                                                                      discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '0                                                                                                      0 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unkno                                                                                                      wn8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytear                                                                                                      ray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11                                                                                                      ': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000'                                                                                                      , '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown                                                                                                      16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytear                                                                                                      ray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unk                                                                                                      nown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0                                                                                                      .0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00                                                                                                       00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unkno                                                                                                      wn25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0                                                                                                      000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00                                                                                                      '], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getCellData',                                                                                                       '_command_description': 'BLE Cell Data inquiry'}
DEBUG:MPP-Solar:Send and Receive Response {'Header': ['55aaeb90', ''], 'Record T                                                                                                      ype': ['01', ''], 'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'],                                                                                                       'Voltage Cell02': ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage                                                                                                       Cell04': ['0.0000', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': [                                                                                                      '0.0000', 'V'], 'Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000',                                                                                                       'V'], 'Voltage Cell09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Vol                                                                                                      tage Cell11': ['0.0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell1                                                                                                      3': ['0.0000', 'V'], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.00                                                                                                      00', 'V'], 'Voltage Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'],                                                                                                       'Voltage Cell18': ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage                                                                                                       Cell20': ['0.0000', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': [                                                                                                      '0.0000', 'V'], 'Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000',                                                                                                       'V'], 'discard1': ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Vol                                                                                                      tage': ['0.0600', 'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.                                                                                                      4640', 'a0 86'], 'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['                                                                                                      0.0300', 'Ohm'], 'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['                                                                                                      0.0600', 'Ohm'], 'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['                                                                                                      0.0600', 'Ohm'], 'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['                                                                                                      0.6000', 'Ohm'], 'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['                                                                                                      0.7000', 'Ohm'], 'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['                                                                                                      0.6000', 'Ohm'], 'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['                                                                                                      0.7000', 'Ohm'], 'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['                                                                                                      0.6000', 'Ohm'], 'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['                                                                                                      65.3360', 'Ohm'], 'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20':                                                                                                       ['65.4360', 'Ohm'], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22'                                                                                                      : ['0.9000', 'Ohm'], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24'                                                                                                      : ['0.7000', 'Ohm'], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytea                                                                                                      rray(b'\\x10\\x00\\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discar                                                                                                      d3': ["bytearray(b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], '                                                                                                      Battery T1': ['339.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0'                                                                                                      , '°C'], 'discard4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0                                                                                                      .0000', '00 00'], 'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00                                                                                                      '], 'Unknown8': ['0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5'                                                                                                      : ["bytearray(b'\\x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'],                                                                                                       'Unknown11': ['0.0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13':                                                                                                       ['0.0000', '00 00'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00']                                                                                                      , 'Unknown16': ['0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6'                                                                                                      : ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",                                                                                                       ''], 'Unknown18': ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unkno                                                                                                      wn20': ['0.0000', '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0                                                                                                      000', '00 00'], 'Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00                                                                                                      '], 'Unknown25': ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown                                                                                                      27': ['0.0000', '00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.000                                                                                                      0', '00 00'], 'remainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0                                                                                                      0\\x00\\x00\\x00\\x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getC                                                                                                      ellData', '_command_description': 'BLE Cell Data inquiry'}
DEBUG:MPP-Solar:results: {'Header': ['55aaeb90', ''], 'Record Type': ['01', ''],                                                                                                       'Record Counter': [38, ''], 'Voltage Cell01': ['0.6000', 'V'], 'Voltage Cell02'                                                                                                      : ['0.0000', 'V'], 'Voltage Cell03': ['2.6000', 'V'], 'Voltage Cell04': ['0.0000                                                                                                      ', 'V'], 'Voltage Cell05': ['3.0000', 'V'], 'Voltage Cell06': ['0.0000', 'V'], '                                                                                                      Voltage Cell07': ['3.6000', 'V'], 'Voltage Cell08': ['0.0000', 'V'], 'Voltage Ce                                                                                                      ll09': ['3.4000', 'V'], 'Voltage Cell10': ['0.0000', 'V'], 'Voltage Cell11': ['0                                                                                                      .0150', 'V'], 'Voltage Cell12': ['0.0000', 'V'], 'Voltage Cell13': ['0.0000', 'V                                                                                                      '], 'Voltage Cell14': ['0.0000', 'V'], 'Voltage Cell15': ['0.0000', 'V'], 'Volta                                                                                                      ge Cell16': ['0.0000', 'V'], 'Voltage Cell17': ['0.0000', 'V'], 'Voltage Cell18'                                                                                                      : ['0.0000', 'V'], 'Voltage Cell19': ['0.0000', 'V'], 'Voltage Cell20': ['0.0000                                                                                                      ', 'V'], 'Voltage Cell21': ['2.5000', 'V'], 'Voltage Cell22': ['0.0000', 'V'], '                                                                                                      Voltage Cell23': ['45.0000', 'V'], 'Voltage Cell24': ['0.0000', 'V'], 'discard1'                                                                                                      : ["bytearray(b'\\x1e\\x00\\x00\\x00')", ''], 'Average Cell Voltage': ['0.0600',                                                                                                       'V'], 'Delta Cell Voltage': ['0.0000', 'V'], 'Unknown1': ['34.4640', 'a0 86'],                                                                                                       'Resistance Cell01': ['0.0010', 'Ohm'], 'Resistance Cell02': ['0.0300', 'Ohm'],                                                                                                       'Resistance Cell03': ['0.0000', 'Ohm'], 'Resistance Cell04': ['0.0600', 'Ohm'],                                                                                                       'Resistance Cell05': ['0.0000', 'Ohm'], 'Resistance Cell06': ['0.0600', 'Ohm'],                                                                                                       'Resistance Cell07': ['0.0000', 'Ohm'], 'Resistance Cell08': ['0.6000', 'Ohm'],                                                                                                       'Resistance Cell09': ['0.0000', 'Ohm'], 'Resistance Cell10': ['0.7000', 'Ohm'],                                                                                                       'Resistance Cell11': ['0.0000', 'Ohm'], 'Resistance Cell12': ['0.6000', 'Ohm'],                                                                                                       'Resistance Cell13': ['0.0000', 'Ohm'], 'Resistance Cell14': ['0.7000', 'Ohm'],                                                                                                       'Resistance Cell15': ['0.0000', 'Ohm'], 'Resistance Cell16': ['0.6000', 'Ohm'],                                                                                                       'Resistance Cell17': ['0.0000', 'Ohm'], 'Resistance Cell18': ['65.3360', 'Ohm'],                                                                                                       'Resistance Cell19': ['65.5350', 'Ohm'], 'Resistance Cell20': ['65.4360', 'Ohm'                                                                                                      ], 'Resistance Cell21': ['65.5350', 'Ohm'], 'Resistance Cell22': ['0.9000', 'Ohm                                                                                                      '], 'Resistance Cell23': ['0.0000', 'Ohm'], 'Resistance Cell24': ['0.7000', 'Ohm                                                                                                      '], 'Resistance Cell25': ['0.0000', 'Ohm'], 'discard2': ["bytearray(b'\\x10\\x00                                                                                                      \\x00\\x00')", ''], 'Battery Voltage': ['0.0010', 'V'], 'discard3': ["bytearray(                                                                                                      b'\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00')", ''], 'Battery T1': ['33                                                                                                      9.2', '°C'], 'Battery T2': ['0.3', '°C'], 'MOS Temp': ['1000.0', '°C'], 'discard                                                                                                      4': ["bytearray(b'\\x00\\x00\\xdc\\x05')", ''], 'Unknown5': ['0.0000', '00 00'],                                                                                                       'Unknown6': ['0.0000', '00 00'], 'Unknown7': ['0.0000', '00 00'], 'Unknown8': [                                                                                                      '0.0000', '00 00'], 'Unknown9': ['0.0000', '00 00'], 'discard5': ["bytearray(b'\                                                                                                      \x00\\x00\\x00\\x00')", ''], 'Unknown10': ['0.0000', '00 00'], 'Unknown11': ['0.                                                                                                      0000', '00 00'], 'Unknown12': ['0.0000', '00 00'], 'Unknown13': ['0.0000', '00 0                                                                                                      0'], 'Time': ['0D0H0M0S', ''], 'Unknown15': ['0.0000', '00 00'], 'Unknown16': ['                                                                                                      0.0000', '00 00'], 'Unknown17': ['0.0000', '00 00'], 'discard6': ["bytearray(b'\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')", ''], 'Unknown18'                                                                                                      : ['0.0000', '00 00'], 'Unknown19': ['0.0000', '00 00'], 'Unknown20': ['0.0000',                                                                                                       '00 00'], 'Unknown21': ['0.0000', '00 00'], 'Unknown22': ['0.0000', '00 00'], '                                                                                                      Unknown23': ['0.0000', '00 00'], 'Unknown24': ['0.0000', '00 00'], 'Unknown25':                                                                                                       ['0.0000', '00 00'], 'Unknown26': ['0.0000', '00 00'], 'Unknown27': ['0.0000', '                                                                                                      00 00'], 'Unknown28': ['0.0000', '00 00'], 'Unknown29': ['0.0000', '00 00'], 're                                                                                                      mainder': ["bytearray(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\                                                                                                      \x00\\xe5')", ''], 'len remainder': [93, ''], '_command': 'getCellData', '_comma                                                                                                      nd_description': 'BLE Cell Data inquiry'}
INFO:MPP-Solar:attempting to create output processor: screen
DEBUG:MPP-Solar:processor.screen __init__ kwargs {}
INFO:MPP-Solar:Using output processor: screen
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter                       Value           Unit
Header                          55aaeb90
Record Type                     01
Record Counter                  38
Voltage Cell01                  0.6000          V
Voltage Cell02                  0.0000          V
Voltage Cell03                  2.6000          V
Voltage Cell04                  0.0000          V
Voltage Cell05                  3.0000          V
Voltage Cell06                  0.0000          V
Voltage Cell07                  3.6000          V
Voltage Cell08                  0.0000          V
Voltage Cell09                  3.4000          V
Voltage Cell10                  0.0000          V
Voltage Cell11                  0.0150          V
Voltage Cell12                  0.0000          V
Voltage Cell13                  0.0000          V
Voltage Cell14                  0.0000          V
Voltage Cell15                  0.0000          V
Voltage Cell16                  0.0000          V
Voltage Cell17                  0.0000          V
Voltage Cell18                  0.0000          V
Voltage Cell19                  0.0000          V
Voltage Cell20                  0.0000          V
Voltage Cell21                  2.5000          V
Voltage Cell22                  0.0000          V
Voltage Cell23                  45.0000         V
Voltage Cell24                  0.0000          V
discard1                        bytearray(b'\x1e\x00\x00\x00')
Average Cell Voltage            0.0600          V
Delta Cell Voltage              0.0000          V
Unknown1                        34.4640         a0 86
Resistance Cell01               0.0010          Ohm
Resistance Cell02               0.0300          Ohm
Resistance Cell03               0.0000          Ohm
Resistance Cell04               0.0600          Ohm
Resistance Cell05               0.0000          Ohm
Resistance Cell06               0.0600          Ohm
Resistance Cell07               0.0000          Ohm
Resistance Cell08               0.6000          Ohm
Resistance Cell09               0.0000          Ohm
Resistance Cell10               0.7000          Ohm
Resistance Cell11               0.0000          Ohm
Resistance Cell12               0.6000          Ohm
Resistance Cell13               0.0000          Ohm
Resistance Cell14               0.7000          Ohm
Resistance Cell15               0.0000          Ohm
Resistance Cell16               0.6000          Ohm
Resistance Cell17               0.0000          Ohm
Resistance Cell18               65.3360         Ohm
Resistance Cell19               65.5350         Ohm
Resistance Cell20               65.4360         Ohm
Resistance Cell21               65.5350         Ohm
Resistance Cell22               0.9000          Ohm
Resistance Cell23               0.0000          Ohm
Resistance Cell24               0.7000          Ohm
Resistance Cell25               0.0000          Ohm
discard2                        bytearray(b'\x10\x00\x00\x00')
Battery Voltage                 0.0010          V
discard3                        bytearray(b'\x00\x00\x01\x00\x00\x00\x01\x00\x00                                                                                                      \x00')
Battery T1                      339.2           °C
Battery T2                      0.3             °C
MOS Temp                        1000.0          °C
discard4                        bytearray(b'\x00\x00\xdc\x05')
Unknown5                        0.0000          00 00
Unknown6                        0.0000          00 00
Unknown7                        0.0000          00 00
Unknown8                        0.0000          00 00
Unknown9                        0.0000          00 00
discard5                        bytearray(b'\x00\x00\x00\x00')
Unknown10                       0.0000          00 00
Unknown11                       0.0000          00 00
Unknown12                       0.0000          00 00
Unknown13                       0.0000          00 00
Time                            0D0H0M0S
Unknown15                       0.0000          00 00
Unknown16                       0.0000          00 00
Unknown17                       0.0000          00 00
discard6                        bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00')
Unknown18                       0.0000          00 00
Unknown19                       0.0000          00 00
Unknown20                       0.0000          00 00
Unknown21                       0.0000          00 00
Unknown22                       0.0000          00 00
Unknown23                       0.0000          00 00
Unknown24                       0.0000          00 00
Unknown25                       0.0000          00 00
Unknown26                       0.0000          00 00
Unknown27                       0.0000          00 00
Unknown28                       0.0000          00 00
Unknown29                       0.0000          00 00
remainder                       bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                                                                                                      \x00\x00\x00\xe5')
len remainder                   93

Looks still getting the wrong record (is 01 type not 02)

Have re-added a bit that should consume the first record

Hi jblance, i try your program but is my first time using pi4 so need help. You take a video for instaling you software for monitoring bms from the web via raspberry pi vnc

this repo has been superceeded by the mpp-solar one, so try that and open a new issue it you have problems

how do i get the output in grafana or influxdb?

mpp-solar -p C8:47:8C:E5:1D:B1 -P JK04 -c getInfo -D
-bash: C8:47:8C:E5:1D:B1: Datei oder Verzeichnis nicht gefunden
pi@solaranzeige:~/jkbms $ mpp-solar -p C8:47:8C:E5:1D:B1 -P JK04 -c getInfo -D
2022-11-22 17:59:58,186:INFO:init:main@218: Solar Device Command Utility, version: 0.14.1
2022-11-22 17:59:58,186:DEBUG:init:main@238: MqttBroker(name='localhost', port=1883, username=None, password=None, results_topic='mpp-solar', mqttc=<paho.mqtt.client.Client object at 0xb6580c90>, _isConnected=False)
2022-11-22 17:59:58,187:DEBUG:init:main@240: udp port 5555
2022-11-22 17:59:58,188:DEBUG:init:main@242: Using Postgres None
2022-11-22 17:59:58,188:DEBUG:init:main@245: Using Mongo None with mppsolar
2022-11-22 17:59:58,188:INFO:init:main@348: Creating device "unnamed" (type: "mppsolar") on port "C8:47:8C:E5:1D:B1 (porttype=None)" using protocol "JK04"
2022-11-22 17:59:58,192:DEBUG:init:main@351: device_class <class 'mppsolar.devices.mppsolar.mppsolar'>
2022-11-22 17:59:58,192:DEBUG:device:init@33: init args ()
2022-11-22 17:59:58,193:DEBUG:device:init@34: init kwargs {'name': 'unnamed', 'port': 'C8:47:8C:E5:1D:B1', 'protocol': 'JK04', 'baud': 2400, 'porttype': None, 'mqtt_broker': MqttBroker(name='localhost', port=1883, username=None, password=None, results_topic='mpp-solar', mqttc=<paho.mqtt.client.Client object at 0xb6580c90>, _isConnected=False), 'udp_port': '5555', 'mongo_url': None, 'mongo_db': 'mppsolar'}
2022-11-22 17:59:58,193:DEBUG:init:get_port_type@50: port matches jkble ':'
2022-11-22 17:59:58,194:INFO:init:get_port@101: Using jkbleio for communications
2022-11-22 17:59:58,225:DEBUG:init:get_protocol@13: Protocol JK04
2022-11-22 17:59:58,229:DEBUG:device:init@39: init name unnamed, port <mppsolar.inout.jkbleio.JkBleIO object at 0xb60d3b90>, protocol JKBMS BLE 4 byte data communication protocol handler
2022-11-22 17:59:58,230:DEBUG:init:main@399: Commands [(<mppsolar.devices.mppsolar.mppsolar object at 0xb592cf90>, 'getInfo', 'getInfo', 'screen', None, None)]
2022-11-22 17:59:58,230:INFO:init:main@404: Looping 1 commands
2022-11-22 17:59:58,230:INFO:init:main@415: Getting results from device: mppsolar device - name: unnamed, port: <mppsolar.inout.jkbleio.JkBleIO object at 0xb60d3b90>, protocol: JKBMS BLE 4 byte data communication protocol handler for command: getInfo, tag: getInfo, outputs: screen
2022-11-22 17:59:58,231:INFO:device:run_command@274: Running command getInfo
2022-11-22 17:59:58,231:INFO:jkabstractprotocol:get_full_command@74: Using protocol b'JK04' with 2 commands
2022-11-22 17:59:58,232:DEBUG:jkabstractprotocol:get_command_defn@106: get_command_defn for: getInfo
2022-11-22 17:59:58,232:DEBUG:abstractprotocol:get_command_defn@60: Processing command 'getInfo'
2022-11-22 17:59:58,233:DEBUG:abstractprotocol:get_command_defn@62: Found command getInfo in protocol b'JK04'
2022-11-22 17:59:58,233:DEBUG:jkabstractprotocol:get_full_command@80: self._command = getInfo
2022-11-22 17:59:58,233:DEBUG:jkabstractprotocol:get_full_command@91: cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 17:59:58,234:DEBUG:jkabstractprotocol:get_full_command@99: cmd with command code: bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 17:59:58,234:DEBUG:jkabstractprotocol:get_full_command@101: cmd with crc: bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11')
2022-11-22 17:59:58,234:INFO:device:run_command@303: full command bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11') for command getInfo
2022-11-22 17:59:58,235:DEBUG:jkabstractprotocol:get_command_defn@106: get_command_defn for: getInfo
2022-11-22 17:59:58,235:DEBUG:abstractprotocol:get_command_defn@60: Processing command 'getInfo'
2022-11-22 17:59:58,235:DEBUG:abstractprotocol:get_command_defn@62: Found command getInfo in protocol b'JK04'
2022-11-22 17:59:58,236:INFO:jkabstractprotocol:get_full_command@74: Using protocol b'JK04' with 2 commands
2022-11-22 17:59:58,236:DEBUG:jkabstractprotocol:get_command_defn@106: get_command_defn for: getInfo
2022-11-22 17:59:58,237:DEBUG:abstractprotocol:get_command_defn@60: Processing command 'getInfo'
2022-11-22 17:59:58,237:DEBUG:abstractprotocol:get_command_defn@62: Found command getInfo in protocol b'JK04'
2022-11-22 17:59:58,237:DEBUG:jkabstractprotocol:get_full_command@80: self._command = getInfo
2022-11-22 17:59:58,237:DEBUG:jkabstractprotocol:get_full_command@91: cmd with SOR: bytearray(b'\xaaU\x90\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 17:59:58,238:DEBUG:jkabstractprotocol:get_full_command@99: cmd with command code: bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 17:59:58,238:DEBUG:jkabstractprotocol:get_full_command@101: cmd with crc: bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11')
2022-11-22 17:59:58,239:INFO:jkbleio:send_and_receive@29: full command bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11') for command getInfo
2022-11-22 17:59:58,239:DEBUG:jkabstractprotocol:get_command_defn@106: get_command_defn for: getInfo
2022-11-22 17:59:58,239:DEBUG:abstractprotocol:get_command_defn@60: Processing command 'getInfo'
2022-11-22 17:59:58,240:DEBUG:abstractprotocol:get_command_defn@62: Found command getInfo in protocol b'JK04'
2022-11-22 17:59:58,240:DEBUG:jkbleio:send_and_receive@33: expected record type 3 for command getInfo
2022-11-22 17:59:58,240:INFO:jkbleio:ble_connect@57: Attempting to connect to C8:47:8C:E5:1D:B1
2022-11-22 18:00:01,427:DEBUG:jkbleio:ble_get_data@82: Command: bytearray(b'\xaaU\x90\xeb\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11')
2022-11-22 18:00:01,577:INFO:jkbleio:ble_get_data@90: Connected to b''
2022-11-22 18:00:01,728:INFO:jkbleio:ble_get_data@106: Read characteristic: Characteristic , handle 12
2022-11-22 18:00:01,728:INFO:jkbleio:ble_get_data@113: Enable 0x0b handle
2022-11-22 18:00:01,729:INFO:jkbleio:ble_get_data@117: Enable read handle
2022-11-22 18:00:01,729:INFO:jkbleio:ble_get_data@121: Write getInfo to read handle
2022-11-22 18:00:01,803:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 128 bytes of data
2022-11-22 18:00:01,803:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00')
2022-11-22 18:00:01,804:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00')
2022-11-22 18:00:01,804:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:01,804:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:01,840:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 22 bytes of data
2022-11-22 18:00:01,841:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:01,841:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:01,842:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:01,842:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:01,878:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 128 bytes of data
2022-11-22 18:00:01,878:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:01,879:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:01,879:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:01,880:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:01,897:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 22 bytes of data
2022-11-22 18:00:01,897:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:01,898:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:01,899:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:01,899:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:01,900:DEBUG:jkabstractprotocol:is_record_complete@179: Record CRC is valid
2022-11-22 18:00:01,900:DEBUG:jkbledelegate:handleNotification@44: record complete
2022-11-22 18:00:01,953:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 20 bytes of data
2022-11-22 18:00:01,954:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'\xaaU\x90\xeb\xc8\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D')
2022-11-22 18:00:01,954:DEBUG:jkabstractprotocol:wipe_to_start@154: SOR not found in record
2022-11-22 18:00:01,955:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'')
2022-11-22 18:00:01,955:DEBUG:jkbledelegate:handleNotification@39: Not expected type of record - wiping data bytearray(b'')
2022-11-22 18:00:01,956:DEBUG:jkabstractprotocol:is_record_complete@170: No SOR found in record looking for completeness
2022-11-22 18:00:07,963:INFO:jkbleio:ble_get_data@136: Write command to read handle
2022-11-22 18:00:07,964:INFO:jkbleio:ble_get_data@140: Grabbing 1 records (after inital response)
2022-11-22 18:00:08,021:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 128 bytes of data
2022-11-22 18:00:08,022:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00')
2022-11-22 18:00:08,022:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00')
2022-11-22 18:00:08,022:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:08,022:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:08,056:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 22 bytes of data
2022-11-22 18:00:08,056:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:08,056:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:08,057:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:08,057:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:08,078:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 128 bytes of data
2022-11-22 18:00:08,078:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:08,078:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:08,078:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:08,079:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:08,131:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 22 bytes of data
2022-11-22 18:00:08,131:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:08,132:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:08,132:DEBUG:jkabstractprotocol:is_record_correct_type@162: Record is type 3
2022-11-22 18:00:08,132:DEBUG:jkabstractprotocol:is_record_start@147: SOR found in record
2022-11-22 18:00:08,133:DEBUG:jkabstractprotocol:is_record_complete@179: Record CRC is valid
2022-11-22 18:00:08,133:DEBUG:jkbledelegate:handleNotification@44: record complete
2022-11-22 18:00:08,187:DEBUG:jkbledelegate:handleNotification@27: From handle: 0x12 Got 20 bytes of data
2022-11-22 18:00:08,187:DEBUG:jkbledelegate:handleNotification@29: Pre wipe to start bytearray(b'\xaaU\x90\xeb\xc8\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D')
2022-11-22 18:00:08,187:DEBUG:jkabstractprotocol:wipe_to_start@154: SOR not found in record
2022-11-22 18:00:08,188:DEBUG:jkbledelegate:handleNotification@31: Post wipe to start bytearray(b'')
2022-11-22 18:00:08,188:DEBUG:jkbledelegate:handleNotification@39: Not expected type of record - wiping data bytearray(b'')
2022-11-22 18:00:08,188:DEBUG:jkabstractprotocol:is_record_complete@170: No SOR found in record looking for completeness
2022-11-22 18:00:34,217:INFO:jkbleio:ble_get_data@145: jkbleio: ble_get_dataa: Got 1 records
2022-11-22 18:00:34,217:DEBUG:jkbleio:ble_get_data@150: Record now bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000') len 300
2022-11-22 18:00:34,217:INFO:jkbleio:ble_disconnect@74: Disconnecting BLE Device...
2022-11-22 18:00:34,222:DEBUG:jkbleio:send_and_receive@43: Raw response bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:34,223:DEBUG:device:run_command@322: Send and Receive Response bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:34,224:INFO:abstractprotocol:decode@196: response passed to decode: bytearray(b'U\xaa\xeb\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:34,226:DEBUG:jkabstractprotocol:get_command_defn@106: get_command_defn for: getInfo
2022-11-22 18:00:34,226:DEBUG:abstractprotocol:get_command_defn@60: Processing command 'getInfo'
2022-11-22 18:00:34,227:DEBUG:abstractprotocol:get_command_defn@62: Found command getInfo in protocol b'JK04'
2022-11-22 18:00:34,228:INFO:abstractprotocol:decode@236: Processing response of type POSITIONAL
2022-11-22 18:00:34,229:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Str', 4, 'Header', '']
2022-11-22 18:00:34,229:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Str', 1, 'Record Type', '']
2022-11-22 18:00:34,230:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Int', 1, 'Record Counter', '']
2022-11-22 18:00:34,231:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 16, 'Device Model', '']
2022-11-22 18:00:34,232:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 8, 'Hardware Version', '']
2022-11-22 18:00:34,233:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 8, 'Software Version', '']
2022-11-22 18:00:34,234:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['uptime', 4, 'Up Time', '']
2022-11-22 18:00:34,234:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Int', 4, 'Power-on Times', '']
2022-11-22 18:00:34,235:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 16, 'Device Name', '']
2022-11-22 18:00:34,236:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 16, 'Device Passcode', '']
2022-11-22 18:00:34,237:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 8, 'Manufacturing Date', '']
2022-11-22 18:00:34,237:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 11, 'Serial Number', '']
2022-11-22 18:00:34,238:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 5, 'Passcode', '']
2022-11-22 18:00:34,239:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 16, 'User Data', '']
2022-11-22 18:00:34,240:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['Hex2Ascii', 16, 'Setup Passcode', '']
2022-11-22 18:00:34,240:DEBUG:jkabstractprotocol:get_responses@131: Got defn: ['discard', 672, 'unknown', '']
2022-11-22 18:00:34,241:DEBUG:abstractprotocol:decode@240: trimmed and split responses: [bytearray(b'U\xaa\xeb\x90'), bytearray(b'\x03'), bytearray(b'.'), bytearray(b'JK-B2A20S20P\x00\x00\x00\x00'), bytearray(b'10.XW\x00\x00\x00'), bytearray(b'10.09\x00\x00\x00'), bytearray(b'\xa0\x94\x07\x00'), bytearray(b'\x04\x00\x00\x00'), bytearray(b'JK-B2A20S20P\x00\x00\x00\x00'), bytearray(b'1234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), bytearray(b'221116\x00\x00'), bytearray(b'2080316074\x00'), bytearray(b'0000\x00'), bytearray(b'Input Userdata\x00\x00'), bytearray(b'123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')]
2022-11-22 18:00:34,242:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,242:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Str', 4, 'Header', '']
2022-11-22 18:00:34,242:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Str for data_name: Header, raw_value bytearray(b'U\xaa\xeb\x90')
2022-11-22 18:00:34,243:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Str(raw_value)
2022-11-22 18:00:34,243:DEBUG:protocol_helpers:Hex2Str@109: Hex bytearray(b'U\xaa\xeb\x90') decoded to 55aaeb90
2022-11-22 18:00:34,244:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,244:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Str', 1, 'Record Type', '']
2022-11-22 18:00:34,244:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Str for data_name: Record Type, raw_value bytearray(b'\x03')
2022-11-22 18:00:34,245:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Str(raw_value)
2022-11-22 18:00:34,245:DEBUG:protocol_helpers:Hex2Str@109: Hex bytearray(b'\x03') decoded to 03
2022-11-22 18:00:34,245:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,245:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Int', 1, 'Record Counter', '']
2022-11-22 18:00:34,246:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Int for data_name: Record Counter, raw_value bytearray(b'.')
2022-11-22 18:00:34,246:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Int(raw_value)
2022-11-22 18:00:34,246:DEBUG:protocol_helpers:Hex2Int@96: Hex bytearray(b'.') decoded to 46
2022-11-22 18:00:34,247:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,247:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 16, 'Device Model', '']
2022-11-22 18:00:34,247:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Device Model, raw_value bytearray(b'JK-B2A20S20P\x00\x00\x00\x00')
2022-11-22 18:00:34,247:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,248:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'JK-B2A20S20P\x00\x00\x00\x00') decoded to JK-B2A20S20P
2022-11-22 18:00:34,248:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,248:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 8, 'Hardware Version', '']
2022-11-22 18:00:34,249:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Hardware Version, raw_value bytearray(b'10.XW\x00\x00\x00')
2022-11-22 18:00:34,249:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,249:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'10.XW\x00\x00\x00') decoded to 10.XW
2022-11-22 18:00:34,250:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,250:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 8, 'Software Version', '']
2022-11-22 18:00:34,250:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Software Version, raw_value bytearray(b'10.09\x00\x00\x00')
2022-11-22 18:00:34,251:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,251:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'10.09\x00\x00\x00') decoded to 10.09
2022-11-22 18:00:34,252:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,252:DEBUG:abstractprotocol:decode@431: Got defn ['uptime', 4, 'Up Time', '']
2022-11-22 18:00:34,252:DEBUG:abstractprotocol:process_response@104: Processing data_type: uptime for data_name: Up Time, raw_value bytearray(b'\xa0\x94\x07\x00')
2022-11-22 18:00:34,252:DEBUG:abstractprotocol:process_response@175: Processing format string uptime(raw_value)
2022-11-22 18:00:34,253:DEBUG:protocol_helpers:uptime@72: uptime defn
2022-11-22 18:00:34,253:DEBUG:protocol_helpers:uptime@77: Uptime int value 160 for pos 0
2022-11-22 18:00:34,253:DEBUG:protocol_helpers:uptime@77: Uptime int value 38048 for pos 1
2022-11-22 18:00:34,254:DEBUG:protocol_helpers:uptime@77: Uptime int value 496800 for pos 2
2022-11-22 18:00:34,254:DEBUG:protocol_helpers:uptime@77: Uptime int value 496800 for pos 3
2022-11-22 18:00:34,254:INFO:protocol_helpers:uptime@87: Uptime result 5D18H0M0S
2022-11-22 18:00:34,255:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,255:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Int', 4, 'Power-on Times', '']
2022-11-22 18:00:34,255:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Int for data_name: Power-on Times, raw_value bytearray(b'\x04\x00\x00\x00')
2022-11-22 18:00:34,255:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Int(raw_value)
2022-11-22 18:00:34,256:DEBUG:protocol_helpers:Hex2Int@96: Hex bytearray(b'\x04\x00\x00\x00') decoded to 4
2022-11-22 18:00:34,256:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,256:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 16, 'Device Name', '']
2022-11-22 18:00:34,256:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Device Name, raw_value bytearray(b'JK-B2A20S20P\x00\x00\x00\x00')
2022-11-22 18:00:34,257:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,257:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'JK-B2A20S20P\x00\x00\x00\x00') decoded to JK-B2A20S20P
2022-11-22 18:00:34,257:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,258:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 16, 'Device Passcode', '']
2022-11-22 18:00:34,258:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Device Passcode, raw_value bytearray(b'1234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:34,258:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,259:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'1234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') decoded to 1234
2022-11-22 18:00:34,259:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,259:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 8, 'Manufacturing Date', '']
2022-11-22 18:00:34,260:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Manufacturing Date, raw_value bytearray(b'221116\x00\x00')
2022-11-22 18:00:34,260:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,260:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'221116\x00\x00') decoded to 221116
2022-11-22 18:00:34,261:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,261:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 11, 'Serial Number', '']
2022-11-22 18:00:34,262:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Serial Number, raw_value bytearray(b'2080316074\x00')
2022-11-22 18:00:34,262:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,262:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'2080316074\x00') decoded to 2080316074
2022-11-22 18:00:34,263:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,263:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 5, 'Passcode', '']
2022-11-22 18:00:34,263:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Passcode, raw_value bytearray(b'0000\x00')
2022-11-22 18:00:34,263:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,264:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'0000\x00') decoded to 0000
2022-11-22 18:00:34,264:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,264:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 16, 'User Data', '']
2022-11-22 18:00:34,264:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: User Data, raw_value bytearray(b'Input Userdata\x00\x00')
2022-11-22 18:00:34,265:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,265:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'Input Userdata\x00\x00') decoded to Input Userdata
2022-11-22 18:00:34,265:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,266:DEBUG:abstractprotocol:decode@431: Got defn ['Hex2Ascii', 16, 'Setup Passcode', '']
2022-11-22 18:00:34,266:DEBUG:abstractprotocol:process_response@104: Processing data_type: Hex2Ascii for data_name: Setup Passcode, raw_value bytearray(b'123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2022-11-22 18:00:34,266:DEBUG:abstractprotocol:process_response@175: Processing format string Hex2Ascii(raw_value)
2022-11-22 18:00:34,266:DEBUG:protocol_helpers:Hex2Ascii@124: Hex bytearray(b'123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') decoded to 123456
2022-11-22 18:00:34,267:DEBUG:abstractprotocol:decode@409: Processing POSITIONAL type responses
2022-11-22 18:00:34,267:DEBUG:abstractprotocol:decode@431: Got defn ['discard', 672, 'unknown', '']
2022-11-22 18:00:34,267:DEBUG:abstractprotocol:process_response@104: Processing data_type: discard for data_name: unknown, raw_value bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:34,268:DEBUG:abstractprotocol:process_response@111: Discarding unknown:bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000')
2022-11-22 18:00:34,268:INFO:device:run_command@341: Decoded response {'raw_response': ['Uªë\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000', ''], '_command': 'getInfo', '_command_description': 'BLE Device Information inquiry', 'Header': ['55aaeb90', ''], 'Record Type': ['03', ''], 'Record Counter': [46, ''], 'Device Model': ['JK-B2A20S20P', ''], 'Hardware Version': ['10.XW', ''], 'Software Version': ['10.09', ''], 'Up Time': ['5D18H0M0S', ''], 'Power-on Times': [4, ''], 'Device Name': ['JK-B2A20S20P', ''], 'Device Passcode': ['1234', ''], 'Manufacturing Date': ['221116', ''], 'Serial Number': ['2080316074', ''], 'Passcode': ['0000', ''], 'User Data': ['Input Userdata', ''], 'Setup Passcode': ['123456', '']}
2022-11-22 18:00:34,269:DEBUG:init:main@418: results: {'raw_response': ['Uªë\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000', ''], '_command': 'getInfo', '_command_description': 'BLE Device Information inquiry', 'Header': ['55aaeb90', ''], 'Record Type': ['03', ''], 'Record Counter': [46, ''], 'Device Model': ['JK-B2A20S20P', ''], 'Hardware Version': ['10.XW', ''], 'Software Version': ['10.09', ''], 'Up Time': ['5D18H0M0S', ''], 'Power-on Times': [4, ''], 'Device Name': ['JK-B2A20S20P', ''], 'Device Passcode': ['1234', ''], 'Manufacturing Date': ['221116', ''], 'Serial Number': ['2080316074', ''], 'Passcode': ['0000', ''], 'User Data': ['Input Userdata', ''], 'Setup Passcode': ['123456', '']}
2022-11-22 18:00:34,269:INFO:init:get_output@38: attempting to create output processor: screen
2022-11-22 18:00:34,273:DEBUG:screen:init@16: processor.screen init kwargs {}
2022-11-22 18:00:34,273:DEBUG:init:main@424: Using output filter: None
2022-11-22 18:00:34,273:INFO:screen:output@19: Using output processor: screen
2022-11-22 18:00:34,274:DEBUG:screen:output@20: kwargs {'data': {'raw_response': ['Uªë\x90\x03.JK-B2A20S20P\x00\x00\x00\x0010.XW\x00\x00\x0010.09\x00\x00\x00\xa0\x94\x07\x00\x04\x00\x00\x00JK-B2A20S20P\x00\x00\x00\x001234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00221116\x00\x002080316074\x000000\x00Input Userdata\x00\x00123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000', ''], '_command': 'getInfo', '_command_description': 'BLE Device Information inquiry', 'Header': ['55aaeb90', ''], 'Record Type': ['03', ''], 'Record Counter': [46, ''], 'Device Model': ['JK-B2A20S20P', ''], 'Hardware Version': ['10.XW', ''], 'Software Version': ['10.09', ''], 'Up Time': ['5D18H0M0S', ''], 'Power-on Times': [4, ''], 'Device Name': ['JK-B2A20S20P', ''], 'Device Passcode': ['1234', ''], 'Manufacturing Date': ['221116', ''], 'Serial Number': ['2080316074', ''], 'Passcode': ['0000', ''], 'User Data': ['Input Userdata', ''], 'Setup Passcode': ['123456', '']}, 'tag': 'getInfo', 'name': 'unnamed', 'mqtt_broker': MqttBroker(name='localhost', port=1883, username=None, password=None, results_topic='mpp-solar', mqttc=<paho.mqtt.client.Client object at 0xb6580c90>, _isConnected=False), 'udp_port': '5555', 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'filter': None, 'excl_filter': None, 'keep_case': False}
Command: getInfo - BLE Device Information inquiry

Parameter Value Unit
header 55aaeb90
record_type 03
record_counter 46
device_model JK-B2A20S20P
hardware_version 10.XW
software_version 10.09
up_time 5D18H0M0S
power-on_times 4
device_name JK-B2A20S20P
device_passcode 1234
manufacturing_date 221116
serial_number 2080316074
passcode 0000
user_data Input Userdata
setup_passcode 123456
2022-11-22 18:00:34,278:DEBUG:init:main@449: Not daemon, so not looping