DHT Temperature+Humidity Sensor

The DHT Temperature+Humidity sensor allows you to use your

sensors with ESPHome.


DHT22 Temperature & Humidity Sensor.

The DHT22 and DHT11 require external pull up resistors on the data line. To do this, solder a resistor with about 4.7kΩ (anything in the range from 1kΩ to 10kΩ probably works fine, but if you’re having issues try the 4.7kΩ recommended by the manufacturer) between DATA and 3.3V.

# Example configuration entry
  - platform: dht
    pin: D2
      name: "Living Room Temperature"
      name: "Living Room Humidity"
    update_interval: 60s

Configuration variables:

  • pin (Required, Pin): The pin where the DHT bus is connected.

  • temperature (Required): The information for the temperature sensor.

    • name (Required, string): The name for the temperature sensor.

    • id (Optional, ID): Set the ID of this sensor for use in lambdas.

    • All other options from Sensor.

  • humidity (Required): The information for the humidity sensor

    • name (Required, string): The name for the humidity sensor.

    • id (Optional, ID): Set the ID of this sensor for use in lambdas.

    • All other options from Sensor.

  • model (Optional, int): Manually specify the DHT model, can be one of AUTO_DETECT, DHT11, DHT22, DHT22_TYPE2, AM2302, RHT03, SI7021, AM2120 and helps with some connection issues. Defaults to AUTO_DETECT. Auto detection doesn’t work for the SI7021 chip.

  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.


The default accuracy_decimals value of the humidity levels is 0, as the DHT11 for which this was originally written does not have a higher resolution. All other DHT sensors have a higher resolution, it’s worth to configure them with accuracy_decimals: 1.

If you’re seeing lots of invalid temperature/humidity warnings in the logs, try manually setting the DHT model with the model: configuration variable. Other problems could be wrong pull-up resistor values on the DATA pin or too long cables.

See Also