ESPHome 2026.10.0-dev
Loading...
Searching...
No Matches
selec_meter.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <span>
8
9namespace esphome::selec_meter {
10
11#define SELEC_METER_SENSOR(name) \
12 protected: \
13 sensor::Sensor *name##_sensor_{nullptr}; \
14\
15 public: \
16 void set_##name##_sensor(sensor::Sensor *(name)) { this->name##_sensor_ = name; }
17
19 public:
20 SELEC_METER_SENSOR(total_active_energy)
21 SELEC_METER_SENSOR(import_active_energy)
22 SELEC_METER_SENSOR(export_active_energy)
23 SELEC_METER_SENSOR(total_reactive_energy)
24 SELEC_METER_SENSOR(import_reactive_energy)
25 SELEC_METER_SENSOR(export_reactive_energy)
26 SELEC_METER_SENSOR(apparent_energy)
27 SELEC_METER_SENSOR(active_power)
28 SELEC_METER_SENSOR(reactive_power)
29 SELEC_METER_SENSOR(apparent_power)
30 SELEC_METER_SENSOR(voltage)
31 SELEC_METER_SENSOR(current)
32 SELEC_METER_SENSOR(power_factor)
34 SELEC_METER_SENSOR(maximum_demand_active_power)
35 SELEC_METER_SENSOR(maximum_demand_reactive_power)
36 SELEC_METER_SENSOR(maximum_demand_apparent_power)
37
38 void update() override;
39
40 void on_read_input_registers(uint16_t start_address, std::span<const uint16_t> registers,
41 modbus::ResponseStatus status) override;
42
43 void dump_config() override;
44};
45
46} // namespace esphome::selec_meter
uint16_le_t frequency
Definition bl0942.h:6
This class simplifies creating components that periodically check a state.
Definition component.h:510
virtual void update()=0
void on_read_input_registers(uint16_t start_address, std::span< const uint16_t > registers, modbus::ResponseStatus status) override
SELEC_METER_SENSOR(total_active_energy) SELEC_METER_SENSOR(import_active_energy) SELEC_METER_SENSOR(export_active_energy) SELEC_METER_SENSOR(total_reactive_energy) SELEC_METER_SENSOR(import_reactive_energy) SELEC_METER_SENSOR(export_reactive_energy) SELEC_METER_SENSOR(apparent_energy) SELEC_METER_SENSOR(active_power) SELEC_METER_SENSOR(reactive_power) SELEC_METER_SENSOR(apparent_power) SELEC_METER_SENSOR(voltage) SELEC_METER_SENSOR(current) SELEC_METER_SENSOR(power_factor) SELEC_METER_SENSOR(frequency) SELEC_METER_SENSOR(maximum_demand_active_power) SELEC_METER_SENSOR(maximum_demand_reactive_power) SELEC_METER_SENSOR(maximum_demand_apparent_power) void update() override
std::optional< ExceptionCode > ResponseStatus
Definition modbus.h:306