Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
platform_lr1121_bootloader_rewrite_switch.h File Reference

Hub-level arming switch for the LR1121 bootloader-rewrite (three-stage) sequence. More...

#include "esphome/components/switch/switch.h"
#include "hub_core.h"
Include dependency graph for platform_lr1121_bootloader_rewrite_switch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Hub-level arming switch for the LR1121 bootloader-rewrite (three-stage) sequence.

Like IOHomeAcceptForeignPairingSwitch and IOHomeLr1121FirmwareUpdateButton, this entity is hub-level, not device-bound. It is created dynamically from the presence of home_io_control.lr1121_firmware_update.bootloader: (see __init__.py's _create_lr1121_bootloader_update()), bound directly to the hub instance being built.

This is a permission, not the two-press "armed" confirmation used elsewhere in this component (lr1121_flash_confirmation_armed_) – see ADR 0021 for why an arming switch (visible in Home Assistant, so "is this armed?" is answerable by looking) was chosen over another invisible two-press window for the one operation in this component with no undo. It can only convert a cached BootloaderUpgradePath::AVAILABLE verdict into "run the three-stage sequence"; it never affects any other verdict or guard (see IOHomeControlComponent::set_bootloader_rewrite_allowed()).

Definition in file platform_lr1121_bootloader_rewrite_switch.h.