From e0461941ab710f0af15db98b77a5ff7eee822c37 Mon Sep 17 00:00:00 2001 From: DesertOvercrowded Date: Thu, 10 Sep 2026 08:55:35 +0200 Subject: [PATCH] fix: ignore unknown Xiaomi door events --- .../ble_monitor/ble_parser/xiaomi.py | 3 +-- .../ble_monitor/test/test_xiaomi_parser.py | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/custom_components/ble_monitor/ble_parser/xiaomi.py b/custom_components/ble_monitor/ble_parser/xiaomi.py index 35f12374..bedd7dff 100644 --- a/custom_components/ble_monitor/ble_parser/xiaomi.py +++ b/custom_components/ble_monitor/ble_parser/xiaomi.py @@ -627,8 +627,7 @@ def obj1019(xobj): opening = 1 status = "device reset" else: - opening = 0 - status = None + return {} return {"opening": opening, "status": status} diff --git a/custom_components/ble_monitor/test/test_xiaomi_parser.py b/custom_components/ble_monitor/test/test_xiaomi_parser.py index 2554849e..cb15432e 100644 --- a/custom_components/ble_monitor/test/test_xiaomi_parser.py +++ b/custom_components/ble_monitor/test/test_xiaomi_parser.py @@ -4,8 +4,9 @@ from ble_monitor.ble_parser import BleParser from ble_monitor.ble_parser.xiaomi import (obj4e0c, obj4e0d, obj4e0e, obj4e16, obj4e17, obj5a16, obj560c, obj560d, - obj560e, obj1001, obj3003, obj4810, - obj4850, obj4851, obj4852, obj5010) + obj560e, obj1001, obj1019, obj3003, + obj4810, obj4850, obj4851, obj4852, + obj5010) from ble_monitor.const import MEASUREMENT_DICT, SENSOR_TYPES @@ -477,6 +478,18 @@ def test_Xiaomi_WX08ZM(self): def test_Xiaomi_MCCGQ02HL(self): """Test Xiaomi parser for MCCGQ02HL.""" + assert obj1019(bytes([0])) == {"opening": 1, "status": "opened"} + assert obj1019(bytes([1])) == {"opening": 0, "status": "closed"} + assert obj1019(bytes([2])) == { + "opening": 1, + "status": "closing timeout", + } + assert obj1019(bytes([3])) == { + "opening": 1, + "status": "device reset", + } + assert obj1019(bytes([4])) == {} + assert obj1019(bytes([255])) == {} def test_Xiaomi_CGH1(self): """Test Xiaomi parser for CGH1."""