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. My Project
  3. Binary Control Modules , Switches, or Outlets on a Vera Edge

Binary Control Modules , Switches, or Outlets on a Vera Edge

Scheduled Pinned Locked Moved My Project
sensor
33 Posts 4 Posters 13.8k Views 2 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.
  • mntlvrM Offline
    mntlvrM Offline
    mntlvr
    wrote on last edited by mntlvr
    #1

    Hello my name is Bob and I have been with this forum for several months , I was having much trouble with getting started with My Sensors for various reason but with some help from members and patience I finally got it working. I built 2 LUX sensors first then I wanted to control some lights and fans remotely so I searched this forum ,found several interesting projects that used relays and "door/Window" switches so I modified the reed switches that were used to "mini" toggle switches and then modified the code so I am using 6 switches to control 3 different "Zwave" modules and 3 different "Zwave" Wall switches. I used a Arduino Nano for the 1st unit and placed it in a small enclosure and powered it with a 5 vdc wall wart. I will built 3 more of these units and place them in different rooms to control the same modules and wall switches and in one room one of the unit I build will control 3 different modules and or wall switches. Now I believe in Home Automation and most of my home the lights either turn on by motion or some by time , Wall outlets are turned on by time and off by time. My alarm system is also turned on/off by time except when I am away from the home they you must activate a virtual switch on your phone or tablet using the Vera Mobile interface. Now you will see in the sketch that my msg for each switch is for my use and you may have to change the msg to your needs. Also the Sleep time has not been tested , I was just thinking ahead a bit to see if I could conserve power and make this project able to be powered by batteries. The current draw when this is in operation as is , about 33 ma a bit more when transmission is used but since it mostly listens the 32-33 ma is about right for a Nano, Now you can also use a Pro-Mini and naturally You can use 3.3 v version of Pro-Mini. Below are the pictures of the build placed in a temporary case. So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you. Thanks for reading, Have a great day.

    /*
    /* This Sensor has multi Binary Inputs
    /* It can control vera modules by either using PLEG properties,trigger and conditions and actions
    /* or you can use "combination switch" app along with scenes to do the toggling
    /* of the action for a given binary condition
    /* you use digital pins as inputs and connect a spst switch between digital input and Gnd
    /* normally open switches are easiest to use
    /* This is built on a Nano or a pro-mini */

    #include <MySensor.h>
    #include <SPI.h>
    #include <Bounce2.h>

    //unsigned long SLEEP_TIME = 30000; // 30000 Sleep time between reads (in milliseconds)

    #define BUTTON_PIN_1 3 // Arduino Digital I/O pin for button/switch
    #define BUTTON_PIN_2 4 // Arduino Digital I/O pin for button/switch
    #define BUTTON_PIN_3 5 // Arduino Digital I/O pin for button/switch
    #define BUTTON_PIN_4 6 // Arduino Digital I/O pin for button/switch
    #define BUTTON_PIN_5 7 // Arduino Digital I/O pin for button/switch
    #define BUTTON_PIN_6 8 // Arduino Digital I/O pin for button/switch

    #define CHILD_ID_BUTTON_PIN_1 3
    #define CHILD_ID_BUTTON_PIN_2 4
    #define CHILD_ID_BUTTON_PIN_3 5
    #define CHILD_ID_BUTTON_PIN_4 6
    #define CHILD_ID_BUTTON_PIN_5 7
    #define CHILD_ID_BUTTON_PIN_6 8

    MySensor gw;
    Bounce debouncer_1 = Bounce();
    Bounce debouncer_2 = Bounce();
    Bounce debouncer_3 = Bounce();
    Bounce debouncer_4 = Bounce();
    Bounce debouncer_5 = Bounce();
    Bounce debouncer_6 = Bounce();

    int oldValue_1 = -1;
    int oldValue_2 = -1;
    int oldValue_3 = -1;
    int oldValue_4 = -1;
    int oldValue_5 = -1;
    int oldValue_6 = -1;

    MyMessage msgMBR(BUTTON_PIN_1, V_TRIPPED);
    MyMessage msgGBR(BUTTON_PIN_2, V_TRIPPED);
    MyMessage msgLR1(BUTTON_PIN_3, V_TRIPPED);
    MyMessage msgMBF(BUTTON_PIN_4, V_TRIPPED);
    MyMessage msgGBF(BUTTON_PIN_5, V_TRIPPED);
    MyMessage msgDRF(BUTTON_PIN_6, V_TRIPPED);

    void setup()
    {
    gw.begin();
    // Send the sketch version information to the gateway and Controller
    gw.sendSketchInfo("RemoteControl", "1.05");

    // Setup the Switch sensor
    pinMode(BUTTON_PIN_1, INPUT_PULLUP);
    pinMode(BUTTON_PIN_2, INPUT_PULLUP);
    pinMode(BUTTON_PIN_3, INPUT_PULLUP);
    pinMode(BUTTON_PIN_4, INPUT_PULLUP);
    pinMode(BUTTON_PIN_5, INPUT_PULLUP);
    pinMode(BUTTON_PIN_6, INPUT_PULLUP);
    // After setting up the button, setup debouncer

    debouncer_1.attach(BUTTON_PIN_1);
    debouncer_1.interval(5);

    debouncer_2.attach(BUTTON_PIN_2);
    debouncer_2.interval(5);

    debouncer_3.attach(BUTTON_PIN_3);
    debouncer_3.interval(5);

    debouncer_4.attach(BUTTON_PIN_4);
    debouncer_4.interval(5);

    debouncer_5.attach(BUTTON_PIN_5);
    debouncer_5.interval(5);

    debouncer_6.attach(BUTTON_PIN_6);
    debouncer_6.interval(5);

    /* Register binary input sensor to gw (they will be created as child devices) */

    gw.present(BUTTON_PIN_1, S_DOOR);
    gw.present(BUTTON_PIN_2, S_DOOR);
    gw.present(BUTTON_PIN_3, S_DOOR);
    gw.present(BUTTON_PIN_4, S_DOOR);
    gw.present(BUTTON_PIN_5, S_DOOR);
    gw.present(BUTTON_PIN_6, S_DOOR);
    }

    // Check if digital input has changed and send in new value
    void loop()
    {
    // Get the update value
    debouncer_1.update();
    int value_1 = debouncer_1.read();

    if (value_1 != oldValue_1) {
    // Send in the new value
    gw.send(msgMBR.set(value_1 == HIGH ? "1" : "0"));
    oldValue_1 = value_1;
    }

    debouncer_2.update();
    int value_2 = debouncer_2.read();

    if (value_2 != oldValue_2) {
    // Send in the new value
    gw.send(msgGBR.set(value_2 == HIGH ? "1" : "0"));
    oldValue_2 = value_2;
    }

    debouncer_3.update();
    int value_3 = debouncer_3.read();

    if (value_3 != oldValue_3) {
    // Send in the new value
    gw.send(msgLR1.set(value_3 == HIGH ? "1" : "0"));
    oldValue_3 = value_3;
    }

    debouncer_4.update();
    int value_4 = debouncer_4.read();

    if (value_4 != oldValue_4) {
    // Send in the new value
    gw.send(msgMBF.set(value_4 == HIGH ? "1" : "0"));
    oldValue_4 = value_4;
    }

    debouncer_5.update();
    int value_5 = debouncer_5.read();

    if (value_5 != oldValue_5) {
    // Send in the new value
    gw.send(msgGBF.set(value_5 == HIGH ? "1" : "0"));
    oldValue_5 = value_5;
    }

    debouncer_6.update();
    int value_6 = debouncer_6.read();

    if (value_6 != oldValue_6) {
    // Send in the new value
    gw.send(msgDRF.set(value_6 == HIGH ? "1" : "0"));
    oldValue_6 = value_6;
    }
    // gw.sleep(SLEEP_TIME);
    }20150804_134621.jpg 20150804_134514.jpg 20150804_134605.jpg 20150804_134614.jpg

    BulldogLowellB 1 Reply Last reply
    0
    • mntlvrM mntlvr

      Hello my name is Bob and I have been with this forum for several months , I was having much trouble with getting started with My Sensors for various reason but with some help from members and patience I finally got it working. I built 2 LUX sensors first then I wanted to control some lights and fans remotely so I searched this forum ,found several interesting projects that used relays and "door/Window" switches so I modified the reed switches that were used to "mini" toggle switches and then modified the code so I am using 6 switches to control 3 different "Zwave" modules and 3 different "Zwave" Wall switches. I used a Arduino Nano for the 1st unit and placed it in a small enclosure and powered it with a 5 vdc wall wart. I will built 3 more of these units and place them in different rooms to control the same modules and wall switches and in one room one of the unit I build will control 3 different modules and or wall switches. Now I believe in Home Automation and most of my home the lights either turn on by motion or some by time , Wall outlets are turned on by time and off by time. My alarm system is also turned on/off by time except when I am away from the home they you must activate a virtual switch on your phone or tablet using the Vera Mobile interface. Now you will see in the sketch that my msg for each switch is for my use and you may have to change the msg to your needs. Also the Sleep time has not been tested , I was just thinking ahead a bit to see if I could conserve power and make this project able to be powered by batteries. The current draw when this is in operation as is , about 33 ma a bit more when transmission is used but since it mostly listens the 32-33 ma is about right for a Nano, Now you can also use a Pro-Mini and naturally You can use 3.3 v version of Pro-Mini. Below are the pictures of the build placed in a temporary case. So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you. Thanks for reading, Have a great day.

      /*
      /* This Sensor has multi Binary Inputs
      /* It can control vera modules by either using PLEG properties,trigger and conditions and actions
      /* or you can use "combination switch" app along with scenes to do the toggling
      /* of the action for a given binary condition
      /* you use digital pins as inputs and connect a spst switch between digital input and Gnd
      /* normally open switches are easiest to use
      /* This is built on a Nano or a pro-mini */

      #include <MySensor.h>
      #include <SPI.h>
      #include <Bounce2.h>

      //unsigned long SLEEP_TIME = 30000; // 30000 Sleep time between reads (in milliseconds)

      #define BUTTON_PIN_1 3 // Arduino Digital I/O pin for button/switch
      #define BUTTON_PIN_2 4 // Arduino Digital I/O pin for button/switch
      #define BUTTON_PIN_3 5 // Arduino Digital I/O pin for button/switch
      #define BUTTON_PIN_4 6 // Arduino Digital I/O pin for button/switch
      #define BUTTON_PIN_5 7 // Arduino Digital I/O pin for button/switch
      #define BUTTON_PIN_6 8 // Arduino Digital I/O pin for button/switch

      #define CHILD_ID_BUTTON_PIN_1 3
      #define CHILD_ID_BUTTON_PIN_2 4
      #define CHILD_ID_BUTTON_PIN_3 5
      #define CHILD_ID_BUTTON_PIN_4 6
      #define CHILD_ID_BUTTON_PIN_5 7
      #define CHILD_ID_BUTTON_PIN_6 8

      MySensor gw;
      Bounce debouncer_1 = Bounce();
      Bounce debouncer_2 = Bounce();
      Bounce debouncer_3 = Bounce();
      Bounce debouncer_4 = Bounce();
      Bounce debouncer_5 = Bounce();
      Bounce debouncer_6 = Bounce();

      int oldValue_1 = -1;
      int oldValue_2 = -1;
      int oldValue_3 = -1;
      int oldValue_4 = -1;
      int oldValue_5 = -1;
      int oldValue_6 = -1;

      MyMessage msgMBR(BUTTON_PIN_1, V_TRIPPED);
      MyMessage msgGBR(BUTTON_PIN_2, V_TRIPPED);
      MyMessage msgLR1(BUTTON_PIN_3, V_TRIPPED);
      MyMessage msgMBF(BUTTON_PIN_4, V_TRIPPED);
      MyMessage msgGBF(BUTTON_PIN_5, V_TRIPPED);
      MyMessage msgDRF(BUTTON_PIN_6, V_TRIPPED);

      void setup()
      {
      gw.begin();
      // Send the sketch version information to the gateway and Controller
      gw.sendSketchInfo("RemoteControl", "1.05");

      // Setup the Switch sensor
      pinMode(BUTTON_PIN_1, INPUT_PULLUP);
      pinMode(BUTTON_PIN_2, INPUT_PULLUP);
      pinMode(BUTTON_PIN_3, INPUT_PULLUP);
      pinMode(BUTTON_PIN_4, INPUT_PULLUP);
      pinMode(BUTTON_PIN_5, INPUT_PULLUP);
      pinMode(BUTTON_PIN_6, INPUT_PULLUP);
      // After setting up the button, setup debouncer

      debouncer_1.attach(BUTTON_PIN_1);
      debouncer_1.interval(5);

      debouncer_2.attach(BUTTON_PIN_2);
      debouncer_2.interval(5);

      debouncer_3.attach(BUTTON_PIN_3);
      debouncer_3.interval(5);

      debouncer_4.attach(BUTTON_PIN_4);
      debouncer_4.interval(5);

      debouncer_5.attach(BUTTON_PIN_5);
      debouncer_5.interval(5);

      debouncer_6.attach(BUTTON_PIN_6);
      debouncer_6.interval(5);

      /* Register binary input sensor to gw (they will be created as child devices) */

      gw.present(BUTTON_PIN_1, S_DOOR);
      gw.present(BUTTON_PIN_2, S_DOOR);
      gw.present(BUTTON_PIN_3, S_DOOR);
      gw.present(BUTTON_PIN_4, S_DOOR);
      gw.present(BUTTON_PIN_5, S_DOOR);
      gw.present(BUTTON_PIN_6, S_DOOR);
      }

      // Check if digital input has changed and send in new value
      void loop()
      {
      // Get the update value
      debouncer_1.update();
      int value_1 = debouncer_1.read();

      if (value_1 != oldValue_1) {
      // Send in the new value
      gw.send(msgMBR.set(value_1 == HIGH ? "1" : "0"));
      oldValue_1 = value_1;
      }

      debouncer_2.update();
      int value_2 = debouncer_2.read();

      if (value_2 != oldValue_2) {
      // Send in the new value
      gw.send(msgGBR.set(value_2 == HIGH ? "1" : "0"));
      oldValue_2 = value_2;
      }

      debouncer_3.update();
      int value_3 = debouncer_3.read();

      if (value_3 != oldValue_3) {
      // Send in the new value
      gw.send(msgLR1.set(value_3 == HIGH ? "1" : "0"));
      oldValue_3 = value_3;
      }

      debouncer_4.update();
      int value_4 = debouncer_4.read();

      if (value_4 != oldValue_4) {
      // Send in the new value
      gw.send(msgMBF.set(value_4 == HIGH ? "1" : "0"));
      oldValue_4 = value_4;
      }

      debouncer_5.update();
      int value_5 = debouncer_5.read();

      if (value_5 != oldValue_5) {
      // Send in the new value
      gw.send(msgGBF.set(value_5 == HIGH ? "1" : "0"));
      oldValue_5 = value_5;
      }

      debouncer_6.update();
      int value_6 = debouncer_6.read();

      if (value_6 != oldValue_6) {
      // Send in the new value
      gw.send(msgDRF.set(value_6 == HIGH ? "1" : "0"));
      oldValue_6 = value_6;
      }
      // gw.sleep(SLEEP_TIME);
      }20150804_134621.jpg 20150804_134514.jpg 20150804_134605.jpg 20150804_134614.jpg

      BulldogLowellB Offline
      BulldogLowellB Offline
      BulldogLowell
      Contest Winner
      wrote on last edited by
      #2

      @mntlvr said:

      So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you.

      Great to see that you have your rig working just the way you like!

      You can simplify that code a lot with the use of arrays, for example (compiles but not tested):

      #include <MySensor.h>
      #include <SPI.h>
      #include <Bounce2.h>
      
      #define NUMBER_OF_PINS 6
      
      MySensor gw;
      int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
      Bounce debouncer[NUMBER_OF_PINS] = Bounce();
      int oldValue[NUMBER_OF_PINS];
      MyMessage msg[NUMBER_OF_PINS];  /* or you can fashion the constructor like this:*/  //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
      
      void setup() 
      {
        gw.begin();
        gw.sendSketchInfo("RemoteControl", "1.05");
        for (int i = 0; i < NUMBER_OF_PINS; i++)
        {
          msg[i] = MyMessage(i, V_TRIPPED); // instead of this
          gw.present(i, S_DOOR);
          pinMode(buttonPin[i], INPUT_PULLUP);
          debouncer[buttonPin[i]].attach(buttonPin[i]);
          debouncer[buttonPin[i]].interval(5);
        }
      }
      
      void loop() 
      {
        for (int i = 0; i < NUMBER_OF_PINS; i++)
        {
          debouncer[i].update();
          int value = debouncer[i].read();
          if (value != oldValue[i])
          {
            gw.send(msg[i].set(value));
            oldValue[i] = value;
          }
        }
      }
      
      mntlvrM 2 Replies Last reply
      1
      • BulldogLowellB BulldogLowell

        @mntlvr said:

        So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you.

        Great to see that you have your rig working just the way you like!

        You can simplify that code a lot with the use of arrays, for example (compiles but not tested):

        #include <MySensor.h>
        #include <SPI.h>
        #include <Bounce2.h>
        
        #define NUMBER_OF_PINS 6
        
        MySensor gw;
        int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
        Bounce debouncer[NUMBER_OF_PINS] = Bounce();
        int oldValue[NUMBER_OF_PINS];
        MyMessage msg[NUMBER_OF_PINS];  /* or you can fashion the constructor like this:*/  //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
        
        void setup() 
        {
          gw.begin();
          gw.sendSketchInfo("RemoteControl", "1.05");
          for (int i = 0; i < NUMBER_OF_PINS; i++)
          {
            msg[i] = MyMessage(i, V_TRIPPED); // instead of this
            gw.present(i, S_DOOR);
            pinMode(buttonPin[i], INPUT_PULLUP);
            debouncer[buttonPin[i]].attach(buttonPin[i]);
            debouncer[buttonPin[i]].interval(5);
          }
        }
        
        void loop() 
        {
          for (int i = 0; i < NUMBER_OF_PINS; i++)
          {
            debouncer[i].update();
            int value = debouncer[i].read();
            if (value != oldValue[i])
            {
              gw.send(msg[i].set(value));
              oldValue[i] = value;
            }
          }
        }
        
        mntlvrM Offline
        mntlvrM Offline
        mntlvr
        wrote on last edited by
        #3

        @BulldogLowell said:

        @mntlvr said:

        So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you.

        Great to see that you have your rig working just the way you like!

        You can simplify that code a lot with the use of arrays, for example (compiles but not tested):

        #include <MySensor.h>
        #include <SPI.h>
        #include <Bounce2.h>
        
        #define NUMBER_OF_PINS 6
        
        MySensor gw;
        int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
        Bounce debouncer[NUMBER_OF_PINS] = Bounce();
        int oldValue[NUMBER_OF_PINS];
        MyMessage msg[NUMBER_OF_PINS];  /* or you can fashion the constructor like this:*/  //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
        
        void setup() 
        {
          gw.begin();
          gw.sendSketchInfo("RemoteControl", "1.05");
          for (int i = 0; i < NUMBER_OF_PINS; i++)
          {
            msg[i] = MyMessage(i, V_TRIPPED); // instead of this
            gw.present(i, S_DOOR);
            pinMode(buttonPin[i], INPUT_PULLUP);
            debouncer[buttonPin[i]].attach(buttonPin[i]);
            debouncer[buttonPin[i]].interval(5);
          }
        }
        
        void loop() 
        {
          for (int i = 0; i < NUMBER_OF_PINS; i++)
          {
            debouncer[i].update();
            int value = debouncer[i].read();
            if (value != oldValue[i])
            {
              gw.send(msg[i].set(value));
              oldValue[i] = value;
            }
          }
        }
        

        Thanks will try out code and let you know if that works.

        1 Reply Last reply
        0
        • BulldogLowellB BulldogLowell

          @mntlvr said:

          So if anyone is interested in the Vera coding or the sketch coding let me know, and I will try to help you.

          Great to see that you have your rig working just the way you like!

          You can simplify that code a lot with the use of arrays, for example (compiles but not tested):

          #include <MySensor.h>
          #include <SPI.h>
          #include <Bounce2.h>
          
          #define NUMBER_OF_PINS 6
          
          MySensor gw;
          int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
          Bounce debouncer[NUMBER_OF_PINS] = Bounce();
          int oldValue[NUMBER_OF_PINS];
          MyMessage msg[NUMBER_OF_PINS];  /* or you can fashion the constructor like this:*/  //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
          
          void setup() 
          {
            gw.begin();
            gw.sendSketchInfo("RemoteControl", "1.05");
            for (int i = 0; i < NUMBER_OF_PINS; i++)
            {
              msg[i] = MyMessage(i, V_TRIPPED); // instead of this
              gw.present(i, S_DOOR);
              pinMode(buttonPin[i], INPUT_PULLUP);
              debouncer[buttonPin[i]].attach(buttonPin[i]);
              debouncer[buttonPin[i]].interval(5);
            }
          }
          
          void loop() 
          {
            for (int i = 0; i < NUMBER_OF_PINS; i++)
            {
              debouncer[i].update();
              int value = debouncer[i].read();
              if (value != oldValue[i])
              {
                gw.send(msg[i].set(value));
                oldValue[i] = value;
              }
            }
          }
          
          mntlvrM Offline
          mntlvrM Offline
          mntlvr
          wrote on last edited by
          #4

          @BulldogLowell I tried your sketch, had to put in the digitalwrite(i,HIGH), but even then it would only find 5 of the 7 nodes it needed, Switch 3-8 and the Arduino Node. I will see later what is going on because it should have worked .

          BulldogLowellB 1 Reply Last reply
          0
          • mntlvrM mntlvr

            @BulldogLowell I tried your sketch, had to put in the digitalwrite(i,HIGH), but even then it would only find 5 of the 7 nodes it needed, Switch 3-8 and the Arduino Node. I will see later what is going on because it should have worked .

            BulldogLowellB Offline
            BulldogLowellB Offline
            BulldogLowell
            Contest Winner
            wrote on last edited by BulldogLowell
            #5

            @mntlvr,

            so this single line of code:

            pinMode(myPin, INPUT_PULLUP);
            

            is identical to these two lines of code:

            pinMode(myPin, INPUT);
            digitalWrite(myPin, HIGH);
            

            try adding some hold time to make sure your radio has enough power to transmit:

            void setup() 
            {
              gw.begin();
              gw.sendSketchInfo("RemoteControl", "1.05");
              for (int i = 0; i < NUMBER_OF_PINS; i++)
              {
                msg[i] = MyMessage(i, V_TRIPPED); 
                gw.present(i, S_DOOR);
                pinMode(buttonPin[i], INPUT_PULLUP);
                debouncer[buttonPin[i]].attach(buttonPin[i]);
                debouncer[buttonPin[i]].interval(5);
                gw.wait(75); //<<<<<<<<<<<<<<<<<<<<<< here
              }
            }
            
            mntlvrM 2 Replies Last reply
            0
            • BulldogLowellB BulldogLowell

              @mntlvr,

              so this single line of code:

              pinMode(myPin, INPUT_PULLUP);
              

              is identical to these two lines of code:

              pinMode(myPin, INPUT);
              digitalWrite(myPin, HIGH);
              

              try adding some hold time to make sure your radio has enough power to transmit:

              void setup() 
              {
                gw.begin();
                gw.sendSketchInfo("RemoteControl", "1.05");
                for (int i = 0; i < NUMBER_OF_PINS; i++)
                {
                  msg[i] = MyMessage(i, V_TRIPPED); 
                  gw.present(i, S_DOOR);
                  pinMode(buttonPin[i], INPUT_PULLUP);
                  debouncer[buttonPin[i]].attach(buttonPin[i]);
                  debouncer[buttonPin[i]].interval(5);
                  gw.wait(75); //<<<<<<<<<<<<<<<<<<<<<< here
                }
              }
              
              mntlvrM Offline
              mntlvrM Offline
              mntlvr
              wrote on last edited by
              #6

              @BulldogLowell , You are so correct the two lines of code mean exactly the same, thank you for pointing that out, so wo I will try this code again and I will try my modified code and see what happens. Now both should work but your code is more Nano or Pro-Mini friendly when it comes to memory.

              1 Reply Last reply
              0
              • BulldogLowellB BulldogLowell

                @mntlvr,

                so this single line of code:

                pinMode(myPin, INPUT_PULLUP);
                

                is identical to these two lines of code:

                pinMode(myPin, INPUT);
                digitalWrite(myPin, HIGH);
                

                try adding some hold time to make sure your radio has enough power to transmit:

                void setup() 
                {
                  gw.begin();
                  gw.sendSketchInfo("RemoteControl", "1.05");
                  for (int i = 0; i < NUMBER_OF_PINS; i++)
                  {
                    msg[i] = MyMessage(i, V_TRIPPED); 
                    gw.present(i, S_DOOR);
                    pinMode(buttonPin[i], INPUT_PULLUP);
                    debouncer[buttonPin[i]].attach(buttonPin[i]);
                    debouncer[buttonPin[i]].interval(5);
                    gw.wait(75); //<<<<<<<<<<<<<<<<<<<<<< here
                  }
                }
                
                mntlvrM Offline
                mntlvrM Offline
                mntlvr
                wrote on last edited by
                #7

                @BulldogLowell
                I tried the code again but it still only finds 0-4 delay made no difference. Also I don't follow your code for changing the msg so it shows 1,2,3,4,5,6 tripped could use a little visual help on this also. I am trying to trap the condition that is preventing it from running 0-5 instead of 0-4.
                Thanks

                BulldogLowellB 1 Reply Last reply
                0
                • mntlvrM mntlvr

                  @BulldogLowell
                  I tried the code again but it still only finds 0-4 delay made no difference. Also I don't follow your code for changing the msg so it shows 1,2,3,4,5,6 tripped could use a little visual help on this also. I am trying to trap the condition that is preventing it from running 0-5 instead of 0-4.
                  Thanks

                  BulldogLowellB Offline
                  BulldogLowellB Offline
                  BulldogLowell
                  Contest Winner
                  wrote on last edited by
                  #8

                  @mntlvr

                  use some serial debug messages like this to see what's what:

                  #include <MySensor.h>
                  #include <SPI.h>
                  #include <Bounce2.h>
                  
                  #define NUMBER_OF_PINS 6
                  
                  MySensor gw;
                  int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
                  Bounce debouncer[NUMBER_OF_PINS] = Bounce();
                  int oldValue[NUMBER_OF_PINS];
                  MyMessage msg[NUMBER_OF_PINS]; //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
                  
                  void setup() 
                  {
                    Serial.begin(115200);
                    gw.begin();
                    gw.sendSketchInfo("RemoteControl", "1.05");
                    for (int i = 0; i < NUMBER_OF_PINS; i++)
                    {
                      Serial.print(F("Setting up Pin"));
                      Serial.println(i);
                      msg[i] = MyMessage(i, V_TRIPPED); // instead of this
                      gw.present(i, S_DOOR);
                      pinMode(buttonPin[i], INPUT_PULLUP);
                      debouncer[buttonPin[i]].attach(buttonPin[i]);
                      debouncer[buttonPin[i]].interval(5);
                      gw.wait(100);
                    }
                    Serial.println(F("Sensor presentation complete"));
                  }
                  
                  void loop() 
                  {
                    for (int i = 0; i < NUMBER_OF_PINS; i++)
                    {
                      debouncer[i].update();
                      int value = debouncer[i].read();
                      if (value != oldValue[i])
                      {
                        gw.send(msg[i].set(value));
                        Serial.print(F("Pin "));
                        Serial.print(i);
                        Serial.print(F(" changed state...  New State: "));
                        Serial.println(value? F("Tripped") : F("Not Tripped"));
                        oldValue[i] = value;
                      }
                    }
                  }
                  
                  mntlvrM 2 Replies Last reply
                  0
                  • BulldogLowellB BulldogLowell

                    @mntlvr

                    use some serial debug messages like this to see what's what:

                    #include <MySensor.h>
                    #include <SPI.h>
                    #include <Bounce2.h>
                    
                    #define NUMBER_OF_PINS 6
                    
                    MySensor gw;
                    int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
                    Bounce debouncer[NUMBER_OF_PINS] = Bounce();
                    int oldValue[NUMBER_OF_PINS];
                    MyMessage msg[NUMBER_OF_PINS]; //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
                    
                    void setup() 
                    {
                      Serial.begin(115200);
                      gw.begin();
                      gw.sendSketchInfo("RemoteControl", "1.05");
                      for (int i = 0; i < NUMBER_OF_PINS; i++)
                      {
                        Serial.print(F("Setting up Pin"));
                        Serial.println(i);
                        msg[i] = MyMessage(i, V_TRIPPED); // instead of this
                        gw.present(i, S_DOOR);
                        pinMode(buttonPin[i], INPUT_PULLUP);
                        debouncer[buttonPin[i]].attach(buttonPin[i]);
                        debouncer[buttonPin[i]].interval(5);
                        gw.wait(100);
                      }
                      Serial.println(F("Sensor presentation complete"));
                    }
                    
                    void loop() 
                    {
                      for (int i = 0; i < NUMBER_OF_PINS; i++)
                      {
                        debouncer[i].update();
                        int value = debouncer[i].read();
                        if (value != oldValue[i])
                        {
                          gw.send(msg[i].set(value));
                          Serial.print(F("Pin "));
                          Serial.print(i);
                          Serial.print(F(" changed state...  New State: "));
                          Serial.println(value? F("Tripped") : F("Not Tripped"));
                          oldValue[i] = value;
                        }
                      }
                    }
                    
                    mntlvrM Offline
                    mntlvrM Offline
                    mntlvr
                    wrote on last edited by
                    #9

                    @BulldogLowell
                    Bulldog I ran your debug code and here is the 6th irratition of the Serial Monitor on IDE ver 1.6.4

                    • sensor started, id 32
                      send: 32-32-0-0 s=255,c=0,t=17,pt=0,l=5,st=fail:1.4.1
                      send: 32-32-0-0 s=255,c=3,t=6,pt=1,l=1,st=fail:0
                      send: 32-32-0-0 s=255,c=3,t=11,pt=0,l=13,st=fail:RemoteControl
                      send: 32-32-0-0 s=255,c=3,t=12,pt=0,l=4,st=fail:1.05
                      Setting up Pin0
                      send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
                      Setting up Pin1
                      send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=fail:
                      Setting up Pin2
                      send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=fail:
                      send: 32-32-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
                      Setting up Pin3
                      send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=fail:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                      Setting up Pin4
                      send: 32-32-0-0 s=4,c=0,t=0,pt=0,l=0,st=ok:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                      Setting up Pin5
                      send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      read: 48-201-0 s=0,c=5,t=0,pt=0,l=0:
                      version mismatch
                      Sensor presentation complete
                      send: 0-0-0-0 s=3,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 3 changed state... New State: Tripped
                      send: 0-0-0-0 s=4,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 4 changed state... New State: Tripped
                      send: 0-0-0-0 s=5,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 5 changed state... New State: Tripped
                      send: 0-0-0-0 s=0,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 0 changed state... New State: Tripped
                      send: 0-0-0-0 s=1,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 1 changed state... New State: Tripped
                      send: 0-0-0-0 s=2,c=1,t=16,pt=2,l=2,st=ok:1
                      Pin 2 changed state... New State: Tripped
                    1 Reply Last reply
                    0
                    • BulldogLowellB BulldogLowell

                      @mntlvr

                      use some serial debug messages like this to see what's what:

                      #include <MySensor.h>
                      #include <SPI.h>
                      #include <Bounce2.h>
                      
                      #define NUMBER_OF_PINS 6
                      
                      MySensor gw;
                      int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
                      Bounce debouncer[NUMBER_OF_PINS] = Bounce();
                      int oldValue[NUMBER_OF_PINS];
                      MyMessage msg[NUMBER_OF_PINS]; //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
                      
                      void setup() 
                      {
                        Serial.begin(115200);
                        gw.begin();
                        gw.sendSketchInfo("RemoteControl", "1.05");
                        for (int i = 0; i < NUMBER_OF_PINS; i++)
                        {
                          Serial.print(F("Setting up Pin"));
                          Serial.println(i);
                          msg[i] = MyMessage(i, V_TRIPPED); // instead of this
                          gw.present(i, S_DOOR);
                          pinMode(buttonPin[i], INPUT_PULLUP);
                          debouncer[buttonPin[i]].attach(buttonPin[i]);
                          debouncer[buttonPin[i]].interval(5);
                          gw.wait(100);
                        }
                        Serial.println(F("Sensor presentation complete"));
                      }
                      
                      void loop() 
                      {
                        for (int i = 0; i < NUMBER_OF_PINS; i++)
                        {
                          debouncer[i].update();
                          int value = debouncer[i].read();
                          if (value != oldValue[i])
                          {
                            gw.send(msg[i].set(value));
                            Serial.print(F("Pin "));
                            Serial.print(i);
                            Serial.print(F(" changed state...  New State: "));
                            Serial.println(value? F("Tripped") : F("Not Tripped"));
                            oldValue[i] = value;
                          }
                        }
                      }
                      
                      mntlvrM Offline
                      mntlvrM Offline
                      mntlvr
                      wrote on last edited by
                      #10

                      @BulldogLowell
                      Connected pin 5 to ground and reset Serial Monitor windows and this is the results

                      • sensor started, id 32
                        send: 32-32-0-0 s=255,c=0,t=17,pt=0,l=5,st=fail:1.4.1
                        send: 32-32-0-0 s=255,c=3,t=6,pt=1,l=1,st=fail:0
                        send: 32-32-0-0 s=255,c=3,t=11,pt=0,l=13,st=fail:RemoteControl
                        send: 32-32-0-0 s=255,c=3,t=12,pt=0,l=4,st=fail:1.08
                        Setting up Pin0
                        send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
                        Setting up Pin1
                        send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=fail:
                        Setting up Pin2
                        send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=fail:
                        send: 32-32-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
                        Setting up Pin3
                        send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=fail:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                        Setting up Pin4
                        send: 32-32-0-0 s=4,c=0,t=0,pt=0,l=0,st=ok:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                        Setting up Pin5
                        send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        read: 50-219-0 s=0,c=5,t=0,pt=0,l=0:
                        version mismatch
                        Sensor presentation complete
                        send: 0-0-0-0 s=3,c=1,t=16,pt=2,l=2,st=ok:1
                        Pin 3 changed state... New State: Tripped
                        send: 0-0-0-0 s=4,c=1,t=16,pt=2,l=2,st=ok:1
                        Pin 4 changed state... New State: Tripped
                        send: 0-0-0-0 s=0,c=1,t=16,pt=2,l=2,st=ok:1
                        Pin 0 changed state... New State: Tripped
                        send: 0-0-0-0 s=1,c=1,t=16,pt=2,l=2,st=ok:1
                        Pin 1 changed state... New State: Tripped
                        send: 0-0-0-0 s=2,c=1,t=16,pt=2,l=2,st=ok:1
                        Pin 2 changed state... New State: Tripped

                      This is as far as the code went..

                      1 Reply Last reply
                      0
                      • BulldogLowellB Offline
                        BulldogLowellB Offline
                        BulldogLowell
                        Contest Winner
                        wrote on last edited by
                        #11

                        @mntlvr said:

                        This is as far as the code went..

                        you would need to flip the switches to see anything else :) so try that.

                        this is a problem:

                        Setting up Pin0
                        send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
                        Setting up Pin1
                        send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=fail:
                        Setting up Pin2
                        send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=fail:
                        send: 32-32-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
                        Setting up Pin3
                        send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=fail:
                        

                        let's slow down the startup... it looks like your initial radio messages are not making it to the gateway.

                        #include <MySensor.h>
                        #include <SPI.h>
                        #include <Bounce2.h>
                        
                        #define NUMBER_OF_PINS 6
                        #define RADIO_ID 32
                        
                        MySensor gw;
                        int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
                        Bounce debouncer[NUMBER_OF_PINS] = Bounce();
                        int oldValue[NUMBER_OF_PINS];
                        MyMessage msg[NUMBER_OF_PINS]; //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
                        
                        void setup() 
                        {
                          Serial.begin(115200);
                          delay(1000);
                          Serial.print(F("Sending device info..."));
                          gw.begin(NULL, RADIO_ID, false);
                          gw.sendSketchInfo("RemoteControl", "1.05");
                          gw.wait(250);
                          for (int i = 0; i < NUMBER_OF_PINS; i++)
                          {
                            Serial.print(F("Setting up Pin"));
                            Serial.println(i);
                            msg[i] = MyMessage(i, V_TRIPPED); // instead of this
                            gw.present(i, S_DOOR);
                            pinMode(buttonPin[i], INPUT_PULLUP);
                            debouncer[buttonPin[i]].attach(buttonPin[i]);
                            debouncer[buttonPin[i]].interval(5);
                            gw.wait(250);
                          }
                          Serial.println(F("Sensor presentation complete"));
                        }
                        
                        void loop() 
                        {
                          for (int i = 0; i < NUMBER_OF_PINS; i++)
                          {
                            debouncer[i].update();
                            int value = debouncer[i].read();
                            if (value != oldValue[i])
                            {
                              gw.send(msg[i].set(value));
                              Serial.print(F("Pin "));
                              Serial.print(i);
                              Serial.print(F(" changed state...  New State: "));
                              Serial.println(value? F("Tripped") : F("Not Tripped"));
                              oldValue[i] = value;
                            }
                          }
                        }
                        
                        mntlvrM 1 Reply Last reply
                        0
                        • rvendrameR Offline
                          rvendrameR Offline
                          rvendrame
                          Hero Member
                          wrote on last edited by
                          #12

                          How are you powering the node? Is there any capacitor between radio VCC / GND? If you have an spare radio/power supply try replacing them. Make sure radio gets stable, 1.9-3.6V supply.

                          And check this thread. Many of us are experiencing random results from fake radios...

                          Home Assistant / Vera Plus UI7
                          ESP8266 GW + mySensors 2.3.2
                          Alexa / Google Home

                          1 Reply Last reply
                          0
                          • BulldogLowellB BulldogLowell

                            @mntlvr said:

                            This is as far as the code went..

                            you would need to flip the switches to see anything else :) so try that.

                            this is a problem:

                            Setting up Pin0
                            send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
                            Setting up Pin1
                            send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=fail:
                            Setting up Pin2
                            send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=fail:
                            send: 32-32-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
                            Setting up Pin3
                            send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=fail:
                            

                            let's slow down the startup... it looks like your initial radio messages are not making it to the gateway.

                            #include <MySensor.h>
                            #include <SPI.h>
                            #include <Bounce2.h>
                            
                            #define NUMBER_OF_PINS 6
                            #define RADIO_ID 32
                            
                            MySensor gw;
                            int buttonPin[NUMBER_OF_PINS] = {3,4,5,6,7,8};
                            Bounce debouncer[NUMBER_OF_PINS] = Bounce();
                            int oldValue[NUMBER_OF_PINS];
                            MyMessage msg[NUMBER_OF_PINS]; //= {MyMessage(0,V_TRIPPED),MyMessage(1,V_TRIPPED),MyMessage(2,V_TRIPPED),MyMessage(3,V_TRIPPED),MyMessage(4,V_TRIPPED),MyMessage(5,V_TRIPPED)};
                            
                            void setup() 
                            {
                              Serial.begin(115200);
                              delay(1000);
                              Serial.print(F("Sending device info..."));
                              gw.begin(NULL, RADIO_ID, false);
                              gw.sendSketchInfo("RemoteControl", "1.05");
                              gw.wait(250);
                              for (int i = 0; i < NUMBER_OF_PINS; i++)
                              {
                                Serial.print(F("Setting up Pin"));
                                Serial.println(i);
                                msg[i] = MyMessage(i, V_TRIPPED); // instead of this
                                gw.present(i, S_DOOR);
                                pinMode(buttonPin[i], INPUT_PULLUP);
                                debouncer[buttonPin[i]].attach(buttonPin[i]);
                                debouncer[buttonPin[i]].interval(5);
                                gw.wait(250);
                              }
                              Serial.println(F("Sensor presentation complete"));
                            }
                            
                            void loop() 
                            {
                              for (int i = 0; i < NUMBER_OF_PINS; i++)
                              {
                                debouncer[i].update();
                                int value = debouncer[i].read();
                                if (value != oldValue[i])
                                {
                                  gw.send(msg[i].set(value));
                                  Serial.print(F("Pin "));
                                  Serial.print(i);
                                  Serial.print(F(" changed state...  New State: "));
                                  Serial.println(value? F("Tripped") : F("Not Tripped"));
                                  oldValue[i] = value;
                                }
                              }
                            }
                            
                            mntlvrM Offline
                            mntlvrM Offline
                            mntlvr
                            wrote on last edited by
                            #13

                            @BulldogLowell Ok Bulldog ran new code still getting Version Mismatch?and at the beginning fails.
                            My transceiver is about 4 feet away from the gateway.

                            • .sensor started, id 32
                              send: 32-32-0-0 s=255,c=0,t=17,pt=0,l=5,st=fail:1.4.1
                              send: 32-32-0-0 s=255,c=3,t=6,pt=1,l=1,st=fail:0
                              send: 32-32-0-0 s=255,c=3,t=11,pt=0,l=13,st=fail:RemoteControl
                              send: 32-32-0-0 s=255,c=3,t=12,pt=0,l=4,st=fail:1.05
                              Setting up Pin0
                              send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
                              Setting up Pin1
                              send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=fail:
                              Setting up Pin2
                              send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=fail:
                              send: 32-32-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
                              Setting up Pin3
                              send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=fail:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=3,c=0,t=0,pt=0,l=0:
                              Setting up Pin4
                              0;0;3;0;9;send: 32-32-0-0 s=4,c=0,t=0,pt=0,l=0,st=ok:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              Setting up Pin5
                              0;0;3;0;9;send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              Sensor presentation complete
                              0;0;3;0;9;send: 0-0-0-0 s=3,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 3 changed state... New State: Tripped
                              0;0;3;0;9;send: 0-0-0-0 s=4,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 4 changed state... New State: Tripped
                              0;0;3;0;9;send: 0-0-0-0 s=5,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 5 changed state... New State: Tripped
                              0;0;3;0;9;send: 0-0-0-0 s=0,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 0 changed state... New State: Tripped
                              0;0;3;0;9;send: 0-0-0-0 s=1,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 1 changed state... New State: Tripped
                              0;0;3;0;9;send: 0-0-0-0 s=2,c=1,t=16,pt=2,l=2,st=ok:1
                              Pin 2 changed state... New State: Tripped
                            1 Reply Last reply
                            0
                            • BulldogLowellB Offline
                              BulldogLowellB Offline
                              BulldogLowell
                              Contest Winner
                              wrote on last edited by
                              #14

                              @mntlvr said:

                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                              Setting up Pin5
                              0;0;3;0;9;send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                              version mismatch
                              read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:

                              yeah, this isn't what I would expect, but maybe hardware related... look here.

                              Power is my first instinct.

                              @hek any ideas here?

                              also, you didn't try flipping the switches!

                              mntlvrM 1 Reply Last reply
                              0
                              • hekH Offline
                                hekH Offline
                                hek
                                Admin
                                wrote on last edited by
                                #15

                                Message seems corrupt... command-type=5!!

                                Underpowered or some strange mix of different radio-modules.

                                mntlvrM 2 Replies Last reply
                                0
                                • BulldogLowellB BulldogLowell

                                  @mntlvr said:

                                  read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                                  read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                                  read: 32-32-0 s=4,c=0,t=0,pt=0,l=0:
                                  Setting up Pin5
                                  0;0;3;0;9;send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                                  read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                                  version mismatch
                                  read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                                  version mismatch
                                  read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                                  version mismatch
                                  read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:
                                  version mismatch
                                  read: 52-63-0 s=0,c=5,t=0,pt=0,l=0:

                                  yeah, this isn't what I would expect, but maybe hardware related... look here.

                                  Power is my first instinct.

                                  @hek any ideas here?

                                  also, you didn't try flipping the switches!

                                  mntlvrM Offline
                                  mntlvrM Offline
                                  mntlvr
                                  wrote on last edited by
                                  #16

                                  @BulldogLowell Bulldog
                                  The power is coming from 2 LIPO 1500mAH batteries in series, so the boards input voltage is 8.4 volts which the on board regulator is handling on the 24l01 so the nRF24l01 is getting 3.3 volts one 22ufd caps on input right on nrf24l01 board. I am running the exact setup my first board is using when I built it on a Nano. On the Nano build when I would ground anyone of the input pin the Vera would show the state of change right away and so would the Serial Monitor on IDE. I will keep on it until I resolve it.

                                  1 Reply Last reply
                                  0
                                  • hekH hek

                                    Message seems corrupt... command-type=5!!

                                    Underpowered or some strange mix of different radio-modules.

                                    mntlvrM Offline
                                    mntlvrM Offline
                                    mntlvr
                                    wrote on last edited by
                                    #17

                                    @hek All the radio modules are nRF24l01+ and I have 3 other sensors all working just fine with this gateway all using the same transceiver from the same company.

                                    1 Reply Last reply
                                    0
                                    • hekH hek

                                      Message seems corrupt... command-type=5!!

                                      Underpowered or some strange mix of different radio-modules.

                                      mntlvrM Offline
                                      mntlvrM Offline
                                      mntlvr
                                      wrote on last edited by
                                      #18

                                      @hek this is the Serial Monitor output from the same board powered the same way except running my original code and no failures.

                                      You can see when I gnd the input the output responds.
                                      sensor started, id 32
                                      send: 32-32-0-0 s=255,c=0,t=17,pt=0,l=5,st=ok:1.4.1
                                      send: 32-32-0-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0
                                      send: 32-32-0-0 s=255,c=3,t=11,pt=0,l=13,st=ok:RemoteControl
                                      send: 32-32-0-0 s=255,c=3,t=12,pt=0,l=4,st=ok:1.05
                                      send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=4,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=6,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=7,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=8,c=0,t=0,pt=0,l=0,st=ok:
                                      send: 32-32-0-0 s=3,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=4,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=6,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=7,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=8,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:0
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:0
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:0
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:0
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:1
                                      send: 32-32-0-0 s=5,c=1,t=16,pt=0,l=1,st=ok:0

                                      BulldogLowellB 1 Reply Last reply
                                      0
                                      • hekH Offline
                                        hekH Offline
                                        hek
                                        Admin
                                        wrote on last edited by
                                        #19

                                        I suspect the message array is doing some buffer overwrite.

                                        Just define one msg and reuse it with
                                        msg.setSensor(x)

                                        1 Reply Last reply
                                        1
                                        • BulldogLowellB Offline
                                          BulldogLowellB Offline
                                          BulldogLowell
                                          Contest Winner
                                          wrote on last edited by
                                          #20

                                          @hek said:

                                          I suspect the message array is doing some buffer overwrite.

                                          Just define one msg and reuse it with
                                          msg.setSensor(x)

                                          agree...

                                          look here:

                                          Sensor presentation complete
                                          0;0;3;0;9;send: 0-0-0-0 s=3,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 3 changed state... New State: Tripped
                                          0;0;3;0;9;send: 0-0-0-0 s=4,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 4 changed state... New State: Tripped
                                          0;0;3;0;9;send: 0-0-0-0 s=5,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 5 changed state... New State: Tripped
                                          0;0;3;0;9;send: 0-0-0-0 s=0,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 0 changed state... New State: Tripped
                                          0;0;3;0;9;send: 0-0-0-0 s=1,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 1 changed state... New State: Tripped
                                          0;0;3;0;9;send: 0-0-0-0 s=2,c=1,t=16,pt=2,l=2,st=ok:1
                                          Pin 2 changed state... New State: Tripped
                                          

                                          not winding its way through the array like you wold expect.

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


                                          21

                                          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