Add Motion Sensor functionality and integrate timezone, bedtime, and wake time settings
This commit is contained in:
@@ -20,6 +20,9 @@ void WebUI::begin(Settings& settings,
|
||||
String wifiSsid = settings.wifiSsid();
|
||||
String currentSsid = wifi.ssid();
|
||||
String plantProfile = settings.plantProfile();
|
||||
String timezone = settings.timezone();
|
||||
String bedtime = settings.bedtime();
|
||||
String wakeTime = settings.wakeTime();
|
||||
|
||||
String page =
|
||||
"<!DOCTYPE html><html><head>"
|
||||
@@ -132,6 +135,22 @@ void WebUI::begin(Settings& settings,
|
||||
"<label class='checkbox-label'>"
|
||||
"<input type='checkbox' name='wh_en' " + String(settings.webhookEnabled() ? "checked" : "") + "> Enable Webhook"
|
||||
"</label>"
|
||||
"<h2><i class='fas fa-clock' style='margin-right: 10px;'></i>Sleep Schedule</h2>"
|
||||
"<label for='bed'>Bedtime</label>"
|
||||
"<input type='time' id='bed' name='bed' value='" + bedtime + "' required>"
|
||||
"<div class='form-hint'>FacePlant starts falling asleep 5 minutes before bedtime</div>"
|
||||
"<label for='wake'>Wake Time</label>"
|
||||
"<input type='time' id='wake' name='wake' value='" + wakeTime + "' required>"
|
||||
"<div class='form-hint'>FacePlant shows wake-up animation for 5 minutes after this time</div>"
|
||||
"<label for='tz'>Timezone</label>"
|
||||
"<select id='tz' name='tz'>"
|
||||
"<option value='America/New_York'" + String(timezone == "America/New_York" ? " selected" : "") + ">America/New_York (Eastern)</option>"
|
||||
"<option value='America/Chicago'" + String(timezone == "America/Chicago" ? " selected" : "") + ">America/Chicago (Central)</option>"
|
||||
"<option value='America/Denver'" + String(timezone == "America/Denver" ? " selected" : "") + ">America/Denver (Mountain)</option>"
|
||||
"<option value='America/Los_Angeles'" + String(timezone == "America/Los_Angeles" ? " selected" : "") + ">America/Los_Angeles (Pacific)</option>"
|
||||
"<option value='UTC0'" + String(timezone == "UTC0" ? " selected" : "") + ">UTC</option>"
|
||||
"</select>"
|
||||
"<div class='form-hint'>Default is America/New_York</div>"
|
||||
"<div class='btn-group'>"
|
||||
"<button type='submit' class='btn btn-primary'>Save Settings</button>"
|
||||
"</div>"
|
||||
@@ -235,6 +254,9 @@ void WebUI::begin(Settings& settings,
|
||||
settings.setKidsMode(_server.hasArg("kids"));
|
||||
settings.setWebhookEnabled(_server.hasArg("wh_en"));
|
||||
if (_server.hasArg("wh")) settings.setWebhookUrl(_server.arg("wh"));
|
||||
if (_server.hasArg("tz")) settings.setTimezone(_server.arg("tz"));
|
||||
if (_server.hasArg("bed")) settings.setBedtime(_server.arg("bed"));
|
||||
if (_server.hasArg("wake")) settings.setWakeTime(_server.arg("wake"));
|
||||
_server.sendHeader("Location", "/");
|
||||
_server.send(303);
|
||||
});
|
||||
@@ -302,6 +324,9 @@ void WebUI::begin(Settings& settings,
|
||||
doc["moisture_pct"] = moisture.percent();
|
||||
doc["raw"] = moisture.raw();
|
||||
doc["kids_mode"] = settings.kidsMode();
|
||||
doc["timezone"] = settings.timezone();
|
||||
doc["bedtime"] = settings.bedtime();
|
||||
doc["wake_time"] = settings.wakeTime();
|
||||
doc["dead_mode"] = face.isDeadMode();
|
||||
doc["uptime_ms"] = millis() - bootMs;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user