ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
senseair.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::senseair {
9
10enum SenseAirStatus : uint8_t {
11 FATAL_ERROR = 1 << 0,
12 OFFSET_ERROR = 1 << 1,
14 OUTPUT_ERROR = 1 << 3,
17 MEMORY_ERROR = 1 << 6,
18 RESERVED = 1 << 7
19};
20
22 public:
23 void set_co2_sensor(sensor::Sensor *co2_sensor) { co2_sensor_ = co2_sensor; }
24
25 void update() override;
26 void dump_config() override;
27
30 void abc_get_period();
31 void abc_enable();
32 void abc_disable();
33
34 protected:
35 bool senseair_write_command_(const uint8_t *command, uint8_t *response, uint8_t response_length);
36
38};
39
40template<typename... Ts> class SenseAirBackgroundCalibrationAction : public Action<Ts...> {
41 public:
43
44 void play(const Ts &...x) override { this->senseair_->background_calibration(); }
45
46 protected:
48};
49
50template<typename... Ts> class SenseAirBackgroundCalibrationResultAction : public Action<Ts...> {
51 public:
53
54 void play(const Ts &...x) override { this->senseair_->background_calibration_result(); }
55
56 protected:
58};
59
60template<typename... Ts> class SenseAirABCEnableAction : public Action<Ts...> {
61 public:
63
64 void play(const Ts &...x) override { this->senseair_->abc_enable(); }
65
66 protected:
68};
69
70template<typename... Ts> class SenseAirABCDisableAction : public Action<Ts...> {
71 public:
73
74 void play(const Ts &...x) override { this->senseair_->abc_disable(); }
75
76 protected:
78};
79
80template<typename... Ts> class SenseAirABCGetPeriodAction : public Action<Ts...> {
81 public:
83
84 void play(const Ts &...x) override { this->senseair_->abc_get_period(); }
85
86 protected:
88};
89
90} // namespace esphome::senseair
This class simplifies creating components that periodically check a state.
Definition component.h:585
SenseAirABCDisableAction(SenseAirComponent *senseair)
Definition senseair.h:72
void play(const Ts &...x) override
Definition senseair.h:74
SenseAirABCEnableAction(SenseAirComponent *senseair)
Definition senseair.h:62
void play(const Ts &...x) override
Definition senseair.h:64
SenseAirABCGetPeriodAction(SenseAirComponent *senseair)
Definition senseair.h:82
void play(const Ts &...x) override
Definition senseair.h:84
SenseAirBackgroundCalibrationAction(SenseAirComponent *senseair)
Definition senseair.h:42
SenseAirBackgroundCalibrationResultAction(SenseAirComponent *senseair)
Definition senseair.h:52
bool senseair_write_command_(const uint8_t *command, uint8_t *response, uint8_t response_length)
Definition senseair.cpp:130
void set_co2_sensor(sensor::Sensor *co2_sensor)
Definition senseair.h:23
Base-class for all sensors.
Definition sensor.h:47
uint16_t x
Definition tt21100.cpp:5