написал прием события кнопки из веб

This commit is contained in:
Dmitry Borisenko
2022-08-14 17:13:25 +02:00
parent 1f9f746149
commit 22433ef65d
8 changed files with 15 additions and 14 deletions

View File

@@ -378,7 +378,7 @@
"id": "btn",
"widget": "toggle",
"page": "Кнопки",
"descr": "",
"descr": "Освещение",
"int": 0,
"pin": 16,
"execLevel": "1",
@@ -394,7 +394,7 @@
"id": "btn",
"widget": "toggle",
"page": "Кнопки",
"descr": "",
"descr": "Освещение",
"int": 0,
"inv": 0,
"pin": 2,

View File

@@ -1,7 +1,7 @@
#pragma once
//Версия прошивки
#define FIRMWARE_VERSION 408
#define FIRMWARE_VERSION 410
#ifdef esp8266_4mb
#define FIRMWARE_NAME "esp8266_4mb"
@@ -41,7 +41,7 @@ enum TimerTask_t { WIFI_SCAN,
TIME,
TIME_SYNC,
UPTIME,
UDP, //UDPP
UDP, // UDPP
TIMES,
PTASK };

View File

@@ -65,7 +65,6 @@ lib_deps =
adafruit/Adafruit BusIO @ ^1.13.0
dfrobot/DFRobotDFPlayerMini @ ^1.0.5
marcoschwartz/LiquidCrystal_I2C@^1.1.4
build_src_filter =
+<modules\virtual\Logging>
+<modules\virtual\Timer>
@@ -111,7 +110,6 @@ lib_deps =
adafruit/Adafruit BusIO @ ^1.13.0
dfrobot/DFRobotDFPlayerMini @ ^1.0.5
marcoschwartz/LiquidCrystal_I2C@^1.1.4
build_src_filter =
+<modules\virtual\Timer>
+<modules\virtual\Variable>

View File

@@ -48,12 +48,10 @@ void generateEvent(const String& id, const String& value) {
void handleEvent() {
if (eventBuf.length()) {
String event = selectToMarker(eventBuf, ",");
Serial.println("event: " + event);
SerialPrint("i", F("EVENT"), event);
//здесь нужно пропускать данное событие через условия сценариев
//и если оно есть в условии сценария и совподает
//то нужно поместить все команды этого блока сценария в generateOrder(order1, order2, ....)
//который в свою очередь их выполнит
iotScen.ExecScenario(selectToMarker(event, " "));
eventBuf = deleteBeforeDelimiter(eventBuf, ",");

View File

@@ -83,7 +83,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
if (headerStr == "/oiranecs|") {
writeFileUint8tByFrames("scenario.txt", payload, length, headerLenth, 256);
iotScen.loadScenario("/scenario.txt");
// создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке
IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}"));
generateEvent("onStart", "");
@@ -144,6 +144,12 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
upgrade_firmware(3);
}
// cotrol ==============================================================================
if (headerStr == "/control|") {
String payloadStr;
writeUint8tToString(payload, length, headerLenth, payloadStr);
SerialPrint("i", F("=>WS"), "Msg from svelte web, WS No: " + String(num) + ", msg: " + payloadStr);
}
} break;
case WStype_BIN: {

View File

@@ -8,7 +8,7 @@
"id": "btn",
"widget": "toggle",
"page": "Кнопки",
"descr": "",
"descr": "Освещение",
"int": 0,
"pin": 16,
"execLevel": "1",

View File

@@ -8,7 +8,7 @@
"id": "btn",
"widget": "toggle",
"page": "Кнопки",
"descr": "",
"descr": "Освещение",
"int": 0,
"inv": 0,
"pin": 2

View File

@@ -16,12 +16,11 @@ class Loging : public IoTItem {
// }
void doByInterval() {
Serial.println("logging test " + logval);
String value = getItemValue(logval);
if (value == "") {
SerialPrint("E", F("Logging"), F("no value set"));
} else {
Serial.println("value " + value);
regEvent(value, "Logging");
}
}
};