#include <WiFi.h>
#include"SinricPro.h"
#include "SinricProSwitch.h"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
#define APP_KEY "91ccfd6a-4add-4f16-a425-a0685a9d8626"
#define APP_SECRET "198cd229-1bbc-408e-98d2-9ddf3fac0487-073d9648-b8a8-4bcb-acf6-b7e6e2b62860"
#define SWITCH_ID_1 "670f42a246a89b75c28a2638"
#define LED1 16
#define BAUD_RATE 115200
#define EVENT_WAIT_TIME 60000
// Callback function for LED state
bool onPowerState1(const String &deviceID, bool &state) {
serial .printf("Device 1 %s\n", state ? "connected" : "off")
digitalwrite(LED, state ? HIGH : LOW);
return true;
}
void setupWiFi() {
serial.printf("\r\n[WiFi]: connecting...");
WiFi.setsleep(flase);
WiFi.setAutoReconnect(true);
WiFi.being(WIFI_SSID, WIFI_PASS);
while (WiFi.Status() !=WL_CONNECTED) {
serial.Printf(".");
delay(250);
}
serial.printf(" connecting!\r\n[WIFI]: IP %s\r\n", WiFi.localIP().tostring().c_str());
}
void setupSinricPro(){
pinMode (LED1,OUTPUT);
SinricProSwitch &mySwitch1= SinricPro[SWITCH_ID_1];
myswitch1.onPowerState(onPowerState1);
SinricPro.onconnected([]() { serial.printf("connected Sinric Pro\r\n");});
SinricPro.onDisconnected([](){ serial.printf("Disconnected Sinrin pro\r\n");});
SinricPro.being(APP_KEY,APP_SECRET);
}
void setup(){
serial.being(BAUD_RATE);
serial.printf("\r\n\r\n");
setupWiFi();
setupSinricPro();
}
void loop() {
SinricPro.handle();
}