Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions PROTOCOL.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,3 +146,17 @@ except a one-hot `1` that walks left one symbol per outlet position
(pos 2 → symbol 9, pos 3 → 8, pos 4 → 7, pos 5 → 6), and the last two
symbols are `01` = ON, `10` = OFF. The YAML stores full 12-symbol codes per
button, so this structure is documentation only.

### Repeat count — chairs (pos 5) ON reliability

The chairs outlet latched ON only intermittently at `repeat_count: 6`,
independent of transmitter distance; OFF and the other three lamps were
reliable. Diagnosis ruled out a code bug: the chairs ON pulse train is
byte-correct (matches the factory remote's decoded `ea8afc8`) and
structurally identical to the working lamps' ON trains. The differentiator
is frame count — the factory remote sends ~47 frames per press vs our 6.
That outlet's receiver needs more consecutive clean frames to latch ON than
6 provides. Raised `repeat_count` to **15** (352 ms/transmit, well under the
5 s firmware budget); chairs ON then switched reliably across repeated
trials. Fix is YAML-only (timings/repeats are read from the profile at send
time — no reflash).
3 changes: 2 additions & 1 deletion devices/zap_lights.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ timing:
short_us: 184 # 1-alpha segment (measured; rtl_433 timing distribution)
long_us: 548 # 3-alpha segment (~3x short_us; ideal 552, measured 548)
sync_gap_us: 5684 # long LOW after the sync pulse (~31x short_us)
repeat_count: 6 # remote repeats while held; receiver needs a few clean ones
repeat_count: 15 # factory remote sends ~47/press; chairs receiver latches ON
# unreliably off 6 (OFF fine, other lamps fine) — see PROTOCOL.md

# Full 12-symbol tri-state code per button (no address/command factoring —
# the capture is the source of truth; see the design spec deviation note).
Expand Down
Loading