diff --git a/Commands.md b/Commands.md
index 02e959bc..b30d9ed2 100644
--- a/Commands.md
+++ b/Commands.md
@@ -1,21 +1,21 @@
-* [**How to Use Commands**](#how-to-use-commands)
-* [**Device Control**](#control)
-* [**Management and Configuration**](#management)
-* [**Wi-Fi**](#Wi-Fi)
-* [**MQTT**](#mqtt)
-* [**Rules**](#rules)
-* [**Timers**](#timers)
-* [**Sensors**](#sensor)
-* [**Power Monitoring**](#power-monitoring)
-* [**Lights (PWM and addressable RGB LED lights)**](#light)
-* [**RF 433MHz Bridge**](#sonoff-rf-bridge)
-* [**IR Remote Control**](#irremote)
-* [**SetOption List**](#setoption-overview)
-* [**Serial Bridge**](#serial-bridge)
-* [**MP3 Player**](#mp3-player)
-* [**Domoticz**](#domoticz)
-* [**KNX IP Protocol**](#knx)
-* [**Displays**](#displays)
+* [**How to Use Commands**](#how-to-use-commands)
+* [**Device Control**](#control)
+* [**Management and Configuration**](#management)
+* [**Wi-Fi**](#Wi-Fi)
+* [**MQTT**](#mqtt)
+* [**Rules**](#rules)
+* [**Timers**](#timers)
+* [**Sensors**](#sensor)
+* [**Power Monitoring**](#power-monitoring)
+* [**Lights (PWM and addressable RGB LED lights)**](#light)
+* [**RF 433MHz Bridge**](#sonoff-rf-bridge)
+* [**IR Remote Control**](#irremote)
+* [**SetOption List**](#setoption-overview)
+* [**Serial Bridge**](#serial-bridge)
+* [**MP3 Player**](#mp3-player)
+* [**Domoticz**](#domoticz)
+* [**KNX IP Protocol**](#knx)
+* [**Displays**](#displays)
The Sonoff-Tasmota firmware provides three powerful man machine interfaces:
**MQTT**, **web** and **serial**.
@@ -97,142 +97,142 @@ When a command mentions resetting to *"firmware default"* it means the setting w
Simply put, other messages may precede messages published as a result of your commands.
* a `tele/%topic%/STATUS` message (sent every 300 seconds by default) may appear exactly after you issue `Power off` command and before you receive `stat/%topic%/RESULT = {"POWER":"OFF"}` message.
-### Control
-
+### Control
-Command | Parameters
-:--- | :---
-Backlog | List of commands to be executed in sequence separated by `;`
See [Using Backlog](#using-backlog) for examples.
-BlinkCount | Number of relay toggles ([blinks](#power)) **(does not control the status LED)**
`0` = blink many times before restoring power state
`1..32000` = set number of blinks
-BlinkTime | `2..3600` set duration, in 0.1 second increments, to [blink](#power) (i.e., toggle Power) for a relay **(does not control the status LED)**
-ButtonDebounce | User control over button debounce timing
`40..1000` = set button debounce time in ms. Default is `40`
-Buzzer | `,,,`
All parameters are optional. The default is one 100ms beep (`1` for ``, ``, and ``).
The `` parameter is a 32-bit [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)#Masking_bits_to_1) where a `1` bit beeps and a `0` bit is silence according to the `` and `` duration parameters, respectively. The tune is played from most significant bit (MSB) to least significant bit (LSB). Leading and trailing `0` bits are ignored. If the `` parameter is specified, the `` parameter is ignored. If the `` parameter is `0`, it is ignored.
`3` - Beep three times with 100ms duration and 100ms pause
`2,3` - Beep twice with 300ms duration and 100ms pause
`2,3,4` - Beep twice with 300ms duration and 400ms pause
`1,2,3,0xF54` (0000 0000 0000 0000 0000 1111 0101 0100). Each `1` bit beeps for 200ms and each bounded `0` bit pauses for 300ms
A device LED can be assigned as a `Buzzer` component to display a blink pattern.
-FanSpeed | Fan speed control *(iFan02/iFan03 only)*
`0` = turn fan OFF
`1..3` = set fan speed
`+` = increase fan speed
`-` = decrease fan speed
-Interlock | Relay interlock mode and group selection.
`0` = set self-locking mode for all relays *(default)*
`1` = set interlock mode for selected relays
-| | Add up to 8 relays in 1 to 4 interlock groups, each separated by a space. For example
`1,2 3,4` = Group Relay1 and Relay2 in group 1 and Relay3 and Relay4 in group 2 (_note the space between the two group declarations_)
`1,2,3` = group Relay1, Relay2 and Relay3 in a single interlock group
`1 3 2,4` = Relay1 is in group 1, Relay3 in group 2, Relay2 and Relay4 in group 3
-LedMask | Allows setting a [``](https://en.wikipedia.org/wiki/Mask_(computing)#Masking_bits_to_1) which specifies which relays control the LED indicator used to display whether a relay is latched/powered. The order of the `` is from most significant bit (MSB) to least significant bit (LSB). Bit 15 (MSB) masks Relay16 through bit 0 (LSB) which masks Relay1, respectively. For each relay to be included in controlling the power LED, set its corresponding bit in the `` to `1`. `` bits without corresponding configured relay components have no effect and can be ignored.
`` = [bitwise](https://whatis.techtarget.com/definition/bitwise) value representing each relay. Values may be entered as either hexadecimal or decimal values (e.g., 0xFFFF = 65535). `0xFFFF` (= 1111 1111 1111 1111) All relays control the power LED _(default)_
[LedState](#ledstate) must be enabled (i.e., `!= 0`) in order for `LedMask` to take effect.
**Examples:**`LedMask 0xFFFD` Every relay, except Relay2, controls the power LED (0xFFFD = 1111 1111 1111 1101)`LedMask 0x0002` Only Relay 2 controls the power LED (0x0002 = 0000 0000 0000 0010)
-LedPower | LED power state as on or off
`0` = turn LED OFF and set `LedState 0`
`1` = turn LED ON and set `LedState 8`
`2` = toggle LED and set `LedState 0`
(Use `Backlog LedPower 0; SetOption31 1` to disable LED even when Wi-Fi or MQTT is not connected)
-LedPower\ | LED\ power state control. **Enabled only when LedLink(i) is configured**
`0` = turn LED OFF and set `LedState 0`
`1` = turn LED ON and set `LedState 0`
`2` = toggle LED and set `LedState 0`
-LedState | Manage LED state
`0` = disable use of LED as much as possible
`1` = show power state on LED (LED on when power on) *(default)* *(inverted for Sonoff Touch/T1)*
`2` = show MQTT subscriptions as a LED blink
`3` = show power state and MQTT subscriptions as a LED blink
`4` = show MQTT publications as a LED blink
`5` = show power state and MQTT publications as a LED blink
`6` = show all MQTT messages as a LED blink
`7` = show power state and MQTT messages as a LED blink
`8` = LED on when Wi-Fi and MQTT are connected. ***Cannot be issued directly*** and is only activated when `LedPower` is switched from `0` to `1`
-Power0 | Control the power state simultaneously for all relays on the device
`0` / `off` = turn OFF
`1` / `on` = turn ON
`2` / `toggle` = if relay is `ON` switch to `OFF` and vice versa
-Power\ | Control the corresponding Relay (enumerated) power state and also restart PulseTime\
`0` / `off` = turn OFF
`1` / `on` = turn ON
`2` / `toggle` = if relay is `ON` switch to `OFF` and vice versa
`3` / `blink` = toggle power for [BlinkCount](#blinkcount) times each [BlinkTime](#blinktime) duration (at the end of `blink`, relay power is returned to pre-blink state)
`4` / `blinkoff` = stop blink sequence and return relay power to pre-blink state
-PowerOnState | Control relay state after _**powering up**_ the device. [More information](PowerOnState-Configuration)
`0` / `OFF` = keep relay(s) OFF after power up
`1` / `ON` = turn relay(s) ON after power up
`2` / `TOGGLE` = toggle relay(s) from last saved state
`3` = switch relay(s) to their last saved state *(default)*
`4` = turn relay(s) ON and disable further relay control
`5` = after a `PulseTime` period turn relay(s) ON (acts as inverted [`PulseTime`](Commands#pulsetime) mode)
-PulseTime\ | Display the amount of `PulseTime` remaining on the corresponding Relay (enumerated)
`` Set the duration to keep the corresponding Relay `ON` when `Power ON` command is issued. After this amount of time, the relay will be turned `OFF`.
`0` / `OFF` = disable use of PulseTime for the corresponding Relay
`1..111` = set PulseTime for the corresponding Relay in 0.1 second increments
`112..64900` = set PulseTime for the corresponding Relay, offset by 100, in 1 second increments. Add 100 to desired interval in seconds, e.g., `PulseTime 113` = 13 seconds and `PulseTime 460` = 6 minutes (i.e., 360 seconds)
-SwitchDebounce | User control over switch debounce timing
`40..1000` = set switch debounce time in ms. Default is `40`
-SwitchMode\ | [Switch mode](Buttons-and-Switches#switchmode)
`0` = toggle *(default)*
`1` = follow (0 = off, 1 = on)
`2` = inverted follow (0 = on, 1 = off)
`3` = pushbutton (default 1, 0 = toggle)
`4` = inverted pushbutton (default 0, 1 = toggle)
`5` = pushbutton with hold (default 1, 0 = toggle, Hold = hold)
`6` = inverted pushbutton with hold (default 0, 1 = toggle, hold = hold)
`7` = pushbutton toggle (0 = toggle, 1 = toggle)
-See also | [`SetOption11`](#SetOption11) - Swap pushbutton single and double press functionality
[`SetOption13`](#SetOption13) - Allow immediate action on single button press
[`SetOption26`](#SetOption26) - Use indexes even when only one relay is present
[`SetOption31`](#SetOption31) - Disable Wi-Fi LED status blinking
[`SetOption32`](#SetOption32) - Set hold interval before sending `HOLD` action
[`SetOption67`](#SetOption67) - Enable/Disable Buzzer
-### Management
-
+Command|Parameters
+:---|:---
+Backlog|List of commands to be executed in sequence separated by `;`
See [Using Backlog](#using-backlog) for examples.
+BlinkCount|Number of relay toggles ([blinks](#power)) **(does not control the status LED)**
`0` = blink many times before restoring power state
`1..32000` = set number of blinks
+BlinkTime|`2..3600` set duration, in 0.1 second increments, to [blink](#power) (i.e., toggle Power) for a relay **(does not control the status LED)**
+ButtonDebounce|User control over button debounce timing
`40..1000` = set button debounce time in ms. Default is `40`
+Buzzer|`,,,`
All parameters are optional. The default is one 100ms beep (`1` for ``, ``, and ``).
The `` parameter is a 32-bit [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)#Masking_bits_to_1) where a `1` bit beeps and a `0` bit is silence according to the `` and `` duration parameters, respectively. The tune is played from most significant bit (MSB) to least significant bit (LSB). Leading and trailing `0` bits are ignored. If the `` parameter is specified, the `` parameter is ignored. If the `` parameter is `0`, it is ignored.
`3` - Beep three times with 100ms duration and 100ms pause
`2,3` - Beep twice with 300ms duration and 100ms pause
`2,3,4` - Beep twice with 300ms duration and 400ms pause
`1,2,3,0xF54` (0000 0000 0000 0000 0000 1111 0101 0100). Each `1` bit beeps for 200ms and each bounded `0` bit pauses for 300ms
A device LED can be assigned as a `Buzzer` component to display a blink pattern.
+FanSpeed|Fan speed control *(iFan02/iFan03 only)*
`0` = turn fan OFF
`1..3` = set fan speed
`+` = increase fan speed
`-` = decrease fan speed
+Interlock|Relay interlock mode and group selection.
`0` = set self-locking mode for all relays *(default)*
`1` = set interlock mode for selected relays
+||Add up to 8 relays in 1 to 4 interlock groups, each separated by a space. For example
`1,2 3,4` = Group Relay1 and Relay2 in group 1 and Relay3 and Relay4 in group 2 (_note the space between the two group declarations_)
`1,2,3` = group Relay1, Relay2 and Relay3 in a single interlock group
`1 3 2,4` = Relay1 is in group 1, Relay3 in group 2, Relay2 and Relay4 in group 3
+LedMask|Allows setting a [``](https://en.wikipedia.org/wiki/Mask_(computing)#Masking_bits_to_1) which specifies which relays control the LED indicator used to display whether a relay is latched/powered. The order of the `` is from most significant bit (MSB) to least significant bit (LSB). Bit 15 (MSB) masks Relay16 through bit 0 (LSB) which masks Relay1, respectively. For each relay to be included in controlling the power LED, set its corresponding bit in the `` to `1`. `` bits without corresponding configured relay components have no effect and can be ignored.
`` = [bitwise](https://whatis.techtarget.com/definition/bitwise) value representing each relay. Values may be entered as either hexadecimal or decimal values (e.g., 0xFFFF = 65535). `0xFFFF` (= 1111 1111 1111 1111) All relays control the power LED _(default)_
[LedState](#ledstate) must be enabled (i.e., `!= 0`) in order for `LedMask` to take effect.
**Examples:**`LedMask 0xFFFD` Every relay, except Relay2, controls the power LED (0xFFFD = 1111 1111 1111 1101)`LedMask 0x0002` Only Relay 2 controls the power LED (0x0002 = 0000 0000 0000 0010)
+LedPower|LED power state as on or off
`0` = turn LED OFF and set `LedState 0`
`1` = turn LED ON and set `LedState 8`
`2` = toggle LED and set `LedState 0`
(Use `Backlog LedPower 0; SetOption31 1` to disable LED even when Wi-Fi or MQTT is not connected)
+LedPower\|LED\ power state control. **Enabled only when LedLink(i) is configured**
`0` = turn LED OFF and set `LedState 0`
`1` = turn LED ON and set `LedState 0`
`2` = toggle LED and set `LedState 0`
+LedState|Manage LED state
`0` = disable use of LED as much as possible
`1` = show power state on LED (LED on when power on) *(default)* *(inverted for Sonoff Touch/T1)*
`2` = show MQTT subscriptions as a LED blink
`3` = show power state and MQTT subscriptions as a LED blink
`4` = show MQTT publications as a LED blink
`5` = show power state and MQTT publications as a LED blink
`6` = show all MQTT messages as a LED blink
`7` = show power state and MQTT messages as a LED blink
`8` = LED on when Wi-Fi and MQTT are connected. ***Cannot be issued directly*** and is only activated when `LedPower` is switched from `0` to `1`
+Power0|Control the power state simultaneously for all relays on the device
`0` / `off` = turn OFF
`1` / `on` = turn ON
`2` / `toggle` = if relay is `ON` switch to `OFF` and vice versa
+Power\|Control the corresponding Relay (enumerated) power state and also restart PulseTime\
`0` / `off` = turn OFF
`1` / `on` = turn ON
`2` / `toggle` = if relay is `ON` switch to `OFF` and vice versa
`3` / `blink` = toggle power for [BlinkCount](#blinkcount) times each [BlinkTime](#blinktime) duration (at the end of `blink`, relay power is returned to pre-blink state)
`4` / `blinkoff` = stop blink sequence and return relay power to pre-blink state
+PowerOnState|Control relay state after _**powering up**_ the device. [More information](PowerOnState-Configuration)
`0` / `OFF` = keep relay(s) OFF after power up
`1` / `ON` = turn relay(s) ON after power up
`2` / `TOGGLE` = toggle relay(s) from last saved state
`3` = switch relay(s) to their last saved state *(default)*
`4` = turn relay(s) ON and disable further relay control
`5` = after a `PulseTime` period turn relay(s) ON (acts as inverted [`PulseTime`](Commands#pulsetime) mode)
+PulseTime\|Display the amount of `PulseTime` remaining on the corresponding Relay (enumerated)
`` Set the duration to keep the corresponding Relay `ON` when `Power ON` command is issued. After this amount of time, the relay will be turned `OFF`.
`0` / `OFF` = disable use of PulseTime for the corresponding Relay
`1..111` = set PulseTime for the corresponding Relay in 0.1 second increments
`112..64900` = set PulseTime for the corresponding Relay, offset by 100, in 1 second increments. Add 100 to desired interval in seconds, e.g., `PulseTime 113` = 13 seconds and `PulseTime 460` = 6 minutes (i.e., 360 seconds)
+SwitchDebounce|User control over switch debounce timing
`40..1000` = set switch debounce time in ms. Default is `40`
+SwitchMode\|[Switch mode](Buttons-and-Switches#switchmode)
`0` = toggle *(default)*
`1` = follow (0 = off, 1 = on)
`2` = inverted follow (0 = on, 1 = off)
`3` = pushbutton (default 1, 0 = toggle)
`4` = inverted pushbutton (default 0, 1 = toggle)
`5` = pushbutton with hold (default 1, 0 = toggle, Hold = hold)
`6` = inverted pushbutton with hold (default 0, 1 = toggle, hold = hold)
`7` = pushbutton toggle (0 = toggle, 1 = toggle)
+See also| [`SetOption11`](#SetOption11) - Swap pushbutton single and double press functionality
[`SetOption13`](#SetOption13) - Allow immediate action on single button press
[`SetOption26`](#SetOption26) - Use indexes even when only one relay is present
[`SetOption31`](#SetOption31) - Disable Wi-Fi LED status blinking
[`SetOption32`](#SetOption32) - Set hold interval before sending `HOLD` action
[`SetOption67`](#SetOption67) - Enable/Disable Buzzer
-Command | Parameters
-:--- | :---
-Delay|`2..3600` = set delay between two backlog commands with 0.1 second increment
-Emulation|`0` = disable emulation
`1` = enable Belkin WeMo emulation for Alexa
`2` = enable Hue Bridge emulation for Alexa
-Event | Execute an event to trigger a rule as [documented](Rules#trigger)
-FriendlyName\|`1` = Reset friendly name to firmware default
`` = set friendly name (32 char limit)
-Gpios | Show list of available sensors and devices by name and index
-Gpio | Show current GPIO usage for current module
-Gpio\|`` = configure [sensor](https://github.com/arendst/Sonoff-Tasmota/blob/0658ae19599e88432bbb20348f1d49279276acd7/sonoff/sonoff_template.h#L192) to Gpio\
-I2Cscan | Scan I2C bus and show addresses for found devices
-LogHost|`1`= reset [syslog](https://www.sigmdel.ca/michel/ha/rpi/syslog_en.html) host to firmware default (`SYS_LOG_HOST`)
`` = set syslog host (32 chars max)
-LogPort|`1`= reset [syslog](https://www.sigmdel.ca/michel/ha/rpi/syslog_en.html) port to firmware default (`SYS_LOG_PORT`)
`2..32766` = set syslog port
-Modules | Show available modules by name and index
-Module | Displays active module by name and index
`` = switch to Module\ and restart
-NtpServer\ | NTP server setup (x= `1..3`)
`0` = clear NtpServer\ settings
`1` = reset NtpServer\ settings to firmware defaults
`` = set NtpServer\ host or IP address (32 char limit)
-OtaUrl | Display current OTA URL
`1` = Reset OtaUrl to firmware default
`url` = set address for OTA (100 char limit)
-Pwm\|`0..1023` = set PWM value for channel
-PwmFrequency|`1` = reset PWM frequency to 880Hz
`100..4000` = set PWM frequency (100Hz to 4kHz)
-PwmRange|`1` = reset maximum PWM range to 1023
`255..1023` = set maximum PWM range
-Reset|`1` = reset device settings to firmware defaults and restart
`2` = erase flash, reset device settings to firmware defaults and restart
`3` = erase flash SDK parameters and restart
`4` = reset device settings to firmware defaults but retain Wi-Fi credentials and restart
`5` = erase all flash and reset parameters to firmware defaults but keep Wi-Fi settings and restart
`6` = erase all flash and reset parameters to firmware defaults but keep Wi-Fi and MQTT settings and restart
*(Erase of flash can take a few seconds to complete and there is no output during the erase process on the serial or web console)*
`99` = reset device bootcount to zero
-Restart|`1` = restart device
`99` = force restart device without configuration save
-SaveData|`0` = save parameter changes only manually
`1` = save parameter changes every second *(default)*
`2..3600`= save parameter changes every x second
-SerialLog | Disable hardware serial bridge and
`0` = disable serial logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
-Sleep|`0` = turn sleep off
`1..250` = set sleep duration in mSec to enable [energy saving](energy-saving) *(default = `50`)*
-State | Show current device state in `%prefix%/%topic%/RESULT` topic
-Status | ` ` = show abbreviated [status information](JSON-Status-Responses#basic-response)
`0` = show all status information (1 - 11)
`1` = show device parameters information
`2` = show firmware information
`3` = show logging and telemetry information
`4` = show memory information
`5` = show network information
`6` = show MQTT information
`7` = show time information
`8` = show connected sensor information
`9` = show power thresholds *(only on modules with power monitoring)*
`10` = same as `Status 8` *(retained for backwards compatibility)*
`11` = show information equal to [`TelePeriod`](#teleperiod) state message
-SysLog|`0` = disable syslog logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
-Template | Show current [Template](Templates)
`0` = create template from active module
`1..71` = create template from a supported module
`255` = merge current module and template settings into new template
`{ ... }` = store template in a [JSON payload](Templates#explanation-of-template-properties)
After setting a template using this command, you can activate the template by selection Module `0`, i.e., send the command `Module 0`
-Time|`0` = enable NTP *(default)*
`1` = format JSON message timestamp in ISO format
`2` = format JSON message timestamp in both ISO and Epoch format
`3` = format JSON message timestamp in Epoch format
`` = disable NTP and set UTC time as epoch value if greater than `1451602800` (January 1, 2016)
-TimeSTD
TimeDST | Set policies for the beginning of daylight saving time (DST) and return back to standard time (STD)
`0` = reset parameters to firmware defaults
`H`,`W`,`M`,`D`,`h`,`T`
`H` = hemisphere (`0` = northern hemisphere / `1` = southern hemisphere)
`W` = week (`0` = last week of month, `1..4` = first .. fourth)
`M` = month (`1..12`)
`D` = day of week (`1..7` `1` = sunday `7` = saturday)
`h` = hour (`0..23`)
`T` = timezone (`-780..780`) (offset from UTC in **MINUTES** - 780min/60min=13hrs)
_Example:_ `TIMEDST 1,1,10,1,2,660`
-Timezone|`-13..13` = set timezone offset from UTC in **HOURS**
`99` = use timezone configured with `TimeDST` and `TimeSTD`
-TuyaMCU| ` ` = show current TuyaMCU FunctionId and DpId mapping
`,` = Set TuyaMCU FunctionId and DpId mapping
Details for FunctionId and DpId [here](https://github.com/arendst/Sonoff-Tasmota/wiki/TuyaMCU)
-Upgrade|`1` = download firmware from `OtaUrl` and restart
`` = download firmware from `OtaUrl` if \ is higher than device version
-Upload|`1` = download firmware from `OtaUrl` and restart
`` = download firmware from `OtaUrl` if \ is higher than device version
-WebLog|`0` = disable web logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
-See also | [`SetOption68`](#Setoption68) - PWM Channel control
-
-### [Wi-Fi](Troubleshooting#Wi-Fi-issues-arduino-core-versions-and-espressif-sdk)
-
+### Management
-Command | Parameters
-:--- | :---
-AP|`0` = switch to other Wi-Fi Access Point
`1`= select Wi-Fi Access Point 1
`2`= select Wi-Fi Access Point 2
-Hostname|`1` = reset hostname to `MQTT_TOPIC-<4digits>` and restart
`` = set hostname (32 char limit) and restart. If hostname contains `%` it will be reset to the default instead.
-IPAddress1|`0.0.0.0` = use dynamic IP address (DHCP)
`XXX.XXX.XXX.XXX` = set static IP address
-IPAddress2|`XXX.XXX.XXX.XXX` = set gateway IP address
-IPAddress3|`XXX.XXX.XXX.XXX` = set subnet mask
-IPAddress4|`XXX.XXX.XXX.XXX` = set DNS server IP address
*follow IPAddress commands with `restart 1` to apply changes*
-Password\|`1` = reset AP\ Wi-Fi password to firmware default (`STA_PASS1`) and restart
``= set AP\ Wi-Fi password (64 char limit, **do not use special characters or white spaces in the password**) and restart. **Note that `Password` and `Password1` are equivalent commands.**
-Ssid\|`1` = reset AP\ Wi-Fi SSID to firmware default (`STA_SSID1` or `STA_SSID2`) and restart
``= set AP\ Wi-Fi SSID (32 char limit, **do not use special characters or white spaces in the SSID**) and restart
-WebColor\|Web GUI colors
`#RRGGBB` = Set web GUI color (x = `1..18`):
`1` = Global text (Black)
`2` = Global background (White)
`3` = Form background (Greyish)
`4` = Input text (Black)
`5` = Input background (White)
`6` = Console text (Black)
`7` = Console background (White)
`8` = Warning text (Red)
`9` = Success text (Green)
`10` = Button text (White)
`11` = Button (Blueish)
`12` = Button hovered over (Darker blueish)
`13` = Restart/Reset/Delete button (Redish)
`14` = Restart/Reset/Delete button hover (Darker reddish)
`15` = Save button (Greenish)
`16` = Save button hover (Darker greenish)
`17` = Config timer tab text (White)
`18` = Config timer tab background (Light grey)
-WebPassword | Show current web server password
`0` = disable use of password for WebUI
`1` = reset password to firmware default (`WEB_PASSWORD`)
`` = set WebUI password for user `WEB_USERNAME` (32 char limit)
-WebRefresh|Web page refresh
`1000..10000` = set refresh time in ms. Default is 2345
Default WEB_USERNAME is `admin`.
-WebSend | Send a command to Tasmota host. If a command starts with a `\` it will be used as a link.
`[:,:] `
`` = hostname or IP address.
`` = port for the device if not the default `80`
`` = enter username of the device you're sending the command to
`` = enter password of the device you're sending the command to
`` = command and payload
*example: `[] POWER1 ON` sends `http:///cm?cmnd=POWER1 ON`*
-WebSensor\|Control display of sensor telemetry in the web UI
`0` - Do not display sensor's telemetry
`1` - Display sensor's telemetry (*default*)
`` = number corresponding to the sensor - listed in the `sns` section of the [supported sensor spreadsheet](https://docs.google.com/spreadsheets/d/e/2PACX-1vRBFqaP5QAFmT8iIYBxrn-EQp7-SrkxL6tb0OjpqtBxDEsmkiWCFei3sFyA_UXoqlbs3CqtEdOfC6Pa/pubhtml?gid=1029939700&single=true)
`` = `3` Energy telemetry
Issue a `Status 4` to obtain a list of sensor types enabled in the firmware loaded on the device.
-WebServer|`0` = stop web server
`1` = start web server in user mode
`2` = start web server in admin mode
-WifiConfig|`0` - disable Wi-Fi configuration and reboot (used with alternate AP)
`1` = set SmartConfig as the current configuration tool, start SmartConfig for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`2` = set Wi-Fi Manager as the current configuration tool and start Wi-Fi Manager (web server at 192.168.4.1) for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`3` = set WPS as the current configuration tool, try WPS for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`4` = disable Wi-Fi configuration but retry other AP without rebooting
`5` = disable Wi-Fi configuration and alternatively retry AP1 and AP2 until connected without rebooting
`7` = start set Wi-Fi Manager (web server at 192.168.4.1) as the current configuration tool but restricted with the only option to reset device settings. _**This setting is recommended for devices without an external control/reset button**_.
-See also | [`SetOption55`](#Setoption55) - mDNS service control
[`SetOption56`](#Setoption56) - Wi-Fi network scan to select strongest signal on restart
[`SetOption57`](#Setoption57) - Wi-Fi network re-scan, alternate AP
+
+Command|Parameters
+:---|:---
+Delay|`2..3600` = set delay between two backlog commands with 0.1 second increment
+Emulation|`0` = disable emulation
`1` = enable Belkin WeMo emulation for Alexa
`2` = enable Hue Bridge emulation for Alexa
+Event|Execute an event to trigger a rule as [documented](Rules#trigger)
+FriendlyName\|`1` = Reset friendly name to firmware default
`` = set friendly name (32 char limit)
+Gpios|Show list of available sensors and devices by name and index
+Gpio|Show current GPIO usage for current module
+Gpio\|`` = configure [sensor](https://github.com/arendst/Sonoff-Tasmota/blob/0658ae19599e88432bbb20348f1d49279276acd7/sonoff/sonoff_template.h#L192) to Gpio\
+I2Cscan|Scan I2C bus and show addresses for found devices
+LogHost|`1`= reset [syslog](https://www.sigmdel.ca/michel/ha/rpi/syslog_en.html) host to firmware default (`SYS_LOG_HOST`)
`` = set syslog host (32 chars max)
+LogPort|`1`= reset [syslog](https://www.sigmdel.ca/michel/ha/rpi/syslog_en.html) port to firmware default (`SYS_LOG_PORT`)
`2..32766` = set syslog port
+Modules|Show available modules by name and index
+Module|Displays active module by name and index
`` = switch to Module\ and restart
+NtpServer\|NTP server setup (x= `1..3`)
`0` = clear NtpServer\ settings
`1` = reset NtpServer\ settings to firmware defaults
`` = set NtpServer\ host or IP address (32 char limit)
+OtaUrl|Display current OTA URL
`1` = Reset OtaUrl to firmware default
`url` = set address for OTA (100 char limit)
+Pwm\|`0..1023` = set PWM value for channel
+PwmFrequency|`1` = reset PWM frequency to 880Hz
`100..4000` = set PWM frequency (100Hz to 4kHz)
+PwmRange|`1` = reset maximum PWM range to 1023
`255..1023` = set maximum PWM range
+Reset|`1` = reset device settings to firmware defaults and restart
`2` = erase flash, reset device settings to firmware defaults and restart
`3` = erase flash SDK parameters and restart
`4` = reset device settings to firmware defaults but retain Wi-Fi credentials and restart
`5` = erase all flash and reset parameters to firmware defaults but keep Wi-Fi settings and restart
`6` = erase all flash and reset parameters to firmware defaults but keep Wi-Fi and MQTT settings and restart
*(Erase of flash can take a few seconds to complete and there is no output during the erase process on the serial or web console)*
`99` = reset device bootcount to zero
+Restart|`1` = restart device
`99` = force restart device without configuration save
+SaveData|`0` = save parameter changes only manually
`1` = save parameter changes every second *(default)*
`2..3600`= save parameter changes every x second
+SerialLog|Disable hardware serial bridge and
`0` = disable serial logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
+Sleep|`0` = turn sleep off
`1..250` = set sleep duration in mSec to enable [energy saving](energy-saving) *(default = `50`)*
+State|Show current device state in `%prefix%/%topic%/RESULT` topic
+Status|` ` = show abbreviated [status information](JSON-Status-Responses#basic-response)
`0` = show all status information (1 - 11)
`1` = show device parameters information
`2` = show firmware information
`3` = show logging and telemetry information
`4` = show memory information
`5` = show network information
`6` = show MQTT information
`7` = show time information
`8` = show connected sensor information
`9` = show power thresholds *(only on modules with power monitoring)*
`10` = same as `Status 8` *(retained for backwards compatibility)*
`11` = show information equal to [`TelePeriod`](#teleperiod) state message
+SysLog|`0` = disable syslog logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
+Template|Show current [Template](Templates)
`0` = create template from active module
`1..71` = create template from a supported module
`255` = merge current module and template settings into new template
`{ ... }` = store template in a [JSON payload](Templates#explanation-of-template-properties)
After setting a template using this command, you can activate the template by selection Module `0`, i.e., send the command `Module 0`
+Time|`0` = enable NTP *(default)*
`1` = format JSON message timestamp in ISO format
`2` = format JSON message timestamp in both ISO and Epoch format
`3` = format JSON message timestamp in Epoch format
`` = disable NTP and set UTC time as epoch value if greater than `1451602800` (January 1, 2016)
+TimeSTD
TimeDST|Set policies for the beginning of daylight saving time (DST) and return back to standard time (STD)
`0` = reset parameters to firmware defaults
`H`,`W`,`M`,`D`,`h`,`T`
`H` = hemisphere (`0` = northern hemisphere / `1` = southern hemisphere)
`W` = week (`0` = last week of month, `1..4` = first .. fourth)
`M` = month (`1..12`)
`D` = day of week (`1..7` `1` = sunday `7` = saturday)
`h` = hour (`0..23`)
`T` = timezone (`-780..780`) (offset from UTC in **MINUTES** - 780min/60min=13hrs)
_Example:_ `TIMEDST 1,1,10,1,2,660`
+Timezone|`-13..13` = set timezone offset from UTC in **HOURS**
`99` = use timezone configured with `TimeDST` and `TimeSTD`
+TuyaMCU| ` ` = show current TuyaMCU FunctionId and DpId mapping
`,` = Set TuyaMCU FunctionId and DpId mapping
Details for FunctionId and DpId [here](https://github.com/arendst/Sonoff-Tasmota/wiki/TuyaMCU)
+Upgrade|`1` = download firmware from `OtaUrl` and restart
`` = download firmware from `OtaUrl` if \ is higher than device version
+Upload|`1` = download firmware from `OtaUrl` and restart
`` = download firmware from `OtaUrl` if \ is higher than device version
+WebLog|`0` = disable web logging
`1` = show only error messages
`2` = show error and info messages
`3` = show error, info and debug messages
`4` = show error, info and more debug messages
`5` = show all messages
+See also|[`SetOption68`](#Setoption68) - PWM Channel control
+
+### [Wi-Fi](Troubleshooting#Wi-Fi-issues-arduino-core-versions-and-espressif-sdk)
+
+
+Command|Parameters
+:---|:---
+AP|`0` = switch to other Wi-Fi Access Point
`1`= select Wi-Fi Access Point 1
`2`= select Wi-Fi Access Point 2
+Hostname|`1` = reset hostname to `MQTT_TOPIC-<4digits>` and restart
`` = set hostname (32 char limit) and restart. If hostname contains `%` it will be reset to the default instead.
+IPAddress1|`0.0.0.0` = use dynamic IP address (DHCP)
`XXX.XXX.XXX.XXX` = set static IP address
+IPAddress2|`XXX.XXX.XXX.XXX` = set gateway IP address
+IPAddress3|`XXX.XXX.XXX.XXX` = set subnet mask
+IPAddress4|`XXX.XXX.XXX.XXX` = set DNS server IP address
*follow IPAddress commands with `restart 1` to apply changes*
+Password\|`1` = reset AP\ Wi-Fi password to firmware default (`STA_PASS1`) and restart
``= set AP\ Wi-Fi password (64 char limit, **do not use special characters or white spaces in the password**) and restart. **Note that `Password` and `Password1` are equivalent commands.**
+Ssid\|`1` = reset AP\ Wi-Fi SSID to firmware default (`STA_SSID1` or `STA_SSID2`) and restart
``= set AP\ Wi-Fi SSID (32 char limit, **do not use special characters or white spaces in the SSID**) and restart
+WebColor\|Web GUI colors
`#RRGGBB` = Set web GUI color (x = `1..18`):
`1` = Global text (Black)
`2` = Global background (White)
`3` = Form background (Greyish)
`4` = Input text (Black)
`5` = Input background (White)
`6` = Console text (Black)
`7` = Console background (White)
`8` = Warning text (Red)
`9` = Success text (Green)
`10` = Button text (White)
`11` = Button (Blueish)
`12` = Button hovered over (Darker blueish)
`13` = Restart/Reset/Delete button (Redish)
`14` = Restart/Reset/Delete button hover (Darker reddish)
`15` = Save button (Greenish)
`16` = Save button hover (Darker greenish)
`17` = Config timer tab text (White)
`18` = Config timer tab background (Light grey)
+WebPassword|Show current web server password
`0` = disable use of password for WebUI
`1` = reset password to firmware default (`WEB_PASSWORD`)
`` = set WebUI password for user `WEB_USERNAME` (32 char limit)
+WebRefresh|Web page refresh
`1000..10000` = set refresh time in ms. Default is 2345
Default WEB_USERNAME is `admin`.
+WebSend|Send a command to Tasmota host. If a command starts with a `\` it will be used as a link.
`[:,:] `
`` = hostname or IP address.
`` = port for the device if not the default `80`
`` = enter username of the device you're sending the command to
`` = enter password of the device you're sending the command to
`` = command and payload
*example: `[] POWER1 ON` sends `http:///cm?cmnd=POWER1 ON`*
+WebSensor\|Control display of sensor telemetry in the web UI
`0` - Do not display sensor's telemetry
`1` - Display sensor's telemetry (*default*)
`` = number corresponding to the sensor - listed in the `sns` section of the [supported sensor spreadsheet](https://docs.google.com/spreadsheets/d/e/2PACX-1vRBFqaP5QAFmT8iIYBxrn-EQp7-SrkxL6tb0OjpqtBxDEsmkiWCFei3sFyA_UXoqlbs3CqtEdOfC6Pa/pubhtml?gid=1029939700&single=true)
`` = `3` Energy telemetry
Issue a `Status 4` to obtain a list of sensor types enabled in the firmware loaded on the device.
+WebServer|`0` = stop web server
`1` = start web server in user mode
`2` = start web server in admin mode
+WifiConfig|`0` - disable Wi-Fi configuration and reboot (used with alternate AP)
`1` = set SmartConfig as the current configuration tool, start SmartConfig for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`2` = set Wi-Fi Manager as the current configuration tool and start Wi-Fi Manager (web server at 192.168.4.1) for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`3` = set WPS as the current configuration tool, try WPS for 3 minutes, and then reboot and try to connect to your Wi-Fi network again
`4` = disable Wi-Fi configuration but retry other AP without rebooting
`5` = disable Wi-Fi configuration and alternatively retry AP1 and AP2 until connected without rebooting
`7` = start set Wi-Fi Manager (web server at 192.168.4.1) as the current configuration tool but restricted with the only option to reset device settings. _**This setting is recommended for devices without an external control/reset button**_.
+See also|[`SetOption55`](#Setoption55) - mDNS service control
[`SetOption56`](#Setoption56) - Wi-Fi network scan to select strongest signal on restart
[`SetOption57`](#Setoption57) - Wi-Fi network re-scan, alternate AP
### [MQTT](MQTT)
-
-Command | Parameters
-:--- | :---
-ButtonRetain|`0` = disable use of MQTT retain flag *(default)*
`1` = enable MQTT retain flag on button press
-ButtonTopic|`` = set MQTT button topic (32 chars max)
`0` = disable use of MQTT button topic
`1` = set MQTT button topic to device `%topic%`
`2` = reset MQTT button topic to firmware default (`MQTT_BUTTON_TOPIC`) _(default = `0`)_
-FullTopic|`1` = reset MQTT fulltopic to firmware default (`MQTT_FULLTOPIC`) and restart
`` = set MQTT fulltopic (100 chars max) using optional %topic% and %prefix% and restart
-GroupTopic|`1` = reset MQTT group topic to firmware default (`MQTT_GRPTOPIC`) and restart
`` = set MQTT group topic (32 chars max) and restart
-MqttClient|`1` = reset MQTT client to firmware config (`MQTT_CLIENT_ID`) and restart
`` = set MQTT client (32 chars max) and restart.
You can use wildcard `%06X` to replace with last six characters of MAC address.
-MqttFingerprint | *TLS needs to be enabled in firmware for this command*
`` = set current fingerprint as 20 space separated bytes (59 chars max)
-MqttHost|`0` = clear MQTT host field and allow mDNS to find MQTT host
`1` = reset MQTT host to firmware default (`MQTT_HOST`) and restart
`` = set MQTT host (32 chars max) and restart
-MqttPassword|`0` = clear MQTT password
`1` = reset MQTT password to firmware default (`MQTT_PASS`) and restart
`` = set MQTT password (32 chars max) and restart
-MqttPort|`1` = reset MQTT port to firmware default (`MQTT_PORT`) and restart
`` = set MQTT port between 2 and 32766 and restart
-MqttRetry|`10..32000` = set MQTT connection retry timer in seconds *(default = `10`)*
-MqttUser|`0` = clear MQTT user name
`1` = reset MQTT user name to firmware default (`MQTT_USER`) and restart
`` = set MQTT user name (32 chars max) and restart
-PowerRetain | MQTT [power retain state](PowerOnState-Configuration#side-effects-with-using-mqtt-messages)
`0` / `off` = disable MQTT power retain on status update *(default)*
`1` / `on` = enable MQTT power retain on status update
-Prefix1|`1` = reset MQTT command subscription prefix to firmware default (`SUB_PREFIX`) and restart
`` = set MQTT command subscription prefix (10 chars max) and restart
-Prefix2|`1` = reset MQTT status prefix to firmware default (`PUB_PREFIX`) and restart
`` = set MQTT status prefix (10 chars max) and restart
-Prefix3|`1` = Reset MQTT telemetry prefix to firmware default (`PUB_PREFIX2`) and restart
`` = set MQTT telemetry prefix (10 chars max) and restart
-Publish|` ` = MQTT publish any topic and optional payload
-Publish2|` ` = MQTT publish any topic and optional payload with retain flag
-SensorRetain|`0` = disable use of sensor MQTT retain flag *(default)*
`1` = enable MQTT retain flag on message `tele/%topic%/SENSOR`
-StateText1|`` = set `OFF` state text (10 chars max)
-StateText2|`` = set `ON` state text (10 chars max)
-StateText3|`` = set `TOGGLE` state text (10 chars max)
-StateText4|`` = set `HOLD` state text (10 chars max)
-SwitchRetain|`0` = disable use of MQTT retain flag *(default)*
`1` = enable MQTT retain flag on switch press
-Subscribe|List all topics currently subscribed
`, [, ]`
The `` parameter is optional. It is specified to parse a key/value pair from a JSON payload in the MQTT message. In order to parse a value from a multi-level JSON pair, you can use one dot (`.`) syntax to split the key into sections.
Subscribes to an MQTT topic and assigns an [`Event`](#event) name to it. You must compile your own binary with `#define SUPPORT_MQTT_EVENT` in your `user_config_override.h` file.
**Examples:**`Subscribe BkLight, stat/%topic%/POWER`
`Rule1 ON Event#BkLight=ON DO ENDON``Subscribe DnTemp, stat/%topic%/SENSOR, DS18B20.Temperature`
where the MQTT message payload is `{"Time":"2017-02-16T10:13:52", "DS18B20":{"Temperature":20.6}}`
`Rule1 ON Event#DnTemp>=21 DO ENDON`
-SwitchTopic|`` = set MQTT switch topic (32 chars max)
`0` = disable use of MQTT switch topic
`1` = set MQTT switch topic to device `%topic%`
`2` = reset MQTT switch topic to firmware default (`MQTT_SWITCH_TOPIC`) _(default = `0`)_
[Read more](Buttons-and-switches) about this
-TelePeriod|`0` = disable telemetry messages
`1` = reset telemetry period to firmware default (`TELE_PERIOD`)
`10..3600` = set telemetry period in seconds *(default = `300`)*
-Topic|`1` = reset MQTT topic to firmware default (`MQTT_TOPIC`) and restart
`` = set MQTT topic (32 chars max) **and** `ButtonTopic` and restart
-Unsubscribe|Unsubscribe from all topics currently subscribed using the [`Subscribe`](#subscribe) command
`` = unsubscribe from a specific MQTT topic
You must compile your own binary with `#define SUPPORT_MQTT_EVENT` in your `user_config_override.h` file.
-See also | [`SetOption2`](#setoption2) - Add units to status messages
[`SetOption4`](#setoption4) - Return MQTT response as RESULT or %COMMAND% topic
[`SetOption10`](#setoption10) - Main topic change behaviour
-### [Rules](Rules)
-
+Command|Parameters
+:---|:---
+ButtonRetain|`0` = disable use of MQTT retain flag *(default)*
`1` = enable MQTT retain flag on button press
+ButtonTopic|`` = set MQTT button topic (32 chars max)
`0` = disable use of MQTT button topic
`1` = set MQTT button topic to device `%topic%`
`2` = reset MQTT button topic to firmware default (`MQTT_BUTTON_TOPIC`) _(default = `0`)_
+FullTopic|`1` = reset MQTT fulltopic to firmware default (`MQTT_FULLTOPIC`) and restart
`` = set MQTT fulltopic (100 chars max) using optional %topic% and %prefix% and restart
+GroupTopic|`1` = reset MQTT group topic to firmware default (`MQTT_GRPTOPIC`) and restart
`` = set MQTT group topic (32 chars max) and restart
+MqttClient|`1` = reset MQTT client to firmware config (`MQTT_CLIENT_ID`) and restart
`` = set MQTT client (32 chars max) and restart.
You can use wildcard `%06X` to replace with last six characters of MAC address.
+MqttFingerprint|*TLS needs to be enabled in firmware for this command*
`` = set current fingerprint as 20 space separated bytes (59 chars max)
+MqttHost|`0` = clear MQTT host field and allow mDNS to find MQTT host
`1` = reset MQTT host to firmware default (`MQTT_HOST`) and restart
`` = set MQTT host (32 chars max) and restart
+MqttPassword|`0` = clear MQTT password
`1` = reset MQTT password to firmware default (`MQTT_PASS`) and restart
`` = set MQTT password (32 chars max) and restart
+MqttPort|`1` = reset MQTT port to firmware default (`MQTT_PORT`) and restart
`` = set MQTT port between 2 and 32766 and restart
+MqttRetry|`10..32000` = set MQTT connection retry timer in seconds *(default = `10`)*
+MqttUser|`0` = clear MQTT user name
`1` = reset MQTT user name to firmware default (`MQTT_USER`) and restart
`` = set MQTT user name (32 chars max) and restart
+PowerRetain|MQTT [power retain state](PowerOnState-Configuration#side-effects-with-using-mqtt-messages)
`0` / `off` = disable MQTT power retain on status update *(default)*
`1` / `on` = enable MQTT power retain on status update
+Prefix1|`1` = reset MQTT command subscription prefix to firmware default (`SUB_PREFIX`) and restart
`` = set MQTT command subscription prefix (10 chars max) and restart
+Prefix2|`1` = reset MQTT status prefix to firmware default (`PUB_PREFIX`) and restart
`` = set MQTT status prefix (10 chars max) and restart
+Prefix3|`1` = Reset MQTT telemetry prefix to firmware default (`PUB_PREFIX2`) and restart
`` = set MQTT telemetry prefix (10 chars max) and restart
+Publish|` ` = MQTT publish any topic and optional payload
+Publish2|` ` = MQTT publish any topic and optional payload with retain flag
+SensorRetain|`0` = disable use of sensor MQTT retain flag *(default)*
`1` = enable MQTT retain flag on message `tele/%topic%/SENSOR`
+StateText1|`` = set `OFF` state text (10 chars max)
+StateText2|`` = set `ON` state text (10 chars max)
+StateText3|`` = set `TOGGLE` state text (10 chars max)
+StateText4|`` = set `HOLD` state text (10 chars max)
+SwitchRetain|`0` = disable use of MQTT retain flag *(default)*
`1` = enable MQTT retain flag on switch press
+Subscribe|List all topics currently subscribed
`, [, ]`
The `` parameter is optional. It is specified to parse a key/value pair from a JSON payload in the MQTT message. In order to parse a value from a multi-level JSON pair, you can use one dot (`.`) syntax to split the key into sections.
Subscribes to an MQTT topic and assigns an [`Event`](#event) name to it. You must compile your own binary with `#define SUPPORT_MQTT_EVENT` in your `user_config_override.h` file.
**Examples:**`Subscribe BkLight, stat/%topic%/POWER`
`Rule1 ON Event#BkLight=ON DO ENDON``Subscribe DnTemp, stat/%topic%/SENSOR, DS18B20.Temperature`
where the MQTT message payload is `{"Time":"2017-02-16T10:13:52", "DS18B20":{"Temperature":20.6}}`
`Rule1 ON Event#DnTemp>=21 DO ENDON`
+SwitchTopic|`` = set MQTT switch topic (32 chars max)
`0` = disable use of MQTT switch topic
`1` = set MQTT switch topic to device `%topic%`
`2` = reset MQTT switch topic to firmware default (`MQTT_SWITCH_TOPIC`) _(default = `0`)_
[Read more](Buttons-and-switches) about this
+TelePeriod|`0` = disable telemetry messages
`1` = reset telemetry period to firmware default (`TELE_PERIOD`)
`10..3600` = set telemetry period in seconds *(default = `300`)*
+Topic|`1` = reset MQTT topic to firmware default (`MQTT_TOPIC`) and restart
`` = set MQTT topic (32 chars max) **and** `ButtonTopic` and restart
+Unsubscribe|Unsubscribe from all topics currently subscribed using the [`Subscribe`](#subscribe) command
`` = unsubscribe from a specific MQTT topic
You must compile your own binary with `#define SUPPORT_MQTT_EVENT` in your `user_config_override.h` file.
+See also|[`SetOption2`](#setoption2) - Add units to status messages
[`SetOption4`](#setoption4) - Return MQTT response as RESULT or %COMMAND% topic
[`SetOption10`](#setoption10) - Main topic change behaviour
-Command | Parameters
-:--- | :---
-Rule\ |There are 3 separate rule sets, each with a 511 character limit. Each rule set can contain multiple [rules](Rules#rule-syntax). Each of the rule sets can be enabled or disabled individually (x = `1..3`)
`0` = disable Rule\
`1` = enable Rule\
`2` = toggle Rule\
`4` = disable one-shot detection (perform commands as long as trigger is met)
`5` = enable one-shot (e.g., sometimes used for slow changing sensors like temperature) detection
`6` = toggle one-shot detection
`8` = disable stop-on-error after exception restart
`9` = enable stop-on-error after exception restart
`10` = toggle stop-on-error after exception restart
`` = define [Rule\](Rules)
`+` = append to [Rule\](Rules)
`""` = clear Rule\
-RuleTimer\ | Up to eight timers to be used as countdown event (x = `1..8`)
`0..32766` = set countdown rule timer in seconds
-Mem\ | Manage up to 5 variables stored on flash (x = `1..5`)
`Mem` returns all current values. `Mem` returns the variable's current value.
`` = store a string value in a variable
`"` = clear stored value in Mem\
-Var\ | Manage up to 5 variables stored in memory (x = `1..5`)
`Var` returns all current values. `Var` returns the variable's current value.
`` = store a string value in a variable
`"` = clear stored value in Var\
-Add\|`` = add value to Var\
-Sub\|`` = subtract value to Var\
-Mult\|`` = multiply value to Var\
-Scale\ | Scale value from a low and high limit to another low and high limits and save in Var\
`v` = value: the number to scale
`fl` = fromLow: the lower bound of the value’s current range
`fh` = fromHigh: the upper bound of the value’s current range
`tl` = toLow: the lower bound of the value’s target range
`th` = toHigh: the upper bound of the value’s target range
-CalcRes|Current calculation resolution
`0..7` = set number of decimal places to be used in `Add`, `Sub`, `Mult` and `Scale`
+### [Rules](Rules)
+
+
+Command|Parameters
+:---|:---
+Rule\|There are 3 separate rule sets, each with a 511 character limit. Each rule set can contain multiple [rules](Rules#rule-syntax). Each of the rule sets can be enabled or disabled individually (x = `1..3`)
`0` = disable Rule\
`1` = enable Rule\
`2` = toggle Rule\
`4` = disable one-shot detection (perform commands as long as trigger is met)
`5` = enable one-shot (e.g., sometimes used for slow changing sensors like temperature) detection
`6` = toggle one-shot detection
`8` = disable stop-on-error after exception restart
`9` = enable stop-on-error after exception restart
`10` = toggle stop-on-error after exception restart
`` = define [Rule\](Rules)
`+` = append to [Rule\](Rules)
`""` = clear Rule\
+RuleTimer\|Up to eight timers to be used as countdown event (x = `1..8`)
`0..32766` = set countdown rule timer in seconds
+Mem\|Manage up to 5 variables stored on flash (x = `1..5`)
`Mem` returns all current values. `Mem` returns the variable's current value.
`` = store a string value in a variable
`"` = clear stored value in Mem\
+Var\|Manage up to 5 variables stored in memory (x = `1..5`)
`Var` returns all current values. `Var` returns the variable's current value.
`` = store a string value in a variable
`"` = clear stored value in Var\
+Add\|`` = add value to Var\
+Sub\|`` = subtract value to Var\
+Mult\