#include <WiFi.h>
#include <SinricPro.h>
#include <SinricProLock.h>
#include <ESP32Servo.h>
#define WIFI_SSID "aukaatdikhadi"
#define WIFI_PASS "rupankar"
#define APP_KEY "351aeff4-2c7e-4273-ad39-9ea823ea1477"
#define APP_SECRET "f0daafb9-1517-4b7c-89ba-b18e144b7f4f-353b446e-588a-4f7a-bb47-b3282f55a204"
#define LOCK_ID "67351bfe88a12c713ba9ccff"
#define SERVO_PIN 5
Servo myServo;
bool onLockState(const String &deviceId, bool &lockState) {
if (lockState) {
myServo.write(0); // Lock position
Serial.println("Locking...");
} else {
myServo.write(90); // Unlock position
Serial.println("Unlocking...");
}
return true; // Request handled successfully
}
void setup() {
Serial.begin(115200);
myServo.attach(SERVO_PIN);
myServo.write(0); // Start in locked position
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("Connected to WiFi");
SinricProLock &myLock = SinricPro[LOCK_ID];
myLock.onLockState(onLockState);
SinricPro.begin(APP_KEY, APP_SECRET);
}
void loop() {
SinricPro.handle();
}