ESPHome 2026.1.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 {
8namespace dht {
9
20
22class DHT : public PollingComponent {
23 public:
39 void set_dht_model(DHTModel model);
40
42 this->t_pin_ = pin;
43 this->pin_ = pin->to_isr();
44 }
45 void set_model(DHTModel model) { model_ = model; }
46 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
47 void set_humidity_sensor(sensor::Sensor *humidity_sensor) { humidity_sensor_ = humidity_sensor; }
48
50 void setup() override;
51 void dump_config() override;
53 void update() override;
55 float get_setup_priority() const override;
56
57 protected:
58 bool read_sensor_(float *temperature, float *humidity, bool report_errors);
59
63 bool is_auto_detect_{false};
66};
67
68} // namespace dht
69} // namespace esphome
Copy of GPIOPin that is safe to use from ISRs (with no virtual functions)
Definition gpio.h:73
virtual ISRInternalGPIOPin to_isr() const =0
This class simplifies creating components that periodically check a state.
Definition component.h:474
Component for reading temperature/humidity measurements from DHT11/DHT22 sensors.
Definition dht.h:22
bool is_auto_detect_
Definition dht.h:63
float get_setup_priority() const override
HARDWARE_LATE setup priority.
Definition dht.cpp:63
void update() override
Update sensor values and push them to the frontend.
Definition dht.cpp:30
void dump_config() override
Definition dht.cpp:19
sensor::Sensor * temperature_sensor_
Definition dht.h:64
sensor::Sensor * humidity_sensor_
Definition dht.h:65
void set_humidity_sensor(sensor::Sensor *humidity_sensor)
Definition dht.h:47
InternalGPIOPin * t_pin_
Definition dht.h:60
void set_pin(InternalGPIOPin *pin)
Definition dht.h:41
DHTModel model_
Definition dht.h:62
void set_model(DHTModel model)
Definition dht.h:45
void setup() override
Set up the pins and check connection.
Definition dht.cpp:10
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition dht.h:46
bool read_sensor_(float *temperature, float *humidity, bool report_errors)
Definition dht.cpp:70
ISRInternalGPIOPin pin_
Definition dht.h:61
void set_dht_model(DHTModel model)
Manually select the DHT model.
Definition dht.cpp:65
Base-class for all sensors.
Definition sensor.h:43
@ DHT_MODEL_AUTO_DETECT
Definition dht.h:11
@ DHT_MODEL_DHT22
Definition dht.h:13
@ DHT_MODEL_AM2302
Definition dht.h:15
@ DHT_MODEL_SI7021
Definition dht.h:17
@ DHT_MODEL_DHT22_TYPE2
Definition dht.h:18
@ DHT_MODEL_AM2120
Definition dht.h:14
@ DHT_MODEL_RHT03
Definition dht.h:16
@ DHT_MODEL_DHT11
Definition dht.h:12
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t temperature
Definition sun_gtil2.cpp:12