commands - FengtianGu/Sonoff-Tasmota GitHub Wiki
- How to Use Commands
- Device Control
- Management and Configuration
- Wi-Fi
- MQTT
- Rules
- Timers
- Sensors
- Power Monitoring
- Lights (PWM and addressable RGB LED lights)
- RF 433MHz Bridge
- IR Remote Control
- SetOption List
- Serial Bridge
- MP3 Player
- Domoticz
- KNX IP Protocol
- Displays
The Sonoff-Tasmota firmware provides three powerful man machine interfaces:
MQTT, web and serial.
To send commands and view responses you'll need an MQTT client.
Commands over MQTT are issued by using cmnd/%topic%/<command> <parameter>
. If there is no <parameter>
(an empty MQTT message/payload), a query is sent for current status of the <command>
.
See MQTT wiki to find out more.
Commands can be executed via web (HTTP) requests, for example:
http://sonoff/cm?cmnd=Power%20TOGGLE
http://sonoff/cm?cmnd=Power%20On
http://sonoff/cm?cmnd=Power%20off
http://sonoff/cm?user=admin&password=joker&cmnd=Power%20Toggle
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://sonoff/cm?&user=put_username_here&password=put_password_here&cmnd=Power%20On
Console menu in Web UI is a convenient place to send commands and it behaves similar to a terminal connection via serial bridge.
If you flashed the device via serial method you can connect to it with a terminal application (e.g. Termite, Arduino IDE Serial Monitor) to issue commands and follow responses. This is a practical way to do a Backlog
setup of your new device.
The serial interface is set to 115200 bps except for the following:
- Sonoff Dual and the Sonoff RF Bridge where it is set to 19200 bps.
- Sonoff S31 where it is set to 4800 bps and the SerialLog is disabled.
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 relay control, using backlog like a script
Backlog status 1; power 2 on; delay 20; power 2 off; status 4
When using web requests (You have to encode "space" as '%20' and ";" as '%3B')
http://sonoff/cm?user=admin&password=joker&cmnd=Backlog%20Power%20Toggle%3BPower1%20ff
A Backlog
command without an argument clears an possible existing Backlog
queue.
E.g. 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 relay would remain off.
Commands listed are available from version 6.5.0. Later introduced commands have their minimum version noted. If you're using an older Tasmota version some of the commands might not work. Note that availability of some features and their associated commands is dependent on the options selected during the firmware compilation. Please consult the builds table for a reference of which features are available for each pre-compiled firmware binary variant.
Every command used without a parameter (payload) returns the current setting.
-
Power
will return the status of Relay1
Instead of 0
you can use off
and instead of 1
you can use on
.
-
Power ON
turns Relay1 on -
Power1 1
also turns Relay1 on
Replace <x>
in a command with the appropriate index number. Leave it empty to use the first available.
-
Power1
andPower
both control 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.
- a
tele/%topic%/STATUS
message (sent every 300 seconds by default) may appear exactly after you issuePower off
command and before you receivestat/%topic%/RESULT = {"POWER":"OFF"}
message.
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 device LED)0 = blink many times before restoring power state 1..32000 = set number of blinks
|
BlinkTime |
2..3600 set duration, in 0.1 second increments, to blink (i.e., toggle Power) for a relay **(does not control the device power LED)
|
ButtonDebounce | User control over button debounce timing 40..1000 = set button debounce time in ms. Default is 40
|
FanSpeed | Fan speed control (iFan02 module only) 0 = turn fan OFF 1..3 = set fan speed + = increase fan speed - = decrease fan speed |
Interlock | Relay interlock mode and group selection.0 = set self-locking mode for all relays (default) 1 = set interlock mode for selected relays |
Add up to 8 relays in 1 to 4 interlock groups, each separated by a space. For example1,2 3,4 = Group Relay1 and Relay2 in group 1 and Relay3 and Relay4 in group 2 (note the space between the two group declarations) 1,2,3 = group Relay1, Relay2 and Relay3 in a single interlock group 1 3 2,4 = Relay1 is in group 1, Relay3 in group 2, Relay2 and Relay4 in group 3
|
|
LedMask | Allows setting a <bitmask> which specifies which relays control the LED indicator used to display whether a relay is latched/powered. The order of the <bitmask> is from most significant bit (MSB) to least significant bit (LSB). Bit 15 (MSB) masks Relay16 through bit 0 (LSB) which masks Relay1, respectively. For each relay to be included in controlling the power LED, set its corresponding bit in the <bitmask> to 1 . <bitmask> bits without corresponding configured module relays have no effect and can be ignored. Introduced in v6.5.0.7<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.Examples: LedMask 0xFFFD Every relay, except Relay2, controls the power LED (0xFFFD = 1111 1111 1111 1101)LedMask 0x0002 Only Relay 2 controls the power LED (0x0002 = 0000 0000 0000 0010) |
LedPower | LED power state as on or off 0 = turn LED OFF and set LedState 0 1 = turn LED ON and set LedState 0 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 (Introduced in 6.5.0.12)0 = turn LED OFF and set LedState 0 1 = turn LED ON and set LedState 0 2 = toggle LED and set LedState 0 LedState |
Power<x> | Control Relay<x> power state and also resetting PulseTime<x>0 / off = turn OFF 1 / on = turn ON 2 / toggle = if relay is ON switch to OFF and vice versa3 / blink = toggle power for BlinkCount times each BlinkTime duration (at the end of blink , relay power is returned to pre-blink state)4 / blinkoff = stop blink sequence and return relay power to pre-blink state
|
PowerOnState | Control relay state after powering up the device. More information0 / OFF = keep relay(s) OFF after power up 1 / ON = turn relay(s) ON after power up 2 / TOGGLE = toggle relay(s) from last saved state 3 = switch relay(s) to their last saved state (default) 4 = turn relay(s) ON and disable further relay control 5 = after a PulseTime period turn relay(s) ON (acts as inverted PulseTime mode)
|
PulseTime<x> | Display the amount of PulseTime remaining on Relay<x><value> Set the duration to keep Relay<x> ON when Power<x> ON command is issued. After this amount of time, the relay will be turned OFF .0 / OFF = disable use of PulseTime for Relay<x>1..111 = set PulseTime for Relay<x> in 0.1 second increments112..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 40..1000 = set switch debounce time in ms. Default is 40
|
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) |
See also |
SetOption11 - Swap pushbutton single and double press functionalitySetOption13 - Allow immediate action on single button pressSetOption26 - Use indexes even when only one relay is presentSetOption31 - Disable Wi-Fi LED status blinkingSetOption32 - Set hold interval before sending HOLD action |
Command | Parameters |
---|---|
Delay |
2..3600 = set delay between two backlog commands with 0.1 second increment
|
Emulation |
0 = disable emulation1 = enable Belkin WeMo emulation for Alexa2 = enable Hue Bridge emulation for Alexa
|
Event | Execute an event to trigger a rule as documented |
FriendlyName<x> |
1 = Reset friendly name to firmware default<value> = set friendly name (32 char limit)
|
Gpios | Show list of available sensors and devices by name and index |
Gpio | Show current GPIO usage for current module |
Gpio<x> |
<sensor> = configure sensor to Gpio<x>
|
I2Cscan | Scan I2C bus and show addresses for found devices |
LogHost |
1 = reset syslog host to firmware default (SYS_LOG_HOST )<value> = set syslog host (32 chars max)
|
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<x> = switch to Module<x> and restart
|
OtaUrl | Display current OTA URL1 = Reset OtaUrl to firmware defaulturl = set address for OTA (100 char limit)
|
Pwm | Display current PWM setting for enabled channels |
Pwm<x> |
0..1023 = set PWM<x> channel to value
|
PwmFrequency |
1 = reset PWM frequency to 880Hz100..4000 = set PWM frequency (100Hz to 4kHz)
|
PwmRange |
1 = reset maximum PWM range to 1023255..1023 = set maximum PWM range
|
Reset |
1 = reset sonoff parameters to firmware defaults and restart2 = erase flash, reset sonoff parameters to firmware defaults and restart3 = erase flash SDK parameters and restart4 = reset sonoff parameters to firmware defaults but retain Wi-Fi credentials and restart5 = erase all flash and reset parameters to firmware defaults but keep Wi-Fi settings and restart6 = 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) |
Restart |
1 = restart device99 = force restart device without configuration save
|
Template | Show current Template0 = create template from active module1..69 = create template from a supported module255 = merge current module and template settings into new template{ ... } = store template in a JSON string
|
SaveData |
0 = save parameter changes only manually1 = save parameter changes every second (default)2..3600 = save parameter changes every x second
|
SerialLog | Disable hardware serial bridge and0 = disable serial logging1 = show only error messages2 = show error and info messages3 = show error, info and debug messages4 = show all messages
|
Sleep |
0 = turn sleep off1..250 = set sleep duration in mSec to enable energy saving (default = 50 )
|
State | Show current device state in %prefix%/%topic%/RESULT topic
|
Status | Show abbreviated status information0 = show basic status information1 = show more status information2 = show firmware information3 = show logging and telemetry information4 = show memory information5 = show network information6 = show MQTT information7 = show time information8 = show connected sensor information9 = 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
|
SysLog |
0 = disable syslog logging1 = show only error messages2 = show error and info messages3 = show error, info and debug messages4 = show all messages
|
Timezone |
-13..13 = set timezone99 = use timezone configured with TimeDST and TimeSTD
|
TimeSTD TimeDST |
Set standard (STD) and daylight saving (DST) timezones0 = reset timezone parameters to firmware defaultsH ,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
|
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 logging1 = show only error messages2 = show error and info messages3 = show error, info and debug messages4 = show all messages |
Command | Parameters |
---|---|
AP |
0 = switch to other Wi-Fi Access Point1 = select Wi-Fi Access Point 12 = select Wi-Fi Access Point 2
|
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.
|
IPAddress1 |
0.0.0.0. = use dynamic IP address (DHCP)XXX.XXX.XXX.XXX = set static IP address
|
IPAddress2 |
XXX.XXX.XXX.XXX = set gateway IP address
|
IPAddress3 |
XXX.XXX.XXX.XXX = set subnet mask
|
IPAddress4 |
XXX.XXX.XXX.XXX = set DNS server IP addressfollow IPAddress commands with restart 1 to apply changes
|
NtpServer<x> | NTP server setup (x= 1..3 )0 = clear NtpServer<x> settings1 = reset NtpServer<x> settings to firmware defaults<value> = set NtpServer<x> host or IP address (32 char limit)
|
Password<x> |
1 = reset AP<x> Wi-Fi password to firmware default (STA_PASS1 ) and restart<value> = set AP<x> Wi-Fi password (64 char limit, do not use special characters or white spaces in the password) and restart. Note that Password and Password1 are equivalent commands.
|
Ssid<x> |
1 = reset AP<x> Wi-Fi SSID to firmware default (STA_SSID1 or STA_SSID2 ) and restart<value> = set AP<x> Wi-Fi SSID (32 char limit, do not use special characters or white spaces in the SSID) and restart
|
WebPassword | Show current web server password0 = disable use of password for WebUI1 = reset password to firmware default (WEB_PASSWORD )<value> = set WebUI password for user WEB_USERNAME (32 char limit)Default WEB_USERNAME is admin . |
WebSend | Send a command to Tasmota host. If a command starts with a \ it will be used as a link.[<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 payloadexample: [sonoff] POWER1 ON sends http://sonoff/cm?cmnd=POWER1 ON
|
WebServer |
0 = stop web server1 = start web server in user mode2 = start web server in admin mode
|
WebRefresh | Web page refresh1000..10000 = set refresh time in ms. Default is 2345
|
WebColor<x> | Web GUI colors (introduced in 6.5.0.6)#RRGGBB = Set web GUI color (x = 1..18 ):1 = Global text (Black)2 = Global background (White)3 = Form background (Greyish)4 = Input text (Black)5 = Input background (White)6 = Console text (Black)7 = Console background (White)8 = Warning text (Red)9 = Success text (Green)10 = Button text (White)11 = Button (Blueish)12 = Button hovered over (Darker blueish)13 = Restart/Reset/Delete button (Redish)14 = Restart/Reset/Delete button hover (Darker reddish)15 = Save button (Greenish)16 = Save button hover (Darker greenish)17 = Config timer tab text (White)18 = Config timer tab background (Light grey)
|
WifiConfig |
0 - disable Wi-Fi config but restart (used with alternate AP)1 = start smart config for 1 minute and set as current config tool2 = start Wi-Fi manager (web server at 192.168.4.1) and set as current config tool3 = start WPS config for 1 minute and set as current config tool4 = disable Wi-Fi config but retry other AP without restart5 = disable Wi-Fi config but retry same AP without restart and flash writes7 = start restricted Wi-Fi manager (web server at 192.168.4.1 with only option to reset device settings) and set as current config tool. This setting is recommended for devices without an external control/reset button. |
See also |
SetOption55 - mDNS service controlSetOption56 - Wi-Fi network scan to select strongest signal on restartSetOption57 - Wi-Fi network re-scan every 44 minutes with switch to +10dB stronger signal if detected |
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 (32 chars max)0 = disable use of MQTT button topic1 = set MQTT button topic to device %topic% 2 = reset MQTT button topic to firmware default (MQTT_BUTTON_TOPIC ) (default = 0 )
|
FullTopic |
1 = reset MQTT fulltopic to firmware default (MQTT_FULLTOPIC ) and restart<value> = set MQTT fulltopic (100 chars max) using optional %topic% and %prefix% and restart
|
GroupTopic |
1 = reset MQTT group topic to firmware default (MQTT_GRPTOPIC ) and restart<value> = set MQTT group topic (32 chars max) and restart
|
MqttClient |
1 = reset MQTT client to firmware config (MQTT_CLIENT_ID ) and restart<value> = set MQTT client (32 chars max) and restart.You can use wildcard %06X to replace with last six characters of MAC address.
|
MqttFingerprint |
TLS needs to be enabled in firmware for this command<value> = set current fingerprint as 20 space separated bytes (59 chars max)
|
MqttHost |
0 = clear MQTT host field and allow mDNS to find MQTT host1 = reset MQTT host to firmware default (MQTT_HOST ) and restart<value> = set MQTT host (32 chars max) and restart
|
MqttPassword |
0 = clear MQTT password1 = reset MQTT password to firmware default (MQTT_PASS ) and restart<value> = set MQTT password (32 chars max) 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 name1 = reset MQTT user name to firmware default (MQTT_USER ) and restart<value> = set MQTT user name (32 chars max) and restart
|
PowerRetain | MQTT power retain state0 / 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 (10 chars max) and restart
|
Prefix2 |
1 = reset MQTT status prefix to firmware default (PUB_PREFIX ) and restart<value> = set MQTT status prefix (10 chars max) and restart
|
Prefix3 |
1 = Reset MQTT telemetry prefix to firmware default (PUB_PREFIX2 ) and restart<value> = set MQTT telemetry prefix (10 chars max) 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
|
StateText1 |
<value> = set OFF state text (10 chars max)
|
StateText2 |
<value> = set ON state text (10 chars max)
|
StateText3 |
<value> = set TOGGLE state text (10 chars max)
|
StateText4 |
<value> = set HOLD state text (10 chars max)
|
SwitchRetain |
0 = disable use of MQTT retain flag (default)1 = enable MQTT retain flag on switch press
|
SwitchTopic |
<value> = set MQTT switch topic (32 chars max)0 = disable use of MQTT switch topic1 = set MQTT switch topic to device %topic% 2 = reset MQTT switch topic to firmware default (MQTT_SWITCH_TOPIC ) (default = 0 )Read more about this |
TelePeriod |
0 = disable telemetry messages1 = 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 (32 chars max) and ButtonTopic and restart |
See also |
SetOption2 - Add units to status messagesSetOption4 - Return MQTT response as RESULT or %COMMAND% topicSetOption10 - Main topic change behaviour |
Command | Parameters |
---|---|
Rule<x> |
There are 3 separate rule sets, each with a 511 character limit. Each rule set can contain multiple rules. Each of the rule sets can be enabled or disabled individually (x = 1..3 )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) detection6 = toggle one-shot detection8 = disable stop-on-error after exception restart9 = enable stop-on-error after exception restart10 = toggle stop-on-error after exception restart<value> = define Rule<x>+<value> = append to Rule<x>"" = clear Rule<x>
|
RuleTimer<x> | Up to eight timers to be used as countdown event (x = 1..8 )0..32766 = set countdown rule timer in seconds
|
Mem<x> | Manage up to 5 variables stored on flash (x = 1..5 )<value> = store a string value in a variable" = clear stored value in Mem<x>
|
Var<x> | Manage up to 5 variables stored in memory (x = 1..5 )<string> = store a string value in a variable" = clear stored value in Var<x>
|
Add<x> |
<value> = add value to Var<x>
|
Sub<x> |
<value> = subtract value to Var<x>
|
Mult<x> |
<value> = multiply value to Var<x>
|
Scale<x> | Scale value from a low and high limit to another low and high limits and save in Var<x>v = value: the number to scalefl = fromLow: the lower bound of the value’s current rangefh = fromHigh: the upper bound of the value’s current rangetl = toLow: the lower bound of the value’s target rangeth = toHigh: the upper bound of the value’s target range
|
CalcRes | Current calculation resolution0..7 = set number of decimal places to be used in Add , Sub , Mult and Scale
|
To control a device locally 16 timers are programmable. They can be configured with the Timer<x> command following by a JSON string with optional parameters. For example:
Timer 1 will ENABLE output of POWER1 at exactly 2:23 every Tue/Wed and Sat
Timer1 {"Arm":1,"Time":"02:23","Window":0,"Days":"--TW--S","Repeat":1,"Output":1,"Action":1}
Timer 4 will TOGGLE output of POWER2 within a 30 minute window centered around 16:23 each Sunday, Monday, Thursday and Friday and will disable (disarm) after executing.
Timer4 {"Arm":1,"Time":"16:23","Window":15,"Days":"SM00TF0","Repeat":0,"Output":2,"Action":2}
When Mode 1
or Mode 2
is used, Latitude
and Longitude
become available. In that case the Time
value is always used as an offset so make sure to set it to 00:00
if no offset is wanted.
Timer1 {"Arm":1,"Mode":2,"Time":"-2:23","Window":0,"Days":"11TW11S","Repeat":1,"Output":1,"Action":1}
JSON Name | JSON Value |
---|---|
Arm |
0 = disarm or disable timer1 = arm or enable timer |
Mode |
0 = use clock time1 = Use local sunrise time using Longitude , Latitude and Time offset2 = use local sunset time using Longitude , Latitude and Time offset |
Time |
hh:mm = set time in hours 0 .. 23 and minutes 0 .. 59 -hh:mm = set time in offset hours -11 .. 12 and minutes 0 .. 59 (used with Mode 1 and Mode 2 ) |
Window |
0..15 = add or substract a random number of minutes to Time
|
Days |
SMTWTFS = set day of weeks mask where 0 or - = OFF and any different character = ON |
Repeat |
0 = allow timer only once1 = repear timer execution |
Output |
1..16 = select an output to be used if no rule is enabled |
Action |
0 = turn output OFF1 = turn output ON2 = TOGGLE output3 = BLINK output using BlinkCount parameters or execute a rule when enabled |
Note: Information on sensors documented below is transmitted in the Tasmota telemetry message
Command | Parameters |
---|---|
Altitude |
-30000..30000 - altitude in meters
|
AmpRes | Current sensor resolution0..3 = maximum number of decimal places
|
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' |
CounterDebounce |
0 = turn off counter debounce1..3200 = set counter debounce time in msec
|
CounterType<x> |
0 = set Counter<x> as pulse Counter1 = set Counter<x> as pulse Timer
|
EnergyRes | Energy sensor resolution0..5 = maximum number of decimal places
|
HumRes | Humidity sensor resolution0..3 = maximum number of decimal places
|
PressRes | Pressure sensor resolution0..3 = maximum number of decimal places
|
Sensor13 |
INA219 low voltage current sensor calibration mode0 = set INA219 calibration to max 32V and 2A1 = set INA219 calibration to max 32V and 1A2 = set INA219 calibration to max 16V and 0.4A
|
Sensor15 |
Automatic Baseline Correction for MH-Z19B CO2 sensor0 = disabled1 = enabled (default)2 = disable and start manual calibration from 400 ppm of CO29 = reset sensor to factory defaults1000 = sets measurement range to 1000ppm CO22000 = sets measurement range to 2000ppm CO23000 = sets measurement range to 3000ppm CO25000 = sets measurement range to 5000ppm CO2
|
Sensor20 |
Nova Fitness SDS011 dust sensor. Introduced in 6.5.0.31..255 = change working period in minutes
|
Sensor27 |
APDS-9960 sensor commands0 = enable light level and proximity sensor / disable gestures (default) 1 = enable gesture mode/ disable light level and proximity sensor2 = enable gestures with half gain / disable light and proximity sensor3..255 = Set ATIME register for different integration times
|
Sensor34 |
HX711 load cell sensor calibration1 = reset display to 02 = start calibration2 <value> = set reference weight in grams and start calibration3 = show reference weight in grams3 <value> = set reference weight in grams4 = show calibrated scale value4 <value> = set calibrated scale value5 = show max weight in gram5 <value> = set max weight in grams6 = show single item weight in grams6 <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. |
TempRes | Temperature sensor resolution0..3 = maximum number of decimal places
|
VoltRes | Voltage sensor resolution0..3 = maximum number of decimal places
|
WattRes | Power sensor resolution0..3 = maximum number of decimal places
|
WeightRes | Load cell sensor resolution0..3 = maximum number of decimal places |
See also |
SetOption8 - Show temperature in Celsius (default) or FahrenheitSetOption18 - Set status of signal light paired with CO2 sensorSetOption24 - Set pressure units |
Command | Parameters |
---|---|
AmpRes |
Current sensor resolution0..3 = maximum number of decimal places
|
CurrentHigh |
0 = disable current high threshold (default)<value> = set current high threshold value in miliamps
|
CurrentLow |
0 = disable current low threshold (default)<value> = set current low threshold value in miliamps
|
CurrentSet |
<value> = calibrate current to target value in mA
|
EnergyRes | Energy sensor resolution0..5 = maximum number of decimal places
|
EnergyReset | Show Energy Total, Yesterday and Today |
EnergyReset1 |
0..42500 = ((p)re)set Energy Today in Wh
|
EnergyReset2 |
0..42500 = ((p)re)set Energy Yesterday in Wh
|
EnergyReset3 |
0..42500000 = ((p)re)set Energy Total in Wh
|
FreqRes | Frequency sensor resolution0..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 W
|
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
|
PowerDelta |
0 = disable reporting on power change1 = enable reporting on 80% power change<value> = set reporting on percentage power change to send an MQTT telemetry message
|
PowerHigh |
0 = disable power high threshold (default)<value> = set power high threshold value in W to send an MQTT telemetry message
|
PowerLow |
0 = disable power low threshold (default)<value> = set power low threshold value in W to send an MQTT telemetry message
|
PowerSet |
<value> = calibrate power to a target value in W
|
Status |
8 = show power usage9 = show power thresholds
|
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 resolution0..3 = maximum number of decimal places
|
WattRes | Power sensor resolution0..3 = maximum number of decimal places |
See Also |
SetOption21 - Energy monitoring when power is offSetOption33 - Configure power monitoring Max_Power_Retry count number |
Command | Parameters |
---|---|
Channel<x> |
0..100 = set PWM channel dimmer value from 0 to 100%
|
Color | Show color setting (hex or decimal depending on SetOption17 )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) |
Set color to1 = red2 = green3 = blue4 = orange5 = light green6 = light blue7 = amber8 = cyan9 = purple10 = yellow11 = pink12 = white (using RGB channels)+ = next color- = previous color
|
|
Color2 | Same as Color but adjust to current Dimmer value
|
Color3 |
#RRGGBB = set seconds clock hand hex color value (only in Scheme 5 )
|
Color4 |
#RRGGBB = set minutes clock hand hex color value (only in Scheme 5 )
|
Color5 |
#RRGGBB = set hour clock hand hex color value (only in Scheme 5 )
|
Color6 |
#RRGGBB = set clock hour marker hex color value (only in Scheme 5 )
|
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
|
Fade |
0 = do not use fade (default) 1 = use fade
|
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 Led<x> hex color value where <x> is the pixel number (aplies only to addressable LEDs)
|
LedTable |
0 = do not use LED gamma correction (default up to 6.5.0.8)1 = use gamma correction (default since 6.5.0.9)
|
Pixels |
1..512 = set amount of pixels in strip or ring and reset Rotation (applies only to addressable LEDs)
|
Rotation |
<value> = set amount of pixels to rotate (up to Pixels value) (applies only to addressable LEDs)
|
Scheme | Light effects+ = next scheme- = previous scheme0 = single color for LED light (default)1 = start wake up sequence (same as Wakeup )2 = cycle up through colors using Speed option3 = cycle down through colors using Speed option4 = random cycle through colors using Speed and Fade |
The following schemes are usable only with addressable LEDs, e.g. WS281X, Neopixel5 = clock mode (example)6 = candlelight pattern7 = RGB pattern8 = Christmas pattern9 = Hannukah pattern10 = Kwanzaa pattern11 = rainbow pattern12 = fire pattern
|
|
Speed |
1..20 = set fade speed from fast 1 to very slow 20 + = increase speed+ = decrease speed
|
Wakeup | Start wake up sequence from OFF to stored Dimmer value0..100 = Start wake up sequence from OFF to provided Dimmer value
|
WakeupDuration |
1..3600 = set wake up duration in seconds
|
White |
1..100 = set white channel brightness in single white channel lights (single W or RGBW lights)
|
Width1 |
0..4 = set LED group width (only in Scheme 6 - 12 )
|
Width2 |
0..30 = set width of the seconds clock hand (only in Scheme 5 )
|
Width3 |
0..30 = set width of the minutes clock hand (only in Scheme 5 )
|
Width4 |
0..30 = set width of the hour clock hand (only in Scheme 5 )
|
See also |
SetOption15 - Set PWM controlSetOption16 - Reverse Clock Scheme directionSetOption17 - Show Color string as hex or decimalSetOption20 - Update of Dimmer/Color/CT without turning power onSetOption37 - Color remapping for led channels |
Command | Parameters |
---|---|
RfCode |
Show last sent 24-bit user code1..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 microseconds2..32767 = set high pulse time in microseconds#2..#7FFF = set high pulse time in hexadecimal microseconds
|
RfHost | Show 16-bit host part of user code1 = 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 parameters2 = learn RF data for RfKey<x>3 = unlearn RF data for RfKey<x>4 = save RF data using RfSync, RfLow, RfHigh and last RfCode parameters5 = show default or learned RF data
|
RfLow |
1 = reset low pulse time to 270 microseconds2..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.0 = Set iTead default firmware support and messages (default on restart)1 = set Portisch firmware support and messages166 or AAA655 = start sniffing/reading RF signals disabling iTead default RF handling167 or AAA755 = stop sniffing/reading RF signals enabling iTead default RF handling168 or AAA855 = transmiting iTead default RF protocols169 or AAA955 = start sniffing and learning predefined protocols176 or AAB055 = bucket Transmitting using command 0xB0177 or AAB155 = start Bucket sniffing using command 0xB1192 or AAC000C055 = beep (00C0 is the length of the sound)255 or AAFF55 = show Rf firmware version<value> = hexadecimal data to be sent to RF chip
|
RfSync |
1 = reset start sync pulse time to 8470 microseconds2..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 |
See Linux Infrared Remote Control (LIRC) for more information.
Command | Parameters |
---|---|
IRsend |
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)'.{"Protocol":"<value>","Bits":<value>,"Data":<value>} "Protocol":"NEC"|"SONY"|"RC5"|"RC6"|"DISH"|"JVC"|"PANASONIC"|"SAMSUNG" "Bits":1..32 = required number of data bitsfor 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. Information on Receiving Infrared Data |
IRhvac | Send HVAC IR remote control code as JSON string{"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 |
SetOption29 - Set IR received data formatSetOption58 - IR Raw data in JSON message
|
Command | Parameters |
---|---|
SetOption0 |
Save power state and use after restart (=SaveState)0 = disable1 = enable (default)
|
SetOption1 | Set button multipress mode to0 = allow all button actions (default)1 = restrict to single, double and hold actions
|
SetOption2 | Add units to status messages0 = disabled (default)1 = enabled
|
SetOption3 |
MQTT 0 = disable MQTT1 = enable MQTT (default)
|
SetOption4 | Return MQTT response as0 = RESULT topic (default)1 = %COMMAND% topic
|
SetOption8 | Show temperature in0 = 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 functionality0 = disabled (default)1 = enabled
|
SetOption12 | Configuration saving to flash option0 = allow dynamic flash save slot rotation (default)1 = use fixed eeprom flash slot
|
SetOption13 | Allow immediate action on single button press0 = single, multi-press and hold button actions (default)1 = only single press action for immediate response. Disable by holding for 4 x button hold time (see SetOption32 ).
|
SetOption15 | Set PWM control for LED lights0 = basic PWM control1 = control with Color or Dimmer commands
|
SetOption16 | Set addressable LED Clock scheme parameter0 = clock-wise mode (default)1 = counter-clock-wise mode
|
SetOption17 | Show Color string as0 = hex string (default)1 = comma-separated decimal string
|
SetOption18 | Set status of signal light paired with CO2 sensor0 = disable light (default)1 = enable light
|
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 on0 = disabled (default)1 = enabled
|
SetOption21 | Energy monitoring when power is off0 = disabled (default)1 = enabled
|
SetOption24 | Set pressure units in0 = hPa (default)1 = mmHg
|
SetOption26 | Use indexes even when only one relay is present0 = messages use POWER (default)1 = messages use POWER1
|
SetOption28 | RF received data format0 = hex (default)1 = decimal
|
SetOption29 | IR received data format0 = hex (default)1 = decimal
|
SetOption30 | Enforce Home Assistant autodiscovery as light0 = relays are announced as a switch and PWM as a light (default)1 = both relays and PWM are announced as light
|
SetOption31 | Disable status LED blinking during Wi-Fi and MQTT connection problems.LedPower must be set to 0 for this feature to work.0 = LED blinking enabled (default)1 = LED blinking 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 | Max power limit can be exceeded by number of seconds before the relay is turned off1..250 = set number of seconds (default = 5 )
|
SetOption34 | Set Tuya dimmer device id0..255 = device id
|
SetOption36 | Boot loop defaults restoration control.0 = disable boot loop control1..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:
|
SetOption37 | Color remapping for led channels, also provides an option for allowing independent handling of RGB and white channels.0 = disabled1..119 = according to this table120..127 = invalid (results in same as 0 )128..255 = same as 0..127 but with independent channel handling enabled
|
SetOption51 | View extra pins for ESP8285 in Module Config WARNING Do not use on ESP8266 devices!!! 0 = disable (default)1 = enable
|
SetOption52 | Control display of optional time offset from UTC in JSON messages0 = disable (default)1 = enable
|
SetOption53 | Display hostname and IP address in GUI0 = disable (default)1 = enable
|
SetOption54 | Apply SetOption20 settings to commands from Tuya device0 = disable (default)1 = enable
|
SetOption55 | mDNS service0 = 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 switch to +10dB stronger signal if detected (only visible networks)0 = disable (default)1 = enable
|
SetOption58 |
IR Raw data in JSON message0 = 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 | Enable normal sleep instead of dynamic sleep0 = dynamic sleep (default)1 = sleep
|
SetOption61 | Force local operation when ButtonTopic or SwitchTopic is set.0 = disable (default)1 = enable
|
SetOption62 |
0 = disable (default)1 = don't use retain flag on HOLD messages
|
SetOption63 | Introduced in 6.5.0.90 = Scan relay power feedback state at restart (default)1 = Disable relay power feedback state scanning at restart
|
SetOption64 | Introduced in 6.5.0.110 = sensor name index separator is "-" (default)1 = sensor name index separator is "_"Affects sensor names in tele messages |
Both Hardware and Software Serial Bridge are supported.
Hardware Serial Bridge uses GPIO1 (Tx) and GPIO3 (Rx) pins of your device.
Software Serial Bridge can use any other GPIO to be selected with command GPIO<x> 67
, GPIO<x> 68
or in Module options by setting GPIOs to SerBr Tx
and SerBr Rx
. Expect possible communication errors when additional sensors are configured.
Command | Parameters |
---|---|
Baudrate |
1 = set hardware serial bridge to default baudrate of 115200 bps<value> = set baudrate
|
SBaudrate |
1 = set software serial bridge to default baudrate of 9600 bps<value> = set baudrate
|
SerialDelimiter | Show current serial delimiter |
SerialDelimiter |
<value> = set serial delimiter to escape character code or ASCII character 1..127 = set serial delimiter to decimal ASCII128 = only allow ASCII characters 32 to 127 in response text129..255 = disable serial delimiter |
SerialSend |
<value> = disable serial logging and send text to serial port ending with \n
|
SerialSend2 |
<value> = disable serial logging and send text to serial port
|
SerialSend3 |
<value> = disable serial logging, replace escape characters and send text to serial port
|
SerialSend4 |
<value> = disable serial logging and send binary data to serial port. Data in serial response messages is encoded as hex strings.
|
SerialSend5 |
<value> = disable serial logging and send hex text to serial port. Data in serial response messages is encoded as hex strings.
|
SSerialSend |
<value> = send text to software serial port ending with \n
|
SSerialSend2 |
<value> = send text to software serial port
|
SSerialSend3 |
<value> = replace escape characters and send text to software serial port
|
SSerialSend4 |
<value> = send binary data to software serial port. Data in serial response messages is encoded as hex strings.
|
SSerialSend5 |
<value> = send hex text to software serial port. Data in serial response messages is encoded as hex strings. |
The MP3 Player driver is based on the one from DF Robot. They named it DFPlayer mini. All MP3 Players with the identical Serial Control Command structure can be used.
Command | Parameters |
---|---|
DomoticzIdx<x> |
Show Domoticz Relay idx <x> (x = 1..4 )0 = disable use of Relay idx <x> (default)<value> = Show Relay idx <x>
|
DomoticzKeyIdx<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)
|
DomoticzSensorIdx<x> | Show Domoticz Sensor idx <x> (x = 1..5 )0 = disable use of Sensor idx <x> (default)<value> = Show Sensor idx <x>
|
DomoticzSwitchIdx<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)
|
DomoticzUpdateTimer | Show current update timer value in seconds0 = disable sending interrim Domoticz status (default)1..3600 = send status to Domoticz in defined intervals |
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 |
Command | Parameters |
---|---|
Display | Show current display setting as JSON string |
DisplayAddress |
0..255 = set display module address
|
DisplayDimmer |
0 = switch the display off1..100 = switch the display on0..100 = set display luminosity (only on 8x8 Dot-Matrix displays)
|
DisplayMode |
0..5 = set to display predefined content according to display type
|
DisplayModel | Set model of your display:1 = I2C LCD Display (default addresses 0x27 , 0x3F )2 = SSD1306 OLED 128x32/128x64 (default addresses 0x3C , 0x3D )3 = HT16K33 8x8 Dot-Matrix4 = ILI9341 TFT LCD5 = 2.9inch E-Paper Display
|
DisplayRefresh |
1..7 = set time in seconds to update predefined content when using DisplayMode ≠ 0
|
DisplaySize |
1..4 = set display scale-up size (only for DisplayModel 2 (SSD1306 OLED) and DisplayModel 4 (ILI9341 TFT LCD))
|
DisplayRotate | Set rotation angle0 = 0°1 = 90°2 = 180°3 = 270°
|
DisplayText |
<value> = for a full guide see DisplayText use
|
DisplayCols |
1..44 = set number of display columns
|
DisplayRows |
1..32 = set number of display rows
|
DisplayFont | (reserved command, currently unsupported) |
The display driver is able to display predefined setups of text or user defined text. To display text using DisplayText
set DisplayMode
to 0
(also 1
for DisplayModel 3
(Dot-Matrix)).
Parameter | LCD Display | OLED Display | TFT Display |
---|---|---|---|
0 | DisplayText | DisplayText | DisplayText |
1 | Time/Date | Time/Date | Time/Date |
2 | Local sensors | Local sensors | Local sensors |
3 | MQTT and Time/Date | Local sensors and Time/Date | Local sensors and Time/Date |
4 | Local sensors | MQTT and local sensors | MQTT and local sensors |
5 | MQTT and Time/Date | MQTT, local sensors and Time/Date | MQTT, local sensors and Time/Date |