casambi-bt-revamped 0.3.6.dev18__tar.gz → 0.3.7.dev1__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.dev18/src/casambi_bt_revamped.egg-info → casambi_bt_revamped-0.3.7.dev1}/PKG-INFO +1 -1
  2. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/setup.cfg +1 -1
  3. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_client.py +12 -6
  4. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1/src/casambi_bt_revamped.egg-info}/PKG-INFO +1 -1
  5. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/LICENSE +0 -0
  6. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/README.md +0 -0
  7. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/pyproject.toml +0 -0
  8. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/__init__.py +0 -0
  9. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_cache.py +0 -0
  10. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_casambi.py +0 -0
  11. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_client_android_parser.py +0 -0
  12. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_constants.py +0 -0
  13. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_discover.py +0 -0
  14. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_encryption.py +0 -0
  15. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_keystore.py +0 -0
  16. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_network.py +0 -0
  17. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_operation.py +0 -0
  18. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/_unit.py +0 -0
  19. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/errors.py +0 -0
  20. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/CasambiBt/py.typed +0 -0
  21. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/casambi_bt_revamped.egg-info/SOURCES.txt +0 -0
  22. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/casambi_bt_revamped.egg-info/dependency_links.txt +0 -0
  23. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/src/casambi_bt_revamped.egg-info/requires.txt +0 -0
  24. {casambi_bt_revamped-0.3.6.dev18 → casambi_bt_revamped-0.3.7.dev1}/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.dev18
3
+ Version: 0.3.7.dev1
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.dev18
3
+ version = 0.3.7.dev1
4
4
  author = rankjie
5
5
  author_email = rankjie@gmail.com
6
6
  description = Enhanced Casambi Bluetooth client library with switch event support
@@ -524,7 +524,7 @@ class CasambiClient:
524
524
  message_type = data[pos]
525
525
  flags = data[pos + 1]
526
526
  length = ((data[pos + 2] >> 4) & 15) + 1
527
- parameter = data[pos + 2] & 15
527
+ parameter = data[pos + 2] # Full byte, not just lower 4 bits
528
528
  pos += 3
529
529
 
530
530
  # Sanity check: message type should be reasonable
@@ -551,11 +551,17 @@ class CasambiClient:
551
551
  # Process based on message type
552
552
  if message_type == 0x08 or message_type == 0x10: # Switch/button events
553
553
  switch_events_found += 1
554
- # Extract button ID - parameter field contains the button ID
555
- # For EVO firmware: parameter encodes button ID in lower 4 bits
556
- # (0x40=button0, 0x41=button1, 0x42=button2, etc.)
557
- button = parameter & 0x0F
558
- self._logger.debug(f"EVO button extraction: parameter=0x{parameter:02x}, button={button}")
554
+ # Extract button ID - try both upper and lower nibbles
555
+ button_lower = parameter & 0x0F
556
+ button_upper = (parameter >> 4) & 0x0F
557
+
558
+ # Use upper 4 bits if lower 4 bits are 0, otherwise use lower 4 bits
559
+ if button_lower == 0 and button_upper != 0:
560
+ button = button_upper
561
+ self._logger.debug(f"EVO button extraction: parameter=0x{parameter:02x}, using upper nibble, button={button}")
562
+ else:
563
+ button = button_lower
564
+ self._logger.debug(f"EVO button extraction: parameter=0x{parameter:02x}, using lower nibble, button={button}")
559
565
 
560
566
  # For type 0x10 messages, we need to pass additional data beyond the declared payload
561
567
  if message_type == 0x10:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.6.dev18
3
+ Version: 0.3.7.dev1
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