casambi-bt-revamped 0.3.6.dev5__tar.gz → 0.3.6.dev6__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.
Files changed (24) hide show
  1. {casambi_bt_revamped-0.3.6.dev5/src/casambi_bt_revamped.egg-info → casambi_bt_revamped-0.3.6.dev6}/PKG-INFO +1 -1
  2. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/setup.cfg +1 -1
  3. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_client.py +13 -10
  4. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6/src/casambi_bt_revamped.egg-info}/PKG-INFO +1 -1
  5. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/LICENSE +0 -0
  6. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/README.md +0 -0
  7. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/pyproject.toml +0 -0
  8. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/__init__.py +0 -0
  9. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_cache.py +0 -0
  10. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_casambi.py +0 -0
  11. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_client_android_parser.py +0 -0
  12. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_constants.py +0 -0
  13. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_discover.py +0 -0
  14. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_encryption.py +0 -0
  15. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_keystore.py +0 -0
  16. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_network.py +0 -0
  17. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_operation.py +0 -0
  18. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/_unit.py +0 -0
  19. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/errors.py +0 -0
  20. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/CasambiBt/py.typed +0 -0
  21. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/casambi_bt_revamped.egg-info/SOURCES.txt +0 -0
  22. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/casambi_bt_revamped.egg-info/dependency_links.txt +0 -0
  23. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/casambi_bt_revamped.egg-info/requires.txt +0 -0
  24. {casambi_bt_revamped-0.3.6.dev5 → casambi_bt_revamped-0.3.6.dev6}/src/casambi_bt_revamped.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.6.dev5
3
+ Version: 0.3.6.dev6
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,6 +1,6 @@
1
1
  [metadata]
2
2
  name = casambi-bt-revamped
3
- version = 0.3.6.dev5
3
+ version = 0.3.6.dev6
4
4
  author = rankjie
5
5
  author_email = rankjie@gmail.com
6
6
  description = Enhanced Casambi Bluetooth client library with switch event support
@@ -600,16 +600,11 @@ class CasambiClient:
600
600
  # Expected pattern: [unit_id_echo][0x12 or similar][0x00]
601
601
  unit_id_echo = extra_data[0]
602
602
  if unit_id_echo != unit_id:
603
- # Special case: 0x1f (31) appears to be a broadcast/group indicator
604
- if unit_id_echo == 0x1f:
605
- self._logger.debug(
606
- f"Ignoring broadcast/group event from unit {unit_id} (unit_id_echo=0x1f)"
607
- )
608
- return # Don't process this as a switch event
609
- else:
610
- self._logger.warning(
611
- f"Extra data validation failed: unit_id_echo {unit_id_echo} != unit_id {unit_id}"
612
- )
603
+ # This might indicate a control relationship
604
+ # e.g., unit_id_echo = controlling unit, unit_id = controlled unit
605
+ self._logger.info(
606
+ f"Control event: unit {unit_id} controlled by unit {unit_id_echo}"
607
+ )
613
608
 
614
609
  event_string = "unknown"
615
610
 
@@ -661,6 +656,13 @@ class CasambiClient:
661
656
  self._logger.warning(f"Unit ID mismatch: current={unit_id}, android={android_switch_event['unit_id']}")
662
657
  if android_switch_event['button'] != button:
663
658
  self._logger.warning(f"Button mismatch: current={button}, android={android_switch_event['button']}")
659
+
660
+ # Extract controlling unit if present
661
+ controlling_unit = None
662
+ if message_type == 0x10 and len(extra_data) >= 1:
663
+ unit_id_echo = extra_data[0]
664
+ if unit_id_echo != unit_id:
665
+ controlling_unit = unit_id_echo
664
666
 
665
667
  self._dataCallback(
666
668
  IncommingPacketType.SwitchEvent,
@@ -672,6 +674,7 @@ class CasambiClient:
672
674
  "event": event_string,
673
675
  "flags": flags,
674
676
  "extra_data": extra_data,
677
+ "controlling_unit": controlling_unit,
675
678
  "packet_sequence": packet_seq,
676
679
  "raw_packet": b2a(raw_packet) if raw_packet else None,
677
680
  "decrypted_data": b2a(full_data),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.6.dev5
3
+ Version: 0.3.6.dev6
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