I have tried commenting that line out and then it repeats to having the led off and dimming back on. I know it loops but how can I integrate it into my code. I'm trying to have an amazon alexa swtich on and off a nightlight via a MOSFET and I'm using an led to test. Here my code.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include <functional>
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
// 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();
// Change this before you flash
const char* ssid = "Parker 2.4Ghz (Don't Use)";
const char* password = "freshwind726";
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *relay1 = NULL;
Switch *relay2 = NULL;
Switch *relay3 = NULL;
Switch *relay4 = NULL;
Switch *relay5 = NULL;
int fadeValue = 0;
void setup()
{
pinMode (D7, OUTPUT); //set pins
pinMode (D2, OUTPUT);
pinMode (D3, OUTPUT);
pinMode (D4, OUTPUT);
pinMode (D8, OUTPUT);
digitalWrite (D7,LOW); //turn everything off for starters
digitalWrite (D2,HIGH);
digitalWrite (D3,HIGH);
digitalWrite (D4,HIGH);
digitalWrite (D8,LOW);
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// Define your switches here. Max 14
// Format: Alexa invocation name, local port no, on callback, off callback
relay1 = new Switch("Computer", 80, Relay1On, Relay1Off);
relay2 = new Switch("Router", 81, Relay2On, Relay2Off);
relay3 = new Switch("Modem", 82, Relay3On, Relay3Off);
relay4 = new Switch("Test", 83, Relay4On, Relay4Off);
relay5 = new Switch("Night Light", 84, Relay5On, Relay5Off);
Serial.println("Adding switches upnp broadcast responder");
upnpBroadcastResponder.addDevice(*relay1);
upnpBroadcastResponder.addDevice(*relay2);
upnpBroadcastResponder.addDevice(*relay3);
upnpBroadcastResponder.addDevice(*relay4);
upnpBroadcastResponder.addDevice(*relay5);
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
relay1->serverLoop();
relay2->serverLoop();
relay3->serverLoop();
relay4->serverLoop();
relay5->serverLoop();
}
}
void Relay1On() {
Serial.print("Switch Relay 1 turn on ...");
digitalWrite (D7,HIGH);
delay(1000);
digitalWrite (D7,LOW);
}
void Relay1Off() {
Serial.print("Switch Relay 1 turn off ...");
digitalWrite (D7, HIGH);
delay(1000);
digitalWrite (D7,LOW);
}
void Relay2On() {
Serial.print("Switch Relay 2 turn on ...");
digitalWrite (D2,LOW);
}
void Relay2Off() {
Serial.print("Switch Relay 2 turn off ...");
digitalWrite(D2,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 ...");
if(fadeValue <= 245){
// sets the value (range from 0 to 255):
analogWrite(D8, fadeValue);
fadeValue = fadeValue += 10;
// wait for 30 milliseconds to see the dimming effect
delay(30);
// digitalWrite(D8,HIGH);
}
}
void Relay5Off() {
Serial.print("Switch Relay 5 turn off ...");
digitalWrite(D8,LOW);
}
// 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;
}
//}
Use Ctrl + F to find void Relay5On()
That's where I need to put the code to make the LED dim on and then go back to the beginning of the code to be ready for a new request. I'm totally lost in what to put there. What I have just makes it instantly turn on.