Create Vogelkooi.ino
This commit is contained in:
commit
84e8bb5571
102
Vogelkooi.ino
Executable file
102
Vogelkooi.ino
Executable file
@ -0,0 +1,102 @@
|
||||
#include <SPI.h>
|
||||
#include <MySensor.h>
|
||||
|
||||
#define PIN_RELAY1 4 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
|
||||
#define PIN_RELAY2 5 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
|
||||
#define CHILD_ID_RELAY1 10 // Total number of attached relays
|
||||
#define CHILD_ID_RELAY2 11 // Total number of attached relays
|
||||
#define RELAY_ON 0 // GPIO value to write to turn on attached relay
|
||||
#define RELAY_OFF 1 // GPIO value to write to turn off attached relay
|
||||
|
||||
MySensor gw;
|
||||
boolean metric = true;
|
||||
|
||||
unsigned long currentTime;
|
||||
unsigned long SEND_FREQUENCY = 300000;
|
||||
unsigned long lastSend;
|
||||
|
||||
MyMessage msg_dallas(0,V_TEMP);
|
||||
|
||||
MyMessage msgRelay1(CHILD_ID_RELAY1, V_LIGHT);
|
||||
MyMessage msgRelay2(CHILD_ID_RELAY2, V_LIGHT);
|
||||
|
||||
//boolean timeReceived = false;
|
||||
boolean val_init = false;
|
||||
|
||||
//Setup routine
|
||||
void setup()
|
||||
{
|
||||
// Initialize library and add callback for incoming messages
|
||||
gw.begin(incomingMessage, AUTO, true);
|
||||
//gw.begin(incomingMessage);
|
||||
|
||||
// Send the Sketch Version Information to the Gateway
|
||||
gw.sendSketchInfo("Vogelkooi", "1.0");
|
||||
|
||||
gw.present(CHILD_ID_RELAY1, S_LIGHT);
|
||||
gw.present(CHILD_ID_RELAY2, S_LIGHT);
|
||||
|
||||
pinMode(PIN_RELAY1, OUTPUT);
|
||||
digitalWrite(PIN_RELAY1, RELAY_ON);
|
||||
pinMode(PIN_RELAY2, OUTPUT);
|
||||
digitalWrite(PIN_RELAY2, RELAY_ON);
|
||||
|
||||
metric = gw.getConfig().isMetric;
|
||||
lastSend = 0;
|
||||
}
|
||||
|
||||
//Main loop
|
||||
void loop()
|
||||
{
|
||||
gw.process();
|
||||
|
||||
currentTime = millis();
|
||||
|
||||
if(!val_init)
|
||||
{
|
||||
gw.wait(1000);
|
||||
gw.request(CHILD_ID_RELAY1, V_LIGHT);
|
||||
gw.wait(1000);
|
||||
gw.request(CHILD_ID_RELAY2, V_LIGHT);
|
||||
gw.wait(1000);
|
||||
val_init = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Check incomming messages
|
||||
void incomingMessage(const MyMessage &message)
|
||||
{
|
||||
//Message of type V_LIGHT ?
|
||||
if (message.type==V_LIGHT)
|
||||
{
|
||||
//Relay 1
|
||||
if (message.sensor==CHILD_ID_RELAY1)
|
||||
{
|
||||
if(message.getBool()==1)
|
||||
{
|
||||
digitalWrite(PIN_RELAY1, RELAY_OFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
digitalWrite(PIN_RELAY1, RELAY_ON);
|
||||
}
|
||||
|
||||
Serial.println("Domoticz --> Relay 1");
|
||||
}
|
||||
|
||||
//Relay 2
|
||||
if (message.sensor==CHILD_ID_RELAY2)
|
||||
{
|
||||
if(message.getBool()==1)
|
||||
{
|
||||
digitalWrite(PIN_RELAY2, RELAY_OFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
digitalWrite(PIN_RELAY2, RELAY_ON);
|
||||
}
|
||||
Serial.println("Domoticz --> Relay 2");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user