mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-04-01 12:59:12 +03:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70d0378034 | ||
|
|
a2c146a0e9 | ||
|
|
92c8b79e2a | ||
|
|
96db5965f6 | ||
|
|
05ff2225c9 | ||
|
|
f91960e325 |
106
Cmd.ino
106
Cmd.ino
@@ -1,5 +1,5 @@
|
|||||||
void CMD_init() {
|
void CMD_init() {
|
||||||
|
|
||||||
sCmd.addCommand("button", button);
|
sCmd.addCommand("button", button);
|
||||||
sCmd.addCommand("buttonSet", buttonSet);
|
sCmd.addCommand("buttonSet", buttonSet);
|
||||||
sCmd.addCommand("pinSet", pinSet);
|
sCmd.addCommand("pinSet", pinSet);
|
||||||
@@ -12,41 +12,49 @@ void CMD_init() {
|
|||||||
sCmd.addCommand("analog", analog);
|
sCmd.addCommand("analog", analog);
|
||||||
sCmd.addCommand("level", level);
|
sCmd.addCommand("level", level);
|
||||||
sCmd.addCommand("dallas", dallas);
|
sCmd.addCommand("dallas", dallas);
|
||||||
|
|
||||||
sCmd.addCommand("dhtT", dhtT);
|
sCmd.addCommand("dhtT", dhtT);
|
||||||
sCmd.addCommand("dhtH", dhtH);
|
sCmd.addCommand("dhtH", dhtH);
|
||||||
|
sCmd.addCommand("dhtPerception", dhtPerception);
|
||||||
|
sCmd.addCommand("dhtComfort", dhtComfort);
|
||||||
|
|
||||||
sCmd.addCommand("logging", logging);
|
sCmd.addCommand("logging", logging);
|
||||||
|
|
||||||
sCmd.addCommand("inputDigit", inputDigit);
|
sCmd.addCommand("inputDigit", inputDigit);
|
||||||
sCmd.addCommand("digitSet", digitSet);
|
sCmd.addCommand("digitSet", digitSet);
|
||||||
|
|
||||||
sCmd.addCommand("text", text);
|
sCmd.addCommand("inputTime", inputTime);
|
||||||
sCmd.addCommand("textSet", textSet);
|
sCmd.addCommand("timeSet", timeSet);
|
||||||
|
|
||||||
sCmd.addCommand("timerStart", timerStart);
|
sCmd.addCommand("timerStart", timerStart);
|
||||||
sCmd.addCommand("timerStop", timerStop);
|
sCmd.addCommand("timerStop", timerStop);
|
||||||
|
|
||||||
|
sCmd.addCommand("text", text);
|
||||||
|
sCmd.addCommand("textSet", textSet);
|
||||||
|
|
||||||
|
|
||||||
sCmd.addCommand("mqtt", mqttOrderSend);
|
sCmd.addCommand("mqtt", mqttOrderSend);
|
||||||
sCmd.addCommand("http", httpOrderSend);
|
sCmd.addCommand("http", httpOrderSend);
|
||||||
sCmd.addCommand("push", pushControl);
|
sCmd.addCommand("push", pushControl);
|
||||||
|
|
||||||
// sCmd.addCommand("time", time);
|
|
||||||
// sCmd.addCommand("timeSet", timeSet);
|
handle_time_init();
|
||||||
|
|
||||||
//======новые виджеты ver2.0=======//
|
//======новые виджеты ver2.0=======//
|
||||||
sCmd.addCommand("inputText", inputText);
|
/*
|
||||||
sCmd.addCommand("inputTextSet", inputTextSet);
|
sCmd.addCommand("inputText", inputText);
|
||||||
|
sCmd.addCommand("inputTextSet", inputTextSet);
|
||||||
|
|
||||||
sCmd.addCommand("inputTime", inputTime);
|
sCmd.addCommand("inputTime", inputTime);
|
||||||
sCmd.addCommand("inputTimeSet", inputTimeSet);
|
sCmd.addCommand("inputTimeSet", inputTimeSet);
|
||||||
|
|
||||||
sCmd.addCommand("inputDate", inputDate);
|
sCmd.addCommand("inputDate", inputDate);
|
||||||
sCmd.addCommand("inputDateSet", inputDateSet);
|
sCmd.addCommand("inputDateSet", inputDateSet);
|
||||||
|
|
||||||
sCmd.addCommand("inputDate", inputDate);
|
sCmd.addCommand("inputDate", inputDate);
|
||||||
|
|
||||||
//sCmd.addCommand("inputDropdown", inputDropdown);
|
//sCmd.addCommand("inputDropdown", inputDropdown);
|
||||||
|
*/
|
||||||
//=================================//
|
//=================================//
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,7 +219,7 @@ void handleButton() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//=====================================================================================================================================
|
//=====================================================================================================================================
|
||||||
//=========================================Добавление окна ввода переменной============================================================
|
//=========================================Добавление окна ввода цифры=================================================================
|
||||||
void inputDigit() {
|
void inputDigit() {
|
||||||
String value_name = sCmd.next();
|
String value_name = sCmd.next();
|
||||||
String number = value_name.substring(5);
|
String number = value_name.substring(5);
|
||||||
@@ -230,6 +238,31 @@ void digitSet() {
|
|||||||
jsonWrite(configJson, "digitSet" + number, value);
|
jsonWrite(configJson, "digitSet" + number, value);
|
||||||
sendSTATUS("digitSet" + number, value);
|
sendSTATUS("digitSet" + number, value);
|
||||||
}
|
}
|
||||||
|
//=====================================================================================================================================
|
||||||
|
//=========================================Добавление окна ввода времени===============================================================
|
||||||
|
void inputTime() {
|
||||||
|
String value_name = sCmd.next();
|
||||||
|
String number = value_name.substring(4);
|
||||||
|
String viget_name = sCmd.next();
|
||||||
|
viget_name.replace("#", " ");
|
||||||
|
String page_name = sCmd.next();
|
||||||
|
page_name.replace("#", " ");
|
||||||
|
String start_state = sCmd.next();
|
||||||
|
String page_number = sCmd.next();
|
||||||
|
start_state.replace(":", ".");
|
||||||
|
jsonWrite(configJson, "timeSet" + number, start_state);
|
||||||
|
start_state.replace(".", ":");
|
||||||
|
createViget (viget_name, page_name, page_number, "vigets/viget.inputTime.json", "timeSet" + number);
|
||||||
|
}
|
||||||
|
void timeSet() {
|
||||||
|
String number = sCmd.next();
|
||||||
|
String value = sCmd.next();
|
||||||
|
value.replace(":", ".");
|
||||||
|
jsonWrite(configJson, "timeSet" + number, value);
|
||||||
|
value.replace(".", ":");
|
||||||
|
sendSTATUS("timeSet" + number, value);
|
||||||
|
}
|
||||||
|
|
||||||
//=====================================================================================================================================
|
//=====================================================================================================================================
|
||||||
//=========================================Добавление текстового виджета============================================================
|
//=========================================Добавление текстового виджета============================================================
|
||||||
void text() {
|
void text() {
|
||||||
@@ -260,9 +293,19 @@ void textSet() {
|
|||||||
sendSTATUS("textSet" + number, text);
|
sendSTATUS("textSet" + number, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void handle_time_init() {
|
||||||
|
ts.add(TIME, 1000, [&](void*) {
|
||||||
|
|
||||||
|
String tmp = GetTimeWOsec();
|
||||||
|
tmp.replace(":", ".");
|
||||||
|
jsonWrite(configJson, "timenowSet", tmp);
|
||||||
|
eventGen ("timenowSet", "");
|
||||||
|
|
||||||
|
}, nullptr, true);
|
||||||
|
}
|
||||||
//====================================================================================================================================================
|
//====================================================================================================================================================
|
||||||
void inputText() {
|
/*
|
||||||
|
void inputText() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String viget_name = sCmd.next();
|
String viget_name = sCmd.next();
|
||||||
viget_name.replace("#", " ");
|
viget_name.replace("#", " ");
|
||||||
@@ -272,15 +315,15 @@ void inputText() {
|
|||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
jsonWrite(configJson, "inputTextSet" + number, start_state);
|
jsonWrite(configJson, "inputTextSet" + number, start_state);
|
||||||
createViget (viget_name, page_name, page_number, "vigets/viget.inputText.json", "inputTextSet" + number);
|
createViget (viget_name, page_name, page_number, "vigets/viget.inputText.json", "inputTextSet" + number);
|
||||||
}
|
}
|
||||||
void inputTextSet() {
|
void inputTextSet() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String value = sCmd.next();
|
String value = sCmd.next();
|
||||||
jsonWrite(configJson, "inputTextSet" + number, value);
|
jsonWrite(configJson, "inputTextSet" + number, value);
|
||||||
sendSTATUS("inputTextSet" + number, value);
|
sendSTATUS("inputTextSet" + number, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void inputTime() {
|
void inputTime() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String viget_name = sCmd.next();
|
String viget_name = sCmd.next();
|
||||||
viget_name.replace("#", " ");
|
viget_name.replace("#", " ");
|
||||||
@@ -290,18 +333,18 @@ void inputTime() {
|
|||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
jsonWrite(configJson, "inputTimeSet" + number, start_state);
|
jsonWrite(configJson, "inputTimeSet" + number, start_state);
|
||||||
createViget (viget_name, page_name, page_number, "vigets/viget.inputTime.json", "inputTimeSet" + number);
|
createViget (viget_name, page_name, page_number, "vigets/viget.inputTime.json", "inputTimeSet" + number);
|
||||||
}
|
}
|
||||||
void inputTimeSet() {
|
void inputTimeSet() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String value = sCmd.next();
|
String value = sCmd.next();
|
||||||
value.replace(":", ".");
|
value.replace(":", ".");
|
||||||
jsonWrite(configJson, "inputTimeSet" + number, value);
|
jsonWrite(configJson, "inputTimeSet" + number, value);
|
||||||
value.replace(".", ":");
|
value.replace(".", ":");
|
||||||
sendSTATUS("inputTimeSet" + number, value);
|
sendSTATUS("inputTimeSet" + number, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void inputDate() {
|
void inputDate() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String viget_name = sCmd.next();
|
String viget_name = sCmd.next();
|
||||||
viget_name.replace("#", " ");
|
viget_name.replace("#", " ");
|
||||||
@@ -311,13 +354,14 @@ void inputDate() {
|
|||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
jsonWrite(configJson, "inputDateSet" + number, start_state);
|
jsonWrite(configJson, "inputDateSet" + number, start_state);
|
||||||
createViget (viget_name, page_name, page_number, "vigets/viget.inputDate.json", "inputDateSet" + number);
|
createViget (viget_name, page_name, page_number, "vigets/viget.inputDate.json", "inputDateSet" + number);
|
||||||
}
|
}
|
||||||
void inputDateSet() {
|
void inputDateSet() {
|
||||||
String number = sCmd.next();
|
String number = sCmd.next();
|
||||||
String value = sCmd.next();
|
String value = sCmd.next();
|
||||||
jsonWrite(configJson, "inputDateSet" + number, value);
|
jsonWrite(configJson, "inputDateSet" + number, value);
|
||||||
sendSTATUS("inputDateSet" + number, value);
|
sendSTATUS("inputDateSet" + number, value);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
//=================================================Глобальные команды удаленного управления===========================================================
|
//=================================================Глобальные команды удаленного управления===========================================================
|
||||||
|
|
||||||
void mqttOrderSend() {
|
void mqttOrderSend() {
|
||||||
@@ -430,7 +474,7 @@ void createViget (String viget_name, String page_name, String page_number, Stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void createViget (String viget_name, String page_name, String page_number, String file, String topic, String key, String value) {
|
void createViget (String viget_name, String page_name, String page_number, String file, String topic, String key, String value) {
|
||||||
|
|
||||||
String viget;
|
String viget;
|
||||||
viget = readFile(file, 1024);
|
viget = readFile(file, 1024);
|
||||||
@@ -452,9 +496,9 @@ void createViget (String viget_name, String page_name, String page_number, Stri
|
|||||||
|
|
||||||
all_vigets += viget + "\r\n";
|
all_vigets += viget + "\r\n";
|
||||||
viget = "";
|
viget = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
void createViget (String viget_name, String page_name, String page_number, String file, String topic, String key, String value, String key2, String value2) {
|
void createViget (String viget_name, String page_name, String page_number, String file, String topic, String key, String value, String key2, String value2) {
|
||||||
|
|
||||||
String viget;
|
String viget;
|
||||||
viget = readFile(file, 1024);
|
viget = readFile(file, 1024);
|
||||||
@@ -477,7 +521,7 @@ void createViget (String viget_name, String page_name, String page_number, Stri
|
|||||||
|
|
||||||
all_vigets += viget + "\r\n";
|
all_vigets += viget + "\r\n";
|
||||||
viget = "";
|
viget = "";
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
String vidgetConfigWrite(String viget, String key, String value) {
|
String vidgetConfigWrite(String viget, String key, String value) {
|
||||||
|
|
||||||
|
|||||||
22
Init.ino
22
Init.ino
@@ -38,7 +38,7 @@ void Device_init() {
|
|||||||
ts.remove(DHTT);
|
ts.remove(DHTT);
|
||||||
ts.remove(DHTH);
|
ts.remove(DHTH);
|
||||||
//================
|
//================
|
||||||
|
|
||||||
all_vigets = "";
|
all_vigets = "";
|
||||||
txtExecution("firmware.config.txt");
|
txtExecution("firmware.config.txt");
|
||||||
//outcoming_date();
|
//outcoming_date();
|
||||||
@@ -50,3 +50,23 @@ void Scenario_init() {
|
|||||||
scenario = readFile("firmware.scenario.txt", 2048);
|
scenario = readFile("firmware.scenario.txt", 2048);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void up_time() {
|
||||||
|
uint32_t ss = millis() / 1000;
|
||||||
|
uint32_t mm = ss / 60;
|
||||||
|
uint32_t hh = mm / 60;
|
||||||
|
uint32_t dd = hh / 24;
|
||||||
|
|
||||||
|
if (mm != 0) {
|
||||||
|
Serial.println(String(mm) + " min");
|
||||||
|
jsonWrite(configJson, "uptime", String(mm) + " min");
|
||||||
|
}
|
||||||
|
if (hh != 0) {
|
||||||
|
Serial.println(String(hh) + " hours");
|
||||||
|
jsonWrite(configJson, "uptime", String(hh) + " hours");
|
||||||
|
}
|
||||||
|
if (dd != 0) {
|
||||||
|
Serial.println(String(dd) + " days");
|
||||||
|
jsonWrite(configJson, "uptime", String(dd) + " days");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
16
Scenario.ino
16
Scenario.ino
@@ -16,17 +16,23 @@ void handleScenario() {
|
|||||||
if (scenario_line_status[i] == 1) {
|
if (scenario_line_status[i] == 1) {
|
||||||
//Serial.println(i);
|
//Serial.println(i);
|
||||||
String condition = selectToMarker (tmp, "\n"); //выделяем первую строку самого сценария button1 = 1 (условие)
|
String condition = selectToMarker (tmp, "\n"); //выделяем первую строку самого сценария button1 = 1 (условие)
|
||||||
String param_name = selectFromMarkerToMarker(condition, " " , 0);
|
String param_name = selectFromMarkerToMarker(condition, " " , 0);
|
||||||
|
|
||||||
param_name = add_set(param_name); //из первой страки берем имя параметра button1 и вставляем в него Set и получаем buttonSet1
|
param_name = add_set(param_name); //из первой страки берем имя параметра button1 и вставляем в него Set и получаем buttonSet1
|
||||||
|
if (param_name.indexOf("timenow") != -1){
|
||||||
|
param_name = param_name + "Set";
|
||||||
|
}
|
||||||
String order = jsonRead(optionJson, "scenario_status"); //читаем весь файл событий
|
String order = jsonRead(optionJson, "scenario_status"); //читаем весь файл событий
|
||||||
String param = selectToMarker (order, ","); //читаем первое событие из файла событий
|
String param = selectToMarker (order, ","); //читаем первое событие из файла событий
|
||||||
if (param_name == param) { //если поступившее событие равно событию заданному buttonSet1 в файле начинаем его обработку
|
if (param_name == param) { //если поступившее событие равно событию заданному buttonSet1 в файле начинаем его обработку
|
||||||
|
|
||||||
String sign = selectFromMarkerToMarker(condition, " " , 1); //читаем знак (=)
|
String sign = selectFromMarkerToMarker(condition, " " , 1); //читаем знак (=)
|
||||||
String value = selectFromMarkerToMarker(condition, " " , 2); //читаем значение (1)
|
String value = selectFromMarkerToMarker(condition, " " , 2); //читаем значение (1)
|
||||||
if (value.indexOf("digit") != -1) {
|
if (value.indexOf("digit") != -1) {
|
||||||
value = add_set(value);
|
value = add_set(value);
|
||||||
|
value = jsonRead(configJson, value);
|
||||||
|
}
|
||||||
|
if (value.indexOf("time") != -1) {
|
||||||
|
value = add_set(value);
|
||||||
value = jsonRead(configJson, value);
|
value = jsonRead(configJson, value);
|
||||||
}
|
}
|
||||||
boolean flag = false; //если одно из значений совпало то только тогда начинаем выполнять комнады
|
boolean flag = false; //если одно из значений совпало то только тогда начинаем выполнять комнады
|
||||||
@@ -85,7 +91,7 @@ String add_set(String param_name) {
|
|||||||
param_name = param_name.substring(0, param_name.length() - 2) + "Set" + num2 + num1;
|
param_name = param_name.substring(0, param_name.length() - 2) + "Set" + num2 + num1;
|
||||||
} else {
|
} else {
|
||||||
if (isDigitStr(num1)) {
|
if (isDigitStr(num1)) {
|
||||||
param_name = param_name.substring(0, param_name.length() - 1) + "Set" + num1;
|
param_name = param_name.substring(0, param_name.length() - 1) + "Set" + num1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return param_name;
|
return param_name;
|
||||||
|
|||||||
140
Sensors.ino
140
Sensors.ino
@@ -18,7 +18,8 @@ void analog() {
|
|||||||
ts.add(ANALOG_, analog_update_int, [&](void*) {
|
ts.add(ANALOG_, analog_update_int, [&](void*) {
|
||||||
static int analog_old;
|
static int analog_old;
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
int analog_in = analogRead(pin.toInt());
|
//int pin_int = pin.toInt();
|
||||||
|
int analog_in;// = analogRead(pin_int);
|
||||||
#endif
|
#endif
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
int analog_in = analogRead(A0);
|
int analog_in = analogRead(A0);
|
||||||
@@ -123,16 +124,22 @@ void dallas() {
|
|||||||
//======================================================================================================================
|
//======================================================================================================================
|
||||||
//=========================================Модуль сенсоров DHT==========================================================
|
//=========================================Модуль сенсоров DHT==========================================================
|
||||||
void dhtT() {
|
void dhtT() {
|
||||||
|
String sensor_type = sCmd.next();
|
||||||
String pin = sCmd.next();
|
String pin = sCmd.next();
|
||||||
String viget_name = sCmd.next();
|
String viget_name = sCmd.next();
|
||||||
String page_name = sCmd.next();
|
String page_name = sCmd.next();
|
||||||
String type = sCmd.next();
|
String type = sCmd.next();
|
||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
dht.setup(pin.toInt());
|
if (sensor_type == "DHT11") {
|
||||||
|
dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||||
|
}
|
||||||
|
if (sensor_type == "DHT22") {
|
||||||
|
dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||||
|
}
|
||||||
choose_viget_and_create(viget_name, page_name, page_number, type, "dhtT");
|
choose_viget_and_create(viget_name, page_name, page_number, type, "dhtT");
|
||||||
ts.add(DHTT, dhtT_update_int, [&](void*) {
|
ts.add(DHTT, dhtT_update_int + dht.getMinimumSamplingPeriod(), [&](void*) {
|
||||||
int value = 0;
|
float value = 0;
|
||||||
static int value_old;
|
static float value_old;
|
||||||
value = dht.getTemperature();
|
value = dht.getTemperature();
|
||||||
jsonWrite(configJson, "dhtT", String(value));
|
jsonWrite(configJson, "dhtT", String(value));
|
||||||
//if (value_old != value) {
|
//if (value_old != value) {
|
||||||
@@ -148,14 +155,20 @@ void dhtT() {
|
|||||||
|
|
||||||
|
|
||||||
void dhtH() {
|
void dhtH() {
|
||||||
|
String sensor_type = sCmd.next();
|
||||||
String pin = sCmd.next();
|
String pin = sCmd.next();
|
||||||
String viget_name = sCmd.next();
|
String viget_name = sCmd.next();
|
||||||
String page_name = sCmd.next();
|
String page_name = sCmd.next();
|
||||||
String type = sCmd.next();
|
String type = sCmd.next();
|
||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
dht.setup(pin.toInt());
|
if (sensor_type == "DHT11") {
|
||||||
|
dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||||
|
}
|
||||||
|
if (sensor_type == "DHT22") {
|
||||||
|
dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||||
|
}
|
||||||
choose_viget_and_create(viget_name, page_name, page_number, type, "dhtH");
|
choose_viget_and_create(viget_name, page_name, page_number, type, "dhtH");
|
||||||
ts.add(DHTH, dhtH_update_int, [&](void*) {
|
ts.add(DHTH, dhtH_update_int + dht.getMinimumSamplingPeriod(), [&](void*) {
|
||||||
int value = 0;
|
int value = 0;
|
||||||
static int value_old;
|
static int value_old;
|
||||||
value = dht.getHumidity();
|
value = dht.getHumidity();
|
||||||
@@ -171,6 +184,107 @@ void dhtH() {
|
|||||||
}, nullptr, true);
|
}, nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dhtPerception() {
|
||||||
|
String viget_name = sCmd.next();
|
||||||
|
String page_name = sCmd.next();
|
||||||
|
String page_number = sCmd.next();
|
||||||
|
choose_viget_and_create(viget_name, page_name, page_number, "any-data", "dhtPerception");
|
||||||
|
ts.add(DHTP, dhtPerception_update_int, [&](void*) {
|
||||||
|
byte value;
|
||||||
|
ComfortState cf;
|
||||||
|
value = dht.computePerception(jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toInt(), false);
|
||||||
|
String final_line = perception(value);
|
||||||
|
jsonWrite(configJson, "dhtPerception", final_line);
|
||||||
|
eventGen ("dhtPerception", "");
|
||||||
|
sendSTATUS("dhtPerception", final_line);
|
||||||
|
if (client.connected()) {
|
||||||
|
Serial.println("[i] sensor dhtPerception send date " + final_line);
|
||||||
|
}
|
||||||
|
}, nullptr, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
String perception(byte value) {
|
||||||
|
if (value == 0) return "Сухой воздух";
|
||||||
|
if (value == 1) return "Комфортно";
|
||||||
|
if (value == 2) return "Уютно";
|
||||||
|
if (value == 3) return "Хорошо";
|
||||||
|
if (value == 4) return "Неудобно";
|
||||||
|
if (value == 5) return "Довольно неудобно";
|
||||||
|
if (value == 6) return "Очень неудобно";
|
||||||
|
if (value == 7) return "Сильно неудобно, полный звиздец";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dhtComfort() {
|
||||||
|
String viget_name = sCmd.next();
|
||||||
|
String page_name = sCmd.next();
|
||||||
|
String page_number = sCmd.next();
|
||||||
|
choose_viget_and_create(viget_name, page_name, page_number, "any-data", "dhtComfort");
|
||||||
|
ts.add(DHTC, dhtComfort_update_int, [&](void*) {
|
||||||
|
float value;
|
||||||
|
ComfortState cf;
|
||||||
|
value = dht.getComfortRatio(cf, jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toInt(), false);
|
||||||
|
String comfortStatus;
|
||||||
|
switch (cf) {
|
||||||
|
case Comfort_OK:
|
||||||
|
comfortStatus = "Отлично";
|
||||||
|
break;
|
||||||
|
case Comfort_TooHot:
|
||||||
|
comfortStatus = "Очень жарко";
|
||||||
|
break;
|
||||||
|
case Comfort_TooCold:
|
||||||
|
comfortStatus = "Очень холодно";
|
||||||
|
break;
|
||||||
|
case Comfort_TooDry:
|
||||||
|
comfortStatus = "Очень сухо";
|
||||||
|
break;
|
||||||
|
case Comfort_TooHumid:
|
||||||
|
comfortStatus = "Очень влажно";
|
||||||
|
break;
|
||||||
|
case Comfort_HotAndHumid:
|
||||||
|
comfortStatus = "Жарко и влажно";
|
||||||
|
break;
|
||||||
|
case Comfort_HotAndDry:
|
||||||
|
comfortStatus = "Жарко и сухо";
|
||||||
|
break;
|
||||||
|
case Comfort_ColdAndHumid:
|
||||||
|
comfortStatus = "Холодно и влажно";
|
||||||
|
break;
|
||||||
|
case Comfort_ColdAndDry:
|
||||||
|
comfortStatus = "Холодно и сухо";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
comfortStatus = "Неизвестно";
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
String final_line = comfortStatus;
|
||||||
|
jsonWrite(configJson, "dhtComfort", final_line);
|
||||||
|
eventGen ("dhtComfort", "");
|
||||||
|
sendSTATUS("dhtComfort", final_line);
|
||||||
|
if (client.connected()) {
|
||||||
|
Serial.println("[i] sensor dhtComfort send date " + final_line);
|
||||||
|
}
|
||||||
|
}, nullptr, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dhtDewPoint() {
|
||||||
|
String viget_name = sCmd.next();
|
||||||
|
String page_name = sCmd.next();
|
||||||
|
String page_number = sCmd.next();
|
||||||
|
choose_viget_and_create(viget_name, page_name, page_number, "any-data", "dhtPerception");
|
||||||
|
ts.add(DHTP, dhtPerception_update_int, [&](void*) {
|
||||||
|
byte value;
|
||||||
|
ComfortState cf;
|
||||||
|
value = dht.computePerception(jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toInt(), false);
|
||||||
|
String final_line = perception(value);
|
||||||
|
jsonWrite(configJson, "dhtPerception", final_line);
|
||||||
|
eventGen ("dhtPerception", "");
|
||||||
|
sendSTATUS("dhtPerception", final_line);
|
||||||
|
if (client.connected()) {
|
||||||
|
Serial.println("[i] sensor dhtPerception send date " + final_line);
|
||||||
|
}
|
||||||
|
}, nullptr, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void choose_viget_and_create(String viget_name, String page_name, String page_number, String type, String topik) {
|
void choose_viget_and_create(String viget_name, String page_name, String page_number, String type, String topik) {
|
||||||
@@ -200,12 +314,12 @@ void logging() {
|
|||||||
if (sensor_name == "level") jsonWrite(optionJson, "level_logging_count", maxCount);
|
if (sensor_name == "level") jsonWrite(optionJson, "level_logging_count", maxCount);
|
||||||
if (sensor_name == "dallas") jsonWrite(optionJson, "dallas_logging_count", maxCount);
|
if (sensor_name == "dallas") jsonWrite(optionJson, "dallas_logging_count", maxCount);
|
||||||
if (sensor_name == "ph") jsonWrite(optionJson, "ph_logging_count", maxCount);
|
if (sensor_name == "ph") jsonWrite(optionJson, "ph_logging_count", maxCount);
|
||||||
/*
|
/*
|
||||||
if (sensor_name == "analog") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "loganalog", "maxCount", maxCount);
|
if (sensor_name == "analog") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "loganalog", "maxCount", maxCount);
|
||||||
if (sensor_name == "level") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "loglevel", "maxCount", maxCount);
|
if (sensor_name == "level") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "loglevel", "maxCount", maxCount);
|
||||||
if (sensor_name == "dallas") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "logdallas", "maxCount", maxCount);
|
if (sensor_name == "dallas") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "logdallas", "maxCount", maxCount);
|
||||||
if (sensor_name == "ph") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "logph", "maxCount", maxCount);
|
if (sensor_name == "ph") createViget (viget_name, page_name, page_number, "vigets/viget.chart.json", "logph", "maxCount", maxCount);
|
||||||
*/
|
*/
|
||||||
if (sensor_name == "analog") {
|
if (sensor_name == "analog") {
|
||||||
flagLoggingAnalog = true;
|
flagLoggingAnalog = true;
|
||||||
ts.remove(ANALOG_LOG);
|
ts.remove(ANALOG_LOG);
|
||||||
|
|||||||
@@ -1,54 +1,50 @@
|
|||||||
#ifdef ESP8266
|
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
void Time_Init() {
|
void Time_Init() {
|
||||||
server.on("/Time", HTTP_GET, [](AsyncWebServerRequest * request) {
|
|
||||||
//handle_Time();
|
|
||||||
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
|
||||||
});
|
|
||||||
server.on("/timeZone", HTTP_GET, [](AsyncWebServerRequest * request) {
|
server.on("/timeZone", HTTP_GET, [](AsyncWebServerRequest * request) {
|
||||||
//handle_time_zone();
|
if (request->hasArg("timezone")) {
|
||||||
|
jsonWrite(configSetup, "timezone", request->getParam("timezone")->value());
|
||||||
|
}
|
||||||
|
saveConfig();
|
||||||
|
reconfigTime();
|
||||||
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
||||||
});
|
});
|
||||||
|
reconfigTime();
|
||||||
timeSynch(jsonReadtoInt(configSetup, "timezone"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void reconfigTime() {
|
||||||
void timeSynch(int zone) {
|
|
||||||
if (WiFi.status() == WL_CONNECTED) {
|
if (WiFi.status() == WL_CONNECTED) {
|
||||||
// Настройка соединения с NTP сервером
|
|
||||||
configTime(zone * 3600, 0, "pool.ntp.org", "ru.pool.ntp.org");
|
|
||||||
// int i = 0;
|
|
||||||
// Serial.println("\nWaiting for time");
|
|
||||||
// while (!time(nullptr) && i < 10) {
|
|
||||||
// Serial.print(".");
|
|
||||||
// i++;
|
|
||||||
// delay(1000);
|
|
||||||
// }
|
|
||||||
Serial.println("");
|
|
||||||
Serial.println("ITime Ready!");
|
|
||||||
delay(1000);
|
|
||||||
Serial.println(GetTime());
|
|
||||||
Serial.println(GetDate());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*// Установка параметров времянной зоны по запросу вида http://192.168.0.101/timeZone?timeZone=3
|
|
||||||
void handle_time_zone() {
|
|
||||||
if (request->hasArg("timeZone")) {
|
|
||||||
jsonWrite(configSetup, "timeZone", request->getParam("timeZone")->value());
|
|
||||||
}
|
|
||||||
saveConfig();
|
|
||||||
//request->send(200, "text/text", "OK");
|
|
||||||
}
|
|
||||||
|
|
||||||
void handle_Time() {
|
configTime(jsonRead(configSetup, "timezone").toInt() * 3600, 0, ntpServer);
|
||||||
timeSynch(jsonReadtoInt(configSetup, "timezone"));
|
|
||||||
//request->send(200, "text/text", "OK");
|
int i = 0;
|
||||||
}
|
Serial.println("[i]Awaiting for time ");
|
||||||
*/
|
|
||||||
|
#ifdef ESP32
|
||||||
|
struct tm timeinfo;
|
||||||
|
while (!getLocalTime(&timeinfo) && i <= 4) {
|
||||||
|
Serial.print(".");
|
||||||
|
i++;
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef ESP8266
|
||||||
|
// while (!time(nullptr) && i < 4) {
|
||||||
|
// Serial.print(".");
|
||||||
|
// i++;
|
||||||
|
delay(2000);
|
||||||
|
// }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Serial.print("Time = ");
|
||||||
|
Serial.print(GetDataDigital());
|
||||||
|
Serial.print(" ");
|
||||||
|
Serial.println(GetTime());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Serial.println("[E] Get time impossible, no wifi connection");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Получение текущего времени
|
// Получение текущего времени
|
||||||
String GetTime() {
|
String GetTime() {
|
||||||
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
|
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#ifdef ESP32
|
|
||||||
|
|
||||||
void Time_Init() {
|
|
||||||
|
|
||||||
//init and get the time
|
|
||||||
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
|
|
||||||
printLocalTime();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void printLocalTime() {
|
|
||||||
struct tm timeinfo;
|
|
||||||
if (!getLocalTime(&timeinfo)) {
|
|
||||||
Serial.println("[E] Failed to obtain time");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Serial.println(&timeinfo, "[V] %A, %B %d %Y %H:%M:%S");
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
5
WiFi.ino
5
WiFi.ino
@@ -85,8 +85,9 @@ void WIFI_init() {
|
|||||||
// о подключении и выводим адрес IP
|
// о подключении и выводим адрес IP
|
||||||
Serial.println("");
|
Serial.println("");
|
||||||
Serial.println("[V] WiFi connected");
|
Serial.println("[V] WiFi connected");
|
||||||
Serial.println("[V] IP address: ");
|
Serial.print("[V] IP address: ");
|
||||||
Serial.println(WiFi.localIP());
|
Serial.print(WiFi.localIP());
|
||||||
|
Serial.println("");
|
||||||
jsonWrite(configJson, "ip", WiFi.localIP().toString());
|
jsonWrite(configJson, "ip", WiFi.localIP().toString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,10 @@
|
|||||||
"type": "h4",
|
"type": "h4",
|
||||||
"title": "IP address: {{ip}}"
|
"title": "IP address: {{ip}}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "h4",
|
||||||
|
"title": "Uptime: {{uptime}}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "hr"
|
"type": "hr"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,18 +3,27 @@ button 2 13 Прихожая Реле 0 2
|
|||||||
button 3 14 Кухня Реле 0 3
|
button 3 14 Кухня Реле 0 3
|
||||||
pwm 1 3 Яркость#коредор: Реле 1023 4
|
pwm 1 3 Яркость#коредор: Реле 1023 4
|
||||||
pwm 2 4 Яркость#ванная: Реле 510 5
|
pwm 2 4 Яркость#ванная: Реле 510 5
|
||||||
analog 0 Аналоговый#вход,#% Датчики progress-round 1 1024 1 1024 6
|
//-------------------------------------------------------------------------------------------------
|
||||||
//dallas 2 Водонагреватель,#t°C Датчики any-data 7
|
//analog 0 Аналоговый#вход,#% Датчики progress-round 1 1024 1 1024 6
|
||||||
//dhtT 2 Температура#DHT,#t°C Датчики any-data 8
|
inputDigit digit1 При#скольки#включить? Датчики 10 7
|
||||||
//dhtH 2 Влажность#DHT,#% Датчики any-data 9
|
inputDigit digit2 При#скольки#выключить? Датчики 0 8
|
||||||
//level Вода#в#баке,#% Датчики any-data 125 20 10
|
button 4 na Нагреватель Датчики 0 9
|
||||||
inputDigit digit1 При#скольки#включить? Датчики 10 11
|
//dallas 2 Водонагреватель,#t°C Датчики any-data 10
|
||||||
button 4 na Кнопка Датчики 0 12
|
dhtT DHT11 2 Температура#DHT,#t°C Датчики any-data 11
|
||||||
button 5 na Вкл#обратный#таймер Таймеры 0 13
|
dhtH DHT11 2 Влажность#DHT,#% Датчики any-data 12
|
||||||
inputDigit digit2 Через#сколько#секунд#включить? Таймеры 5 14
|
dhtComfort Степень#комфорта: Датчики 12
|
||||||
button 6 5 Включится#по#таймеру Таймеры 0 15
|
dhtPerception Восприятие: Датчики 13
|
||||||
|
//level Вода#в#баке,#% Датчики any-data 125 20 14
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
button 5 na Вкл#обратный#таймер Таймеры 0 15
|
||||||
|
inputDigit digit3 Через#сколько#секунд#включить? Таймеры 5 16
|
||||||
|
button 6 na Включится#по#таймеру Таймеры 0 17
|
||||||
|
inputTime time1 Во#сколько#включить? Таймеры 20.30 18
|
||||||
|
button 7 5 Включится#по#таймеру Таймеры 0 19
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
switch 1 0 20
|
switch 1 0 20
|
||||||
textSet 1 неопределено
|
textSet 1 неопределено
|
||||||
text 1 Квартира Двери 22
|
text 1 Квартира Двери 22
|
||||||
button 7 scenario Вкл#выкл#все#сценарии Сценарии 1 23
|
//-------------------------------------------------------------------------------------------------
|
||||||
button 8 line1,line2, Вкл#выкл#выбранные#сценарии Сценарии 1 24
|
button 8 scenario Вкл#выкл#все#сценарии Сценарии 1 23
|
||||||
|
button 9 line1,line2, Вкл#выкл#выбранные#сценарии Сценарии 1 24
|
||||||
@@ -11,15 +11,18 @@ end
|
|||||||
analog > digit1
|
analog > digit1
|
||||||
buttonSet 4 1
|
buttonSet 4 1
|
||||||
end
|
end
|
||||||
analog < digit1
|
analog < digit2
|
||||||
buttonSet 4 0
|
buttonSet 4 0
|
||||||
end
|
end
|
||||||
button5 = 1
|
button5 = 1
|
||||||
timerStart 1 digit2 sec
|
timerStart 1 digit3 sec
|
||||||
end
|
end
|
||||||
timer1 = 0
|
timer1 = 0
|
||||||
buttonSet 6 1
|
buttonSet 6 1
|
||||||
end
|
end
|
||||||
|
timenow = time1
|
||||||
|
buttonSet 7 1
|
||||||
|
end
|
||||||
switch1 = 1
|
switch1 = 1
|
||||||
textSet 1 закрыто-time
|
textSet 1 закрыто-time
|
||||||
push закрыто вход
|
push закрыто вход
|
||||||
|
|||||||
@@ -116,6 +116,26 @@
|
|||||||
"action": "web?web_login=[[web-login]]&web_pass=[[web-pass]]",
|
"action": "web?web_login=[[web-login]]&web_pass=[[web-pass]]",
|
||||||
"class": "btn btn-block btn-success"
|
"class": "btn btn-block btn-success"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "hr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "h2",
|
||||||
|
"title": "Временная зона"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "input",
|
||||||
|
"title": "Логин",
|
||||||
|
"name":"time-zone",
|
||||||
|
"state": "{{timezone}}",
|
||||||
|
"pattern": ".{1,20}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "button",
|
||||||
|
"title": "Сохранить",
|
||||||
|
"action": "timeZone?timezone=[[time-zone]]",
|
||||||
|
"class": "btn btn-block btn-success"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "hr"
|
"type": "hr"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"widget" : "input",
|
"widget" : "input",
|
||||||
"size" : "small",
|
"color" : "blue",
|
||||||
"color" : "orange",
|
|
||||||
"type" : "time"
|
"type" : "time"
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"widget" : "progress-round",
|
"widget" : "progress-round",
|
||||||
"icon" : "globe",
|
"descrColor" : "",
|
||||||
"descrColor" : "orange",
|
|
||||||
"max" : "100",
|
"max" : "100",
|
||||||
"stroke" : "20",
|
"stroke" : "20",
|
||||||
"color" : "#45ccce",
|
"color" : "#45ccce",
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ void setup() {
|
|||||||
getMemoryLoad("[i] After loading");
|
getMemoryLoad("[i] After loading");
|
||||||
|
|
||||||
|
|
||||||
// ts.add(TEST, 1000, [&](void*) {
|
ts.add(TEST, 5000, [&](void*) {
|
||||||
|
|
||||||
//getMemoryLoad("[i] Periodic check");
|
up_time();
|
||||||
|
|
||||||
// }, nullptr, true);
|
}, nullptr, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
main.ino
2
main.ino
@@ -268,7 +268,7 @@ void getMemoryLoad(String text) {
|
|||||||
#endif
|
#endif
|
||||||
int memory_remain = ESP.getFreeHeap();
|
int memory_remain = ESP.getFreeHeap();
|
||||||
int memory_used = all_memory - memory_remain;
|
int memory_used = all_memory - memory_remain;
|
||||||
int memory_load = memory_used * 100 / all_memory;
|
int memory_load = (memory_used * 100) / all_memory;
|
||||||
if (memory_load > 65) Serial.print("Attention!!! too match memory used!!!");
|
if (memory_load > 65) Serial.print("Attention!!! too match memory used!!!");
|
||||||
Serial.print(text + " memory used:");
|
Serial.print(text + " memory used:");
|
||||||
Serial.print(String(memory_load) + "%; ");
|
Serial.print(String(memory_load) + "%; ");
|
||||||
|
|||||||
5
mqtt.ino
5
mqtt.ino
@@ -250,9 +250,12 @@ void sendAllData() { //берет строку json и ключи превра
|
|||||||
while (current_config.length() != 0) {
|
while (current_config.length() != 0) {
|
||||||
|
|
||||||
String tmp = selectToMarker (current_config, ",");
|
String tmp = selectToMarker (current_config, ",");
|
||||||
String topic = selectToMarker (tmp, ":");
|
String topic = selectToMarker (tmp, ":");
|
||||||
topic.replace("\"", "");
|
topic.replace("\"", "");
|
||||||
String state = selectToMarkerLast (tmp, ":");
|
String state = selectToMarkerLast (tmp, ":");
|
||||||
|
if (topic.indexOf("time") < 0) {
|
||||||
|
state.replace(".", ":");
|
||||||
|
}
|
||||||
state.replace("\"", "");
|
state.replace("\"", "");
|
||||||
if (topic != ssdpS && topic != "lang" && topic != "ip" && topic.indexOf("_in") < 0) {
|
if (topic != ssdpS && topic != "lang" && topic != "ip" && topic.indexOf("_in") < 0) {
|
||||||
sendSTATUS(topic, state);
|
sendSTATUS(topic, state);
|
||||||
|
|||||||
9
set.h
9
set.h
@@ -20,6 +20,7 @@ HTTPClient http;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==общие библиотеки и объекты==//
|
//==общие библиотеки и объекты==//
|
||||||
|
#include "time.h"
|
||||||
#ifdef OTA_enable
|
#ifdef OTA_enable
|
||||||
#include <ArduinoOTA.h>
|
#include <ArduinoOTA.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -35,7 +36,7 @@ AsyncEventSource events("/events");
|
|||||||
#include "time.h"
|
#include "time.h"
|
||||||
#include <TickerScheduler.h>
|
#include <TickerScheduler.h>
|
||||||
TickerScheduler ts(30);
|
TickerScheduler ts(30);
|
||||||
enum { ROUTER_SEARCHING, WIFI_MQTT_CONNECTION_CHECK, LEVEL, ANALOG_, DALLAS, DHTT, DHTH, ANALOG_LOG, LEVEL_LOG, DALLAS_LOG, PH_LOG, CMD , TIMER_COUNTDOWN, TIMERS, TEST};
|
enum { ROUTER_SEARCHING, WIFI_MQTT_CONNECTION_CHECK, LEVEL, ANALOG_, DALLAS, DHTT, DHTH, DHTC, DHTP, ANALOG_LOG, LEVEL_LOG, DALLAS_LOG, PH_LOG, CMD , TIMER_COUNTDOWN, TIMERS, TIME, TEST};
|
||||||
|
|
||||||
//ssl//#include "dependencies/WiFiClientSecure/WiFiClientSecure.h" //using older WiFiClientSecure
|
//ssl//#include "dependencies/WiFiClientSecure/WiFiClientSecure.h" //using older WiFiClientSecure
|
||||||
#include <PubSubClient.h>
|
#include <PubSubClient.h>
|
||||||
@@ -59,8 +60,8 @@ GMedian medianFilter;
|
|||||||
OneWire *oneWire;
|
OneWire *oneWire;
|
||||||
DallasTemperature sensors;
|
DallasTemperature sensors;
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
#include <DHT.h> //https://github.com/markruys/arduino-DHT
|
#include "DHTesp.h"
|
||||||
DHT dht;
|
DHTesp dht;
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
#include "Adafruit_Si7021.h" //https://github.com/adafruit/Adafruit_Si7021
|
#include "Adafruit_Si7021.h" //https://github.com/adafruit/Adafruit_Si7021
|
||||||
Adafruit_Si7021 sensor_Si7021 = Adafruit_Si7021();
|
Adafruit_Si7021 sensor_Si7021 = Adafruit_Si7021();
|
||||||
@@ -88,6 +89,8 @@ Adafruit_Si7021 sensor_Si7021 = Adafruit_Si7021();
|
|||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
#define dhtT_update_int 5000
|
#define dhtT_update_int 5000
|
||||||
#define dhtH_update_int 5000
|
#define dhtH_update_int 5000
|
||||||
|
#define dhtComfort_update_int 5000
|
||||||
|
#define dhtPerception_update_int 5000
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user