ESPHome
2025.5.0
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
{
10
namespace
modbus_controller {
11
12
class
ModbusSensor
:
public
Component
,
public
sensor::Sensor
,
public
SensorItem
{
13
public
:
14
ModbusSensor
(
ModbusRegisterType
register_type
, uint16_t
start_address
, uint8_t
offset
, uint32_t
bitmask
,
15
SensorValueType
value_type,
int
register_count
, uint16_t
skip_updates
,
bool
force_new_range
) {
16
this->register_type =
register_type
;
17
this->start_address =
start_address
;
18
this->offset =
offset
;
19
this->bitmask =
bitmask
;
20
this->
sensor_value_type
= value_type;
21
this->register_count =
register_count
;
22
this->skip_updates =
skip_updates
;
23
this->force_new_range =
force_new_range
;
24
}
25
26
void
parse_and_publish
(
const
std::vector<uint8_t> &data)
override
;
27
void
dump_config
()
override
;
28
using
transform_func_t
= std::function<optional<float>(
ModbusSensor
*,
float
,
const
std::vector<uint8_t> &)>;
29
30
void
set_template
(
transform_func_t
&&f) { this->
transform_func_
= f; }
31
32
protected
:
33
optional<transform_func_t>
transform_func_
{
nullopt
};
34
};
35
36
}
// namespace modbus_controller
37
}
// namespace esphome
esphome::Component
Definition
component.h:70
esphome::modbus_controller::ModbusSensor
Definition
modbus_sensor.h:12
esphome::modbus_controller::ModbusSensor::parse_and_publish
void parse_and_publish(const std::vector< uint8_t > &data) override
Definition
modbus_sensor.cpp:12
esphome::modbus_controller::ModbusSensor::transform_func_
optional< transform_func_t > transform_func_
Definition
modbus_sensor.h:33
esphome::modbus_controller::ModbusSensor::set_template
void set_template(transform_func_t &&f)
Definition
modbus_sensor.h:30
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:14
esphome::modbus_controller::ModbusSensor::dump_config
void dump_config() override
Definition
modbus_sensor.cpp:10
esphome::modbus_controller::ModbusSensor::transform_func_t
std::function< optional< float >(ModbusSensor *, float, const std::vector< uint8_t > &)> transform_func_t
Definition
modbus_sensor.h:28
esphome::modbus_controller::SensorItem
Definition
modbus_controller.h:229
esphome::modbus_controller::SensorItem::bitmask
uint32_t bitmask
Definition
modbus_controller.h:246
esphome::modbus_controller::SensorItem::register_type
ModbusRegisterType register_type
Definition
modbus_controller.h:243
esphome::modbus_controller::SensorItem::force_new_range
bool force_new_range
Definition
modbus_controller.h:252
esphome::modbus_controller::SensorItem::sensor_value_type
SensorValueType sensor_value_type
Definition
modbus_controller.h:244
esphome::modbus_controller::SensorItem::register_count
uint8_t register_count
Definition
modbus_controller.h:248
esphome::modbus_controller::SensorItem::start_address
uint16_t start_address
Definition
modbus_controller.h:245
esphome::modbus_controller::SensorItem::offset
uint8_t offset
Definition
modbus_controller.h:247
esphome::modbus_controller::SensorItem::skip_updates
uint16_t skip_updates
Definition
modbus_controller.h:250
esphome::optional
Definition
optional.h:36
esphome::sensor::Sensor
Base-class for all sensors.
Definition
sensor.h:57
component.h
modbus_controller.h
esphome::modbus_controller::ModbusRegisterType
ModbusRegisterType
Definition
modbus_controller.h:41
esphome::modbus_controller::SensorValueType
SensorValueType
Definition
modbus_controller.h:49
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
esphome::nullopt
const nullopt_t nullopt((nullopt_t::init()))
sensor.h
Generated by
1.12.0