Commit Graph

139 Commits

Author SHA1 Message Date
Theo Arends b93b719108 Use global struct 2020-10-28 17:32:07 +01:00
gemu2015 c8319aa7b7 fix memory aligment bug 2020-10-23 07:45:35 +02:00
gemu2015 a6ac063a4c for next in section >W 2020-10-19 07:24:18 +02:00
gemu2015 ef63b21d99 fix scripter json decode crash 2020-10-03 18:30:18 +02:00
Theo Arends e0933e5de0 Fix scripter compilation error 2020-10-02 14:24:23 +02:00
Stephan Hadinger c8fbac9c32 Fix compilation 2020-09-25 11:04:22 +02:00
Stephan Hadinger f0f4433941 Move Scripter to JSMN 2020-09-25 08:52:28 +02:00
gemu2015 84a13e06e0 scripter 3 string arrays 2020-09-23 12:51:35 +02:00
gemu2015 e452f85e39 bug fixes and enhancements 2020-09-17 09:11:24 +02:00
gemu2015 9afa8a5d4f scripter update
reformatting,
bug fixes,
new options for google charts
formulas in text substitutions  %(formula)%
2020-09-11 15:44:16 +02:00
gemu2015 a7fb362e1c display touch interface unified 2020-09-03 12:26:03 +02:00
gemu2015 fec46e0382 fix some bugs
fix adc() esp32
fix memory leak in https GET
add ttgo watch cmds:
slp(time) deep and light sleep
wdclk get double click
wbut get button state
wtch() get touch state and position
2020-08-29 11:34:00 +02:00
gemu2015 56a643fe69 i2s audio support 2020-08-13 16:04:30 +02:00
gemu2015 25c49e6211 scripter esp32 flash file ffat support 2020-08-09 10:58:22 +02:00
gemu2015 6323e777a0 scripter display dump 2020-08-02 07:35:25 +02:00
Norbert Richter 51b9740a5d
Add script usage flags 2020-07-23 13:23:16 +02:00
Theo Arends 934ca43463 Remove Arduino ESP8266 Core support before 2.7.1
Remove Arduino ESP8266 Core support for versions before 2.7.1
2020-07-17 11:49:56 +02:00
gemu2015 2ad758117d scripter add event result 2020-07-16 17:15:12 +02:00
gemu2015 e43d1828f6 some gcc fixes, etc 2020-07-15 09:44:52 +02:00
gemu2015 64bd9f1974 scripter fixes 2020-07-02 06:46:04 +02:00
gemu2015 bc1f91041c fix scripter USE_SCRIPT_GLOBVARS without USE_DEVICE_GROUPS 2020-06-29 10:48:24 +02:00
gemu2015 df125f2c07 scripter support for string array 2020-06-29 07:06:08 +02:00
Theo Arends 7dafeb280e Rename global temp and pressure
- Rename global temp and pressure (#8808, #8810)
- Fix SGP30 calculation (#8808)
2020-06-28 12:23:18 +02:00
gemu2015 6553a775f4 scripter update
fix unishox define conflict
fix for next loop exit bugs
add full pagewebserver (also support for jpg, html and txt files from filesystem)
2020-06-26 09:22:57 +02:00
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
Theo Arends d779a2b9b4 Add switch modes 11 and 12
Add switch modes 11 (PUSHHOLDMULTI) and 12 (PUSHHOLDMULTI_INV) (#7603)
2020-02-06 14:53:35 +01:00
gemu2015 fc92896ef5 sml dynamic baud and transmit support 2020-02-04 07:07:56 +01:00
Leonid Muravjev e03a14ce21 i2c: I2cSetDevice wrong behavior
Most drivers do not expect address blocking after calling i2cSetDevice.
I2cSetActive removed from I2cSetDevice. All drivers waiting for this call are fixed.

refs #7556
2020-01-19 16:15:18 +03:00
Theo Arends 8aa9109656 Happy New Year
Happy New Year
2019-12-31 14:23:34 +01:00
Bohdan Kmit 7a49f523e7 Make scripter configuration interface localizable
Add tasmota-script build environment and travis entry
2019-12-28 22:32:26 +02:00
gemu2015 72f2e944d5 scripter pram update 2019-12-25 09:04:54 +01:00
Theo Arends a2478f9569 Change number of ``FriendlyName``s from 4 to 8
Change number of ``FriendlyName``s from 4 to 8
2019-12-24 15:06:19 +01:00
Theo Arends 35e51918e3 Document Settings changes 2019-12-22 16:53:51 +01:00
Theo Arends ad4a7e91ac Add support for max 150 characters
Add support for max 150 characters in most command parameter strings (#3686, #4754)
2019-12-22 15:23:52 +01:00
Theo Arends aae86a6718 Add fallback functionality
Add fallback functionality from next version 7.1.2.7
2019-12-16 15:13:57 +01:00
gemu2015 d4c2e92fd5 scripter FUNC_SET_POWER into separate section >P 2019-12-16 06:52:25 +01:00
gemu2015 4ea287eb5b scripter math functions 2019-11-27 17:15:41 +01:00
Theo Arends f32b64d5de Refactor I2C driver detection phase 2 2019-11-07 16:56:05 +01:00
Theo Arends 5f4e38023d Add SetOption comments to code 2019-11-03 12:33:36 +01:00
Theo Arends 0e07397ff7 Change Sonoff-Tasmota to Tasmota 2019-10-27 12:04:08 +01:00