mirror of https://github.com/arendst/Tasmota.git
Updated Scripting Language (markdown)
parent
8a25b22b59
commit
5f0803eb91
|
@ -18,16 +18,16 @@ These features are enabled by adding the following `#define` compiler directive
|
||||||
|
|
||||||
| Feature | Description |
|
| Feature | Description |
|
||||||
| -- | -- |
|
| -- | -- |
|
||||||
|
USE_WEBSEND_RESPONSE | enable receiving the response of a [`WebSend`](Commands#websend) command (received in section E)
|
||||||
|
USE_SCRIPT_JSON_EXPORT | enable `>J` section
|
||||||
|
USE_SCRIPT_WEB_DISPLAY | enable `>W` section
|
||||||
|
USE_SCRIPT_SUB_COMMAND | enables invoking named script subroutines via the Console or MQTT
|
||||||
|
SUPPORT_MQTT_EVENT | enables support for subscribe unsubscribe
|
||||||
|
USE_TOUCH_BUTTONS | enable virtual touch button support with touch displays
|
||||||
|
USE_24C256 | enables use of 24C256 I<sup>2</sup>C EEPROM to expand script buffer (defaults to 4k)
|
||||||
USE_SCRIPT_FATFS CS_PIN | enables SD card support (on SPI bus). Also enables 4k script buffer
|
USE_SCRIPT_FATFS CS_PIN | enables SD card support (on SPI bus). Also enables 4k script buffer
|
||||||
USE_SCRIPT_FATFS_EXT | enables additional FS commands
|
USE_SCRIPT_FATFS_EXT | enables additional FS commands
|
||||||
SDCARD_DIR | enables support for web UI for SD card directory upload and download
|
SDCARD_DIR | enables support for web UI for SD card directory upload and download
|
||||||
USE_24C256 | enables use of 24C256 I<sup>2</sup>C EEPROM to expand script buffer (defaults to 4k)
|
|
||||||
SUPPORT_MQTT_EVENT | enables support for subscribe unsubscribe
|
|
||||||
USE_TOUCH_BUTTONS | enable virtual touch button support with touch displays
|
|
||||||
USE_WEBSEND_RESPONSE | enable receiving the response of a [`WebSend`](Commands#websend) command (received in section E)
|
|
||||||
USE_SCRIPT_WEB_DISPLAY | enable `>W` section
|
|
||||||
USE_SCRIPT_JSON_EXPORT | enable `>J` section
|
|
||||||
USE_SCRIPT_SUB_COMMAND | enables invoking named script subroutines via the Console or MQTT
|
|
||||||
|
|
||||||
<BR><BR>To enter a script, go to `Configuration` =\> `Edit script` in the Tasmota web UI menu
|
<BR><BR>To enter a script, go to `Configuration` =\> `Edit script` in the Tasmota web UI menu
|
||||||
|
|
||||||
|
@ -35,8 +35,7 @@ The maximum script size is 1535 bytes (uses rule set buffers).
|
||||||
|
|
||||||
To save code space almost no error messages are provided. However it is taken care of that at least it should not crash on syntax errors.
|
To save code space almost no error messages are provided. However it is taken care of that at least it should not crash on syntax errors.
|
||||||
|
|
||||||
|
<BR>**Features**
|
||||||
<BR><BR>**Features**
|
|
||||||
- Up to 50 variables (45 numeric and 5 strings - this may be changed by setting a compilation `#define` directive)
|
- Up to 50 variables (45 numeric and 5 strings - this may be changed by setting a compilation `#define` directive)
|
||||||
- Freely definable variable names (all variable names are intentionally _**case sensitive**_)
|
- Freely definable variable names (all variable names are intentionally _**case sensitive**_)
|
||||||
- Nested if,then,else up to a level of 8
|
- Nested if,then,else up to a level of 8
|
||||||
|
@ -83,9 +82,8 @@ To save code space almost no error messages are provided. However it is taken ca
|
||||||
>`>B`
|
>`>B`
|
||||||
executed on BOOT time and on save script
|
executed on BOOT time and on save script
|
||||||
|
|
||||||
>`>T`
|
>`>E`
|
||||||
Executed on [`TelePeriod`](Commands#teleperiod) time (`SENSOR` and `STATE`), only put `tele-` vars in this section
|
Executed when a Tasmota MQTT `RESULT` message is received, e.g., on `POWER` change
|
||||||
Remark: json variable names (like all others) may not contain math operators like - , you should set [`SetOption64 1`](Commands#setoption64) to replace `-` (_dash_) with `_` (_underscore_)
|
|
||||||
|
|
||||||
>`>F`
|
>`>F`
|
||||||
Executed every 100 ms
|
Executed every 100 ms
|
||||||
|
@ -93,12 +91,27 @@ Executed every 100 ms
|
||||||
>`>S`
|
>`>S`
|
||||||
Executed every second
|
Executed every second
|
||||||
|
|
||||||
>`>E`
|
|
||||||
Executed when a Tasmota MQTT `RESULT` message is received, e.g., on `POWER` change
|
|
||||||
|
|
||||||
>`>R`
|
>`>R`
|
||||||
Executed on restart. p vars are saved automatically after this call
|
Executed on restart. p vars are saved automatically after this call
|
||||||
|
|
||||||
|
>`>T`
|
||||||
|
Executed on [`TelePeriod`](Commands#teleperiod) time (`SENSOR` and `STATE`), only put `tele-` vars in this section
|
||||||
|
Remark: json variable names (like all others) may not contain math operators like - , you should set [`SetOption64 1`](Commands#setoption64) to replace `-` (_dash_) with `_` (_underscore_)
|
||||||
|
|
||||||
|
>`>H`
|
||||||
|
Alexa Hue interface (up to 32 virtual hue devices)
|
||||||
|
`device`,`type`,`onVars`
|
||||||
|
Remark: hue values have a range from 0-65535. Divide by 182 to assign HSBcolors hue values.
|
||||||
|
>
|
||||||
|
>`device` device name
|
||||||
|
`type` device type - `E` = extended color; `S` = switch
|
||||||
|
`onVars` assign Hue "on" extended color parameters for hue, saturation, brightness, and color temperature (hue,sat,bri,ct) to scripter variables
|
||||||
|
example:
|
||||||
|
lamp1,E,on=pwr1,hue=hue1,sat=sat1,bri=bri1,ct=ct1
|
||||||
|
|
||||||
|
>`>J`
|
||||||
|
The lines in this section are published via MQTT in a JSON payload on [TelePeriod](Commands#teleperiod). Requires compiling with `#define USE_SCRIPT_JSON_EXPORT `.
|
||||||
|
|
||||||
>`>W`
|
>`>W`
|
||||||
The lines in this section are displayed in the web UI main page. Requires compiling with `#define USE_SCRIPT_WEB_DISPLAY`.
|
The lines in this section are displayed in the web UI main page. Requires compiling with `#define USE_SCRIPT_WEB_DISPLAY`.
|
||||||
>
|
>
|
||||||
|
@ -133,22 +146,9 @@ The lines in this section are displayed in the web UI main page. Requires compil
|
||||||
`<vn>` = name of number variable to hold number
|
`<vn>` = name of number variable to hold number
|
||||||
`<txt>` = label text
|
`<txt>` = label text
|
||||||
|
|
||||||
>`>J`
|
|
||||||
The lines in this section are published via MQTT in a JSON payload on [TelePeriod](Commands#teleperiod). Requires compiling with `#define USE_SCRIPT_JSON_EXPORT `.
|
|
||||||
|
|
||||||
>`>M`
|
>`>M`
|
||||||
[Smart Meter Interface](smart-meter-interface)
|
[Smart Meter Interface](smart-meter-interface)
|
||||||
|
|
||||||
>`>H`
|
|
||||||
Alexa Hue interface (up to 32 virtual hue devices)
|
|
||||||
example:
|
|
||||||
lamp1,E,on=pwr1,hue=hue1,sat=sat1,bri=bri1,ct=ct1
|
|
||||||
|
|
||||||
>1. Name of device
|
|
||||||
>2. type of device, E=extended color, S=switch
|
|
||||||
>3. on=var1 assigns the Hue "on" variable to a scripter var (hue,sat,bri,ct) may be assigned also comma separated (for extended color)
|
|
||||||
remark on hue: hue has a range from 0-65535, simply divide it by 182 to assign it to HSBcolors hue.
|
|
||||||
|
|
||||||
If a variable does not exist, `???` is displayed for commands
|
If a variable does not exist, `???` is displayed for commands
|
||||||
|
|
||||||
If a Tasmota `SENSOR` or `STATUS` or `RESULT` message is not generated or a `Var` does not exist the destination variable is NOT updated.
|
If a Tasmota `SENSOR` or `STATUS` or `RESULT` message is not generated or a `Var` does not exist the destination variable is NOT updated.
|
||||||
|
|
Loading…
Reference in New Issue