casambi-bt-revamped 0.3.6.dev8__tar.gz → 0.3.6.dev9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {casambi_bt_revamped-0.3.6.dev8/src/casambi_bt_revamped.egg-info → casambi_bt_revamped-0.3.6.dev9}/PKG-INFO +1 -1
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/setup.cfg +1 -1
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_client.py +18 -12
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9/src/casambi_bt_revamped.egg-info}/PKG-INFO +1 -1
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/LICENSE +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/README.md +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/pyproject.toml +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/__init__.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_cache.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_casambi.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_client_android_parser.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_constants.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_discover.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_encryption.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_keystore.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_network.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_operation.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_unit.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/errors.py +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/py.typed +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/casambi_bt_revamped.egg-info/SOURCES.txt +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/casambi_bt_revamped.egg-info/dependency_links.txt +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/casambi_bt_revamped.egg-info/requires.txt +0 -0
- {casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/casambi_bt_revamped.egg-info/top_level.txt +0 -0
|
@@ -585,15 +585,21 @@ class CasambiClient:
|
|
|
585
585
|
self._logger.error("Switch message has empty payload")
|
|
586
586
|
return
|
|
587
587
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
588
|
+
# For type 0x10 messages, the structure might be different
|
|
589
|
+
if message_type == 0x10 and len(payload) >= 3 and payload[2] == 0x1f:
|
|
590
|
+
# Special case: unit_id might be in payload[2] for some type 0x10 messages
|
|
591
|
+
unit_id = payload[2]
|
|
592
592
|
action = payload[1]
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
593
|
+
extra_data = payload[3:] if len(payload) > 3 else b''
|
|
594
|
+
else:
|
|
595
|
+
# Standard parsing
|
|
596
|
+
unit_id = payload[0]
|
|
597
|
+
action = None
|
|
598
|
+
if len(payload) > 1:
|
|
599
|
+
action = payload[1]
|
|
600
|
+
extra_data = b''
|
|
601
|
+
if len(payload) > 2:
|
|
602
|
+
extra_data = payload[2:]
|
|
597
603
|
|
|
598
604
|
event_string = "unknown"
|
|
599
605
|
|
|
@@ -622,16 +628,16 @@ class CasambiClient:
|
|
|
622
628
|
else:
|
|
623
629
|
# For some units, type 0x10 messages don't have the state byte
|
|
624
630
|
# In these cases, check if we have extra_data that might contain state info
|
|
625
|
-
if len(extra_data) >=
|
|
626
|
-
# Pattern observed: extra_data[
|
|
631
|
+
if len(extra_data) >= 2:
|
|
632
|
+
# Pattern observed: extra_data[0] might contain state info
|
|
627
633
|
# 0x12 seems to correlate with button release states
|
|
628
|
-
if extra_data[
|
|
634
|
+
if extra_data[0] == 0x12:
|
|
629
635
|
event_string = "button_release"
|
|
630
636
|
else:
|
|
631
637
|
event_string = "button_press"
|
|
632
638
|
self._logger.debug(f"Type 0x10: Using extra_data for state detection: {b2a(extra_data)}")
|
|
633
639
|
else:
|
|
634
|
-
self._logger.warning("Type 0x10 message missing state
|
|
640
|
+
self._logger.warning(f"Type 0x10 message missing state info, payload: {b2a(payload)}")
|
|
635
641
|
|
|
636
642
|
action_display = f"{action:#04x}" if action is not None else "N/A"
|
|
637
643
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_constants.py
RENAMED
|
File without changes
|
{casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_discover.py
RENAMED
|
File without changes
|
{casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_encryption.py
RENAMED
|
File without changes
|
{casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_keystore.py
RENAMED
|
File without changes
|
|
File without changes
|
{casambi_bt_revamped-0.3.6.dev8 → casambi_bt_revamped-0.3.6.dev9}/src/CasambiBt/_operation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|