Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
home_io_control Namespace Reference

Namespaces

namespace  button
namespace  cover
namespace  light
namespace  lock
namespace  lr1121_firmware
namespace  platform_common
namespace  switch
namespace  tuning

Functions

 _inject_accept_foreign_pairing_switch_id (config)
 validate_lr1121_firmware_source (value, *, expect_loader=False)
 validate_checksum_md5 (value)

Variables

 _LOGGER = logging.getLogger(__name__)
list DEPENDENCIES = ["api", "spi"]
list AUTO_LOAD = ["button", "cover", "light", "lock", "number", "select", "sensor", "switch", "text_sensor"]
bool MULTI_CONF = False
str CONF_HOME_IO_CONTROL_ID = "home_io_control_id"
str CONF_RST_PIN = "rst_pin"
str CONF_DIO0_PIN = "dio0_pin"
str CONF_DIO4_PIN = "dio4_pin"
str CONF_DIO1_PIN = "dio1_pin"
str CONF_BUSY_PIN = "busy_pin"
str CONF_NODE_ID = "node_id"
str CONF_SYSTEM_KEY = "system_key"
str CONF_TX_POWER = "tx_power"
str CONF_PA_PIN = "pa_pin"
str CONF_RADIO_TYPE = "radio_type"
str CONF_FEM_EN_PIN = "fem_en_pin"
str CONF_VFEM_PIN = "vfem_pin"
str CONF_FEM_PA_PIN = "fem_pa_pin"
str CONF_TCXO_VOLTAGE = "tcxo_voltage"
str CONF_EXPOSED_SENDERS = "exposed_senders"
str CONF_ACCEPT_FOREIGN_PAIRING = "accept_foreign_pairing"
str CONF_LR1121_FIRMWARE_UPDATE = "lr1121_firmware_update"
str CONF_LR1121_BOOTLOADER = "bootloader"
str CONF_CHECKSUM_MD5 = "checksum_md5"
str CONF_TARGET_VERSION = "target_version"
int MIN_STATUS_POLL_INTERVAL_MS = 500
str CONF_ACCEPT_FOREIGN_PAIRING_SWITCH_ID = "_accept_foreign_pairing_switch_id"
str CONF_LR1121_FIRMWARE_UPDATE_BUTTON_ID = "_lr1121_firmware_update_button_id"
str CONF_LR1121_BOOTLOADER_SWITCH_ID = "_lr1121_bootloader_switch_id"
 home_io_control_ns = cg.esphome_ns.namespace("home_io_control")
 IOHomeControlComponent
 IOHomeAcceptForeignPairingSwitch
 IOHomeLr1121FirmwareUpdateButton
 IOHomeLr1121BootloaderRewriteSwitch
 LR1121_BOOTLOADER_SCHEMA

Function Documentation

◆ _inject_accept_foreign_pairing_switch_id()

home_io_control._inject_accept_foreign_pairing_switch_id ( config)
protected

Definition at line 114 of file __init__.py.

◆ validate_checksum_md5()

home_io_control.validate_checksum_md5 ( value)
Validate checksum_md5 as exactly 32 hex characters (MD5).

Definition at line 146 of file __init__.py.

◆ validate_lr1121_firmware_source()

home_io_control.validate_lr1121_firmware_source ( value,
* ,
expect_loader = False )
Validate the lr1121_firmware_update `source:` shorthand at schema time.

Checks the shape (github://owner/repo/path[@ref]) and the image class (transceiver vs.
loader vs. modem, by filename -- see lr1121_firmware.validate_image_class()). The network
fetch and MD5/image-content verification happen later, in to_code(), where a failure is
still a build-time error but one that needs the network anyway.
@param expect_loader True for the bootloader sub-block's `source:` (must be a loader image),
       False for the ordinary transceiver `source:` (must not be one).

Definition at line 127 of file __init__.py.

Variable Documentation

◆ _LOGGER

home_io_control._LOGGER = logging.getLogger(__name__)
protected

Definition at line 41 of file __init__.py.

◆ AUTO_LOAD

list home_io_control.AUTO_LOAD = ["button", "cover", "light", "lock", "number", "select", "sensor", "switch", "text_sensor"]

Definition at line 44 of file __init__.py.

◆ CONF_ACCEPT_FOREIGN_PAIRING

str home_io_control.CONF_ACCEPT_FOREIGN_PAIRING = "accept_foreign_pairing"

Definition at line 63 of file __init__.py.

◆ CONF_ACCEPT_FOREIGN_PAIRING_SWITCH_ID

str home_io_control.CONF_ACCEPT_FOREIGN_PAIRING_SWITCH_ID = "_accept_foreign_pairing_switch_id"

Definition at line 75 of file __init__.py.

◆ CONF_BUSY_PIN

str home_io_control.CONF_BUSY_PIN = "busy_pin"

Definition at line 52 of file __init__.py.

◆ CONF_CHECKSUM_MD5

str home_io_control.CONF_CHECKSUM_MD5 = "checksum_md5"

Definition at line 66 of file __init__.py.

◆ CONF_DIO0_PIN

str home_io_control.CONF_DIO0_PIN = "dio0_pin"

Definition at line 49 of file __init__.py.

◆ CONF_DIO1_PIN

str home_io_control.CONF_DIO1_PIN = "dio1_pin"

Definition at line 51 of file __init__.py.

◆ CONF_DIO4_PIN

str home_io_control.CONF_DIO4_PIN = "dio4_pin"

Definition at line 50 of file __init__.py.

◆ CONF_EXPOSED_SENDERS

str home_io_control.CONF_EXPOSED_SENDERS = "exposed_senders"

Definition at line 62 of file __init__.py.

◆ CONF_FEM_EN_PIN

str home_io_control.CONF_FEM_EN_PIN = "fem_en_pin"

Definition at line 58 of file __init__.py.

◆ CONF_FEM_PA_PIN

str home_io_control.CONF_FEM_PA_PIN = "fem_pa_pin"

Definition at line 60 of file __init__.py.

◆ CONF_HOME_IO_CONTROL_ID

str home_io_control.CONF_HOME_IO_CONTROL_ID = "home_io_control_id"

Definition at line 47 of file __init__.py.

◆ CONF_LR1121_BOOTLOADER

str home_io_control.CONF_LR1121_BOOTLOADER = "bootloader"

Definition at line 65 of file __init__.py.

◆ CONF_LR1121_BOOTLOADER_SWITCH_ID

str home_io_control.CONF_LR1121_BOOTLOADER_SWITCH_ID = "_lr1121_bootloader_switch_id"

Definition at line 82 of file __init__.py.

◆ CONF_LR1121_FIRMWARE_UPDATE

str home_io_control.CONF_LR1121_FIRMWARE_UPDATE = "lr1121_firmware_update"

Definition at line 64 of file __init__.py.

◆ CONF_LR1121_FIRMWARE_UPDATE_BUTTON_ID

str home_io_control.CONF_LR1121_FIRMWARE_UPDATE_BUTTON_ID = "_lr1121_firmware_update_button_id"

Definition at line 78 of file __init__.py.

◆ CONF_NODE_ID

str home_io_control.CONF_NODE_ID = "node_id"

Definition at line 53 of file __init__.py.

◆ CONF_PA_PIN

str home_io_control.CONF_PA_PIN = "pa_pin"

Definition at line 56 of file __init__.py.

◆ CONF_RADIO_TYPE

str home_io_control.CONF_RADIO_TYPE = "radio_type"

Definition at line 57 of file __init__.py.

◆ CONF_RST_PIN

str home_io_control.CONF_RST_PIN = "rst_pin"

Definition at line 48 of file __init__.py.

◆ CONF_SYSTEM_KEY

str home_io_control.CONF_SYSTEM_KEY = "system_key"

Definition at line 54 of file __init__.py.

◆ CONF_TARGET_VERSION

str home_io_control.CONF_TARGET_VERSION = "target_version"

Definition at line 67 of file __init__.py.

◆ CONF_TCXO_VOLTAGE

str home_io_control.CONF_TCXO_VOLTAGE = "tcxo_voltage"

Definition at line 61 of file __init__.py.

◆ CONF_TX_POWER

str home_io_control.CONF_TX_POWER = "tx_power"

Definition at line 55 of file __init__.py.

◆ CONF_VFEM_PIN

str home_io_control.CONF_VFEM_PIN = "vfem_pin"

Definition at line 59 of file __init__.py.

◆ DEPENDENCIES

list home_io_control.DEPENDENCIES = ["api", "spi"]

Definition at line 43 of file __init__.py.

◆ home_io_control_ns

home_io_control.home_io_control_ns = cg.esphome_ns.namespace("home_io_control")

Definition at line 84 of file __init__.py.

◆ IOHomeAcceptForeignPairingSwitch

home_io_control.IOHomeAcceptForeignPairingSwitch
Initial value:
1= home_io_control_ns.class_(
2 "IOHomeAcceptForeignPairingSwitch", switch_component.Switch, cg.Component
3)

Definition at line 95 of file __init__.py.

◆ IOHomeControlComponent

home_io_control.IOHomeControlComponent
Initial value:
1= home_io_control_ns.class_(
2 "IOHomeControlComponent", cg.Component, spi.SPIDevice
3)

Definition at line 85 of file __init__.py.

◆ IOHomeLr1121BootloaderRewriteSwitch

home_io_control.IOHomeLr1121BootloaderRewriteSwitch
Initial value:
1= home_io_control_ns.class_(
2 "IOHomeLr1121BootloaderRewriteSwitch", switch_component.Switch, cg.Component
3)

Definition at line 109 of file __init__.py.

◆ IOHomeLr1121FirmwareUpdateButton

home_io_control.IOHomeLr1121FirmwareUpdateButton
Initial value:
1= home_io_control_ns.class_(
2 "IOHomeLr1121FirmwareUpdateButton", button_component.Button, cg.Component
3)

Definition at line 102 of file __init__.py.

◆ LR1121_BOOTLOADER_SCHEMA

home_io_control.LR1121_BOOTLOADER_SCHEMA
Initial value:
1= cv.Schema(
2 {
3 cv.Required(CONF_SOURCE): lambda value: validate_lr1121_firmware_source(value, expect_loader=True),
4 cv.Optional(CONF_REF): cv.string_strict,
5 cv.Optional(CONF_CHECKSUM_MD5): validate_checksum_md5,
6 }
7)

Definition at line 162 of file __init__.py.

◆ MIN_STATUS_POLL_INTERVAL_MS

int home_io_control.MIN_STATUS_POLL_INTERVAL_MS = 500

Definition at line 68 of file __init__.py.

◆ MULTI_CONF

bool home_io_control.MULTI_CONF = False

Definition at line 45 of file __init__.py.