Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
esphome::home_io_control::decisions::OneWayDedupState Struct Reference

Key fields of the last processed 1W frame, used to collapse a remote's repeat burst. More...

#include <hub_decisions.h>

Collaboration diagram for esphome::home_io_control::decisions::OneWayDedupState:

Public Attributes

std::string src_id
 Source node ID of the last processed frame; empty before the first.
uint8_t cmd {0}
 Command byte.
bool has_intent {false}
 Whether main0/main1 were decoded (execute / activate-mode only).
uint8_t main0 {0}
 First main byte — what distinguishes a move from a stop.
uint8_t main1 {0}
 Second main byte.
uint32_t timestamp {0}
 millis() when the frame was processed.

Detailed Description

Key fields of the last processed 1W frame, used to collapse a remote's repeat burst.

1W remotes repeat each command 4× at ~40ms intervals for reliability, and a held button keeps resending, so one logical press arrives as many identical frames. The key deliberately includes the decoded intent bytes and not just the command byte: a move and a stop are both CMD_EXECUTE and differ only in main0, so a command-only key silently discards a stop that follows a move within the window — losing the sender event, the optimistic-target clear, and the immediate poll that a stop is supposed to trigger.

Definition at line 163 of file hub_decisions.h.

Member Data Documentation

◆ cmd

uint8_t esphome::home_io_control::decisions::OneWayDedupState::cmd {0}

Command byte.

Definition at line 165 of file hub_decisions.h.

◆ has_intent

bool esphome::home_io_control::decisions::OneWayDedupState::has_intent {false}

Whether main0/main1 were decoded (execute / activate-mode only).

Definition at line 166 of file hub_decisions.h.

◆ main0

uint8_t esphome::home_io_control::decisions::OneWayDedupState::main0 {0}

First main byte — what distinguishes a move from a stop.

Definition at line 167 of file hub_decisions.h.

◆ main1

uint8_t esphome::home_io_control::decisions::OneWayDedupState::main1 {0}

Second main byte.

Definition at line 168 of file hub_decisions.h.

◆ src_id

std::string esphome::home_io_control::decisions::OneWayDedupState::src_id

Source node ID of the last processed frame; empty before the first.

Definition at line 164 of file hub_decisions.h.

◆ timestamp

uint32_t esphome::home_io_control::decisions::OneWayDedupState::timestamp {0}

millis() when the frame was processed.

Definition at line 169 of file hub_decisions.h.


The documentation for this struct was generated from the following file: