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

One heater kind. More...

#include <proto_heating_profiles.h>

Collaboration diagram for esphome::home_io_control::HeatingProfile:

Public Attributes

DeviceType type
 Node type.
uint8_t subtype
 Subtype (0 = the type's own row).
DeviceModel model
 Model (NONE = the (type, subtype) row's own profile).
HeatingControlPath path
 How the heater is commanded and read.
HeatingProfileFeatures features
 What the card and its companions offer.
std::span< const HeatingModeEntry > modes
 HVAC modes offered, with the value each writes.
HeatingFp setpoint_fp {}
 TEMPERATURE_EXECUTE: the functional parameter sent with a setpoint.
float visual_min_c {0.0F}
 Lowest target temperature the card offers (0 without a setpoint).
float visual_max_c {0.0F}
 Highest target temperature the card offers (0 without a setpoint).
const HeatingProgrammePeriod * programme_period {nullptr}
 PRIVATE_REGISTERS: how the heater's own programme names the comfort or eco period it is in; nullptr for a heater that does not report it.
std::span< const HeatingPresetEntry > presets {}
 Presets offered.
std::span< const HeatingObservedState > observed {}
 Device-reported value -> card state.
std::span< const HeatingFunction > poll_registers {}
 PRIVATE_REGISTERS: registers every poll reads, in order.
std::span< const HeatingFunction > boot_registers {}
 PRIVATE_REGISTERS: registers read once until they have been read.
std::span< const HeatingObservedState > preset_observed {}
 Device-reported value of preset_fn -> preset; empty when the mode register names the preset too (observed).
std::span< const HeatingFunction > extra_poll_registers {}
 PRIVATE_REGISTERS: registers every poll reads after poll_registers, for a part the heater may not have (a night light).
uint8_t mp_prefix {0}
 High byte of a level or alias main parameter (0 for registers).
bool fixed_range {false}
 TEMPERATURE_EXECUTE: the temperature range is fixed, so the YAML min_temperature: / max_temperature: do not apply.
HeatingFunction mode_fn {HeatingFunction::SET_MODE}
 PRIVATE_REGISTERS: the register the HVAC modes write and the card's mode is read from.
HeatingFunction preset_fn {HeatingFunction::SET_MODE}
 PRIVATE_REGISTERS with preset_observed: the register the card's preset is read from.
HeatingActionSource action_source {HeatingActionSource::REGULATOR}
 Where features.action reads from.
bool experimental_writes {false}
 PRIVATE_REGISTERS: the mode and preset writes are unconfirmed on a device.

Detailed Description

One heater kind.

A row is written with designated initializers, in declaration order. The fields before setpoint_fp have no default, so a row that leaves one out does not compile; every other field has one and is left out where unused. Each list is a span over a constexpr array, which carries its own length.

Definition at line 194 of file proto_heating_profiles.h.

Member Data Documentation

◆ action_source

HeatingActionSource esphome::home_io_control::HeatingProfile::action_source {HeatingActionSource::REGULATOR}

Where features.action reads from.

Definition at line 235 of file proto_heating_profiles.h.

◆ boot_registers

std::span<const HeatingFunction> esphome::home_io_control::HeatingProfile::boot_registers {}

PRIVATE_REGISTERS: registers read once until they have been read.

Definition at line 217 of file proto_heating_profiles.h.

◆ experimental_writes

bool esphome::home_io_control::HeatingProfile::experimental_writes {false}

PRIVATE_REGISTERS: the mode and preset writes are unconfirmed on a device.

Definition at line 236 of file proto_heating_profiles.h.

◆ extra_poll_registers

std::span<const HeatingFunction> esphome::home_io_control::HeatingProfile::extra_poll_registers {}

PRIVATE_REGISTERS: registers every poll reads after poll_registers, for a part the heater may not have (a night light).

A miss here is not a poll failure, so a model declared on a heater without the part costs a read, not the poll.

Definition at line 225 of file proto_heating_profiles.h.

◆ features

HeatingProfileFeatures esphome::home_io_control::HeatingProfile::features

What the card and its companions offer.

Definition at line 200 of file proto_heating_profiles.h.

◆ fixed_range

bool esphome::home_io_control::HeatingProfile::fixed_range {false}

TEMPERATURE_EXECUTE: the temperature range is fixed, so the YAML min_temperature: / max_temperature: do not apply.

Definition at line 228 of file proto_heating_profiles.h.

◆ mode_fn

HeatingFunction esphome::home_io_control::HeatingProfile::mode_fn {HeatingFunction::SET_MODE}

PRIVATE_REGISTERS: the register the HVAC modes write and the card's mode is read from.

Definition at line 231 of file proto_heating_profiles.h.

◆ model

DeviceModel esphome::home_io_control::HeatingProfile::model

Model (NONE = the (type, subtype) row's own profile).

Definition at line 198 of file proto_heating_profiles.h.

◆ modes

std::span<const HeatingModeEntry> esphome::home_io_control::HeatingProfile::modes

HVAC modes offered, with the value each writes.

Definition at line 201 of file proto_heating_profiles.h.

◆ mp_prefix

uint8_t esphome::home_io_control::HeatingProfile::mp_prefix {0}

High byte of a level or alias main parameter (0 for registers).

Definition at line 227 of file proto_heating_profiles.h.

◆ observed

std::span<const HeatingObservedState> esphome::home_io_control::HeatingProfile::observed {}

Device-reported value -> card state.

Definition at line 213 of file proto_heating_profiles.h.

◆ path

HeatingControlPath esphome::home_io_control::HeatingProfile::path

How the heater is commanded and read.

Definition at line 199 of file proto_heating_profiles.h.

◆ poll_registers

std::span<const HeatingFunction> esphome::home_io_control::HeatingProfile::poll_registers {}

PRIVATE_REGISTERS: registers every poll reads, in order.

Definition at line 215 of file proto_heating_profiles.h.

◆ preset_fn

HeatingFunction esphome::home_io_control::HeatingProfile::preset_fn {HeatingFunction::SET_MODE}

PRIVATE_REGISTERS with preset_observed: the register the card's preset is read from.

The presets' own write_fn say what each writes.

Definition at line 234 of file proto_heating_profiles.h.

◆ preset_observed

std::span<const HeatingObservedState> esphome::home_io_control::HeatingProfile::preset_observed {}

Device-reported value of preset_fn -> preset; empty when the mode register names the preset too (observed).

With it, observed sets only the mode and this table alone sets the preset, since mode and preset live in separate registers.

Definition at line 221 of file proto_heating_profiles.h.

◆ presets

std::span<const HeatingPresetEntry> esphome::home_io_control::HeatingProfile::presets {}

Presets offered.

Definition at line 212 of file proto_heating_profiles.h.

◆ programme_period

const HeatingProgrammePeriod* esphome::home_io_control::HeatingProfile::programme_period {nullptr}

PRIVATE_REGISTERS: how the heater's own programme names the comfort or eco period it is in; nullptr for a heater that does not report it.

Definition at line 209 of file proto_heating_profiles.h.

◆ setpoint_fp

HeatingFp esphome::home_io_control::HeatingProfile::setpoint_fp {}

TEMPERATURE_EXECUTE: the functional parameter sent with a setpoint.

Definition at line 204 of file proto_heating_profiles.h.

◆ subtype

uint8_t esphome::home_io_control::HeatingProfile::subtype

Subtype (0 = the type's own row).

Definition at line 197 of file proto_heating_profiles.h.

◆ type

DeviceType esphome::home_io_control::HeatingProfile::type

Node type.

Definition at line 196 of file proto_heating_profiles.h.

◆ visual_max_c

float esphome::home_io_control::HeatingProfile::visual_max_c {0.0F}

Highest target temperature the card offers (0 without a setpoint).

Definition at line 206 of file proto_heating_profiles.h.

◆ visual_min_c

float esphome::home_io_control::HeatingProfile::visual_min_c {0.0F}

Lowest target temperature the card offers (0 without a setpoint).

Definition at line 205 of file proto_heating_profiles.h.


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