casambi-bt-revamped 0.3.6.dev10__tar.gz → 0.3.6.dev11__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.dev10/src/casambi_bt_revamped.egg-info → casambi_bt_revamped-0.3.6.dev11}/PKG-INFO +1 -1
  2. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/setup.cfg +1 -1
  3. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_client.py +9 -4
  4. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11/src/casambi_bt_revamped.egg-info}/PKG-INFO +1 -1
  5. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/LICENSE +0 -0
  6. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/README.md +0 -0
  7. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/pyproject.toml +0 -0
  8. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/__init__.py +0 -0
  9. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_cache.py +0 -0
  10. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_casambi.py +0 -0
  11. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_client_android_parser.py +0 -0
  12. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_constants.py +0 -0
  13. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_discover.py +0 -0
  14. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_encryption.py +0 -0
  15. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_keystore.py +0 -0
  16. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_network.py +0 -0
  17. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_operation.py +0 -0
  18. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/_unit.py +0 -0
  19. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/errors.py +0 -0
  20. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/CasambiBt/py.typed +0 -0
  21. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/casambi_bt_revamped.egg-info/SOURCES.txt +0 -0
  22. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/casambi_bt_revamped.egg-info/dependency_links.txt +0 -0
  23. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/src/casambi_bt_revamped.egg-info/requires.txt +0 -0
  24. {casambi_bt_revamped-0.3.6.dev10 → casambi_bt_revamped-0.3.6.dev11}/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.dev10
3
+ Version: 0.3.6.dev11
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.dev10
3
+ version = 0.3.6.dev11
4
4
  author = rankjie
5
5
  author_email = rankjie@gmail.com
6
6
  description = Enhanced Casambi Bluetooth client library with switch event support
@@ -551,9 +551,13 @@ 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
- # For type 0x10 messages, include the full data from start position to current position
555
- # This ensures we capture any additional bytes after the declared payload
556
- full_message_data = data[oldPos:pos] if message_type == 0x10 else data
554
+ # For type 0x10 messages, we need to pass additional data beyond the declared payload
555
+ if message_type == 0x10:
556
+ # Extend to include at least 10 bytes from message start for state byte
557
+ extended_end = min(oldPos + 11, len(data))
558
+ full_message_data = data[oldPos:extended_end]
559
+ else:
560
+ full_message_data = data
557
561
  self._processSwitchMessage(message_type, flags, parameter, payload, full_message_data, oldPos, packet_seq, raw_packet, android_switch_event)
558
562
  elif message_type == 0x29:
559
563
  # This shouldn't happen due to check above, but just in case
@@ -615,6 +619,7 @@ class CasambiClient:
615
619
  elif message_type == 0x10:
616
620
  # Type 0x10: The state byte is at position 9 (0-indexed) from message start
617
621
  # This applies to all units, not just unit 31
622
+ # full_data for type 0x10 is the message data starting from position 0
618
623
  state_pos = 9
619
624
  if len(full_data) > state_pos:
620
625
  state_byte = full_data[state_pos]
@@ -627,7 +632,7 @@ class CasambiClient:
627
632
  elif state_byte == 0x0c:
628
633
  event_string = "button_release_after_hold"
629
634
  else:
630
- self._logger.debug(f"Type 0x10: State byte 0x{state_byte:02x} at pos {state_pos}")
635
+ self._logger.debug(f"Type 0x10: Unknown state byte 0x{state_byte:02x} at message pos {state_pos}")
631
636
  # Fallback: check if extra_data starts with 0x12 (indicates release)
632
637
  if len(extra_data) >= 1 and extra_data[0] == 0x12:
633
638
  event_string = "button_release"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.6.dev10
3
+ Version: 0.3.6.dev11
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