ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
dht.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
6
7namespace esphome::dht {
8
19
21class DHT : public PollingComponent {
22 public:
38 void set_dht_model(DHTModel model);
39
41 this->t_pin_ = pin;
42 this->pin_ = pin->to_isr();
43 }
44 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
45 void set_humidity_sensor(sensor::Sensor *humidity_sensor) { humidity_sensor_ = humidity_sensor; }
46
48 void setup() override;
49 void dump_config() override;
51 void update() override;
52
53 protected:
54 bool read_sensor_(float *temperature, float *humidity, bool report_errors);
55
61 bool is_auto_detect_{false};
62};
63
64} // namespace esphome::dht
Copy of GPIOPin that is safe to use from ISRs (with no virtual functions)
Definition gpio.h:92
virtual ISRInternalGPIOPin to_isr() const =0
This class simplifies creating components that periodically check a state.
Definition component.h:602
Component for reading temperature/humidity measurements from DHT11/DHT22 sensors.
Definition dht.h:21
bool is_auto_detect_
Definition dht.h:61
void update() override
Update sensor values and push them to the frontend.
Definition dht.cpp:32
void dump_config() override
Definition dht.cpp:18
sensor::Sensor * temperature_sensor_
Definition dht.h:56
sensor::Sensor * humidity_sensor_
Definition dht.h:57
void set_humidity_sensor(sensor::Sensor *humidity_sensor)
Definition dht.h:45
InternalGPIOPin * t_pin_
Definition dht.h:58
void set_pin(InternalGPIOPin *pin)
Definition dht.h:40
DHTModel model_
Definition dht.h:60
void setup() override
Set up the pins and check connection.
Definition dht.cpp:9
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition dht.h:44
bool read_sensor_(float *temperature, float *humidity, bool report_errors)
Definition dht.cpp:67
ISRInternalGPIOPin pin_
Definition dht.h:59
void set_dht_model(DHTModel model)
Manually select the DHT model.
Definition dht.cpp:62
Base-class for all sensors.
Definition sensor.h:47
@ DHT_MODEL_AUTO_DETECT
Definition dht.h:10
@ DHT_MODEL_DHT22
Definition dht.h:12
@ DHT_MODEL_AM2302
Definition dht.h:14
@ DHT_MODEL_SI7021
Definition dht.h:16
@ DHT_MODEL_DHT22_TYPE2
Definition dht.h:17
@ DHT_MODEL_AM2120
Definition dht.h:13
@ DHT_MODEL_RHT03
Definition dht.h:15
@ DHT_MODEL_DHT11
Definition dht.h:11
uint16_t temperature
Definition sun_gtil2.cpp:12