Skip to content

Add LG CordZero A9 stick vacuum HWWA9K_F2 - #116

Open
tunarabuuu wants to merge 1 commit into
anszom:masterfrom
tunarabuuu:dev-vacuum
Open

Add LG CordZero A9 stick vacuum HWWA9K_F2#116
tunarabuuu wants to merge 1 commit into
anszom:masterfrom
tunarabuuu:dev-vacuum

Conversation

@tunarabuuu

Copy link
Copy Markdown
Contributor

Fourth of the per-device-class splits from #111.

HWWA9K_F2 — an AA..BB ThinQ2 stick vacuum (deviceType 504). The byte layout was recovered by injecting single-byte-changed state frames through the management API and reading the LG cloud's decode back, one offset per observation. The appliance sends the current record last (with the previous record ahead of it after a setting changes), so the trailing record is decoded.

Addressing your review notes from #111:

  • processAABB — reads go through the base class's processAABB now; the frame arrives with its leading AA/length and trailing CRC/BB stripped, so byte 0 is the class tag and the record offsets need no whole-frame adjustment. The 44-byte capability list the appliance also sends is still rejected, by its record-count guard.
  • logging utility — the console.warn calls now use log(...).
  • header comment — trimmed, and dropped a stray absolute path to a capture file on my machine.

All labels are English. npm test passes; tsc clean.

An AA..BB ThinQ2 stick vacuum (deviceType 504). The byte layout was recovered
by injecting single-byte-changed state frames through the management API and
reading LG cloud's decode back, one offset per observation. The appliance
sends the current record last, with the previous record ahead of it after a
setting changes, so the trailing record is decoded.

Reads go through the base class's processAABB — the frame arrives with its
leading AA/length and trailing CRC/BB stripped, so byte 0 is the class tag and
the record offsets need no whole-frame adjustment. The 44-byte capability list
the appliance also sends is rejected by its record-count guard. Warnings go
through the logging utility.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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