diff --git a/OpenMQTTGateway.ino b/OpenMQTTGateway.ino
index 90b150d..4c7d42b 100644
--- a/OpenMQTTGateway.ino
+++ b/OpenMQTTGateway.ino
@@ -295,6 +295,9 @@ void setup()
#ifdef ZsensorTSL2561
setupZsensorTSL2561();
#endif
+ #ifdef ZactuatorONOFF
+ setupONOFF();
+ #endif
#ifdef ZgatewayIR
setupIR();
#endif
@@ -681,6 +684,9 @@ digitalWrite(led_send, LOW);
#ifdef ZgatewayRFM69
MQTTtoRFM69(topicOri, datacallback);
#endif
+#ifdef ZactuatorONOFF
+ MQTTtoONOFF(topicOri, datacallback);
+#endif
//YELLOW OFF
digitalWrite(led_send, HIGH);
}
@@ -715,6 +721,10 @@ void revert_hex_data(char * in, char * out, int l){
out[l-1] = '\0';
}
+bool to_bool(String const& s) { // thanks Chris Jester-Young from stackoverflow
+ return s != "0";
+}
+
//trace
void trc(String msg){
if (TRACE) {
diff --git a/User_config.h b/User_config.h
index 265201f..3067a41 100644
--- a/User_config.h
+++ b/User_config.h
@@ -93,6 +93,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
#include "config_IR.h"
#define ZgatewayBT
#include "config_BT.h"
+ //#define ZactuatorONOFF
+ //#include "config_ONOFF.h"
//#define ZsensorINA226
//#include "config_INA226.h"
//#define ZsensorHCSR501
@@ -117,6 +119,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
//#include "config_IR.h"
#define ZgatewayBT
#include "config_BT.h"
+ //#define ZactuatorONOFF
+ //#include "config_ONOFF.h"
//#define ZsensorINA226
//#include "config_INA226.h"
//#define ZsensorHCSR501
@@ -141,6 +145,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
#include "config_IR.h"
#define ZgatewayBT
#include "config_BT.h"
+ //#define ZactuatorONOFF
+ //#include "config_ONOFF.h"
//#define ZsensorINA226
//#include "config_INA226.h"
//#define ZsensorDHT
diff --git a/ZactuatorONOFF.ino b/ZactuatorONOFF.ino
new file mode 100644
index 0000000..bedbf05
--- /dev/null
+++ b/ZactuatorONOFF.ino
@@ -0,0 +1,54 @@
+/*
+ OpenMQTTGateway Addon - ESP8266 or Arduino program for home automation
+
+ Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker
+ Send and receiving command by MQTT
+
+ Output pin High or Low
+
+ Copyright: (c)Florian ROBERT
+
+ Contributors:
+ - 1technophile
+
+ This file is part of OpenMQTTGateway.
+
+ OpenMQTTGateway is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenMQTTGateway is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+#ifdef ZactuatorONOFF
+
+void setupONOFF(){
+ trc(F("ACTUATOR_ONOFF_PIN"));
+ trc(String(ACTUATOR_ONOFF_PIN));
+ //init
+ pinMode(ACTUATOR_ONOFF_PIN, OUTPUT);
+ trc(F("Set to OFF"));
+ digitalWrite(ACTUATOR_ONOFF_PIN, LOW);
+ trc(F("ZactuatorONOFF setup done "));
+}
+
+void MQTTtoONOFF(char * topicOri, char * datacallback){
+
+ bool boolSWITCHTYPE;
+ boolSWITCHTYPE = to_bool(datacallback);
+ String topic = topicOri;
+
+ if ((topic == subjectMQTTtoONOFF)){
+ trc(F("MQTTtoONOFF"));
+ trc(String(boolSWITCHTYPE));
+ digitalWrite(ACTUATOR_ONOFF_PIN, boolSWITCHTYPE);
+ }
+}
+#endif
+
diff --git a/ZgatewayRF2.ino b/ZgatewayRF2.ino
index 57c7769..35d8892 100644
--- a/ZgatewayRF2.ino
+++ b/ZgatewayRF2.ino
@@ -212,7 +212,4 @@ void MQTTtoRF2(char * topicOri, char * datacallback) {
}
}
-bool to_bool(String const& s) { // thanks Chris Jester-Young from stackoverflow
- return s != "0";
-}
#endif
diff --git a/config_ONOFF.h b/config_ONOFF.h
new file mode 100644
index 0000000..3db2cc0
--- /dev/null
+++ b/config_ONOFF.h
@@ -0,0 +1,33 @@
+/*
+ OpenMQTTGateway - ESP8266 or Arduino program for home automation
+
+ Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker
+ Send and receiving command by MQTT
+
+ This files enables to set your parameter for the ON OFF actuator
+
+ Copyright: (c)Florian ROBERT
+
+ This file is part of OpenMQTTGateway.
+
+ OpenMQTTGateway is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenMQTTGateway is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+/*----------------------------USER PARAMETERS-----------------------------*/
+/*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
+#define subjectMQTTtoONOFF Base_Topic Gateway_Name "/commands/MQTTtoONOFF"
+
+/*-------------------PIN DEFINITIONS----------------------*/
+#define ACTUATOR_ONOFF_PIN 4
+
diff --git a/tests/Test_config.h b/tests/Test_config.h
index 4904f4e..dabed36 100644
--- a/tests/Test_config.h
+++ b/tests/Test_config.h
@@ -91,6 +91,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
#include "config_IR.h"
#define ZgatewayBT
#include "config_BT.h"
+ #define ZactuatorONOFF
+ #include "config_ONOFF.h"
#define ZsensorINA226
#include "config_INA226.h"
#define ZsensorHCSR501
@@ -115,6 +117,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
//#include "config_IR.h"
#define ZgatewayBT
#include "config_BT.h"
+ #define ZactuatorONOFF
+ #include "config_ONOFF.h"
//#define ZsensorINA226
//#include "config_INA226.h"
//#define ZsensorHCSR501
@@ -139,6 +143,8 @@ const byte subnet[] = { 255, 255, 255, 0 }; //ip adress
//#include "config_IR.h"
//#define ZgatewayBT
//#include "config_BT.h"
+ //#define ZactuatorONOFF
+ //#include "config_ONOFF.h"
//#define ZsensorINA226
//#include "config_INA226.h"
//#define ZsensorDHT