mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"*.tcc": "cpp",
|
"*.tcc": "cpp",
|
||||||
"string": "cpp"
|
"string": "cpp",
|
||||||
|
"functional": "cpp"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1 +1 @@
|
|||||||
0;input-time;id;inputTime;Ввод;Введите#время;order;st[10-00-00]
|
0;input-time;id;inputTime;Ввод;Введите#время;order;st[10:00:00]
|
||||||
@@ -1 +1 @@
|
|||||||
0;uptime;id;anydataTime;Системные;Uptime#(ver#%ver%);order
|
0;uptime;id;anydataTime;Системные;%name%#uptime;order
|
||||||
@@ -1 +1 @@
|
|||||||
Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета
|
Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "h4",
|
"type": "h4",
|
||||||
"title": "Time: {{time}}"
|
"title": "Time: {{timenow}}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "h4",
|
"type": "h4",
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "h4",
|
"type": "h4",
|
||||||
"title": "LittleFS version: 260"
|
"title": "LittleFS version: 261"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "hr"
|
"type": "hr"
|
||||||
|
|||||||
@@ -28,8 +28,7 @@
|
|||||||
"type": "input",
|
"type": "input",
|
||||||
"title": "{{SetWiFiNameOfDev}}",
|
"title": "{{SetWiFiNameOfDev}}",
|
||||||
"name": "devname-arg",
|
"name": "devname-arg",
|
||||||
"state": "{{name}}",
|
"state": "{{name}}"
|
||||||
"pattern": "[A-Za-z0-9]{6,12}"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
|
|||||||
6
data/widgets/btn.json
Normal file
6
data/widgets/btn.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"widget": "btn",
|
||||||
|
"size": "large",
|
||||||
|
"color": "green",
|
||||||
|
"send": "test"
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"widget": "select",
|
"widget": "select",
|
||||||
"size" : "small",
|
"options": [
|
||||||
"fill" : "outline",
|
"Выключен",
|
||||||
"options" : "["Zero item", "First item", "Second item"]",
|
"Включен"
|
||||||
"status" : 2
|
],
|
||||||
|
"status": 0
|
||||||
}
|
}
|
||||||
@@ -92,6 +92,7 @@ class LineParsing {
|
|||||||
_descr.replace("#", " ");
|
_descr.replace("#", " ");
|
||||||
|
|
||||||
_descr.replace("%ver%", String(FIRMWARE_VERSION));
|
_descr.replace("%ver%", String(FIRMWARE_VERSION));
|
||||||
|
_descr.replace("%name%", jsonReadStr(configSetupJson, F("name")));
|
||||||
|
|
||||||
createWidgetClass(_descr, _page, _order, _file, _key);
|
createWidgetClass(_descr, _page, _order, _file, _key);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Utils/TimeUtils.h"
|
|
||||||
#include "Utils/PrintMessage.h"
|
|
||||||
#include "Global.h"
|
|
||||||
#include "Clock.h"
|
#include "Clock.h"
|
||||||
|
#include "Global.h"
|
||||||
|
#include "Utils/TimeUtils.h"
|
||||||
|
#include "Utils\SerialPrint.h"
|
||||||
|
|
||||||
|
extern void clock_init();
|
||||||
|
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
#include "sntp.h"
|
#include "sntp.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class Clock {
|
class Clock {
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Time_t _time_local;
|
Time_t _time_local;
|
||||||
Time_t _time_utc;
|
Time_t _time_utc;
|
||||||
@@ -39,7 +39,6 @@ class Clock {
|
|||||||
if (drift > 1) {
|
if (drift > 1) {
|
||||||
// Обработать ситуации c дрифтом времени на значительные величины
|
// Обработать ситуации c дрифтом времени на значительные величины
|
||||||
}
|
}
|
||||||
// TODO сохранять время на флеше
|
|
||||||
|
|
||||||
_unixtime = now;
|
_unixtime = now;
|
||||||
|
|
||||||
@@ -71,27 +70,26 @@ class Clock {
|
|||||||
|
|
||||||
void startSync() {
|
void startSync() {
|
||||||
if (!_configured) {
|
if (!_configured) {
|
||||||
//SerialPrint("I","module","sync to: " + _ntp + " timezone: " + String(_timezone));
|
SerialPrint("I", "NTP", "sync to: " + _ntp + " timezone: " + String(_timezone));
|
||||||
setupSntp();
|
setupSntp();
|
||||||
_configured = true;
|
_configured = true;
|
||||||
// лучше не ждать, проверим в следующий раз
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_hasSynced = hasTimeSynced();
|
_hasSynced = hasTimeSynced();
|
||||||
if (_hasSynced) {
|
if (_hasSynced) {
|
||||||
//SerialPrint("I","module","synced " + getDateDotFormated() + " " + getTime());
|
SerialPrint("I", "NTP", "synced " + getDateDotFormated() + " " + getTime());
|
||||||
} else {
|
} else {
|
||||||
//SerialPrint("[E]","module","failed to obtain");
|
SerialPrint("E", "NTP", "failed to obtain time");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setupSntp() {
|
void setupSntp() {
|
||||||
#ifdef ESP2866
|
#ifdef ESP8266
|
||||||
sntp_setservername(0, _ntp.c_str());
|
sntp_setservername(0, _ntp.c_str());
|
||||||
sntp_setservername(1, "ru.pool.ntp.org");
|
sntp_setservername(1, "ru.pool.ntp.org");
|
||||||
sntp_setservername(2, "pool.ntp.org");
|
sntp_setservername(2, "pool.ntp.org");
|
||||||
sntp_stop();
|
sntp_stop();
|
||||||
sntp_set_timezone(0); // UTC time
|
sntp_set_timezone(0);
|
||||||
sntp_init();
|
sntp_init();
|
||||||
#else
|
#else
|
||||||
configTime(0, 0, _ntp.c_str(), "ru.pool.ntp.org", "pool.ntp.org");
|
configTime(0, 0, _ntp.c_str(), "ru.pool.ntp.org", "pool.ntp.org");
|
||||||
@@ -165,3 +163,4 @@ class Clock {
|
|||||||
return prettyMillis(_uptime);
|
return prettyMillis(_uptime);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
extern Clock* timeNow;
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
//
|
//
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
#define FIRMWARE_NAME "esp8266-iotm"
|
#define FIRMWARE_NAME "esp8266-iotm"
|
||||||
#define FIRMWARE_VERSION 260
|
#define FIRMWARE_VERSION 261
|
||||||
#endif
|
#endif
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
#define FIRMWARE_NAME "esp32-iotm"
|
#define FIRMWARE_NAME "esp32-iotm"
|
||||||
@@ -85,7 +85,8 @@ struct Time_t {
|
|||||||
|
|
||||||
enum TimerTask_t { WIFI_SCAN,
|
enum TimerTask_t { WIFI_SCAN,
|
||||||
WIFI_MQTT_CONNECTION_CHECK,
|
WIFI_MQTT_CONNECTION_CHECK,
|
||||||
SENSORS,
|
SENSORS10SEC,
|
||||||
|
SENSORS30SEC,
|
||||||
STEPPER1,
|
STEPPER1,
|
||||||
STEPPER2,
|
STEPPER2,
|
||||||
LOG1,
|
LOG1,
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <Arduino.h>
|
|
||||||
|
|
||||||
#include "Utils/StringUtils.h"
|
|
||||||
|
|
||||||
class Error : public Printable {
|
|
||||||
public:
|
|
||||||
static Error OK() {
|
|
||||||
return Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
static Error InfoMessage(const char *message) {
|
|
||||||
return Error(EL_INFO, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Error ErrorMessage(const char *message) {
|
|
||||||
return Error(EL_ERROR, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
|
||||||
Error() : _type{ET_NONE}, _level{EL_NONE} {};
|
|
||||||
|
|
||||||
Error(const ErrorLevel_t level, const char *message) : Error(ET_FUNCTION, level, message){};
|
|
||||||
|
|
||||||
Error(const ErrorType_t type, const ErrorLevel_t level, const char *message) : _type{type}, _level{level} {
|
|
||||||
strncpy(_message, message, sizeof(_message));
|
|
||||||
};
|
|
||||||
|
|
||||||
const ErrorLevel_t level() const { return _level; }
|
|
||||||
|
|
||||||
const ErrorType_t type() const { return _type; }
|
|
||||||
|
|
||||||
const char *message() const { return _message; }
|
|
||||||
|
|
||||||
operator bool() const { return _level != EL_NONE; }
|
|
||||||
|
|
||||||
const String toString() const {
|
|
||||||
char buf[128];
|
|
||||||
sprintf(buf, "[%c] %s", getErrorLevelStr(_level), _message);
|
|
||||||
return String(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual size_t printTo(Print &p) const {
|
|
||||||
return p.println(toString().c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
char _message[128];
|
|
||||||
ErrorType_t _type;
|
|
||||||
ErrorLevel_t _level;
|
|
||||||
};
|
|
||||||
@@ -1,28 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
//===================Libraries===================================================================================================================================================
|
//===================Libraries===================================================================================================================================================
|
||||||
#include <Arduino.h>
|
|
||||||
#include <ArduinoJson.h>
|
|
||||||
|
|
||||||
#include "ESP32.h"
|
|
||||||
#include "ESP8266.h"
|
|
||||||
|
|
||||||
#include "Consts.h"
|
|
||||||
#include "Errors.h"
|
|
||||||
#include "GyverFilters.h"
|
|
||||||
#include "Upgrade.h"
|
|
||||||
#include "Clock.h"
|
|
||||||
|
|
||||||
#include "MqttClient.h"
|
|
||||||
#include "Utils/FileUtils.h"
|
|
||||||
#include "Utils/JsonUtils.h"
|
|
||||||
#include "Utils/StringUtils.h"
|
|
||||||
#include "Utils/SysUtils.h"
|
|
||||||
#include "Utils/PrintMessage.h"
|
|
||||||
#include "Utils/WiFiUtils.h"
|
|
||||||
#include "Utils/SerialPrint.h"
|
|
||||||
|
|
||||||
#include <Adafruit_BME280.h>
|
#include <Adafruit_BME280.h>
|
||||||
#include <Adafruit_BMP280.h>
|
#include <Adafruit_BMP280.h>
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <ArduinoJson.h>
|
||||||
|
#include <ArduinoOTA.h>
|
||||||
#include <Bounce2.h>
|
#include <Bounce2.h>
|
||||||
#include <DHTesp.h>
|
#include <DHTesp.h>
|
||||||
#include <DallasTemperature.h>
|
#include <DallasTemperature.h>
|
||||||
@@ -32,16 +14,27 @@
|
|||||||
#include <TickerScheduler.h>
|
#include <TickerScheduler.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <ArduinoOTA.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Clock.h"
|
||||||
|
#include "Consts.h"
|
||||||
|
#include "ESP32.h"
|
||||||
|
#include "ESP8266.h"
|
||||||
|
#include "GyverFilters.h"
|
||||||
|
#include "MqttClient.h"
|
||||||
|
#include "Upgrade.h"
|
||||||
|
#include "Utils/FileUtils.h"
|
||||||
|
#include "Utils/JsonUtils.h"
|
||||||
|
#include "Utils/SerialPrint.h"
|
||||||
|
#include "Utils/StringUtils.h"
|
||||||
|
#include "Utils/SysUtils.h"
|
||||||
|
#include "Utils/WiFiUtils.h"
|
||||||
|
|
||||||
#ifdef WEBSOCKET_ENABLED
|
#ifdef WEBSOCKET_ENABLED
|
||||||
extern AsyncWebSocket ws;
|
extern AsyncWebSocket ws;
|
||||||
//extern AsyncEventSource events;
|
//extern AsyncEventSource events;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern Clock* timeNow;
|
|
||||||
extern TickerScheduler ts;
|
extern TickerScheduler ts;
|
||||||
extern WiFiClient espClient;
|
extern WiFiClient espClient;
|
||||||
extern PubSubClient mqtt;
|
extern PubSubClient mqtt;
|
||||||
@@ -52,7 +45,6 @@ extern OneWire *oneWire;
|
|||||||
extern boolean but[NUM_BUTTONS];
|
extern boolean but[NUM_BUTTONS];
|
||||||
extern Bounce* buttons;
|
extern Bounce* buttons;
|
||||||
|
|
||||||
|
|
||||||
//Global vars
|
//Global vars
|
||||||
extern boolean just_load;
|
extern boolean just_load;
|
||||||
|
|
||||||
@@ -74,7 +66,8 @@ extern String itemsFile;
|
|||||||
extern String itemsLine;
|
extern String itemsLine;
|
||||||
|
|
||||||
// Sensors
|
// Sensors
|
||||||
extern String sensorReadingMap;
|
extern String sensorReadingMap10sec;
|
||||||
|
extern String sensorReadingMap30sec;
|
||||||
extern int8_t dallasEnterCounter;
|
extern int8_t dallasEnterCounter;
|
||||||
|
|
||||||
extern String logging_value_names_list;
|
extern String logging_value_names_list;
|
||||||
@@ -98,7 +91,6 @@ extern String getURL(const String& urls);
|
|||||||
extern void do_fscheck();
|
extern void do_fscheck();
|
||||||
extern void doBusScan();
|
extern void doBusScan();
|
||||||
extern void servo_();
|
extern void servo_();
|
||||||
extern void clock_init();
|
|
||||||
|
|
||||||
extern void setLedStatus(LedStatus_t);
|
extern void setLedStatus(LedStatus_t);
|
||||||
|
|
||||||
@@ -106,8 +98,6 @@ extern void setLedStatus(LedStatus_t);
|
|||||||
extern void eventGen(String event_name, String number);
|
extern void eventGen(String event_name, String number);
|
||||||
extern String add_set(String param_name);
|
extern String add_set(String param_name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Timers
|
//Timers
|
||||||
extern void Timer_countdown_init();
|
extern void Timer_countdown_init();
|
||||||
extern void timerStart_();
|
extern void timerStart_();
|
||||||
@@ -132,8 +122,6 @@ extern void pushControl();
|
|||||||
//extern void do_udp_data_parse();
|
//extern void do_udp_data_parse();
|
||||||
//extern void do_mqtt_send_settings_to_udp();
|
//extern void do_mqtt_send_settings_to_udp();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern void do_update();
|
extern void do_update();
|
||||||
|
|
||||||
// Init
|
// Init
|
||||||
@@ -141,4 +129,3 @@ extern void uptime_init();
|
|||||||
|
|
||||||
// Web
|
// Web
|
||||||
extern void web_init();
|
extern void web_init();
|
||||||
|
|
||||||
|
|||||||
@@ -1,47 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include "Arduino.h"
|
|
||||||
#include "Utils/StringUtils.h"
|
|
||||||
#include "Utils/TimeUtils.h"
|
|
||||||
#include "Errors.h"
|
|
||||||
#include "Global.h"
|
|
||||||
|
|
||||||
#define pm PrintMessage(MODULE)
|
|
||||||
|
|
||||||
class PrintMessage {
|
|
||||||
public:
|
|
||||||
PrintMessage(const char* module) {
|
|
||||||
_module = module;
|
|
||||||
}
|
|
||||||
|
|
||||||
void error(const String& str) {
|
|
||||||
print(EL_ERROR, str);
|
|
||||||
}
|
|
||||||
|
|
||||||
void info(const String& str) {
|
|
||||||
print(EL_INFO, str);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
void printErrorLevel(ErrorLevel_t level) {
|
|
||||||
Serial.printf("[%c] ", getErrorLevelStr(level));
|
|
||||||
}
|
|
||||||
|
|
||||||
void printUptime() {
|
|
||||||
Serial.printf("%lu ", ((unsigned long)millis() / 1000));
|
|
||||||
}
|
|
||||||
|
|
||||||
void printModule() {
|
|
||||||
Serial.printf("[%s] ", _module);
|
|
||||||
}
|
|
||||||
|
|
||||||
void print(const ErrorLevel_t level, const String& str) {
|
|
||||||
printUptime();
|
|
||||||
printErrorLevel(level);
|
|
||||||
printModule();
|
|
||||||
Serial.println(str.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
const char* _module;
|
|
||||||
};
|
|
||||||
@@ -29,7 +29,7 @@ class SensorAnalogClass : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class SensorBme280Class : public SensorConvertingClass {
|
|||||||
bme.begin(hexStringToUint8(_addr));
|
bme.begin(hexStringToUint8(_addr));
|
||||||
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
||||||
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
||||||
sensorReadingMap += _key + ",";
|
sensorReadingMap10sec += _key + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorBme280ReadTmp(String key) {
|
void SensorBme280ReadTmp(String key) {
|
||||||
@@ -28,7 +28,7 @@ class SensorBme280Class : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorBme280ReadHum(String key) {
|
void SensorBme280ReadHum(String key) {
|
||||||
@@ -38,7 +38,7 @@ class SensorBme280Class : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorBme280ReadPress(String key) {
|
void SensorBme280ReadPress(String key) {
|
||||||
@@ -49,7 +49,7 @@ class SensorBme280Class : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern SensorBme280Class mySensorBme280;
|
extern SensorBme280Class mySensorBme280;
|
||||||
@@ -17,7 +17,7 @@ class SensorBmp280Class : public SensorConvertingClass {
|
|||||||
bmp.begin(hexStringToUint8(_addr));
|
bmp.begin(hexStringToUint8(_addr));
|
||||||
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
||||||
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
||||||
sensorReadingMap += _key + ",";
|
sensorReadingMap10sec += _key + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorBmp280ReadTmp(String key) {
|
void SensorBmp280ReadTmp(String key) {
|
||||||
@@ -29,7 +29,7 @@ class SensorBmp280Class : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensorBmp280ReadPress(String key) {
|
void SensorBmp280ReadPress(String key) {
|
||||||
@@ -42,7 +42,7 @@ class SensorBmp280Class : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern SensorBmp280Class mySensorBmp280;
|
extern SensorBmp280Class mySensorBmp280;
|
||||||
@@ -14,7 +14,7 @@ class SensorDallasClass : public SensorConvertingClass {
|
|||||||
sensors.begin();
|
sensors.begin();
|
||||||
sensors.setResolution(48);
|
sensors.setResolution(48);
|
||||||
|
|
||||||
sensorReadingMap += _key + ",";
|
sensorReadingMap10sec += _key + ",";
|
||||||
dallasEnterCounter++;
|
dallasEnterCounter++;
|
||||||
|
|
||||||
jsonWriteInt(configOptionJson, _key + "_num", dallasEnterCounter);
|
jsonWriteInt(configOptionJson, _key + "_num", dallasEnterCounter);
|
||||||
@@ -37,7 +37,7 @@ class SensorDallasClass : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class SensorDhtClass : public SensorConvertingClass {
|
|||||||
if (_type == "dht22") {
|
if (_type == "dht22") {
|
||||||
dht.setup(_pin.toInt(), DHTesp::DHT22);
|
dht.setup(_pin.toInt(), DHTesp::DHT22);
|
||||||
}
|
}
|
||||||
sensorReadingMap += _key + ",";
|
sensorReadingMap10sec += _key + ",";
|
||||||
|
|
||||||
//to do если надо будет читать несколько dht
|
//to do если надо будет читать несколько dht
|
||||||
//dhtEnterCounter++;
|
//dhtEnterCounter++;
|
||||||
@@ -44,7 +44,7 @@ class SensorDhtClass : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
} else {
|
} else {
|
||||||
Serial.println("[E] sensor '" + key);
|
Serial.println("[E] sensor '" + key);
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ class SensorDhtClass : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
} else {
|
} else {
|
||||||
Serial.println("[E] sensor '" + key);
|
Serial.println("[E] sensor '" + key);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
// uart.begin(9600);
|
// uart.begin(9600);
|
||||||
// jsonWriteStr(configOptionJson, _key + "_map", _map);
|
// jsonWriteStr(configOptionJson, _key + "_map", _map);
|
||||||
// jsonWriteStr(configOptionJson, _key + "_с", _c);
|
// jsonWriteStr(configOptionJson, _key + "_с", _c);
|
||||||
// sensorReadingMap += _key + " " + _addr + " " + _reg + ",";
|
// sensorReadingMap10sec += _key + " " + _addr + " " + _reg + ",";
|
||||||
// Serial.println(sensorReadingMap);
|
// Serial.println(sensorReadingMap10sec);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// void SensorModbusRead(String key, uint8_t slaveAddress, uint16_t regAddress) {
|
// void SensorModbusRead(String key, uint8_t slaveAddress, uint16_t regAddress) {
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
// eventGen(key, "");
|
// eventGen(key, "");
|
||||||
// jsonWriteStr(configLiveJson, key, String(valueFl));
|
// jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
// publishStatus(key, String(valueFl));
|
// publishStatus(key, String(valueFl));
|
||||||
// Serial.println("I sensor '" + key + "' data: " + String(valueFl) + ", Slave dev addr: " + String(slaveAddress) + ", Register: " + String(regAddress));
|
// SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl) + ", Slave dev addr: " + String(slaveAddress) + ", Register: " + String(regAddress));
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// bool getResultMsg(ModbusMaster* modbus1, uint16_t result) {
|
// bool getResultMsg(ModbusMaster* modbus1, uint16_t result) {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class SensorUltrasonic : public SensorConvertingClass {
|
|||||||
public:
|
public:
|
||||||
SensorUltrasonic() : SensorConvertingClass(){};
|
SensorUltrasonic() : SensorConvertingClass(){};
|
||||||
void init() {
|
void init() {
|
||||||
sensorReadingMap += _key + ",";
|
sensorReadingMap10sec += _key + ",";
|
||||||
String trig = selectFromMarkerToMarker(_pin, ",", 0);
|
String trig = selectFromMarkerToMarker(_pin, ",", 0);
|
||||||
String echo = selectFromMarkerToMarker(_pin, ",", 1);
|
String echo = selectFromMarkerToMarker(_pin, ",", 1);
|
||||||
pinMode(trig.toInt(), OUTPUT);
|
pinMode(trig.toInt(), OUTPUT);
|
||||||
@@ -43,7 +43,7 @@ class SensorUltrasonic : public SensorConvertingClass {
|
|||||||
eventGen(key, "");
|
eventGen(key, "");
|
||||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||||
publishStatus(key, String(valueFl));
|
publishStatus(key, String(valueFl));
|
||||||
Serial.println("I sensor '" + key + "' data: " + String(valueFl));
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern SensorUltrasonic mySensorUltrasonic;
|
extern SensorUltrasonic mySensorUltrasonic;
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
#include "BufferExecute.h"
|
#include "BufferExecute.h"
|
||||||
|
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "Module/Terminal.h"
|
#include "Module/Terminal.h"
|
||||||
#include "Errors.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void loopCmdAdd(const String &cmdStr) {
|
void loopCmdAdd(const String &cmdStr) {
|
||||||
orderBuf += cmdStr;
|
orderBuf += cmdStr;
|
||||||
@@ -18,7 +16,6 @@ void fileCmdExecute(const String &filename) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void csvCmdExecute(String &cmdStr) {
|
void csvCmdExecute(String &cmdStr) {
|
||||||
|
|
||||||
cmdStr.replace(";", " ");
|
cmdStr.replace(";", " ");
|
||||||
cmdStr += "\r\n";
|
cmdStr += "\r\n";
|
||||||
cmdStr.replace("\r\n", "\n");
|
cmdStr.replace("\r\n", "\n");
|
||||||
@@ -55,8 +52,19 @@ void loopCmdExecute() {
|
|||||||
|
|
||||||
void sensorsInit() {
|
void sensorsInit() {
|
||||||
ts.add(
|
ts.add(
|
||||||
SENSORS, 10000, [&](void *) {
|
SENSORS10SEC, 10000, [&](void *) {
|
||||||
String buf = sensorReadingMap;
|
String buf = sensorReadingMap10sec;
|
||||||
|
while (buf.length()) {
|
||||||
|
String tmp = selectToMarker(buf, ",");
|
||||||
|
sCmd.readStr(tmp);
|
||||||
|
buf = deleteBeforeDelimiter(buf, ",");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
nullptr, true);
|
||||||
|
|
||||||
|
ts.add(
|
||||||
|
SENSORS30SEC, 30000, [&](void *) {
|
||||||
|
String buf = sensorReadingMap30sec;
|
||||||
while (buf.length()) {
|
while (buf.length()) {
|
||||||
String tmp = selectToMarker(buf, ",");
|
String tmp = selectToMarker(buf, ",");
|
||||||
sCmd.readStr(tmp);
|
sCmd.readStr(tmp);
|
||||||
@@ -66,8 +74,3 @@ void sensorsInit() {
|
|||||||
nullptr, true);
|
nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//void loopSerial() {
|
|
||||||
// if (term) {
|
|
||||||
// term->loop();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|||||||
16
src/Clock.cpp
Normal file
16
src/Clock.cpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#include "Clock.h"
|
||||||
|
|
||||||
|
#include "Global.h"
|
||||||
|
|
||||||
|
Clock* timeNow;
|
||||||
|
void clock_init() {
|
||||||
|
timeNow = new Clock;
|
||||||
|
timeNow->setNtpPool(jsonReadStr(configSetupJson, "ntp"));
|
||||||
|
timeNow->setTimezone(jsonReadStr(configSetupJson, "timezone").toInt());
|
||||||
|
|
||||||
|
ts.add(
|
||||||
|
TIME_SYNC, 30000, [&](void*) {
|
||||||
|
timeNow->hasSync();
|
||||||
|
},
|
||||||
|
nullptr, true);
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
AsyncWebSocket ws;
|
AsyncWebSocket ws;
|
||||||
//AsyncEventSource events;
|
//AsyncEventSource events;
|
||||||
#endif
|
#endif
|
||||||
Clock* timeNow;
|
|
||||||
TickerScheduler ts(TEST + 1);
|
TickerScheduler ts(TEST + 1);
|
||||||
WiFiClient espClient;
|
WiFiClient espClient;
|
||||||
PubSubClient mqtt(espClient);
|
PubSubClient mqtt(espClient);
|
||||||
@@ -39,7 +39,8 @@ String itemsLine = "";
|
|||||||
|
|
||||||
// Sensors
|
// Sensors
|
||||||
int8_t dallasEnterCounter = -1;
|
int8_t dallasEnterCounter = -1;
|
||||||
String sensorReadingMap;
|
String sensorReadingMap10sec;
|
||||||
|
String sensorReadingMap30sec;
|
||||||
|
|
||||||
// Logging
|
// Logging
|
||||||
String logging_value_names_list;
|
String logging_value_names_list;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
void loadConfig() {
|
void loadConfig() {
|
||||||
configSetupJson = readFile("config.json", 4096);
|
configSetupJson = readFile("config.json", 4096);
|
||||||
configSetupJson.replace(" ", "");
|
//configSetupJson.replace(" ", "");
|
||||||
configSetupJson.replace("\r\n", "");
|
configSetupJson.replace("\r\n", "");
|
||||||
|
|
||||||
jsonWriteStr(configSetupJson, "chipID", chipId);
|
jsonWriteStr(configSetupJson, "chipID", chipId);
|
||||||
@@ -24,7 +24,7 @@ void all_init() {
|
|||||||
|
|
||||||
void Device_init() {
|
void Device_init() {
|
||||||
|
|
||||||
sensorReadingMap = "";
|
sensorReadingMap10sec = "";
|
||||||
dallasEnterCounter = -1;
|
dallasEnterCounter = -1;
|
||||||
|
|
||||||
//logging_value_names_list = "";
|
//logging_value_names_list = "";
|
||||||
|
|||||||
@@ -117,7 +117,6 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
} else if (topicStr.indexOf("control")) {
|
} else if (topicStr.indexOf("control")) {
|
||||||
//iotTeam/12882830-1458415/light 1
|
|
||||||
|
|
||||||
String key = selectFromMarkerToMarker(topicStr, "/", 3);
|
String key = selectFromMarkerToMarker(topicStr, "/", 3);
|
||||||
|
|
||||||
@@ -135,14 +134,6 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
|
|||||||
if (payloadStr == "1") {
|
if (payloadStr == "1") {
|
||||||
myNotAsyncActions->make(do_UPGRADE);
|
myNotAsyncActions->make(do_UPGRADE);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (topicStr.indexOf("devc")) {
|
|
||||||
writeFile(String(DEVICE_CONFIG_FILE), payloadStr);
|
|
||||||
Device_init();
|
|
||||||
|
|
||||||
} else if (topicStr.indexOf("devs")) {
|
|
||||||
writeFile(String(DEVICE_SCENARIO_FILE), payloadStr);
|
|
||||||
loadScenario();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,9 +222,6 @@ void publishWidgets() {
|
|||||||
|
|
||||||
void publishState() {
|
void publishState() {
|
||||||
// берет строку json и ключи превращает в топики а значения колючей в них посылает
|
// берет строку json и ключи превращает в топики а значения колючей в них посылает
|
||||||
// {"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"}
|
|
||||||
// "name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"
|
|
||||||
// "name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1",
|
|
||||||
String str = configLiveJson;
|
String str = configLiveJson;
|
||||||
str.replace("{", "");
|
str.replace("{", "");
|
||||||
str.replace("}", "");
|
str.replace("}", "");
|
||||||
@@ -242,13 +230,13 @@ void publishState() {
|
|||||||
while (str.length()) {
|
while (str.length()) {
|
||||||
String tmp = selectToMarker(str, ",");
|
String tmp = selectToMarker(str, ",");
|
||||||
|
|
||||||
String topic = selectToMarker(tmp, ":");
|
String topic = selectToMarker(tmp, "\":");
|
||||||
topic.replace("\"", "");
|
topic.replace("\"", "");
|
||||||
|
|
||||||
String state = selectToMarkerLast(tmp, ":");
|
String state = selectToMarkerLast(tmp, "\":");
|
||||||
state.replace("\"", "");
|
state.replace("\"", "");
|
||||||
|
|
||||||
if ((topic != "time") && (topic != "name") && (topic != "lang") && (topic != "ip") && (topic.indexOf("_in") < 0)) {
|
if (topic != "timenow") {
|
||||||
publishStatus(topic, state);
|
publishStatus(topic, state);
|
||||||
}
|
}
|
||||||
str = deleteBeforeDelimiter(str, ",");
|
str = deleteBeforeDelimiter(str, ",");
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ String xmlNode(String tags, String data);
|
|||||||
|
|
||||||
String decToHex(uint32_t decValue, byte desiredStringLength);
|
String decToHex(uint32_t decValue, byte desiredStringLength);
|
||||||
|
|
||||||
//39164
|
|
||||||
//457684
|
|
||||||
void SsdpInit() {
|
void SsdpInit() {
|
||||||
server.on("/description.xml", HTTP_GET, [](AsyncWebServerRequest* request) {
|
server.on("/description.xml", HTTP_GET, [](AsyncWebServerRequest* request) {
|
||||||
String ssdpSend = F("<root xmlns=\"urn:schemas-upnp-org:device-1-0\">");
|
String ssdpSend = F("<root xmlns=\"urn:schemas-upnp-org:device-1-0\">");
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
// //eventGen(dhtT_value_name, "");
|
// //eventGen(dhtT_value_name, "");
|
||||||
// //jsonWriteStr(configLiveJson, dhtT_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, dhtT_value_name, String(value));
|
||||||
// // publishStatus(dhtT_value_name, String(value));
|
// // publishStatus(dhtT_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + dhtT_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + dhtT_value_name + "' data: " + String(value));
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
// //eventGen(dhtH_value_name, "");
|
// //eventGen(dhtH_value_name, "");
|
||||||
// //jsonWriteStr(configLiveJson, dhtH_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, dhtH_value_name, String(value));
|
||||||
// // publishStatus(dhtH_value_name, String(value));
|
// // publishStatus(dhtH_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + dhtH_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + dhtH_value_name + "' data: " + String(value));
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
// eventGen("dhtPerception", "");
|
// eventGen("dhtPerception", "");
|
||||||
// publishStatus("dhtPerception", final_line);
|
// publishStatus("dhtPerception", final_line);
|
||||||
// if (mqtt.connected()) {
|
// if (mqtt.connected()) {
|
||||||
// Serial.println("I sensor 'dhtPerception' data: " + final_line);
|
// SerialPrint("I", "Sensor", "'dhtPerception' data: " + final_line);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
// jsonWriteStr(configLiveJson, "dhtComfort", final_line);
|
// jsonWriteStr(configLiveJson, "dhtComfort", final_line);
|
||||||
// eventGen("dhtComfort", "");
|
// eventGen("dhtComfort", "");
|
||||||
// publishStatus("dhtComfort", final_line);
|
// publishStatus("dhtComfort", final_line);
|
||||||
// Serial.println("I sensor 'dhtComfort' send date " + final_line);
|
// SerialPrint("I", "Sensor", "'dhtComfort' send date " + final_line);
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
// jsonWriteInt(configLiveJson, "dhtDewpoint", value);
|
// jsonWriteInt(configLiveJson, "dhtDewpoint", value);
|
||||||
// eventGen("dhtDewpoint", "");
|
// eventGen("dhtDewpoint", "");
|
||||||
// publishStatus("dhtDewpoint", String(value));
|
// publishStatus("dhtDewpoint", String(value));
|
||||||
// Serial.println("I sensor 'dhtDewpoint' data: " + String(value));
|
// SerialPrint("I", "Sensor", "'dhtDewpoint' data: " + String(value));
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
//#endif
|
//#endif
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
// //jsonWriteStr(configLiveJson, bmp280T_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, bmp280T_value_name, String(value));
|
||||||
// //eventGen(bmp280T_value_name, "");
|
// //eventGen(bmp280T_value_name, "");
|
||||||
// // publishStatus(bmp280T_value_name, String(value));
|
// // publishStatus(bmp280T_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + bmp280T_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bmp280T_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
////bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2
|
////bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
// //jsonWriteStr(configLiveJson, bmp280P_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, bmp280P_value_name, String(value));
|
||||||
// //eventGen(bmp280P_value_name, "");
|
// //eventGen(bmp280P_value_name, "");
|
||||||
// // publishStatus(bmp280P_value_name, String(value));
|
// // publishStatus(bmp280P_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + bmp280P_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bmp280P_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
////=========================================================================================================================================
|
////=========================================================================================================================================
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
// //jsonWriteStr(configLiveJson, bme280T_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, bme280T_value_name, String(value));
|
||||||
// //eventGen(bme280T_value_name, "");
|
// //eventGen(bme280T_value_name, "");
|
||||||
// // publishStatus(bme280T_value_name, String(value));
|
// // publishStatus(bme280T_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + bme280T_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bme280T_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
////bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1
|
////bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1
|
||||||
@@ -353,7 +353,7 @@
|
|||||||
// //jsonWriteStr(configLiveJson, bme280P_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, bme280P_value_name, String(value));
|
||||||
// //eventGen(bme280P_value_name, "");
|
// //eventGen(bme280P_value_name, "");
|
||||||
// // publishStatus(bme280P_value_name, String(value));
|
// // publishStatus(bme280P_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + bme280P_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bme280P_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
////bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1
|
////bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1
|
||||||
@@ -376,7 +376,7 @@
|
|||||||
// //jsonWriteStr(configLiveJson, bme280H_value_name, String(value));
|
// //jsonWriteStr(configLiveJson, bme280H_value_name, String(value));
|
||||||
// //eventGen(bme280H_value_name, "");
|
// //eventGen(bme280H_value_name, "");
|
||||||
// // publishStatus(bme280H_value_name, String(value));
|
// // publishStatus(bme280H_value_name, String(value));
|
||||||
// //Serial.println("I sensor '" + bme280H_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bme280H_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
////bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1
|
////bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1
|
||||||
@@ -401,5 +401,5 @@
|
|||||||
//
|
//
|
||||||
// // publishStatus(bme280A_value_name, String(value));
|
// // publishStatus(bme280A_value_name, String(value));
|
||||||
//
|
//
|
||||||
// //Serial.println("I sensor '" + bme280A_value_name + "' data: " + String(value));
|
// //SerialPrint("I", "Sensor", "'" + bme280A_value_name + "' data: " + String(value));
|
||||||
//}
|
//}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ void upgradeInit() {
|
|||||||
if (isNetworkActive()) {
|
if (isNetworkActive()) {
|
||||||
getLastVersion();
|
getLastVersion();
|
||||||
if (lastVersion > 0) {
|
if (lastVersion > 0) {
|
||||||
SerialPrint("I", "Update", "available version: " + lastVersion);
|
SerialPrint("I", "Update", "available version: " + String(lastVersion));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "Utils/FileUtils.h"
|
#include "Utils/FileUtils.h"
|
||||||
#include "Utils/PrintMessage.h"
|
#include "Utils\SerialPrint.h"
|
||||||
|
#include "Utils/StringUtils.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
|
|
||||||
void SerialPrint(String errorLevel, String module, String msg) {
|
void SerialPrint(String errorLevel, String module, String msg) {
|
||||||
//if (module == "Stat" || module == "Update") {
|
//if (module == "Stat") {
|
||||||
Serial.println(prettyMillis(millis()) + " [" + errorLevel + "] [" + module + "] " + msg);
|
Serial.println(prettyMillis(millis()) + " [" + errorLevel + "] [" + module + "] " + msg);
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#include "Utils/SysUtils.h"
|
#include "Utils/SysUtils.h"
|
||||||
|
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "Utils/PrintMessage.h"
|
|
||||||
|
|
||||||
const String getUniqueId(const char* name) {
|
const String getUniqueId(const char* name) {
|
||||||
return String(name) + getMacAddress();
|
return String(name) + getMacAddress();
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#include "ItemsCmd.h"
|
#include "ItemsCmd.h"
|
||||||
#include "items/InputClass.h"
|
#include "items/InputClass.h"
|
||||||
//==========================================Модуль ввода времени============================================
|
//==========================================Модуль ввода времени============================================
|
||||||
//input-time time1 inputTime Ввод Введите.время 4 st[10-00-00]
|
|
||||||
//==========================================================================================================
|
//==========================================================================================================
|
||||||
InputClass myInputTime;
|
InputClass myInputTime;
|
||||||
void inputTime() {
|
void inputTime() {
|
||||||
@@ -21,8 +20,7 @@ void inputTimeSet() {
|
|||||||
void handle_time_init() {
|
void handle_time_init() {
|
||||||
ts.add(
|
ts.add(
|
||||||
TIME, 1000, [&](void *) {
|
TIME, 1000, [&](void *) {
|
||||||
jsonWriteStr(configLiveJson, "time", timeNow->getTime());
|
jsonWriteStr(configLiveJson, "timenow", timeNow->getTime());
|
||||||
jsonWriteStr(configLiveJson, "timenow", timeNow->getTimeJson());
|
|
||||||
eventGen("timenow", "");
|
eventGen("timenow", "");
|
||||||
},
|
},
|
||||||
nullptr, true);
|
nullptr, true);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ void analogAdc() {
|
|||||||
mySensorAnalog.update();
|
mySensorAnalog.update();
|
||||||
String key = mySensorAnalog.gkey();
|
String key = mySensorAnalog.gkey();
|
||||||
sCmd.addCommand(key.c_str(), analogReading);
|
sCmd.addCommand(key.c_str(), analogReading);
|
||||||
sensorReadingMap += key + ",";
|
sensorReadingMap10sec += key + ",";
|
||||||
mySensorAnalog.SensorAnalogInit();
|
mySensorAnalog.SensorAnalogInit();
|
||||||
mySensorAnalog.clear();
|
mySensorAnalog.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,14 @@ void sysUptime() {
|
|||||||
myLineParsing.update();
|
myLineParsing.update();
|
||||||
String key = myLineParsing.gkey();
|
String key = myLineParsing.gkey();
|
||||||
sCmd.addCommand(key.c_str(), uptimeReading);
|
sCmd.addCommand(key.c_str(), uptimeReading);
|
||||||
sensorReadingMap += key + ",";
|
sensorReadingMap30sec += key + ",";
|
||||||
myLineParsing.clear();
|
myLineParsing.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void uptimeReading() {
|
void uptimeReading() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
eventGen(key, "");
|
|
||||||
String uptime = timeNow->getUptime();
|
String uptime = timeNow->getUptime();
|
||||||
uptime.replace(":", "-");
|
|
||||||
jsonWriteStr(configLiveJson, key, uptime);
|
jsonWriteStr(configLiveJson, key, uptime);
|
||||||
publishStatus(key, uptime);
|
publishStatus(key, uptime);
|
||||||
Serial.println("I sensor '" + key + "' data: " + uptime);
|
SerialPrint("I", "Sensor", "'" + key + "' data: " + uptime);
|
||||||
}
|
}
|
||||||
12
src/main.cpp
12
src/main.cpp
@@ -117,15 +117,3 @@ void loop() {
|
|||||||
myNotAsyncActions->loop();
|
myNotAsyncActions->loop();
|
||||||
ts.update();
|
ts.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void clock_init() {
|
|
||||||
timeNow = new Clock();
|
|
||||||
timeNow->setNtpPool(jsonReadStr(configSetupJson, "ntp"));
|
|
||||||
timeNow->setTimezone(jsonReadStr(configSetupJson, "timezone").toInt());
|
|
||||||
|
|
||||||
ts.add(
|
|
||||||
TIME_SYNC, 30000, [&](void*) {
|
|
||||||
timeNow->hasSync();
|
|
||||||
},
|
|
||||||
nullptr, true);
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user