From 0efae6949d2d2e5611caae0eb104485d94b5f715 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 3 Nov 2020 00:04:07 +0300 Subject: [PATCH] presets added --- data/config.json | 6 +++--- data/presets/humstat.c.txt | 5 +++++ data/presets/humstat.s.txt | 6 ++++++ data/presets/termostat.s.txt | 0 data/presets/termostat.с.txt | 0 data/set.device.json | 14 ++++++++++++-- include/Global.h | 3 +-- include/ItemsList.h | 1 + include/items/SensorDallasClass.h | 2 ++ include/items/SensorDallasClass2.h | 0 src/ItemsList.cpp | 11 +++++++++++ src/Web.cpp | 6 ++++++ 12 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 data/presets/humstat.c.txt create mode 100644 data/presets/humstat.s.txt create mode 100644 data/presets/termostat.s.txt create mode 100644 data/presets/termostat.с.txt create mode 100644 include/items/SensorDallasClass2.h diff --git a/data/config.json b/data/config.json index 8c8b402a..562ff604 100644 --- a/data/config.json +++ b/data/config.json @@ -3,8 +3,8 @@ "chipID": "", "apssid": "IoTmanager", "appass": "", - "routerssid": "VOLODYA", - "routerpass": "BELCHENKO", + "routerssid": "rise", + "routerpass": "hostel3333", "timezone": 2, "ntp": "pool.ntp.org", "mqttServer": "91.204.228.124", @@ -17,7 +17,7 @@ "weblogin": "admin", "webpass": "admin", "udponoff": "1", - "blink": "0", + "blink": "1", "oneWirePin": "2", "serverip": "http://206.189.49.244" } \ No newline at end of file diff --git a/data/presets/humstat.c.txt b/data/presets/humstat.c.txt new file mode 100644 index 00000000..2c9acd11 --- /dev/null +++ b/data/presets/humstat.c.txt @@ -0,0 +1,5 @@ +0;dht-hum;hum;anydataHum;Теплица;Влажность;1;pin[2];type[dht11];c[1] +0;logging;log;chart;Теплица;Влажность;2;val[hum];int[60];cnt[100] +0;input-digit;inputU;inputDigit;Теплица;Верхний#порог;3;st[45] +0;input-digit;inputL;inputDigit;Теплица;Нижний#порог;4;st[35] +0;button-out;button;toggle;Теплица;Полив;5;pin[12];st[0] \ No newline at end of file diff --git a/data/presets/humstat.s.txt b/data/presets/humstat.s.txt new file mode 100644 index 00000000..bbf78407 --- /dev/null +++ b/data/presets/humstat.s.txt @@ -0,0 +1,6 @@ +hum > inputU +button 0 +end +hum < inputL +button 1 +end \ No newline at end of file diff --git a/data/presets/termostat.s.txt b/data/presets/termostat.s.txt new file mode 100644 index 00000000..e69de29b diff --git a/data/presets/termostat.с.txt b/data/presets/termostat.с.txt new file mode 100644 index 00000000..e69de29b diff --git a/data/set.device.json b/data/set.device.json index ae32d833..838ef0e3 100644 --- a/data/set.device.json +++ b/data/set.device.json @@ -50,7 +50,7 @@ }, { "type": "dropdown", - "name": "help-url", + "name": "help-url1", "class": "btn btn-default", "style": "display:inline", "title": { @@ -80,7 +80,17 @@ "/set?addItem=uptime": "b.Отобразить время работы устройства" } }, - + { + "type": "dropdown", + "name": "help-url2", + "class": "btn btn-default", + "style": "display:inline", + "title": { + "#": "Выберите пресет из списка", + "/set?addPreset=termostat.c": "1.Термостат на основе ds18b20 (устройство держит заданный уровень температуры)", + "/set?addPreset=humstat.c": "2.Контроль влажности на основе DHT (устройство держит заданный уровень влажности)" + } + }, { "type": "hr" }, diff --git a/include/Global.h b/include/Global.h index 6a794f67..f9ca0e6a 100644 --- a/include/Global.h +++ b/include/Global.h @@ -40,8 +40,7 @@ extern WiFiClient espClient; extern PubSubClient mqtt; extern StringCommand sCmd; extern AsyncWebServer server; -extern DallasTemperature sensors; -extern OneWire* oneWire; + extern boolean but[NUM_BUTTONS]; extern Bounce* buttons; diff --git a/include/ItemsList.h b/include/ItemsList.h index 940db0b5..c0b716ec 100644 --- a/include/ItemsList.h +++ b/include/ItemsList.h @@ -5,6 +5,7 @@ extern void itemsListInit(); extern void addItem(String name); +extern void addPreset(String name); extern void delChoosingItems(); extern void delAllItems(); extern uint8_t getNewElementNumber(String file); diff --git a/include/items/SensorDallasClass.h b/include/items/SensorDallasClass.h index c5b7b3dc..00090fa2 100644 --- a/include/items/SensorDallasClass.h +++ b/include/items/SensorDallasClass.h @@ -4,6 +4,8 @@ #include "Global.h" #include "items/SensorConvertingClass.h" +extern DallasTemperature sensors; +extern OneWire* oneWire; class SensorDallasClass : public SensorConvertingClass { public: SensorDallasClass() : SensorConvertingClass() {}; diff --git a/include/items/SensorDallasClass2.h b/include/items/SensorDallasClass2.h new file mode 100644 index 00000000..e69de29b diff --git a/src/ItemsList.cpp b/src/ItemsList.cpp index d6803b23..6fec78a4 100644 --- a/src/ItemsList.cpp +++ b/src/ItemsList.cpp @@ -54,6 +54,17 @@ void addItem(String name) { addFile(DEVICE_CONFIG_FILE, "\n" + item); } +void addPreset(String name) { + String preset = readFile("presets/" + name + ".txt", 2024); + addFile(DEVICE_CONFIG_FILE, "\n" + preset); + + name.replace(".c",".s"); + + String scenario = readFile("presets/" + name + ".txt", 2024); + removeFile(DEVICE_SCENARIO_FILE); + addFile(DEVICE_SCENARIO_FILE, scenario); +} + void delAllItems() { removeFile(DEVICE_CONFIG_FILE); addFile(DEVICE_CONFIG_FILE, String(firstLine)); diff --git a/src/Web.cpp b/src/Web.cpp index bb033be1..9625950b 100644 --- a/src/Web.cpp +++ b/src/Web.cpp @@ -23,6 +23,12 @@ void web_init() { request->redirect("/?set.device"); } + if (request->hasArg("addPreset")) { + String name = request->getParam("addPreset")->value(); + addPreset(name); + request->redirect("/?set.device"); + } + if (request->hasArg("delChoosingItems")) { myNotAsyncActions->make(do_delChoosingItems); request->send(200);