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