ESPHome  2024.12.2
Data Structures | Namespaces | Enumerations | Functions
opentherm.h File Reference

Go to the source code of this file.

Data Structures

struct  esphome::opentherm::OpenthermData
 Structure to hold Opentherm data packet content. More...
 
struct  esphome::opentherm::OpenThermError
 
class  esphome::opentherm::OpenTherm
 Opentherm static class that supports either listening or sending Opentherm data packets in the same time. More...
 

Namespaces

 esphome
 Implementation of SPI Controller mode.
 
 esphome::opentherm
 

Enumerations

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

Functions

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