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. General Discussion
  3. Why do "passive nodes" need to set their Node ID manually?

Why do "passive nodes" need to set their Node ID manually?

Scheduled Pinned Locked Moved General Discussion
25 Posts 5 Posters 5.1k Views 4 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.
  • NeverDieN NeverDie

    @mfalkvidd OK, but setting the passive node sketch aside, which of the other "normal" example sketches do you recommend?

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

    @NeverDie I'm not sure what you mean. any example should work. That's what they are for :)

    1 Reply Last reply
    0
    • NeverDieN NeverDie

      @mfalkvidd OK, but setting the passive node sketch aside, which of the other "normal" example sketches do you recommend?

      S Offline
      S Offline
      smilvert
      wrote on last edited by
      #14

      @NeverDie

      I have started to test node-red (Which dont work yet...) so I have created a dummy sketch for parse the data to domoticz.

      // Enable debug prints
      #define MY_DEBUG
      #define MY_GATEWAY_SERIAL
      
      // Enable passive mode
      #define MY_PASSIVE_NODE
      #define MY_REPEATER_FEATURE
      
      // Passive mode requires static node ID
      #define MY_NODE_ID 0
      
      // Enable and select radio type attached
      // #define MY_RADIO_NRF24
      //#define MY_RF24_PA_LEVEL RF24_PA_HIGH
      
      //#define MY_RADIO_NRF5_ESB
      //#define MY_RADIO_RFM69
      //#define MY_RADIO_RFM95
      
      #include <MySensors.h>
      
      #define CHILD_ID_HUM 0
      #define CHILD_ID_TEMP 1
      #define CHILD_ID_BINARY 2
      
      // Initialize general message
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgBinary(CHILD_ID_BINARY, V_STATUS);
      int counter = 0;
      float temperature = 0;
      float humidity = 0;
      int binary = 0;
      void setup()
      {
      }
      
      void presentation()
      {
        // Send the sketch version information to the gateway and controller
        sendSketchInfo("Passive node", "1.0");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID_TEMP, S_TEMP);
        present(CHILD_ID_HUM, S_HUM);
        present(CHILD_ID_BINARY, S_BINARY);
      }
      
      void loop()
      {
        // generate some random data
        counter ++;
        if (counter == 20 ){
          temperature = 0;
          humidity = 0;
          counter = 0;
        }
        else
        {
          temperature = 25.0 + random(0,30)/10.0;
          humidity = 55.0 + random(-20,20);
        }
      /*
        if (binary == 0){
          send(msgBinary.set(binary,2));
          binary = 1;
        }else {
          send(msgBinary.set(binary,2));
          binary = 0;
      
        }
      */
        send(msgTemp.set(temperature,2));
        send(msgHum.set(humidity,2));
        wait(1000);
      }
      
      NeverDieN 2 Replies Last reply
      1
      • S smilvert

        @NeverDie

        I have started to test node-red (Which dont work yet...) so I have created a dummy sketch for parse the data to domoticz.

        // Enable debug prints
        #define MY_DEBUG
        #define MY_GATEWAY_SERIAL
        
        // Enable passive mode
        #define MY_PASSIVE_NODE
        #define MY_REPEATER_FEATURE
        
        // Passive mode requires static node ID
        #define MY_NODE_ID 0
        
        // Enable and select radio type attached
        // #define MY_RADIO_NRF24
        //#define MY_RF24_PA_LEVEL RF24_PA_HIGH
        
        //#define MY_RADIO_NRF5_ESB
        //#define MY_RADIO_RFM69
        //#define MY_RADIO_RFM95
        
        #include <MySensors.h>
        
        #define CHILD_ID_HUM 0
        #define CHILD_ID_TEMP 1
        #define CHILD_ID_BINARY 2
        
        // Initialize general message
        MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
        MyMessage msgHum(CHILD_ID_HUM, V_HUM);
        MyMessage msgBinary(CHILD_ID_BINARY, V_STATUS);
        int counter = 0;
        float temperature = 0;
        float humidity = 0;
        int binary = 0;
        void setup()
        {
        }
        
        void presentation()
        {
          // Send the sketch version information to the gateway and controller
          sendSketchInfo("Passive node", "1.0");
        
          // Register all sensors to gw (they will be created as child devices)
          present(CHILD_ID_TEMP, S_TEMP);
          present(CHILD_ID_HUM, S_HUM);
          present(CHILD_ID_BINARY, S_BINARY);
        }
        
        void loop()
        {
          // generate some random data
          counter ++;
          if (counter == 20 ){
            temperature = 0;
            humidity = 0;
            counter = 0;
          }
          else
          {
            temperature = 25.0 + random(0,30)/10.0;
            humidity = 55.0 + random(-20,20);
          }
        /*
          if (binary == 0){
            send(msgBinary.set(binary,2));
            binary = 1;
          }else {
            send(msgBinary.set(binary,2));
            binary = 0;
        
          }
        */
          send(msgTemp.set(temperature,2));
          send(msgHum.set(humidity,2));
          wait(1000);
        }
        
        NeverDieN Offline
        NeverDieN Offline
        NeverDie
        Hero Member
        wrote on last edited by
        #15

        @smilvert I guess it's destiny then: Node Red + MQTT

        S 1 Reply Last reply
        0
        • NeverDieN NeverDie

          @smilvert I guess it's destiny then: Node Red + MQTT

          S Offline
          S Offline
          smilvert
          wrote on last edited by
          #16

          @NeverDie

          Well I wanted to filter noise values and I also want to use influx/grafana as a complement to domoticz

          NeverDieN 1 Reply Last reply
          1
          • S smilvert

            @NeverDie

            Well I wanted to filter noise values and I also want to use influx/grafana as a complement to domoticz

            NeverDieN Offline
            NeverDieN Offline
            NeverDie
            Hero Member
            wrote on last edited by
            #17

            @smilvert So, do you have the gateway connected directly to Node Red, which then feeds Domoticz and also feeds influx/grafana? I think I want to do the same, if that's how to do it.

            S 1 Reply Last reply
            0
            • NeverDieN NeverDie

              @smilvert So, do you have the gateway connected directly to Node Red, which then feeds Domoticz and also feeds influx/grafana? I think I want to do the same, if that's how to do it.

              S Offline
              S Offline
              smilvert
              wrote on last edited by
              #18

              @NeverDie
              that's the idea but it is not 100 % yet but I working on it.

              NeverDieN 1 Reply Last reply
              0
              • S smilvert

                @NeverDie
                that's the idea but it is not 100 % yet but I working on it.

                NeverDieN Offline
                NeverDieN Offline
                NeverDie
                Hero Member
                wrote on last edited by
                #19

                @smilvert I think @Toyman said he has it figured out. Maybe he can tell us how he did it?

                rmtuckerR 1 Reply Last reply
                0
                • NeverDieN NeverDie

                  @smilvert I think @Toyman said he has it figured out. Maybe he can tell us how he did it?

                  rmtuckerR Offline
                  rmtuckerR Offline
                  rmtucker
                  wrote on last edited by
                  #20

                  @NeverDie
                  Just cut domoticz out of the picture as node-red/influx/grafana works perfect with any gateway serial/ethernet/mqtt.
                  I prefer the serial gateway in my own experience is the most stable and no reliance on wifi routers and things.
                  Domoticz has nowhere near the same flexibility when graphing etc.

                  NeverDieN 1 Reply Last reply
                  1
                  • rmtuckerR rmtucker

                    @NeverDie
                    Just cut domoticz out of the picture as node-red/influx/grafana works perfect with any gateway serial/ethernet/mqtt.
                    I prefer the serial gateway in my own experience is the most stable and no reliance on wifi routers and things.
                    Domoticz has nowhere near the same flexibility when graphing etc.

                    NeverDieN Offline
                    NeverDieN Offline
                    NeverDie
                    Hero Member
                    wrote on last edited by
                    #21

                    @rmtucker Ahhhhhh, that's right, it was rmtucker, not toyman, who had done it: https://forum.mysensors.org/topic/6961/nrf5-bluetooth-action/1078

                    1 Reply Last reply
                    0
                    • tekkaT Offline
                      tekkaT Offline
                      tekka
                      Admin
                      wrote on last edited by
                      #22

                      @NeverDie @mfalkvidd Passive nodes communicate without message ACKs - ID requests may never make their way to the controller, hence the requirement of a static node ID.

                      NeverDieN 1 Reply Last reply
                      2
                      • tekkaT tekka

                        @NeverDie @mfalkvidd Passive nodes communicate without message ACKs - ID requests may never make their way to the controller, hence the requirement of a static node ID.

                        NeverDieN Offline
                        NeverDieN Offline
                        NeverDie
                        Hero Member
                        wrote on last edited by
                        #23

                        @tekka In that case couldn't it just keep retrying until it received its ID?

                        tekkaT 1 Reply Last reply
                        0
                        • NeverDieN NeverDie

                          @tekka In that case couldn't it just keep retrying until it received its ID?

                          tekkaT Offline
                          tekkaT Offline
                          tekka
                          Admin
                          wrote on last edited by
                          #24

                          @NeverDie No, that's not the idea of a passive node. However, with

                          void transportTogglePassiveMode(const bool OnOff)
                          

                          you can enable the passive transport mode, see here for additional information (>=2.2.0)

                          1 Reply Last reply
                          1
                          • S smilvert

                            @NeverDie

                            I have started to test node-red (Which dont work yet...) so I have created a dummy sketch for parse the data to domoticz.

                            // Enable debug prints
                            #define MY_DEBUG
                            #define MY_GATEWAY_SERIAL
                            
                            // Enable passive mode
                            #define MY_PASSIVE_NODE
                            #define MY_REPEATER_FEATURE
                            
                            // Passive mode requires static node ID
                            #define MY_NODE_ID 0
                            
                            // Enable and select radio type attached
                            // #define MY_RADIO_NRF24
                            //#define MY_RF24_PA_LEVEL RF24_PA_HIGH
                            
                            //#define MY_RADIO_NRF5_ESB
                            //#define MY_RADIO_RFM69
                            //#define MY_RADIO_RFM95
                            
                            #include <MySensors.h>
                            
                            #define CHILD_ID_HUM 0
                            #define CHILD_ID_TEMP 1
                            #define CHILD_ID_BINARY 2
                            
                            // Initialize general message
                            MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                            MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                            MyMessage msgBinary(CHILD_ID_BINARY, V_STATUS);
                            int counter = 0;
                            float temperature = 0;
                            float humidity = 0;
                            int binary = 0;
                            void setup()
                            {
                            }
                            
                            void presentation()
                            {
                              // Send the sketch version information to the gateway and controller
                              sendSketchInfo("Passive node", "1.0");
                            
                              // Register all sensors to gw (they will be created as child devices)
                              present(CHILD_ID_TEMP, S_TEMP);
                              present(CHILD_ID_HUM, S_HUM);
                              present(CHILD_ID_BINARY, S_BINARY);
                            }
                            
                            void loop()
                            {
                              // generate some random data
                              counter ++;
                              if (counter == 20 ){
                                temperature = 0;
                                humidity = 0;
                                counter = 0;
                              }
                              else
                              {
                                temperature = 25.0 + random(0,30)/10.0;
                                humidity = 55.0 + random(-20,20);
                              }
                            /*
                              if (binary == 0){
                                send(msgBinary.set(binary,2));
                                binary = 1;
                              }else {
                                send(msgBinary.set(binary,2));
                                binary = 0;
                            
                              }
                            */
                              send(msgTemp.set(temperature,2));
                              send(msgHum.set(humidity,2));
                              wait(1000);
                            }
                            
                            NeverDieN Offline
                            NeverDieN Offline
                            NeverDie
                            Hero Member
                            wrote on last edited by
                            #25

                            @smilvert Got it working: https://www.openhardware.io/view/510/Multi-Sensor-TempHumidityPIR-LeakMagnetLightAccel#tabs-source

                            I cited you in the credits at the beginning of the sketch.

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


                            13

                            Online

                            11.7k

                            Users

                            11.2k

                            Topics

                            113.1k

                            Posts


                            Copyright 2025 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