From feec87a9fd999f1208ca78a53aaa17ff68933b60 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Fri, 10 Jan 2020 15:31:51 +0300 Subject: [PATCH] iot manager ver2.0 support --- Cmd.ino | 14 ++- ESP32FS-1.0.zip | Bin 0 -> 7387 bytes data/vigets/{ => old}/viget.alertbg.json | 0 data/vigets/{ => old}/viget.alertsm.json | 0 data/vigets/{ => old}/viget.button.json | 0 data/vigets/{ => old}/viget.chart.json | 0 data/vigets/{ => old}/viget.fillgauge.json | 0 data/vigets/{ => old}/viget.gauge.json | 0 data/vigets/{ => old}/viget.input_new.json | 0 data/vigets/{ => old}/viget.led.json | 0 data/vigets/{ => old}/viget.range.json | 0 data/vigets/{ => old}/viget.status.json | 0 data/vigets/{ => old}/viget.termometr.json | 0 data/vigets/{ => old}/viget.toggle.json | 0 data/vigets/viget.inputdate.json | 0 data/vigets/vigets2.0.txt | 107 +++++++++++++++++++++ data/vigets/vigets_2.0.txt | 107 +++++++++++++++++++++ 17 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 ESP32FS-1.0.zip rename data/vigets/{ => old}/viget.alertbg.json (100%) rename data/vigets/{ => old}/viget.alertsm.json (100%) rename data/vigets/{ => old}/viget.button.json (100%) rename data/vigets/{ => old}/viget.chart.json (100%) rename data/vigets/{ => old}/viget.fillgauge.json (100%) rename data/vigets/{ => old}/viget.gauge.json (100%) rename data/vigets/{ => old}/viget.input_new.json (100%) rename data/vigets/{ => old}/viget.led.json (100%) rename data/vigets/{ => old}/viget.range.json (100%) rename data/vigets/{ => old}/viget.status.json (100%) rename data/vigets/{ => old}/viget.termometr.json (100%) rename data/vigets/{ => old}/viget.toggle.json (100%) create mode 100644 data/vigets/viget.inputdate.json create mode 100644 data/vigets/vigets2.0.txt create mode 100644 data/vigets/vigets_2.0.txt diff --git a/Cmd.ino b/Cmd.ino index ddba2acd..96ba6e1f 100644 --- a/Cmd.ino +++ b/Cmd.ino @@ -1,4 +1,16 @@ void CMD_init() { + + //======новые виджеты ver2.0=======// + sCmd.addCommand("inputNumber", inputNumber); + sCmd.addCommand("inputText", inputText); + sCmd.addCommand("inputTime", inputTime); + sCmd.addCommand("inputDate", inputDate); + sCmd.addCommand("inputDropdown", inputDropdown); + + //======новые виджеты ver2.0=======// + + + sCmd.addCommand("input_new", input_new); sCmd.addCommand("button", button); sCmd.addCommand("buttonSet", buttonSet); @@ -21,7 +33,7 @@ void CMD_init() { sCmd.addCommand("valueUpSet", valueUpSet); sCmd.addCommand("valueDownSet", valueDownSet); - sCmd.addCommand("input_new", input_new); + sCmd.addCommand("text", text); sCmd.addCommand("textSet", textSet); diff --git a/ESP32FS-1.0.zip b/ESP32FS-1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..53320e4d5526717c39b19e3e71b2c5ed3f6bb480 GIT binary patch literal 7387 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 Xeg8y<`S^Dz;9u+guX_;x@9F;l*B#?9 literal 0 HcmV?d00001 diff --git a/data/vigets/viget.alertbg.json b/data/vigets/old/viget.alertbg.json similarity index 100% rename from data/vigets/viget.alertbg.json rename to data/vigets/old/viget.alertbg.json diff --git a/data/vigets/viget.alertsm.json b/data/vigets/old/viget.alertsm.json similarity index 100% rename from data/vigets/viget.alertsm.json rename to data/vigets/old/viget.alertsm.json diff --git a/data/vigets/viget.button.json b/data/vigets/old/viget.button.json similarity index 100% rename from data/vigets/viget.button.json rename to data/vigets/old/viget.button.json diff --git a/data/vigets/viget.chart.json b/data/vigets/old/viget.chart.json similarity index 100% rename from data/vigets/viget.chart.json rename to data/vigets/old/viget.chart.json diff --git a/data/vigets/viget.fillgauge.json b/data/vigets/old/viget.fillgauge.json similarity index 100% rename from data/vigets/viget.fillgauge.json rename to data/vigets/old/viget.fillgauge.json diff --git a/data/vigets/viget.gauge.json b/data/vigets/old/viget.gauge.json similarity index 100% rename from data/vigets/viget.gauge.json rename to data/vigets/old/viget.gauge.json diff --git a/data/vigets/viget.input_new.json b/data/vigets/old/viget.input_new.json similarity index 100% rename from data/vigets/viget.input_new.json rename to data/vigets/old/viget.input_new.json diff --git a/data/vigets/viget.led.json b/data/vigets/old/viget.led.json similarity index 100% rename from data/vigets/viget.led.json rename to data/vigets/old/viget.led.json diff --git a/data/vigets/viget.range.json b/data/vigets/old/viget.range.json similarity index 100% rename from data/vigets/viget.range.json rename to data/vigets/old/viget.range.json diff --git a/data/vigets/viget.status.json b/data/vigets/old/viget.status.json similarity index 100% rename from data/vigets/viget.status.json rename to data/vigets/old/viget.status.json diff --git a/data/vigets/viget.termometr.json b/data/vigets/old/viget.termometr.json similarity index 100% rename from data/vigets/viget.termometr.json rename to data/vigets/old/viget.termometr.json diff --git a/data/vigets/viget.toggle.json b/data/vigets/old/viget.toggle.json similarity index 100% rename from data/vigets/viget.toggle.json rename to data/vigets/old/viget.toggle.json diff --git a/data/vigets/viget.inputdate.json b/data/vigets/viget.inputdate.json new file mode 100644 index 00000000..e69de29b diff --git a/data/vigets/vigets2.0.txt b/data/vigets/vigets2.0.txt new file mode 100644 index 00000000..9ccbf94d --- /dev/null +++ b/data/vigets/vigets2.0.txt @@ -0,0 +1,107 @@ +config[0] = { + id : 0, + widget : 'btn', + descr : "Outline red button FA icon", + topic : prefix + "/" + deviceID + "/btn0", + faicon : "arrow-circle-left", + iconslot: 'start', + status : 'Back', + color : 'red', + fill : 'outline', +}; + +config[1] = { + id : 1, + widget : 'btn', + descr : "Button with ion-icon", + topic : prefix + "/" + deviceID + "/btn1", + icon : "add", + iconslot: "icon-only", +}; + +config[2] = { + id : 2, + widget : 'anydata', + descr : "Anydata", + topic : prefix + "/" + deviceID + "/anydata2", + status : 123, +}; + +config[3] = { + id : 3, + widget : 'btn', + descr : "Button with ion-icon", + topic : prefix + "/" + deviceID + "/btn3", + icon : "remove", + iconslot : "icon-only", +}; + +config[4] = { + id : 4, + widget : 'btn', + topic : prefix + "/" + deviceID + "/btn4" , + descr : "Large button", + size : 'large', + color : 'green', + send : "any usefull data", + status : 'press' +}; + +config[5] = { + id : '5', + widget : 'input', + topic : prefix + "/" + deviceID + "/input5", + descr : "Input number", + size : 'small', + color : 'orange', + type : 'number', + status : 321 +}; + +config[6] = { + id : '6', + widget : 'input', + topic : prefix + "/" + deviceID + "/input6", + descr : "Input text", + type : 'text', + status : "some text" +}; + +config[7] = { + id : 7, + widget : 'input', + topic : prefix + "/" + deviceID + "/input7", + descr : "Input time", + type : 'time', + status : "10:00" +}; + +config[8] = { + id : 8, + widget : 'input', + topic : prefix + "/" + deviceID + "/input8", + descr : "Input date", + type : 'date', + size : 'small', + status : "20.03.2020" +}; + +config[9] = { + id : 9, + widget : 'select', + topic : prefix + "/" + deviceID + "/input9", + descr : "Please, select", + size : 'small', + fill : 'outline', + options: ['Zero item', 'First item', 'Second item'], + status : 2, +}; + +Toggle: + [descr]="item.descr" + [descrColor]="item.descrColor" + [color]="item.color" + [status]="item.status" + [icon]="item.icon" + [iconOff]="item.iconOff" + [disabled]="item.disabled" \ No newline at end of file diff --git a/data/vigets/vigets_2.0.txt b/data/vigets/vigets_2.0.txt new file mode 100644 index 00000000..9ccbf94d --- /dev/null +++ b/data/vigets/vigets_2.0.txt @@ -0,0 +1,107 @@ +config[0] = { + id : 0, + widget : 'btn', + descr : "Outline red button FA icon", + topic : prefix + "/" + deviceID + "/btn0", + faicon : "arrow-circle-left", + iconslot: 'start', + status : 'Back', + color : 'red', + fill : 'outline', +}; + +config[1] = { + id : 1, + widget : 'btn', + descr : "Button with ion-icon", + topic : prefix + "/" + deviceID + "/btn1", + icon : "add", + iconslot: "icon-only", +}; + +config[2] = { + id : 2, + widget : 'anydata', + descr : "Anydata", + topic : prefix + "/" + deviceID + "/anydata2", + status : 123, +}; + +config[3] = { + id : 3, + widget : 'btn', + descr : "Button with ion-icon", + topic : prefix + "/" + deviceID + "/btn3", + icon : "remove", + iconslot : "icon-only", +}; + +config[4] = { + id : 4, + widget : 'btn', + topic : prefix + "/" + deviceID + "/btn4" , + descr : "Large button", + size : 'large', + color : 'green', + send : "any usefull data", + status : 'press' +}; + +config[5] = { + id : '5', + widget : 'input', + topic : prefix + "/" + deviceID + "/input5", + descr : "Input number", + size : 'small', + color : 'orange', + type : 'number', + status : 321 +}; + +config[6] = { + id : '6', + widget : 'input', + topic : prefix + "/" + deviceID + "/input6", + descr : "Input text", + type : 'text', + status : "some text" +}; + +config[7] = { + id : 7, + widget : 'input', + topic : prefix + "/" + deviceID + "/input7", + descr : "Input time", + type : 'time', + status : "10:00" +}; + +config[8] = { + id : 8, + widget : 'input', + topic : prefix + "/" + deviceID + "/input8", + descr : "Input date", + type : 'date', + size : 'small', + status : "20.03.2020" +}; + +config[9] = { + id : 9, + widget : 'select', + topic : prefix + "/" + deviceID + "/input9", + descr : "Please, select", + size : 'small', + fill : 'outline', + options: ['Zero item', 'First item', 'Second item'], + status : 2, +}; + +Toggle: + [descr]="item.descr" + [descrColor]="item.descrColor" + [color]="item.color" + [status]="item.status" + [icon]="item.icon" + [iconOff]="item.iconOff" + [disabled]="item.disabled" \ No newline at end of file