Binary Control Modules , Switches, or Outlets on a Vera Edge
-
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 } }@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.
-
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 } }@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 -
@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.
Thanksuse 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; } } } -
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; } } }@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
- sensor started, id 32
-
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; } } }@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..
- sensor started, id 32
-
@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; } } } -
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...
-
@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; } } }@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
- .sensor started, id 32
-
@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!
-
@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!
@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. -
Message seems corrupt... command-type=5!!
Underpowered or some strange mix of different radio-modules.
-
Message seems corrupt... command-type=5!!
Underpowered or some strange mix of different radio-modules.
@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 -
@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: Trippednot winding its way through the array like you wold expect.
-
@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@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; } } } -
@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; } } }@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 -
You seem to have radio disturbance (or the nodes radio get wacky when gateway sends its ack...).
I think I have similar things when underpowering my gateway and sending with full power on a amplified nrf-module.
-
@hek I just re-ran my Serial Monitor and now pin 5 only shows "version mismatch" I don't know how else to power any of these units because I have a 9 vdc 1 amp power pack on the Gateway and my sensors all have 1 amp, 9 vdc power packs
I really never use toggle switches like you are using here but it dawned on me that you are drawing current on all six pins simultaneously using the internal pull-ups. Perhaps you are overdrawing the power of the arduino a bit, causing the spurious results. We don't see the error until we power up that #5 pin.... but you are getting some crazy radio activity prior to that after we power up pin 3. That's where it occurred to me that we may be asking too much of your arduino, sinking all of the 6 pins to ground at once.
Can you try:
a: opening all of the switches before initialization and see if you still get the funky version mismatch error? Or,
b: just let the pins float by changing the initialization of the pin to:
pinMode(buttonPin[i], INPUT);and see if it at least initializes correctly (your switches won't work correctly, that's fine to test this theory).
just spitballing here... but if that helps, there are solutions (at least one of which may require you to remove some of that lovely potting ;).