2019-12-24 11:53:26 +03:00
|
|
|
|
void All_init() {
|
|
|
|
|
|
|
2020-02-10 01:06:18 +03:00
|
|
|
|
server.on("/all_modules_init", HTTP_GET, [](AsyncWebServerRequest * request) {
|
2019-12-24 11:53:26 +03:00
|
|
|
|
Device_init();
|
|
|
|
|
|
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/scenario", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
if (request->hasArg("status")) {
|
|
|
|
|
|
jsonWrite(configSetup, "scenario", request->getParam("status")->value());
|
|
|
|
|
|
}
|
|
|
|
|
|
saveConfig();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/cleanlog", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
SPIFFS.remove("/log.analog.txt");
|
|
|
|
|
|
SPIFFS.remove("/log.dallas.txt");
|
|
|
|
|
|
SPIFFS.remove("/log.level.txt");
|
|
|
|
|
|
SPIFFS.remove("/log.ph.txt");
|
|
|
|
|
|
SPIFFS.remove("/log.txt");
|
|
|
|
|
|
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
prsets_init();
|
|
|
|
|
|
|
2019-12-24 11:53:26 +03:00
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
Timer_countdown_init();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Device_init() {
|
|
|
|
|
|
|
|
|
|
|
|
ts.remove(ANALOG_);
|
2020-02-10 01:06:18 +03:00
|
|
|
|
ts.remove(LEVEL);
|
2019-12-24 11:53:26 +03:00
|
|
|
|
ts.remove(DALLAS);
|
2020-02-10 01:06:18 +03:00
|
|
|
|
ts.remove(DHTT);
|
|
|
|
|
|
ts.remove(DHTH);
|
2020-03-22 01:50:31 +01:00
|
|
|
|
ts.remove(DHTC);
|
|
|
|
|
|
ts.remove(DHTP);
|
|
|
|
|
|
ts.remove(DHTD);
|
|
|
|
|
|
ts.remove(STEPPER1);
|
|
|
|
|
|
ts.remove(STEPPER2);
|
2020-02-15 20:17:25 +03:00
|
|
|
|
|
2019-12-24 11:53:26 +03:00
|
|
|
|
all_vigets = "";
|
2020-02-10 23:30:40 +03:00
|
|
|
|
txtExecution("firmware.config.txt");
|
2019-12-24 11:53:26 +03:00
|
|
|
|
//outcoming_date();
|
|
|
|
|
|
}
|
|
|
|
|
|
//-------------------------------сценарии-----------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
void Scenario_init() {
|
|
|
|
|
|
if (jsonRead(configSetup, "scenario") == "1") {
|
2020-02-10 23:30:40 +03:00
|
|
|
|
scenario = readFile("firmware.scenario.txt", 2048);
|
2019-12-24 11:53:26 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2020-02-15 20:17:25 +03:00
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
void prsets_init() {
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
//part 1===============================================================================
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
server.on("/relay", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
String tmp = "";
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/relay_timer", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_t.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_t.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/relay_countdown", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_c.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_c.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/relay_several", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_s.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_s.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
|
|
|
|
|
server.on("/relay_switch", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_sw.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_sw.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-19 03:14:21 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/relay_button_remote", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_br.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_br.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-19 03:14:21 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/relay_switch_remote", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/relay_sr.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/relay_sr.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2020-03-04 22:10:59 +03:00
|
|
|
|
server.on("/pwm", HTTP_GET, [](AsyncWebServerRequest * request) {
|
2020-03-01 20:41:16 +03:00
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/pwm.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/pwm.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-19 03:14:21 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
//part 2===============================================================================
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
|
|
|
|
|
server.on("/dht11", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/dht11.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/dht11.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-19 03:14:21 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/dht22", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/dht22.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/dht22.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-19 03:14:21 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
2020-03-01 20:41:16 +03:00
|
|
|
|
server.on("/analog", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/analog.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/analog.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
|
|
|
|
|
server.on("/dallas", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/dallas.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/dallas.scenario.txt", 2048));
|
2020-02-18 16:22:17 +03:00
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
2020-02-19 03:14:21 +03:00
|
|
|
|
server.on("/termostat", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/termostat.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/termostat.scenario.txt", 2048));
|
2020-02-18 16:22:17 +03:00
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/level", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/level.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/level.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
2020-03-01 20:41:16 +03:00
|
|
|
|
server.on("/moution_relay", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/moution_r.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/moution_r.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
server.on("/moution_security", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/moution_s.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/moution_s.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2020-03-16 00:00:59 +01:00
|
|
|
|
server.on("/stepper", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/stepper.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/stepper.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
|
|
|
|
|
request->redirect("/page.htm?configuration");
|
|
|
|
|
|
});
|
2020-03-01 20:41:16 +03:00
|
|
|
|
|
2020-02-22 03:34:44 +03:00
|
|
|
|
//default===============================================================================
|
2020-02-19 03:14:21 +03:00
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
server.on("/default", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
|
|
|
|
writeFile("firmware.config.txt", readFile("configs/firmware.config.txt", 2048));
|
|
|
|
|
|
writeFile("firmware.scenario.txt", readFile("configs/firmware.scenario.txt", 2048));
|
|
|
|
|
|
Device_init();
|
|
|
|
|
|
Scenario_init();
|
2020-03-01 20:41:16 +03:00
|
|
|
|
request->redirect("/page.htm?configuration");
|
2020-02-18 16:22:17 +03:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-02-15 20:17:25 +03:00
|
|
|
|
void up_time() {
|
|
|
|
|
|
uint32_t ss = millis() / 1000;
|
|
|
|
|
|
uint32_t mm = ss / 60;
|
|
|
|
|
|
uint32_t hh = mm / 60;
|
|
|
|
|
|
uint32_t dd = hh / 24;
|
2020-02-22 03:34:44 +03:00
|
|
|
|
|
2020-02-19 03:14:21 +03:00
|
|
|
|
String out = "";
|
2020-02-15 20:17:25 +03:00
|
|
|
|
|
2020-02-18 16:22:17 +03:00
|
|
|
|
if (ss != 0) {
|
2020-02-19 03:14:21 +03:00
|
|
|
|
out = "[i] uptime = " + String(ss) + " sec";
|
2020-02-18 16:22:17 +03:00
|
|
|
|
jsonWrite(configJson, "uptime", String(ss) + " sec");
|
|
|
|
|
|
}
|
2020-02-15 20:17:25 +03:00
|
|
|
|
if (mm != 0) {
|
2020-02-19 03:14:21 +03:00
|
|
|
|
out = "[i] uptime = " + String(mm) + " min";
|
2020-02-15 20:17:25 +03:00
|
|
|
|
jsonWrite(configJson, "uptime", String(mm) + " min");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (hh != 0) {
|
2020-02-19 03:14:21 +03:00
|
|
|
|
out = "[i] uptime = " + String(hh) + " hours";
|
2020-02-15 20:17:25 +03:00
|
|
|
|
jsonWrite(configJson, "uptime", String(hh) + " hours");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (dd != 0) {
|
2020-02-19 03:14:21 +03:00
|
|
|
|
out = "[i] uptime = " + String(dd) + " days";
|
2020-02-15 20:17:25 +03:00
|
|
|
|
jsonWrite(configJson, "uptime", String(dd) + " days");
|
|
|
|
|
|
}
|
2020-02-19 03:14:21 +03:00
|
|
|
|
Serial.println(out + ", mqtt_lost_error: " + String(mqtt_lost_error) + ", wifi_lost_error: " + String(wifi_lost_error));
|
2020-02-15 20:17:25 +03:00
|
|
|
|
}
|
2020-02-22 03:34:44 +03:00
|
|
|
|
|
2020-03-17 00:54:27 +01:00
|
|
|
|
void statistics_init() {
|
|
|
|
|
|
ts.add(STATISTICS, statistics_update, [&](void*) {
|
|
|
|
|
|
|
|
|
|
|
|
statistics();
|
|
|
|
|
|
|
|
|
|
|
|
}, nullptr, true);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-02-22 03:34:44 +03:00
|
|
|
|
void statistics() {
|
|
|
|
|
|
String urls = "http://backup.privet.lv/visitors/?";
|
2020-03-04 22:10:59 +03:00
|
|
|
|
//-----------------------------------------------------------------
|
2020-02-22 03:34:44 +03:00
|
|
|
|
urls += WiFi.macAddress().c_str();
|
|
|
|
|
|
urls += "&";
|
2020-03-04 22:10:59 +03:00
|
|
|
|
//-----------------------------------------------------------------
|
2020-02-22 03:34:44 +03:00
|
|
|
|
#ifdef ESP8266
|
|
|
|
|
|
urls += "iot-manager_esp8266";
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef ESP32
|
|
|
|
|
|
urls += "iot-manager_esp32";
|
|
|
|
|
|
#endif
|
|
|
|
|
|
urls += "&";
|
2020-03-04 22:10:59 +03:00
|
|
|
|
//-----------------------------------------------------------------
|
2020-02-22 03:34:44 +03:00
|
|
|
|
#ifdef ESP8266
|
|
|
|
|
|
urls += ESP.getResetReason();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef ESP32
|
2020-03-20 21:00:11 +01:00
|
|
|
|
urls += "Unknown";
|
2020-02-22 03:34:44 +03:00
|
|
|
|
#endif
|
|
|
|
|
|
urls += "&";
|
2020-03-04 22:10:59 +03:00
|
|
|
|
//-----------------------------------------------------------------
|
2020-03-18 09:57:46 +01:00
|
|
|
|
urls += "firm version: " + firmware_version + " " + DATE_COMPILING + " " + TIME_COMPILING;
|
2020-03-04 22:10:59 +03:00
|
|
|
|
//-----------------------------------------------------------------
|
2020-02-22 03:34:44 +03:00
|
|
|
|
String stat = getURL(urls);
|
2020-03-18 09:57:46 +01:00
|
|
|
|
//Serial.println(stat);
|
2020-02-22 03:34:44 +03:00
|
|
|
|
}
|