#include <Wire.h>
#include <I2C_RTC.h>
#include <SoftwareSerial.h>
SoftwareSerial cam(7, 8);
static DS3231 RTC;
bool alarm = false;
#define relay1 2 //for UV
#define relay2 3 //for FAN
#define relay3 4 //for Alarm
//#define relay3 5 //
String alarm_read = "";
void setup()
{
  Serial.begin(9600);
  cam.begin(115200);
  RTC.begin();
  RTC.setDay(22);
  RTC.setMonth(5);
  RTC.setYear(2020);
  RTC.setHours(6);
  RTC.setMinutes(47);
  RTC.setSeconds(56);
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(relay3, OUTPUT);
}
void loop() {
  if (Serial.available() > 0) {
    alarm_read = Serial.readString();
    Serial.println(alarm_read);
    delay(2000);
  }
  if (alarm_read.indexOf("yes") != -1) {
    digitalWrite(relay3, HIGH);
    Serial.println("motion detected");
  }
  if (alarm_read.indexOf("no") != -1) {
    digitalWrite(relay3, LOW);
    Serial.println("no motion detected");
  }
  Serial.print(" ");
  Serial.print(RTC.getDay());
  Serial.print("-");
  Serial.print(RTC.getMonth());
  Serial.print("-");
  Serial.print(RTC.getYear());
  Serial.print(" ");
  Serial.print(RTC.getHours());
  Serial.print(":");
  Serial.print(RTC.getMinutes());
  Serial.print(":");
  Serial.println(RTC.getSeconds());
  if (RTC.getHours() <= 5 and RTC.getHours() >= 18) {
    digitalWrite(relay1, HIGH);
    digitalWrite(relay2, HIGH);
  } else {
    digitalWrite(relay1, LOW);
    digitalWrite(relay2, LOW);
  }
  delay(500);
}