hi this is the full code
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include <functional>
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
int sensor = 10;
// prototypes
boolean connectWifi();
//on/off callbacks
void Relay1On();
void Relay1Off();
void Relay2On();
void Relay2Off();
void Relay3On();
void Relay3Off();
void Relay4On();
void Relay4Off();
void Relay5On();
void Relay5Off();
void Relay6On();
void Relay6Off();
void Relay7On();
void Relay7Off();
void Relay8On();
void Relay8Off();
// Change this before you flash
const char* ssid = "Nabster";
const char* password = "my pass";
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *relay1 = NULL;
Switch *relay2 = NULL;
Switch *relay3 = NULL;
Switch *relay4 = NULL;
Switch *relay5 = NULL;
Switch *relay6 = NULL;
Switch *relay7 = NULL;
Switch *relay8 = NULL;
void setup()
{
pinMode (10,INPUT);
pinMode (D1, OUTPUT);
pinMode (D3, OUTPUT);
pinMode (D4, OUTPUT);
pinMode (D5, OUTPUT);
pinMode (D6, OUTPUT);
pinMode (D7, OUTPUT);
pinMode (D8, OUTPUT);
digitalWrite (D1,HIGH);
digitalWrite (D2,HIGH);
digitalWrite (D3,HIGH);
digitalWrite (D4,HIGH);
digitalWrite (D5,HIGH);
digitalWrite (D6,HIGH);
digitalWrite (D7,HIGH);
digitalWrite (D8,HIGH);
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
relay1 = new Switch("Relay 1", 80, Relay1On, Relay1Off);
relay2 = new Switch("Relay 2", 81, Relay2On, Relay2Off);
relay3 = new Switch("Relay 3", 82, Relay3On, Relay3Off);
relay4 = new Switch("Relay 4", 83, Relay4On, Relay4Off);
relay5 = new Switch("Relay 5", 84, Relay5On, Relay5Off);
relay6 = new Switch("Relay 6", 85, Relay6On, Relay6Off);
relay7 = new Switch("Relay 7", 86, Relay7On, Relay7Off);
relay8 = new Switch("Relay 8", 87, Relay8On, Relay8Off);
Serial.println("Adding switches upnp broadcast responder");
upnpBroadcastResponder.addDevice(*relay1);
upnpBroadcastResponder.addDevice(*relay2);
upnpBroadcastResponder.addDevice(*relay3);
upnpBroadcastResponder.addDevice(*relay4);
upnpBroadcastResponder.addDevice(*relay5);
upnpBroadcastResponder.addDevice(*relay6);
upnpBroadcastResponder.addDevice(*relay7);
upnpBroadcastResponder.addDevice(*relay8);
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
relay1->serverLoop();
relay2->serverLoop();
relay3->serverLoop();
relay4->serverLoop();
relay5->serverLoop();
relay6->serverLoop();
relay7->serverLoop();
relay8->serverLoop();
}
}
// put your main code here, to run repeatedly:
int readSensor = digitalRead(sensor);
else if(readSensor == HIGH){
//tone(relay,1000);
digitalWrite(relay2,LOW);
Serial.println("HIGH");
}else{
digitalWrite(relay2,HIGH);
Serial.println("LOW");
}
//delay(100);
}
void Relay1On() {
Serial.print("Switch Relay 1 turn on ...");
digitalWrite (D1,LOW);
}
void Relay1Off() {
Serial.print("Switch Relay 1 turn off ...");
digitalWrite (D1,HIGH);
}
void Relay3On() {
Serial.print("Switch Relay 3 turn on ...");
digitalWrite (D3,LOW);
}
void Relay3Off() {
Serial.print("Switch Relay 3 turn off ...");
digitalWrite (D3,HIGH);
}
void Relay4On() {
Serial.print("Switch Relay 4 turn on ...");
digitalWrite (D4,LOW);
}
void Relay4Off() {
Serial.print("Switch Relay 4 turn off ...");
digitalWrite(D4,HIGH);
}
void Relay5On() {
Serial.print("Switch Relay 5 turn on ...");
digitalWrite (D5,LOW);
}
void Relay5Off() {
Serial.print("Switch Relay 5 turn off ...");
digitalWrite (D5,HIGH);
}
void Relay6On() {
Serial.print("Switch Relay 6 turn on ...");
digitalWrite (D6,LOW);
}
void Relay6Off() {
Serial.print("Switch Relay 6 turn off ...");
digitalWrite(D6,HIGH);
}
void Relay7On() {
Serial.print("Switch Relay 7 turn on ...");
digitalWrite (D7,LOW);
}
void Relay7Off() {
Serial.print("Switch Relay 7 turn off ...");
digitalWrite (D7,HIGH);
}
void Relay8On() {
Serial.print("Switch Relay 8 turn on ...");
digitalWrite (D8,LOW);
}
void Relay8Off() {
Serial.print("Switch Relay 8 turn off ...");
digitalWrite(D8,HIGH);
}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}
the 8 channel relay is working but im trying to put PIR sensor on this code so i can add on my nodemcu
this is my error
Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:1MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
echo:116:4: error: expected unqualified-id before 'else'
else if(readSensor == HIGH){
^
echo:120:4: error: expected unqualified-id before 'else'
}else{
^
echo:125:1: error: expected declaration before '}' token
}
^
exit status 1
expected unqualified-id before 'else'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.