ESPHome  2024.12.2
Namespaces | Data Structures | Enumerations | Functions
esphome::opentherm Namespace Reference

Namespaces

 message_data
 

Data Structures

class  OpenTherm
 Opentherm static class that supports either listening or sending Opentherm data packets in the same time. More...
 
struct  OpenthermData
 Structure to hold Opentherm data packet content. More...
 
struct  OpenThermError
 
class  OpenthermHub
 
class  OpenthermInput
 
class  OpenthermNumber
 
class  OpenthermOutput
 
class  OpenthermSwitch
 

Enumerations

enum  OperationMode {
  IDLE = 0, LISTEN = 1, READ = 2, RECEIVED = 3,
  WRITE = 4, SENT = 5, ERROR_PROTOCOL = 8, ERROR_TIMEOUT = 9
}
 
enum  ProtocolErrorType {
  NO_ERROR = 0, NO_TRANSITION = 1, INVALID_STOP_BIT = 2, PARITY_ERROR = 3,
  NO_CHANGE_TOO_LONG = 4
}
 
enum  MessageType {
  READ_DATA = 0, READ_ACK = 4, WRITE_DATA = 1, WRITE_ACK = 5,
  INVALID_DATA = 2, DATA_INVALID = 6, UNKNOWN_DATAID = 7
}
 
enum  MessageId {
  STATUS = 0, CH_SETPOINT = 1, CONTROLLER_CONFIG = 2, DEVICE_CONFIG = 3,
  COMMAND_CODE = 4, FAULT_FLAGS = 5, REMOTE = 6, COOLING_CONTROL = 7,
  CH2_SETPOINT = 8, CH_SETPOINT_OVERRIDE = 9, TSP_COUNT = 10, TSP_COMMAND = 11,
  FHB_SIZE = 12, FHB_COMMAND = 13, MAX_MODULATION_LEVEL = 14, MAX_BOILER_CAPACITY = 15,
  ROOM_SETPOINT = 16, MODULATION_LEVEL = 17, CH_WATER_PRESSURE = 18, DHW_FLOW_RATE = 19,
  DAY_TIME = 20, DATE = 21, YEAR = 22, ROOM_SETPOINT_CH2 = 23,
  ROOM_TEMP = 24, FEED_TEMP = 25, DHW_TEMP = 26, OUTSIDE_TEMP = 27,
  RETURN_WATER_TEMP = 28, SOLAR_STORE_TEMP = 29, SOLAR_COLLECT_TEMP = 30, FEED_TEMP_CH2 = 31,
  DHW2_TEMP = 32, EXHAUST_TEMP = 33, FAN_SPEED = 35, FLAME_CURRENT = 36,
  ROOM_TEMP_CH2 = 37, REL_HUMIDITY = 38, DHW_BOUNDS = 48, CH_BOUNDS = 49,
  OTC_CURVE_BOUNDS = 50, DHW_SETPOINT = 56, MAX_CH_SETPOINT = 57, OTC_CURVE_RATIO = 58,
  HVAC_STATUS = 70, REL_VENT_SETPOINT = 71, DEVICE_VENT = 74, HVAC_VER_ID = 75,
  REL_VENTILATION = 77, REL_HUMID_EXHAUST = 78, EXHAUST_CO2 = 79, SUPPLY_INLET_TEMP = 80,
  SUPPLY_OUTLET_TEMP = 81, EXHAUST_INLET_TEMP = 82, EXHAUST_OUTLET_TEMP = 83, EXHAUST_FAN_SPEED = 84,
  SUPPLY_FAN_SPEED = 85, REMOTE_VENTILATION_PARAM = 86, NOM_REL_VENTILATION = 87, HVAC_NUM_TSP = 88,
  HVAC_IDX_TSP = 89, HVAC_FHB_SIZE = 90, HVAC_FHB_IDX = 91, RF_SIGNAL = 98,
  DHW_MODE = 99, OVERRIDE_FUNC = 100, SOLAR_MODE_FLAGS = 101, SOLAR_ASF = 102,
  SOLAR_VERSION_ID = 103, SOLAR_PRODUCT_ID = 104, SOLAR_NUM_TSP = 105, SOLAR_IDX_TSP = 106,
  SOLAR_FHB_SIZE = 107, SOLAR_FHB_IDX = 108, SOLAR_STARTS = 109, SOLAR_HOURS = 110,
  SOLAR_ENERGY = 111, SOLAR_TOTAL_ENERGY = 112, FAILED_BURNER_STARTS = 113, BURNER_FLAME_LOW = 114,
  OEM_DIAGNOSTIC = 115, BURNER_STARTS = 116, CH_PUMP_STARTS = 117, DHW_PUMP_STARTS = 118,
  DHW_BURNER_STARTS = 119, BURNER_HOURS = 120, CH_PUMP_HOURS = 121, DHW_PUMP_HOURS = 122,
  DHW_BURNER_HOURS = 123, OT_VERSION_CONTROLLER = 124, OT_VERSION_DEVICE = 125, VERSION_CONTROLLER = 126,
  VERSION_DEVICE = 127
}
 
enum  BitPositions { STOP_BIT = 33 }
 

Functions

template<class T >
constexpr T read_bit (T value, uint8_t bit)
 
template<class T >
constexpr T set_bit (T value, uint8_t bit)
 
template<class T >
constexpr T clear_bit (T value, uint8_t bit)
 
template<class T >
constexpr T write_bit (T value, uint8_t bit, uint8_t bit_value)
 

Enumeration Type Documentation

◆ BitPositions

Enumerator
STOP_BIT 

Definition at line 169 of file opentherm.h.

◆ MessageId

Enumerator
STATUS 
CH_SETPOINT 
CONTROLLER_CONFIG 
DEVICE_CONFIG 
COMMAND_CODE 
FAULT_FLAGS 
REMOTE 
COOLING_CONTROL 
CH2_SETPOINT 
CH_SETPOINT_OVERRIDE 
TSP_COUNT 
TSP_COMMAND 
FHB_SIZE 
FHB_COMMAND 
MAX_MODULATION_LEVEL 
MAX_BOILER_CAPACITY 
ROOM_SETPOINT 
MODULATION_LEVEL 
CH_WATER_PRESSURE 
DHW_FLOW_RATE 
DAY_TIME 
DATE 
YEAR 
ROOM_SETPOINT_CH2 
ROOM_TEMP 
FEED_TEMP 
DHW_TEMP 
OUTSIDE_TEMP 
RETURN_WATER_TEMP 
SOLAR_STORE_TEMP 
SOLAR_COLLECT_TEMP 
FEED_TEMP_CH2 
DHW2_TEMP 
EXHAUST_TEMP 
FAN_SPEED 
FLAME_CURRENT 
ROOM_TEMP_CH2 
REL_HUMIDITY 
DHW_BOUNDS 
CH_BOUNDS 
OTC_CURVE_BOUNDS 
DHW_SETPOINT 
MAX_CH_SETPOINT 
OTC_CURVE_RATIO 
HVAC_STATUS 
REL_VENT_SETPOINT 
DEVICE_VENT 
HVAC_VER_ID 
REL_VENTILATION 
REL_HUMID_EXHAUST 
EXHAUST_CO2 
SUPPLY_INLET_TEMP 
SUPPLY_OUTLET_TEMP 
EXHAUST_INLET_TEMP 
EXHAUST_OUTLET_TEMP 
EXHAUST_FAN_SPEED 
SUPPLY_FAN_SPEED 
REMOTE_VENTILATION_PARAM 
NOM_REL_VENTILATION 
HVAC_NUM_TSP 
HVAC_IDX_TSP 
HVAC_FHB_SIZE 
HVAC_FHB_IDX 
RF_SIGNAL 
DHW_MODE 
OVERRIDE_FUNC 
SOLAR_MODE_FLAGS 
SOLAR_ASF 
SOLAR_VERSION_ID 
SOLAR_PRODUCT_ID 
SOLAR_NUM_TSP 
SOLAR_IDX_TSP 
SOLAR_FHB_SIZE 
SOLAR_FHB_IDX 
SOLAR_STARTS 
SOLAR_HOURS 
SOLAR_ENERGY 
SOLAR_TOTAL_ENERGY 
FAILED_BURNER_STARTS 
BURNER_FLAME_LOW 
OEM_DIAGNOSTIC 
BURNER_STARTS 
CH_PUMP_STARTS 
DHW_PUMP_STARTS 
DHW_BURNER_STARTS 
BURNER_HOURS 
CH_PUMP_HOURS 
DHW_PUMP_HOURS 
DHW_BURNER_HOURS 
OT_VERSION_CONTROLLER 
OT_VERSION_DEVICE 
VERSION_CONTROLLER 
VERSION_DEVICE 

Definition at line 64 of file opentherm.h.

◆ MessageType

Enumerator
READ_DATA 
READ_ACK 
WRITE_DATA 
WRITE_ACK 
INVALID_DATA 
DATA_INVALID 
UNKNOWN_DATAID 

Definition at line 54 of file opentherm.h.

◆ OperationMode

Enumerator
IDLE 
LISTEN 
READ 
RECEIVED 
WRITE 
SENT 
ERROR_PROTOCOL 
ERROR_TIMEOUT 

Definition at line 32 of file opentherm.h.

◆ ProtocolErrorType

Enumerator
NO_ERROR 
NO_TRANSITION 
INVALID_STOP_BIT 
PARITY_ERROR 
NO_CHANGE_TOO_LONG 

Definition at line 46 of file opentherm.h.

Function Documentation

◆ clear_bit()

template<class T >
constexpr T esphome::opentherm::clear_bit ( value,
uint8_t  bit 
)

Definition at line 26 of file opentherm.h.

◆ read_bit()

template<class T >
constexpr T esphome::opentherm::read_bit ( value,
uint8_t  bit 
)

Definition at line 22 of file opentherm.h.

◆ set_bit()

template<class T >
constexpr T esphome::opentherm::set_bit ( value,
uint8_t  bit 
)

Definition at line 24 of file opentherm.h.

◆ write_bit()

template<class T >
constexpr T esphome::opentherm::write_bit ( value,
uint8_t  bit,
uint8_t  bit_value 
)

Definition at line 28 of file opentherm.h.