Commit Graph

65 Commits

Author SHA1 Message Date
gemu2015 898646a07c fixed global vars upd[x], use own udp instance 2020-06-21 09:13:51 +02:00
gemu2015 c18977f655 Update xdrv_10_scripter.ino 2020-06-17 16:19:33 +02:00
gemu2015 865769767d scripter call >BS after sensor init 2020-06-16 10:36:16 +02:00
Theo Arends ef0b797686 Add basic support for ESP32 ethernet
Add basic support for ESP32 ethernet adding commands ``Wifi 0/1`` and ``Ethernet 0/1`` both default ON (#8503)
2020-06-15 18:27:04 +02:00
gemu2015 dd6bce9232 scripter fix hue, add ticker, add tesla json read 2020-06-15 17:20:50 +02:00
gemu2015 fcc0a29909 scripter support for global vars 2020-06-13 13:05:25 +02:00
gemu2015 2453beb30f scripter fix sdcard regression 2020-06-11 06:43:24 +02:00
gemu2015 6038921f93 scripter upload scripts 2020-06-08 09:24:49 +02:00
Staars 7077a80541 unify USE_*_COMPRESSION to USE_UNISHOX_COMPRESSION 2020-06-06 20:04:10 +02:00
gemu2015 9987b3f2d5 scripter update, eeprom support 2020-06-05 20:15:16 +02:00
gemu2015 54806fd527 files system update 2020-05-30 15:29:47 +02:00
gemu2015 7f1514e6da some fixes and optimizations 2020-05-30 10:48:12 +02:00
gemu2015 c1979cbd18 fix >W section bug, some refactoring 2020-05-25 15:49:03 +02:00
gemu2015 2eccc09086 remove unishox def 2020-05-23 10:36:19 +02:00
gemu2015 584b3c2ef8 scripter update
add direct access to some energy registers and sml registers
make google charts optional #define USE_GOOGLE_CHARTS
2020-05-23 10:24:08 +02:00
gemu2015 fca5dc9471 Update xdrv_10_scripter.ino 2020-05-21 08:13:26 +02:00
gemu2015 edaf6c493e fix scripter unishox error, add 2 y axes line graph to google charts 2020-05-21 06:06:42 +02:00
gemu2015 5921055e2f scripter update
script compression option
more google charts (histogram, tables, gauges)
smal bug fixes
2020-05-19 16:44:01 +02:00
gemu2015 e043788de8 scripter support for google charts in WEBUI 2020-05-18 10:29:32 +02:00
gemu2015 1bbc77e6a7 sml update
fix SML ESP32 uart handling
add replace cmd vars to SML section
add * option to SML WeBGUI
scripter add optional ws2812 array offset
scripter negative for next  loops
2020-05-15 15:30:32 +02:00
Theo Arends 7078466e7c Refactor webcam 2020-05-12 14:30:07 +02:00
gemu2015 6d7f3843ce scripter bug fix 2020-05-11 19:19:59 +02:00
gemu2015 39a92c2767 Update xdrv_10_scripter.ino 2020-05-10 18:00:37 +02:00
gemu2015 9b0aa51515 scripter fix create task 2020-05-10 17:51:22 +02:00
gemu2015 eb758d49d3 scripter tasks 2020-05-07 16:16:46 +02:00
gemu2015 1c44481b41 scripter fix
add pheap and core to scripter
allow coexistence of scripter with webcam cmd
2020-05-06 20:37:05 +02:00
gemu2015 9d3dbed411 some formatting 2020-05-05 11:40:50 +02:00
gemu2015 db15571336 add face detect 2020-05-05 09:36:43 +02:00
gemu2015 72ee040948 webcam test whitout script
scripter local ip text var
2020-05-02 16:44:44 +02:00
gemu2015 a237297e8a esp32 webcam support 2020-05-02 08:10:23 +02:00
Theo Arends 892be892fa Remove gpio to pin support 2020-05-01 17:37:56 +02:00
Theo Arends d805803daa Change pin array names
Change pin array names to block unwanted use of direct access
2020-04-29 14:01:02 +02:00
Theo Arends 60e7a73b60 Switch from GPIO array to Pin array 2020-04-28 14:42:47 +02:00
Theo Arends 86f801c349 Change pin handling part 4/4 2020-04-27 16:47:29 +02:00
Theo Arends 24280bcdea Change pin handling part 2 2020-04-27 11:54:23 +02:00
gemu2015 b252a0c122 fix scripter RulesProcessEvent 2020-04-26 12:01:13 +02:00
Theo Arends be1fb3756c Change ESP32 freeHeap to MaxAllocHeap 2020-04-22 16:07:52 +02:00
Theo Arends 54149497b9
Merge pull request #8185 from gemu2015/scripter-update
Scripter update
2020-04-15 17:42:03 +02:00
Theo Arends 57f836cc9e Remove possible Webserver naming ambuigity 2020-04-15 09:58:38 +02:00
gemu2015 7d85ccb793 Update xdrv_10_scripter.ino 2020-04-15 08:21:43 +02:00
gemu2015 5f6c106507 scripter esp32 script size expansion 2020-04-15 08:11:54 +02:00
Theo Arends a52d4c5208 Revert "Merge pull request #8174 from gemu2015/scripter_update"
This reverts commit e66b961a54, reversing
changes made to 07ce431538.
2020-04-14 14:58:17 +02:00
gemu2015 f3b1497875 update scripter script size on esp32 2020-04-14 12:11:15 +02:00
gemu2015 a5d3974c56 sendmail ESP32 2020-04-12 19:28:19 +02:00
gemu2015 b796607264 update for esp32 2020-04-12 13:22:23 +02:00
Theo Arends 17c605ac6a Make checkbox and radiobox label clickable
Make checkbox and radio label clickable (#8066)
2020-04-05 14:11:49 +02:00
gemu2015 61b97350da ed300L support 2020-03-29 16:29:22 +02:00
Alexander Schliebner 2335f2fedd
Bugfix in function 'mp'
If optional parameter v2 was omitted, evaluation failed.
2020-03-07 18:52:24 +01:00
Alexander Schliebner 7df46f051d
Optimized function 'mp'
Leaner syntax of function `mp` and simplified implementation.
New documentation:
Mapping function `mp`

It addresses a standard task with less code and much flexibility: mapping an arbitrary incoming numeric value into a defined schema of allowed/reasonable ranges.
The numeric value `x` passed as the first parameter is compared to the mprules in the order they are provided as subsequent parameters. If the value matches the criteria, the defined value is returned. Subsequent mprules are skipped. If `x` matches none of the mprules, `x` is returned unchanged. 
```
mp(x mprule1 mprule2 ... mprule<n>)
```

An mprule starts with one of the comparison operators `<`, `>` or `=`, followed by a numeric value `v1`, optionally followed by a second numeric value `v2`:
```
<|>|=v1[ v2]
```

Example 1: `<8 0` - this rule reads: If x is less than 8, return 0.
Example 2: `>100` - this rule reads: If x is greater than 100, return 100. 

Example 3:
```
y=mp(x <8 0 >100)
```
Assigns 0 to y if x is less than 8.
Assigns 100 to y if x is greater than 100.
Assigns x to y for all values of x that do not meet the above criteria (8 to 100).

The above code of example 3 does the same as the following code - with just one line of code and 19 characters less:
```
y=x
if x<8 {
y=0
}
if x>100 {
y=100
}
```

Every of the above mentioned numeric values `x`, `v1` and `v2` can be a literal, an expression or a variable.
2020-03-07 16:53:49 +01:00
Alexander Schliebner cd14bde1f7
Update xdrv_10_scripter.ino
Added mapping function `mp`
´´´
mp(x str1 str2 ... str<n>)
´´´
It addresses a standard task with less code and much flexibility: mapping an arbitrary incoming numeric value into the allowed range.
The numeric value `x` passed as the first parameter is compared to the rules in the order they are provided as subsequent sting parameters. If the value matches the criteria, the defined value is returned. Subsequent rules are skipped. If `x` matches none of the rules, `x` is returned unchanged. 

Rules consist of one of the comparison operators `< > =` followed by a numeric value `v1`, optionally followed by a colon and another numeric value `v2`.
```
<|>|=v1[:v2] 
```
Example 1: `"<8:0"` - this rule reads: If x is less than 8, return 0.
Example 2: `">100"` - this rule reads: If x is greater than 100, return 100. 

Example 3:
```
y=mp(x "<8:0" ">100")
```
Assigns 0 to y if x is less than 8.
Assigns 100 to y if x is greater than 100.
Assigns x to y for all values of x that do not meet the above criteria (8 to 100).

The above code of example 3 does the same as the following code - with just one line of code and 15 characters less:
```
y=x
if x<8 {
y=0
}
if x>100 {
y=100
}
```
2020-03-06 21:13:12 +01:00