#include <WiFi.h>
#include <UniversalTelegramBot.h>
#include <WiFiClientSecure.h>
//#include <Fetch.h>
int HTTP_PORT = 443;
String HTTP_METHOD = "GET"; // or "POST"
char HOST_NAME[] = "api.telegram.org"; // hostname of web server:
String PATH_NAME = "";
const char* server = "www.howsmyssl.com";
#define BOT_TOKEN "5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs"
#define Chat_ID "222547932"
//const unsigned long BOT_MTBS = 1000; // mean time between scan messages
//X509List cert(TELEGRAM_CERTIFICATE_ROOT);
//WiFiClientSecure secured_client;
//UniversalTelegramBot bot(BOT_TOKEN, secured_client);
//unsigned long bot_lasttime; // last time messages' scan has been done
WiFiClientSecure client;
int AC_detect_pin= 12;
int val_previous=0;
void setup() {
// put your setup code here, to run once:
pinMode(AC_detect_pin, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Serial.print("Connecting to WiFi");
WiFi.mode(WIFI_STA);
WiFi.begin("Wokwi-GUEST", "", 6);
//secured_client.setTrustAnchors(&cert); // Add root certificate for api.telegram.org
while (WiFi.status() != WL_CONNECTED) {
Serial.print(WiFi.status());
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
Serial.print("\nWiFi connected. IP address: ");
Serial.println(WiFi.localIP());
Serial.println("\nStarting connection to server...");
client.setInsecure();//skip verification
if(client.connect(HOST_NAME, HTTP_PORT)) {
Serial.println("Connected to server");
client.println("GET https://api.telegram.org/bot5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs/sendMessage?chat_id=222547932&text=test_message");
client.println("Host: api.telegram.org");
client.println("Connection: close");
client.flush();
} else {
Serial.println("connection failed");
}
}
void loop() {
// put your main code here, to run repeatedly:
if (WiFi.status() != WL_CONNECTED){
Serial.print("riconnetto");
WiFi.disconnect();
WiFi.begin("Wokwi-GUEST", "", 6);
}
int i=0;
while (WiFi.status() != WL_CONNECTED) {
Serial.print(WiFi.status());
delay(100);
Serial.print(".");
i++;
if(i>20) {break;
ESP.restart();}
}
int val= digitalRead(AC_detect_pin);
digitalWrite(LED_BUILTIN, val);
// Serial.println(val);
if(val!=val_previous){
val_previous=val;
client.setInsecure();
client.flush();
client.println("GET https://api.telegram.org/bot5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs/sendMessage?chat_id=222547932&text=Value_changed");
if(client.available()){
client.println("GET https://api.telegram.org/bot5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs/sendMessage?chat_id=222547932&text=Value_changed");
} else if(client.connect(HOST_NAME, HTTP_PORT)) {
Serial.println("Connected to server");
client.println("GET https://api.telegram.org/bot5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs/sendMessage?chat_id=222547932&text=Value_changed");
} else {
Serial.println("connection failed");
}
//fetch("https://api.telegram.org/bot5513460863:AAHHUMV0NsNt2dEXf-vRl94i7thf3b0WQvs/sendMessage?chat_id=222547932&text=Test%20Message",options);
// bool success=bot.sendMessage(Chat_ID,"current status", "");
// Serial.println(success);
}
}