Want working DHT11 code

i have searched all topic related to DHT11 cayenne community.but not able to find any working code for DHT11…
after ong search i find DHT_Cay.txt.but after compilation i got error of
Arduino: 1.6.5 (Windows 8.1), Board: “Arduino/Genuino Uno”

In file included from C:\Program Files (x86)\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:
C:\Program Files (x86)\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include <Adafruit_Sensor.h>
compilation terminated.
Error compiling.

// Example testing sketch for various DHT humidity/temperature sensors

#include "DHT.h"
#define CAYENNE_DEBUG         // Cayenne Code Uncomment to show debug messages
#define DHTPIN 2              // what digital pin we're connected to
#define CAYENNE_PRINT Serial  // Cayenne Code Comment this out to disable prints and save space
#include <CayenneSerial.h>  // Cayenne Code Change this to use a different communication device. See Communications examples.

// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
char token[] = "itwjt5dc6q";

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11

// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.

void setup() {
  Serial.println("DHTxx test!");

void loop() {

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");

  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humidity: ");
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(" *C ");
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(" *C ");
  Serial.println(" *F");


// These functions are called when the Cayenne widget requests data for the Virtual Pin.
  Cayenne.virtualWrite(V0, dht.readTemperature(true));

  Cayenne.virtualWrite(V1, dht.readHumidity());

  Cayenne.virtualWrite(V2, dht.readTemperature());

  Cayenne.virtualWrite(V3, dht.readHumidity());

  Cayenne.virtualWrite(V4, dht.readTemperature(true));


help me…
i am using USB serial communication for connection arduino to cayenne…

ok vin3yasukhadeve
try this codedht11.txt (607 Bytes)

and add this library to arduino library

and add the sensor to the dashboard with virtual port mentioned in the program

1 Like

this library will help you sort that error

amazing bro…
code is now successfully compiled. your all suggestion to me give rise to expand my knowledge in cayenne…i am new in coding,thank you for your valuable help…
i am beginner, so need your help time to time.

now next procedure is to create custom widget in cayenne and uploading the sketch…am i right?? if not guide me…

Here is a project I posted a while back Battery Powered ESP8266 Temperature/Humidity Monitor with DHT11

yes correct… anytime

i am facing issue in setting trigger value…

how can we choose any value i.e. if tem is greater than 23 degree then send email…like that

it only showing on 1\off o

HI @vin3yasukhadeve,

Welcome to Cayenne! Glad to see you are off and running. Is data actually displaying on your widget? I think you may have selected a ‘digital pin’, instead of a ‘virtual pin’, when adding your sensor to the dashboard. That’s why you can only select a 0 or a 1 in the triggers statement.

For example, you can see the V1, V2, V3, V4 pins being called out in the code that you posted earlier.

Keep us posted on your progress!


successfully implemented by using analog input as a generic sensor…now i can set trigger values what i want…

successfully notified on my email …when values increases beyond threshold…but when i want to send trigger notification on my mobile number, i am not receiving any notification whenever go beyond limit…
please specify mobile number format…
i am from India
mob number: 708588****
i tried : 91708588****
and also 7085884340
nothing works for me…
is it bug???

i am too from india all just work fine

it will look something like this

Then what should I write in place of number??
Only 10 digit mob number or add 91 before mob number…

Which format you used for your case???
U have used water level sensor in your project…I want that sensor code…

add +91 working on code will from today had exams past days

Ok… Thanks…for this…