|
ESPHome 2026.8.0-dev
|
Go to the source code of this file.
Namespaces | |
| namespace | esphome |
| namespace | esphome::modbus |
| namespace | esphome::modbus::helpers |
Enumerations | |
| enum class | esphome::modbus::helpers::SensorValueType : uint8_t { esphome::modbus::helpers::RAW = 0x00 , esphome::modbus::helpers::U_WORD = 0x1 , esphome::modbus::helpers::U_DWORD = 0x2 , esphome::modbus::helpers::S_WORD = 0x3 , esphome::modbus::helpers::S_DWORD = 0x4 , esphome::modbus::helpers::BIT = 0x5 , esphome::modbus::helpers::U_DWORD_R = 0x6 , esphome::modbus::helpers::S_DWORD_R = 0x7 , esphome::modbus::helpers::U_QWORD = 0x8 , esphome::modbus::helpers::S_QWORD = 0x9 , esphome::modbus::helpers::U_QWORD_R = 0xA , esphome::modbus::helpers::S_QWORD_R = 0xB , esphome::modbus::helpers::FP32 = 0xC , esphome::modbus::helpers::FP32_R = 0xD } |
Functions | |
| bool | esphome::modbus::helpers::is_function_code_read (uint8_t function_code) |
| bool | esphome::modbus::helpers::is_function_code_write (uint8_t function_code) |
| bool | esphome::modbus::helpers::is_function_code_exception (uint8_t function_code) |
| bool | esphome::modbus::helpers::is_function_code_custom (uint8_t function_code) |
| uint16_t | esphome::modbus::helpers::server_frame_length (const uint8_t *frame, size_t size) |
| uint16_t | esphome::modbus::helpers::client_frame_length (const uint8_t *frame, size_t size) |
| uint8_t | esphome::modbus::helpers::server_frame_data_offset (const uint8_t *frame, size_t size) |
| uint8_t | esphome::modbus::helpers::client_frame_data_offset (const uint8_t *, size_t) |
| bool | esphome::modbus::helpers::value_type_is_float (SensorValueType v) |
| ModbusFunctionCode | esphome::modbus::helpers::modbus_register_read_function (ModbusRegisterType reg_type) |
| ModbusFunctionCode | esphome::modbus::helpers::modbus_register_write_function (ModbusRegisterType reg_type, bool multiple=false) |
| uint8_t | esphome::modbus::helpers::c_to_hex (char c) |
| uint8_t | esphome::modbus::helpers::byte_from_hex_str (const std::string &value, uint8_t pos) |
| Get a byte from a hex string byte_from_hex_str("1122", 1) returns uint_8 value 0x22 == 34 byte_from_hex_str("1122", 0) returns 0x11. | |
| uint16_t | esphome::modbus::helpers::word_from_hex_str (const std::string &value, uint8_t pos) |
| Get a word from a hex string. | |
| uint32_t | esphome::modbus::helpers::dword_from_hex_str (const std::string &value, uint8_t pos) |
| Get a dword from a hex string. | |
| uint64_t | esphome::modbus::helpers::qword_from_hex_str (const std::string &value, uint8_t pos) |
| Get a qword from a hex string. | |
| template<typename T > | |
| T | esphome::modbus::helpers::get_data (const uint8_t *data, size_t buffer_offset) |
| Extract data from modbus response buffer. | |
| template<typename T > | |
| T | esphome::modbus::helpers::get_data (const std::vector< uint8_t > &data, size_t buffer_offset) |
| bool | esphome::modbus::helpers::bit_from_packed (int bit, std::span< const uint8_t > data) |
| Extract coil data from modbus response buffer Responses for coil are packed into bytes . | |
| esphome::modbus::helpers::ESPDEPRECATED ("Use bit_from_packed() instead. Removed in 2027.2.0", "2026.8.0") inline bool coil_from_vector(int coil | |
| template<typename N > | |
| N | esphome::modbus::helpers::mask_and_shift_by_rightbit (N data, uint32_t mask) |
| Extract bits from value and shift right according to the bitmask if the bitmask is 0x00F0 we want the values frrom bit 5 - 8. | |
| void | esphome::modbus::helpers::log_unsupported_value_type (SensorValueType value_type) |
| template<typename Container > | |
| void | esphome::modbus::helpers::number_to_payload (Container &data, int64_t value, SensorValueType value_type) |
| Append the Modbus register words for value to data. | |
| std::optional< int64_t > | esphome::modbus::helpers::payload_to_number (const uint8_t *data, size_t size, SensorValueType sensor_value_type, uint8_t offset, uint32_t bitmask) |
| Convert a raw response payload to a number. | |
| std::optional< int64_t > | esphome::modbus::helpers::payload_to_number (std::span< const uint8_t > data, SensorValueType sensor_value_type, uint8_t offset, uint32_t bitmask) |
| Convert a response payload span to number; std::nullopt if the payload is too short. | |
| esphome::modbus::helpers::ESPDEPRECATED ("Use the std::span overload returning std::optional<int64_t> instead. Removed in 2027.2.0", "2026.8.0") inline int64_t payload_to_number(const std | |
| std::optional< int64_t > | esphome::modbus::helpers::registers_to_number (const uint16_t *registers, size_t count, SensorValueType sensor_value_type) |
| Reconstruct a number from register words (host byte order). | |
| StaticVector< uint8_t, MAX_PDU_SIZE > | esphome::modbus::helpers::create_client_pdu (ModbusFunctionCode function_code, uint16_t start_address, uint16_t number_of_entities, const uint8_t *values=nullptr, size_t values_len=0) |
| Create a modbus clinet pdu for reading/writing single/multiple coils/register/inputs. | |
| std::vector< uint16_t > | esphome::modbus::helpers::float_to_payload (float value, SensorValueType value_type) |
Variables | |
| std::span< const uint8_t > | esphome::modbus::helpers::data { return bit_from_packed(coil, data) |