# dht Module ## Constants `dht.OK` (0), `dht.ERROR_CHECKSUM` (1), `dht.ERROR_TIMEOUT` (2) ## dht.read() Read all kinds of DHT sensors, including DHT11, 21, 22, 33, 44 humidity temperature combo sensor. #### Syntax `dht.read(pin)` #### Parameters `pin` pin number of DHT sensor (can't be 0), type is number #### Returns - `status` as defined in Constants - `temp` temperature (see note below) - `humi` humidity (see note below) - `temp_dec` temperature decimal - `humi_dec` humidity decimal !!! note "Note:" If using float firmware then `temp` and `humi` are floating point numbers. On an integer firmware, the final values have to be concatenated from `temp` and `temp_dec` / `humi` and `hum_dec`. #### Example ```lua pin = 5 status, temp, humi, temp_dec, humi_dec = dht.read(pin) if status == dht.OK then -- Integer firmware using this example print(string.format("DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n", math.floor(temp), temp_dec, math.floor(humi), humi_dec )) -- Float firmware using this example print("DHT Temperature:"..temp..";".."Humidity:"..humi) elseif status == dht.ERROR_CHECKSUM then print( "DHT Checksum error." ) elseif status == dht.ERROR_TIMEOUT then print( "DHT timed out." ) end ``` ## dht.read11() Read DHT11 humidity temperature combo sensor. #### Syntax `dht.read11(pin)` #### Parameters `pin` pin number of DHT11 sensor (can't be 0), type is number #### Returns - `status` as defined in Constants - `temp` temperature (see note below) - `humi` humidity (see note below) - `temp_dec` temperature decimal - `humi_dec` humidity decimal !!! note "Note:" If using float firmware then `temp` and `humi` are floating point numbers. On an integer firmware, the final values have to be concatenated from `temp` and `temp_dec` / `humi` and `hum_dec`. #### See also [dht.read()](#dhtread) ## dht.readxx() Read all kinds of DHT sensors, except DHT11. ####Syntax `dht.readxx(pin)` #### Parameters `pin` pin number of DHT sensor (can't be 0), type is number #### Returns - `status` as defined in Constants - `temp` temperature (see note below) - `humi` humidity (see note below) - `temp_dec` temperature decimal - `humi_dec` humidity decimal !!! note "Note:" If using float firmware then `temp` and `humi` are floating point numbers. On an integer firmware, the final values have to be concatenated from `temp` and `temp_dec` / `humi` and `hum_dec`. #### See also [dht.read()](#dhtread)