ESPHome 2026.1.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 float get_setup_priority() const override;
15
16 void setup() override;
17 void update() override;
18 void dump_config() override;
19
20 void calibrate(uint16_t baseline);
21
22 void set_co2_sensor(sensor::Sensor *co2_sensor) { co2_sensor_ = co2_sensor; }
23 void set_warmup_seconds(uint32_t seconds) { warmup_seconds_ = seconds; }
24
25 protected:
27 uint32_t warmup_seconds_{0};
28};
29
30template<typename... Ts> class HC8CalibrateAction : public Action<Ts...>, public Parented<HC8Component> {
31 public:
32 TEMPLATABLE_VALUE(uint16_t, baseline)
33
34 void play(const Ts &...x) override { this->parent_->calibrate(this->baseline_.value(x...)); }
35};
36
37} // 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:1037
This class simplifies creating components that periodically check a state.
Definition component.h:474
TEMPLATABLE_VALUE(uint16_t, baseline) void play(const Ts &...x) override
Definition hc8.h:32
void set_co2_sensor(sensor::Sensor *co2_sensor)
Definition hc8.h:22
void calibrate(uint16_t baseline)
Definition hc8.cpp:72
uint32_t warmup_seconds_
Definition hc8.h:27
float get_setup_priority() const override
Definition hc8.cpp:89
void update() override
Definition hc8.cpp:26
sensor::Sensor * co2_sensor_
Definition hc8.h:26
void set_warmup_seconds(uint32_t seconds)
Definition hc8.h:23
void dump_config() override
Definition hc8.cpp:91
void setup() override
Definition hc8.cpp:14
Base-class for all sensors.
Definition sensor.h:43
uint16_t x
Definition tt21100.cpp:5