ESPHome 2026.8.2
Loading...
Searching...
No Matches
esphome::modbus_controller Namespace Reference

Data Structures

class  ModbusBinaryOutput
 
class  ModbusBinarySensor
 
class  ModbusCommandItem
 A single modbus command. More...
 
class  ModbusController
 Modbus controller class. More...
 
class  ModbusFloatOutput
 
class  ModbusNumber
 
class  ModbusSelect
 
class  ModbusSensor
 
class  ModbusSwitch
 
class  ModbusTextSensor
 
struct  RegisterRange
 
class  SensorItem
 
class  SensorItemsComparator
 

Typedefs

using SensorSet = std::set<SensorItem *, SensorItemsComparator>
 
using value_to_data_t = std::function<float>(float)
 

Enumerations

enum class  RawEncoding { NONE = 0 , HEXBYTES = 1 , COMMA = 2 , ANSI = 3 }
 

Functions

 ESPDEPRECATED ("Use modbus::helpers::value_type_is_float() instead. Removed in 2026.10.0", "2026.4.0") inline bool value_type_is_float(SensorValueType v)
 
 ESPDEPRECATED ("Use modbus::helpers::modbus_register_read_function() instead. Removed in 2026.10.0", "2026.4.0") inline FunctionCode modbus_register_read_function(modbus
 
 ESPDEPRECATED ("Use modbus::helpers::modbus_register_write_function() instead. Removed in 2026.10.0", "2026.4.0") inline FunctionCode modbus_register_write_function(modbus
 
 ESPDEPRECATED ("Use modbus::helpers::c_to_hex() instead. Removed in 2026.10.0", "2026.4.0") inline uint8_t c_to_hex(char c)
 
 ESPDEPRECATED ("Use modbus::helpers::byte_from_hex_str() instead. Removed in 2026.10.0", "2026.4.0") inline uint8_t byte_from_hex_str(const std
 
 ESPDEPRECATED ("Use modbus::helpers::word_from_hex_str() instead. Removed in 2026.10.0", "2026.4.0") inline uint16_t word_from_hex_str(const std
 
 ESPDEPRECATED ("Use modbus::helpers::dword_from_hex_str() instead. Removed in 2026.10.0", "2026.4.0") inline uint32_t dword_from_hex_str(const std
 
 ESPDEPRECATED ("Use modbus::helpers::qword_from_hex_str() instead. Removed in 2026.10.0", "2026.4.0") inline uint64_t qword_from_hex_str(const std
 
template<typename T >
 ESPDEPRECATED ("Use modbus::helpers::get_data() instead. Removed in 2026.10.0", "2026.4.0") T get_data(const std
 
template<typename T >
 ESPDEPRECATED ("Use modbus::helpers::get_data() instead. Removed in 2027.2.0", "2026.8.0") T get_data(std
 
 ESPDEPRECATED ("Use modbus::helpers::bit_from_packed() instead. Removed in 2027.2.0", "2026.4.0") inline bool coil_from_vector(int coil
 
 ESPDEPRECATED ("Use modbus::helpers::bit_from_packed() instead. Removed in 2027.2.0", "2026.8.0") inline bool coil_from_vector(int coil
 
template<typename N >
 ESPDEPRECATED ("Use modbus::helpers::mask_and_shift_by_rightbit() instead. Removed in 2026.10.0", "2026.4.0") N mask_and_shift_by_rightbit(N data
 
 ESPDEPRECATED ("Use modbus::helpers::number_to_payload() instead. Removed in 2026.10.0", "2026.4.0") inline void number_to_payload(std
 
 ESPDEPRECATED ("Use modbus::helpers::payload_to_number() instead. Removed in 2026.10.0", "2026.4.0") inline int64_t payload_to_number(const std
 
 ESPDEPRECATED ("Use modbus::helpers::float_to_payload() instead. Removed in 2026.10.0", "2026.4.0") inline std
 
bool offline_retry_due (uint16_t update_counter, uint16_t module_offline_at, uint16_t offline_skip_updates)
 Whether an offline probe is due this update cycle: every offline_skip_updates + 1 cycles, anchored at the cycle the device went offline.
 
float payload_to_float (std::span< const uint8_t > data, const SensorItem &item, uint8_t offset)
 Convert vector<uint8_t> response payload to float.
 
 ESPDEPRECATED ("Pass the offset explicitly: payload_to_float(data, item, item.offset). Removed in 2027.2.0", "2026.8.0") inline float payload_to_float(std
 

Variables

const std::vector< uint8_t > & data
 
uint32_t mask
 

Typedef Documentation

◆ SensorSet

◆ value_to_data_t

using esphome::modbus_controller::value_to_data_t = std::function<float>(float)

Definition at line 11 of file modbus_number.h.

Enumeration Type Documentation

◆ RawEncoding

Enumerator
NONE 
HEXBYTES 
COMMA 
ANSI 

Definition at line 11 of file modbus_textsensor.h.

Function Documentation

◆ ESPDEPRECATED() [1/17]

esphome::modbus_controller::ESPDEPRECATED ( "Pass the offset explicitly: payload_to_float(data, item, item.offset). Removed in 2027.2.0" ,
"2026.8.0"  )

Definition at line 536 of file modbus_controller.h.

◆ ESPDEPRECATED() [2/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::bit_from_packed() instead. Removed in 2027.2.0" ,
"2026.4.0"  )

◆ ESPDEPRECATED() [3/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::bit_from_packed() instead. Removed in 2027.2.0" ,
"2026.8.0"  )

◆ ESPDEPRECATED() [4/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::byte_from_hex_str() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 49 of file modbus_controller.h.

◆ ESPDEPRECATED() [5/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::c_to_hex() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 46 of file modbus_controller.h.

◆ ESPDEPRECATED() [6/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::dword_from_hex_str() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 59 of file modbus_controller.h.

◆ ESPDEPRECATED() [7/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::float_to_payload() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 119 of file modbus_controller.h.

◆ ESPDEPRECATED() [8/17]

template<typename T >
esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::get_data() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 70 of file modbus_controller.h.

◆ ESPDEPRECATED() [9/17]

template<typename T >
esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::get_data() instead. Removed in 2027.2.0" ,
"2026.8.0"  )

Definition at line 84 of file modbus_controller.h.

◆ ESPDEPRECATED() [10/17]

template<typename N >
esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::mask_and_shift_by_rightbit() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

◆ ESPDEPRECATED() [11/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::modbus_register_read_function() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 36 of file modbus_controller.h.

◆ ESPDEPRECATED() [12/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::modbus_register_write_function() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 41 of file modbus_controller.h.

◆ ESPDEPRECATED() [13/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::number_to_payload() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 107 of file modbus_controller.h.

◆ ESPDEPRECATED() [14/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::payload_to_number() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 112 of file modbus_controller.h.

◆ ESPDEPRECATED() [15/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::qword_from_hex_str() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 64 of file modbus_controller.h.

◆ ESPDEPRECATED() [16/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::value_type_is_float() instead. Removed in 2026.10.0" ,
"2026.4.0"  )

Definition at line 33 of file modbus_controller.h.

◆ ESPDEPRECATED() [17/17]

esphome::modbus_controller::ESPDEPRECATED ( "Use modbus::helpers::word_from_hex_str() instead. Removed in 2026.10.0" ,
"2026.4.0"  ) const

Definition at line 54 of file modbus_controller.h.

◆ offline_retry_due()

bool esphome::modbus_controller::offline_retry_due ( uint16_t update_counter,
uint16_t module_offline_at,
uint16_t offline_skip_updates )
inline

Whether an offline probe is due this update cycle: every offline_skip_updates + 1 cycles, anchored at the cycle the device went offline.

Pure so the cadence (including update_counter wraparound) can be unit tested; used by ModbusController::update().

Definition at line 388 of file modbus_controller.h.

◆ payload_to_float()

float esphome::modbus_controller::payload_to_float ( std::span< const uint8_t > data,
const SensorItem & item,
uint8_t offset )
inline

Convert vector<uint8_t> response payload to float.

Parameters
datapayload with data
itemSensorItem object
Returns
float value of data

Definition at line 520 of file modbus_controller.h.

Variable Documentation

◆ data

std::span< const uint8_t > esphome::modbus_controller::data
Initial value:
{
return modbus::helpers::bit_from_packed(coil, data)

Definition at line 91 of file modbus_controller.h.

◆ mask

uint32_t esphome::modbus_controller::mask
Initial value:
{
return modbus::helpers::mask_and_shift_by_rightbit(data, mask)

Definition at line 103 of file modbus_controller.h.