casambi-bt-revamped 0.3.6.dev14__py3-none-any.whl → 0.3.6.dev15__py3-none-any.whl

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.
CasambiBt/_client.py CHANGED
@@ -601,21 +601,30 @@ class CasambiClient:
601
601
  self._logger.error("Switch message has empty payload")
602
602
  return
603
603
 
604
- # For type 0x10 messages, the structure is different
604
+ # Extract unit_id based on message type
605
605
  if message_type == 0x10 and len(payload) >= 3:
606
606
  # Type 0x10: unit_id is at payload[2]
607
607
  unit_id = payload[2]
608
- action = payload[1]
609
608
  extra_data = payload[3:] if len(payload) > 3 else b''
610
609
  else:
611
610
  # Standard parsing for other message types
612
611
  unit_id = payload[0]
613
- action = None
614
- if len(payload) > 1:
615
- action = payload[1]
616
612
  extra_data = b''
617
613
  if len(payload) > 2:
618
614
  extra_data = payload[2:]
615
+
616
+ # Extract action using Android-inspired approach for consistency
617
+ if len(payload) > 4:
618
+ # Use payload[4] which is consistent across message types (0 for both)
619
+ action = payload[4]
620
+ else:
621
+ # Fallback to traditional extraction for short payloads
622
+ if message_type == 0x10 and len(payload) > 1:
623
+ action = payload[1]
624
+ elif len(payload) > 1:
625
+ action = payload[1]
626
+ else:
627
+ action = None
619
628
 
620
629
  event_string = "unknown"
621
630
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.6.dev14
3
+ Version: 0.3.6.dev15
4
4
  Summary: Enhanced Casambi Bluetooth client library with switch event support
5
5
  Home-page: https://github.com/rankjie/casambi-bt
6
6
  Author: rankjie
@@ -1,7 +1,7 @@
1
1
  CasambiBt/__init__.py,sha256=TW445xSu5PV3TyMjJfwaA1JoWvQQ8LXhZgGdDTfWf3s,302
2
2
  CasambiBt/_cache.py,sha256=KZ2xbiHAHXUPa8Gw_75Nw9NL4QSY_sTWHbyYXYUDaB0,3865
3
3
  CasambiBt/_casambi.py,sha256=gLLkhEcObgapqTx5Mk7WRClyG29UyfZYZCCIhhOg4H4,23101
4
- CasambiBt/_client.py,sha256=FWuFwG1nS49-dZ13Dw-E_nNGDeru3nJC0y13v7lz1h4,29657
4
+ CasambiBt/_client.py,sha256=qzlGobl2ktwkQTeZUOM0Wx8-DGq5YU74p7vPbWN3Nik,30038
5
5
  CasambiBt/_client_android_parser.py,sha256=1lVkVYMO0Nhh9_nkNwgb68hlCS_uD8WxYQDir5hOdHs,7744
6
6
  CasambiBt/_constants.py,sha256=_AxkG7Btxl4VeS6mO7GJW5Kc9dFs3s9sDmtJ83ZEKNw,359
7
7
  CasambiBt/_discover.py,sha256=H7HpiFYIy9ELvmPXXd_ck-5O5invJf15dDIRk-vO5IE,1696
@@ -12,8 +12,8 @@ CasambiBt/_operation.py,sha256=-BuC1Bvtg-G-zSN_b_0JMvXdHZaR6LbTw0S425jg96c,842
12
12
  CasambiBt/_unit.py,sha256=YiQWoHmMDWHHo4XAjtW8rHsBqIqpmp9MVdv1Mbu2xw4,17043
13
13
  CasambiBt/errors.py,sha256=0JgDjaKlAKDes0poWzA8nrTUYQ8qdNfBb8dfaqqzCRA,1664
14
14
  CasambiBt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- casambi_bt_revamped-0.3.6.dev14.dist-info/licenses/LICENSE,sha256=TAIIitFxpxEDi6Iju7foW4TDQmWvC-IhLVLhl67jKmQ,11341
16
- casambi_bt_revamped-0.3.6.dev14.dist-info/METADATA,sha256=Z7oqh8lcunwgtUOi6oq9oQzRtDUIVCV4laZCeS14BRA,3050
17
- casambi_bt_revamped-0.3.6.dev14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
18
- casambi_bt_revamped-0.3.6.dev14.dist-info/top_level.txt,sha256=uNbqLjtecFosoFzpGAC89-5icikWODKI8rOjbi8v_sA,10
19
- casambi_bt_revamped-0.3.6.dev14.dist-info/RECORD,,
15
+ casambi_bt_revamped-0.3.6.dev15.dist-info/licenses/LICENSE,sha256=TAIIitFxpxEDi6Iju7foW4TDQmWvC-IhLVLhl67jKmQ,11341
16
+ casambi_bt_revamped-0.3.6.dev15.dist-info/METADATA,sha256=N5XlFjqP2Du298VQqPFBagFKzhatuz1loohA0dYLHQg,3050
17
+ casambi_bt_revamped-0.3.6.dev15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
18
+ casambi_bt_revamped-0.3.6.dev15.dist-info/top_level.txt,sha256=uNbqLjtecFosoFzpGAC89-5icikWODKI8rOjbi8v_sA,10
19
+ casambi_bt_revamped-0.3.6.dev15.dist-info/RECORD,,