mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 22:52:19 +03:00
Cleaning and optimization
This commit is contained in:
@@ -94,7 +94,7 @@ void csvCmdExecute(String& cmdStr) {
|
||||
else if (order == F("count-down")) {
|
||||
sCmd.addCommand(order.c_str(), countDown);
|
||||
}
|
||||
|
||||
|
||||
sCmd.readStr(buf);
|
||||
}
|
||||
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
|
||||
@@ -163,3 +163,20 @@ int getKeyNum(String& key, String& keyNumberTable) {
|
||||
}
|
||||
return number;
|
||||
}
|
||||
|
||||
String getValue(String& key) {
|
||||
String live = jsonReadStr(configLiveJson, key);
|
||||
String store = jsonReadStr(configStoreJson, key);
|
||||
if (live != nullptr) {
|
||||
return live;
|
||||
}
|
||||
else if (store != nullptr) {
|
||||
return store;
|
||||
}
|
||||
else if (store == nullptr && live == nullptr) {
|
||||
return "no value";
|
||||
}
|
||||
else {
|
||||
return "data error";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ AsyncWebSocket ws;
|
||||
//AsyncEventSource events;
|
||||
#endif
|
||||
|
||||
TickerScheduler ts(TEST + 1);
|
||||
TickerScheduler ts(SYGNAL + 1);
|
||||
WiFiClient espClient;
|
||||
PubSubClient mqtt(espClient);
|
||||
StringCommand sCmd;
|
||||
|
||||
@@ -33,7 +33,6 @@ void loadConfig() {
|
||||
void all_init() {
|
||||
Device_init();
|
||||
loadScenario();
|
||||
Timer_countdown_init();
|
||||
}
|
||||
|
||||
void Device_init() {
|
||||
|
||||
334
src/ItemsCmd.cpp
334
src/ItemsCmd.cpp
@@ -1,334 +0,0 @@
|
||||
//#include "BufferExecute.h"
|
||||
//
|
||||
//#include "BufferExecute.h"
|
||||
//#include "Class/NotAsync.h"
|
||||
//#include "Cmd.h"
|
||||
//#include "Global.h"
|
||||
//#include "Module/Terminal.h"
|
||||
//#include "Servo/Servos.h"
|
||||
//
|
||||
//#include "items/vSensorDallas.h"
|
||||
//
|
||||
//Terminal *term = nullptr;
|
||||
//
|
||||
//boolean but[NUM_BUTTONS];
|
||||
//Bounce *buttons = new Bounce[NUM_BUTTONS];
|
||||
//
|
||||
//#ifdef ESP8266
|
||||
//SoftwareSerial *mySerial = nullptr;
|
||||
//#else
|
||||
//HardwareSerial *mySerial = nullptr;
|
||||
//#endif
|
||||
//
|
||||
//void getData();
|
||||
//
|
||||
//void cmd_init() {
|
||||
//sCmd.addCommand("button-out", buttonOut);
|
||||
//sCmd.addCommand("pwm-out", pwmOut);
|
||||
//sCmd.addCommand("button-in", buttonIn);
|
||||
|
||||
//sCmd.addCommand("input-digit", input);
|
||||
//sCmd.addCommand("input-time", inputTime);
|
||||
//sCmd.addCommand("output-text", textOut);
|
||||
|
||||
//sCmd.addCommand("analog-adc", analogAdc);
|
||||
//sCmd.addCommand("ultrasonic-cm", ultrasonicCm);
|
||||
//sCmd.addCommand("dallas-temp", dallas);
|
||||
|
||||
//sCmd.addCommand("dht-temp", dhtTemp);
|
||||
//sCmd.addCommand("dht-hum", dhtHum);
|
||||
|
||||
//sCmd.addCommand("bme280-temp", bme280Temp);
|
||||
//sCmd.addCommand("bme280-hum", bme280Hum);
|
||||
//sCmd.addCommand("bme280-press", bme280Press);
|
||||
|
||||
//sCmd.addCommand("bmp280-temp", bmp280Temp);
|
||||
//sCmd.addCommand("bmp280-press", bmp280Press);
|
||||
|
||||
//sCmd.addCommand("modbus", modbus);
|
||||
|
||||
//sCmd.addCommand("uptime", sysUptime);
|
||||
|
||||
//sCmd.addCommand("logging", logging);
|
||||
|
||||
//sCmd.addCommand("impuls-out", impuls);
|
||||
|
||||
|
||||
//}
|
||||
|
||||
// sCmd.addCommand("timerStart", timerStart_);
|
||||
// sCmd.addCommand("timerStop", timerStop_);
|
||||
|
||||
//#ifdef DHT_ENABLED
|
||||
// sCmd.addCommand("dhtT", dhtT);
|
||||
// sCmd.addCommand("dhtH", dhtH);
|
||||
// sCmd.addCommand("dhtPerception", dhtP);
|
||||
// sCmd.addCommand("dhtComfort", dhtC);
|
||||
// sCmd.addCommand("dhtDewpoint", dhtD);
|
||||
//#endif
|
||||
|
||||
//#ifdef BMP_ENABLED
|
||||
// sCmd.addCommand("bmp280T", bmp280T);
|
||||
// sCmd.addCommand("bmp280P", bmp280P);
|
||||
//#endif
|
||||
//
|
||||
//#ifdef BME_ENABLED
|
||||
// sCmd.addCommand("bme280T", bme280T);
|
||||
// sCmd.addCommand("bme280P", bme280P);
|
||||
// sCmd.addCommand("bme280H", bme280H);
|
||||
// sCmd.addCommand("bme280A", bme280A);
|
||||
//#endif
|
||||
//
|
||||
//#ifdef STEPPER_ENABLED
|
||||
// sCmd.addCommand("stepper", stepper);
|
||||
// sCmd.addCommand("stepperSet", stepperSet);
|
||||
//#endif
|
||||
//
|
||||
//#ifdef SERVO_ENABLED
|
||||
// sCmd.addCommand("servo", servo_);
|
||||
// sCmd.addCommand("servoSet", servoSet);
|
||||
//#endif
|
||||
//
|
||||
//#ifdef SERIAL_ENABLED
|
||||
// sCmd.addCommand("serialBegin", serialBegin);
|
||||
// sCmd.addCommand("serialWrite", serialWrite);
|
||||
// sCmd.addCommand("getData", getData);
|
||||
//#endif
|
||||
//
|
||||
//#ifdef LOGGING_ENABLED
|
||||
// sCmd.addCommand("logging", logging);
|
||||
//#endif
|
||||
//
|
||||
// sCmd.addCommand("mqtt", mqttOrderSend);
|
||||
// sCmd.addCommand("http", httpOrderSend);
|
||||
//
|
||||
//#ifdef PUSH_ENABLED
|
||||
// sCmd.addCommand("push", pushControl);
|
||||
//#endif
|
||||
//
|
||||
// sCmd.addCommand("firmwareUpdate", firmwareUpdate);
|
||||
// sCmd.addCommand("firmwareVersion", firmwareVersion);
|
||||
|
||||
//void text() {
|
||||
// String number = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
//
|
||||
// createWidget(widget_name, page_name, page_number, "anydata", "text" + number);
|
||||
//}
|
||||
//
|
||||
//void textSet() {
|
||||
// String number = sCmd.next();
|
||||
// String text = sCmd.next();
|
||||
// text.replace("_", " ");
|
||||
//
|
||||
// if (text.indexOf("-time") >= 0) {
|
||||
// text.replace("-time", "");
|
||||
// text.replace("#", " ");
|
||||
// text = text + " " + timeNow->getDateTimeDotFormated();
|
||||
// }
|
||||
//
|
||||
// jsonWriteStr(configLiveJson, "text" + number, text);
|
||||
// publishStatus("text" + number, text);
|
||||
//}
|
||||
//=====================================================================================================================================
|
||||
////=========================================Модуль шагового мотора======================================================================
|
||||
//#ifdef STEPPER_ENABLED
|
||||
////stepper 1 12 13
|
||||
//void stepper() {
|
||||
// String stepper_number = sCmd.next();
|
||||
// String pin_step = sCmd.next();
|
||||
// String pin_dir = sCmd.next();
|
||||
//
|
||||
// jsonWriteStr(configOptionJson, "stepper" + stepper_number, pin_step + " " + pin_dir);
|
||||
// pinMode(pin_step.toInt(), OUTPUT);
|
||||
// pinMode(pin_dir.toInt(), OUTPUT);
|
||||
//}
|
||||
//
|
||||
////stepperSet 1 100 5
|
||||
//void stepperSet() {
|
||||
// String stepper_number = sCmd.next();
|
||||
// String steps = sCmd.next();
|
||||
// jsonWriteStr(configOptionJson, "steps" + stepper_number, steps);
|
||||
// String stepper_speed = sCmd.next();
|
||||
// String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper" + stepper_number), " ");
|
||||
// String pin_dir = deleteBeforeDelimiter(jsonReadStr(configOptionJson, "stepper" + stepper_number), " ");
|
||||
// Serial.println(pin_step);
|
||||
// Serial.println(pin_dir);
|
||||
// if (steps.toInt() > 0) digitalWrite(pin_dir.toInt(), HIGH);
|
||||
// if (steps.toInt() < 0) digitalWrite(pin_dir.toInt(), LOW);
|
||||
// if (stepper_number == "1") {
|
||||
// ts.add(
|
||||
// STEPPER1, stepper_speed.toInt(), [&](void *) {
|
||||
// int steps_int = abs(jsonReadInt(configOptionJson, "steps1") * 2);
|
||||
// static int count;
|
||||
// count++;
|
||||
// String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper1"), " ");
|
||||
// digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
||||
// yield();
|
||||
// if (count > steps_int) {
|
||||
// digitalWrite(pin_step.toInt(), LOW);
|
||||
// ts.remove(STEPPER1);
|
||||
// count = 0;
|
||||
// }
|
||||
// },
|
||||
// nullptr, true);
|
||||
// }
|
||||
// if (stepper_number == "2") {
|
||||
// ts.add(
|
||||
// STEPPER2, stepper_speed.toInt(), [&](void *) {
|
||||
// int steps_int = abs(jsonReadInt(configOptionJson, "steps2") * 2);
|
||||
// static int count;
|
||||
// count++;
|
||||
// String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper2"), " ");
|
||||
// digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
||||
// yield();
|
||||
// if (count > steps_int) {
|
||||
// digitalWrite(pin_step.toInt(), LOW);
|
||||
// ts.remove(STEPPER2);
|
||||
// count = 0;
|
||||
// }
|
||||
// },
|
||||
// nullptr, true);
|
||||
// }
|
||||
//}
|
||||
//#endif
|
||||
////====================================================================================================================================================
|
||||
////=================================================================Сервоприводы=======================================================================
|
||||
//#ifdef SERVO_ENABLED
|
||||
////servo 1 13 50 Мой#сервопривод Сервоприводы 0 100 0 180 2
|
||||
//void servo_() {
|
||||
// String number = sCmd.next();
|
||||
// uint8_t pin = String(sCmd.next()).toInt();
|
||||
// int value = String(sCmd.next()).toInt();
|
||||
//
|
||||
// String widget = sCmd.next();
|
||||
// String page = sCmd.next();
|
||||
//
|
||||
// int min_value = String(sCmd.next()).toInt();
|
||||
// int max_value = String(sCmd.next()).toInt();
|
||||
// int min_deg = String(sCmd.next()).toInt();
|
||||
// int max_deg = String(sCmd.next()).toInt();
|
||||
//
|
||||
// String pageNumber = sCmd.next();
|
||||
//
|
||||
// jsonWriteStr(configOptionJson, "servo_pin" + number, String(pin, DEC));
|
||||
//
|
||||
// value = map(value, min_value, max_value, min_deg, max_deg);
|
||||
//
|
||||
// Servo *servo = myServo.create(number.toInt(), pin);
|
||||
// servo->write(value);
|
||||
//#ifdef ESP32
|
||||
// myServo1.attach(servo_pin.toInt(), 500, 2400);
|
||||
// myServo1.write(start_state_int);
|
||||
//#endif
|
||||
//
|
||||
// jsonWriteInt(configOptionJson, "s_min_val" + number, min_value);
|
||||
// jsonWriteInt(configOptionJson, "s_max_val" + number, max_value);
|
||||
// jsonWriteInt(configOptionJson, "s_min_deg" + number, min_deg);
|
||||
// jsonWriteInt(configOptionJson, "s_max_deg" + number, max_deg);
|
||||
//
|
||||
// jsonWriteInt(configLiveJson, "servo" + number, value);
|
||||
//
|
||||
// createWidgetParam(widget, page, pageNumber, "range", "servo" + number, "min", String(min_value), "max", String(max_value), "k", "1");
|
||||
//}
|
||||
//
|
||||
//void servoSet() {
|
||||
// String number = sCmd.next();
|
||||
// int value = String(sCmd.next()).toInt();
|
||||
//
|
||||
// value = map(value,
|
||||
// jsonReadInt(configOptionJson, "s_min_val" + number),
|
||||
// jsonReadInt(configOptionJson, "s_max_val" + number),
|
||||
// jsonReadInt(configOptionJson, "s_min_deg" + number),
|
||||
// jsonReadInt(configOptionJson, "s_max_deg" + number));
|
||||
//
|
||||
// Servo *servo = myServo.get(number.toInt());
|
||||
// if (servo) {
|
||||
// servo->write(value);
|
||||
// }
|
||||
//
|
||||
// eventGen2("servo", number);
|
||||
// jsonWriteInt(configLiveJson, "servo" + number, value);
|
||||
// publishStatus("servo" + number, String(value, DEC));
|
||||
//}
|
||||
//#endif
|
||||
////====================================================================================================================================================
|
||||
////=============================================================Модуль сериал порта=======================================================================
|
||||
//
|
||||
//#ifdef SERIAL_ENABLED
|
||||
//void serialBegin() {
|
||||
// String s_speed = sCmd.next();
|
||||
// String rxPin = sCmd.next();
|
||||
// String txPin = sCmd.next();
|
||||
//
|
||||
// if (mySerial) {
|
||||
// delete mySerial;
|
||||
// }
|
||||
//
|
||||
//#ifdef ESP8266
|
||||
// mySerial = new SoftwareSerial(rxPin.toInt(), txPin.toInt());
|
||||
// mySerial->begin(s_speed.toInt());
|
||||
//#else
|
||||
// mySerial = new HardwareSerial(2);
|
||||
// mySerial->begin(rxPin.toInt(), txPin.toInt());
|
||||
//#endif
|
||||
//
|
||||
// term = new Terminal(mySerial);
|
||||
// term->setEOL(LF);
|
||||
// term->enableColors(false);
|
||||
// term->enableControlCodes(false);
|
||||
// term->enableEcho(false);
|
||||
// term->setOnReadLine([](const char *str) {
|
||||
// String line = String(str);
|
||||
// loopCmdAdd(line);
|
||||
// });
|
||||
//}
|
||||
//
|
||||
//void getData() {
|
||||
// String param = sCmd.next();
|
||||
// String res = param.length() ? jsonReadStr(configLiveJson, param) : configLiveJson;
|
||||
// if (term) {
|
||||
// term->println(res.c_str());
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//void serialWrite() {
|
||||
// String payload = sCmd.next();
|
||||
// if (term) {
|
||||
// term->println(payload.c_str());
|
||||
// }
|
||||
//}
|
||||
//#endif
|
||||
////====================================================================================================================================================
|
||||
////=================================================Глобальные команды удаленного управления===========================================================
|
||||
//
|
||||
//void mqttOrderSend() {
|
||||
// String id = sCmd.next();
|
||||
// String order = sCmd.next();
|
||||
//
|
||||
// String all_line = jsonReadStr(configSetupJson, "mqttPrefix") + "/" + id + "/order";
|
||||
// mqtt.publish(all_line.c_str(), order.c_str(), false);
|
||||
//}
|
||||
//
|
||||
//void httpOrderSend() {
|
||||
// String ip = sCmd.next();
|
||||
// String order = sCmd.next();
|
||||
// order.replace("_", "%20");
|
||||
// String url = "http://" + ip + "/cmd?command=" + order;
|
||||
// getURL(url);
|
||||
//}
|
||||
//
|
||||
//void firmwareUpdate() {
|
||||
// myNotAsyncActions->make(do_UPGRADE);
|
||||
//}
|
||||
//
|
||||
//void firmwareVersion() {
|
||||
// String widget = sCmd.next();
|
||||
// String page = sCmd.next();
|
||||
// String pageNumber = sCmd.next();
|
||||
//
|
||||
// jsonWriteStr(configLiveJson, "firmver", FIRMWARE_VERSION);
|
||||
// createWidget(widget, page, pageNumber, "anydata", "firmver");
|
||||
//}
|
||||
@@ -1,75 +0,0 @@
|
||||
#include "MqttDiscovery.h"
|
||||
|
||||
namespace Discovery {
|
||||
|
||||
static const char json_is_defined[] = "is_defined";
|
||||
static const char jsonId[] = "id";
|
||||
static const char jsonBatt[] = "batt";
|
||||
static const char jsonLux[] = "lux";
|
||||
static const char jsonPres[] = "pres";
|
||||
static const char jsonFer[] = "fer";
|
||||
static const char jsonMoi[] = "moi";
|
||||
static const char jsonHum[] = "hum";
|
||||
static const char jsonTemp[] = "tem";
|
||||
static const char jsonStep[] = "steps";
|
||||
static const char jsonWeight[] = "weight";
|
||||
static const char jsonPresence[] = "presence";
|
||||
static const char jsonAltim[] = "altim";
|
||||
static const char jsonAltif[] = "altift";
|
||||
static const char jsonTempf[] = "tempf";
|
||||
static const char jsonMsg[] = "message";
|
||||
static const char jsonVal[] = "value";
|
||||
static const char jsonVolt[] = "volt";
|
||||
static const char jsonCurrent[] = "current";
|
||||
static const char jsonPower[] = "power";
|
||||
static const char jsonGpio[] = "gpio";
|
||||
static const char jsonFtcd[] = "ftcd";
|
||||
static const char jsonWm2[] = "wattsm2";
|
||||
static const char jsonAdc[] = "adc";
|
||||
static const char jsonPa[] = "pa";
|
||||
|
||||
const String getValueJson(const char* str) {
|
||||
char buf[32];
|
||||
sprintf(buf, "{{ value_json.%s }}", str);
|
||||
return buf;
|
||||
}
|
||||
|
||||
void createDiscovery(
|
||||
const char* type, const char* name, const char* clazz,
|
||||
const char* value_template, const char* payload_on, const char* payload_off,
|
||||
const char* maasure_unit, int off_delay, const char* has_payload, const char* no_payload,
|
||||
const char* avail_topi, const char* cmd_topic, const char* state_topic, bool child) {
|
||||
//const char* unique_id = getUniqueId(name).c_str();
|
||||
}
|
||||
|
||||
void createADC(const char* name) {
|
||||
createDiscovery(
|
||||
"Type", "Name", "Clazz",
|
||||
"Value", "Payload", "NoPayload",
|
||||
"Measure", 0, "HasPayload", "NoPayload",
|
||||
"", "", "", false);
|
||||
}
|
||||
|
||||
void createSwitch(const char* name) {
|
||||
createDiscovery(
|
||||
"Type", "Name", "Clazz",
|
||||
"Value", "Payload", "NoPayload",
|
||||
"Measure", 0, "HasPayload", "NoPayload",
|
||||
"", "", "", false);
|
||||
}
|
||||
// component,
|
||||
// type,
|
||||
// name,
|
||||
// availability topic,
|
||||
// device class,
|
||||
// value template, payload on, payload off, unit of measurement
|
||||
const char* BMEsensor[6][8] = {
|
||||
{"sensor", "tempc", "bme", "temperature", "", "", "°C"}, //jsonTemp
|
||||
{"sensor", "tempf", "bme", "temperature", "", "", "°F"}, //jsonTempf
|
||||
{"sensor", "pa", "bme", "", "", "", "hPa"}, //jsonPa
|
||||
{"sensor", "hum", "bme", "humidity", "", "", "%"}, // jsonHum
|
||||
{"sensor", "altim", "bme", "", "", "", "m"}, //jsonAltim
|
||||
{"sensor", "altift", "bme", "", "", "", "ft"} // jsonAltif
|
||||
};
|
||||
|
||||
} // namespace Discovery
|
||||
@@ -1,60 +0,0 @@
|
||||
#include "Global.h"
|
||||
|
||||
void Push_init() {
|
||||
server.on("/pushingboxDate", HTTP_GET, [](AsyncWebServerRequest* request) {
|
||||
if (request->hasArg("pushingbox_id")) {
|
||||
jsonWriteStr(configSetupJson, "pushingbox_id", request->getParam("pushingbox_id")->value());
|
||||
}
|
||||
|
||||
saveConfig();
|
||||
|
||||
request->send(200, "text/text", "ok"); // отправляем ответ о выполнении
|
||||
});
|
||||
}
|
||||
|
||||
void pushControl() {
|
||||
String title = sCmd.next();
|
||||
title.replace("#", " ");
|
||||
String body = sCmd.next();
|
||||
body.replace("#", " ");
|
||||
|
||||
static String body_old;
|
||||
|
||||
const char* logServer = "api.pushingbox.com";
|
||||
String deviceId = jsonReadStr(configSetupJson, "pushingbox_id");
|
||||
|
||||
//Serial.println("- starting client");
|
||||
|
||||
WiFiClient client_push;
|
||||
|
||||
//Serial.println("- connecting to pushing server: " + String(logServer));
|
||||
if (!client_push.connect(logServer, 80)) {
|
||||
//Serial.println("- not connected");
|
||||
} else {
|
||||
//Serial.println("- succesfully connected");
|
||||
|
||||
String postStr = "devid=";
|
||||
postStr += String(deviceId);
|
||||
|
||||
postStr += "&title=";
|
||||
postStr += String(title);
|
||||
|
||||
postStr += "&body=";
|
||||
postStr += String(body);
|
||||
|
||||
postStr += "\r\n\r\n";
|
||||
|
||||
//Serial.println("- sending data...");
|
||||
|
||||
client_push.print(F("POST /pushingbox HTTP/1.1\n"));
|
||||
client_push.print(F("Host: api.pushingbox.com\n"));
|
||||
client_push.print(F("Connection: close\n"));
|
||||
client_push.print(F("Content-Type: application/x-www-form-urlencoded\n"));
|
||||
client_push.print(F("Content-Length: "));
|
||||
client_push.print(postStr.length());
|
||||
client_push.print("\n\n");
|
||||
client_push.print(postStr);
|
||||
}
|
||||
client_push.stop();
|
||||
//Serial.println("- stopping the client");
|
||||
}
|
||||
405
src/Sensors.cpp
405
src/Sensors.cpp
@@ -1,405 +0,0 @@
|
||||
//#include "Cmd.h"
|
||||
//#include "Global.h"
|
||||
|
||||
//GMedian<10, int> medianFilter;
|
||||
//
|
||||
//Adafruit_BMP280 bmp;
|
||||
//Adafruit_Sensor *bmp_temp = bmp.getTemperatureSensor();
|
||||
//Adafruit_Sensor *bmp_pressure = bmp.getPressureSensor();
|
||||
//
|
||||
//Adafruit_BME280 bme;
|
||||
//Adafruit_Sensor *bme_temp = bme.getTemperatureSensor();
|
||||
//Adafruit_Sensor *bme_pressure = bme.getPressureSensor();
|
||||
//Adafruit_Sensor *bme_humidity = bme.getHumiditySensor();
|
||||
|
||||
///const String perceptionStr(byte value);
|
||||
///const String comfortStr(ComfortState value);
|
||||
|
||||
//void bmp280T_reading();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
////=========================================================================================================================================
|
||||
////=========================================Модуль сенсоров DHT=============================================================================
|
||||
//#ifdef DHT_ENABLED
|
||||
////dhtT t 2 dht11 Температура#DHT,#t°C Датчики any-data 1
|
||||
//void dhtT() {
|
||||
// String value_name = sCmd.next();
|
||||
// String pin = sCmd.next();
|
||||
// String sensor_type = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //dhtT_value_name = value_name;
|
||||
// if (sensor_type == "dht11") {
|
||||
// dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||
// }
|
||||
// if (sensor_type == "dht22") {
|
||||
// dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||
// }
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// //sensors_reading_map[4] = 1;
|
||||
//}
|
||||
//
|
||||
//void dhtT_reading() {
|
||||
// float value = 0;
|
||||
// static int counter;
|
||||
// if (dht.getStatus() != 0 && counter < 5) {
|
||||
// // publishStatus(dhtT_value_name, String(dht.getStatusString()));
|
||||
// counter++;
|
||||
// } else {
|
||||
// counter = 0;
|
||||
// value = dht.getTemperature();
|
||||
// if (String(value) != "nan") {
|
||||
// //eventGen2(dhtT_value_name, "");
|
||||
// //jsonWriteStr(configLiveJson, dhtT_value_name, String(value));
|
||||
// // publishStatus(dhtT_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + dhtT_value_name + "' data: " + String(value));
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
////dhtH h 2 dht11 Влажность#DHT,#t°C Датчики any-data 1
|
||||
//void dhtH() {
|
||||
// String value_name = sCmd.next();
|
||||
// String pin = sCmd.next();
|
||||
// String sensor_type = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //dhtH_value_name = value_name;
|
||||
// if (sensor_type == "dht11") {
|
||||
// dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||
// }
|
||||
// if (sensor_type == "dht22") {
|
||||
// dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||
// }
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// //sensors_reading_map[5] = 1;
|
||||
//}
|
||||
//
|
||||
//void dhtH_reading() {
|
||||
// float value = 0;
|
||||
// static int counter;
|
||||
// if (dht.getStatus() != 0 && counter < 5) {
|
||||
// // publishStatus(dhtH_value_name, String(dht.getStatusString()));
|
||||
// counter++;
|
||||
// } else {
|
||||
// counter = 0;
|
||||
// value = dht.getHumidity();
|
||||
// if (String(value) != "nan") {
|
||||
// //eventGen2(dhtH_value_name, "");
|
||||
// //jsonWriteStr(configLiveJson, dhtH_value_name, String(value));
|
||||
// // publishStatus(dhtH_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + dhtH_value_name + "' data: " + String(value));
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
////dhtPerception Восприятие: Датчики 4
|
||||
//void dhtP() {
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// createWidgetByType(widget_name, page_name, page_number, "any-data", "dhtPerception");
|
||||
// //sensors_reading_map[6] = 1;
|
||||
//}
|
||||
//
|
||||
//void dhtP_reading() {
|
||||
// byte value;
|
||||
// if (dht.getStatus() != 0) {
|
||||
// publishStatus("dhtPerception", String(dht.getStatusString()));
|
||||
// } else {
|
||||
// //value = dht.computePerception(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
// String final_line = perceptionStr(value);
|
||||
// jsonWriteStr(configLiveJson, "dhtPerception", final_line);
|
||||
// eventGen2("dhtPerception", "");
|
||||
// publishStatus("dhtPerception", final_line);
|
||||
// if (mqtt.connected()) {
|
||||
// SerialPrint("I", "Sensor", "'dhtPerception' data: " + final_line);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
////dhtComfort Степень#комфорта: Датчики 3
|
||||
//void dhtC() {
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// createWidgetByType(widget_name, page_name, page_number, "anydata", "dhtComfort");
|
||||
// //sensors_reading_map[7] = 1;
|
||||
//}
|
||||
//
|
||||
//void dhtC_reading() {
|
||||
// ComfortState cf;
|
||||
// if (dht.getStatus() != 0) {
|
||||
// publishStatus("dhtComfort", String(dht.getStatusString()));
|
||||
// } else {
|
||||
// //dht.getComfortRatio(cf, jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
// String final_line = comfortStr(cf);
|
||||
// jsonWriteStr(configLiveJson, "dhtComfort", final_line);
|
||||
// eventGen2("dhtComfort", "");
|
||||
// publishStatus("dhtComfort", final_line);
|
||||
// SerialPrint("I", "Sensor", "'dhtComfort' send date " + final_line);
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//const String perceptionStr(byte value) {
|
||||
// String res;
|
||||
// switch (value) {
|
||||
// case 0:
|
||||
// res = F("Сухой воздух");
|
||||
// break;
|
||||
// case 1:
|
||||
// res = F("Комфортно");
|
||||
// break;
|
||||
// case 2:
|
||||
// res = F("Уютно");
|
||||
// break;
|
||||
// case 3:
|
||||
// res = F("Хорошо");
|
||||
// break;
|
||||
// case 4:
|
||||
// res = F("Неудобно");
|
||||
// break;
|
||||
// case 5:
|
||||
// res = F("Довольно неудобно");
|
||||
// break;
|
||||
// case 6:
|
||||
// res = F("Очень неудобно");
|
||||
// break;
|
||||
// case 7:
|
||||
// res = F("Невыносимо");
|
||||
// default:
|
||||
// res = F("Unknown");
|
||||
// break;
|
||||
// }
|
||||
// return res;
|
||||
//}
|
||||
//
|
||||
//const String comfortStr(ComfortState value) {
|
||||
// String res;
|
||||
// switch (value) {
|
||||
// case Comfort_OK:
|
||||
// res = F("Отлично");
|
||||
// break;
|
||||
// case Comfort_TooHot:
|
||||
// res = F("Очень жарко");
|
||||
// break;
|
||||
// case Comfort_TooCold:
|
||||
// res = F("Очень холодно");
|
||||
// break;
|
||||
// case Comfort_TooDry:
|
||||
// res = F("Очень сухо");
|
||||
// break;
|
||||
// case Comfort_TooHumid:
|
||||
// res = F("Очень влажно");
|
||||
// break;
|
||||
// case Comfort_HotAndHumid:
|
||||
// res = F("Жарко и влажно");
|
||||
// break;
|
||||
// case Comfort_HotAndDry:
|
||||
// res = F("Жарко и сухо");
|
||||
// break;
|
||||
// case Comfort_ColdAndHumid:
|
||||
// res = F("Холодно и влажно");
|
||||
// break;
|
||||
// case Comfort_ColdAndDry:
|
||||
// res = F("Холодно и сухо");
|
||||
// break;
|
||||
// default:
|
||||
// res = F("Неизвестно");
|
||||
// break;
|
||||
// };
|
||||
// return res;
|
||||
//}
|
||||
//
|
||||
////dhtDewpoint Точка#росы: Датчики 5
|
||||
//void dhtD() {
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// createWidgetByType(widget_name, page_name, page_number, "anydata", "dhtDewpoint");
|
||||
// //sensors_reading_map[8] = 1;
|
||||
//}
|
||||
//
|
||||
//void dhtD_reading() {
|
||||
// float value;
|
||||
// if (dht.getStatus() != 0) {
|
||||
// publishStatus("dhtDewpoint", String(dht.getStatusString()));
|
||||
// } else {
|
||||
// //value = dht.computeDewPoint(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
// jsonWriteInt(configLiveJson, "dhtDewpoint", value);
|
||||
// eventGen2("dhtDewpoint", "");
|
||||
// publishStatus("dhtDewpoint", String(value));
|
||||
// SerialPrint("I", "Sensor", "'dhtDewpoint' data: " + String(value));
|
||||
// }
|
||||
//}
|
||||
//#endif
|
||||
//=========================================i2c bus esp8266 scl-4 sda-5 ====================================================================
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль сенсоров bmp280==========================================================================
|
||||
|
||||
////bmp280T temp1 0x76 Температура#bmp280 Датчики any-data 1
|
||||
//void bmp280T() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bmp280T_value_name = value_name;
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// bmp.begin(hexStringToUint8(address));
|
||||
// bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
|
||||
// Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
|
||||
// Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
|
||||
// Adafruit_BMP280::FILTER_X16, /* Filtering. */
|
||||
// Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
|
||||
// //bmp_temp->printSensorDetails();
|
||||
// //sensors_reading_map[9] = 1;
|
||||
//}
|
||||
//
|
||||
//void bmp280T_reading() {
|
||||
// float value = 0;
|
||||
// sensors_event_t temp_event;
|
||||
// bmp_temp->getEvent(&temp_event);
|
||||
// value = temp_event.temperature;
|
||||
// //jsonWriteStr(configLiveJson, bmp280T_value_name, String(value));
|
||||
// //eventGen2(bmp280T_value_name, "");
|
||||
// // publishStatus(bmp280T_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + bmp280T_value_name + "' data: " + String(value));
|
||||
//}
|
||||
//
|
||||
////bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2
|
||||
//void bmp280P() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bmp280P_value_name = value_name;
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// bmp.begin(hexStringToUint8(address));
|
||||
// bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
|
||||
// Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
|
||||
// Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
|
||||
// Adafruit_BMP280::FILTER_X16, /* Filtering. */
|
||||
// Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
|
||||
// //bmp_temp->printSensorDetails();
|
||||
// //sensors_reading_map[10] = 1;
|
||||
//}
|
||||
//
|
||||
//void bmp280P_reading() {
|
||||
// float value = 0;
|
||||
// sensors_event_t pressure_event;
|
||||
// bmp_pressure->getEvent(&pressure_event);
|
||||
// value = pressure_event.pressure;
|
||||
// value = value / 1.333224;
|
||||
// //jsonWriteStr(configLiveJson, bmp280P_value_name, String(value));
|
||||
// //eventGen2(bmp280P_value_name, "");
|
||||
// // publishStatus(bmp280P_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + bmp280P_value_name + "' data: " + String(value));
|
||||
//}
|
||||
//
|
||||
////=========================================================================================================================================
|
||||
////=============================================Модуль сенсоров bme280======================================================================
|
||||
////bme280T temp1 0x76 Температура#bmp280 Датчики any-data 1
|
||||
//void bme280T() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bme280T_value_name = value_name;
|
||||
// //createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// //bme.begin(hexStringToUint8(address));
|
||||
// //sensors_reading_map[11] = 1;
|
||||
//}
|
||||
//
|
||||
//void bme280T_reading() {
|
||||
// float value = 0;
|
||||
// value = bme.readTemperature();
|
||||
// //jsonWriteStr(configLiveJson, bme280T_value_name, String(value));
|
||||
// //eventGen2(bme280T_value_name, "");
|
||||
// // publishStatus(bme280T_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + bme280T_value_name + "' data: " + String(value));
|
||||
//}
|
||||
//
|
||||
////bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1
|
||||
//void bme280P() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bme280P_value_name = value_name;
|
||||
// //createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// //bme.begin(hexStringToUint8(address));
|
||||
// //sensors_reading_map[12] = 1;
|
||||
//}
|
||||
//
|
||||
//void bme280P_reading() {
|
||||
// float value = 0;
|
||||
// value = bme.readPressure();
|
||||
// value = value / 1.333224 / 100;
|
||||
// //jsonWriteStr(configLiveJson, bme280P_value_name, String(value));
|
||||
// //eventGen2(bme280P_value_name, "");
|
||||
// // publishStatus(bme280P_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + bme280P_value_name + "' data: " + String(value));
|
||||
//}
|
||||
//
|
||||
////bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1
|
||||
//void bme280H() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bme280H_value_name = value_name;
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// bme.begin(hexStringToUint8(address));
|
||||
// //sensors_reading_map[13] = 1;
|
||||
//}
|
||||
//
|
||||
//void bme280H_reading() {
|
||||
// float value = 0;
|
||||
// value = bme.readHumidity();
|
||||
// //jsonWriteStr(configLiveJson, bme280H_value_name, String(value));
|
||||
// //eventGen2(bme280H_value_name, "");
|
||||
// // publishStatus(bme280H_value_name, String(value));
|
||||
// //SerialPrint("I", "Sensor", "'" + bme280H_value_name + "' data: " + String(value));
|
||||
//}
|
||||
//
|
||||
////bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1
|
||||
//void bme280A() {
|
||||
// String value_name = sCmd.next();
|
||||
// String address = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// //bme280A_value_name = value_name;
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// bme.begin(hexStringToUint8(address));
|
||||
// //sensors_reading_map[14] = 1;
|
||||
//}
|
||||
//
|
||||
//void bme280A_reading() {
|
||||
// float value = bme.readAltitude(1013.25);
|
||||
// //jsonWriteStr(configLiveJson, bme280A_value_name, String(value, 2));
|
||||
//
|
||||
// //eventGen2(bme280A_value_name, "");
|
||||
//
|
||||
// // publishStatus(bme280A_value_name, String(value));
|
||||
//
|
||||
// //SerialPrint("I", "Sensor", "'" + bme280A_value_name + "' data: " + String(value));
|
||||
//}
|
||||
@@ -52,7 +52,7 @@ void telegramMsgParse(String msg) {
|
||||
}
|
||||
else if (msg.indexOf("get") != -1) {
|
||||
msg = deleteBeforeDelimiter(msg, "_");
|
||||
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), jsonReadStr(configLiveJson, msg));
|
||||
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), getValue(msg)); //jsonReadStr(configLiveJson , msg));
|
||||
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + String(msg));
|
||||
}
|
||||
else if (msg.indexOf("all") != -1) {
|
||||
@@ -99,7 +99,7 @@ String returnListOfParams() {
|
||||
count++;
|
||||
if (count > 1) {
|
||||
String id = selectFromMarkerToMarker(buf, ";", 2);
|
||||
String value = jsonReadStr(configLiveJson, id);
|
||||
String value = getValue(id); //jsonReadStr(configLiveJson , id);
|
||||
String page = selectFromMarkerToMarker(buf, ";", 4);
|
||||
page.replace("#", " ");
|
||||
String name = selectFromMarkerToMarker(buf, ";", 5);
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
#include "Global.h"
|
||||
|
||||
//================================================================================================================
|
||||
//=========================================Таймеры=================================================================
|
||||
void Timer_countdown_init() {
|
||||
ts.add(
|
||||
TIMER_COUNTDOWN, 1000, [&](void*) {
|
||||
String old_line = jsonReadStr(configOptionJson, "timers");
|
||||
if (old_line != "") {
|
||||
//Serial.println(old_line);
|
||||
int i = 0;
|
||||
do {
|
||||
String timer = selectFromMarkerToMarker(old_line, ",", i);
|
||||
//Serial.print("timer no " + String(i) + ": ");
|
||||
//Serial.println(timer);
|
||||
if (timer == "not found" || timer == "") return;
|
||||
int number = selectToMarker(timer, ":").toInt();
|
||||
int time = readTimer(number);
|
||||
if (time == 0) {
|
||||
delTimer(String(number));
|
||||
jsonWriteStr(configLiveJson, "timer" + String(number), "0");
|
||||
eventGen2("timer", String(number));
|
||||
} else {
|
||||
time--;
|
||||
addTimer(String(number), String(time));
|
||||
}
|
||||
i++;
|
||||
} while (i <= 9);
|
||||
}
|
||||
},
|
||||
nullptr, true);
|
||||
}
|
||||
|
||||
void timerStart_() {
|
||||
String number = sCmd.next();
|
||||
String period_of_time = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
if (period_of_time.indexOf("digit") != -1) {
|
||||
//period_of_time = add_set(period_of_time);
|
||||
period_of_time = jsonReadStr(configLiveJson, period_of_time);
|
||||
}
|
||||
if (type == "sec") period_of_time = period_of_time;
|
||||
if (type == "min") period_of_time = String(period_of_time.toInt() * 60);
|
||||
if (type == "hours") period_of_time = String(period_of_time.toInt() * 60 * 60);
|
||||
addTimer(number, period_of_time);
|
||||
jsonWriteStr(configLiveJson, "timer" + number, "1");
|
||||
}
|
||||
void addTimer(String number, String time) {
|
||||
String tmp = jsonReadStr(configOptionJson, "timers"); //1:60,2:120,
|
||||
String new_timer = number + ":" + time;
|
||||
int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо заменить
|
||||
if (psn1 != -1) { //если он есть
|
||||
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
|
||||
String timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо заменить
|
||||
///tmp.replace(timer, new_timer); //заменяем таймер на новый (во всей стороке)
|
||||
tmp.replace(timer + ",", "");
|
||||
tmp += new_timer + ",";
|
||||
} else { //если его нет
|
||||
tmp += new_timer + ",";
|
||||
}
|
||||
jsonWriteStr(configOptionJson, "timers", tmp);
|
||||
//Serial.println("ura");
|
||||
}
|
||||
|
||||
void timerStop_() {
|
||||
String number = sCmd.next();
|
||||
delTimer(number);
|
||||
}
|
||||
|
||||
void delTimer(String number) {
|
||||
String tmp = jsonReadStr(configOptionJson, "timers"); //1:60,2:120,
|
||||
int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо удалить
|
||||
if (psn1 != -1) { //если он есть
|
||||
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
|
||||
String timer = tmp.substring(psn1, psn2) + ","; //1:60, выделяем таймер который надо удалить
|
||||
tmp.replace(timer, ""); //удаляем таймер
|
||||
jsonWriteStr(configOptionJson, "timers", tmp);
|
||||
}
|
||||
}
|
||||
|
||||
int readTimer(int number) {
|
||||
String tmp = jsonReadStr(configOptionJson, "timers"); //1:60,2:120,
|
||||
int psn1 = tmp.indexOf(String(number) + ":"); //0 ищем позицию таймера который надо прочитать
|
||||
String timer;
|
||||
if (psn1 != -1) { //если он есть
|
||||
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
|
||||
timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо прочитать
|
||||
timer = deleteBeforeDelimiter(timer, ":");
|
||||
}
|
||||
return timer.toInt();
|
||||
}
|
||||
@@ -62,7 +62,7 @@ void countDown() {
|
||||
void countDownExecute() {
|
||||
String key = sCmd.order();
|
||||
String countDownPeriod = sCmd.next();
|
||||
|
||||
|
||||
int number = getKeyNum(key, countDown_KeyList);
|
||||
|
||||
if (myCountDown != nullptr) {
|
||||
|
||||
@@ -20,7 +20,7 @@ void LoggingClass::loop() {
|
||||
difference = currentMillis - prevMillis;
|
||||
if (difference >= _period) {
|
||||
prevMillis = millis();
|
||||
addNewDelOldData("logs/" + _key + ".txt", _maxPoints, jsonReadStr(configLiveJson, _loggingValueKey));
|
||||
addNewDelOldData("logs/" + _key + ".txt", _maxPoints, getValue(_loggingValueKey)); //jsonReadStr(configLiveJson , _loggingValueKey));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ void setup() {
|
||||
//esp_log_level_set("esp_littlefs", ESP_LOG_NONE);
|
||||
|
||||
ts.add(
|
||||
TEST, 1000 * 60, [&](void*) {
|
||||
SYGNAL, 1000 * 60, [&](void*) {
|
||||
SerialPrint("I", "System", printMemoryStatus());
|
||||
switch (RSSIquality()) {
|
||||
case 0:
|
||||
@@ -126,6 +126,8 @@ void setup() {
|
||||
},
|
||||
nullptr, true);
|
||||
|
||||
|
||||
|
||||
just_load = false;
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user