I'm not good at programming
- 
					
					
					
					
 Hello I'm not good at programming I mix two motion light my times his block is what a he can look at thank #define MY_DEBUG #define MY_RF24_CE_PIN A0 
 #define MY_RADIO_NRF24
 #define MY_REPEATER_FEATURE#include <SPI.h> 
 #include <MySensors.h>
 #include <Bounce2.h>#define MOTION_PIN 4 
 #define RELAY_ON 1
 #define RELAY_OFF 0#define SSR_A_ID 1 // Id of the sensor child 
 #define MOTION_ID 2// Sleep time between reads (in milliseconds) 
 unsigned long SLEEP_TIME = 100000;unsigned long T = 1; const int buttonPinA = 3; 
 const int relayPinA = 5;
 int oldValueA = 0;
 bool stateA = false;
 bool lastMotion;Bounce debouncerA = Bounce(); MyMessage msgA(SSR_A_ID, V_STATUS); 
 MyMessage motion_msg(MOTION_ID, V_TRIPPED);void setup() 
 {pinMode(buttonPinA, INPUT_PULLUP); // Setup the button Activate internal pull-up 
 // Then set relay pins in output mode
 pinMode(relayPinA, OUTPUT);// After setting up the buttons, setup debouncer 
 debouncerA.attach(buttonPinA);
 debouncerA.interval(5);// Make sure relays are off when starting up 
 digitalWrite(relayPinA, RELAY_OFF);// Define the motion sensor pin for digital input 
 pinMode(MOTION_PIN, INPUT);/*--------------------- Added these lines for toggle switch-------------------------*/oldValueA = digitalRead(buttonPinA); // set oldValueA to the current status of the toggle switch 
 send(msgA.set(false)); // Send off state for relayA to ensure controller knows the switch is off} void presentation() { 
 // Send the sketch version information to the gateway and Controller
 sendSketchInfo("Mains Controller", "1.0");// Register all sensors to gw (they will be created as child devices) 
 present(SSR_A_ID, S_LIGHT);// Register the motion sensor to the gateway 
 present(MOTION_ID, S_MOTION);
 }/* 
 Example on how to asynchronously check for new messages from gw
 */
 void loop()
 {
 debouncerA.update();
 // Get the update value
 int valueA = debouncerA.read();
 if (valueA != oldValueA) {
 send(msgA.set(stateA ? false : true), true); // Send new state and request ack back
 oldValueA = valueA;
 }
 // Read digital motion value
 bool motion = digitalRead(MOTION_PIN) == HIGH;if (motion != lastMotion) { 
 // Send tripped value to gw
 send(motion_msg.set(motion ? "1" : "0"));
 lastMotion = motion;
 }
 T++;
 if (T > SLEEP_TIME) {
 T = 1;
 Serial.print("Motion: ");
 Serial.println(motion);}} void receive(const MyMessage &message) { 
 // We only expect one type of message from controller. But we better check anyway.
 if (message.type == V_STATUS) {switch (message.sensor) { case 1: stateA = message.getBool(); digitalWrite(message.sensor + 4, stateA ? RELAY_ON : RELAY_OFF); break; } // Write some debug info Serial.print("Incoming change for sensor:"); Serial.println(message.sensor); Serial.print("from node:"); Serial.println(message.sender); Serial.print(", New status: "); Serial.println(message.getBool());} 
 }
 
- 
					
					
					
					
 This post is deleted!
 
- 
					
					
					
					
 So, if I get this right.. You want a motion detection sensor? And you tried turning a button node into a motion sensing node by having the motion sensor acting as the button? And you want two motion sensors? 
 Or do you want to be able to turn on the light and/or sense motion at the same time? You code seems to imply the second.So.. what is the problem? Is it not working? This is odd: 
 #define SSR_A_ID 1 // Id of the sensor childA solid sate relay (SSR) is an actuator, not a sensor. Did you try to turn that into a second sensor? If you want to have two motion sensors connected, you should probably have two of these: 
 MyMessage motion_msg(MOTION_ID, V_TRIPPED);
 (or set the child ID and use one message holder)Here you are writing to a relay though: 
 // Make sure relays are off when starting up
 digitalWrite(relayPinA, RELAY_OFF);Hmmm, you're counting the loops? Up to 100.000? Hmm, I wonder how long that takes in milliseconds. In any case, your node will have trouble receiving any command form the gateway if it's sleeping. I'm not sure how that debouncer works. What's this all about? 
 digitalWrite(message.sensor + 4, stateA ? RELAY_ON : RELAY_OFF);
 Why the +4? If you only have one relay, why not just point to that pin directly?
 
- 
					
					
					
					
 thank you for your response 
 light with classic toggle switch
 and i have add pir sensor
 for what I ask to correct
 I have to thank you
 
- 
					
					
					
					
 Can you explain the problem a bit more? 
 
- 
					
					
					
					
 in domoticz he sends his state of light 
 it is he and turn on or off
 
 
			
		 
			
		 
					
				
