     tempSensor.setResolution(tempAddr, 12);    // set the resolution to 12 bit (DS18B20 goes from 9-12 bit)
   }
 
-  if(GOT_HUMID_SENSOR){
-    dht.begin();    // Start the humidity and air temperature sensor
+  dht.begin();    // Start the humidity and air temperature sensor
+  float airHumid = dht.readHumidity();
+  float airCelsius = dht.readTemperature();
+  if (isnan(airHumid) || isnan(airCelsius)) {
+    Serial.println("Failed to read from DHT sensor!");h
+  }
+  else
+  {
+    GOT_HUMID_SENSOR = true;
   }
 
   Wire.begin();

  monitor_t* now = &monitorData[monitorCursor];
  if(monitorSize < MONITOR_POINTS)
    monitorSize++;
  now->timestamp = micros();
  if(GOT_TEMP_SENSOR)
    getTemperature(&now->waterCelsius);


/////////////////////////////////////////////////////////////////////////////
// Light sensor stuff ///////////////////////////////////////////////////////
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591); // pass in a number for the sensor identifier (for your use later)
boolean GOT_LIGHT_SENSOR = false; // we'll change this later if we can detect the sensor

/////////////////////////////////////////////////////////////////////////////
// RC switch stuff //////////////////////////////////////////////////////////
