ESPHome 2026.3.0
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:
26 bool warmup_complete_{false};
27};
28
29template<typename... Ts> class HC8CalibrateAction : public Action<Ts...>, public Parented<HC8Component> {
30 public:
31 TEMPLATABLE_VALUE(uint16_t, baseline)
32
33 void play(const Ts &...x) override { this->parent_->calibrate(this->baseline_.value(x...)); }
34};
35
36} // 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:1715
This class simplifies creating components that periodically check a state.
Definition component.h:538
TEMPLATABLE_VALUE(uint16_t, baseline) void play(const Ts &...x) override
Definition hc8.h:31
void set_co2_sensor(sensor::Sensor *co2_sensor)
Definition hc8.h:20
void calibrate(uint16_t baseline)
Definition hc8.cpp:76
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:93
void setup() override
Definition hc8.cpp:14
Base-class for all sensors.
Definition sensor.h:47
static void uint32_t
uint16_t x
Definition tt21100.cpp:5