|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
All runtime tunable parameters for pairing and radio diagnostics. More...
#include <tuning_config.h>
Public Attributes | |
| SX1262RxBandwidth | sx1262_rx_bandwidth {SX1262RxBandwidth::BW_58_6_KHZ} |
| SX1262 RX bandwidth selector. | |
| uint16_t | sx1262_response_preamble {SX1262_RESPONSE_PREAMBLE} |
| SX1262 response preamble in bytes. | |
| uint16_t | sx1262_post_tx_settle_us {SX1262_POST_TX_SETTLE_US} |
| Delay after SX1262 TX before RX (µs). | |
| SX1276RxBandwidth | sx1276_rx_bandwidth {SX1276RxBandwidth::BW_41_7_KHZ} |
| SX1276 RX bandwidth selector. | |
| uint16_t | sx1276_response_preamble {SX1276_RESPONSE_PREAMBLE} |
| SX1276 response preamble in bytes. | |
| uint16_t | sx1276_discovery_hop_slice_ms |
| Per-channel dwell while SX1276 discovery hops. | |
| uint16_t | sx1262_discovery_hop_slice_ms |
| Per-channel dwell while SX1262 discovery hops. | |
| LR1121RxBandwidth | lr1121_rx_bandwidth {LR1121RxBandwidth::BW_117_3_KHZ} |
| LR1121 RX bandwidth selector. | |
| uint16_t | lr1121_response_preamble {LR1121_RESPONSE_PREAMBLE} |
| LR1121 response preamble in bytes. | |
| uint16_t | lr1121_post_tx_settle_us {LR1121_POST_TX_SETTLE_US} |
| Delay after LR1121 TX before RX (µs). | |
| uint16_t | lr1121_discovery_hop_slice_ms |
| Per-channel dwell while LR1121 discovery hops. | |
| uint16_t | cold_broadcast_reply_preamble |
| Preamble for a start-flagged key-extraction broadcast reply (0x29). | |
| uint16_t | normal_start_preamble |
| Preamble for a directed start frame to a non-low-power target. | |
| bool | normal_start_preamble_from_yaml {false} |
| True when normal_start_preamble: appeared in YAML. | |
| uint8_t | lbt_max_retries {LBT_MAX_RETRIES} |
| LBT retries before forced TX. | |
| int16_t | lbt_rssi_threshold_dbm {LBT_RSSI_THRESHOLD_DBM} |
| LBT channel-free threshold (dBm). | |
| bool | low_power_wake_belief {true} |
| Order a low_power device's start-frame tries by its wake belief (short preamble first when it is believed awake). | |
| uint16_t | exchange_start_response_wait_ms |
| Reply window for a start frame (wakes a sleeping device). | |
| uint16_t | exchange_response_wait_ms |
| Reply window for continuation frames and the post-auth final response. | |
| uint16_t | exchange_total_budget_ms {EXCHANGE_TOTAL_BUDGET_MS} |
| Ceiling on one whole exchange, retries included. | |
| std::vector< DiscoveryCommand > | pairing_discovery_commands |
| Ordered discovery commands. | |
| std::vector< uint8_t > | pairing_discovery_destination {0x00, 0x00, 0x00} |
| Destination when auto=false. | |
| bool | pairing_discovery_destination_auto {true} |
| When true, map commands to conventional addresses. | |
| uint8_t | pairing_discovery_payload {0} |
| Optional payload byte (used for 0x2E). | |
| bool | pairing_discovery_payload_enabled {false} |
| Whether the optional payload is enabled. | |
| bool | pairing_discovery_low_power {false} |
| Set LOW_POWER flag in discovery frames. | |
| bool | pairing_discovery_ack_capable {false} |
| Set ACK (CTRL1_ACK) on the discovery broadcast only. | |
| uint16_t | pairing_discovery_preamble |
| Preamble for the discovery broadcast (0x28/0x2E) start frame. | |
| uint16_t | pairing_discovery_wait_ms |
| Total wait window after sending discovery commands. | |
| uint16_t | pairing_discovery_initial_dwell_ms |
| Initial dwell on CH2 before discovery hopping begins. | |
| uint8_t | pairing_key_exchange_retries |
| Retries for the authenticated key exchange phase. | |
| ScanPowerClasses | scan_power_classes |
| Power classes the scan_paired_devices roll-call calls. | |
| DiscoverConfirmMode | pairing_discover_confirm |
| Whether/how to send CMD_DISCOVER_CONFIRM (0x2C) during pairing. | |
| DiscoveryListenChannels | pairing_discovery_listen_channels |
| Channels the discovery response wait covers. | |
| uint16_t | pairing_key_init_delay_ms |
| Pause after the discover-confirm step, before CMD_KEY_INIT (0x31). | |
| bool | active {false} |
| True when the YAML tuning: block is present. | |
All runtime tunable parameters for pairing and radio diagnostics.
Values reset to their defaults on every boot. Each field initializes from a canonical constant — chip-neutral defaults live in proto_timing.h, chip-specific defaults in this header — shared with the ESPHome YAML schema. The hub stores a single TuningConfig instance and passes it to the radio driver and pairing flow. UI callbacks update the hub instance directly; the snapshot helpers emit the current values in YAML-compatible form so a working combination can be copied back into the configuration file.
Definition at line 242 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::active {false} |
True when the YAML tuning: block is present.
Definition at line 323 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::cold_broadcast_reply_preamble |
Preamble for a start-flagged key-extraction broadcast reply (0x29).
Definition at line 266 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::exchange_response_wait_ms |
Reply window for continuation frames and the post-auth final response.
Definition at line 290 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::exchange_start_response_wait_ms |
Reply window for a start frame (wakes a sleeping device).
Definition at line 288 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::exchange_total_budget_ms {EXCHANGE_TOTAL_BUDGET_MS} |
Ceiling on one whole exchange, retries included.
Definition at line 292 of file tuning_config.h.
| uint8_t esphome::home_io_control::TuningConfig::lbt_max_retries {LBT_MAX_RETRIES} |
LBT retries before forced TX.
Definition at line 277 of file tuning_config.h.
| int16_t esphome::home_io_control::TuningConfig::lbt_rssi_threshold_dbm {LBT_RSSI_THRESHOLD_DBM} |
LBT channel-free threshold (dBm).
Definition at line 278 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::low_power_wake_belief {true} |
Order a low_power device's start-frame tries by its wake belief (short preamble first when it is believed awake).
False restores the fixed LONG_PREAMBLE on every try. A diagnostic off-switch, on by default.
Definition at line 279 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::lr1121_discovery_hop_slice_ms |
Per-channel dwell while LR1121 discovery hops.
Definition at line 264 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::lr1121_post_tx_settle_us {LR1121_POST_TX_SETTLE_US} |
Delay after LR1121 TX before RX (µs).
Definition at line 263 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::lr1121_response_preamble {LR1121_RESPONSE_PREAMBLE} |
LR1121 response preamble in bytes.
Definition at line 262 of file tuning_config.h.
| LR1121RxBandwidth esphome::home_io_control::TuningConfig::lr1121_rx_bandwidth {LR1121RxBandwidth::BW_117_3_KHZ} |
LR1121 RX bandwidth selector.
Definition at line 261 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::normal_start_preamble |
Preamble for a directed start frame to a non-low-power target.
Resolved at setup from RadioDriver::default_start_preamble() unless normal_start_preamble_from_yaml says the user set it.
Definition at line 268 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::normal_start_preamble_from_yaml {false} |
True when normal_start_preamble: appeared in YAML.
Codegen emits this alongside the value; it exists so setup() can tell "the user chose 32" from "nobody chose anything", which decides whether the driver's default applies (ADR 0042). Only read once, at setup — a later change through the Home Assistant number simply sets the value.
Definition at line 276 of file tuning_config.h.
| DiscoverConfirmMode esphome::home_io_control::TuningConfig::pairing_discover_confirm |
Whether/how to send CMD_DISCOVER_CONFIRM (0x2C) during pairing.
Definition at line 315 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::pairing_discovery_ack_capable {false} |
Set ACK (CTRL1_ACK) on the discovery broadcast only.
Opt-in — see the init_frame() doc in proto_frame.h; default off.
Definition at line 302 of file tuning_config.h.
| std::vector<DiscoveryCommand> esphome::home_io_control::TuningConfig::pairing_discovery_commands |
Ordered discovery commands.
Definition at line 295 of file tuning_config.h.
| std::vector<uint8_t> esphome::home_io_control::TuningConfig::pairing_discovery_destination {0x00, 0x00, 0x00} |
Destination when auto=false.
Definition at line 297 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::pairing_discovery_destination_auto {true} |
When true, map commands to conventional addresses.
Definition at line 298 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::pairing_discovery_initial_dwell_ms |
Initial dwell on CH2 before discovery hopping begins.
Definition at line 309 of file tuning_config.h.
| DiscoveryListenChannels esphome::home_io_control::TuningConfig::pairing_discovery_listen_channels |
Channels the discovery response wait covers.
Definition at line 317 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::pairing_discovery_low_power {false} |
Set LOW_POWER flag in discovery frames.
Definition at line 301 of file tuning_config.h.
| uint8_t esphome::home_io_control::TuningConfig::pairing_discovery_payload {0} |
Optional payload byte (used for 0x2E).
Definition at line 299 of file tuning_config.h.
| bool esphome::home_io_control::TuningConfig::pairing_discovery_payload_enabled {false} |
Whether the optional payload is enabled.
Definition at line 300 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::pairing_discovery_preamble |
Preamble for the discovery broadcast (0x28/0x2E) start frame.
Definition at line 305 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::pairing_discovery_wait_ms |
Total wait window after sending discovery commands.
Definition at line 307 of file tuning_config.h.
| uint8_t esphome::home_io_control::TuningConfig::pairing_key_exchange_retries |
Retries for the authenticated key exchange phase.
Definition at line 311 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::pairing_key_init_delay_ms |
Pause after the discover-confirm step, before CMD_KEY_INIT (0x31).
Definition at line 319 of file tuning_config.h.
| ScanPowerClasses esphome::home_io_control::TuningConfig::scan_power_classes |
Power classes the scan_paired_devices roll-call calls.
Definition at line 313 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::sx1262_discovery_hop_slice_ms |
Per-channel dwell while SX1262 discovery hops.
Definition at line 259 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::sx1262_post_tx_settle_us {SX1262_POST_TX_SETTLE_US} |
Delay after SX1262 TX before RX (µs).
Definition at line 254 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::sx1262_response_preamble {SX1262_RESPONSE_PREAMBLE} |
SX1262 response preamble in bytes.
Definition at line 253 of file tuning_config.h.
| SX1262RxBandwidth esphome::home_io_control::TuningConfig::sx1262_rx_bandwidth {SX1262RxBandwidth::BW_58_6_KHZ} |
SX1262 RX bandwidth selector.
58.6 kHz (double-sideband). This is below the 76.8 kHz sizing floor for this waveform (see SX1262RxBandwidth), so it trims the edges of even an on-frequency signal; it is the default because it made a real solar shutter (Somfy RS100) respond reliably where 117.3 kHz did not. Because the SX1262 has no GFSK AFC, a peer whose carrier sits off nominal needs a wider setting instead: a Somfy LightVar_Wh_io dimmer went from mostly missed to mostly confirmed replies at 156.2 kHz. The setting is global, so the right value is a per-install trade-off.
Definition at line 252 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::sx1276_discovery_hop_slice_ms |
Per-channel dwell while SX1276 discovery hops.
Definition at line 257 of file tuning_config.h.
| uint16_t esphome::home_io_control::TuningConfig::sx1276_response_preamble {SX1276_RESPONSE_PREAMBLE} |
SX1276 response preamble in bytes.
Definition at line 256 of file tuning_config.h.
| SX1276RxBandwidth esphome::home_io_control::TuningConfig::sx1276_rx_bandwidth {SX1276RxBandwidth::BW_41_7_KHZ} |
SX1276 RX bandwidth selector.
Definition at line 255 of file tuning_config.h.