Связываем события и сценарии

This commit is contained in:
2022-02-23 00:37:37 +03:00
parent b938cbdcf0
commit f8356a9e29
3 changed files with 11 additions and 4 deletions

View File

@@ -317,7 +317,7 @@
"type": "Writing",
"subtype": "ButtonOut",
"id": "btn",
"widget": "button",
"widget": "toggle",
"page": "Кнопки",
"descr": "",
"int": 0,

View File

@@ -1,4 +1,4 @@
if x > 3 then 1 else x()/2 * x+2; #обратите внимание на приоритет операций
#if x > 3 then 1 else x()/2 * x+2; #обратите внимание на приоритет операций
#if 1 < 3 then 1 else 2-1*1+2;
#if 5 < 3 then 1+4 else 2*1*1+2;
#if btn1=1 then rel2 = 1 else rel2 = 0;
@@ -8,6 +8,7 @@ if x > 3 then 1 else x()/2 * x+2; #обратите внимание на пр
#if rel3.run() > 30 then rel2.run(3, 45.1, "wert") else 3*1*1+2
#if rel2 == 24 then "true" else "false"
if rel2 != 1 then {rel2 = 12 + 12; rel2 = rel2 + 10;}
if rel2 != 24 then tablo.run("ddd") else "2222222222222"
#if rel2 != 1 then {rel2 = 12 + 12; rel2 = rel2 + 10;}
#if rel2 != 24 then tablo.run("ddd") else "2222222222222"
if t22 > 10 then btn.change()

View File

@@ -1,4 +1,7 @@
#include "EventsAndOrders.h"
#include "classes/IoTScenario.h"
extern IoTScenario iotScen; // объект управления сценарием
// orderBuf - буфер прямых команд, которые нужно выпонить сразу, нажали на кнопку в приложении, сработало условие сценария
//необходимо тут же изменить параметр, записать новое значение
@@ -50,10 +53,13 @@ void handleEvent() {
if (eventBuf.length()) {
String event = selectToMarker(eventBuf, ",");
Serial.println("event: " + event);
//здесь нужно пропускать данное событие через условия сценариев
//и если оно есть в условии сценария и совподает
//то нужно поместить все команды этого блока сценария в generateOrder(order1, order2, ....)
//который в свою очередь их выполнит
iotScen.ExecScenario();
eventBuf = deleteBeforeDelimiter(eventBuf, ",");
}
}