Skip to content

Commands

Tasmota provides a powerful control interface using commands

Commands can be issued using MQTT, web requests, webUI console and serial

How to use~

Every command used without a parameter (payload) returns the current setting.

Power returns the status of first defined power output (usually Relay1)"

Instead of 0 you can use off or false and instead of 1 you can use on or true.

Power ON turns first defined power output (usually Relay1) on

Power1 1 also turns first defined power output (usually Relay1) on

Power1 True also turns first defined power output (usually Relay1) on

Replace <x> in a command with the appropriate index number. Leave it empty to use the first available.

Power1 and Power both control first defined power output (usually Relay1)

In commands with x..y value parameters use a number from x to y range.

When a command mentions resetting to "firmware default" it means the setting will revert to the one in the flashed binary file. If you used user_config_override.h at compile time it will revert to those.

Note

Beside results initiated by a command (synchronous) you can get asynchronous results initiated by rule trigger, telemetry event, commands from other source or changed device values.
Simply put, other messages may precede messages published as a result of your commands.

Example

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.

with MQTT~

To send commands and view responses you'll need an MQTT client.

Commands over MQTT are issued by using cmnd/%topic%/<command> <parameter> where %topic% is the topic of the device you're sending the command to. If there is no <parameter> (an empty MQTT message/payload), a query is sent for current status of the <command>.

See MQTT article to find out more.

with Web Requests~

Commands can be executed via web (HTTP) requests, for example:

http://<ip>/cm?cmnd=Power%20TOGGLE
http://<ip>/cm?cmnd=Power%20On
http://<ip>/cm?cmnd=Power%20off
http://<ip>/cm?user=admin&password=joker&cmnd=Power%20Toggle

Any spaces or special characters must be replaced with their ASCII hex codes.

You must precede each hex code with %.
Most used codes are: space = %20 and ; = %3B.

Tip

Use URLencoder.org to easily convert your commands.

If you have set a password for web user interface access, this must be included (in plaintext) in the URL of the HTTP request, like so:

http://<ip>/cm?user=<username>&password=<password>&cmnd=Power%20On

in Console in the Web UI~

Console menu in the web UI is a convenient place to send commands and it behaves similar to a terminal connection via serial bridge.

over Serial Bridge~

If you flashed the device via serial method you can connect to it with a terminal application (e.g. Termite or Arduino IDE Serial Monitor) to issue commands and follow responses. This is a practical way to do a Backlog setup of your new device.

Serial interface is set to 115200 bps except for devices that require a different baudrate

the Power of Backlog~

Backlog command allows executing up to 30 consecutive commands with a single command line. Each command is separated by a semicolon (";"). Backlog is a useful feature to avoid numerous restarts when setting up a new device. You can use it to:

Set up both Wi-Fi AP's

Backlog SSID1 <myssid>; Password1 <mypassword>; SSID2 <myssid2>; Password2 <mypassword2>

Configure MQTT broker address, MQTT credentials, device topic and activate a few custom options

Backlog MqttHost <yourhost>; MqttUser <user>; MqttPassword <password>; Topic <customtopic>; SetOption53 1; PowerRetain on

For specific power control, using backlog like a script

Backlog Status 1; Power2 on; Delay 20; Power2 off; Status 4

When using web requests (Don't forget to encode "space" as '%20' and ";" as '%3B')

http://<ip>/cm?user=admin&password=joker&cmnd=Backlog%20Power%20Toggle%3BPower1%20ff

A Backlog command without an argument clears an possible existing Backlog queue.

Example

in case of command Backlog Power1 OFF; Delay 600; Power1 ON the usage of an additional Backlog command without any argument within the delay time of 1 minute will delete the whole queue Power1 OFF; Delay 600; Power1 ON. Therefore Power1 ON command will not be executed and the power would remain off.

Commands List~

Warning

If you're using Tasmota versions earlier current release some of the commands might not work. Availability of some features and their associated commands depend on the firmware build. Please consult the builds table for a reference of which features are available for each firmware variant.

Note

Almost all settings using string parameters (except Rule and MqttFingerprint) share a common area with max 698 chars, i.e. the total length of all these parameters is limited to this size (you will be noted if this limit is exceeded).

Control~

Command Parameters
Backlog List of commands to be executed in sequence separated by ;
See Using Backlog for examples.
BlinkCount Number of relay toggles (blinks) (does not control the status LED)
0 = blink many times before restoring power state
1..32000 = set number of blinks (default = 10)
BlinkTime 2..3600 set duration, in 0.1 second increments, to blink aka toggle Power (does not control the status LED)
ButtonDebounce User control over button debounce timing
40..1000 = set button debounce time in milliseconds (default = 50)
Buzzer 0 = stop active buzzer cycle
<count>,<beep>,<silence>,<tune> = read more...
2,3 = Beep twice with 300 milliseconds duration and 100 milliseconds pause
2,3,4 = Beep twice with 300 milliseconds duration and 400 milliseconds pause
1,2,3,0xF54 (0000 0000 0000 0000 0000 1111 0101 0100). Each 1 bit beeps for 200 milliseconds and each bounded 0 bit pauses for 300 milliseconds
-1 = infinite mode
-2 = follow LED mode
DevGroupName<x> 0 = clear device group <x> name and restart
<value> = set device group <x> name and restart.
Prior to 8.2.0.3, GroupTopic was used to specify the device group name
DevGroupSend<x> <item>=<value>[ ...] = send an update to device group <x>. The device group name must have been previously set with DevGroupName<x>. Multiple item/value pairs can be specified separated by a space. Spaces in <value> must be escaped with a backslash (\). The message sent is also processed on the local device as if it had been received from the network.

For items with numeric values, <value> can be specified as @<operator>[<operand>] to send a value after performing an operation on the current value. <operator> can be + (add), - (subtract) or ^ (invert). If <operand> is not specified, it defaults to 0xffffffff for the invert operator and 1 for other operators.

2 = Light fade (0 = Off, 1 = On)
3 = Light speed (1..40)
4 = Light brightness (0..255)
5 = Light Scheme
6 = Light fixed color (0 = white (using CT channels), other values according to Color Command)
7 = PWM dimmer low preset (0..255)
8 = PWM dimmer high preset (0..255)
9 = PWM dimmer power-on brightness (0..255)
128 = Relay Power - bitmask with bits set for relays to be powered on. The number of relays can be specified in bits 24 - 31. If the number of relays is not specified, only relay 1 is set
192 = Event - event name and arguments
193 = Command - command and arguments
224 = Light channels - comma separated list of brightness levels (0..255) for channels 1 - 5 (e.g. 255,128,0,0,0 will turn the red channel on at 100% and the green channel on at 50% on an RBG light)

Examples:
DevGroupSend 4=90 128=1 - send an update to set the light brightness to 90 and turn relay 1 on.
DevGroupSend 193=Buzzer\\ 2,3 - send the Buzzer 2,3 command.
DevGroupSend 6=@+ 4=@-10 - set the next fixed color and decrease the brightness by 10.
DevGroupSend 128=^ - toggle all the relays.
DevGroupShare <in>,<out> = set incoming and outgoing shared items (default = 0xffffffff,0xffffffff). <in> and <out> are bit masks where each mask is the sum of the values for the categories (listed below) to be shared. For example, to receive only power (1), light brightness (2) and light color (16) and send only power (1), enter the command DevGroupShare 19,1.

1 = Power
2 = Light brightness
4 = Light fade/speed
8 = Light scheme
16 = Light color
32 = Dimmer settings (presets)
64 = Event
DevGroupStatus<x> Show the status of device group <x> including a list of the currently known members.
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 = disable relay interlock for all relays (i.e., each relay is self-locking) (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 groups)
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 Set a bitmask specifiying which relays control the LED indicator. Read more...
<bitmask> = 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 must be enabled (i.e., != 0) in order for LedMask to take effect.
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<x> LED<x> 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 due to a software function
Power0 Control the power state simultaneously for all power outputs on the device
0 / off = turn OFF
1 / on = turn ON
2 / toggle = if relay is ON switch to OFF and vice versa
Power<x> Control the corresponding power state (1..8) (also restarts PulseTime)<x>
0 / off / false = turn OFF
1 / on / true = turn ON
2 / toggle = if power state is ON switch to OFF and vice versa
3 / blink = toggle power for BlinkCount times each BlinkTime duration (at the end of blink, power state is returned to pre-blink state)
4 / blinkoff = stop blink sequence and return power state to pre-blink state
PowerOnState Control power state when the device is powered up. More information
0 / OFF = keep power(s) OFF after power up
1 / ON = turn power(s) ON after power up
2 / TOGGLE = toggle power(s) from last saved state
3 = switch power(s) to their last saved state (default)
4 = turn power(s) ON and disable further power control
5 = after a PulseTime period turn power(s) ON (acts as inverted PulseTime mode)
PulseTime<x> Display the amount of PulseTime remaining on the corresponding Relay<x>
<value> Set the duration to keep Relay<x> ON when Power<x> ON command is issued. After this amount of time, the power will be turned OFF.
0 / OFF = disable use of PulseTime for Relay<x>
1..111 = set PulseTime for Relay<x> in 0.1 second increments
112..64900 = set PulseTime for Relay<x>, 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 and method
40..1000 = set switch debounce time in milliseconds (default = 50). The granularity is 10 milliseconds, so the normally unnecessary last digit is used by the debouncing code to flag special handling:
0 = no special handling
1 = force_high: only a debounce time long LOW pulse could turn the switch off
2 = force_low: only a debounce time long HIGH pulse could turn the switch on
3 = force_high + force_low
4..8 = unused
9 = AC detection for switches / relays similar to MOES MS-104B / BlitzWolf SS5 etc. If the AC frequency is 50 Hz, SwitchDebounce 69 will turn on the switch after three pulses and off after three missing one.
SwitchMode<x> Switch mode
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)
8 = multi change toggle (0 = toggle, 1 = toggle, 2x change = hold)
9 = multi change follow (0 = off, 1 = on, 2x change = hold)
10 = inverted multi change follow (0 = on, 1 = off, 2x change = hold)
11 = pushbutton with dimmer mode
12 = inverted pushbutton with dimmer mode
13 = pushon mode (1 = on, switch off using PulseTime)
13 = inverted pushon mode (0 = on, switch off using PulseTime)
Webbutton<x> Change the name of the toggle buttons of the WEB UI. This command accepts spaces in the name
See also SetOption1 - Set button multipress mode
SetOption11 - Swap pushbutton single and double press functionality
SetOption13 - Allow immediate action on single button press
SetOption26 - Use indexes even when only one relay is present
SetOption31 - Disable Wi-Fi LED status blinking
SetOption32 - Set hold interval before sending HOLD action
SetOption40 - Stop detecting any input change on button GPIO
SetOption67 - Enable/Disable Buzzer
SetOption73 - Decouple buttons from controlling power outputs

Management~

Command Parameters
Delay 2..3600 = set delay between two backlog commands with 0.1 second increment
DeepSleepTime Time to enter deep sleep mode
0 = disable deep sleep mode (default)
11..86400 = set deep sleep mode time period in seconds
DeviceName Device name displayed in the webUI and used for HA autodiscovery.
<value> = set device name (default = FriendlyName1 value)
Emulation 0 = disable emulation (default)
1 = enable Belkin WeMo emulation for Alexa
2 = enable Hue Bridge emulation for Alexa
FriendlyName<x> 1 = Reset friendly name to firmware default
<value> = set friendly name (32 char limit)
Gpios Show list of available components by name and index
255 / All Show list of all components by name and index
Gpio Show current component assignments of the Module's configurable GPIO
255 / All Show component assignments for all the devices available GPIO
Gpio<x> For built-in Modules only. This command does not work for devices configured with a Template.
<component> = assign a component to Gpio<x>
I2Cscan Scan I2C bus and show addresses for found devices
I2CDriver Enable / Disable I2C sensor drivers. Read more...
LogHost 1 = reset syslog host to firmware default (SYS_LOG_HOST)
<value> = set syslog host
LogPort 1 = reset syslog 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
<value> = switch to module <value> and restart
0 = switch to defined template and restart
Module2 Displays active fast reboot fallback module by name and index
<value> = set fast reboot fallback module to <value>
0 = set fast reboot fallback module to defined template
MqttLog 0 = disable logging via MQTT (default)
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 messsages
NtpServer<x> NTP server setup (x= 1..3)
0 = clear NtpServer<x> settings
1 = reset NtpServer<x> settings to firmware defaults
<value> = set NtpServer<x> 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<x> 0..1023 = set PWM value for channel
PwmFrequency 1 = reset PWM frequency to 223Hz
100..4000 = set PWM frequency (100Hz to 4kHz)
As of v8.3.0 the default frequency changed to 977Hz
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 System Parameter Area in flash (Wi-Fi calibration and related data) 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 with configuration saved to flash
99 = force restart device without configuration save
For debug and testing stack trace dumps only:
-1 = force an Exception (28) crash
-2 = force a Soft WDT reset (after a freeze of 2 seconds)
-3 = force an OS watchdog reset (after a freeze of 120 seconds, caution!)
SaveData 0 = save parameter changes only manually, e.g. with Restart 1
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 (default)
3 = show error, info and debug messages
4 = show error, info and more debug messages
SerialLog will be disabled automatically 10 minutes after the device reboots.
Sleep 0 = turn sleep off
1..250 = set sleep duration in milliseconds to enable energy saving (default = 50)
State Display current device state and publish to %prefix%/%topic%/RESULT topic 
Status = show abbreviated status information
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 state message
12 = in case of crash to dump the call stack saved in RT memory
SysLog 0 = disable syslog logging (default)
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
Template Show current Template
0 = create template from active module
x = create template from a supported module
255 = merge current module and template settings into new template
{ ... } = store template in a JSON payload
Does not activate the template. To activate use 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
4 = format JSON message timestamp in milliseconds
<value> = 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
_If timezone is NOT 99, DST is not used (even if displayed) see
Timezone -13..+13 = set timezone offset from UTC in hours
-13:00..+13:00 = set timezone offset from UTC in hours and minutes
99 = use timezone configured with TimeDST and TimeSTD
TuyaMCU Used to map functions in TuyaMCU
<fnId>,<dpId> = read more...
<fnId>,0 = remove setting for fnId
Upgrade 1 = download firmware from OtaUrl and restart
<value> = download firmware from OtaUrl if <value> is higher than device version
Upload 1 = download firmware from OtaUrl and restart
<value> = download firmware from OtaUrl if <value> is higher than device version
WebLog 0 = disable web logging
1 = show only error messages
2 = show error and info messages (default)
3 = show error, info and debug messages
4 = show error, info and more debug messages
See also SetOption68 - PWM Channel control
SetOption76 - DeepSleep disable bootcount incrementing

Wi-Fi~

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
CORS " = disable CORS (Cross Origin Resource Sharing) (default)
* = enable CORS for all locations
value = Enable CORS for location. This needs to be complete url ex: http://tasui.shantur.com
Hostname 1 = reset hostname to MQTT_TOPIC-<4digits> and restart
<value> = set hostname (32 char limit) and restart. If hostname contains % it will be reset to the default instead.
If using MQTT to issue this command, if it is used with the device GroupTopic, the command will not be executed.
IPAddress<x> Set networking IP (XXX.XXX.XXX.XXX) addresses
IPAddress1 = set device IP address
  • 0.0.0.0 = use dynamic IP address (DHCP)
  • XXX.XXX.XXX.XXX = set static IP address
  • IPAddress2 = set gateway IP address
    IPAddress3 = set subnet mask
    IPAddress4 = set DNS server IP address

    follow IPAddress commands with restart 1 to apply changes
    Password<x> <x> = 1..2
    <value> = set AP<x> Wi-Fi password and restart
    1 = reset AP<x> Wi-Fi password to firmware default (STA_PASS1 or STA_PASS2) and restart
    Passwords are limited to 64 characters. Do not use special characters or white spaces in the password.
    Note that Password and Password1 are equivalent commands.
    Ping<x> <addr> <x> = 0..8 = the number of ICMP packets to send, 0 uses the default (4)
    <addr> = address to send Ping, either in numerical format 192.168.1.200 or domain name tasmota.com

    (requires #define USE_PING)
    Example Ping4 192.168.1.203: RSL: tele/tasmota_xxx/RESULT = {"Ping":{"192.168.1.203":{"Reachable":true,"Success":4,"Timeout":0,"MinTime":59,"MaxTime":167,"AvgTime":116}}}
    Ssid<x> <x> = 1..2
    <value> = set AP<x> Wi-Fi SSID and restart
    1 = reset AP<x> Wi-Fi SSID to firmware default (STA_SSID1 or STA_SSID2) and restart
    SSID are limited to 32 characters. Do not use special characters or white spaces in the SSID
    WebColor<x> Configure Web GUI colors (x = 1..19)
    #RRGGBB = Set color for WebColor<x>
    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)
    19 = Module title and FriendlyName text (Whiteish)
    User themes
    WebPassword Show current web server password
    0 = disable use of password for web UI
    1 = reset password to firmware default (WEB_PASSWORD)
    <value> = set web UI password (32 char limit) for user WEB_USERNAME (Default WEB_USERNAME = admin)
    WebRefresh Web page refresh
    1000..10000 = set refresh time in milliseconds (default = 2345)
    WebSend Send a command to Tasmota host over http. If a command starts with a / it will be used as a link.
    [<host>:<port>,<user>:<password>] <command>
    <host> = hostname or IP address.
    <port> = port for the device if not the default 80
    <user> = enter username of the device you're sending the command to
    <password> = enter password of the device you're sending the command to
    <command> = command and payload
    example 1: [<ip>] POWER1 ON sends http://<ip>/cm?cmnd=POWER1 ON
    example 2: WebSend [myserver.com] /fancy/data.php?log=1234 sends http://myserver.com/fancy/data.php?log=1234
    WebSensor<x> Control display of sensor telemetry in the web UI
    0 = Do not display sensor's telemetry
    1 = Display sensor's telemetry (default)
    <x> = number corresponding to the sensor - listed in the sns section of the supported sensor spreadsheet
    <x> = 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 Manager and reboot (used with alternate AP)
    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, then reboot and try to connect Wi-Fi network
    4 = disable Wi-Fi Manager but retry the other AP without rebooting
    5 = disable Wi-Fi Manager and wait until that AP is available again without rebooting
    6 = Wi-Fi parameters can only be entered via commands in the serial console
    7 = set Wi-Fi Manager (web server at 192.168.4.1) as the current configuration tool restricted with the only option to reset settings.
    This setting is recommended for devices without an external control/reset button.
    No longer supported
    1 = set SmartConfig (Android/iOS) as the current configuration tool, start SmartConfig for 3 minutes and reboot and try to connect to Wi-Fi
    3 = set WPS as configuration tool, try WPS for 3 minutes and reboot and try to connect to Wi-Fi
    WifiPower set Wi-Fi transmit power level in decibel-milliwatts (dBm) (default = 17)
    See also SetOption55 - mDNS service control
    SetOption56 - Wi-Fi network scan to select strongest signal on restart
    SetOption57 - Wi-Fi network re-scan, alternate AP

    MQTT~

    Command Parameters
    ButtonRetain 0 = disable use of MQTT retain flag (default)
    1 = enable MQTT retain flag on button press
    ButtonTopic <value> = set MQTT button topic
    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)
    If using MQTT to issue this command, if it is published to the device GroupTopic, the command will not be executed.
    FullTopic 1 = reset MQTT fulltopic to firmware default (MQTT_FULLTOPIC) and restart
    <value> = set MQTT fulltopic and restart. Use of optional %prefix%, %topic%, %hostname%, and %id% substitution tokens is allowed.
    If using MQTT to issue this command, if it is published to the device GroupTopic, you must ensure uniqueness of the resulting fulltopic on each destination device by using one or more of these substitution tokens.
    GroupTopic<x> 1 = reset MQTT group <x> topic to firmware default (MQTT_GRPTOPIC) and restart
    <value> = set MQTT group <x> topic and restart
    MqttClient 1 = reset MQTT client to firmware config (MQTT_CLIENT_ID) and restart
    <value> = set MQTT client and restart.
    You can use the %06X substitution token to replace with last six characters of MAC address.
    If using MQTT to issue this command, if it is used with the device GroupTopic, the command will not be executed.
    MqttFingerprint TLS needs to be enabled in firmware for this command
    <value> = 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
    <value> = set MQTT host and restart (do NOT use .local)
    MqttPassword 0 = clear MQTT password
    1 = reset MQTT password to firmware default (MQTT_PASS) and restart
    <value> = set MQTT password and restart
    MqttPort 1 = reset MQTT port to firmware default (MQTT_PORT) and restart
    <value> = 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
    <value> = set MQTT user name and restart
    PowerRetain MQTT power retain state
    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
    <value> = set MQTT command subscription prefix and restart
    Prefix2 1 = reset MQTT status prefix to firmware default (PUB_PREFIX) and restart
    <value> = set MQTT status prefix and restart
    Prefix3 1 = Reset MQTT telemetry prefix to firmware default (PUB_PREFIX2) and restart
    <value> = set MQTT telemetry prefix and restart
    Publish <topic> <payload> = MQTT publish any topic and optional payload 
    Publish2 <topic> <payload> = 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
    StateText<x> <value> = set state text (<x> = 1..4)
    1 = OFF state text
    2 = ON state text
    3 = TOGGLE state text
    4 = HOLD state text
    SwitchRetain 0 = disable use of MQTT retain flag (default)
    1 = enable MQTT retain flag on switch press
    Subscribe Subscribes to an MQTT topic and assigns an Event name to it.
    <eventName>, <mqttTopic> [, <key>] = Read more...
    = list all topics currently subscribed
    SwitchTopic <value> = set MQTT switch topic
    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 about this.
    If using MQTT to issue this command, if it is used with the device GroupTopic, the command will not be executed.
    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
    <value> = set MQTT topic and ButtonTopic and restart.
    If using MQTT to issue this command, if it is used with the device GroupTopic, the command will not be executed. (Mqtt Topic can't be equal to Mqtt Client)
    Unsubscribe Unsubscribe from topics subscribed to with Subscribe
    = unsubscribe all topics
    <eventName> = unsubscribe from a specific MQTT topic
    See also SetOption3 - Disable//Enable MQTT
    SetOption4 - Return MQTT response as RESULT or %COMMAND% topic
    SetOption10 - Main topic change behavior

    Rules~

    Command Parameters
    Add<x> <value> = add value to Var<x> (example)
    CalcRes Current calculation resolution
    0..7 = set number of decimal places to be used in Add, Sub, Mult and Scale
    Event Execute an event to trigger a rule as documented
    Mem<x> Manage up to 16 variables stored on flash (x = 1..16)
    Mem returns all current values. Mem<x> returns the variable's current value.
    <value> = store a string value in a variable
    " = clear stored value in Mem<x>
    Mult<x> <value> = multiply value to Var<x> (example)
    Rule<x> Rules. Read more...
    0 = disable Rule<x>
    1 = enable Rule<x>
    2 = toggle Rule<x>
    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
    <value> = define Rule<x>
    +<value> = append to Rule<x>
    " = clear Rule<x>

    Rule set one-shot: Each rule within the rule set will trigger only once until the trigger condition returns to a false condition. For example, ON Energy#Power<3: Without one-shot enabled, it will trigger anytime Energy#Power gets an update (i.e., the Power telemetry value changes) and the value is <3. This can potentially trigger that rule multiple times. With one-shot enabled, the rule will trigger only the on the first transition to <3 and not again until the trigger value goes >=3. In other words, the rule will trigger again, but it has to cross the conditional "boundary" before it will trigger again.
    Rule0 Same functionality as Rule<x> but affects all rulesets at once
    RuleTimer<x> Up to eight timers to be used as countdown event (x = 1..8) 
    0..65535 = set countdown rule timer in seconds
    Scale<x> Scale value from a low and high limit to another low and high limits and save in Var<x> (example)
    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
    Sub<x> <value> = subtract value to Var<x> (example)
    Var<x> Manage up to 16 variables stored in memory (x = 1..16)
    Var returns all current values. Var<x> returns the variable's current value.
    <string> = store a string value in a variable
    " = clear stored value in Var<x>

    Timers~

    Command Parameters
    Latitude <value> = set latitude in decimal degrees format, e.g. -33.893681
    Longitude <value> = set longitude in decimal degrees format, e.g. 18.619954
    Timers Timers control
    0 = disable all timers
    1 = enable all timers
    2 = toggle all timers
    Timer<x> Parameters for Timer<x> where x = 1..16
    0 = clear parameters for Timer<x>
    1..16 = copy Timer<y> parameters to Timer<x>
    { "name":value ; .. } = set all or individual parameters using JSON payload with names and values of data pairs from the table

    Information on sensors documented below is transmitted in the Tasmota telemetry message

    Sensors~

    Command Parameters
    AdcParam ADC analog input tuning parameters
    <sensor>, <param1>, <param2>, <param3>, <param4>
    <sensor> values:
    2 = Temperature Steinhart-Hart thermistor equation parameters:
      <param1> = NTC Voltage bridge resistor in Ohms (default = 32000)
      <param2> = NTC Resistance in Ohms (default = 10000)
      <param3> = NTC Beta Coefficient (default = 3350)

    3 = Light Lux equation parameters:
      <param1> = LDR Voltage bridge resistor in Ohms (default = 10000)
      <param2> = LDR Lux Scalar (default = 12518931)
      <param3> = LDR Lux Exponent (default = -1.4050)

    6 = ADC linear range remapping parameters:
      <param1> = input range low value adcLow (default = 0)
      <param2> = input range high value adcHigh (default = 1023)
      <param3> = output range low value rangeLow (default = 0)
      <param4> = output range high value rangeHigh (default = 100)
      The range remapping perform the following calculation on the ADC value [0..1023]:
      Range = ((adcHigh - ADC) / (adcHigh - adcLow)) * (rangeLow - rangeHigh) + rangeHigh
      The calculation is performed in double resolution floating point but all 4 parameters as well as the range output are unsigned 16 bit integers. The calculation result must not exceed [0..65535].
      Example to convert the ADC value on a D1-mini into millivolts (using the default resistor bridge of 220k/100k):
      AdcParam 6, 0, 1023, 0, 3200

    7 = CT POWER parameter adjustments:
      <param1> = ANALOG_CT_FLAGS (default 0 for a non-invasive current sensor). When value is >0 its sets the adcLow value as base for the measurement via OpAmp differential amplifier.
      <param2> = ANALOG_CT_MULTIPLIER ( 2146 = Default settings for a (AC) 20A/1V Current Transformer.) multiplier*100000 to convert raw ADC peak to peak range 0..1023 to RMS current in Amps. Value of 100000 corresponds to 1
      <param3> = ANALOG_CT_VOLTAGE (default 2300) to convert current in Amps to apparent power in Watts using voltage in Volts*10. Value of 2200 corresponds to AC220V. For DC its Volt/1000. Eg. 12VDC = 0.012.
      AdcParam 7,406,3282,0.012
    Altitude -30000..30000 = altitude in meters
    AmpRes Current sensor resolution
    0..3 = maximum number of decimal places
    BH1750Resolution<x> BH1750 resolution mode. x = BH1750 sensor number (1..2)
    0..2 = choose sensor resolution (0 = high (default), 1 = high2, 2 = low)
    BH1750MTime<x> BH1750 Measurement Time value. x = BH1750 sensor number (1..2)
    30..255 = set Measurement Time value. Not persistent after reboot. (default = 69)
    Counter<x> 0 = reset Counter<x>
    1..64900 = preset Counter<x>
    -1..-64900 = decrease Counter<x>
    +1..+64900 = increase Counter<x>
    In order to define and use a Counter, *you must configure one of the free device GPIO as Counter<x>. Counter module configuration is using internal pull-up resistor while Countern does not. *
    CounterDebounce 0 = turn off counter debounce
    1..32000 = set counter debounce time in milliseconds. Counter is increased with every falling edge when CounterType=0 or time between successive falling edges is measured when CounterType=1. When CounterDebounceLow and CounterDebounceHigh are set to zero (default) only falling edges of the counter's GPIO are checked. Any CounterDebounceLow or CounterDebounceHigh unequal zero checks are carried out befor CounterDebounce check is done. As an example you can set CounterDebounce 500 to allow a minimum distance between to succesive valid falling edges equal to 500ms.
    CounterDebounceLow 0 = turn off counter debounce low
    1..32000 = set counter debounce low time in milliseconds. Allow individual debounce times for low pulse widths to discard non valid falling edges. These are checked before legacy CounterDebounce checks distance between two valid falling edges. When unequal zero tasmota will check falling and rising edges on the counter's GPIO. For CounterDebounceLow any GPIO change from low to high hat happens after the GPIO was not low for at least CounterDebounceLow will be ignored. As an example you can set CounterDebounceLow 50 to allow a valid minimum distance between a falling and rising edge equal to 50ms while having a final CounterDebounce 500 check between to succesive valid falling edges equal to 500ms.
    CounterDebounceHigh 0 = turn off counter debounce high
    1..32000 = set counter debounce high time in milliseconds. Allow individual debounce times for high pulse widths to discard non valid falling edges. These are checked before legacy CounterDebounce checks distance between two valid falling edges. When unequal zero tasmota will check falling and rising edges on the counter's GPIO. For CounterDebounceHigh any GPIO change from high to low hat happens after the GPIO was not high for at least CounterDebounceHigh will be ignored. As an example you can set CounterDebounceHigh 100 to allow a valid minimum distance between a rising and falling edge equal to 100ms while having a final CounterDebounce 500 check between to succesive valid falling edges equal to 500ms.
    CounterType<x> 0 = set Counter<x> as pulse Counter
    1 = set Counter<x> as pulse Timer
    GlobalHum 0.0..100.0 = Set global Humidity for some Sensors that uses global Humidity.
    GlobalTemp -50.0..100.0 = Set global Temperature for some Sensors that uses global temperature.
    HumOffset -10.0..10.0 = Set calibraton offset value for reported humidity telemetry
    This setting affects all humidity sensors on the device.
    HumRes Humidity sensor resolution
    0..3 = maximum number of decimal places
    PressRes Pressure sensor resolution
    0..3 = maximum number of decimal places
    Sensor13 INA219 low voltage current sensor calibration mode
    Predefined modes to use with standard 0.1 ohm resistor:
    0 = set INA219 calibration to max 32V and 2A
    1 = set INA219 calibration to max 32V and 1A
    2 = set INA219 calibration to max 16V and 0.4A
    10..255: Define custom shunt resistor encoded as a decimal number RRM such that Rshunt = RR * 10^M milliohm
    Do not forget to choose a resistor adapted for the correct power dissipation and apply a 50% security margin !
    Examples:
    11 = 1 * 10^1 = 10 milliohm (Imax=32A => Pres=15W)
    21 = 2 * 10^1 = 20 milliohm (Imax=16A => Pres=7W)
    12 = 1 * 10^2 = 100 milliohm (default, Imax=3.2A => Pres=2W)
    13 = 1 * 10^3 = 1000 milliohm = 1 ohm (Imax=0.320A => Pres=0,2W)
    Sensor15 Automatic Baseline Correction for MH-Z19B CO2 sensor
    0 = disabled
    1 = enabled (default)
    2 = disable and start manual calibration from 400 ppm of CO2
    9 = reset sensor to factory defaults
    1000 = sets measurement range to 1000ppm CO2
    2000 = sets measurement range to 2000ppm CO2
    3000 = sets measurement range to 3000ppm CO2
    5000 = sets measurement range to 5000ppm CO2
    Sensor18 PMSx003 particle dust sensor
    0..32000 = control sensor polling interval to extend lifetime
    Sensor20 Nova Fitness SDS011 dust sensor.
    1..255 = number of seconds before TelePeriod to poll the sensor
    Sensor27 APDS-9960 sensor commands
    0 = enable light level and proximity sensor / disable gestures (default)
    1 = enable gesture mode/ disable light level and proximity sensor
    2 = enable gestures with half gain / disable light and proximity sensor
    3..255 = Set ATIME register for different integration times
    Sensor29 MCP23008 / MCP23017 I2C GPIO Expander configuration. Read more...
    Reset<x> = reset all pins
    x = 1..6
    1 = INPUT mode, no reporting, no pull-up
    2 = INPUT mode, report on CHANGE, pull-up enabled
    3 = INPUT mode, report on LOW, pull-up enabled
    4 = INPUT mode, report on HIGH, pull-up enabled
    5 = OUTPUT mode (if enabled by #define USE_MCP230xx_OUTPUT)
    6 = inverted OUTPUT mode (if enabled by #define USE_MCP230xx_OUTPUT)

    pin,pinmode{,intpullup|outstate{,repmode}}
    Continue reading...
    Sensor34
    HX711 load cell sensor calibration
    1 = reset display to 0
    2 = start calibration
    2 <value> = set reference weight in grams and start calibration
    3 = show reference weight in grams
    3 <value> = set reference weight in grams
    4 = show calibrated scale value
    4 <value> = set calibrated scale value
    5 = show max weight in gram
    5 <value> = set max weight in grams
    6 = show single item weight in grams
    6 <value> = set single item weight in grams. Once the item weight is set, when items are added to the scale, the telemetry message will report Count as the number of items on the scale
    7 = save current weight to be used as start weight on restart
    8 0/1
    0 = disable JSON message on weight change over 4 grams
    1 = enable JSON message on weight change (see below)
    9 <value> = set minimum delta to trigger JSON message (see above).
    0 = 4 grams (old default)
    1..100 = set delta to 0-99 grams
    101-255 = set delta to 110-1650 grams (10g increments)
    Sensor50 PAJ7620 gesture sensor
    0 = sensor muted, no readings in Tasmota
    1= gesture mode
    2 = proximity mode
    3 = corner mode
    4 = PIN mode
    5 = cursor mode
    Sensor52 iBeacon driver with HM10 or HM17/HM16
    1 and 2 = required only once to initialize the module
    u<x> = sets update interval in seconds (scan tags every <x> seconds) (default = 10)
    t<x> = set timeout interval in seconds (send RSSI=0 if tag is not detected after <x> seconds) (default = 30)
    d1 = enable debug mode (shows all serial traffic in console)
    d0 = disable debug mode_(default = 30)_
    c = clears iBeacon list
    s AT+<command> = send native AT commands
    Sensor53 Smart Meter Interface
    r = reset the driver with a new descriptor specified with the Tasmota Scripting language.
    c<x> <value> = preset counter (x = 1..5) to value when the driver is set to counter mode
    d<x> = disable data decoding and dump meter (x = 1..5) data to the Console. This is used to decipher the meter's data format to define the variable encoding in the meter's descriptor.
    d0 = disable data dump mode and revert to decoding mode.
    Sensor54 INA226 Current Sensor
    1 = rescan for devices and return the number found.
    2 = save the configuration and restart
    10 = return channel 1 shunt resistance and full scale current
    11 <resistance> = set INA226 channel 1 shunt in ohms, floating point
    12 <current> = set INA226 channel 1 full scale in amperes, floating point
    20 = return channel 2 shunt resistance and full scale current
    21 <resistance> = set INA226 channel 2 shunt in ohms, floating point
    22 <current> = set INA226 channel 2 full scale in amperes, floating point
    30 = return channel 1 shunt resistance and full scale current
    31 <resistance> = set INA226 channel 1 shunt in ohms, floating point
    32 <current> = set INA226 channel 1 full scale in amperes, floating point
    40 = return channel 1 shunt resistance and full scale current
    41 <resistance> = set INA226 channel 1 shunt in ohms, floating point
    42 <current> = set INA226 channel 1 full scale in amperes, floating point
    Sensor60 GPS
    0 = write to all available sectors, then restart and overwrite the older ones
    1 = write to all available sectors, then restart and overwrite the older ones
    2 = filter out horizontal drift noise
    3 = turn off noise filter
    4 = start recording, new data will be appended
    5 = start new recording, old data will lost
    6 = stop recording, download link will be visible in webUI
    7 = send mqtt on new postion + TELE (consider to set TELE to a very high value)
    8 = only TELE message
    9 = start NTP server
    10 = deactivate NTP server
    11 = force update of Tasmota-system-UTC with every new GPS-time-message
    12 = do not update of Tasmota-system-UTC with every new GPS-time-message
    13 = set latitude and longitude in settings
    14 = open virtual serial port over TCP, usable for u-center
    15 = pause virtual serial port over TCP
    Sensor68 WindMeter sensor - Analog (pulse count) anemometer
    1, <value> = set radius length in millimeters (measured from centre to the edge of one of the cups) 0..65535 (default = 61mm)
    2, <value> = set number of pulses for a complete turn 1..255 (default = 1)
    3, <value> = set pulse counter debounce time in milliseconds 1..32000 (default = 10)
    4, <value> = set speed compensation factor, a multiplication coefficient to adjust resulting speed -32.768..32.767 three decimal places (default = 1.180)
    5, <value> = set minimum percentage change between current and last reported speed trigger a new tele message 0..100, 255 = off (default = 255)
    SpeedUnit TX20/TX23 and WindMeter anemometer speed unit
    1 = m/s
    2= km/h
    3 = kn
    4 = mph
    5 = ft/s
    6 = yd/s
    TempRes Temperature sensor resolution
    0..3 = maximum number of decimal places
    TempOffset -12.6..12.6 = Set calibraton offset value for reported temperature telemetry
    This setting affects all temperature sensors on the device.
    VoltRes Voltage sensor resolution
    0..3 = maximum number of decimal places
    WattRes Power sensor resolution
    0..3 = maximum number of decimal places
    WeightRes Load cell sensor resolution
    0..3 = maximum number of decimal places
    See also SetOption8 - Show temperature in Celsius (default) or Fahrenheit
    SetOption18 - Set status of signal light paired with CO2 sensor
    SetOption24 - Set pressure units

    Power Monitoring~

    Command Parameters
    AmpRes Current sensor resolution
    0..3 = maximum number of decimal places
    CurrentCal 1000..32000 (default = 3500)
    Set calibration offset value for reported Current telemetry
    Allows finer calibration for HLW8012, HJL01, and BL0937 energy monitoring devices
    CurrentHigh 0 = disable current high threshold (default)
    <value> = set current high threshold value in milliamps
    CurrentLow 0 = disable current low threshold (default)
    <value> = set current low threshold value in milliamps
    CurrentSet <value> = calibrate current to target value in mA
    EnergyRes Energy sensor resolution
    0..5 = maximum number of decimal places
    EnergyReset<x> 0..42500 (for 3, Total, upper limit is 4250000) in watt-hours (Wh)
    x = 1..5
    1 <value> = ((p)re)set values for Today
    2 <value> = ((p)re)set values for Yesterday
    3 <value> = ((p)re)set values for Total

    4 <standard>{,<off-peak>} = ((p)re)set tariff period values for Totals
    5 <standard>{,<off-peak>} = ((p)re)set tariff period values for Exported
    FreqRes Frequency sensor resolution
    0..3 = maximum number of decimal places
    FrequencySet <value> = calibrate frequency to a target value in Hz
    MaxPower 0 = disable use maximum power monitoring
    <value> = set maximum allowed power in watts
    MaxPowerHold 1 = set default time to 10 seconds to stay over MaxPower before power off
    <value> = set time in seconds to stay over MaxPower before power off
    MaxPowerWindow 1 = set default time to 30 seconds to stay power off before re-applying power up to 5 times
    <value> = set time in seconds to stay power off before re-applying power up to 5 times
    ModuleAddress Set the address of a PZEM module
    1..3 = the last octet of the PZEM-004T serial address
    <address> = the last octet of the address on MODBUS PZEM energy monitoring modules
    Prior to setting the module address, the PZEM must be connected to both RX and TX, and AC voltage.
    Connect one PZEM at a time and issue this command. Repeat for each PZEM to be connected for multi-phase monitoring.
    The command without an argument cannot be used to read the address of the connected PZEM.
    PowerCal 1000..32000 (default = 12530)
    Set calibration offset value for reported Power telemetry reading
    Allows finer calibration for HLW8012, HJL01, and BL0937 energy monitoring devices
    PowerDelta Set maximum delta for energy monitoring devices to report on active power load change while the power is ON. PowerDelta will not report when the power turns off. 
    0 = disable reporting on power change
    1..100 = set reporting on percentage power change to send an MQTT telemetry message
    101..32000 = set reporting on absolute power change to send an MQTT telemetry message (offset by 100, e.g., 101=1W, 207=107W)
    PowerHigh 0 = disable power high threshold (default)
    <value> = set power high threshold value in watts to send an MQTT telemetry message
    PowerLow 0 = disable power low threshold (default)
    <value> = set power low threshold value in watts to send an MQTT telemetry message
    PowerSet <value> = calibrate power to a target value in watts 
    Status 8 = show power usage
    9 = show power thresholds
    Tariff<x> P1 Smart Meter tariff configuration
    x = 1, 2, 9
    1 STD,DST Start times for off-peak tariff
    2 STD,DST End times for off-peak tariff
    9 0/1
    0 = use Start/End times also on weekends.
    1 = use off-peak tariff all weekend.
    STD and DST may be specified as:
    <hour> = 0..23 or
    <time> = 00:00..23:59 or
    <minutes> = 0..1439 (since midnight)
    If both Tariff1 STD and Tariff2 STD are equal, all tariffs are disabled.
    VoltageCal Set calibration offset value for reported Voltage telemetry reading
    1000..32000 (default = 1950)
    Allows finer calibration for HLW8012, HJL01, and BL0937 energy monitoring devices
    VoltageHigh 0 = disable voltage high threshold (default)
    <value> = set voltage high threshold value in V
    VoltageLow 0 = disable voltage low threshold (default)
    <value> = set voltage low threshold value in V
    VoltageSet <value> = calibrate voltage to a target value in V 
    VoltRes Voltage sensor resolution
    0..3 = maximum number of decimal places
    WattRes Power sensor resolution
    0..3 = maximum number of decimal places
    See Also SetOption21 - Energy monitoring when power is off
    SetOption33 - Configure power monitoring Max_Power_Retry count number
    SetOption39 - Control handling of invalid power measurements
    SetOption72 - Set reference used for total energy

    Light~

    Command Parameters
    Channel<x> 0..100 = set PWM channel dimmer value from 0 to 100% 
    + = increase by 10
    - = decrease by 10
    When SetOption68 is set to 1 Channel<x> will follow Power<x> numbering with Relays first then PWM.
    Example:
    2 Relays and 3 PWM: Relay1 = Power1; Relay2 = Power2; PWM1 = Power3 and Channel3; PWM2 = Power4 and Channel4; PWM3 = Power5 and Channel5
    Color<x> x = 1..6
    1 = Set color
    2 = Set color adjusted to current Dimmer value
    3 = Set clock seconds hand color (Scheme 5 only)
    4 = Set clock minutes hand color (Scheme 5 only)
    5 = Set clock hour hand color (Scheme 5 only)
    6 = Set clock hour marker color
    <value>
    r,g,b = set color by decimal value (0..255)
    #CWWW = set hex color value for CT lights
    #RRGGBB = set hex color value for RGB lights
    #RRGGBBWW = set hex color value for RGBW lights
    #RRGGBBCWWW = set hex color value for RGBCCT lights (5 PWM channels)
    Note:
    Just append an = instead of the remaining color codes, this way they wont get changed. For example a command like Color #00ff= would update the RGB part to disable red and enable geen, but would omit to update blue or any white channel.
    Set color to
    1 = red
    2 = green
    3 = blue
    4 = orange
    5 = light green
    6 = light blue
    7 = amber
    8 = cyan
    9 = purple
    10 = yellow
    11 = pink
    12 = white (using RGB channels)
    + = next color
    - = previous color
    CT 153..500 = set color temperature from 153 (cold) to 500 (warm) for CT lights
    + = increase CT value by 10
    - = decrease CT value by 10
    Dimmer 0..100 = set dimmer value from 0 to 100%
    + = increase by 10
    - = decrease by 10
    Dimmer<x> Commands available only when SetOption37 >= 128 (#6819)
    <value> same as in Dimmer
    Dimmer0 <value> = set dimming for all channels
    Dimmer1 <value> = set dimming for RGB channels
    Dimmer2 <value> = set dimming for white channels
    DimmerRange Change dimming range.
    <dimmerMin>,<dimmerMax> = set the internal dimming range from minimum to maximum value (0..100, 0..100)
    Does not change Dimmer command behavior
    Fade 0 = do not use fade (default)
    1 = use fade
    See also SetOption91
    HsbColor <hue>,<sat>,<bri> = set color by hue, saturation and brightness
    HsbColor1 0..360 = set hue
    HsbColor2 0..100 = set saturation
    HsbColor3 0..100 = set brightness
    Led<x> #RRGGBB = set hex color value where <x> is the pixel number of the LED
    (applies only to addressable LEDs)
    LedPwmMode<x> Control status LED light mode (x = 0..4)
    0 = digital on/off mode (default)
    1 = PWM mode
    2 = toggle between modes
    LedPwmOff 0..255 = set LED brightness when OFF
    LedPwmOn 0..255 = set LED brightness when ON
    LedTable 0 = do not use LED gamma correction (default «6.5.0.9)
    1 = use gamma correction (default »6.5.0.9)
    Palette 0 = Clear color palette
    [ ...] = Set list of colors used by Color<1,2> and Scheme<2,3,4> commands with each color separated by a space.
    Pixels 1..512 = set amount of pixels in strip or ring and reset Rotation (applies only to addressable LEDs)
    RGBWWTable Control compensation of unbalanced PWM channels or White Blend Mode
    PWM1,PWM2,PWM3,PWM4,PWM5 = channel range with values 0..255 (default =255,255,255,255,255)
    Range adjustment is computed after Gamma correction.
    Rotation <value> = set amount of pixels to rotate (up to Pixels value) (applies only to addressable LEDs)
    Scheme Light effects
    + = next scheme
    - = previous scheme
    0 = single color for LED light (default)
    1 = start wake up sequence (same as Wakeup)
    2 = cycle up through colors using Speed option
    3 = cycle down through colors using Speed option
    4 = random cycle through colors using Speed and Fade
    Use <value>, <startcolor> if you want to set the starting color of selected scheme
    Following schemes are usable only with addressable LEDs, e.g. WS281X, Neopixel
    5 = clock mode (example)
    6 = candlelight pattern
    7 = RGB pattern
    8 = Christmas pattern
    9 = Hanukkah pattern
    10 = Kwanzaa pattern
    11 = rainbow pattern
    12 = fire pattern
    Speed 1..40 = set fade speed from fast 1 to very slow 40
    + = increase speed
    - = decrease speed
    The Speed value represents the time in 0.5s to fade from 0 to 100% (or the reverse). Example: Speed 4 takes 2.0s to fade from full brightness to black, or 0.5s to move from 75% to 100%.
    Wakeup Start wake up sequence from OFF to stored Dimmer value
    0..100 = Start wake up sequence from OFF to provided Dimmer value
    WakeupDuration 1..3000 = set wake up duration in seconds
    White 1..100 = set white channel brightness in single white channel lights (single W or RGBW lights)
    Width<x> x = 1..4
    1 = 0..4 = LED group width (Scheme 6..12 only)
    2 = 0..32 = seconds hand width (Scheme 5 only)
    3 = 0..32 = minutes hand width (Scheme 5 only)
    4 = 0..32 = hour hand width (Scheme 5 only)
    See also SetOption15, SetOption16, SetOption17, SetOption20, SetOption37 and SetOption68

    Device Groups~

    Command Parameters
    DevGroupName<x> 0 = clear device group <x> name and restart
    <value> = set device group <x> name and restart.
    Prior to 8.2.0.3, GroupTopic was used to specify the device group name.
    DevGroupSend<x> <item>=<value>[ ...] = send an update to device group <x>. The device group name must have been previously set with DevGroupName<x>. Multiple item/value pairs can be specified separated by a space. Spaces in <value> must be escaped with a backslash (\). The message sent is also processed on the local device as if it had been received from the network.

    For items with numeric values, <value> can be specified as @<operator>[<operand>] to send a value after performing an operation on the current value. <operator> can be + (add), - (subtract) or ^ (invert). If <operand> is not specified, it defaults to 0xffffffff for the invert operator and 1 for other operators.

    Examples:
    DevGroupSend 4=90 128=1 - send an update to set the light brightness to 90 and turn relay 1 on.
    DevGroupSend 193=Buzzer\\ 2,3 - send the Buzzer 2,3 command.
    DevGroupSend 6=@+ 4=@-10 - set the next fixed color and decrease the brightness by 10.
    DevGroupSend 128=^ - toggle all the relays.

    2 = Light fade (0 = Off, 1 = On)
    3 = Light speed (1..40)
    4 = Light brightness (0..255)
    5 = Light Scheme
    6 = Light fixed color (0 = white (using CT channels), other values according to Color)
    7 = PWM dimmer low preset (0..255)
    8 = PWM dimmer high preset (0..255)
    9 = PWM dimmer power-on brightness (0..255)
    128 = Relay Power - bitmask with bits set for relays to be powered on. The number of relays can be specified in bits 24 - 31. If the number of relays is not specified, only relay 1 is set
    192 = Event - event name and arguments
    193 = Command - command and arguments
    224 = Light channels - comma separated list of brightness levels (0..255) for channels 1 - 5 (e.g. 255,128,0,0,0 will turn the red channel on at 100% and the green channel on at 50% on an RBG light)
    DevGroupShare <in>,<out> = set incoming and outgoing shared items (default = 0xffffffff,0xffffffff)
    <in> and <out> are bit masks where each mask is the sum of the values for the categories (listed below) to be shared. For example, to receive only power (1), light brightness (2) and light color (16) and send only power (1), enter the command DevGroupShare 19,1.

    1 = Power
    2 = Light brightness
    4 = Light fade/speed
    8 = Light scheme
    16 = Light color
    32 = Dimmer settings (presets)
    64 = Event
    DevGroupStatus<x> Show the status of device group <x> including a list of the currently known members.

    SetOptions~

    Tip

    Instead of typing SetOption you can use shorter form of SO. so instead of SetOption19 1 you can use SO19 1

    Command Parameters
    SetOption0 Save power state and use after restart (=SaveState)
    0 = disable
    1 = enable (default)
    SetOption1 Set button multipress mode to
    0 = allow all button actions (default)
    1 = restrict to single to penta press and hold actions (i.e., disable inadvertent reset due to long press)
    SetOption3 MQTT
    0 = disable MQTT
    1 = enable MQTT (default)
    SetOption4 Return MQTT response as
    0 = RESULT topic (default)
    1 = %COMMAND% topic
    SetOption8 Show temperature in
    0= Celsius (default)
    1 = Fahrenheit
    SetOption10 When the device MQTT topic changes
    0 = remove retained message on old topic LWT (default)
    1 = send "Offline" to old topic LWT
    SetOption11 Swap button single and double press functionality
    0 = disabled (default)
    1 = enabled
    SetOption12 Configuration saving to flash option
    0 = allow dynamic flash save slot rotation (default)
    1 = use fixed eeprom flash slot
    SetOption13 Allow immediate action on single button press
    0 = single, multi-press and hold button actions (default)
    1 = only single press action for immediate response (i.e., disable multipress detection). Disable by holding for 4 x button hold time (see SetOption32).
    SetOption15 Set PWM control for LED lights
    0 = basic PWM control
    1 = control with Color or Dimmer commands (default)
    SetOption16 Set addressable LED Clock scheme parameter
    0 = clock-wise mode (default)
    1 = counter-clock-wise mode
    SetOption17 Show Color string as
    0 = hex string (default)
    1 = comma-separated decimal string
    SetOption18 Set status of signal light paired with CO2 sensor
    0 = disable light (default)
    1 = enable light
    The light will be green below CO2_LOW and red above CO2_HIGH (transition yellow/orange between). The default levels are: 800ppm for low and 1200ppm for high but these can be set in user_config_override.h.
    SetOption19 Home Assistant automatic discovery.
    WARNING On version 6.4.1.x enabling may cause a watchdog reset if used on a device with a configured sensor
    0 = disabled (default)
    1 = enabled and also sets SetOption59 1
    If you enable and then disable SetOption19, doing so does not set SetOption59= 0 and does not revert to default %prefix%/%topic%/ FullTopic
    SetOption20 Update of Dimmer/Color/CT without turning power on
    0 = disabled (default)
    1 = enabled
    SetOption21 Energy monitoring when power is off
    0 = disabled (default)
    1 = enabled
    SetOption24 Set pressure units
    0 = hPa (default)
    1 = mmHg
    SetOption26 Use indexes even when only one relay is present
    0 = messages use POWER (default)
    1 = messages use POWER1
    SetOption28 RF received data format
    0 = hex (default)
    1 = decimal
    SetOption29 IR received data format
    0 = hex (default)
    1 = decimal
    SetOption30 Enforce Home Assistant auto-discovery as light
    0 = relays are announced as a switch and PWM as a light (default)
    1 = both relays and PWM are announced as light
    SetOption31 Set status LED blinking during Wi-Fi and MQTT connection problems.
    LedPower must be set to 0 for this feature to work
    0 = Enabled (default)
    1 = Disabled
    SetOption32 Number of 0.1 seconds to hold button before sending HOLD action message.
    1..100 to set button hold time (default = 40). This option also affects the time required to perform a firmware defaults reset (10x HOLD action time)
    SetOption33 Number of seconds for which the maximum power limit can be exceeded before the power is turned off
    1..250 = set number of seconds (default = 5)
    SetOption34 0..255 = set Backlog inter-command delay in milliseconds (default = 200)
    SetOption36 Boot loop defaults restoration control.
    0 = disable boot loop control
    1..200 = set number of boot loops (a restart caused by any exception or watchdog timer within less than BOOT_LOOP_TIME (default 10 seconds) before beginning to restore settings (default = 1). Once this number is reached, subsequent restarts will:
    • 1st restart: disable ESP8285 generic GPIOs interfering with flash SPI
    • 2nd restart: disable rules causing boot loop
    • 3rd restart: disable all rules
    • 4th restart: reset user defined GPIOs to disable any attached peripherals
    • 5th restart: reset module to Sonoff Basic (1)
    SetOption37 Color remapping for led channels, also provides an option for allowing independent handling of RGB and white channels. Setting changes require a device reboot.
    0 = disabled
    1..119 = according to this table
    120..127 = invalid (results in same as 0)
    128..255 = same as 0..127 but with independent channel handling enabled
    SetOption38 6..255 = set IRReceive protocol detection sensitivity minimizing UNKNOWN protocols
    SetOption39 Control handling of invalid power measurements. Read more...
    0 = reset to default on next restart
    1..255 = number of invalid power readings before reporting no load (default =128).
    SetOption40 Stop detecting input change on the button GPIO. Solves #5449
    Active only when SetOption1 1 and SetOption13 0. This disables all long press functionality.
    0..250 = button hold time in 0.1 seconds after which button functionality is disabled.(default =1)
    Example: Backlog SetOption1 1; SetOption13 0; SetOption40 10 = discard any button press over 1 second
    SetOption41 0 = Disable ARP (default)
    <x> = Force sending gratuitous ARP (Wi-Fi keep alive) every <x> seconds (default = 0)
    If <x> is below 100 it is the number of seconds, if <x> is above 100, it is the number of minutes after substracting 100. Ex: 105 is every 5 minutes, while 90 is every 90 seconds.
    SetOption42 0..255 = set over-temperature (Celsius only) threshold resulting in power off on all energy monitoring devices (default = 90)
    SetOption43 Deprecated in favor of DimmerRange
    0..255 = set maximum dimming value (details) (default = 100)
    Available for Tuya and PS_16_DZ dimmers
    SetOption51 Enable GPIO9 and GPIO10 component selections in Module Configuration
    🚨 WARNING Do not use on ESP8266 devices! 🚨
    0 = disable (default)
    1 = enable
    SetOption52 Control display of optional time offset from UTC in JSON payloads
    0 = disable (default)
    1 = enable
    SetOption53 Display hostname and IP address in GUI
    0 = disable (default)
    1 = enable
    SetOption54 Apply SetOption20 settings to commands from Tuya device
    0 = disable (default)
    1 = enable
    SetOption55 mDNS service
    0 = disable (default)
    1 = enable
    SetOption56 Wi-Fi network scan to select strongest signal on restart (network has to be visible)
    0 = disable (default)
    1 = enable
    SetOption57 Wi-Fi network re-scan every 44 minutes with alternate to +10dB stronger signal if detected (only visible networks)
    0 = disable (default)
    1 = enable
    SetOption58 IR Raw data in JSON payload
    0 = disable (default)
    1 = enable
    SetOption59 Send tele/%topic%/STATE in addition to stat/%topic%/RESULT for commands: State, Power and any command causing a light to be turned on.
    0 = disable (default)
    1 = enable
    SetOption60 Set sleep mode
    0 = dynamic sleep (default)
    1 = normal sleep
    SetOption61 Force local operation when ButtonTopic or SwitchTopic is set.
    0 = disable (default)
    1 = enable
    SetOption62 Set retain on Button or Switch hold messages
    0 = disable (default)
    1 = don't use retain flag on HOLD messages
    SetOption63 Set relay state feedback scan at restart (#5594, #5663)
    0 = Scan power state at restart (default)
    1 = Disable power state scanning at restart
    SetOption64 Switch between - or _ as sensor name separator
    0 = sensor name index separator is - (hyphen) (default)
    1 = sensor name index separator is _ (underscore)
    Affects DS18X20, DHT, BMP and SHT3X sensor names in tele messages
    SetOption65 Device recovery using fast power cycle detection
    0 = enabled (default)
    1 = disabled
    SetOption66 Set publishing TuyaReceived to MQTT
    0 = disable publishing TuyaReceived over MQTT (default)
    1 = enable publishing TuyaReceived over MQTT
    SetOption67 iFan03 Buzzer control
    0 = disable Sonoff iFan03 buzzer (default)
    1 = enable Sonoff iFan03 buzzer
    SetOption68 Multi-channel PWM instead of a single light
    0 = Treat PWM as a single light (default)
    1 = Treat PWM as separate channels. In this mode, use Power<x> to turn lights on and off, and Channel<x> to change the value of each channel.
    Color still works to set all channels at once.
    Requires restart after change
    SetOption69 Deprecated in favor of DimmerRange
    By default Tuya dimmers won't dim below 10% because some don't function very well that way.
    0 = disable Tuya dimmer 10% lower limit
    1 = enable Tuya dimmer 10% lower limit (default)
    SetOption71 Set DDS238 Modbus register for active energy
    0 = set primary register (default)
    1 = set alternate register
    SetOption72 Set reference used for total energy
    0 = use firmware counter (default)
    1 = use energy monitor (e.g., PZEM-0xx, SDM120, SDM630, DDS238, DDSU666) hardware counter
    SetOption73 Enable Buttons decoupling and send multi-press and hold MQTT messages
    0 = disable decoupling (default)
    1 = enable decoupling
    SetOption74 Enable internal pullup for single DS18x20 sensor
    0 = disabled (default)
    1 = internal pullup enabled
    SetOption75 Set grouptopic behaviour (#6779)
    0 = GroupTopic using FullTopic replacing %topic% (default)
    1 = GroupTopic is cmnd/%grouptopic%/
    SetOption76 Bootcount incrementing when DeepSleep is enabled (#6930)
    0 = disable bootcount incrementing (default)
    1 = enable bootcount incrementing
    SetOption77 Do not power off if a slider is moved to far left
    0 = disabled (default)
    1 = enabled
    SetOption78 Version check on Tasmota upgrade
    0 = enabled (default)
    1 = disabled
    SetOption79 Reset counters at TelePeriod time
    0 = disabled (default)
    1 = enabled
    SetOption80 Blinds and shutters support
    0 = disable blinds and shutters support (default)
    1 = enable blinds and shutters support
    SetOption81 Set PCF8574 component behavior for all ports
    0 = set as regular state (default)
    1 = set as inverted state
    SetOption82 Reduce the CT range from 153..500 to 200.380 to accomodate with Alexa range
    0 = CT ranges from 153 to 500 (default)
    1 = CT ranges from 200 to 380 (although you can still set in from 153 to 500)
    SetOption83 Uses Zigbee device friendly name instead of 16 bits short addresses as JSON key when reporting values and commands
    0 = JSON key as short address
    1 = JSON key as friendly name
    See ZbName <device>,<name>
    SetOption84 (Experimental) When using AWS IoT, sends a device shadow update (alternative to retained)
    0 = don't update device shadow (default)
    1 = update device shadow
    Note: if the Topic contains '/' they are replaced with '_'
    SetOption85 Device group support
    0 = disabled (default)
    1 = enabled
    SetOption86 PWM Dimmer only! Turn brightness LED's off 5 seconds after last change
    0 = disabled (default)
    1 = enabled
    SetOption87 PWM Dimmer only! Turn red LED on when powered off
    0 = disabled (default)
    1 = enabled
    SetOption88 Make each relay part of a separate device group. Relay 1 updates are sent to/received from device group 1, relay 2 updates are sent to/received from device group 2, etc. For the PWM Dimmer module, make each button be associated with a different device group.
    0 = disabled (default)
    1 = enabled
    SetOption89 Configure MQTT topic for Zigbee devices (also see SensorRetain)
    0 = single tele/%topic%/SENSOR topic (default)
    1 = unique device topic based on Zigbee device ShortAddr
    Example: tele/Zigbee/5ADF/SENSOR = {"ZbReceived":{"0x5ADF":{"Dimmer":254,"Endpoint":1,"LinkQuality":70}}}
    SetOption90 Disable sending MQTT with non-JSON messages
    0 = send all MQTT (default)
    1 = send only MQTT messages with JSON payloads
    SetOption91 Enable Fade at boot and power on. By default fading is not enabled at boot because of stuttering caused by wi-fi connection
    0 = don't Fade at startup (default)
    1 = Fade at startup
    SetOption92 Alternative to Module 38: for Cold/Warm white bulbs, enable the second PWM as CT (Color Temp) instead of Warm White, as required for Philips-Xiaomi bulbs.
    0 = normal Cold/Warm PWM (default)
    1 = Brightness/CT PWM
    See PWM CT in Lights
    SetOption93 Control caching of compressed rules
    0 = Disable memory caching of uncompressed rules
    1 = Keep uncompressed rules in memory to avoid CPU load of uncompressing at each tick (default)
    SetOption94 Select MAX31855 or MAX6675 thermocouple support
    0 = Use MAX31855 protocol (default)
    1 = Use simpler MAX6675 protocol instead of MAX31855
    SetOption97 Set TuyaMCU serial baudrate
    0 = 9600 bps (default)
    1 = 115200 bps
    SetOption98 Provide rotary dimmer rule triggers
    0 = disabled (default)
    1 = enabled
    SetOption99 Enable zero-cross capable AC dimmer
    0 = no zero-cross AC dimmer connected (default)
    1 = zero-cross AC dimmer attached. Focus on raising edge and sync frequency
    SetOption100 remove Zigbee ZbReceived value from {"ZbReceived":{xxx:yyy}} JSON message
    0 = disabled (default)
    1 = enabled
    SetOption101 Add Zigbee source endpoint as suffix to attributes
    0 = disabled (default)
    1 = enabled
    e.g. Power3 instead of Power if sent from endpoint 3.

    Serial Bridge~

    Both hardware and software Serial Bridge are supported.

    Hardware Serial Bridge uses GPIO1 (Tx) and GPIO3 (Rx) or GPIO13 (Tx) and GPIO15 (Rx) pins of your device.
    Software Serial Bridge can use any other GPIO to be configured as components Serial Tx and Serial Rx (or SerBr Tx and SerBr Rx). If Tx and Rx components are not assigned in the Template or Module, GPIO1 and GPIO3 will be used. Note that changing serial logging (SerialLog 0) will disable the hardware Serial Bridge.

    Information received by Tasmota over the serial bridge is captured automatically. Before data will be received, a properly formatted SerialSend<x> or SSerialSend<x> command must be executed. This must be done any time the device restarts (e.g., via a System#Boot triggered rule). This command is required in order to set how the expected serial data will be formatted and interpreted (i.e., which <x> option). A {"SSerialReceived":{"Data":"<string>"}} message will be posted. You can use a rule to process the string which will be contained in SSerialReceived#Data.

    Expect possible communication errors when additional sensors are configured.

    Command Parameters
    Baudrate 1 = set hardware serial bridge to default baud rate of 115200 bps
    <value> = set baud rate. The set rate will be a multiple of 300. The maximum baud rate possible is 19,660,500.
    SBaudrate 1 = set software serial bridge to default baud rate of 9600 bps
    <value> = set baud rate. The set rate will be a multiple of 300. The maximum baud rate possible is 19,660,500.
    SerialConfig value = set serial protocol using data/parity/stop conventional notation (example: 8N1 or 702)
    0..23 = set serial protocol (3 equals 8N1)
    SerialDelimiter <value> = set serial delimiter to escape character code or ASCII character
    1..127 = set serial delimiter to decimal ASCII
    128 = only allow ASCII characters 32 to 127 in response text
    129..255 = disable serial delimiter
    SerialSend<x> <string>
    Disable serial logging and send using hardware serial
    x = 1..5
    1 = send appending \n (newline) ()
    2 = send
    3 = replace escape characters and send
    4 = send as binary. Data in serial response messages is encoded as hex strings
    5 = send as hex. Data in serial response messages is encoded as hex strings
    6 = send as comma-delimited string of decimal numbers
    SSerialSend<x> <string>
    Send using software serial protocol
    x = 1..5
    1 = send appending \n (newline) ()
    2 = send
    3 = replace escape characters and send
    4 = send as binary data. Data in serial response messages is encoded as hex strings
    5 = send as hex. Data in serial response messages is encoded as hex strings
    6 = send as comma-delimited string of decimal numbers
    TuyaSend<x> Send data to MCU with TuyaMCU
    x = 1..4
    TuyaSend1 <dpId>,<boolean> = send boolean (0/1) data type to dpId (1 byte max length)
    TuyaSend2 <dpId>,<int> = send integer data to dpId (4 bytes max length)
    TuyaSend2 <dpId>,<0xAABBCCDD> = send 4 byte data to dpId (4 bytes max length)
    TuyaSend3 <dpId>,<value> = send any data type to dpId (unknown max length)
    TuyaSend4 <dpId>,<enum> = send enumerated (0/1/2/3/4/5) data type to dpId (1 byte max length)

    RF Bridge~

    Command Parameters
    RfCode Show last sent 24-bit user code
    1..8388607 = send 24-bit user code
    #1..#7FFFFF = send 24-bit hexadecimal user code using RfSync, RfLow and RfHigh timing
    RfHigh 1 = reset high pulse time to 840 microseconds
    2..32767 = set high pulse time in microseconds
    #2..#7FFF = set high pulse time in hexadecimal microseconds
    RfHost Show 16-bit host part of user code
    1 = reset 16-bit host part of user code to 11802 (#2E1A)
    2..32767 = set 16-bit host part of user code
    #2..7FFF = set 16-bit host part of user code in hexadecimal
    RfKey<x> Send learned or default RF data for RfKey<x> (x = 1 – 16)
    1 = send default RF data for RfKey<x> using RfSync, RfLow, RfHigh and RfHost parameters
    2 = learn RF data for RfKey<x>
    3 = unlearn RF data for RfKey<x>
    4 = save RF data using RfSync, RfLow, RfHigh and last RfCode parameters
    5 = show default or learned RF data
    6 = send learned RF data
    RfLow 1 = reset low pulse time to 270 microseconds
    2..32767 = set low pulse time in microseconds
    #2..#7FFF = set low pulse time in hexadecimal microseconds
    RfRaw This command only works when the firmware has been updated with Portisch firmware. Refer to the Portisch wiki for details.
    Learning and Decoding RF Codes with Portisch Firmware
    0 = Set iTead default firmware support and messages (default on restart)
    1 = set Portisch firmware support and messages
    166 or AAA655 = start sniffing/reading RF signals disabling iTead default RF handling
    167 or AAA755 = stop sniffing/reading RF signals enabling iTead default RF handling
    168 or AAA855 = transmitting iTead default RF protocols
    169 or AAA955 = start sniffing and learning predefined protocols
    176 or AAB055 = bucket Transmitting using command 0xB0
    177 or AAB155 = start Bucket sniffing using command 0xB1
    192 or AAC000C055 = beep (00C0 is the length of the sound)
    255 or AAFF55 = show Rf firmware version (result AA02FF means Version 02)
    <value> = hexadecimal data to be sent to RF chip. This must be immediately followed by the RfRaw 0 command (e.g., Backlog RfRaw <value>; RfRaw 0
    RfSync 1 = reset start sync pulse time to 8470 microseconds
    2..32767 = set start sync pulse time in microseconds
    #2..#7FFF = set start sync pulse time in hexadecimal microseconds
    See also SetOption28 - Set RF received data format

    RF Transciever~

    Command Parameters
    RFsend <value> = code decimal or JSON. Data value is required and can be decimal or hexadecimal (using the 0x prefix), other values are optional.

    JSON
    {"Data":"<value>","Bits":<value>,"Protocol":<value>,"Pulse":<value>}
    "Data":"<value>" = hexadecimal code
    "Bits":<value> = required number of data bits (default = 24)
    "Protocol":<value> = protocol number (default = 1)
    "Repeat":<value> = repeat value (default = 10)
    "Pulse":<value> = pulse value (350 = default for protocol 1)
     e.g., RFsend {"Data":"0x7028DC","Bits":24,"Protocol":1,"Pulse":238}

    Decimal
    data, bits, protocol, repeat, pulse
     e.g., RFsend 7350492, 24, 1, 10, 238 or RFsend 0x7028DC, 24, 1, 10, 238

    IR Remote~

    Command Parameters
    IRsend<x> Send an IR remote control code as a decimal or hexadecimal string in a JSON payload. In order to send IR data, you must configure one of the free device GPIO as IRsend (8). GPIO01 nor GPIO03 can be used.
    <x> [optional] = number of times the IR message is sent. If not specified or 0..1, the message is sent only once (i.e., not repeated) (default)
    >1 = emulate a long-press on the remote control, sending the message <x> times, or sending a repeat message for specific protocols (like NEC)

    {"Protocol":"<value>","Bits":<value>,"Data":<value>}

    "Protocol" (select one of the following):
    • "NEC"
    • "SONY"
    • "RC5"
    • "RC6"
    • "DISH"
    • "JVC"
    • "PANASONIC"
    • "SAMSUNG"
    • "PIONEER"
    "Bits":1..32 = required number of data bits
        for PANASONIC protocol this parameter is the the address, not the number of bits

    "Data":1..(2^32)-1 = data frame as 32 bit decimal.
        e.g., IRsend {"Protocol":"NEC","Bits":32,"Data":2170978686}
    or
    "Data":0x1..0xFFFFFFFF = data frame as 32 bit hexadecimal.
        e.g., IRsend {"Protocol":"NEC","Bits":32,"Data":0x8166817E}

    Alternatively, you can send IR remote control codes using RAW command encoding.

    Read more...
    IRhvac Send HVAC IR remote control code as JSON payload
    {"Vendor":"<value>","Power":<value>,"Mode":”<value>”, "FanSpeed":”<value>”,"Temp":<value>}
    "Vendor":"Toshiba"|"Mitsubishi"|"LG"|"Fujitsu"
    "Power":0|1
    "Mode":"Hot"|"Cold"|"Dry"|"Auto"
    "FanSpeed":"1"|"2"|"3"|"4"|"5"|"Auto"|"Silence"
    "Temp":17..30
    See also

    Displays~

    Command Parameters
    Display Show current display setting as a JSON payload
    DisplayAddress 0..255 Set display module address
    DisplayDimmer 0 Turn the display off
    1..100 Turn the display on
    0..100 Set display luminosity (only on 8x8 Dot-Matrix displays)
    DisplayMode 0..5 Set to display predefined content according to display type
    DisplayModel Set display model:
    1 = I2C LCD Display (default addresses 0x27, 0x3F)
    2 = SSD1306 OLED 128x32/128x64/68x48 (default I2C addresses 0x3C, 0x3D)
    3 = HT16K33 8x8 Dot-Matrix
    4 = ILI9341 TFT LCD
    5 = 2.9 inch E-Paper Display 296x128 (software 3-wire SPI)
    6 = 4.2 inch E-Paper Display 400x300 (software 3-wire SPI)
    7 = SH1106 OLED 128x64 (default I2C address 0x3c)
    8 = ILI9488 TFT 480x320 (capacitive touch, hardware 3-wire SPI)
    9 = SSD1351 color OLED 128x128 (hardware 3-wire SPI)
    10 = RA8867 TFT LCD 1024x600 (capacitive touch, hardware 4-wire SPI)
    DisplayRefresh 1..7 Set time in seconds to update predefined content when using DisplayMode0
    DisplaySize 1..4 Set display scale-up size (SSD1306 and ILI9341 only)
    DisplayRotate Set rotation angle
    0 = 0°
    1 = 90°
    2 = 180°
    3 = 270°
    DisplayText <value> = See DisplayText use
    DisplayCols 1..44 Set number of display columns (for display modes>0)
    DisplayRows 1..32 Set number of display rows (for display modes>0)
    DisplayFont Specify the current font
    0 use classic GFX font
    1 = 12
    2 = 24
    3 = 8 (opt)
    7 use RA8876 internal font
    DisplayWidth Specify the display width in pixels (SSD1306 only)
    DisplayHeight Specify the display height in pixels (SSD1306 only)

    Shutters~

    Command
    (x = 1..4)
    Parameters
    ShutterButton<x> <button> <func> <mqtt>

    Assign a button to control the shutter. For more details please refer to Blinds and Shutters support

    <button>
    0: disable buttons for this shutter
    1..4: Button number
    <func> up/down/updown/toggle: function to assign to the button
    <mqtt> 1/0: enable/disable MQTT publish for button hold action

    For example:
  • To control shutter #1 by two buttons: Backlog ShutterButton1 1 up 1; ShutterButton1 2 down 1 assigns button #1 to act as an "up" button (1x press open, 2x press 50% position, 3x press 74% position) and button #2 to act as an "down" button (1x press close, 2x press 50% position, 3x press 24% position) for shutter #1 including MQTT publish.
  • To control shutter #1 by a single button: ShutterButton1 1 updown 0 assigns button #1 to act as an "up and down" button (1x press up, 2x press down).
  • To control shutter #1 by a single button: ShutterButton1 1 toggle 0 assigns button #1 to act as a "toggle" button (1x press toggle, 2x press 50% position).
  • ShutterCalibration<x> Granular shutter position calibration. The measured opening position of the shutter at the 30, 50, 70, 90, and 100 percent opened locations. For example: ShutterCalibration<x> 23 38 56 74 82
    ShutterCloseDuration<x> 1..255 (default = 10)
    time, in seconds, it takes to fully close the shutter. A fraction of a second can be specified (e.g. 45.7).
    ShutterClose<x> Engage the relay to close the shutter. This action can be requested at any time. Number of shutter can be the index or the arguement
    ShutterFrequency<x> 0..10,000Hz (default = 1000)
    the maximum frequency at which the stepper motor can operate reliably. Typically this is up to 2,000Hz with a 12V power supply and up to 5,000Hz with a 24V power supply.
    ShutterEnableEndStopTime<x> 0 = no additional shutter end stop time (default)
    1 = 1 s additional shutter end stop time
    ShutterInvert<x> 0 = use default shutter positioning (0 = Closed, 100 = Open)
    1 = invert shutter positioning (100 = Closed, 0 = Open) (e.g., if used with KNX)
    ShutterInvertWebButtons<x> 0 = use default button icons (▲ for open, ▼ for close)
    1 = invert button icons (▼ for open, ▲ for close) (e.g., if used with horizontal awning: where open means rolling-down fabric material and close rolling-up in a protect position)
    ShutterLock<x> 0 = unlock shutter positioning (default)
    1 = lock shutter positioning
    ShutterMotorDelay<x> 0.00 .. 12.75 (default = 0)
    time, in seconds, it takes the motor to start moving once power is turned on; i.e., motor lag time.

    When used with stepper motors, this setting defines the ramp up/down speed (i.e., acceleration/deceleration) before the motor reaches its target speed for gradual starting and stopping.
    ShutterOpenDuration<x> 1..255 (default = 10)
    time, in seconds, it takes to fully open the shutter. A fraction of a second can be specified (e.g. 45.7).
    ShutterOpen<x> Engage the relay to open the shutter. This action can be requested at any time. Number of shutter can be index or the arguement
    ShutterPosition<x> 0..100, UP, DOWN, STOP
    A shutter position change can be requested at any time. The shutter will stop and revert or update to the requested position. The shutter's actual position will be saved after the movement is completed. In this case, the position will be restored during reboot. An interruption during shutter movement (e.g., a device restart) will lose the current position.
    ShutterRelay<x> <value>
    0 = disable this and all higher numbered shutters
    1,3,5,7,... (must be an odd number) = Relay<value> component used to open the shutter. This relay's mate, the next higher numbered relay, closes the shutter. Depending on the shutter mode, the relays may need to be interlocked using the Interlock command.
    The ShutterRelay command must be executed first before any other shutter commands for Shutter<x> can be executed.
    ShutterSetClose<x> shutter closed position. ShutterPosition will be reset to fully closed value (e.g., 0 when ShutterInvert = 0, 100 otherwise).
    ShutterSetOpen<x> shutter opened position. ShutterPosition will be reset to fully opened value (e.g., 100 when ShutterInvert = 0, 0 otherwise).
    ShutterSetHalfway<x> 0..100 (default = 50)
    Define shutter half open position (in percent)
    ShutterStop<x> Disengage the relays to stop the shutter. Number of shutter can be the index or the argument
    ShutterStopClose<x> Stop the shutter when currently moving, close it otherwise
    ShutterStopOpen<x> Stop the shutter when currently moving, open it otherwise
    ShutterStopPosition<x> Stop the shutter when currently moving, set it to position 0..100, UP, DOWN, STOP, TOGGLE otherwise
    ShutterStopToggle<x> Stop the shutter when currently moving, do ShutterToggle otherwise
    ShutterStopToggleDir<x> Stop the shutter when currently moving, do ShutterToggleDir otherwise
    ShutterToggle<x> Toggle the shutter - close the shutter when its position is >50, open it otherwise
    ShutterToggleDir<x> Toggle the shutter - close the shutter when it previously moved to open, open it otherwise
    See also SetOption80 - Enable shutter support

    Zigbee~

    See Zigbee article for more information

    Command Parameters
    <device> As <device> in following commands you can use interchangeably:
    <shortaddr> = short address of the Zigbee device on the network, example: 0x1234
    <longaddr> = permanent IEEE address of the Zigbee device (64 bits), example: 0x00158D00041160C5
    <index> = number of the device in the internal list (starts at 1), ideal for enumerating devices, example: 3 for third device in the list
    <name> = friendly name. Only when previously set with ZbName
    ZbBind Binds one Zigbee device to another device or to a group. This allows one device to directly send commands (f.e. a remote to a bulb) without any action on the coordinator.
    Command structure: {"Device":"<device>", "Endpoint":<endpoint>, "Cluster":<cluster>, "ToDevice":"<to_device>", "ToEndpoint":<to_endpoint>, "ToGroup":<to_group> }
    <device> = device sending messages (mandatory)
    <endpoint> = source endpoint (mandatory)
    <cluster> = source cluster id (mandatory)
    <to_device> = target device (optional)
    <to_endpoint> = target endpoint
     (optional if it can be inferred from ZbStatus3)
    <to_group> = target group id (optional)
    📓 You must specify either "ToDevice" or "ToGroup" but not both
    📓 Zigbee2Tasmota must know the IEEE address of target device, see ZbStatus2 to verify and ZbProbe to have Zigbee2Tasmota query the address
    ZbConfig display the current Zigbee configuration
    Example or result: {"ZbConfig":{"Channel":11,"PanID":"0x1A63","ExtPanID":"0xCCCCCCCCCCCCCCCC","KeyL":"0x0F0D0B0907050301","KeyH":"0x0D0C0A0806040200"}}
    ZbConfig <json> change the configuration and restart if any change was applied. Warning: change in configuration causes a reset of the CC2530 and requires devices to be re-paired.
    "Channel":<channel>: Zigbee radio channel (11-26)
    "PanID":<panid>: identifier of the Zigbee Network
    "ExtPanID":<extpanid>: unique identifier of the Zigbee Network (ExtPanID features are not supported in Z2T but this parameter needs to be set)
    "KeyL":<key_l>,"KeyH":<key_h>: 128 bits encryption key, split into 2 64 bits values (Low and High)
    All parameters are optional and only the ones specified are changed. The command always displays the complete configuration after the change
    Example of command: ZbConfig {"Channel":22,"PanID":"0x1A69","ExtPanID":"0xDDCCCCCCCCCCCCCC","KeyL":"0xFF0D0B0907050301","KeyH":"0xED0C0A0806040200"}
    ZbForget Used for devices that are unused but still visible in ZbStatus
    <device> = Remove a device from the Tasmota flash memory.
    ZbLight Sets or reads the light type to be emulated in Zigbee Hue Emulation with Alexa.
    <device>,<light_type> sets the light type using an integer 0..5 corresponding to the number of channels (from one channel (on/off) to 5 channel (RGBCCT) lights)
    <device>,-1 removes the device from Philips Hue emulation
    <device> displays the current status of the Light (Zigbee2Tasmota tracks all changes to the light)
    ZbName Sets or reads the Zigbee device friendly name (up to 32 characters).
    <device>,<name> sets the new friendly name
    <device>, (empty name) clears the friendly name
    <device> displays the current friendly name
    Also see SetOption83 1 to enable friendly names as JSON keys instead of ShortAddr.
    ZbPermitJoin Sets pairing mode for new device discovery
    0 = disable pairing mode
    1 = enable pairing mode for 60 seconds
    99 = enable pairing until device reboots
    🚨 Leaving Zigbee network open to join will allow any Zigbee device to connect and retrieve your network encryption key. This can lead to a compromise of your Zigbee network.
    ZbPing <device> = test availability of Zigbee device. If the device is connected and not sleeping, you should receive a ZbPing message within the next second.
    Example: ZbPing 0x5ADF responds with:
    {"ZbPing":{"Device":"0x5ADF","IEEEAddr":"0x90FD9FFFFE03B051"}}
    ZbSend Command structure: {"Device":"<shortaddr>", "Endpoint":"<endpoint>", "Manuf":<manuf>, "Send":{"<sendcmd>":<sendparam>}}
    <shortaddr> = short address of the Zigbee device on the network
    <endpoint> = target endpoint on the device (understanding endpoints)
    <manuf> = (optional) forces a specific ManufacturerId in the ZCL frame (required by some Xiaomi devices)
    "<sendcmd>":<sendparam> = command and parameters to send (Zigbee Device Commands)
    📓 Use ZbZNPSend to send a raw form low-level message
    Example: ZbSend { "Device":"0x1234", "Endpoint":"0x03", "Send":{"Power":"on"} }
    ZbStatus<x> Display Zigbee devices seen on the network since boot
    <device> (optional)
    = all devices
    This command provides three levels of increasing detail according to <x>
    ZbStatus1 Display Short Address, and Friendly Name
    ZbStatus2 Also include Manufacturer ID and Model ID
    ZbStatus3 Also include a list of endpoints and the clusterIds supported by each endpoint
    Example: ZbStatus3 1 requests all details for device number 1
    📓 Requested information may exceed maximum result size allowed by Tasmota. In this case, the output will be truncated. To get all of the desired information, request results for a specific device individually.
    ZbUnbind Unbinds one Zigbee device from another or from a group.
    {"Device":"<device>", "Endpoint":<endpoint>, "Cluster":<cluster>, "ToDevice":"<to_device>", "ToEndpoint":<to_endpoint>, "ToGroup":<to_group> }
    <device> = the device sending the messages (mandatory)
    <endpoint> = the source endpoint (mandatory)
    <cluster> = the source cluster id (mandatory)
    <to_device> = the target device (optional)
    <to_endpoint> = the target endpoint (optional if it can be inferred from ZbStatus3)
    <to_group> = the target group id (optional)
    📓 You must specify either "ToDevice" or "ToGroup" but not both
    📓 Zigbee2Tasmota must know the IEEE address of the target device, use ZbStatus2 to verify and ZbProbe to query the address.
    See also SetOption83, SetOption89, SetOption100, SetOption101

    Zigbee Debug Functions

    ⚠️ ⚠️ ⚠️ Do not use unless you know exactly what you are doing. ⚠️ ⚠️ ⚠️

    Command Parameters
    ZbModelId Manually force the ModelId field of a Zigbee device. This is used to simulate devicesnot physically present on the network, for debugging only.
    <device>,<modelid> = set new ModelId
    <device>, = (empty modelid) clear ModelId
    <device> = display current ModelId (also displayed in ZbStatus2)
    ZbProbe <device>= probe a Zigbee device to get additional information including its IEEEaddress, vendor and model names, endpoints, and supported clusters per endpoint.
    Device probe is performed automatically when a new Zigbee device connects.
    Battery powered Zigbee devices can not be probed in general because they are usually in sleep mode.
    ZbRead Read Zigbee device attributes using command syntax: { "Device":"<shortaddr>", "Endpoint":"<endpoint>", "Cluster":"<cluster>", "Manuf":<manuf>, "Read":[<attrlist>] }
    <shortaddr> = short address of the Zigbee device on the network.
    <endpoint> = target endpoint on the device (understanding endpoints)
    <cluster> = cluster number of the attributes
    <manuf> = forces a specific ManufacturerId in the ZCL frame (required by some Xiaomi devices) (optional)
    <attrlist> = requested attributes array
    Example: ZbRead { "device":"0x69CF", "endpoint":"0x03", "cluster":"0x0006", "read":["0x0000"] }
    ZbReset 1 = perform a factory reset and reconfiguration of the CC2530 chip.
    ⚠️ You will need to re-pair all Zigbee devices
    ZbRestore Restores a device configuration previously dumped with ZbStatus2. This command does not pair a device, but lets you get back device configuration like ModelId or IEEEAddress.
    <json> = json contains the fields dumped with ZbStatus2. <json> can contain multiple devices (if they fit).
    ZbSave Forces saving the Zigbee device information to Flash. Auto-saving happens 10 seconds after a new Device parameter was changed, this command is normally not useful
    ZbZNPSend Send a raw ZCL message to a Zigbee device. This is a low-level command, and requires to manually build the ZCL parameters. Most common usage will be provided as high-level functions.
    ZbZNPReceive Simulates a received message
    <hex> = hex string of the simulated message, same format as ZbZNPReceived debug logs

    Bluetooth~

    Command Parameters
    HM10Scan Start a new device discovery scan
    HM10Period Show interval in seconds between sensor read cycles. Set to TelePeriod value at boot.
    HM10Baud Show ESP8266 serial interface baudrate (Not HM-10 baudrate)
    <value> = set baudrate
    HM10AT <command> = send AT commands to HM-10. See list
    HM10Time <n> = set time time of a LYWSD02 only sensor to Tasmota UTC time and timezone. <n> is the sensor number in order of discovery starting with 0 (topmost sensor in the webUI list).
    HM10Auto <value> = start an automatic discovery scan with an interval of <value> seconds to receive data in BLE advertisements periodically.
    This is an active scan and it should be used only if necessary. At the moment that is the case just with MJ_HT_V1. This can change if a future HM-10 firmware starts supporting passive scan.
    NRFPage Show the maximum number of sensors shown per page in the webUI list.
    <value> = set number of sensors (default = 4)
    NRFIgnore 0 = all known sensor types active_(default)_
    <value> = ignore certain sensor type (1 = Flora, 2 = MJ_HT_V1, 3 = LYWSD02, 4 = LYWSD03, 5 = CGG1, 6 = CGD1
    NRFScan Scan for regular BLE-advertisements and show a list in the console
    0 = start a new scan list
    1 = append to the scan list
    2 = stop running scan
    NRFBeacon Set a BLE device as a beacon using the (fixed) MAC-address
    <value> (1-3 digits) = use beacon from scan list
    <value> (12 characters) = use beacon given the MAC interpreted as an uppercase string AABBCCDDEEFF

    Stepper Motors~

    Command Parameters
    MotorMIS 1,2,4,8,16 Set micro stepping increment - 1/1 (full steps) to 1/16 (default = 1)
    MotorSPR integer Set the number of steps the given motor needs for one revolution (default = 200)
    This is dependent on the type of motor and micro stepping. Most common motors are 1.8° per step.
    MotorRPM 1..300 Set revolutions per minute (default = 30)
    MotorMove integer Move the motor the given number of steps (positive values: clockwise, negative values: counterclockwise)
    MotorRotate integer Rotate the motor the given number of degrees (positive values: clockwise, negative values: counterclockwise)
    MotorTurn float Spin the motor the given number of turns (positive values: clockwise, negative values: counterclockwise)

    MP3 Player~

    The MP3 Player driver is based on the one from DFRobot. They named it DFPlayer mini. All MP3 Players with the identical Serial Control Command structure can be used.

    Command Parameters
    MP3DAC 0 = DAC on (default)
    1 = DAC off
    MP3Device Specify playback device
    1 = USB
    2 = SD Card (default (also defaults on reset or power cycle))
    MP3EQ Set equalizer mode:
    0 = normal
    1 = pop
    2 = rock
    3 = jazz
    4 = classic
    5 = bass)
    MP3Pause Pause
    MP3Play Play, works as a normal play on a real MP3 Player, starts at first MP3 file
    MP3Reset Reset the MP3 player to defaults
    MP3Stop Stop
    MP3Track x = play track <x>
    MP3Volume 0..100 = set Volume

    ESP32~

    Command Parameters
    Ethernet Currently only for Olimex ESP32-PoE board
    0 = disable Ethernet
    1 = enable Ethernet (default)
    EthAddress Set ethernet address. Currently only for Olimex ESP32-PoE board
    0..31 = PHYxx address
    EthClockMode Ethernet clock mode. Currently only for Olimex ESP32-PoE board
    0 = ETH_CLOCK_GPIO0_IN (default)
    1 = ETH_CLOCK_GPIO0_OUT
    2 = ETH_CLOCK_GPIO16_OUT
    3 = ETH_CLOCK_GPIO17_OUT
    EthType Ethernet type. Currently only for Olimex ESP32-PoE board
    0 = ETH_PHY_LAN8720 *(default)

    1 = ETH_PHY_TLK110
    2 = ETH_PHY_IP101
    Wi-Fi Currently only for Olimex ESP32-PoE board
    0 = disable Wi-Fi
    1 = enable Wi-Fi (default)

    Thermostat~

    Command Parameters
    ThermostatModeSet Sets the thermostat mode
    0 = Thermostat Off (controller inactive, default)
    1 = Thermostat in automatic mode (controller active)
    2 = Thermostat in manual mode (output switch follows the input switch, used to follow an existing wall thermostat)
    ClimateModeSet Sets the climate mode
    0 = Heating mode (default)
    1 = Cooling mode
    ControllerModeSet Sets the controller mode (used for thermostat in automatic mode)
    0 = Hybrid controller (Predictive ramp-up controller and PI, default)
    1 = PI controller
    2 = Predictive ramp-up controller
    TempFrostProtectSet Sets the frost protection temperature. The controller, if in automatic mode, will never allow the temperature to sink below this value
    <0..12> = Temperature value in degrees Celsius/Fahrenheit (default 4.0° Celsius)
    InputSwitchSet Sets the number of the input used in case in manual control
    <1..4> = Number of the input (default 1)
    InputSwitchUse Switch to decide if the input shall be used to automatically switch to manual mode and assign it to the output (usefull if using a serially connected wall thermostat)
    0 = Input not used (default)
    1 = Input used
    SensorInputSet Sets the temperature sensor to be used
    0 = MQTT (default)
    1 = Local sensor (can be changed by define, default DS18B20)
    OutputRelaySet Sets the output switch to be used for the thermostat
    <1..8> = Number of the output (default 1)
    EnableOutputSet Enables or disables the physical output
    0 = Output disabled
    1 = Output enabled (default)
    TimeAllowRampupSet Sets the minimum time in minutes since the last control action to be able to switch to the predictive ramp-up controller phase (applicable just in case of Hybrid controller, used normally in case of big deltas between the setpoint and the room temperature)
    <value> = Minutes (default 300 minutes)
    TempFormatSet Sets the temperature format
    0 = Degrees celsius (default)
    1 = Degrees Fahrenheit
    TempMeasuredSet Sets the temperature measured by the sensor (for MQTT sensor mode)
    <TempFrostProtectSet..100> = Temperature (default 18.0° Celsius)
    TempTargetSet Sets the target temperature for the controller (setpoint)
    <TempFrostProtectSet..100> = Temperature (default 18.0° Celsius)
    TempMeasuredGrdRead Returns the calculated temperature gradient
    <value> = Temperature gradient in degrees Celsius/Fahrenheit
    StateEmergencySet Sets the thermostat emergency flag
    0 = Emergency flag off (default)
    1 = Emergency flag on (thermostat switches to off state)
    TimeManualToAutoSet Sets the time in manual mode after the last active input action (f.i. last action from serial connected wall thermostat) to switch to aumatic mode
    0..1440 = time in minutes (default 60 minutes)
    PropBandSet Sets the value of the proportional band of the PI controller
    0..20 = value in degrees Celsius (default 4 degrees Celsius)
    TimeResetSet Sets the value of the reset time of the PI controller
    0..86400 = value in seconds (default 12000 seconds)
    TimePiProportRead Returns the proportional part of the PI controller calculation in seconds
    value = value in seconds
    TimePiIntegrRead Returns the integral part of the PI controller calculation in seconds
    value = value in seconds
    TimePiCycleSet Sets the value of the cycle for the PI controller
    0..1440 = value in minutes (default 30 minutes)
    TempAntiWindupResetSet Sets the value of the delta between controlled temperature and setpoint above which the integral part of the PI controller will be set to 0, in degrees Celsius/Fahrenheit
    0..10 = value in degrees (default 0.8° Celsius)
    TempHystSet Sets the value of the temperature hysteresis for the PI controller, in degrees Celsius/Fahrenheit
    -10..10 = value in degrees (default 0.1° Celsius)
    TimeMaxActionSet Sets the maximum duty cycle of the PI controller in minutes
    0..1440 = value in minutes (default 20 minutes)
    TimeMinActionSet Sets the minimum duty cycle of the PI controller in minutes
    0..1440 = value in minutes (default 4 minutes)
    TimeSensLostSet Sets the maximum time without a temperature sensor update to mark it as lost in minutes
    0..1440 = value in minutes (default 30 minutes)
    TimeMinTurnoffActionSet Sets the minimum time in minutes within a cycle for the PI controller to switch off the output, below it, it will stay on
    0..1440 = value in minutes (default 3 minutes)
    TempRupDeltInSet Sets the minimum delta between controlled temperature and setpoint for the controller to switch to ramp-up controller phase (applicable just in Hybrid controller mode)
    0..10 = value in degrees Celsius/Fahrenheit (default 0.4° Celsius)
    TempRupDeltOutSet Sets the maximum delta between controlled temperature and setpoint for the controller to switch to the PI controller phase (applicable just in Hybrid controller mode)
    0..10 = value in degrees Celsius/Fahrenheit (default 0.2° Celsius)
    TimeRampupMaxSet Sets the maximum time in minutes for the controller to stay in the ramp-up phase (applicable just in Hybrid controller mode
    0..1440 = value in minutes (default 960 minutes)
    TimeRampupCycleSet Sets the value of the cycle for the ramp-up controller
    0..1440 = value in minutes (default 30 minutes)
    TempRampupPiAccErrSet Sets the initial accumulated error when switching from ramp-up to the PI controller phase if the target temperature has not been reached (applicable just in Hybrid controller mode)
    0..25 = value in degrees Celsius/Fahrenheit (default 2° Celsius)
    CtrDutyCycleRead Returns the duty cycle of the controller
    0..100 = value in %
    DiagnosticModeSet Enables/disables the diagnostics flag
    0 = Diagnostics disabled
    1 = Diagnostics enabled (default)

    Domoticz~

    Command Parameters
    DzIdx<x> Show Domoticz Relay idx <x> (x = 1..4)
    0 = disable use of Relay idx <x> (default)
    <value> = Show Relay idx <x>
    DzKeyIdx<x> Show Domoticz Key idx <x> (x = 1..4)
    0 = disable use of Key idx <x> (default)
    <value> = Show Key idx <x> (to use enable ButtonTopic)
    DzSend<type> send values or state to Domoticz
    <index>,<value1(;value2)|state>
    DzSensorIdx<x> Show Domoticz Sensor idx <x> (x = 1..5)
    0 = disable use of Sensor idx <x> (default)
    <value> = Show Sensor idx <x>
    DzSwitchIdx<x> Show Domoticz Switch idx <x> (x = 1..4)
    0 = disable use of Switch idx <x> (default)
    <value> = Show Switch idx <x> (to use enable SwitchTopic)
    DzUpdateTimer Show current update timer value in seconds
    0 = disable sending interim Domoticz status (default)
    1..3600 = send status to Domoticz in defined intervals

    KNX~

    Command Parameters
    KnxTx_Cmnd<x> 0 or 1 = send command using slot <x> set in KNX Menu at KNX_TX
    KnxTx_Val<x> <value> = send float value using slot <x> set in KNX Menu at KNX_TX
    KNX_ENABLED Status of KNX Communications
    0 = set to Disable
    1 = set to Enable
    KNX_ENHANCED Status of Enhanced mode for KNX Communications
    0 = set to Disable
    1 = set to Enable
    KNX_PA KNX Physical Address
    0.0.0 = address not set
    x.x.x = set the device address (example 1.1.0)
    KNX_GA Return the amount of Group Address to Send Data/Commands configured
    KNX_GA<x> Setup Group Address to Send Data/Commands (<x> = KNX Group Address number)
    1 = return configuration of GA<x>
    <option>, <area>, <line>, <member> to set configuration of GA<x>
         <option> = see table below for OPTION list
         <area>, <line>, <member> = KNX Address to Send Data/Commands
    KNX_CB Return the amount of Group Address to Receive Data/Commands configured
    KNX_CB<x> Setup Group Address to Receive Data/Commands
    1 = return configuration of CB<x>
    <option>, <area>, <line>, <member> to set configuration of CB<x>
         <option> = see table below for OPTION list
         <area>, <line>, <member> = KNX Address to Receive Data/Commands
    OPTION OPTION
    Value

    OPTION
    OPTION
    Value
    1 Relay 1 17 TEMPERATURE
    2 Relay 2 18 HUMIDITY
    3 Relay 3 19 ENERGY_VOLTAGE
    4 Relay 4 20 ENERGY_CURRENT
    5 Relay 5 21 ENERGY_POWER
    6 Relay 6 22 ENERGY_POWERFACTOR
    7 Relay 7 23 ENERGY_DAILY
    8 Relay 8 24 ENERGY_START
    9 Button 1 25 ENERGY_TOTAL
    10 Button 2 26 KNX_SLOT1
    11 Button 3 27 KNX_SLOT2
    12 Button 4 28 KNX_SLOT3
    13 Button 5 29 KNX_SLOT4
    14 Button 6 30 KNX_SLOT5
    15 Button 7 255 EMPTY
    16 Button 8