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. OpenHardware.io
  3. 💬 NodeManager

💬 NodeManager

Scheduled Pinned Locked Moved OpenHardware.io
contest2017arduinonewbiemysensorsbattery sensor
196 Posts 42 Posters 67.4k Views 41 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.
  • RFM69R RFM69

    The SensorSwitch/Door/Motion all work on interrupt pins only ? Sorry if I've misunderstood the code, thats possible.

    Anyway I've made a few changes so that busywait, if thats what they are called buttons can be also used. I'll see if I can use git somehow to share the changes, or show them at least

    Great library, looking to convert other things to use this.

    U Offline
    U Offline
    user2684
    Contest Winner
    wrote on last edited by
    #147

    @rfm69 yes, they are all interrupt-based. Reason is they would need to be functional either when sleeping or not so I went for this approach. If you need an example of such a sensor not interrupt-based, have a look at the SensorSonoff, it is using a different approach for handling the button. Thanks

    RFM69R 1 Reply Last reply
    0
    • RFM69R RFM69

      Great code, another question.

      For the SensorDimmer, each sensor has only one type set so a dimmer can't receive v_status & v_percentage messages.

      I've worked around this by registering two sensors at the same Analog out pin. But they don't then have access in a nice way to the status of each other as values are changed. So if I turn the led on/off via the v_status message I can't preserve the previous percentage, set by the other v_percentage sensor.

      Is this normal ? I'm new to all this but at least mycontroller lets you specify for a single sensor both v_status,v_percentage so both types of messages can be sent and processed in onRecieve()...

      Perhaps some enhancement on the SensorDimmer class could do this ? in ModeManager.cpp (if (message.type != _type) return;) inside Sensor::recieve.... isn't that too restrictive ?

      U Offline
      U Offline
      user2684
      Contest Winner
      wrote on last edited by
      #148

      @rfm69 you're right, this also came out a while ago. I was sure we had an associated issue on github for this but it doesn't look like. Here's the new issue for your reference https://github.com/mysensors/NodeManager/issues/296. Implementing this in v1.6 is really challenging but with the new v1.7 architecture of the development branch should be way easier since all the children share the same variables. Thanks!

      1 Reply Last reply
      0
      • U user2684

        @rfm69 yes, they are all interrupt-based. Reason is they would need to be functional either when sleeping or not so I went for this approach. If you need an example of such a sensor not interrupt-based, have a look at the SensorSonoff, it is using a different approach for handling the button. Thanks

        RFM69R Offline
        RFM69R Offline
        RFM69
        wrote on last edited by RFM69
        #149

        @user2684 Thanks, I've implemented something myself with changes to the library, just playing around to understand it better. But will look at the SensorSonoff you mention.

        Thanks again, its a great library.

        Had a quick look at 1.7 dev branch :) is this ready for using already, testing or trying, or have you got more to do before its refactored etc ? I was interested in looking what the changes in architecture were.

        U 1 Reply Last reply
        0
        • RFM69R RFM69

          @user2684 Thanks, I've implemented something myself with changes to the library, just playing around to understand it better. But will look at the SensorSonoff you mention.

          Thanks again, its a great library.

          Had a quick look at 1.7 dev branch :) is this ready for using already, testing or trying, or have you got more to do before its refactored etc ? I was interested in looking what the changes in architecture were.

          U Offline
          U Offline
          user2684
          Contest Winner
          wrote on last edited by
          #150

          @rfm69 v1.7 is still not completed but theoretically fully functional and with most of the architectural changes already done (https://github.com/mysensors/NodeManager/milestone/9 for the full list of things still to be completed and those already implemented). For sure safe to be tested out! Thanks

          1 Reply Last reply
          1
          • RFM69R RFM69

            Great code, another question.

            For the SensorDimmer, each sensor has only one type set so a dimmer can't receive v_status & v_percentage messages.

            I've worked around this by registering two sensors at the same Analog out pin. But they don't then have access in a nice way to the status of each other as values are changed. So if I turn the led on/off via the v_status message I can't preserve the previous percentage, set by the other v_percentage sensor.

            Is this normal ? I'm new to all this but at least mycontroller lets you specify for a single sensor both v_status,v_percentage so both types of messages can be sent and processed in onRecieve()...

            Perhaps some enhancement on the SensorDimmer class could do this ? in ModeManager.cpp (if (message.type != _type) return;) inside Sensor::recieve.... isn't that too restrictive ?

            U Offline
            U Offline
            user2684
            Contest Winner
            wrote on last edited by
            #151

            @rfm69 for your SensorDimmer request, feel free to give v1.7-dev a try from here https://github.com/mysensors/NodeManager/tree/development. Details on the implementation of your request can be found at https://github.com/mysensors/NodeManager/pull/302. Thanks

            1 Reply Last reply
            1
            • U Offline
              U Offline
              user2684
              Contest Winner
              wrote on last edited by
              #152

              Hi, for anybody interested in giving the upcoming NodeManager v1.7 a try or share a feedback, please have a look at https://forum.mysensors.org/topic/9085/nodemanager-v1-7-beta-feedback-needed. Thanks!

              1 Reply Last reply
              1
              • U Offline
                U Offline
                user2684
                Contest Winner
                wrote on last edited by
                #153

                Hi, the new version of NodeManager (v1.7) is now available! For those interested in having a look at the new features, supported sensors and capabilities, I've opened a dedicated thread on the forum here https://forum.mysensors.org/topic/9165/nodemanager-v1-7-now-available
                Thanks

                M 1 Reply Last reply
                1
                • U user2684

                  Hi, the new version of NodeManager (v1.7) is now available! For those interested in having a look at the new features, supported sensors and capabilities, I've opened a dedicated thread on the forum here https://forum.mysensors.org/topic/9165/nodemanager-v1-7-now-available
                  Thanks

                  M Offline
                  M Offline
                  mvader
                  wrote on last edited by
                  #154

                  @user2684 in the sensebender sketch we turn on digital pin 7 to provide power to the LDR to read it.
                  i have many sensors in my house and would rather not re-wire all of them.
                  how can i add this cleanly in nodemgr to make it work as before?
                  pinMode(7, OUTPUT); // “power pin” for Light Sensor
                  digitalWrite(7, LOW); // switch power off

                  Thanks!

                  U 1 Reply Last reply
                  0
                  • M mvader

                    @user2684 in the sensebender sketch we turn on digital pin 7 to provide power to the LDR to read it.
                    i have many sensors in my house and would rather not re-wire all of them.
                    how can i add this cleanly in nodemgr to make it work as before?
                    pinMode(7, OUTPUT); // “power pin” for Light Sensor
                    digitalWrite(7, LOW); // switch power off

                    Thanks!

                    U Offline
                    U Offline
                    user2684
                    Contest Winner
                    wrote on last edited by
                    #155

                    @mvader thanks for the feedback, I've added this issue on Github so to fix this in the next dev release https://github.com/mysensors/NodeManager/issues/344

                    M 1 Reply Last reply
                    0
                    • U user2684

                      @mvader thanks for the feedback, I've added this issue on Github so to fix this in the next dev release https://github.com/mysensors/NodeManager/issues/344

                      M Offline
                      M Offline
                      mvader
                      wrote on last edited by mvader
                      #156

                      @user2684 said in 💬 NodeManager:

                      @mvader thanks for the feedback, I've added this issue on Github so to fix this in the next dev release https://github.com/mysensors/NodeManager/issues/344

                      Thanks!! here is the setup and loop part from the sketch

                      setup
                      pinMode(7, OUTPUT); // “power pin” for Light Sensor
                      digitalWrite(7, LOW); // switch power off
                      
                      loop
                        digitalWrite(7, HIGH); // switch power on to LDR
                        sendLight(forceTransmit);
                        digitalWrite(7, LOW); // switch power off to LDR
                      
                      and the function
                      /*
                       * Sends Ambient Light Sensor information
                       * 
                       * Parameters
                       * - force : Forces transmission of a value
                       */
                      
                      void sendLight(bool force) // Get light level
                      {
                        if (force) lastLightLevel = -1;
                        int rlightLevel =  analogRead(LIGHT_PIN);
                        int lightLevel =  (analogRead(LIGHT_PIN) / 10.23) ;
                        if (lightLevel != lastLightLevel) {
                         gw.send(msgLight.set(lightLevel));
                          lastLightLevel = lightLevel;
                        }
                      
                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        cpl_ir
                        wrote on last edited by
                        #157

                        Hi, I am starting with MySensors and I read about the NodeManager. But I have a problem with starting with the nodemanager. I tried to make a node with a BMP280 sensor and a NRF24. Every time I tried I got the following error message
                        when compiling (nodemanager actual version, arduino IDE1.8.5). Even no other sensor works.

                        What is the reason, can anyone help me?

                        Arduino: 1.8.5 (Windows 10), Board: "Arduino Nano, ATmega328P"
                        
                        ....
                        ....
                        "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs  "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\core.a" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\main.cpp.o"
                        "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs  "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\core.a" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\new.cpp.o"
                        Archiving built core (caching) in: C:\Users\RADFE~1\AppData\Local\Temp\arduino_cache_196944\core\core_arduino_avr_nano_cpu_atmega328_2c22347d3c992515700a8fa0ae8526cf.a
                        Linking everything together...
                        "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539/NodeManager.ino.elf" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\sketch\NodeManager.ino.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\SPI\SPI.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Wire\Wire.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Wire\utility\twi.c.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Adafruit_BMP280_Library-master\Adafruit_BMP280.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539/core\core.a" "-LC:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539" -lm
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `receive(MyMessage const&)':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:433: undefined reference to `NodeManager::receive(MyMessage const&)'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `loop':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:426: undefined reference to `NodeManager::loop()'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `setup':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:420: undefined reference to `NodeManager::setup()'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `presentation()':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:414: undefined reference to `NodeManager::presentation()'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `before()':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:408: undefined reference to `NodeManager::before()'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `__static_initialization_and_destruction_0':
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:313: undefined reference to `NodeManager::NodeManager(int)'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:351: undefined reference to `SensorBMP280::SensorBMP280(NodeManager&, int)'
                        
                        C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `_GLOBAL__sub_D__Z6hwInitv':
                        
                        C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library/NodeManagerLibrary.h:564: undefined reference to `vtable for Sensor'
                        
                        C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library/NodeManagerLibrary.h:564: undefined reference to `vtable for Sensor'
                        
                        collect2.exe: error: ld returned 1 exit status
                        
                        Mehrere Bibliotheken wurden für "Adafruit_BMP280.h" gefunden
                         Benutzt: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library-master
                         Nicht benutzt: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library
                        Bibliothek NodeManager_Library im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library (legacy) wird verwendet
                        Bibliothek MySensors in Version 2.2.0 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\MySensors  wird verwendet
                        Bibliothek SPI in Version 1.0 im Ordner: C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\SPI  wird verwendet
                        Bibliothek Wire in Version 1.0 im Ordner: C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\Wire  wird verwendet
                        Bibliothek Adafruit_Unified_Sensor in Version 1.0.2 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_Unified_Sensor  wird verwendet
                        Bibliothek Adafruit_BMP280_Library-master in Version 1.0.2 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library-master  wird verwendet
                        Ungültige Bibliothek C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_mod in C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_mod gefunden
                        exit status 1
                        Fehler beim Kompilieren für das Board Arduino Nano.
                        
                        U 1 Reply Last reply
                        0
                        • C cpl_ir

                          Hi, I am starting with MySensors and I read about the NodeManager. But I have a problem with starting with the nodemanager. I tried to make a node with a BMP280 sensor and a NRF24. Every time I tried I got the following error message
                          when compiling (nodemanager actual version, arduino IDE1.8.5). Even no other sensor works.

                          What is the reason, can anyone help me?

                          Arduino: 1.8.5 (Windows 10), Board: "Arduino Nano, ATmega328P"
                          
                          ....
                          ....
                          "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs  "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\core.a" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\main.cpp.o"
                          "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs  "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\core.a" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\core\new.cpp.o"
                          Archiving built core (caching) in: C:\Users\RADFE~1\AppData\Local\Temp\arduino_cache_196944\core\core_arduino_avr_nano_cpu_atmega328_2c22347d3c992515700a8fa0ae8526cf.a
                          Linking everything together...
                          "C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539/NodeManager.ino.elf" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\sketch\NodeManager.ino.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\SPI\SPI.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Wire\Wire.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Wire\utility\twi.c.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539\libraries\Adafruit_BMP280_Library-master\Adafruit_BMP280.cpp.o" "C:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539/core\core.a" "-LC:\Users\RADFE~1\AppData\Local\Temp\arduino_build_123539" -lm
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `receive(MyMessage const&)':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:433: undefined reference to `NodeManager::receive(MyMessage const&)'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `loop':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:426: undefined reference to `NodeManager::loop()'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `setup':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:420: undefined reference to `NodeManager::setup()'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `presentation()':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:414: undefined reference to `NodeManager::presentation()'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `before()':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:408: undefined reference to `NodeManager::before()'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `__static_initialization_and_destruction_0':
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:313: undefined reference to `NodeManager::NodeManager(int)'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\arduino_modified_sketch_106015/NodeManager.ino:351: undefined reference to `SensorBMP280::SensorBMP280(NodeManager&, int)'
                          
                          C:\Users\RADFE~1\AppData\Local\Temp\cc796L4N.ltrans1.ltrans.o: In function `_GLOBAL__sub_D__Z6hwInitv':
                          
                          C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library/NodeManagerLibrary.h:564: undefined reference to `vtable for Sensor'
                          
                          C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library/NodeManagerLibrary.h:564: undefined reference to `vtable for Sensor'
                          
                          collect2.exe: error: ld returned 1 exit status
                          
                          Mehrere Bibliotheken wurden für "Adafruit_BMP280.h" gefunden
                           Benutzt: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library-master
                           Nicht benutzt: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library
                          Bibliothek NodeManager_Library im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_Library (legacy) wird verwendet
                          Bibliothek MySensors in Version 2.2.0 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\MySensors  wird verwendet
                          Bibliothek SPI in Version 1.0 im Ordner: C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\SPI  wird verwendet
                          Bibliothek Wire in Version 1.0 im Ordner: C:\Users\Radfedfdf\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\Wire  wird verwendet
                          Bibliothek Adafruit_Unified_Sensor in Version 1.0.2 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_Unified_Sensor  wird verwendet
                          Bibliothek Adafruit_BMP280_Library-master in Version 1.0.2 im Ordner: C:\Users\Radfedfdf\Documents\Arduino\libraries\Adafruit_BMP280_Library-master  wird verwendet
                          Ungültige Bibliothek C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_mod in C:\Users\Radfedfdf\Documents\Arduino\libraries\NodeManager_mod gefunden
                          exit status 1
                          Fehler beim Kompilieren für das Board Arduino Nano.
                          
                          U Offline
                          U Offline
                          user2684
                          Contest Winner
                          wrote on last edited by
                          #158

                          @cpl_ir super weird, looks like the linker cannot find NodeManager's object file. Are you sure all NodeManager's files are within the same directory? NodeManager cannot be installed as a standard Arduino's library but all the files need to be in the same directory of your main sketch. Thanks!

                          1 Reply Last reply
                          0
                          • ArthurDentedA Offline
                            ArthurDentedA Offline
                            ArthurDented
                            wrote on last edited by
                            #159

                            Hello, I have been experimenting with the door sensor example and have configured to wake up every hour to send a battery voltage (V_VOLTAGE)
                            It will also wake whenever the interrupt state on the switch pin changes. I noticed that when the node wakes up with an interrupt it seems to send three events:
                            I_POST_SLEEP_NOTIFICATION
                            V_TRIPPED (this is the important one)
                            I_PRE_SLEEP_NOTIFICATION
                            this is all good, however for my application it would be useful if it were to also send a V_VOLTAGE battery measurement along with the V_TRIPPED event.
                            I'm not yet completely familiar with how the nodemanager sketch links together, but is it possible for the sensor readings for all sensors to be sent on an interrupt from any other sensor so I can make use of the radio as much as possible?

                            U 1 Reply Last reply
                            0
                            • ArthurDentedA ArthurDented

                              Hello, I have been experimenting with the door sensor example and have configured to wake up every hour to send a battery voltage (V_VOLTAGE)
                              It will also wake whenever the interrupt state on the switch pin changes. I noticed that when the node wakes up with an interrupt it seems to send three events:
                              I_POST_SLEEP_NOTIFICATION
                              V_TRIPPED (this is the important one)
                              I_PRE_SLEEP_NOTIFICATION
                              this is all good, however for my application it would be useful if it were to also send a V_VOLTAGE battery measurement along with the V_TRIPPED event.
                              I'm not yet completely familiar with how the nodemanager sketch links together, but is it possible for the sensor readings for all sensors to be sent on an interrupt from any other sensor so I can make use of the radio as much as possible?

                              U Offline
                              U Offline
                              user2684
                              Contest Winner
                              wrote on last edited by
                              #160

                              @arthurdented the I_POST_SLEEP_NOTIFICATION and I_PRE_SLEEP_NOTIFICATION are due to smart sleep which is on by default. Regarding the V_VOLTAGE I think what it comes closer to your need would be a SensorBattery configured with a very short reporting interval but regardless, when an interrupt occurs, no sensors other than the one associated with the interrupt would execute their main function. For your specific use case you can try changing or tweaking the condition at this line to make it working in the way you need: https://github.com/mysensors/NodeManager/blob/master/NodeManagerLibrary.ino#L4700

                              1 Reply Last reply
                              0
                              • Felix HaverkampF Offline
                                Felix HaverkampF Offline
                                Felix Haverkamp
                                wrote on last edited by Felix Haverkamp
                                #161

                                can anyone explain me the signal node? i get this values with setReportIntervalSeconds(1);

                                271860 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                272947 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                274033 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                275120 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                276206 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                277293 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                278378 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                279468 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                280554 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                281641 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                282728 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                283812 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                284898 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                
                                U 1 Reply Last reply
                                0
                                • Felix HaverkampF Offline
                                  Felix HaverkampF Offline
                                  Felix Haverkamp
                                  wrote on last edited by
                                  #162

                                  is there a possibilty to only send values if the value has changed?

                                  1 Reply Last reply
                                  0
                                  • Felix HaverkampF Felix Haverkamp

                                    can anyone explain me the signal node? i get this values with setReportIntervalSeconds(1);

                                    271860 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    272947 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    274033 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    275120 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    276206 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    277293 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    278378 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    279468 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    280554 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                    281641 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                    282728 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                    283812 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967259
                                    284898 TSF:MSG:SEND,1-1-0-0,s=202,c=1,t=37,pt=5,l=4,sg=0,ft=0,st=OK:4294967260
                                    
                                    U Offline
                                    U Offline
                                    user2684
                                    Contest Winner
                                    wrote on last edited by
                                    #163

                                    @felix-haverkamp the signal node is supposed to send the RSSI when the radio supports it. What you are looking at is a v1.7 bug, fixed in the dev branch of v1.8. If you want an easy fix without the need to upgrade, just remove the uint32_t cast at line 5017 of NodeManagerLibrary.ino (https://github.com/mysensors/NodeManager/blob/master/NodeManagerLibrary.ino#L5017).
                                    To send the values only if the value has changed, you need first of all to turn FEATURE_CONDITIONAL_REPORT on, then you can use setValueDelta() and setForceUpdateMinutes() of the Child class to achieve what you are looking for

                                    Felix HaverkampF 1 Reply Last reply
                                    0
                                    • U user2684

                                      @felix-haverkamp the signal node is supposed to send the RSSI when the radio supports it. What you are looking at is a v1.7 bug, fixed in the dev branch of v1.8. If you want an easy fix without the need to upgrade, just remove the uint32_t cast at line 5017 of NodeManagerLibrary.ino (https://github.com/mysensors/NodeManager/blob/master/NodeManagerLibrary.ino#L5017).
                                      To send the values only if the value has changed, you need first of all to turn FEATURE_CONDITIONAL_REPORT on, then you can use setValueDelta() and setForceUpdateMinutes() of the Child class to achieve what you are looking for

                                      Felix HaverkampF Offline
                                      Felix HaverkampF Offline
                                      Felix Haverkamp
                                      wrote on last edited by Felix Haverkamp
                                      #164

                                      @user2684
                                      thx, that is what was what i am looking for.

                                      1 Reply Last reply
                                      0
                                      • Felix HaverkampF Offline
                                        Felix HaverkampF Offline
                                        Felix Haverkamp
                                        wrote on last edited by
                                        #165

                                        @user2684
                                        FEATURE_CONDITIONAL_REPORT & setValueDelta()

                                        would be nice for other users to document this function. With this i am able to only send values to the gateway when its changed. Using it for a Light Sensor and dont need the value every 10 seconds and not every 10 Minutes....
                                        Just when it changes (1 second) and only when it changes.

                                        U 1 Reply Last reply
                                        0
                                        • Felix HaverkampF Felix Haverkamp

                                          @user2684
                                          FEATURE_CONDITIONAL_REPORT & setValueDelta()

                                          would be nice for other users to document this function. With this i am able to only send values to the gateway when its changed. Using it for a Light Sensor and dont need the value every 10 seconds and not every 10 Minutes....
                                          Just when it changes (1 second) and only when it changes.

                                          U Offline
                                          U Offline
                                          user2684
                                          Contest Winner
                                          wrote on last edited by
                                          #166

                                          @felix-haverkamp if you set setValueDelta() to e.g. 0.1 or 0.01, then the sensor will not report if the value has not changed, if I have understood correctly your point. setValueDelta() will set the minimum difference (+ or -) that the new value should have in order to be reported. Let me know I've misunderstood something. Thanks

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


                                          5

                                          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