ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
hc8.h
Go to the documentation of this file.
1#pragma once
2
7
8#include <cinttypes>
9
10namespace esphome::hc8 {
11
13 public:
14 void setup() override;
15 void update() override;
16 void dump_config() override;
17
18 void calibrate(uint16_t baseline);
19
20 void set_co2_sensor(sensor::Sensor *co2_sensor) { co2_sensor_ = co2_sensor; }
21 void set_warmup_seconds(uint32_t seconds) { warmup_seconds_ = seconds; }
22
23 protected:
25 uint32_t warmup_seconds_{0};
26};
27
28template<typename... Ts> class HC8CalibrateAction : public Action<Ts...>, public Parented<HC8Component> {
29 public:
30 TEMPLATABLE_VALUE(uint16_t, baseline)
31
32 void play(const Ts &...x) override { this->parent_->calibrate(this->baseline_.value(x...)); }
33};
34
35} // namespace esphome::hc8
virtual void play(const Ts &...x)=0
Helper class to easily give an object a parent of type T.
Definition helpers.h:1489
This class simplifies creating components that periodically check a state.
Definition component.h:512
TEMPLATABLE_VALUE(uint16_t, baseline) void play(const Ts &...x) override
Definition hc8.h:30
void set_co2_sensor(sensor::Sensor *co2_sensor)
Definition hc8.h:20
void calibrate(uint16_t baseline)
Definition hc8.cpp:72
uint32_t warmup_seconds_
Definition hc8.h:25
void update() override
Definition hc8.cpp:26
sensor::Sensor * co2_sensor_
Definition hc8.h:24
void set_warmup_seconds(uint32_t seconds)
Definition hc8.h:21
void dump_config() override
Definition hc8.cpp:89
void setup() override
Definition hc8.cpp:14
Base-class for all sensors.
Definition sensor.h:43
uint16_t x
Definition tt21100.cpp:5