sonoff s20 e uso del pushover

Buonasera,
sto utlizzando su un sonoff S20 con un skecth trovata su internet per resettare un router 4G a seguito di un blocco ma
avrei la necessita di utilizzare il pushover a seguito della riconnessione alla rete Wifi ma non riesco a farlo funzionare, questo è il codice qualcuno mi può dare una mano ?

const char* ssid = "ssid";
const char* password = "pwd";


// Startup variables
#define startDelay 10000 // Giving the router 2 minutes to start up


// Pin configuration
#define relayPin 12
#define ledPin 13


// Server to open a connection to
char serverAdr[] = "www.google.com";
#define serverPort 80
#define interval 3000 // Try to connect every 5 minutes


// Library
#include <ESP8266WiFi.h>

#include <Pushover.cpp>

// istanziare la libreria Pushover fornendo: API Token, User Key
Pushover pushover = Pushover("API Token","User Key");


WiFiClient wifiClient;

unsigned long prevTime = 0;
unsigned long healthLed = 0;
unsigned long routerReset = 0;

void setup()
{
 pinMode(relayPin, OUTPUT);
 pinMode(ledPin, OUTPUT);

 // Turn the relay on
 digitalWrite(relayPin, HIGH);
 Serial.begin(9600);
 Serial.println("");
 Serial.print("Connecting to ");
 Serial.println(ssid);
 WiFi.mode(WIFI_STA);
 WiFi.begin(ssid, password);
 while (WiFi.status() != WL_CONNECTED)
 {
   delay(250);
   Serial.print(".");
   pushover.setMessage("Router riconnesso"); 
    
   digitalWrite(ledPin, !digitalRead(ledPin)); // Rapid flashing of the led to show we are trying to connect
   if(millis() > startDelay && routerReset == 0) // Wait 120 seconds for the router to start up and hand out an ip
   {
     Serial.println("WiFi connection failed, restarting.");
     routerReset = 1;
   }

   routerResetRoutine();
 }

 Serial.println("");
 Serial.println("WiFi connected");
 Serial.print("IP address: ");
 Serial.println(WiFi.localIP());

}


void loop()
{
 // WiFi connection lost while running, reset to get back to the startup routine
 if (WiFi.status() != WL_CONNECTED)
 {
   Serial.println("WiFi connection lost, restarting.");
   ESP.restart();
 }
  
 if (millis() - prevTime >= interval) // Try to contact the server when time has run out
 {
   prevTime = millis();
   httpGET();
 }

 if (millis() - healthLed >= 2000) // Slow flashing of the led to show we are connected and monitoring
 {
   healthLed = millis();
   digitalWrite(ledPin, !digitalRead(ledPin));
 }

 routerResetRoutine();
}

void httpGET()
{
 Serial.println("\nStarting connection to server.");

 Serial.print("Connection: ");  
 if (wifiClient.connect(serverAdr, serverPort))
 {
   Serial.println("OK");
   wifiClient.stop();
 }
 else
 {
   Serial.println("FAILED");
   routerReset = 1;
 }
}

void routerResetRoutine()
{
 if (routerReset == 1)
 {
   Serial.println("Switching router off");
   routerReset = millis();
   digitalWrite(relayPin, LOW);
 }

 if (millis() - routerReset >= 10000 && routerReset > 1)
 {
   Serial.println("Restarting...");
   ESP.restart();
 }
}

Buonasera,
essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO

… poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread e sistemato il codice come da regolamento, nessuno ti potrà rispondere, quindi ti consiglio di fare il tutto al più presto. :wink: