mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
добавление лимитов на цвет ноды
This commit is contained in:
@@ -627,10 +627,13 @@
|
|||||||
"name": "43. MySensorsNode",
|
"name": "43. MySensorsNode",
|
||||||
"type": "Reading",
|
"type": "Reading",
|
||||||
"subtype": "MySensorsNode",
|
"subtype": "MySensorsNode",
|
||||||
"id": "nd",
|
"id": "n",
|
||||||
"widget": "anydataTmp",
|
"widget": "anydataTmp",
|
||||||
"page": "MySensors",
|
"page": "MySensors",
|
||||||
"descr": "Температура",
|
"descr": "Температура",
|
||||||
|
"orange": 60,
|
||||||
|
"red": 120,
|
||||||
|
"offline": 180,
|
||||||
"round": 1,
|
"round": 1,
|
||||||
"num": 43
|
"num": 43
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -113,8 +113,6 @@ build_src_filter =
|
|||||||
${env:esp8266_4mb_fromitems.build_src_filter}
|
${env:esp8266_4mb_fromitems.build_src_filter}
|
||||||
|
|
||||||
[env:esp32_4mb]
|
[env:esp32_4mb]
|
||||||
;upload_port = COM13
|
|
||||||
;monitor_port = COM13
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_external}
|
${common_env_data.lib_deps_external}
|
||||||
${env:esp32_4mb_fromitems.lib_deps}
|
${env:esp32_4mb_fromitems.lib_deps}
|
||||||
|
|||||||
@@ -345,6 +345,9 @@ class MySensorsGate : public IoTItem {
|
|||||||
class MySensorsNode : public IoTItem {
|
class MySensorsNode : public IoTItem {
|
||||||
private:
|
private:
|
||||||
String id;
|
String id;
|
||||||
|
int orange;
|
||||||
|
int red;
|
||||||
|
int offline;
|
||||||
int _minutesPassed = 0;
|
int _minutesPassed = 0;
|
||||||
String json = "{}";
|
String json = "{}";
|
||||||
bool dataFromNode = false;
|
bool dataFromNode = false;
|
||||||
@@ -353,6 +356,9 @@ class MySensorsNode : public IoTItem {
|
|||||||
MySensorsNode(String parameters) : IoTItem(parameters) {
|
MySensorsNode(String parameters) : IoTItem(parameters) {
|
||||||
SerialPrint("i", "MySensors", "Node initialized");
|
SerialPrint("i", "MySensors", "Node initialized");
|
||||||
jsonRead(parameters, F("id"), id);
|
jsonRead(parameters, F("id"), id);
|
||||||
|
orange = jsonReadInt(parameters, F("orange"));
|
||||||
|
red = jsonReadInt(parameters, F("red"));
|
||||||
|
offline = jsonReadInt(parameters, F("offline"));
|
||||||
dataFromNode = false;
|
dataFromNode = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,16 +392,18 @@ class MySensorsNode : public IoTItem {
|
|||||||
|
|
||||||
void setNewWidgetAttributes() {
|
void setNewWidgetAttributes() {
|
||||||
if (dataFromNode) {
|
if (dataFromNode) {
|
||||||
jsonWriteStr(json, "info", String(_minutesPassed) + " min");
|
jsonWriteStr(json, F("info"), String(_minutesPassed) + " min");
|
||||||
if (_minutesPassed < 60) {
|
if (_minutesPassed < orange) {
|
||||||
jsonWriteStr(json, "color", "");
|
jsonWriteStr(json, F("color"), "");
|
||||||
} else if (_minutesPassed >= 60) {
|
} else if (_minutesPassed >= orange) {
|
||||||
jsonWriteStr(json, "color", "orange"); //сделаем виджет оранжевым когда более 60 минут нода не выходила на связь
|
jsonWriteStr(json, F("color"), F("orange")); //сделаем виджет оранжевым
|
||||||
} else if (_minutesPassed >= 120) {
|
} else if (_minutesPassed >= red) {
|
||||||
jsonWriteStr(json, "color", "red"); //сделаем виджет красным когда более 120 минут нода не выходила на связь
|
jsonWriteStr(json, F("color"), F("red")); //сделаем виджет красным
|
||||||
|
} else if (_minutesPassed >= offline) {
|
||||||
|
jsonWriteStr(json, F("info"), F("offline"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
jsonWriteStr(json, "info", "awaiting");
|
jsonWriteStr(json, F("info"), F("awaiting"));
|
||||||
}
|
}
|
||||||
sendSubWidgetsValues(id, json);
|
sendSubWidgetsValues(id, json);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,13 @@
|
|||||||
"name": "MySensorsNode",
|
"name": "MySensorsNode",
|
||||||
"type": "Reading",
|
"type": "Reading",
|
||||||
"subtype": "MySensorsNode",
|
"subtype": "MySensorsNode",
|
||||||
"id": "nd",
|
"id": "n",
|
||||||
"widget": "anydataTmp",
|
"widget": "anydataTmp",
|
||||||
"page": "MySensors",
|
"page": "MySensors",
|
||||||
"descr": "Температура",
|
"descr": "Температура",
|
||||||
|
"orange": 60,
|
||||||
|
"red": 120,
|
||||||
|
"offline": 180,
|
||||||
"round": 1
|
"round": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user