|
@@ -2,8 +2,11 @@
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
+import logging
|
|
|
import struct
|
|
import struct
|
|
|
|
|
|
|
|
|
|
+_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
+
|
|
|
|
|
|
|
|
def process_vacuum(
|
|
def process_vacuum(
|
|
|
data: bytes | None, mfr_data: bytes | None
|
|
data: bytes | None, mfr_data: bytes | None
|
|
@@ -20,7 +23,7 @@ def process_vacuum(
|
|
|
_battery = mfr_data[12]
|
|
_battery = mfr_data[12]
|
|
|
_work_status = mfr_data[13] & 0b00111111
|
|
_work_status = mfr_data[13] & 0b00111111
|
|
|
|
|
|
|
|
- return {
|
|
|
|
|
|
|
+ result = {
|
|
|
"sequence_number": _seq_num,
|
|
"sequence_number": _seq_num,
|
|
|
"soc_version": _soc_version,
|
|
"soc_version": _soc_version,
|
|
|
"step": _step,
|
|
"step": _step,
|
|
@@ -29,6 +32,10 @@ def process_vacuum(
|
|
|
"work_status": _work_status,
|
|
"work_status": _work_status,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ _LOGGER.debug("Processed Vacuum data: %s, result: %s", data, result)
|
|
|
|
|
+
|
|
|
|
|
+ return result
|
|
|
|
|
+
|
|
|
|
|
|
|
|
def get_device_fw_version(version_bytes: bytes) -> str | None:
|
|
def get_device_fw_version(version_bytes: bytes) -> str | None:
|
|
|
version1 = version_bytes[0] & 0x0F
|
|
version1 = version_bytes[0] & 0x0F
|
|
@@ -51,7 +58,7 @@ def process_vacuum_k(
|
|
|
_work_status = (mfr_data[7] & 0b00010000) >> 4
|
|
_work_status = (mfr_data[7] & 0b00010000) >> 4
|
|
|
_battery = mfr_data[8] & 0b01111111
|
|
_battery = mfr_data[8] & 0b01111111
|
|
|
|
|
|
|
|
- return {
|
|
|
|
|
|
|
+ result = {
|
|
|
"sequence_number": _seq_num,
|
|
"sequence_number": _seq_num,
|
|
|
"dustbin_bound": _dustbin_bound,
|
|
"dustbin_bound": _dustbin_bound,
|
|
|
"dusbin_connected": _dusbin_connected,
|
|
"dusbin_connected": _dusbin_connected,
|
|
@@ -59,3 +66,7 @@ def process_vacuum_k(
|
|
|
"work_status": _work_status,
|
|
"work_status": _work_status,
|
|
|
"battery": _battery,
|
|
"battery": _battery,
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ _LOGGER.debug("Processed Vacuum K data: %s, result: %s", data, result)
|
|
|
|
|
+
|
|
|
|
|
+ return result
|