Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. 💬 Air Humidity Sensor - DHT

💬 Air Humidity Sensor - DHT

Scheduled Pinned Locked Moved Announcements
149 Posts 48 Posters 47.8k Views 38 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C cristi

    @mfalkvidd Indeed, I see that 10 seconds in pdf, but it looks strange. I'd have to re-read to see if I can get what it is supposed to be for.
    But, meanwhile, in the same pdf, you get this note (chapter 6): "Note: Sampling period at intervals should be no less than 1 second.". Also, DHT library is using 1second sampling period.

    mfalkviddM Offline
    mfalkviddM Offline
    mfalkvidd
    Mod
    wrote on last edited by
    #118

    @cristi thanks. I have updated the table.

    1 Reply Last reply
    0
    • R Offline
      R Offline
      ricmail85
      wrote on last edited by
      #119

      I've created a DHT11 sensor based on this sketch. However the temperatures (and humidities) are reported as integer numbers in domoticz (either by looking at the devices and setup tabs). In the sketch I've specified the number of decimals like send(msgHum.set(temperatire, 2)). Even if I try larger decimal numbers, nothing change when the value is received in domoticz. What can I do?
      Thanks in advance.

      mfalkviddM 1 Reply Last reply
      0
      • gohanG Offline
        gohanG Offline
        gohan
        Mod
        wrote on last edited by gohan
        #120

        What kind of variable did you set for your "temperature"? If you can post your code it would help

        1 Reply Last reply
        0
        • R ricmail85

          I've created a DHT11 sensor based on this sketch. However the temperatures (and humidities) are reported as integer numbers in domoticz (either by looking at the devices and setup tabs). In the sketch I've specified the number of decimals like send(msgHum.set(temperatire, 2)). Even if I try larger decimal numbers, nothing change when the value is received in domoticz. What can I do?
          Thanks in advance.

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #121

          @ricmail85 you mean you're only getting integers here?
          0_1516118501351_97c9afbc-5d93-4fc1-8886-2d8e6fd7c22c-image.png

          1 Reply Last reply
          0
          • R Offline
            R Offline
            ricmail85
            wrote on last edited by
            #122

            @mfalkvidd yes I see only integer numbers here and in devices.

            @gohan I've declared the variable temperature as float. However after I bit of debugging I found that it seems to be related to the dht lib included in the mysensors examples. If the model is dht11 the library is set for 0 decimals. For the dht22 it would be 1 decimal.

            Am I right? Thanks in advance

            1 Reply Last reply
            0
            • S Offline
              S Offline
              scottdube
              wrote on last edited by
              #123

              NEWBIE ALERT -- Has anyone else had trouble getting the code above to compile? I'm getting the following error.

              ysensors_Humidity:91: error: 'class DHT' has no member named 'setup'
              dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor
              ^
              Mysensors_Humidity:92: error: 'class DHT' has no member named 'getMinimumSamplingPeriod'
              if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) {
              ^
              Mysensors_Humidity:97: error: 'class DHT' has no member named 'getMinimumSamplingPeriod'
              sleep(dht.getMinimumSamplingPeriod());
              ^
              /Users/scottdube/Documents/Arduino/Mysensors_Humidity/Mysensors_Humidity.ino: In function 'void loop()':
              Mysensors_Humidity:104: error: 'class DHT' has no member named 'readSensor'
              dht.readSensor(true);
              ^
              Mysensors_Humidity:107: error: 'class DHT' has no member named 'getTemperature'
              float temperature = dht.getTemperature();
              ^
              Mysensors_Humidity:114: error: 'class DHT' has no member named 'toFahrenheit'
              temperature = dht.toFahrenheit(temperature);
              ^
              Mysensors_Humidity:131: error: 'class DHT' has no member named 'getHumidity'
              float humidity = dht.getHumidity();
              ^
              exit status 1
              no matching function for call to 'DHT::DHT()'

              Thanks

              1 Reply Last reply
              0
              • gohanG Offline
                gohanG Offline
                gohan
                Mod
                wrote on last edited by
                #124

                I guess you are using a different dht library version

                S 1 Reply Last reply
                2
                • gohanG gohan

                  I guess you are using a different dht library version

                  S Offline
                  S Offline
                  scottdube
                  wrote on last edited by
                  #125

                  @gohan I got it past that point... Now I can't tell what the humidity or temp is? I cannot seem to find where (what file) controls what is being output. See below this is from my serial gateway, I can't figure out what these values represent. :READ,255-255-0,s=36,c=3,t=3,pt=0,l=0,sg=0:
                  255;36;3;0;3;

                  0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RNNGA---,VER=2.2.0
                  0;255;3;0;9;4 TSM:INIT
                  0;255;3;0;9;6 TSF:WUR:MS=0
                  0;255;3;0;9;14 TSM:INIT:TSP OK
                  0;255;3;0;9;17 TSM:INIT:GW MODE
                  0;255;3;0;9;20 TSM:READY:ID=0,PAR=0,DIS=0
                  0;255;3;0;9;23 MCO:REG:NOT NEEDED
                  0;255;3;0;14;Gateway startup complete.
                  0;255;0;0;18;2.2.0
                  0;255;3;0;9;28 MCO:BGN:STP
                  0;255;3;0;9;34 MCO:BGN:INIT OK,TSP=1
                  0;255;3;0;9;30224 TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                  0;255;3;0;9;30231 TSF:MSG:BC
                  0;255;3;0;9;30233 TSF:MSG:FPAR REQ,ID=255
                  0;255;3;0;9;30237 TSF:PNG:SEND,TO=0
                  0;255;3;0;9;30240 TSF:CKU:OK
                  0;255;3;0;9;30243 TSF:MSG:GWL OK
                  0;255;3;0;9;30832 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                  0;255;3;0;9;32237 TSF:MSG:READ,255-255-0,s=36,c=3,t=3,pt=0,l=0,sg=0:
                  255;36;3;0;3;
                  0;255;3;0;9;34249 TSF:MSG:READ,255-255-0,s=1,c=3,t=3,pt=0,l=0,sg=0:
                  255;1;3;0;3;
                  0;255;3;0;9;36260 TSF:MSG:READ,255-255-0,s=220,c=3,t=3,pt=0,l=0,sg=0:
                  255;220;3;0;3;
                  0;255;3;0;9;38270 TSF:MSG:READ,255-255-0,s=183,c=3,t=3,pt=0,l=0,sg=0:
                  255;183;3;0;3;

                  1 Reply Last reply
                  0
                  • gohanG Offline
                    gohanG Offline
                    gohan
                    Mod
                    wrote on last edited by
                    #126

                    The is the log parser on the mysensors site. Anyway that means you didn't set a node ID on your node and it is asking for one but there is no controller providing one.

                    S 1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      Ihor
                      wrote on last edited by
                      #127

                      I have some problem...

                      C:\Users\ibaturin\Desktop\DHT\DHT.ino: In function 'void loop()':

                      DHT:104: error: no matching function for call to 'DHT::readSensor(bool)'

                      dht.readSensor(true);

                                        ^
                      

                      C:\Users\ibaturin\Desktop\DHT\DHT.ino:104:22: note: candidate is:

                      In file included from C:\Users\ibaturin\Desktop\DHT\DHT.ino:44:0:

                      C:\ARDUINO\arduino-nightly\portable\sketchbook\libraries\arduino-DHT-master/DHT.h:83:8: note: void DHT::readSensor()

                      void readSensor();

                          ^
                      

                      C:\ARDUINO\arduino-nightly\portable\sketchbook\libraries\arduino-DHT-master/DHT.h:83:8: note: candidate expects 0 arguments, 1 provided

                      exit status 1
                      no matching function for call to 'DHT::readSensor(bool)'

                      1 Reply Last reply
                      0
                      • gohanG Offline
                        gohanG Offline
                        gohan
                        Mod
                        wrote on last edited by
                        #128

                        did you read this?
                        https://forum.mysensors.org/topic/4326/can-t-compile-humidity-sketch-2-0-what-dht-library-do-i-need/18

                        1 Reply Last reply
                        1
                        • gohanG gohan

                          The is the log parser on the mysensors site. Anyway that means you didn't set a node ID on your node and it is asking for one but there is no controller providing one.

                          S Offline
                          S Offline
                          scottdube
                          wrote on last edited by
                          #129

                          @gohan Thank you I was able to resolve that issue and get it communication with the gateway, the vera and now mqtt. Thanks again!

                          1 Reply Last reply
                          1
                          • joaoabsJ Offline
                            joaoabsJ Offline
                            joaoabs
                            wrote on last edited by
                            #130

                            For the ones looking for a library that makes this DHT sketch work, mysensors have compiled a set of libraries that include this DHT.h and many others. Just go to https://www.mysensors.org/about/arduino#optional---install-external-mysensors-examples (yes, the name is not intuitive, maybe the keyword library would make it more obvious?), or jump directly to here and follow the standard library instructions. It took me two hours to find this, hope it saves time for future followers of mysensors like myself.

                            Good luck!

                            1 Reply Last reply
                            2
                            • joaoabsJ Offline
                              joaoabsJ Offline
                              joaoabs
                              wrote on last edited by
                              #131

                              Here is the set of libraries where you can find the DHT.h: https://github.com/mysensors/MySensorsArduinoExamples/archive/master.zip

                              1 Reply Last reply
                              0
                              • P Offline
                                P Offline
                                Pavel Polititsky
                                wrote on last edited by
                                #132

                                If I use this string in a code "sleep(dht.getMinimumSamplingPeriod());" DHT22 (AM2320) always read NaN
                                else DHT22 working, but never sleeping
                                What im doing wrong?

                                1 Reply Last reply
                                0
                                • joaoabsJ Offline
                                  joaoabsJ Offline
                                  joaoabs
                                  wrote on last edited by
                                  #133

                                  Where are you reading this "NaN"?
                                  I sometimes also have it in my OpenHab controller webpage when the node doesn't communicate for a while... But when it does, it changes to the value it read from the sensor.

                                  Try to see in the GW if there is traffic comming from that node. Usualy you can read there the values.

                                  Good luck!

                                  1 Reply Last reply
                                  0
                                  • P Offline
                                    P Offline
                                    Pavel Polititsky
                                    wrote on last edited by
                                    #134

                                    In a serial debug of the sensor module
                                    It write something like "Failed to read data humidity (temperature)
                                    Also no send any data to gateway

                                    Without getMinimumSamplingPeriod I've receiving hum & temp through gateway

                                    1 Reply Last reply
                                    0
                                    • gohanG Offline
                                      gohanG Offline
                                      gohan
                                      Mod
                                      wrote on last edited by
                                      #135

                                      DHT sensor is not very fast, it needs some times between initialization and the different readings

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        Maschler
                                        wrote on last edited by
                                        #136

                                        Hi
                                        this program doesn’t work with my setup. For the Gateway I am using a Ardunio nano as a serial Gateway. Thus, I am using the GatewaySerial.ino. Even the Node is based on an Arduino nano with a DHT22 connected. The general communication between both seems to work. But I do not receive any sensor data. When testing the setup with another library for the dht sensor, it works fine (without sending to the gateway, only serial Monitor). Because I am new in the mysensors community there is perhaps a simple mistake which I don’t see… I hope you can help me finding my mistake.
                                        Here is a short extract of the Debugging Information’s. As far as I see there are no data transferred.
                                        Gateway:

                                        0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RRNGA---,VER=2.3.0
                                        0;255;3;0;9;4 TSM:INIT
                                        0;255;3;0;9;6 TSF:WUR:MS=0
                                        0;255;3;0;9;9 TSM:INIT:TSP OK
                                        0;255;3;0;9;12 TSM:INIT:GW MODE
                                        0;255;3;0;9;15 TSM:READY:ID=0,PAR=0,DIS=0
                                        0;255;3;0;9;19 MCO:REG:NOT NEEDED
                                        0;255;3;0;14;Gateway startup complete.
                                        0;255;0;0;18;2.3.0
                                        0;255;3;0;9;23 MCO:BGN:STP
                                        0;255;3;0;9;29 MCO:BGN:INIT OK,TSP=1
                                        0;255;3;0;9;1907 TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                                        0;255;3;0;9;1913 TSF:MSG:BC
                                        0;255;3;0;9;1916 TSF:MSG:FPAR REQ,ID=255
                                        0;255;3;0;9;1920 TSF:CKU:OK,FCTRL
                                        0;255;3;0;9;1923 TSF:MSG:GWL OK
                                        0;255;3;0;9;4047 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                                        0;255;3;0;9;5136 TSF:MSG:READ,255-255-0,s=187,c=3,t=3,pt=0,l=0,sg=0:
                                        255;187;3;0;3;
                                        0;255;3;0;9;7150 TSF:MSG:READ,255-255-0,s=155,c=3,t=3,pt=0,l=0,sg=0:
                                        255;155;3;0;3;
                                        0;255;3;0;9;9164 TSF:MSG:READ,255-255-0,s=123,c=3,t=3,pt=0,l=0,sg=0:
                                        255;123;3;0;3;
                                        0;255;3;0;9;11179 TSF:MSG:READ,255-255-0,s=91,c=3,t=3,pt=0,l=0,sg=0:
                                        255;91;3;0;3;
                                        Sensor:
                                        16 MCO:BGN:INIT NODE,CP=RRNNA---,VER=2.3.0
                                        25 TSM:INIT
                                        26 TSF:WUR:MS=0
                                        29 TSM:INIT:TSP OK
                                        30 TSM:FPAR
                                        1250 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                                        1368 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                        1373 TSF:MSG:FPAR OK,ID=0,D=1
                                        1571 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                        1774 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                        1977 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                        3257 TSM:FPAR:OK
                                        3258 TSM:ID
                                        3259 TSM:ID:REQ
                                        3267 TSF:MSG:SEND,255-255-0-0,s=187,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
                                        5274 TSM:ID
                                        5275 TSM:ID:REQ
                                        5283 TSF:MSG:SEND,255-255-0-0,s=155,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
                                        7290 TSM:ID
                                        7291 TSM:ID:REQ
                                        7299 TSF:MSG:SEND,255-255-0-0,s=123,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
                                        9306 TSM:ID
                                        9307 TSM:ID:REQ
                                        9315 TSF:MSG:SEND,255-255-0-0,s=91,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
                                        11322 !TSM:ID:FAIL
                                        11323 TSM:FAIL:CNT=1
                                        11325 TSM:FAIL:DIS
                                        11327 TSF:TDI:TSL
                                        21330 TSM:FAIL:RE-INIT
                                        21332 TSM:INIT
                                        21335 TSM:INIT:TSP OK
                                        21337 TSM:FPAR

                                        1 Reply Last reply
                                        0
                                        • bgunnarbB Offline
                                          bgunnarbB Offline
                                          bgunnarb
                                          wrote on last edited by
                                          #137

                                          Hi!
                                          What controller are you using?
                                          From the logs it seems that the sensor is asking for an ID but does not get any.
                                          Node ID is handed out by the controller. Or else you have to set the node ID in the sketch. What does the sketch look like?

                                          I have never been so busy since I retired!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular