Skip to content

Fix undocumented airtouch2+commands#2

Merged
aramshaw merged 15 commits into
masterfrom
fix-undocumented-airtouch2+commands
Aug 25, 2025
Merged

Fix undocumented airtouch2+commands#2
aramshaw merged 15 commits into
masterfrom
fix-undocumented-airtouch2+commands

Conversation

@aramshaw
Copy link
Copy Markdown
Owner

Add handling of several AirTouch2+ messages including:

  • 0x31 - Favorite Status
  • 0x45 - System Identity Broadcast
  • 0x2B - Extended Status - System status including available favorites, timers, and system counters.

aramshaw added 15 commits July 19, 2025 17:02
The AirTouch2+ controller requires the CRC checksum to be calculated from the address field to the end of the data payload. The previous implementation used an incorrect offset, resulting in invalid checksums and causing the controller to reject messages and lock out the client.

This commit corrects the checksum calculation in `message_common.py` to use the proper starting offset (`CommonMessageOffsets.ADDRESS`).

It also adds the `get_data_from_offset` method to the `Buffer` class, which was necessary to support the corrected checksum logic and resolve a subsequent `AttributeError`.
Cleans up ACK handling for several control status message subtypes.

- Fixes rate limiting to remove special handling for 0x2B.
- Comments out legacy ACK generation code that was found to be unnecessary.
- Minor formatting fixes
testing: the ACK handling of 0x45 messages
@aramshaw aramshaw merged commit 44390ce into master Aug 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant