ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
selec_meter.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <vector>
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_modbus_data(const std::vector<uint8_t> &data) override;
41
42 void dump_config() override;
43};
44
45} // 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:585
virtual void update()=0
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
void on_modbus_data(const std::vector< uint8_t > &data) override