ESPHome 2026.5.0b1
Loading...
Searching...
No Matches
cm1106.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::cm1106 {
9
11 public:
12 void setup() override;
13 void update() override;
14 void dump_config() override;
15
16 void calibrate_zero(uint16_t ppm);
17
18 void set_co2_sensor(sensor::Sensor *co2_sensor) { this->co2_sensor_ = co2_sensor; }
19
20 protected:
22
23 bool cm1106_write_command_(const uint8_t *command, size_t command_len, uint8_t *response, size_t response_len);
24};
25
26template<typename... Ts> class CM1106CalibrateZeroAction : public Action<Ts...> {
27 public:
29
30 void play(const Ts &...x) override { this->cm1106_->calibrate_zero(400); }
31
32 protected:
34};
35
36} // namespace esphome::cm1106
This class simplifies creating components that periodically check a state.
Definition component.h:602
void play(const Ts &...x) override
Definition cm1106.h:30
CM1106CalibrateZeroAction(CM1106Component *cm1106)
Definition cm1106.h:28
void calibrate_zero(uint16_t ppm)
Definition cm1106.cpp:60
bool cm1106_write_command_(const uint8_t *command, size_t command_len, uint8_t *response, size_t response_len)
Definition cm1106.cpp:85
void set_co2_sensor(sensor::Sensor *co2_sensor)
Definition cm1106.h:18
sensor::Sensor * co2_sensor_
Definition cm1106.h:21
Base-class for all sensors.
Definition sensor.h:47
uint16_t x
Definition tt21100.cpp:5