Skip to content

v0.3.2 - Command sniffer (capture official-app payloads)

Choose a tag to compare

@actabi actabi released this 04 Jun 22:30

Diagnostic release to unblock models where commands are accepted by the cloud (HTTP 200) but the machine stays silent (e.g. Eletta Explore).

Added

  • Command sniffer (passive diagnostic). The coordinator now watches the binary command channel (data_request / app_data_request) and the response channel on every poll. When a command is written by the official Coffee Link app (one this integration did not send), its exact bytes are captured, decoded, and logged (CAPTURED app->machine command ...).
  • New diagnostic sensor "Last Captured Command". State = the captured base64 frame; attributes decode it (family, beverage, action, recipe params, CRC validity, timestamp) and include matches_integration - whether the app structural bytes (payload + CRC, timestamp ignored) equal what this integration would generate. That is the ground-truth needed to tell a wrong-payload bug apart from an environmental one.
  • decode_command / builder_structural_b64 / summarize_decoded helpers (pure, 17 unit tests over real captured frames).

How to use (if your machine ignores commands)

  1. Update to v0.3.2 and reload the integration.
  2. Open the official Coffee Link app and brew a beverage.
  3. In Developer Tools -> States, read sensor.<machine>_last_captured_command.
  4. If matches_integration: false, paste the attributes into an issue - the app uses different bytes for your model and the builder can be fixed.

Notes

  • No extra API calls and no change to command encoding - safe for the reference PrimaDonna Soul.