ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
htu21d.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace htu21d {
10
12
14 public:
16 void set_humidity(sensor::Sensor *humidity) { humidity_ = humidity; }
17 void set_heater(sensor::Sensor *heater) { heater_ = heater; }
18
20 void setup() override;
21 void dump_config() override;
22 void set_sensor_model(HTU21DSensorModels sensor_model) { sensor_model_ = sensor_model; }
24 void update() override;
25
26 bool is_heater_enabled();
27 void set_heater(bool status);
28 void set_heater_level(uint8_t level);
29 uint8_t get_heater_level();
30
31 protected:
36};
37
38template<typename... Ts> class SetHeaterLevelAction : public Action<Ts...>, public Parented<HTU21DComponent> {
39 public:
40 TEMPLATABLE_VALUE(uint8_t, level)
41
42 void play(const Ts &...x) override {
43 auto level = this->level_.value(x...);
44
45 this->parent_->set_heater_level(level);
46 }
47};
48
49template<typename... Ts> class SetHeaterAction : public Action<Ts...>, public Parented<HTU21DComponent> {
50 public:
51 TEMPLATABLE_VALUE(bool, status)
52
53 void play(const Ts &...x) override {
54 auto status = this->status_.value(x...);
55
56 this->parent_->set_heater(status);
57 }
58};
59
60} // namespace htu21d
61} // namespace esphome
uint8_t status
Definition bl0942.h:8
virtual void play(const Ts &...x)=0
Helper class to easily give an object a parent of type T.
Definition helpers.h:1618
This class simplifies creating components that periodically check a state.
Definition component.h:527
void set_temperature(sensor::Sensor *temperature)
Definition htu21d.h:15
void set_humidity(sensor::Sensor *humidity)
Definition htu21d.h:16
sensor::Sensor * humidity_
Definition htu21d.h:33
sensor::Sensor * temperature_
Definition htu21d.h:32
void set_sensor_model(HTU21DSensorModels sensor_model)
Definition htu21d.h:22
void set_heater(sensor::Sensor *heater)
Definition htu21d.h:17
void update() override
Update the sensor values (temperature+humidity).
Definition htu21d.cpp:39
HTU21DSensorModels sensor_model_
Definition htu21d.h:35
sensor::Sensor * heater_
Definition htu21d.h:34
void setup() override
Setup (reset) the sensor and check connection.
Definition htu21d.cpp:20
void set_heater_level(uint8_t level)
Definition htu21d.cpp:130
TEMPLATABLE_VALUE(bool, status) void play(const Ts &...x) override
Definition htu21d.h:51
TEMPLATABLE_VALUE(uint8_t, level) void play(const Ts &...x) override
Definition htu21d.h:40
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:132
Base-class for all sensors.
Definition sensor.h:47
@ HTU21D_SENSOR_MODEL_SI7021
Definition htu21d.h:11
@ HTU21D_SENSOR_MODEL_SHT21
Definition htu21d.h:11
@ HTU21D_SENSOR_MODEL_HTU21D
Definition htu21d.h:11
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t temperature
Definition sun_gtil2.cpp:12
uint16_t x
Definition tt21100.cpp:5