From d2a375dc9e0cb20e7ff9dc9a0c1b5898d539e028 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:05:42 +0100 Subject: [PATCH 1/7] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=20=D0=BB=D1=8E=D0=B1?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D1=81=D0=B5=D0=BD=D1=81=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/Consts.h | 1 + include/Utils/JsonUtils.h | 2 ++ include/items/vSensorAny.h | 34 +++++++++++++++++++ include/sensors/YourSensor.h | 4 +++ src/BufferExecute.cpp | 13 +++++--- src/Utils/JsonUtils.cpp | 9 ++++- src/items/vSensorAny.cpp | 64 ++++++++++++++++++++++++++++++++++++ src/sensors/YourSensor.cpp | 9 +++++ 8 files changed, 131 insertions(+), 5 deletions(-) create mode 100644 include/items/vSensorAny.h create mode 100644 include/sensors/YourSensor.h create mode 100644 src/items/vSensorAny.cpp create mode 100644 src/sensors/YourSensor.cpp diff --git a/include/Consts.h b/include/Consts.h index 1fde3815..e0d1740a 100644 --- a/include/Consts.h +++ b/include/Consts.h @@ -84,6 +84,7 @@ #define EnableSensorPzem #define EnableSensorUltrasonic #define EnableSensorUptime +#define EnableSensorAny #define EnableTelegram #define EnableUart #endif diff --git a/include/Utils/JsonUtils.h b/include/Utils/JsonUtils.h index 2b19dcc5..f8c60d3e 100644 --- a/include/Utils/JsonUtils.h +++ b/include/Utils/JsonUtils.h @@ -8,6 +8,8 @@ int jsonReadInt(String& json, String name); boolean jsonReadBool(String& json, String name); +float jsonReadFloat(String& json, String name); + String jsonWriteStr(String& json, String name, String value); String jsonWriteInt(String& json, String name, int value); diff --git a/include/items/vSensorAny.h b/include/items/vSensorAny.h new file mode 100644 index 00000000..65970c93 --- /dev/null +++ b/include/items/vSensorAny.h @@ -0,0 +1,34 @@ +#ifdef EnableSensorAny +#pragma once +#include + +#include "Global.h" + +class SensorAny; + +typedef std::vector MySensorAnyVector; + +class SensorAny { + public: + SensorAny(const String& paramsAny); + ~SensorAny(); + + void loop(); + void read(); + + private: + String _paramsAny; + int _interval; + float _c; + String _key; + String _addr; + String _type; + + unsigned long prevMillis; + unsigned long difference; +}; + +extern MySensorAnyVector* mySensorAny; + +extern void AnySensor(); +#endif \ No newline at end of file diff --git a/include/sensors/YourSensor.h b/include/sensors/YourSensor.h new file mode 100644 index 00000000..8549f9fb --- /dev/null +++ b/include/sensors/YourSensor.h @@ -0,0 +1,4 @@ +#pragma once + +#include +float yourSensorReading(String type); diff --git a/src/BufferExecute.cpp b/src/BufferExecute.cpp index b9c7d6ac..f730ceef 100644 --- a/src/BufferExecute.cpp +++ b/src/BufferExecute.cpp @@ -11,14 +11,15 @@ #include "items/vOutput.h" #include "items/vPwmOut.h" #include "items/vSensorAnalog.h" +#include "items/vSensorAny.h" #include "items/vSensorBme280.h" -#include "items/vSensorSht20.h" #include "items/vSensorBmp280.h" #include "items/vSensorCcs811.h" #include "items/vSensorDallas.h" #include "items/vSensorDht.h" #include "items/vSensorNode.h" #include "items/vSensorPzem.h" +#include "items/vSensorSht20.h" #include "items/vSensorUltrasonic.h" #include "items/vSensorUptime.h" @@ -44,7 +45,7 @@ void loopCmdExecute() { String tmp = selectToMarker(orderBuf, ","); //выделяем первую команду rel 5 1, sCmd.readStr(tmp); //выполняем if (tmp != "") { - sCmd.readStr(tmp); + sCmd.readStr(tmp); SerialPrint("I", F("Order done L"), tmp); } orderBuf = deleteBeforeDelimiter(orderBuf, ","); //осекаем @@ -70,7 +71,7 @@ void csvCmdExecute(String& cmdStr) { count++; if (count > 1) { - //SerialPrint("I", "Items", buf); + // SerialPrint("I", "Items", buf); String order = selectToMarker(buf, " "); //отсечка самой команды if (order == F("button-out")) { #ifdef EnableButtonOut @@ -115,6 +116,10 @@ void csvCmdExecute(String& cmdStr) { } else if (order == F("sht20")) { #ifdef EnableSensorSht20 sCmd.addCommand(order.c_str(), sht20Sensor); +#endif + } else if (order == F("sensor")) { +#ifdef EnableSensorAny + sCmd.addCommand(order.c_str(), AnySensor); #endif } else if (order == F("bmp280")) { #ifdef EnableSensorBmp280 @@ -146,7 +151,7 @@ void csvCmdExecute(String& cmdStr) { #endif } else if (order == F("impuls-in")) { #ifdef EnableImpulsIn - //sCmd.addCommand(order.c_str(), impulsInSensor); + // sCmd.addCommand(order.c_str(), impulsInSensor); #endif } else if (order == F("sensor-node")) { #ifdef EnableSensorNode diff --git a/src/Utils/JsonUtils.cpp b/src/Utils/JsonUtils.cpp index ca70c082..b471e2ac 100644 --- a/src/Utils/JsonUtils.cpp +++ b/src/Utils/JsonUtils.cpp @@ -1,6 +1,7 @@ #include "Utils/JsonUtils.h" -#include "Utils/FileUtils.h" + #include "Global.h" +#include "Utils/FileUtils.h" String jsonReadStr(String& json, String name) { DynamicJsonBuffer jsonBuffer; @@ -20,6 +21,12 @@ int jsonReadInt(String& json, String name) { return root[name]; } +float jsonReadFloat(String& json, String name) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + return root[name]; +} + String jsonWriteStr(String& json, String name, String value) { DynamicJsonBuffer jsonBuffer; JsonObject& root = jsonBuffer.parseObject(json); diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp new file mode 100644 index 00000000..b34a9581 --- /dev/null +++ b/src/items/vSensorAny.cpp @@ -0,0 +1,64 @@ +#include "Consts.h" +#ifdef EnableSensorAny +#include + +#include "BufferExecute.h" +#include "Class/LineParsing.h" +#include "Global.h" +#include "items/vSensorAny.h" +#include "sensors/SensorYour.h" + +SensorAny::SensorAny(const String& paramsAny) { + _paramsAny = paramsAny; + + _interval = jsonReadInt(_paramsAny, "int"); + _c = jsonReadFloat(_paramsAny, "c"); + _key = jsonReadStr(_paramsAny, "key"); + _addr = jsonReadStr(_paramsAny, "addr"); + _type = jsonReadStr(_paramsAny, "type"); +} + +SensorAny::~SensorAny() {} + +void SensorAny::loop() { + difference = millis() - prevMillis; + if (difference >= _interval) { + prevMillis = millis(); + read(); + } +} + +void SensorAny::read() { + float value = yourSensorReading(_type); + + value = value * _c; + + eventGen2(_key, String(value)); + jsonWriteStr(configLiveJson, _key, String(value)); + publishStatus(_key, String(value)); + String path = mqttRootDevice + "/" + _key + "/status"; + String json = "{}"; + jsonWriteStr(json, "status", String(value)); + String MyJson = json; + jsonWriteStr(MyJson, "topic", path); + ws.textAll(MyJson); + SerialPrint("I", "Sensor", "'" + _key + "' data: " + String(value)); +} + +MySensorAnyVector* mySensorAny = nullptr; + +void AnySensor() { + String params = "{}"; + myLineParsing.update(); + jsonWriteStr(params, "key", myLineParsing.gkey()); + jsonWriteStr(params, "addr", myLineParsing.gaddr()); + jsonWriteStr(params, "int", myLineParsing.gint()); + jsonWriteStr(params, "c", myLineParsing.gc()); + myLineParsing.clear(); + + static bool firstTime = true; + if (firstTime) mySensorAny = new MySensorAnyVector(); + firstTime = false; + mySensorAny->push_back(SensorAny(params)); +} +#endif \ No newline at end of file diff --git a/src/sensors/YourSensor.cpp b/src/sensors/YourSensor.cpp new file mode 100644 index 00000000..c5cbd448 --- /dev/null +++ b/src/sensors/YourSensor.cpp @@ -0,0 +1,9 @@ +#include "sensors/YourSensor.h" + +float yourSensorReading(String type) { + float value; + if (type == "name1") { + value++; + } + return value; +} From 93a6a24254e0e74229c6fb2a4692e51805eefa47 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:08:35 +0100 Subject: [PATCH 2/7] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=81?= =?UTF-8?q?=D0=B5=D0=BD=D1=81=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sensors/YourSensor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sensors/YourSensor.cpp b/src/sensors/YourSensor.cpp index c5cbd448..445251ab 100644 --- a/src/sensors/YourSensor.cpp +++ b/src/sensors/YourSensor.cpp @@ -4,6 +4,10 @@ float yourSensorReading(String type) { float value; if (type == "name1") { value++; + } else if (type == "name2") { + value--; + } else if (type == "name3") { + value = value + 10; } return value; } From 8984a8d1430f395031a4a80b73341d17ca9452d5 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:20:14 +0100 Subject: [PATCH 3/7] =?UTF-8?q?=D0=BA=D0=B0=D1=81=D1=82=D0=BE=D0=BC=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=81=D0=B5=D0=BD=D1=81=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_esp/items/items.txt | 3 ++- data_esp/set.device.json.gz | Bin 2976 -> 3020 bytes include/{sensors => }/YourSensor.h | 0 src/{sensors => }/YourSensor.cpp | 8 ++++---- src/items/vSensorAny.cpp | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) rename include/{sensors => }/YourSensor.h (100%) rename src/{sensors => }/YourSensor.cpp (53%) diff --git a/data_esp/items/items.txt b/data_esp/items/items.txt index bdacaa1a..3cf592d9 100644 --- a/data_esp/items/items.txt +++ b/data_esp/items/items.txt @@ -33,4 +33,5 @@ 0;logging;crtid;chart3;Графики;История;order;val[any];int[23:30];cnt[100];st[0]* 0;uptime;uptid;anydataTime;Системные;%name%#uptime;order;int[60]* 0;sht20;tmpid;anydataTemp;Сенсоры;Температура;1;c[1] -0;sht20;humid;anydataHum;Сенсоры;Влажность;2;c[1];int[50]* \ No newline at end of file +0;sht20;humid;anydataHum;Сенсоры;Влажность;2;c[1];int[50]* +0;sensor;anyid;anydata;Сенсоры;Параметр;1;c[1];int[10];type[type1]* \ No newline at end of file diff --git a/data_esp/set.device.json.gz b/data_esp/set.device.json.gz index a55eb12817a27b39c9c7e0347d955359ea9d570a..07a380155340e3ed34c49d9b8e67d920ebd5bbf5 100644 GIT binary patch delta 3019 zcmV;+3pDhg7t9w2ABzYG1sA!I2O)p9Qr>CTE`1Wx9XUn^KwMOnQjW_yVsrVwYm zGu&Uiq@@b*7fdQz>ISx+Qq+H(G3oB6(*#{s>m}V8~Jt7kUm+H3==Hw;<($lVWLjhDHwmn0UCyY{b(Ho z?`}efN8;zn`w`jS0Z?z)UkD$_Z_31x9kK=pa>^~zl(VX+oUhUkNU1XXov|8#4&1_?y5|&i71_eM6MU~ZTbYK8h<-BM~ zX~9arQPf2>y`)}@6tREjLW=msN-^>jrVUL`YwK#4P+&ovqNM1-f}uo*Cn+a2b=_!M zHxDo}*X zM~+tpr#l6o|H{6{$`JdIC*4&aPBw;QV+W~ z6?*&@_Sri=#GQXaai==axs6i`B<`{b&Me9k5bV2X1Wq`F?lTO_@O>YP}GRD^F|(M3Fy1jy^VSZ zX)`*Tj75KZQ01{G+D?^dl{(Cx8ymM^tQg?B)-1{1zWz?|`g@V7<$&(qkAhtPO4 zGVMc(7)cTHr5k$F0hVDfiw*9a&~@dlk4uCHE=#Us%B z-doF&xDPR=NQ@~zVgz~#f&U-zu!9vEPieU6OSnS$4&i130i&*Cr(5vwwU6Go8jOG$Vp_u> z<#KgXdX3v}J0TxYI66bB%yg(yZyW)5J8+pwnX|sEa+at=WP8Y;CmvsP zM0tPE51CN_I~FL19`QVi5y#CrbqsI7pJ42Wu);)ZJ>ccI&)Jb53@($DmqE%_Xgj3D zkl?2A_Bo&t9fbypWqjx;1`47_baUh>j;AYl=iu?vW62;(GECIUu2_17NXxC z2zZ3{h-O4oT;iUQ3NGA~2%Yj|8@aiiyi$KGh=vsqvakt-$~o()5?OQ=P_NRXLLsgD z5Rlh&5Ey?X1rK=<(7If!wq!wQ0;mMZZA9G5i6;nr1-a8)G(gD-((V|a!BCEE&zg9d zg$@H_4OE<~T%i)~%$L2y;v{_hsfC9?L00pGm*r?*9On*Y+Egi#?bm#Hb!>_xgfM^n zz?*O^2+{kRz5_E){rgUk=`Q4a+1fPm@)dP^hWzW0cZ!fzm*0;S1z5xh*X5Z=u{buA z@g-u6Q5aS1@O^gVNdpn9v*_lyV+oJZn9BptxP%;}?2=Okc=pDvr$OcOtw|8FUChl3 zT298E$K@n1IuVfbT})mxBxp64lfQo=OPnTm8;Lwfz-wsGj+R>(f&c_zV1f|ck%fx-R2oKVo@H)<@k{XOlJ7tZ+f8hnM_NMt;@q4PG8% z)mHdDl%6TQjJ&;>GS~X%g_Rz_q;gW~Mp7&GL@j6Kl^z4#d%s?)k`yUrCD!FMRGB6n zi;hO%|1r?szuKMfMT=(B4B;7c2qv|EQ2aut4d~Nd5=qTSOGZM7>P5lS6ge%tbmevY%n5ub zXozXKV8S7;UW7h)JZoqLH628X@Zd{tPUB}z&>^pYnE)xym;HZ?wHjJu+s-f5*W5nc z+`!ZPKF!G;d$+@ev9b%aB}dxp#98!`RTwV2*G|n+p#}ti9p2(>=vFb4K_}Ii=*VmoWXt%)%%|Ue0|NnVL!s<@9fchIJp=SpiP?_D3EtPQp05x)g?7& z_v56kVCy5#lV*QiUdEc$-fk{-yBD=|e-mR`lQ-N`9S3Wqs0e6i4rbR{uF$ZKnBpR}cmapuWljLm9O3XyS4F`YC2Rn1CT#kt!2xL{ZE)nDi0FIxz<2hUDWyeU!L3iyfXLpet@(_Ks=N=QQ55v%r11!mD4K^m{ zrjhOGVgOuH2jNG4)Ie-{q6e2P0NOh}0Q3Xi5_%zT42N!MbWa=^xnu!y?I2(tA}r)- zX9Ul&x5Jfv{mYGAdt zcL4bT`vKN+JUpNu!0(+QsW)d?x|s-vv$B;dBw>FMm=7;$%U4Ae-mEpQ8QQ0?$ZqKg zugf>&i^pSRlh4Kb#?|~yE>8c zO*K1-=gNwU>+0&i%N}T7?mur5KaaG^85YlB+u}WhZHP$_v`=Lf@Q)j$wmIg_)fZpb N{0mG8!c%%N002m)%$NWG delta 2975 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 V9`g_3>hsTS{sAly$M@4P002{ixzzvw diff --git a/include/sensors/YourSensor.h b/include/YourSensor.h similarity index 100% rename from include/sensors/YourSensor.h rename to include/YourSensor.h diff --git a/src/sensors/YourSensor.cpp b/src/YourSensor.cpp similarity index 53% rename from src/sensors/YourSensor.cpp rename to src/YourSensor.cpp index 445251ab..e88da3c1 100644 --- a/src/sensors/YourSensor.cpp +++ b/src/YourSensor.cpp @@ -1,12 +1,12 @@ -#include "sensors/YourSensor.h" +#include "YourSensor.h" float yourSensorReading(String type) { float value; - if (type == "name1") { + if (type == "type1") { value++; - } else if (type == "name2") { + } else if (type == "type2") { value--; - } else if (type == "name3") { + } else if (type == "type3") { value = value + 10; } return value; diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp index b34a9581..280a3382 100644 --- a/src/items/vSensorAny.cpp +++ b/src/items/vSensorAny.cpp @@ -5,8 +5,8 @@ #include "BufferExecute.h" #include "Class/LineParsing.h" #include "Global.h" +#include "YourSensor.h" #include "items/vSensorAny.h" -#include "sensors/SensorYour.h" SensorAny::SensorAny(const String& paramsAny) { _paramsAny = paramsAny; From 1529da443b52f44d9793b67e8a921bd583a1fdb1 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:22:30 +0100 Subject: [PATCH 4/7] wifi --- data_esp/config.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data_esp/config.json b/data_esp/config.json index 6684c7f5..434fc906 100644 --- a/data_esp/config.json +++ b/data_esp/config.json @@ -3,8 +3,8 @@ "chipID": "", "apssid": "IoTmanager", "appass": "", - "routerssid": "Mikro", - "routerpass": "4455667788", + "routerssid": "rise", + "routerpass": "hostel3333", "timezone": 3, "ntp": "pool.ntp.org", "mqttServer": "live-control.ru", @@ -34,4 +34,4 @@ "uartTX": "12", "uartRX": "13", "grafmax": "0" -} +} \ No newline at end of file From b68fa1b0f64f9de7673c8fdf6f58b7458272195d Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:55:17 +0100 Subject: [PATCH 5/7] =?UTF-8?q?=D1=84=D0=B8=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D1=81=20?= =?UTF-8?q?=D1=81=D0=B5=D0=BD=D1=81=D0=BE=D1=80=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 5 +++++ data_esp/set.device.json.gz | Bin 3020 -> 3020 bytes platformio.ini | 2 +- src/YourSensor.cpp | 18 ++++++++++++++---- src/items/vSensorAny.cpp | 3 ++- src/main.cpp | 23 +++++++++++++++-------- 6 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..889b02bd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "array": "cpp" + } +} \ No newline at end of file diff --git a/data_esp/set.device.json.gz b/data_esp/set.device.json.gz index 07a380155340e3ed34c49d9b8e67d920ebd5bbf5..fb8dfba7385b09db72bd3e39f28ad22470227792 100644 GIT binary patch delta 2905 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 D&gO~U delta 2947 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 diff --git a/platformio.ini b/platformio.ini index 57768031..01c01df3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = esp32_4mb +default_envs = esp8266_4mb data_dir = data_esp [common_env_data] diff --git a/src/YourSensor.cpp b/src/YourSensor.cpp index e88da3c1..5f70e308 100644 --- a/src/YourSensor.cpp +++ b/src/YourSensor.cpp @@ -2,12 +2,22 @@ float yourSensorReading(String type) { float value; - if (type == "type1") { - value++; + if (type == "type1") { // type1 - замените на название вашего датчика, потом это же название указывайте в type[] в вебе + //сюда вставляем процедуру чтения одного датчика + static int a; + a++; + value = a; } else if (type == "type2") { - value--; + //сюда вставляем процедуру чтения другого датчика + static int b; + b--; + value = b; } else if (type == "type3") { - value = value + 10; + //сюда третьего и так далее, создавайте сколько угодно else if.... + //если у одного датчика несколько параметров то под каждый из них делайте свой else if и свое имя type + static int c; + c++; + value = c * 10; } return value; } diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp index 280a3382..12917194 100644 --- a/src/items/vSensorAny.cpp +++ b/src/items/vSensorAny.cpp @@ -22,7 +22,7 @@ SensorAny::~SensorAny() {} void SensorAny::loop() { difference = millis() - prevMillis; - if (difference >= _interval) { + if (difference >= _interval * 1000) { prevMillis = millis(); read(); } @@ -54,6 +54,7 @@ void AnySensor() { jsonWriteStr(params, "addr", myLineParsing.gaddr()); jsonWriteStr(params, "int", myLineParsing.gint()); jsonWriteStr(params, "c", myLineParsing.gc()); + jsonWriteStr(params, "type", myLineParsing.gtype()); myLineParsing.clear(); static bool firstTime = true; diff --git a/src/main.cpp b/src/main.cpp index 8f54d67c..8cf99b10 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -24,6 +24,7 @@ #include "items/vImpulsOut.h" #include "items/vLogging.h" #include "items/vSensorAnalog.h" +#include "items/vSensorAny.h" #include "items/vSensorBme280.h" #include "items/vSensorBmp280.h" #include "items/vSensorCcs811.h" @@ -34,13 +35,12 @@ #include "items/vSensorSht20.h" #include "items/vSensorUltrasonic.h" #include "items/vSensorUptime.h" - //#include "WebServer.h" void not_async_actions(); Timings metric; boolean initialized = false; -extern int flagq ; +extern int flagq; void setup() { Serial.begin(115200); Serial.flush(); @@ -97,12 +97,12 @@ void loop() { #endif #ifdef WEBSOCKET_ENABLED - ws.cleanupClients(); - if ( flagq == 1){ - SerialPrint("I", "WS ", "choose_log_date_and_send()"); - choose_log_date_and_sendWS(); - flagq = 0; -} + ws.cleanupClients(); + if (flagq == 1) { + SerialPrint("I", "WS ", "choose_log_date_and_send()"); + choose_log_date_and_sendWS(); + flagq = 0; + } #endif timeNow->loop(); mqttLoop(); @@ -188,6 +188,13 @@ void loop() { } } #endif +#ifdef EnableSensorAny + if (mySensorAny != nullptr) { + for (unsigned int i = 0; i < mySensorAny->size(); i++) { + mySensorAny->at(i).loop(); + } + } +#endif #ifdef EnableSensorBmp280 if (mySensorBmp280 != nullptr) { for (unsigned int i = 0; i < mySensorBmp280->size(); i++) { From f5b5bd78ec3be0c649c8542ea40bec21701a1fce Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 14 Dec 2021 23:56:30 +0100 Subject: [PATCH 6/7] 304 --- data_esp/set.device.json.gz | Bin 3020 -> 3020 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data_esp/set.device.json.gz b/data_esp/set.device.json.gz index fb8dfba7385b09db72bd3e39f28ad22470227792..28938bb6e8a6485d67093ecd6657c8d429e326d0 100644 GIT binary patch delta 2621 zcmV-D3c~fw7t9w1ABzYG5+Sh$tpR_?)OqrLMEZ9C)Eo8}!Uyu3GI3;wtO0_Ya*Z_Q ztSTz!JLv~BsWSYXu^NC5+(3Qck^^o?(rY&@$vj`CKLM9xv@_O#IaUU*wJJW1nvLot zEU9P>a)2O;Dy!M(KnJYKdC`*6f|Y)wsEcZPNxc{;V$X#X@r#vWWX+XA*&ENrM_r+vU+1LIj(w_?W4zGRrD%? z{Utj^=Rz)EO8`?iMi=k|-4579dENvR1rl`O83 z4qTTDvp$&|&MuDZ;_d8!NEL`|0oyV#`~rrM-30t{&w^gXzR!-)-8h4+=7?i&2LyJ6 za)Lkv_ZiVRhF`}&;m`prg?)!r=OkibM|;R)gi>)o8Ay*pfj%P7I+5c>|pG@wvL?Je`ffU_olXaw^6zlz zhjWfb$ZJH}c_R(qkAhtPO4GVMc(7)cTHH8-@T15CqU6&u_*q3g<9%h9M0PI2NC ze>P6BSO9J0r9NG(%9V$DR>V;5h|`Jo_c9t;2Nhd6R~lzJx23?+|V# z5YX#7db$M1GAw=tI+75rLJoWE8PNqAN^QCLk#LJi0?dkHb zL)#8UxsbWu!=G5qDiydi&}zAQ_b{+-kubSCf1un#bkD6DU6SMryE+NRQyOiF`6Obc z#YOqy?3R*y9vjcqm4Ms?FVT5;ZF71ZH8+2>4krDubW6*Eo zCTmPu;etXB&-o#b{Hom=yg0XbDKQW}w3X*9}SUK4Yj1yF8NqIe|X(k+D5Mtw#bI`pErzD7i4aswjVx&J2G(QkqZ8 zYXWKg!gyXZva%YqG#wOQFU~pFNzJmfJntG`oX@~(75KJ=W-N>+6)|-K`gE5>QZv$$ zkr1MKQ7|<{P75zxc^yA<0v`$*Vp=YkaEhxJp${I<8d^b32azH?_|lux_?Z)Qh%2Bb zK#KEaKVz;i4Ukv2PV6}?~;hRg2SshKL& zfB>+=Tbv!;Dn>Hsq#U!{o%75m7uiGD$o`G}!oG$>*zX~G|5Jdkuh}>3N4Wf*J(>?E z7efNHX?Ft!@(xI9SXNP9QggOHPTCT-KJq+i=H+F~S?%p+wcB0Q(*1u;jHxJZxW_sU z)=0-WIQrbnGb%XNol8~c!#b2Ts4nmWYPL9{;^txl%TuM)|X~VQu}l7 z%x^o>E~$g?BRgs!Ha*dU%N79bogM)C0dEPdkT-@y zw=}vXj*MKg0I_xuFb@$Hva~aT=h)k2?dgfgFFR>TPndA4cg%l>tpWniqpc1F>;XDy zoGN!qZF|nn$=U&Y&{QkUwAb7EAD+ym6iHMSEqn3c49P@)!P5!;Za{Z5E)SRn&#v>L zS`d|gd=`-YaKZ7E!g;NM)!JSHPPocbY6D-M?>km*)PN$_&Up*Uc&upJ>*m8UB zc!AO0_H|yWo;<~!}@6rd_m-{WxtHjSERXM}_Ic!_Jhp-J% f34->iv;zKhgVeUhyt(?~3!8rdxDQlDdoch2nkWqe delta 2621 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 From 9dde5942f01ddbb5d239451de0e347a61aeda112 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Wed, 15 Dec 2021 00:23:01 +0100 Subject: [PATCH 7/7] test --- src/YourSensor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/YourSensor.cpp b/src/YourSensor.cpp index 5f70e308..a3ba9895 100644 --- a/src/YourSensor.cpp +++ b/src/YourSensor.cpp @@ -2,7 +2,7 @@ float yourSensorReading(String type) { float value; - if (type == "type1") { // type1 - замените на название вашего датчика, потом это же название указывайте в type[] в вебе + if (type == "type1") { // type1 - замените на название вашего датчика, потом это же название указывайте в type[], в вебе //сюда вставляем процедуру чтения одного датчика static int a; a++;