ESPHome
2026.8.0-dev
Loading...
Searching...
No Matches
esphome
components
modbus_controller
sensor
modbus_sensor.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/components/modbus_controller/modbus_controller.h
"
4
#include "
esphome/components/sensor/sensor.h
"
5
#include "
esphome/core/component.h
"
6
7
#include <vector>
8
9
namespace
esphome::modbus_controller
{
10
11
class
ModbusSensor
final :
public
Component
,
public
sensor::Sensor
,
public
SensorItem
{
12
public
:
13
ModbusSensor
(
ModbusRegisterType
register_type
, uint16_t
start_address
, uint8_t
offset
,
uint32_t
bitmask
,
14
SensorValueType
value_type,
int
register_count
, uint16_t
skip_updates
,
bool
force_new_range
) {
15
this->register_type =
register_type
;
16
this->start_address =
start_address
;
17
this->offset =
offset
;
18
this->bitmask =
bitmask
;
19
this->
sensor_value_type
= value_type;
20
this->register_count =
register_count
;
21
this->skip_updates =
skip_updates
;
22
this->force_new_range =
force_new_range
;
23
}
24
25
void
parse_and_publish
(
const
std::vector<uint8_t> &
data
)
override
;
26
void
dump_config
()
override
;
27
using
transform_func_t
= optional<float> (*)(
ModbusSensor
*, float,
const
std::vector<uint8_t> &);
28
29
void
set_template
(
transform_func_t
f) { this->
transform_func_
= f; }
30
31
protected
:
32
optional<transform_func_t>
transform_func_
{nullopt};
33
};
34
35
}
// namespace esphome::modbus_controller
esphome::Component
Definition
component.h:145
esphome::modbus_controller::ModbusSensor
Definition
modbus_sensor.h:11
esphome::modbus_controller::ModbusSensor::set_template
void set_template(transform_func_t f)
Definition
modbus_sensor.h:29
esphome::modbus_controller::ModbusSensor::parse_and_publish
void parse_and_publish(const std::vector< uint8_t > &data) override
Definition
modbus_sensor.cpp:11
esphome::modbus_controller::ModbusSensor::transform_func_
optional< transform_func_t > transform_func_
Definition
modbus_sensor.h:32
esphome::modbus_controller::ModbusSensor::ModbusSensor
ModbusSensor(ModbusRegisterType register_type, uint16_t start_address, uint8_t offset, uint32_t bitmask, SensorValueType value_type, int register_count, uint16_t skip_updates, bool force_new_range)
Definition
modbus_sensor.h:13
esphome::modbus_controller::ModbusSensor::dump_config
void dump_config() override
Definition
modbus_sensor.cpp:9
esphome::modbus_controller::ModbusSensor::transform_func_t
optional< float >(*)(ModbusSensor *, float, const std::vector< uint8_t > &) transform_func_t
Definition
modbus_sensor.h:27
esphome::modbus_controller::SensorItem
Definition
modbus_controller.h:98
esphome::modbus_controller::SensorItem::bitmask
uint32_t bitmask
Definition
modbus_controller.h:115
esphome::modbus_controller::SensorItem::register_type
ModbusRegisterType register_type
Definition
modbus_controller.h:112
esphome::modbus_controller::SensorItem::force_new_range
bool force_new_range
Definition
modbus_controller.h:121
esphome::modbus_controller::SensorItem::sensor_value_type
SensorValueType sensor_value_type
Definition
modbus_controller.h:113
esphome::modbus_controller::SensorItem::register_count
uint8_t register_count
Definition
modbus_controller.h:117
esphome::modbus_controller::SensorItem::start_address
uint16_t start_address
Definition
modbus_controller.h:114
esphome::modbus_controller::SensorItem::offset
uint8_t offset
Definition
modbus_controller.h:116
esphome::modbus_controller::SensorItem::skip_updates
uint16_t skip_updates
Definition
modbus_controller.h:119
esphome::sensor::Sensor
Base-class for all sensors.
Definition
sensor.h:47
component.h
modbus_controller.h
esphome::modbus::helpers::SensorValueType
SensorValueType
Definition
modbus_helpers.h:66
esphome::modbus_controller
Definition
modbus_binarysensor.cpp:4
esphome::modbus_controller::data
const std::vector< uint8_t > & data
Definition
modbus_controller.h:69
esphome::modbus::ModbusRegisterType
ModbusRegisterType
Definition
modbus_definitions.h:47
uint32_t
static void uint32_t
Definition
crash_handler.cpp:141
sensor.h
Generated by
1.12.0