Library 2.0 - No Humidity sketch



  • I wanted to update all my sensor to the 2.0 library but Im noticing that the Humidity sketch seems to have been removed. Is this correct?



  • It is there and is called

    DhtTemperatureAndHumiditySensor



  • hmm... is it possible I somehow got an incomplete library? I only have 4 sketches that begin with D and none of them are that one.



  • Did you download the new examples? they are not included anymore.
    Here you can find them:

    https://github.com/mysensors/MySensorsArduinoExamples/tree/master/examples



  • @tlpeter I had not, thanks so much! I'm still a novice when it comes to GitHub, how do I download the files?



  • I don't know either and i remember that there should be a zip file which you can download.
    I only cannot remember where.
    For now you can copy the code and save it.


  • Mod

    The zip download link is a bit hard to find because it is only visible at the top level of the project (not in subfolders). Keep in mind that the sketch depends on the dht library so you'll need to download the zip file. Just the sketch might not work.
    0_1471535995682_image.png



  • // Enable debug prints to serial monitor
    #define MY_DEBUG 
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    //Including nescessary libraries
    #include <SPI.h>
    #include <MySensors.h> 
    #include <DHT.h>  
    #define HUMIDITY 1
    #define TEMPERATURE 2
    
    #define HUMIDITY_SENSOR_DIGITAL_PIN 3
    DHT dht;
    
    float lastTempValue;
    float lastHumValue;
    boolean metric = true; 
    
    unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)(30 seconds)
    #define MESSAGEWAIT 500
    
    MyMessage msgHum(HUMIDITY, V_HUM);
    MyMessage msgTemp(TEMPERATURE, V_TEMP);
    
    void presentation()  {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("XXXX", "XX");
      wait(MESSAGEWAIT);
    
      // Register all sensors to gateway (they will be created as child devices)
      present(HUMIDITY, S_HUM);
      wait(MESSAGEWAIT);
      present(TEMPERATURE, S_TEMP);
      wait(MESSAGEWAIT);
    }
    
    void setup() {
       dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
    }
    
    void loop() {
                delay(dht.getMinimumSamplingPeriod());
                float temperature = dht.getTemperature();
                if (isnan(temperature)) {
                                        Serial.println("Failed reading temperature from DHT");
                                        } else if (temperature != lastTempValue) {
                                                                              send(msgTemp.set(temperature, 1));
                                                                              lastTempValue = temperature;
                                                                              Serial.print("Temp: ");
                                                                              Serial.println(temperature);
                                                                            }
                float humidity = dht.getHumidity();
                 if (isnan(humidity)) {
                                      Serial.println("Failed reading humidity from DHT");
                                      } else if (humidity != lastHumValue) {
                                                                       send(msgHum.set(humidity, 1));
                                                                       lastHumValue = humidity;
                                                                       Serial.print("Hum: ");
                                                                       Serial.println(humidity);
                                                                      } 
    
                sleep(SLEEP_TIME);
               }
    
    

 

455
Online

7.9k
Users

8.8k
Topics

93.7k
Posts