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. Development
  3. NodeManager
  4. NodeManager v1.6-dev: comments and issues

NodeManager v1.6-dev: comments and issues

Scheduled Pinned Locked Moved NodeManager
14 Posts 3 Posters 3.7k 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.
  • B Offline
    B Offline
    betonmoewe
    wrote on last edited by
    #2

    Hi,

    I just try to get the TSL2561 Sensor (i2C) working, but without success! The nomal Arduino example scetch works perfect, but it seems, that the sensor would not be not initialized within nodemanager or something like that ...

    Here my code:

    int myTSL2561 = nodeManager.registerSensor(SENSOR_TSL2561);
    ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setAddress(TSL2561_ADDR_FLOAT);
    ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setGain(TSL2561_GAIN_16X);
    ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setTiming(TSL2561_INTEGRATIONTIME_101MS);
    ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setSpectrum(TSL2561_VISIBLE);
    //nodeManager.registerSensor(SENSOR_BME280);

    I also tried with only theregister line (nodeManager.registerSensor(SENSOR_TSL2561);), but the same. The BME280 works fine (if enabled).

    what confuses me:

    why is the constructor like that -> SensorTSL2561::SensorTSL2561(NodeManager* node_manager, int child_id): Sensor(node_manager, child_id,A2) ???

    The TSL2561 is connected at A4,A5 because of i2c, but the constructor uses A2 ???

    serial output:

    REG I=1 P=16 P=16 T=37
    NodeManager v1.6-dev
    LIB V=2.1.1 R=N T=N A=A S=- B=-
    INT P=3 M=255
    INT P=2 M=255
    RADIO OK
    PRES I=200, T=23
    PRES I=201, T=30
    BATT V=3.45 P=100
    SEND D=0 I=201 C=0 T=38 S= I=0 F=3.45
    PRES I=1 T=16
    READY

    MY I=113 M=1
    TSL I=1 L=19
    SEND D=0 I=1 C=0 T=37 S= I=19 F=0.00
    SLEEP 600s

    Does anybody have a solution?

    Best regards

    Frank (Betonmoewe)

    U 1 Reply Last reply
    0
    • B betonmoewe

      Hi,

      I just try to get the TSL2561 Sensor (i2C) working, but without success! The nomal Arduino example scetch works perfect, but it seems, that the sensor would not be not initialized within nodemanager or something like that ...

      Here my code:

      int myTSL2561 = nodeManager.registerSensor(SENSOR_TSL2561);
      ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setAddress(TSL2561_ADDR_FLOAT);
      ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setGain(TSL2561_GAIN_16X);
      ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setTiming(TSL2561_INTEGRATIONTIME_101MS);
      ((SensorTSL2561*)nodeManager.getSensor(myTSL2561))->setSpectrum(TSL2561_VISIBLE);
      //nodeManager.registerSensor(SENSOR_BME280);

      I also tried with only theregister line (nodeManager.registerSensor(SENSOR_TSL2561);), but the same. The BME280 works fine (if enabled).

      what confuses me:

      why is the constructor like that -> SensorTSL2561::SensorTSL2561(NodeManager* node_manager, int child_id): Sensor(node_manager, child_id,A2) ???

      The TSL2561 is connected at A4,A5 because of i2c, but the constructor uses A2 ???

      serial output:

      REG I=1 P=16 P=16 T=37
      NodeManager v1.6-dev
      LIB V=2.1.1 R=N T=N A=A S=- B=-
      INT P=3 M=255
      INT P=2 M=255
      RADIO OK
      PRES I=200, T=23
      PRES I=201, T=30
      BATT V=3.45 P=100
      SEND D=0 I=201 C=0 T=38 S= I=0 F=3.45
      PRES I=1 T=16
      READY

      MY I=113 M=1
      TSL I=1 L=19
      SEND D=0 I=1 C=0 T=37 S= I=19 F=0.00
      SLEEP 600s

      Does anybody have a solution?

      Best regards

      Frank (Betonmoewe)

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

      @betonmoewe thanks for reporting this issue. The A2 used is irrelevant since for i2c sensors, the pin provided is not used at all but has to be a valid pin. I may be wrong but I see a "19" reported. Is the issue about the wrong value or something different? Thanks

      1 Reply Last reply
      0
      • B Offline
        B Offline
        betonmoewe
        wrote on last edited by
        #4

        hi,

        yes, there is a value, but there is no output (presentation) of the value ... the bme sensor works perfect. Wy is this an "I" value and not a "F" like the other values?

        AWAKE
        TSL I=1 L=2521
        SEND D=0 I=1 C=1 T=37 S= I=2521 F=0.00
        BME I=2 T=24.76
        SEND D=0 I=2 C=1 T=0 S= I=0 F=24.76
        BME I=3 H=52.88
        SEND D=0 I=3 C=1 T=1 S= I=0 F=52.88
        BME I=4 P=1007.86
        SEND D=0 I=4 C=1 T=4 S= I=0 F=1007.86
        SLEEP 60s

        Best regards

        Frank (Betonmoewe)

        U 1 Reply Last reply
        0
        • B betonmoewe

          hi,

          yes, there is a value, but there is no output (presentation) of the value ... the bme sensor works perfect. Wy is this an "I" value and not a "F" like the other values?

          AWAKE
          TSL I=1 L=2521
          SEND D=0 I=1 C=1 T=37 S= I=2521 F=0.00
          BME I=2 T=24.76
          SEND D=0 I=2 C=1 T=0 S= I=0 F=24.76
          BME I=3 H=52.88
          SEND D=0 I=3 C=1 T=1 S= I=0 F=52.88
          BME I=4 P=1007.86
          SEND D=0 I=4 C=1 T=4 S= I=0 F=1007.86
          SLEEP 60s

          Best regards

          Frank (Betonmoewe)

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

          @betonmoewe the way I read it is a message of type 37 (V_LEVEL) whose value is 2521 has been sent to the controller. S, I and F correspond to string, integer and float and depending on the sensor a value is set to only one of those. So your reported light level is 2521. The BME sensor reports float values so 24.76 is under F. Does it make sense? Thanks

          1 Reply Last reply
          0
          • B Offline
            B Offline
            betonmoewe
            wrote on last edited by
            #6

            okok ... my fault ... you are right LUX is int not float ...

            but no reading is send (I use fhem as reciever):

            2017-08-13 18:57:18 Global global ATTR MYSENSOR_113 mode node
            2017-08-13 18:57:18 Global global ATTR MYSENSOR_113 version 2.1.1
            2017-08-13 18:57:18 MYSENSORS_DEVICE MYSENSOR_113 parentId: 110
            2017-08-13 18:57:18 MYSENSORS_DEVICE MYSENSOR_113 SKETCH_NAME: MultiSensor_NM
            2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 batterylevel: 100
            2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 temperature2: 24.84
            2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 humidity3: 50.85
            2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 pressure4: 1007.90

            no brightness1 and I have no idea ...

            Best regards

            Betonmoewe

            U 1 Reply Last reply
            0
            • B betonmoewe

              okok ... my fault ... you are right LUX is int not float ...

              but no reading is send (I use fhem as reciever):

              2017-08-13 18:57:18 Global global ATTR MYSENSOR_113 mode node
              2017-08-13 18:57:18 Global global ATTR MYSENSOR_113 version 2.1.1
              2017-08-13 18:57:18 MYSENSORS_DEVICE MYSENSOR_113 parentId: 110
              2017-08-13 18:57:18 MYSENSORS_DEVICE MYSENSOR_113 SKETCH_NAME: MultiSensor_NM
              2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 batterylevel: 100
              2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 temperature2: 24.84
              2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 humidity3: 50.85
              2017-08-13 18:57:19 MYSENSORS_DEVICE MYSENSOR_113 pressure4: 1007.90

              no brightness1 and I have no idea ...

              Best regards

              Betonmoewe

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

              @betonmoewe mmm this is weird, as far as there is a:

              SEND D=0 I=1 C=1 T=37 S= I=2521 F=0.00
              

              should imply send() has been called successfully. Any chance to check debug output in the gateway to ensure messages are actually delivered? Thanks

              1 Reply Last reply
              0
              • B Offline
                B Offline
                betonmoewe
                wrote on last edited by
                #8

                I will try tomorrow ...

                thanks for your help !

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  betonmoewe
                  wrote on last edited by betonmoewe
                  #9

                  ok ... if I change V_LEVEL to V_LIGHT_LEVEL in NodeManager.cpp, I got a reading ... strange

                  By the way: I have a small problem with the BME Sensor: pressure and forecast have both the same ID

                  mapReading_forecast4 4 forecast
                  mapReading_pressure4 4 pressure

                  is this correct?

                  I have got a forcast reading only one time :(

                  Betonmoewe

                  U 1 Reply Last reply
                  0
                  • B betonmoewe

                    ok ... if I change V_LEVEL to V_LIGHT_LEVEL in NodeManager.cpp, I got a reading ... strange

                    By the way: I have a small problem with the BME Sensor: pressure and forecast have both the same ID

                    mapReading_forecast4 4 forecast
                    mapReading_pressure4 4 pressure

                    is this correct?

                    I have got a forcast reading only one time :(

                    Betonmoewe

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

                    @betonmoewe thanks, but according to https://www.mysensors.org/download/serial_api_20, V_LIGHT_LEVEL is for uncalibrated light level (0-100%) V_LEVEL for light level in lux. Anyway, glad you made it working for your setup.

                    As for the duplicated child ID issue, this shouldn't happen (https://github.com/mysensors/NodeManager/blob/development/NodeManager.cpp#L3277). I wonder if you have reached the maximum number of child IDs, try increasing MAX_SENSORS (e.g. #define MAX_SENSORS 15) in your config.h. Thanks

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      ArduiSens
                      wrote on last edited by
                      #11

                      FYI
                      I already had report this in "https://forum.mysensors.org/topic/6534/nodemanager/100", but in that case I was already using V1.6-dev version.

                      *ArduiSens 4 days ago

                      @user2684, why does NodeManager take so many sketch memory?
                      e.g.
                      (#define BATTERY_MANAGER 1; #define DEBUG 1; #define MODULE_DS18B20 1)
                      sketch NodeManager RS485 config for DS18B20 --> 28730 bytes (93%) of program storage space. Maximum is 30720 bytes.

                      own sketch for RS485 SR04T --> 17078 bytes (55%) of program storage space. Maximum is 30720 bytes.

                      OK, DS18B20 and SR04T are not the same but DS18B20 is less complex, so 38% more memory is pretty much.*

                      MySensors 2.3.2; contr:Domoticz; layer: RS485, nRF24; gw: Ethernet, Serial

                      U 1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        ArduiSens
                        wrote on last edited by
                        #12

                        Hello,

                        I see a problem when using setSleepSeconds / setPowerPins in combination with the serial RS485 option.

                        void before() {
                        // setup the serial port baud rate
                        Serial.begin(MY_BAUD_RATE);
                        nodeManager.setSleepSeconds(30);
                        nodeManager.setPowerPins(11,12,1000);

                        /*

                        • Register below your sensors
                          */
                          nodeManager.registerSensor(SENSOR_DS18B20,3);

                        gives a temperature value of 7368:
                        0;255;3;0;9;TSF:MSG:READ,3-3-0,s=255,c=3,t=22,pt=5,l=4,sg=0:7368
                        3;255;3;0;22;7368
                        RECV S=3 I=255 C=3 T=22 P=


                        void before() {
                        // setup the serial port baud rate
                        Serial.begin(MY_BAUD_RATE);
                        nodeManager.setReportIntervalSeconds(50);

                        /*

                        • Register below your sensors
                          */
                          nodeManager.registerSensor(SENSOR_DS18B20,3);

                        gives a correct value:
                        0;255;3;0;9;TSF:MSG:READ,3-3-0,s=1,c=1,t=0,pt=7,l=5,sg=0:19.75
                        3;1;1;0;0;19.75
                        RECV S=3 I=1 C=1 T=0 P=

                        MySensors 2.3.2; contr:Domoticz; layer: RS485, nRF24; gw: Ethernet, Serial

                        U 1 Reply Last reply
                        0
                        • A ArduiSens

                          FYI
                          I already had report this in "https://forum.mysensors.org/topic/6534/nodemanager/100", but in that case I was already using V1.6-dev version.

                          *ArduiSens 4 days ago

                          @user2684, why does NodeManager take so many sketch memory?
                          e.g.
                          (#define BATTERY_MANAGER 1; #define DEBUG 1; #define MODULE_DS18B20 1)
                          sketch NodeManager RS485 config for DS18B20 --> 28730 bytes (93%) of program storage space. Maximum is 30720 bytes.

                          own sketch for RS485 SR04T --> 17078 bytes (55%) of program storage space. Maximum is 30720 bytes.

                          OK, DS18B20 and SR04T are not the same but DS18B20 is less complex, so 38% more memory is pretty much.*

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

                          @ArduiSens thanks, I'll keep track about this issue issue with this https://github.com/mysensors/NodeManager/issues/210

                          1 Reply Last reply
                          0
                          • A ArduiSens

                            Hello,

                            I see a problem when using setSleepSeconds / setPowerPins in combination with the serial RS485 option.

                            void before() {
                            // setup the serial port baud rate
                            Serial.begin(MY_BAUD_RATE);
                            nodeManager.setSleepSeconds(30);
                            nodeManager.setPowerPins(11,12,1000);

                            /*

                            • Register below your sensors
                              */
                              nodeManager.registerSensor(SENSOR_DS18B20,3);

                            gives a temperature value of 7368:
                            0;255;3;0;9;TSF:MSG:READ,3-3-0,s=255,c=3,t=22,pt=5,l=4,sg=0:7368
                            3;255;3;0;22;7368
                            RECV S=3 I=255 C=3 T=22 P=


                            void before() {
                            // setup the serial port baud rate
                            Serial.begin(MY_BAUD_RATE);
                            nodeManager.setReportIntervalSeconds(50);

                            /*

                            • Register below your sensors
                              */
                              nodeManager.registerSensor(SENSOR_DS18B20,3);

                            gives a correct value:
                            0;255;3;0;9;TSF:MSG:READ,3-3-0,s=1,c=1,t=0,pt=7,l=5,sg=0:19.75
                            3;1;1;0;0;19.75
                            RECV S=3 I=1 C=1 T=0 P=

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

                            @ArduiSens do you have the full logs to share for the setSleepSeconds / setPowerPins issue? because from what you have posted, that 3;255;3;0;22;7368 should be a heartbeat response not the value of the temperature. Thanks!

                            1 Reply Last reply
                            0
                            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.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