ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
htu21d.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::htu21d {
9
11
13 public:
15 void set_humidity(sensor::Sensor *humidity) { humidity_ = humidity; }
16 void set_heater(sensor::Sensor *heater) { heater_ = heater; }
17
19 void setup() override;
20 void dump_config() override;
21 void set_sensor_model(HTU21DSensorModels sensor_model) { sensor_model_ = sensor_model; }
23 void update() override;
24
25 bool is_heater_enabled();
26 void set_heater(bool status);
27 void set_heater_level(uint8_t level);
28 uint8_t get_heater_level();
29
30 protected:
35};
36
37template<typename... Ts> class SetHeaterLevelAction : public Action<Ts...>, public Parented<HTU21DComponent> {
38 public:
39 TEMPLATABLE_VALUE(uint8_t, level)
40
41 void play(const Ts &...x) override {
42 auto level = this->level_.value(x...);
43
44 this->parent_->set_heater_level(level);
45 }
46};
47
48template<typename... Ts> class SetHeaterAction : public Action<Ts...>, public Parented<HTU21DComponent> {
49 public:
50 TEMPLATABLE_VALUE(bool, status)
51
52 void play(const Ts &...x) override {
53 auto status = this->status_.value(x...);
54
55 this->parent_->set_heater(status);
56 }
57};
58
59} // namespace esphome::htu21d
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:1861
This class simplifies creating components that periodically check a state.
Definition component.h:585
void set_temperature(sensor::Sensor *temperature)
Definition htu21d.h:14
void set_humidity(sensor::Sensor *humidity)
Definition htu21d.h:15
sensor::Sensor * humidity_
Definition htu21d.h:32
sensor::Sensor * temperature_
Definition htu21d.h:31
void set_sensor_model(HTU21DSensorModels sensor_model)
Definition htu21d.h:21
void set_heater(sensor::Sensor *heater)
Definition htu21d.h:16
void update() override
Update the sensor values (temperature+humidity).
Definition htu21d.cpp:38
HTU21DSensorModels sensor_model_
Definition htu21d.h:34
sensor::Sensor * heater_
Definition htu21d.h:33
void setup() override
Setup (reset) the sensor and check connection.
Definition htu21d.cpp:19
void set_heater_level(uint8_t level)
Definition htu21d.cpp:129
TEMPLATABLE_VALUE(bool, status) void play(const Ts &...x) override
Definition htu21d.h:50
TEMPLATABLE_VALUE(uint8_t, level) void play(const Ts &...x) override
Definition htu21d.h:39
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:10
@ HTU21D_SENSOR_MODEL_SHT21
Definition htu21d.h:10
@ HTU21D_SENSOR_MODEL_HTU21D
Definition htu21d.h:10
uint16_t temperature
Definition sun_gtil2.cpp:12
uint16_t x
Definition tt21100.cpp:5