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.
  • 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
                                      • mntlvrM mntlvr

                                        @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 Offline
                                        BulldogLowellB Offline
                                        BulldogLowell
                                        Contest Winner
                                        wrote on last edited by
                                        #21

                                        @mtnlvr

                                        like this perhaps:

                                        #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(0,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);
                                            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])
                                            {
                                              msg.setSensor(i);
                                              gw.send(msg.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
                                        • BulldogLowellB BulldogLowell

                                          @mtnlvr

                                          like this perhaps:

                                          #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(0,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);
                                              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])
                                              {
                                                msg.setSensor(i);
                                                gw.send(msg.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
                                          #22

                                          @BulldogLowell
                                          This seems to work much better but what is the "version mismatch"?
                                          You can see the change of pin 5 now immediately now when I connect it to gnd or leave it open.

                                          Sending device info...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
                                          read: 0-0-32 s=255,c=3,t=6,pt=0,l=1:I
                                          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.15
                                          Setting up Pin0
                                          send: 32-32-0-0 s=0,c=0,t=0,pt=0,l=0,st=ok:
                                          Setting up Pin1
                                          send: 32-32-0-0 s=1,c=0,t=0,pt=0,l=0,st=ok:
                                          Setting up Pin2
                                          send: 32-32-0-0 s=2,c=0,t=0,pt=0,l=0,st=ok:
                                          Setting up Pin3
                                          send: 32-32-0-0 s=3,c=0,t=0,pt=0,l=0,st=ok:
                                          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:
                                          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:
                                          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
                                          send: 0-0-0-0 s=5,c=0,t=0,pt=0,l=0,st=ok:
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-0 s=0,c=5,t=0,pt=0,l=0:
                                          version mismatch
                                          read: 39-155-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
                                          send: 0-0-0-0 s=5,c=1,t=16,pt=2,l=2,st=ok:0
                                          Pin 5 changed state... New State: Not 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=5,c=1,t=16,pt=2,l=2,st=ok:0
                                          Pin 5 changed state... New State: Not 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=5,c=1,t=16,pt=2,l=2,st=ok:0
                                          Pin 5 changed state... New State: Not 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=5,c=1,t=16,pt=2,l=2,st=ok:0
                                          Pin 5 changed state... New State: Not 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=5,c=1,t=16,pt=2,l=2,st=ok:0
                                          Pin 5 changed state... New State: Not Tripped

                                          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