v0.3.9 - Wake-learning guard (session-refresh packets)
Fixed
Wake learning can no longer be overwritten by session-refresh packets.
The official Coffee Link app emits 0x84 0x0f frames that are not a power-on (e.g. params 03 02, seen in issue #1 captures). The sniffer used to learn any power-family frame as the wake frame, so such a packet could silently replace the learned power-on frame and break the Wake button replay.
- Only frames with the real wake params (
02 01) are now learned as the wake frame. - A non-wake frame persisted by an earlier version is discarded at startup, with a log message asking to power the machine on once from the official app to re-learn.
No behaviour change on the PrimaDonna Soul (DL-millcore) or on the Eletta beverage learn-replay path. 44 tests pass.
Thanks @TischenkoArseny for spotting the overwrite path (#1).