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. Controllers
  3. Domoticz
  4. Requesting value from Domoticz

Requesting value from Domoticz

Scheduled Pinned Locked Moved Domoticz
39 Posts 9 Posters 13.1k Views 11 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.
  • benyaB Offline
    benyaB Offline
    benya
    wrote on last edited by
    #1

    I understand Domoticz doesn't yet support MySensors smart sleep mode.
    As a workaround MySensors node could periodically request certain value from Domoticz.
    I cannot find any docs on how to define dummy device or user value in Domoticz those value could be retrieved by MySensor v.2 node.
    My setup: GW and Domoticz run on the same RPi. Node runs on a battery-powered Arduino.
    I understood node will use
    void request(uint8_t childSensorId, uint8_t variableType, uint8_t destination);
    where destination=0 (to address GW),
    but what should be used for childSensorId?
    Where in Domoticz I can see proper values for childSensorId?

    Could someone guide me through?

    Thanks a lot!

    dbemowskD 1 Reply Last reply
    0
    • rmtuckerR Offline
      rmtuckerR Offline
      rmtucker
      wrote on last edited by
      #2

      I would also like some clarification on this as it would help as you say with the fact that Domoticz does not support Smartsleep Yet.

      1 Reply Last reply
      0
      • benyaB benya

        I understand Domoticz doesn't yet support MySensors smart sleep mode.
        As a workaround MySensors node could periodically request certain value from Domoticz.
        I cannot find any docs on how to define dummy device or user value in Domoticz those value could be retrieved by MySensor v.2 node.
        My setup: GW and Domoticz run on the same RPi. Node runs on a battery-powered Arduino.
        I understood node will use
        void request(uint8_t childSensorId, uint8_t variableType, uint8_t destination);
        where destination=0 (to address GW),
        but what should be used for childSensorId?
        Where in Domoticz I can see proper values for childSensorId?

        Could someone guide me through?

        Thanks a lot!

        dbemowskD Offline
        dbemowskD Offline
        dbemowsk
        wrote on last edited by
        #3

        @benya If I understand you right, you are looking to find the child IDs of a sensor node.

        Click on Setup > Hardware. Under Hardware find your MySensors Gateway and click the [Setup] button. From there, find the node that you want the child IDs from and click on it. Below the Nodes list you will see the list of Children with child IDs.

        Hope that helps.

        Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
        Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

        1 Reply Last reply
        1
        • benyaB Offline
          benyaB Offline
          benya
          wrote on last edited by
          #4

          Thanks.
          What if need to get value from dummy sensor controlled by Domoticz (not by another MySensors node)?
          Where is corresponding childSensorId?
          My RPi runs both MySensors gateway and Domoticz.

          dbemowskD 1 Reply Last reply
          0
          • benyaB benya

            Thanks.
            What if need to get value from dummy sensor controlled by Domoticz (not by another MySensors node)?
            Where is corresponding childSensorId?
            My RPi runs both MySensors gateway and Domoticz.

            dbemowskD Offline
            dbemowskD Offline
            dbemowsk
            wrote on last edited by
            #5

            @benya said:

            Thanks.
            What if need to get value from dummy sensor controlled by Domoticz (not by another MySensors node)?
            Where is corresponding childSensorId?
            My RPi runs both MySensors gateway and Domoticz.

            Are you trying to get the value on, or send the value to one of your MySensors nodes?

            Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
            Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

            1 Reply Last reply
            0
            • benyaB Offline
              benyaB Offline
              benya
              wrote on last edited by
              #6

              The goal is to pass value to the sensor that could be sleeping. Domoticz doesn't support MySensors smart sleep mode and polling current value is only option now.

              dbemowskD 1 Reply Last reply
              0
              • benyaB benya

                The goal is to pass value to the sensor that could be sleeping. Domoticz doesn't support MySensors smart sleep mode and polling current value is only option now.

                dbemowskD Offline
                dbemowskD Offline
                dbemowsk
                wrote on last edited by
                #7

                @benya I think I understand what you need. I have not worked with smart sleep, but I have passed dummy sensor information to a MySensors node. The key is to have the dummy sensor, and a corresponding MySensors child for the node. If you look at this post, I hve a response where you will see how I do this with my thermostat node to pass the thermostat mode from a dummy selector to my thermostat bridge node.

                Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                1 Reply Last reply
                0
                • benyaB Offline
                  benyaB Offline
                  benya
                  wrote on last edited by
                  #8

                  You are pushing value from controller to the node.
                  But if node is sleeping, new value won't reach node.
                  To get new value node has to request it from controller after waking up from sleep.

                  1 Reply Last reply
                  0
                  • dbemowskD Offline
                    dbemowskD Offline
                    dbemowsk
                    wrote on last edited by
                    #9

                    You can use that though to set the value that the node can grab. Are you wondering how to grab the value?

                    Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                    Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                    benyaB 1 Reply Last reply
                    0
                    • dbemowskD dbemowsk

                      You can use that though to set the value that the node can grab. Are you wondering how to grab the value?

                      benyaB Offline
                      benyaB Offline
                      benya
                      wrote on last edited by
                      #10

                      @dbemowsk said:

                      You can use that though to set the value that the node can grab. Are you wondering how to grab the value?

                      I am trying to figure what values to pass to
                      void request(uint8_t childSensorId, uint8_t variableType, uint8_t destination);
                      Where are the corresponding values show up in Domoticz UI?

                      1 Reply Last reply
                      0
                      • dbemowskD Offline
                        dbemowskD Offline
                        dbemowsk
                        wrote on last edited by
                        #11

                        I pull the thermostat mode from my thermostat bridge node like this:

                            request( CHILD_ID_MODE, V_TEXT );
                        

                        I have never used the destination attribute, so I can't speak to it's use, but using the childSensorId and variableType works for me. You still need to use the technique I described to set the MySensors child node from the dummy sensor though.

                        Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                        Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                        loic13L ? 2 Replies Last reply
                        0
                        • dbemowskD dbemowsk

                          I pull the thermostat mode from my thermostat bridge node like this:

                              request( CHILD_ID_MODE, V_TEXT );
                          

                          I have never used the destination attribute, so I can't speak to it's use, but using the childSensorId and variableType works for me. You still need to use the technique I described to set the MySensors child node from the dummy sensor though.

                          loic13L Offline
                          loic13L Offline
                          loic13
                          wrote on last edited by
                          #12

                          Hi @dbemowsk,
                          I'm trying to figure out the message format in the receive() function. Could you show an example of your receive() function ? I couldn't find the received message format.
                          Thank's

                          1 Reply Last reply
                          0
                          • dbemowskD Offline
                            dbemowskD Offline
                            dbemowsk
                            wrote on last edited by
                            #13

                            You are going to use 2 things. message.type and message.data. The message.type in my scenario is V_TEXT, and message.data is the payload, which in my case is O, H, C or A, but can be whatever you pass from Domoticz. The code in your receive function would look something like this:

                            if (message.type == V_TEXT) {
                              Serial.println("Received data" + String(message.data));
                              //Here you would do something with message.data
                            }
                            

                            If you have more than one child sensor sending V_TEXT data, you would then use an if statement or a switch/case to check message.sensor for the child ID of the sensor and process each as above.

                            if (message.type == V_TEXT) {
                              if (message.sensor == 1) {
                                Serial.println("Received data from child 1" + String(message.data));
                                //Here you would do something with message.data for the first child
                              } else if (message.sensor == 2) {
                                Serial.println("Received data from child 2" + String(message.data));
                                //Here you would do something with message.data for the second child
                              }
                            }
                            

                            Let us know if you have trouble.

                            Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                            Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                            loic13L 1 Reply Last reply
                            0
                            • dbemowskD dbemowsk

                              You are going to use 2 things. message.type and message.data. The message.type in my scenario is V_TEXT, and message.data is the payload, which in my case is O, H, C or A, but can be whatever you pass from Domoticz. The code in your receive function would look something like this:

                              if (message.type == V_TEXT) {
                                Serial.println("Received data" + String(message.data));
                                //Here you would do something with message.data
                              }
                              

                              If you have more than one child sensor sending V_TEXT data, you would then use an if statement or a switch/case to check message.sensor for the child ID of the sensor and process each as above.

                              if (message.type == V_TEXT) {
                                if (message.sensor == 1) {
                                  Serial.println("Received data from child 1" + String(message.data));
                                  //Here you would do something with message.data for the first child
                                } else if (message.sensor == 2) {
                                  Serial.println("Received data from child 2" + String(message.data));
                                  //Here you would do something with message.data for the second child
                                }
                              }
                              

                              Let us know if you have trouble.

                              loic13L Offline
                              loic13L Offline
                              loic13
                              wrote on last edited by
                              #14

                              That is perfect thanks a lot.

                              1 Reply Last reply
                              0
                              • dbemowskD dbemowsk

                                I pull the thermostat mode from my thermostat bridge node like this:

                                    request( CHILD_ID_MODE, V_TEXT );
                                

                                I have never used the destination attribute, so I can't speak to it's use, but using the childSensorId and variableType works for me. You still need to use the technique I described to set the MySensors child node from the dummy sensor though.

                                ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by A Former User
                                #15

                                @dbemowsk

                                At the moment I'm trying to send a text value from Domoticz with MySensors Gateway to one of my nodes.

                                I need to implement the "request" function in this node. So here's my question: what value did you assign to "CHILD_ID_MODE". I presume that's the ID of the dummy selector described in another topic on this forum? How did you obtain this value? Is it available somewhere in Domoticz UI?

                                Now I request a text value, but all I get is a blank message, cause I don't know what I should insert as "uint8_t childSensorId".

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

                                  The child ID is something you define when you present the sensors of the node

                                  ? 1 Reply Last reply
                                  0
                                  • gohanG gohan

                                    The child ID is something you define when you present the sensors of the node

                                    ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #17

                                    @gohan Yes, I understand, but when I create a dummy text sensor I can't define its child ID. Can I find it somewhere?

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

                                      You have to create a sensor in the sensor node sketch, assign a child ID to it and present it like the others sensors during setup, then it should show on the controller. I can't be more specific because I haven't worked on text sensors yet

                                      ? 1 Reply Last reply
                                      0
                                      • gohanG gohan

                                        You have to create a sensor in the sensor node sketch, assign a child ID to it and present it like the others sensors during setup, then it should show on the controller. I can't be more specific because I haven't worked on text sensors yet

                                        ? Offline
                                        ? Offline
                                        A Former User
                                        wrote on last edited by A Former User
                                        #19

                                        @gohan Dummy sensors are created in Domoticz, they don't use the MySensors library, so one doesn't upload any sketches to Arduino :)

                                        What I want to achieve specifically is to send outside temperature received from WeatherUnderground to one of my MySensors nodes.

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

                                          I know, but if you don't create a sensor able to receive the value, you can't send anything to it through the mysensors network

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


                                          10

                                          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