ESPHome 2025.5.0
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 int8_t get_heater_level();
30
31 float get_setup_priority() const override;
32
33 protected:
38};
39
40template<typename... Ts> class SetHeaterLevelAction : public Action<Ts...>, public Parented<HTU21DComponent> {
41 public:
42 TEMPLATABLE_VALUE(uint8_t, level)
43
44 void play(Ts... x) override {
45 auto level = this->level_.value(x...);
46
47 this->parent_->set_heater_level(level);
48 }
49};
50
51template<typename... Ts> class SetHeaterAction : public Action<Ts...>, public Parented<HTU21DComponent> {
52 public:
53 TEMPLATABLE_VALUE(bool, status)
54
55 void play(Ts... x) override {
56 auto status = this->status_.value(x...);
57
58 this->parent_->set_heater(status);
59 }
60};
61
62} // namespace htu21d
63} // namespace esphome
uint8_t status
Definition bl0942.h:8
virtual void play(Ts... x)=0
Helper class to easily give an object a parent of type T.
Definition helpers.h:538
This class simplifies creating components that periodically check a state.
Definition component.h:301
void set_temperature(sensor::Sensor *temperature)
Definition htu21d.h:15
float get_setup_priority() const override
Definition htu21d.cpp:153
void set_humidity(sensor::Sensor *humidity)
Definition htu21d.h:16
sensor::Sensor * humidity_
Definition htu21d.h:35
sensor::Sensor * temperature_
Definition htu21d.h:34
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:41
HTU21DSensorModels sensor_model_
Definition htu21d.h:37
sensor::Sensor * heater_
Definition htu21d.h:36
void setup() override
Setup (reset) the sensor and check connection.
Definition htu21d.cpp:20
void set_heater_level(uint8_t level)
Definition htu21d.cpp:136
TEMPLATABLE_VALUE(bool, status) void play(Ts... x) override
Definition htu21d.h:53
TEMPLATABLE_VALUE(uint8_t, level) void play(Ts... x) override
Definition htu21d.h:42
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:133
Base-class for all sensors.
Definition sensor.h:57
@ 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