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. Troubleshooting
  3. DHT22 and DS18b20 on same node: DS shows up with Humidity now.

DHT22 and DS18b20 on same node: DS shows up with Humidity now.

Scheduled Pinned Locked Moved Troubleshooting
15 Posts 8 Posters 9.3k Views 5 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.
  • Z Offline
    Z Offline
    zampedro
    wrote on last edited by
    #6

    This is a really annoying thing.
    I finally decided to modify the Domoticz sources, and now
    temperature shows up with humidity only if they have
    consecutive ID, otherwise they are shown separated.

    miljumeM 1 Reply Last reply
    0
    • Z zampedro

      This is a really annoying thing.
      I finally decided to modify the Domoticz sources, and now
      temperature shows up with humidity only if they have
      consecutive ID, otherwise they are shown separated.

      miljumeM Offline
      miljumeM Offline
      miljume
      wrote on last edited by
      #7

      @zampedro I have exactly the same problem

      Could you please tell me more of how you modified Domoticz source?

      This bug is really annoying!

      Regards,
      Mikael

      AWIA 1 Reply Last reply
      0
      • miljumeM miljume

        @zampedro I have exactly the same problem

        Could you please tell me more of how you modified Domoticz source?

        This bug is really annoying!

        Regards,
        Mikael

        AWIA Offline
        AWIA Offline
        AWI
        Hero Member
        wrote on last edited by
        #8

        @miljume Domoticz developers consider this a feature... not a bug ;-)

        1 Reply Last reply
        0
        • mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #9

          I get a similar problem on my plant monitoring. The graph always says "Temperature" even though the sensors only report humidity. I need to explain it every time I show the graphs to anyone.

          1 Reply Last reply
          0
          • Z Offline
            Z Offline
            zampedro
            wrote on last edited by
            #10

            I modified MySensorBase.cpp

            void MySensorsBase::SendSensor2Domoticz
            case V_TEMP:

            at lines 595 and 603 (numbers from last git code) for Temperature

            // SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
            if ( (pChildHum->childID+1)== pChild->childID)
            SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
            else
            SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

            // SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
            if ( (pChildHum->childID+1)== pChild->childID)
            SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
            else
            SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

            case V_HUM:
            

            at lines 678 and 686 for Humidity

            // SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
            if ( (pChild->childID+1)== pChildTemp->childID)
            SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
            else
            SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

            // SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
            if ( (pChild->childID+1)== pChildTemp->childID)
            SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
            else
            SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

            In this way hum+temp of DHT11 are shown together ( CHILD_ID_HUM +1 == CHILD_ID_TEMP ) and
            temperatures from ds18b20 are alone in separate widgets.

            #define CHILD_ID_HUM 9 // DHT11
            #define CHILD_ID_TEMP 10 // DHT11
            #define DS18B20_STARTID 15 // DS18B20

            Regards

            palande.vaibhavP 1 Reply Last reply
            0
            • miljumeM Offline
              miljumeM Offline
              miljume
              wrote on last edited by miljume
              #11

              @zampedro Sounds perfect, is there any chance this change can be merged into the source of Domoticz?

              1 Reply Last reply
              0
              • Z zampedro

                I modified MySensorBase.cpp

                void MySensorsBase::SendSensor2Domoticz
                case V_TEMP:

                at lines 595 and 603 (numbers from last git code) for Temperature

                // SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                if ( (pChildHum->childID+1)== pChild->childID)
                SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                else
                SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                // SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                if ( (pChildHum->childID+1)== pChild->childID)
                SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                else
                SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                case V_HUM:
                

                at lines 678 and 686 for Humidity

                // SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                if ( (pChild->childID+1)== pChildTemp->childID)
                SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                else
                SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                // SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                if ( (pChild->childID+1)== pChildTemp->childID)
                SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                else
                SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                In this way hum+temp of DHT11 are shown together ( CHILD_ID_HUM +1 == CHILD_ID_TEMP ) and
                temperatures from ds18b20 are alone in separate widgets.

                #define CHILD_ID_HUM 9 // DHT11
                #define CHILD_ID_TEMP 10 // DHT11
                #define DS18B20_STARTID 15 // DS18B20

                Regards

                palande.vaibhavP Offline
                palande.vaibhavP Offline
                palande.vaibhav
                wrote on last edited by
                #12

                @zampedro said:

                I modified MySensorBase.cpp

                void MySensorsBase::SendSensor2Domoticz
                case V_TEMP:

                at lines 595 and 603 (numbers from last git code) for Temperature

                // SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                if ( (pChildHum->childID+1)== pChild->childID)
                SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                else
                SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                // SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                if ( (pChildHum->childID+1)== pChild->childID)
                SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                else
                SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                case V_HUM:

                at lines 678 and 686 for Humidity

                // SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                if ( (pChild->childID+1)== pChildTemp->childID)
                SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                else
                SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                // SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                if ( (pChild->childID+1)== pChildTemp->childID)
                SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                else
                SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                In this way hum+temp of DHT11 are shown together ( CHILD_ID_HUM +1 == CHILD_ID_TEMP ) and
                temperatures from ds18b20 are alone in separate widgets.

                #define CHILD_ID_HUM 9 // DHT11
                #define CHILD_ID_TEMP 10 // DHT11
                #define DS18B20_STARTID 15 // DS18B20

                Regards

                Where can I find the MySensorsBase.cpp? I am running domoticz on windows and in the installation folder I can't find the file. I can see the file on GitHub but how do I install domoticz from GitHub?

                Z 1 Reply Last reply
                0
                • palande.vaibhavP palande.vaibhav

                  @zampedro said:

                  I modified MySensorBase.cpp

                  void MySensorsBase::SendSensor2Domoticz
                  case V_TEMP:

                  at lines 595 and 603 (numbers from last git code) for Temperature

                  // SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                  if ( (pChildHum->childID+1)== pChild->childID)
                  SendTempHumBaroSensorFloat(cNode, pChild->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                  else
                  SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                  // SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                  if ( (pChildHum->childID+1)== pChild->childID)
                  SendTempHumSensor(cNode, pChild->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                  else
                  SendTempSensor(cNode, pChild->batValue, Temp, (!pChild->childName.empty()) ? pChild->childName : "Temp");

                  case V_HUM:

                  at lines 678 and 686 for Humidity

                  // SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                  if ( (pChild->childID+1)== pChildTemp->childID)
                  SendTempHumBaroSensorFloat(cNode, pChildTemp->batValue, Temp, Humidity, Baro, nforecast, (!pChild->childName.empty()) ? pChild->childName : "TempHumBaro");
                  else
                  SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                  // SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                  if ( (pChild->childID+1)== pChildTemp->childID)
                  SendTempHumSensor(cNode, pChildTemp->batValue, Temp, Humidity, (!pChild->childName.empty()) ? pChild->childName : "TempHum");
                  else
                  SendHumiditySensor(cNode, pChild->batValue, Humidity, (!pChild->childName.empty()) ? pChild->childName : "Hum");

                  In this way hum+temp of DHT11 are shown together ( CHILD_ID_HUM +1 == CHILD_ID_TEMP ) and
                  temperatures from ds18b20 are alone in separate widgets.

                  #define CHILD_ID_HUM 9 // DHT11
                  #define CHILD_ID_TEMP 10 // DHT11
                  #define DS18B20_STARTID 15 // DS18B20

                  Regards

                  Where can I find the MySensorsBase.cpp? I am running domoticz on windows and in the installation folder I can't find the file. I can see the file on GitHub but how do I install domoticz from GitHub?

                  Z Offline
                  Z Offline
                  zampedro
                  wrote on last edited by
                  #13

                  @palande.vaibhav You have to compile domoticz from source, highly recommended if
                  you run it on raspberry, orangepi etc...

                  AWIA 1 Reply Last reply
                  0
                  • Z zampedro

                    @palande.vaibhav You have to compile domoticz from source, highly recommended if
                    you run it on raspberry, orangepi etc...

                    AWIA Offline
                    AWIA Offline
                    AWI
                    Hero Member
                    wrote on last edited by
                    #14

                    @zampedro Please have a look at this thread. The "combination issue" is discussed and solved. There is no reason to compile Domoticz yourself when running on Raspberry. I discourage compiling yourself (unless you like the excercise). The precompiled image works out of the box.

                    Z 1 Reply Last reply
                    3
                    • AWIA AWI

                      @zampedro Please have a look at this thread. The "combination issue" is discussed and solved. There is no reason to compile Domoticz yourself when running on Raspberry. I discourage compiling yourself (unless you like the excercise). The precompiled image works out of the box.

                      Z Offline
                      Z Offline
                      zampedro
                      wrote on last edited by
                      #15

                      @AWI Thanks for the hint.
                      I thought this wasn't a "issue" but just a "really annoying thing".
                      However i run domoticz on a Orange PI PC with WiringOP support and i can't find precompiled images.

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


                      15

                      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