diff --git a/data/config.json b/data/config.json
index 10d2fcc6..827b49ed 100644
--- a/data/config.json
+++ b/data/config.json
@@ -18,8 +18,8 @@
"teleginput":"0",
"weblogin": "admin",
"webpass": "admin",
- "snaUdp": "0",
- "snaMqtt": "0",
+ "MqttIn": "0",
+ "MqttOut": "0",
"blink": "1",
"oneWirePin": "2",
"serverip": "http://206.189.49.244",
diff --git a/data/set.dev.json b/data/set.dev.json
index fb697b50..4815eb95 100644
--- a/data/set.dev.json
+++ b/data/set.dev.json
@@ -37,9 +37,19 @@
"class": "btn btn-block btn-default"
},
{
- "type": "link",
+ "type": "hr"
+ },
+ {
+ "type": "h3",
+ "name": "reset-block",
+ "style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
+ "class": "hidden"
+ },
+ {
+ "type": "button",
"title": "Перезагрузить устройство",
- "action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/set?device=ok');}",
+ "action": "/set?reqReset",
+ "response": "[[reset-block]]",
"class": "btn btn-block btn-danger"
}
]
diff --git a/data/set.device.json b/data/set.device.json
index 4a501636..eec1e537 100644
--- a/data/set.device.json
+++ b/data/set.device.json
@@ -43,7 +43,7 @@
},
{
"type": "h4",
- "title": "Версия файловой системы: 271"
+ "title": "Версия файловой системы: 272"
},
{
"type": "h4",
@@ -179,10 +179,20 @@
},
{
"type": "checkbox",
- "name": "snaMqtt",
- "title": "Включить единые сценарии для всех устройств",
- "action": "/set?snaMqtt=[[snaMqtt]]",
- "state": "{{snaMqtt}}"
+ "name": "MqttOut",
+ "title": "Передавать события другим устройствам",
+ "action": "/set?MqttOut=[[MqttOut]]",
+ "state": "{{MqttOut}}"
+ },
+ {
+ "type": "hr"
+ },
+ {
+ "type": "checkbox",
+ "name": "MqttIn",
+ "title": "Принимать события с других устройств",
+ "action": "/set?MqttIn=[[MqttIn]]",
+ "state": "{{MqttIn}}"
},
{
"type": "hr"
@@ -234,9 +244,16 @@
"type": "hr"
},
{
- "type": "link",
+ "type": "h3",
+ "name": "reset-block",
+ "style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
+ "class": "hidden"
+ },
+ {
+ "type": "button",
"title": "Перезагрузить устройство",
- "action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/set?device=ok');}",
+ "action": "/set?reqReset",
+ "response": "[[reset-block]]",
"class": "btn btn-block btn-danger"
}
]
diff --git a/data/set.mqtt.json b/data/set.mqtt.json
index a088c2dc..58223acf 100644
--- a/data/set.mqtt.json
+++ b/data/set.mqtt.json
@@ -9,7 +9,6 @@
"type": "h5",
"title": "{{name}}",
"class": "alert-default"
-
},
{
"type": "link",
@@ -20,7 +19,6 @@
{
"type": "hr"
},
-
{
"type": "h4",
"title": "{{SetMQTTServerName}}",
@@ -87,7 +85,6 @@
"style": "position:fixed;top:30%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
-
{
"type": "button",
"title": "{{ButSave}}",
@@ -102,7 +99,6 @@
"action": "set?mqttsend",
"class": "btn btn-block btn-default"
},
-
{
"type": "button",
"style": "width:100%;float:left;",
@@ -115,7 +111,6 @@
"type": "text",
"style": "width:100%;float:left;",
"title": "
"
-
},
{
"type": "text",
@@ -123,10 +118,19 @@
"title": ""
},
{
- "type": "link",
- "style": "width:100%;float:left;",
+ "type": "hr"
+ },
+ {
+ "type": "h3",
+ "name": "reset-block",
+ "style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
+ "class": "hidden"
+ },
+ {
+ "type": "button",
"title": "Перезагрузить устройство",
- "action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
+ "action": "/set?reqReset",
+ "response": "[[reset-block]]",
"class": "btn btn-block btn-danger"
}
]
diff --git a/data/set.telegram.json b/data/set.telegram.json
index 43db41e8..a0857838 100644
--- a/data/set.telegram.json
+++ b/data/set.telegram.json
@@ -49,7 +49,6 @@
"name": "chatId-arg",
"state": "{{chatId}}"
},
-
{
"type": "h4",
"title": "Telegram API token"
@@ -78,9 +77,16 @@
"type": "hr"
},
{
- "type": "link",
+ "type": "h3",
+ "name": "reset-block",
+ "style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
+ "class": "hidden"
+ },
+ {
+ "type": "button",
"title": "Перезагрузить устройство",
- "action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/set?device=ok');}",
+ "action": "/set?reqReset",
+ "response": "[[reset-block]]",
"class": "btn btn-block btn-danger"
}
]
diff --git a/data/set.wifi.json b/data/set.wifi.json
index 936d1cc2..01fa46f9 100644
--- a/data/set.wifi.json
+++ b/data/set.wifi.json
@@ -175,9 +175,16 @@
"type": "hr"
},
{
- "type": "link",
+ "type": "h3",
+ "name": "reset-block",
+ "style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
+ "class": "hidden"
+ },
+ {
+ "type": "button",
"title": "Перезагрузить устройство",
- "action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/set?device=ok');}",
+ "action": "/set?reqReset",
+ "response": "[[reset-block]]",
"class": "btn btn-block btn-danger"
}
]
diff --git a/include/Consts.h b/include/Consts.h
index d017003f..941df935 100644
--- a/include/Consts.h
+++ b/include/Consts.h
@@ -1,13 +1,18 @@
#pragma once
//===========Firmware=============================================================================================================================================
-#define FIRMWARE_VERSION 271
+#define FIRMWARE_VERSION 272
//#define FLASH_SIZE_1MB true
#ifdef ESP8266
-#define FIRMWARE_NAME "esp8266-iotm"
+#ifdef FLASH_SIZE_1MB
+#define FIRMWARE_NAME "esp8266-1mb"
+#else
+#define FIRMWARE_NAME "esp8266"
+#endif
+
#endif
#ifdef ESP32
-#define FIRMWARE_NAME "esp32-iotm"
+#define FIRMWARE_NAME "esp32"
#endif
//===========FSystem==============================================================================================================================================
diff --git a/src/Class/ScenarioClass3.cpp b/src/Class/ScenarioClass3.cpp
index ec2f4efb..b50f3f83 100644
--- a/src/Class/ScenarioClass3.cpp
+++ b/src/Class/ScenarioClass3.cpp
@@ -10,20 +10,21 @@ void eventGen2(String eventName, String eventValue) {
String event = eventName + " " + eventValue + ",";
eventBuf += event;
- if (jsonReadBool(configSetupJson, "snaMqtt")) publishEvent(eventName, eventValue);
- //streamEventUDP(event);
+ if (jsonReadBool(configSetupJson, "MqttOut")) {
+ publishEvent(eventName, eventValue);
+ }
}
void streamEventUDP(String event) {
- #ifdef UDP_ENABLED
+#ifdef UDP_ENABLED
if (!jsonReadBool(configSetupJson, "snaUdp")) {
return;
}
-
+
if (event.indexOf("timenow") == -1) {
event = "iotm;event:" + event;
asyncUdp.broadcastTo(event.c_str(), 4210);
}
- #endif
+#endif
}
\ No newline at end of file
diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp
index 2d31e71b..d5ce4107 100644
--- a/src/MqttClient.cpp
+++ b/src/MqttClient.cpp
@@ -71,7 +71,7 @@ void mqttSubscribe() {
mqtt.subscribe((mqttRootDevice + "/+/control").c_str());
mqtt.subscribe((mqttRootDevice + "/update").c_str());
- if (jsonReadBool(configSetupJson, "snaMqtt")) {
+ if (jsonReadBool(configSetupJson, "MqttIn")) {
mqtt.subscribe((mqttPrefix + "/+/+/event").c_str());
mqtt.subscribe((mqttPrefix + "/+/+/info").c_str());
}
@@ -143,7 +143,7 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
}
else if (topicStr.indexOf("event") != -1) {
- if (!jsonReadBool(configSetupJson, "snaMqtt")) {
+ if (!jsonReadBool(configSetupJson, "MqttIn")) {
return;
}
if (topicStr.indexOf(chipId) == -1) {
@@ -215,7 +215,7 @@ boolean publishStatus(const String& topic, const String& data) {
boolean publishEvent(const String& topic, const String& data) {
String path = mqttRootDevice + "/" + topic + "/event";
- return mqtt.publish(path.c_str(), data.c_str(), false);
+ return mqtt.publish(path.c_str(), data.c_str(), true);
}
boolean publishInfo(const String& topic, const String& data) {
diff --git a/src/Web.cpp b/src/Web.cpp
index 5990488b..6be0c2cc 100644
--- a/src/Web.cpp
+++ b/src/Web.cpp
@@ -88,15 +88,22 @@ void web_init() {
// request->send(200);
//}
- if (request->hasArg("snaMqtt")) {
- bool value = request->getParam("snaMqtt")->value().toInt();
- jsonWriteBool(configSetupJson, "snaMqtt", value);
+ if (request->hasArg("MqttIn")) {
+ bool value = request->getParam("MqttIn")->value().toInt();
+ jsonWriteBool(configSetupJson, "MqttIn", value);
saveConfig();
- mqtt.subscribe((mqttPrefix + "/+/+/status").c_str());
+ mqtt.subscribe((mqttPrefix + "/+/+/event").c_str());
mqtt.subscribe((mqttPrefix + "/+/+/info").c_str());
request->send(200);
}
+ if (request->hasArg("MqttOut")) {
+ bool value = request->getParam("MqttOut")->value().toInt();
+ jsonWriteBool(configSetupJson, "MqttOut", value);
+ saveConfig();
+ request->send(200);
+ }
+
if (request->hasArg("scenMqtt")) {
myNotAsyncActions->make(do_sendScenMQTT);
request->send(200);
@@ -175,10 +182,15 @@ void web_init() {
request->send(200);
}
- if (request->hasArg("device")) {
- if (request->getParam("device")->value() == "ok") {
- ESP.restart();
- }
+ if (request->hasArg("reqReset")) {
+ String tmp = "{}";
+ jsonWriteStr(tmp, "title", F("Вы действительно хотите перезагрузить устройство?Идет перезагрузка устройства')\">Перезагрузить"));
+ jsonWriteStr(tmp, "class", "pop-up");
+ request->send(200, "text/html", tmp);
+ }
+
+ if (request->hasArg("reset")) {
+ ESP.restart();
request->send(200);
}