Commands
Tasmota provides a powerful control interface using commands
Commands can be issued using MQTT, web requests, webUI console and serial
How to use commands~
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
andPower
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
All commands are standard in the form: COMMAND
<INDEX
> DATA
It has only one SPACE
between INDEX
and DATA
. (There is no command in Tasmota that allows the =
sign)
Example
Set networking IP (XXX.XXX.XXX.XXX) addresses using the command IPAddress<x>
: IPAddress1 192.168.1.123
The =
sign (It can be understood as the sign :
) is used only for meaning explanation reference: IPAddress1 = set device IP address
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 topic cmnd/%topic%/<command>
and payload <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.
Warning
The GUI controls do not and can not have all the features and commands implemented. For precise and complete control use Console commands!
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 baud rate
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>
Backlog MqttHost <yourhost>; MqttUser <user>; MqttPassword <password>; Topic <customtopic>; SetOption53 1; PowerRetain on
Backlog Status 1; Power2 on; Delay 20; Power2 off; Status 4
http://<ip>/cm?user=admin&password=joker&cmnd=Backlog%20Power%20Toggle%3BPower1%20off
A Backlog
command without an argument clears a 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. |
Backlog0 | List of commands to be executed without any delay 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) |
Br | Run the code from the console Example to download a file from a remote server into filesystem: br def urlfetch(url,file); if file==nil; import string; file=string.split(url,'/').pop(); end; var wc=webclient(); wc.begin(url); var st=wc.GET(); if st!=200 raise 'connection_error','status: '+str(st) end; st='Fetched '+str(wc.write_file(file)); print(url,st); wc.close(); return st; end; urlfetch('https://raw.githubusercontent.com/arendst/Tasmota/development/tasmota/zigbee/giex_water.zb') |
BrRestart | Restart the Berry VM. read more... |
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 pause2,3,4 = Beep twice with 300 milliseconds duration and 400 milliseconds pause1,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 |
BuzzerActive SetOption67 | iFan03 Buzzer control0 = disable Sonoff iFan03 buzzer (default)1 = enable Sonoff iFan03 buzzer |
BuzzerPwm SetOption111 | 0 = (default)1 = use frequency output for buzzer pin instead of on/off signal, for piezo buzzers |
DevGroupName<x> | 0 = clear device group <x> name and restart<value> = set device group If a device group name is not set for a group, the MQTT group topic ( GroupTopic ) is used (with the device group number appended for device group numbers > 1). |
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), ^ (invert), & (bitwise AND) or | (bitwise OR). If <operand> is not specified, it defaults to 0xffffffff for the invert operator and 1 for other operators.To indicate that an item should not be shared with the group until changed again, prefix the value with N. 3 = Light fade (0 = Off, 1 = On)4 = Light speed (1..40)5 = Light brightness (0..255)6 = Light Scheme 7 = Light fixed color (0 = white (using CT channels), other values according to Color )8 = PWM dimmer low preset (0..255)9 = PWM dimmer high preset (0..255)10 = 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 set129 = No Status Share - DevGroupShare bitmask indicating which items should not be shared until changed.192 = Event - event name and arguments193 = Command - command and arguments224 = 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 RGB light) or hex color value (#RRGGBB, #RRGGBBWW, etc.)Examples: DevGroupSend 5=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=@+ 5=@-10 - set the next fixed color and decrease the brightness by 10.DevGroupSend 128=^ - toggle all the relays.DevGroupSend 224=NFF0000 - set the color to red locally and inform the group that light channel information is not to be shared until changed.DevGroupSend 129=@\|18 - do not share light brightness or channel status until changed. |
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 = Power2 = Light brightness4 = Light fade/speed8 = Light scheme16 = Light color32 = Dimmer settings (presets)64 = Event |
DevGroupStatus<x> | Show the status of device group <x> including a list of the currently known members. |
DevGroupTie<x> | <relay> = Tie the relay to the device group <x>. Only applies when option 88 is enabled. |
FanSpeed | Fan speed control (iFan02/iFan03 only)0 = turn fan OFF1..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 relaysAdd 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 |
Json | Input any command as valid JSON{<Tasmota commands>} example: cmnd/tasmota/json {"HSBColor":"360,100,100","Scheme": 1,"Dimmer": 10,"CT": 220} |
LedMask | Set a bitmask specifying 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 configured0 = 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 state0 = 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 blink3 = show power state and MQTT subscriptions as a LED blink4 = show MQTT publications as a LED blink5 = show power state and MQTT publications as a LED blink6 = show all MQTT messages as a LED blink7 = show power state and MQTT messages as a LED blink8 = 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 |
NoDelay | Delay defined by SetOption34 is omitted for any command in a backlog sequence following immediately after NoDelay This must be used with care, and only for simple commands. Example |
Power0 | Control the power state simultaneously for all power outputs on the device0 / 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 (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 versa3 / 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 |
PowerLock<x> | Control to lock the current power state of a device and prevent further changes. Only PowerOnState and Interlock may change a device in locked state. '0' = unlocked (default) '1' = locked. Setting 'PowerLock0' locks/unlocks ALL devices |
PowerOnState | Control power state when the device is powered up. More information0 / 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>(x = 1..32 )<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 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 and method40..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. Index 0 applies to all switches.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 must come from something else, e.g., PulseTime , MQTT etc)14 = inverted pushon mode (0 = on, switch off must come from something else, e.g., PulseTime , MQTT etc)15 = send only an MQTT message on switch change (tele/tasmota/SENSOR with payload {"Time":"2021-01-01T00:00:00","Switch1":"OFF"} )16 = inverted send only an MQTT message on switch change |
SwitchText<x> | Show current JSON label of Switch<x> (1..8 ). Only SwitchText shows value for all 8 switches<text> - replace default Switch<x> label in JSON messages with a custom text |
WebButton<x> | Change the name of the toggle buttons of the WEB UI. This command accepts spaces in the name |
WebQuery<x> | Command for GET, POST, PUT, and PATCH HTTP queries, complete with Request Headers and request body (when applicable).<url> GET|POST|PUT|PATCH [<headers>] <body> Note: If a response is needed you must compile your own bin with #define USE_WEBSEND_RESPONSE .https: is only supported on ESP32sMore information... |
See also | SetOption1 - Set button multipress modeSetOption11 - 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 actionSetOption40 - Stop detecting any input change on button GPIOSetOption67 - Enable/Disable BuzzerSetOption73 - Decouple buttons from controlling power outputs |
Management~
Command | Parameters |
---|---|
Delay | 2..3600 = set a delay between two backlog commands with 0.1 second increment-1 = increments to the next second tick1 = increments with default intercommand delay of 200ms (changeable with SetOption34) Not recommended for precision timing! |
DeepSleepTime | Time to enter deep sleep mode0 = 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) |
DspLine<1|2> | For POWR3 Elite and THR3 Elite<index>,<unit>,<index>,<unit>,... = select message(s) on display |
DspSpeed | For POWR3 Elite and THR3 Elite2..127 = control message rotation speed on display |
Emulation | 0 = disable emulation (default)1 = enable Belkin WeMo emulation for Alexa2 = 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 index255 / All Show list of all components by name and index |
GPIO | Show current component assignments of the Module's configurable GPIO255 / All Show component assignments for all the devices available GPIO |
GPIO<x> | <component> = assign a component to Gpio<x> |
GPIORead<x> | Perform a digitalRead on each configured GPIO to show input state |
I2CScan0 | ESP32 only Scan both I2C busses and show addresses for found devices |
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 restart0 = 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 messages2 = show error and info messages3 = show error, info and debug messages4 = show error, info and more debug messages |
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) |
OtaUrl | Display current OTA URL1 = Reset OtaUrl to firmware defaulturl = set address for OTA (100 char limit) |
PWM<x> | 0..1023 = set PWM value for channel (NOTE see SetOption15 ) |
PWMFrequency | <frequency> [, <channel>] 1 = reset PWM frequency to 223Hz40..4000 or 2..50000 = set PWM frequency (40Hz to 4kHz on ESP 82xx / 2Hz to 50kHz on ESP32)PWM channel can only be selected on ESP32 As of v8.3.0 the default frequency changed to 977Hz |
PWMRange | 1 = reset maximum PWM range to 1023255..1023 = set maximum PWM range |
Reset | 1 = reset device settings to firmware defaults and restart (see warning below)2 = erase flash, reset device settings to firmware defaults and restart3 = erase System Parameter Area in flash (Wi-Fi calibration and related data) and restart (see warning below)4 = reset device settings 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) 99 = reset device bootcount to zeroFor reset 3 and reset 1 , device must be power-cycled in order to load new Wifi System parameters. |
Restart | 1 = restart device with configuration saved to flash2 = halt system (needs hardware reset or power cycle to restart)3 = (ESP32 only) restart device into safeboot with configuration saved9 = save all changes and go into deepsleep waiting for a reset99 = force restart device without configuration saveFor 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!) |
RtcNtpServer<x> | Use Tasmota NTP server when enabled by define RTC_NTP_SERVER 0 = disabled1 = enabled |
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 and0 = disable serial logging1 = show only error messages2 = show error and info messages (default)3 = show error, info and debug messages4 = show error, info and more debug messagesSerialLog will be disabled automatically 10 minutes after the device reboots. |
SetSensor<x> | Enable / Disable individual sensor driver(x= 1..127 ) |
Sleep | 0 = turn sleep off1..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 information0 = show all status information (1 - 11)1 = show device parameters information2 = show firmware information3 = show logging and telemetry information4 = show memory information5 = show network information6 = show MQTT information7 = show time information8 = show connected sensor information (retained for backwards compatibility)9 = show power thresholds (only on modules with power monitoring)10 = show connected sensor information (replaces 'Status 8')11 = show information equal to TelePeriod state message12 = in case of crash to dump the call stack saved in RT memory |
Status0 | 0 = show all status information in a single line |
SysLog | 0 = disable syslog logging (default)1 = show only error messages2 = show error and info messages3 = show error, info and debug messages4 = show error, info and more debug messages |
Sunrise | 0 = normal, the moment the sun becomes visible/disappears at the horizon (default)1 = civil, when it begins to be and stops being possible to work outside without artificial light2 = nautic, when it begins to be and stops being possible to navigate a ship at sea3 = astronomic, when it stops being / starts being possible to see all of the stars |
Template | Show current Template0 = create template from active modulex = create template from a supported module255 = merge current module and template settings into new template{ ... } = store template in a JSON payloadDoes not activate the template. To activate use Module 0 . |
Time | 0 = enable NTP (default)1 = format JSON message timestamp in ISO format2 = format JSON message timestamp in both ISO and Epoch format3 = format JSON message timestamp in Epoch format4 = 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) Use the Tasmota timezone table to find the commands for your time zone. 0 = reset 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 ) in local timeT = time zone (-780..780 ) (offset from UTC in MINUTES - 780min / 60min=13hrs)Example: TIMEDST 1,1,10,1,2,660 _If time zone is NOT 99, DST is not used (even if displayed) see |
Timezone | -13..+13 = set time zone offset from UTC in hours-13:00..+13:00 = set time zone offset from UTC in hours and minutes99 = use time zone configured with TimeDst and TimeStd Use the Tasmota time zone command helper to find the commands for your time zone and correctly set sunrise and sunset times. |
Ufs | Universal File System commands read more... |
UfsDelete | Delete SD card or Flash FS file if only of them available |
UfsDelete2 | Delete only Flash FS file if available |
UfsFree | Filesystem free size in kb |
UfsRename | Rename SD card or Flash FS file if only of them available |
UfsRename2 | Rename only Flash FS file if available Example: UfsRename2 old,new |
UfsRun | Run file |
UfsSize | Filesystem size in kb |
UfsType | Get filesystem type0 = none1 = SD card2 = Flash file3 = LittleFS |
Upgrade | 1 = download firmware from OtaUrl and restart2 = (ESP32 only) download safeboot firmware based on OtaUrl and restart into safeboot<value> = download firmware from OtaUrl if <value> is higher than device version |
Upload | 1 = download firmware from OtaUrl and restart2 = (ESP32 only) download safeboot firmware based on OtaUrl and restart into safeboot<value> = download firmware from OtaUrl if <value> is higher than device version |
UrlFetch | <address> = download file to filesystem |
WebGetConfig | <url> = pull a configuration .dmp file from a HTTP URLMore information... |
WebLog | 0 = disable web logging1 = show only error messages2 = show error and info messages (default)3 = show error, info and debug messages4 = show error, info and more debug messages |
WebTime | <start_pos>,<end_pos> = show part of date and/or time in WebUI based on "2017-03-07T11:08:02-07:00" |
See also | SetOption68 - PWM Channel controlSetOption76 - DeepSleep disable bootcount incrementing |
Wi-Fi~
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. See FAQ for allowed characters.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 ) addressesIPAddress1 to set device IP address0.0.0.0 to use dynamic IP address (DHCP)XXX.XXX.XXX.XXX to set static IP addressIPAddress2 to set gateway IP addressIPAddress3 to set subnet maskIPAddress4 to set DNS server IP addressIPAddress5 to set Secondary DNS server IP addressfollow IPAddress commands with restart 1 to apply changes |
Password<x> | <x> = 1..2 <value> = set AP<x> Wi-Fi password and restart1 = reset AP<x> Wi-Fi password to firmware default (STA_PASS1 or STA_PASS2 ) and restartPasswords 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 restart1 = reset AP<x> Wi-Fi SSID to firmware default (STA_SSID1 or STA_SSID2 ) and restart0 = Clear AP<x> Wi-Fi SSID to empty and restartSSID are limited to 32 characters. Do not use special characters or white spaces in the SSID |
TCPBaudrate | Requires GPIOs TCP Tx and TCP Rx and can work with hardware or software serial.1200..115200 = set the baudrate for serial (only 8N1 mode) |
TCPConnect | <port> = Port used for connection |
TCPConfig | <value> = standard 3 characters mode such as 8N1, 7E1, etc ... |
TCPStart | Requires GPIOs TCP Tx and TCP Rx and can work with hardware or software serial. Also works with ModBus Bridge<port>, [<ipaddress>] = Start listening to port. If <ipaddress> is defined only allows connections from the provided IPv4 address 0 = Shut down TCP server and disconnect any existing connectionSupports 2 parallel TCP connections, which can be useful if you need a terminal + a specific protocol (like XMODEM). The 3rd connection will disconnect a previous connection. The number of parallel connections is a compile-time option. |
UrlFetch | <url> Download a url (http or https) and store the content in the filesystem ESP32 only |
WebCanvas<x> | Configure Web GUI canvas (background) using using a color, "url" or "gradient" CSS elements. Example: WebCanvas linear-gradient(#F02 7%,#F93,#FF4,#082,#00F,#708 93%) |
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 blue-ish)13 = Restart/Reset/Delete button (Red-ish)14 = Restart/Reset/Delete button hover (Darker red-ish)15 = Save button (Green-ish)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 password0 = disable use of password for web UI1 = reset password to firmware default (WEB_PASSWORD )<value> = set web UI password (32 char limit) for user WEB_USERNAME (Default WEB_USERNAME = admin ) |
WebQuery | Send HTTP GET, POST, PUT, and PATCH Requests<url> <method> [<header1Name:header1Value|header2Name:header2Value...>]<body> <url> = HTTP URL to query<method> = HTTP Request method. Must be GET , POST , PUT , or PATCH [<header1Name:header1Value|header2Name:header2Value...>] (optional) = HTTP Request Headers.<body> (optional) = HTTP Request Body. Ignored for GET requestsExamples WebQuery http://www.mysite.com/api/status GET : Simple HTTP GET RequestWebQuery http://www.mysite.com/api/update POST [Authorization:Bearer xyz|Content-Type:application/json]{"message":"body"} : Sends POST data with an authorization header and Content-TypeWebQuery http://www.mysite.com/api/set PUT {"message":"body"} : Sends PUT request with a body, but no headers |
WebRefresh | Web page refresh1000..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 payloadexample 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 |
WebGetConfig | <url> Download a configuration (*.dmp) from an http URL. The URL can include %id% which will be substituted by the device's MAC address without the dots. A possible usage for ones that compile their own binary is to include the command in USER_BACKLOG for automatic reconfiguration after a reset 1 command. |
WebSensor<x> | Control display of sensor telemetry in the web UI0 = Do not display sensor's telemetry1 = Display sensor's telemetry (default)<x> = number corresponding to the sensor - listed in the sns section of the supported sensor spreadsheet<x> = 3 Energy telemetryIssue a Status 4 to obtain a list of sensor types enabled in the firmware loaded on the device. |
Webserver | 0 = stop web server1 = start web server in user mode2 = start web server in admin mode |
Wifi | 0 = disable Wi-Fi1 = enable Wi-Fi (default) ESP8266 only: 2 = Wi-Fi mode 802.11b3 = Wi-Fi mode 802.11b/g4 = Wi-Fi mode 802.11b/g/nWhen wifi is Off it is always returned On after a restart except for a wake-up from deepsleep. |
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 network4 = retry other AP without rebooting (default)5 = wait until selected AP is available again without rebooting6 = Wi-Fi parameters can only be entered via commands in the serial console7 = set Wi-Fi Manager (web server at 192.168.4.1) as the current configuration tool restricted to reset settings only. This setting is recommended for devices without an external control/reset button. No longer supported 1 = set SmartConfig (Android/iOS) for 3 minutes3 = set WPS for 3 minutes |
WifiPower | set Wi-Fi transmit power level in decibel-milliwatts (dBm) (default = 17 )0 = enable dynamic Wi-Fi power based on RSSI1 = restore default Wi-Fi power |
WiFiScan | 1 = start a network scan. Results will be sent as a JSON payload. Read more... |
WiFiTest<x> | Only available in AP mode. Test whether the Wi-Fi SSId and Password are correct and Tasmota can connect to the network. <x> = 0..3 0 = test credentials, if successful save them in SSID slot 1, restart Tasmota1 = test credentials, if successful save them in SSID slot 1 without restart2 = test credentials, if successful save them in SSID slot 2 without restart3 = test credentials without storing anything persistently and without restartssid+password = credentials used for testing, + symbol is the separator since it is not allowed in an SSId name.* Read more... |
See also | SetOption55 - mDNS service controlSetOption56 - Wi-Fi network scan to select strongest signal on restartSetOption57 - Wi-Fi network re-scan, alternate AP |
FTP Server~
Simple FTP Server for ESP8266 and ESP32 with filesystem. Define as per below and specify credentials you want:
#define USE_FTP
#define USER_FTP "user"
#define PW_FTP "pass"
Command | Parameters |
---|---|
UFSFTP | 0 = FTP off1 = FTP on SD card (when no SD card defaults to FFS)2 = FTP on Flash file System |
Note
It works very stable, but a little slow, about 70 kb per second Enabled by default for the following config (tasmota_configurations.h
): NOT(ESP8266_1M) AND NOT(FIRMWARE_MINIMAL) AND ESP8266_4M
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 topic0 = 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 )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 |
InfoRetain | 0 = disable use of info MQTT retain flag (default)1 = enable MQTT retain flag on message tele/%topic%/INFO<x> |
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 host1 = reset MQTT host to firmware default (MQTT_HOST ) and restart<value> = set MQTT host and restart (do NOT use .local ) |
MqttKeepAlive | 1..100 = set MQTT Keep Alive timer (default = 30 ) |
MqttPassword | 0 = clear MQTT password1 = reset MQTT password to firmware default (MQTT_PASS ) and restart<value> = set MQTT password and restart (min 5 chars) |
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 ) |
MqttTimeout | 1..100 = set MQTT socket timeout (default = 4 ) |
MqttUser | 0 = clear MQTT user name1 = reset MQTT user name to firmware default (MQTT_USER ) and restart<value> = set MQTT user name and restart |
MqttWifiTimeout | 100..20000 = set MQTT Wi-Fi connection timeout in milliseconds (default = 200 ) |
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 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 |
Publish3 | <topic> <payload> = MQTT publish any topic and optional binary payload encoded in Hex (disabled in MINIMAL and SAFEBOOT) |
SensorRetain | 0 = disable use of sensor MQTT retain flag (default)1 = enable MQTT retain flag on message tele/%topic%/SENSOR |
StateRetain | 0 = disable use of state MQTT retain flag (default)1 = enable MQTT retain flag on message tele/%topic%/STATE |
StatusRetain | 0 = disable use of status MQTT retain flag (default)1 = enable MQTT retain flag on message tele/%topic%/STATUS |
StateText<x> | <value> = set state text (<x> = 1..4 )1 = OFF state text2 = ON state text3 = TOGGLE state text4 = HOLD state text |
StatusRetain | 0 = disable use of status MQTT retain flag (default)1 = enable MQTT retain flag on status messages tele/%topic%/STATUS[n] |
SwitchRetain | 0 = disable use of MQTT retain flag (default)1 = enable MQTT retain flag on switch press |
Subscribe | Subscribes to an MQTT topic, append /# if not already present, and assigns an Event name to it.<eventName>, <mqttTopic> [, <key>] = Read more... = list all topics currently subscribed |
Subscribe2 | 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 topic0 = 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. If using MQTT to issue this command, if it is used with the device GroupTopic , the command will not be executed. |
TelePeriod | See current value and force publish STATE and SENSOR message0 = 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 and ButtonTopic and restart.When using MQTT to issue this command, if it is used with the device GroupTopic , the command will not be executed. Topic can not be identical to MqttClient |
Unsubscribe | Unsubscribe from topics subscribed to with Subscribe = unsubscribe all topics<eventName> = unsubscribe from a specific MQTT topic |
See also | SetOption3 - Disable//Enable MQTTSetOption4 - Return MQTT response as RESULT or %COMMAND% topicSetOption10 - Main topic change behaviorSetOption104 - Disable MQTT retained messages (some brokers don't support them)SetOption140 - open clean or persistent MQTT session |
Rules~
Command | Parameters |
---|---|
Add<x> | <value> = add value to Var<x> (example) |
CalcRes | Current calculation resolution0..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) 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>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 secondsRuleTimer0 0 = stops and clear all timer simultaneously |
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 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 |
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 |
Sunrise | Sunrise/Sunset type0 = Normal (default)1 = Civil2 = Nautical3 = Astronomicalintroduced in version 12.1.1.5 |
Timers | Timers control0 = disable all timers1 = enable all timers2 = 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<x> | ADC analog input tuning parameters. On ESP32 x is channel 1..8 <sensor>, <param1>, <param2>, <param3>, <param4> complete <sensor> values listed here... |
Altitude | -30000..30000 = altitude in meters |
AmpRes | Current sensor resolution0..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..4294967295 = preset Counter<x>-1..-2147483647 = subtracts value from Counter<x>+1..+2147483647 = add value to Counter<x>In order to define and use a Counter, you must configure one of the free device GPIO as Counter<x> . Counter <x> module configuration is using internal pull-up resistor while Counter_n <x> does not. **_.A counter event is triggered on the falling edge. By setting SetOption159 to 1 , the counter reacts to both falling and rising edges. |
CounterDebounce | 0 = turn off counter debounce1..32000 = set counter debounce time in milliseconds. |
CounterDebounceLow | 0 = turn off counter debounce low1..32000 = set additonal debounce time for falling edge in milliseconds. CounterDebounceLow is independent of CounterDebounce and is also checked before CounterDebounce. 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 successive valid falling edges equal to 500ms. |
CounterDebounceHigh | 0 = turn off counter debounce high1..32000 = set additonal debounce time for rising edge in milliseconds. CounterDebounceHigh is independent of CounterDebounce and is also checked before CounterDebounce. 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 successive valid falling edges equal to 500ms. |
CounterType<x> | 0 = set Counter<x> as pulse Counter1 = set Counter<x> as pulse Timer |
DhtDelay<x> | <low_delay>,<high_delay> = set delay for sensor <x>1 = reset sensor <x> to default |
Driver15<x> | [TBC] for PCA9685 |
Driver44<x> | [TBC] for Wemos motors <command>,<motor>,<direction>{,<duty>} |
Driver64<x> | [TBC] for PCA9632 |
DS18Alias | List DS18x20 sensors with full IDs<sensor ID>,<n> = set sensor alias (number)<sensor ID>,0 = remove alias |
GlobalHum | 0.0..100.0 = Set global Humidity for some Sensors that uses global Humidity. |
GlobalHum2 | 1..250 = select Global Humidity source indexed from teleperiod occurrence data. |
GlobalPress2 | 1..250 = select Global Pressure source indexed from teleperiod occurrence data. |
GlobalTemp | -50.0..100.0 = Set global Temperature for some Sensors that uses global temperature. |
GlobalTemp2 | 1..250 = select Global Temperature source indexed from teleperiod occurrence data. |
HumOffset | -10.0..10.0 = Set calibration offset value for reported humidity telemetryThis setting affects all humidity sensors on the device. |
HumRes | Humidity sensor resolution0..3 = maximum number of decimal places |
PressRes | Pressure sensor resolution0..3 = maximum number of decimal places |
Sensor12 | ADS1115 mode selection (default S0 ). Note that Vdd (2.0-5.5v) must be >= analog voltage inputs.D0 .. D5 = differential modesS0 .. S5 = single-ended modes0 = +/- 6.144v1 = +/- 4.096v2 = +/- 2.048v3 = +/- 1.024v4 = +/- 0.512v5 = +/- 0.256v |
Sensor13 | INA219 and ISL28022 low voltage current sensor configuration There are 3 ways of configuring the INA219s 1) Standard 0.1 ohm resistor (same setting applies to all INA219s): 0 ,1 ,2 = set INA219 calibration to max 32V and 2AIn all cases, ISL28022 is set to 60V mode2) Custom shunt resistor (legacy, same setting applies to all INA219) 10 ..255 : Define custom shunt resistor encoded as a decimal number RRM such that Rshunt = RR * 10^M milliohmDo 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)3) Fully flexible custom shunt (any value, independant setting per INA219)0, rshunt1, rhunt2, rshunt3, rshunt4 = set each INA219 with it's own shunt resistor in Ohm (floating point). Exemple:Sensor13 0, 0.1, 0.0005, 1.0, 0.0001 configure 1st INA219 with 0.1 Ohm, 2nd with 0.5 mOhm, 3rd with 1 Ohm, 4th with 0.1 mOhmIMPORTANT: This configuration mode is NOT saved to flash and requires a boot-rule to initialize the driver at each boot: Rule1 on system#init do Sensor13 Sensor13 0, 0.1, 0.0005, 1.0, 0.0001 endon Note: The driver seamlessly detect INA219/ISL28022 and adapt configuration and readings accordingly. The component label in Web GUI and SENSOR message will automatically match the detected part.It is possible to mix INA219 and ISL28022 as far as addresses do not conflicts. Shunt resistor setting applies to all INA219/ISL28022. |
Sensor15 | Automatic Baseline Correction for MH-Z19B CO2 sensor0 = disable1 = enable (default)2 = 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 CO210000 = sets measurement range to 10000ppm CO2 |
Sensor18 | PMSx003 particle dust sensor control polling interval to extend lifetime0..59 = active mode (continuous sensor readings)60..65535 - passive mode (read sensor every x seconds) |
Sensor20 | Nova Fitness SDS011 dust sensor.1..255 = number of seconds before TelePeriod to poll the sensor |
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 |
Sensor29 | MCP23008 / MCP23017 I2C GPIO Expander configuration. Read more...Reset<x> = reset all pinsx = 1..6 1 = INPUT mode, no reporting, no pull-up2 = INPUT mode, report on CHANGE, pull-up enabled3 = INPUT mode, report on LOW, pull-up enabled4 = INPUT mode, report on HIGH, pull-up enabled5 = 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. Note that without setting WeightRes the default resolution is to the nearest 1kg. Set WeightRes 3 to read fractions of a kilogram. This applies to the JSON payload too.1 = 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 scale7 = save current weight to be used as start weight on restart (deprecated since v11.0.0.7)8 0/1 0 = disable JSON message on weight change over 4 grams1 = 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 grams101-255 = set delta to 110-1650 grams (10g increments) |
Sensor36 | See MGC3130 |
Sensor40 | See PN532 |
Sensor44 | See SPS30 |
Sensor50 | PAJ7620 gesture sensor0 = sensor muted, no readings in Tasmota1 = gesture mode2 = proximity mode3 = corner mode4 = PIN mode5 = cursor mode |
Sensor52 | iBeacon driver with HM10 or HM17/HM161 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 lists AT+<command> = send native AT commands |
Sensor53 | Smart Meter Interfacer = 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 moded<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.l<x> = monitor the serial activity at a GPIO with a connected LED. x = GPIO of the LED.l255 = disable monitoring (default)m<x> = serial meter number (x = 1..5 ) to be monitoredm0 = monitor all serial meters (default) |
Sensor54 | INA226 Current Sensor1 = rescan for devices and return the number found, when full scale current has been per channel.2 = save the configuration and restart10 = return channel 1 shunt resistance, full scale current and full scale voltage11 <resistance> = set INA226 channel 1 shunt 12 <current> = set INA226 channel 1 full scale 13 <voltage> = set INA226 channel 1 full scale 20 = return channel 2 shunt resistance and full scale current21 <resistance> = set INA226 channel 2 shunt 22 <current> = set INA226 channel 2 full scale 23 <voltage> = set INA226 channel 2 full scale 30 = return channel 3 shunt resistance and full scale current31 <resistance> = set INA226 channel 1 shunt 32 <current> = set INA226 channel 3 full scale 33 <voltage> = set INA226 channel 3 full scale 40 = return channel 4 shunt resistance and full scale current41 <resistance> = set INA226 channel 1 shunt 42 <current> = set INA226 channel 4 full scale 43 <voltage> = set INA226 channel 4 full scale |
Sensor60 | GPS0 = write to all available sectors, then restart and overwrite the older ones1 = write to all available sectors, then restart and overwrite the older ones2 = filter out horizontal drift noise3 = turn off noise filter4 = start recording, new data will be appended5 = start new recording, old data will lost6 = stop recording, download link will be visible in webUI7 = send mqtt on new position + TELE (consider to set TELE to a very high value)8 = only TELE message9 = start NTP server10 = deactivate NTP server11 = force update of Tasmota-system-UTC with every new GPS-time-message12 = do not update of Tasmota-system-UTC with every new GPS-time-message13 = set latitude and longitude in settings14 = open virtual serial port over TCP, usable for u-center15 = pause virtual serial port over TCP |
Sensor68 | WindMeter sensor - Analog (pulse count) anemometer1, <value> = set radius length in millimeters (measured from center to the edge of one of the cups) 0..65535 (default = 61 mm)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 ) |
Sensor78 | EZO sensors - commands Ascii commands are sent directly to the sensor as-is. See your specific EZO device datasheet for the list of commands available. By default, the specific command is sent to all EZO devices that are found. If using multiple EZO sensors, and the command should be issued to a single device, the index can be specified as part of the command: Sensor78-# where # represent the index of the device (ex: Sensor78-1 i). For more details please see Tasmota's support for EZO devices. |
Sensor80 | Set antenna gain for MFRC522 RFID Reader. Sensor80 1 <0..7> 0 18dB 1 23dB 2 18dB 3 23dB 4 33dB 5 38dB 6 43dB 7 48dB |
Sensor90 | Send commands to Hydreon RG-15 Rain SensorA Reads accumulation dataR Read all available dataK Restart the rain sensorP Set to polling only mode (not supported)C Set to continuous mode, where data is sent when accumulation changes (default)H Force high resolutionL Force low resolutionI Force imperial (not supported)M Force metric (default)S Revert to jumper configured valuesO Reset the accumulation counter |
Sensor95 | CM110x automatic baseline correction, 1=enable (default), 0=disable |
Sensor96 | USE_FLOWRATEMETER settings |
Sensor100 | INA3221 3-channel Voltage and Current Sensor<deviceId> : with <deviceId> =1..4 : display current shunt resistor values in ohm for the given device index (up to 4x INA3221 devices)<device>, <shuntChan1>, <shuntChan2>, <shuntChan3> : set the shunt resistor values in ohm for the 3 channels of the given device index. A value of 0 means the channel is disabled and won't be displayed in the UI. A disabled channel is reported with value null in the SENSOR JSONExemple: Sensor100 1, 0.1, 0.1, 0.1 set all 3 shunts to the value 0.1 ohms and enable all 3 channels on the 1st INA3221 device.WARNING: Shunt values are NOT saved in flash settings. They must be re-configured at boot using autoexec.bat (if there is a filesystem) or a boot rule such as:Rule1 on system#init do Sensor100 1, 0.1, 0.1, 0.1 endon By defining INA3221_CALC_CHARGE_AH / INA3221_CALC_ENERGY_WH the driver adds a estimation of charge/energy in Ah and Wh to the output, To reset the energie calculation disable the according INA3221 chanel by setting the shunt to 0.0 and enable it againFor example : sensor100 1,0,0.1,0.2 (or sensor100 1,,, ) and sensor100 1,0.1,0.1,0.2 will reset channel 1 of device 1By defining INA3221_SUPPLY_SIDE the driver adds the measured shunt-voltage to the bus-voltage for the cannel with a negativ shunt-value (shunt <0) thus showing the values of the supply side (IN+) otherwise (shunt >0) the load-side (IN-) is shown.e.g. sensor100 1,-0.1,0.1,-0.2 shows the supply-voltage of channel 1 and 3.additionaly the bits set (bit 0,1,2) enable the scanning of the voltage in the according channel thus you influence the scanning of the INA3221 chip (bus voltage, shunt-voltage or both) e.g. INA3221_SUPPLY_SIDE 0x0005 enables voltage-measurment of channel 1 and 3 for the device 1 |
SpeedUnit | TX20/TX23 and WindMeter anemometer speed unit1 = m/s2 = km/h3 = kn4 = mph5 = ft/s6 = yd/s |
TempRes | Temperature sensor resolution0..3 = maximum number of decimal places |
TempOffset | -12.6..12.6 = Set calibration offset value for reported temperature telemetryThis setting affects all temperature sensors on the device. |
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 (the default is 0) |
Wiper | DS3502 contains a single potentiometer whose wiper position is controlled by the value in the Wiper Register (WR) represented by x = 0..3 POTI 0..127 = set POTI for wiper xSTATUS = get wiper position for wiper xRESET = reset settings for wiper x |
See also | SetOption8 - Show temperature in Celsius (default) or FahrenheitSetOption18 - Set status of signal light paired with CO2 sensorSetOption24 - Set pressure unitsSetOption159 - Enable counting for Counter on both rising and falling edge |
Power Monitoring~
Command | Parameters |
---|---|
AmpRes | Current sensor resolution0..3 = maximum number of decimal places |
BatteryPercentage | 0..101 (default = 101 = disabled)Set the current battery level as a percentage reported by STATE and STATUS11. This can be used to monitor e.g. in `Home Automation" the battery lifetime. The intended use-case is to generate a rule that calculates the percentage based on e.g. A0 value or something else. |
CurrentCal | 1000..32000 (default = 3500 )Set calibration offset ry Allows finer calibration for 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<x> | <value> = calibrate current to target value in mAx = 1 or 2 indicating phase |
EnergyExport<x> | Export energy values<x> = meter number (default is 1 ) |
EnergyExportActive<x> | ADE7880 only! Set/reset energy active values<x> = meter number (default is 1 ) |
EnergyReset<x> | x = 1..5 1 <value>{,<time>} = ((p)re)set values2 <value>{,<time>} = ((p)re)set values for Yesterday3 <value>{,<time>} = ((p)re)set values for Total<value> = 0..42949672 in watt-hours (Wh)<time> = 0..4294967295 set StartTotalTime time as epoch value4 <standard> {,<off-peak> } = ((p)re)set tariff period values for Totals5 <standard> {,<off-peak> } = ((p)re)set tariff period values for ExportedWarning: After v10, this command is removed. As a replacement use EnergyToday 0 , EnergyTotal 0 and EnergyYesterday 0 |
EnergyRes | Energy sensor resolution0..5 = maximum number of decimal places |
EnergyToday<x> | Get or set Energy Today values, parameters:<x> = meter number (default is 1 )<value> = set new value in Wh, 0 for reset<time> = 0..4294967295 set StartTotalTime time as epoch value (optional 2nd parameter) |
EnergyTotal<x> | Get or set Energy Total values, parameters:<x> = meter number (default is 1 )<value> = set new value in Wh, 0 for reset<time> = 0..4294967295 set StartTotalTime time as epoch value (optional 2nd parameter)The new value represents start of day, and output for total includes the today value. |
EnergyUsage | Set energy usage values, parameters:<value> = set energy usage value, 0 for reset |
EnergyYesterday<x> | Get or set Energy Yesterday values, parameters:<x> = meter number (default is 1 )<value> = set new value in Wh, 0 for reset<time> = 0..4294967295 set StartTotalTime time as epoch value (optional 2nd parameter) |
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 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 module1..3 = the last octet of the PZEM-004T serial address<address> = the last octet of the address on MODBUS PZEM energy monitoring modulesPrior 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 readingAllows finer calibration for energy monitoring devices |
PowerDelta<x> | Set maximum delta of phase aPowerDelta will not report when the power turns off. 0 = disable reporting on power change1..100 = set reporting on percentage power change to send an MQTT telemetry message101..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<x> | <value> = calibrate power to a target value in wattsx = 1 or 2 indicating phase |
Status | 8 = show power usage9 = show power thresholds |
Tariff<x> | P1 Smart Meter tariff configuration x = 1, 2, 9 1 STD,DST Start times for off-peak tariff2 STD,DST End times for off-peak tariff9 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 reading1000..32000 (default = 1950 )Allows finer calibration for 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<x> | <value> = calibrate voltage to a target value in Vx = 1 or 2 indicating phase |
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 numberSetOption39 - Control handling of invalid power measurementsSetOption72 - Set reference used for total energySetOption129 - Enable separate energy meters |
Light~
Command | Parameters |
---|---|
AlexaCTRange SetOption82 | Reduce the CT range from 153..500 to 200..380 to accommodate with Alexa range0 = CT ranges from 153 to 500 (default)1 = CT ranges from 200 to 380 (although you can still set in from 153 to 500) |
Channel<x> | 0..100 = set PWM channel dimmer value from 0 to 100% + = increase by 10- = decrease by 10When 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 |
ChannelRemap 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 = disable1..119 = according to this table120..127 = invalid (results in same as 0 )128..255 = same as 0..127 but with independent channel handling enabled |
Color<x> | x = 1..6 1 = Set color2 = Set color adjusted to current Dimmer value3 = 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 green, but would omit to update blue or any white channel. |
Set color to1 = red2 = green3 = blue4 = orange5 = light green6 = light blue7 = amber8 = cyan9 = purple10 = yellow11 = pink12 = 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 |
CTRange | Specify CT range of the bulb. The slider will still allow to set CT from 153 to 500, but the rendering will be done within the new range.<ct_min>,<ct_max> = set color temperature from 153 (cold) to 500 (warm) for CT lights default = 153,500 This settings is not persisted in flash |
Dimmer | 0..100 = set dimmer value from 0 to 100%+ = increase by DimmerStep value (default = 10 )- = decrease by DimmerStep value (default =10 )Use of these parameters with Fade on enables dimmer level "move down," "move up," and "stop" commands (#11269)< = decrease to 1> = increase to 100! = stop any dimmer fade in progress at current dimmer level |
Dimmer<x> | Commands available only when SetOption37 >= 128 (#6819)<value> same as in Dimmer Dimmer0 <value> = set dimming for all channelsDimmer1 <value> = set dimming for RGB channelsDimmer2 <value> = set dimming for white channelsDimmer4 <value> = allow retaining brightness ratio between white and color channels when setting dimmer for linked lights |
DimmerRange | Change dimming range. <dimmerMin>,<dimmerMax> = set the internal dimming range from minimum to maximum value (0..255, 0..255)Does not change Dimmer command behavior |
DimmerStep | 1..50 - set Dimmer +/- step value. (default =10 ) |
Fade | 0 = do not use fade (default) 1 = use fadeSee 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 |
L1MusicSync | Only for Sonoff L1 (Lite) and Spider Z LED controllers<power,sensitivity,speed> power = 0 - off, 1 - on, 2 - togglesensitivity = 1..10 (default: 5 )speed = 1..100 (default: 50 )Can be used with only power argument |
Led<x> | #RRGGBB = set hex color value where <x> is the pixel number of the LED. A blank-delimited list of colors sets multiple successive pixels.(applies only to addressable LEDs) |
LedPwmMode<x> | Control status LED light mode (x = 0..4 )0 = digital on/off mode (default)1 = PWM mode2 = 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) |
MultiPWM SetOption68 | Multi-channel PWM instead of a single light0 = 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 |
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. The palette setting is not saved to flash. Use a boot-time rule such as ON System#Boot DO Palette xxxxx ENDON to set it back at each restart. |
Pixels | 1..512 = set amount of pixels in strip or ring and reset Rotation (applies only to addressable LEDs) |
PowerOnFade SetOption91 | Enable Fade at boot and power on. By default fading is not enabled at boot because of stuttering caused by wi-fi connection0 = don't Fade at startup (default) 1 = Fade at startup |
PWMCT 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 PWMSee PWM CT in Lights |
RGBWWTable | Control light intensity of unbalanced PWM channelsPWM1,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 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 FadeUse <value>, <startcolor> if you want to set the starting color of selected schemeNote: If using ESP32, or any build with the DDP feature ( USE_NETWORK_LIGHT_SCHEMES ), enabling DDP is Scheme 5 for plain RGB and Scheme 16 for addressable leds. Then the normal neopixel scheme numbers become 6-15 instead of 5-14: |
Following schemes are usable only with addressable LEDs, e.g. WS281X, Neopixel5 = clock mode (example)6 = candlelight pattern7 = RGB pattern8 = Christmas pattern9 = Hanukkah pattern10 = Kwanzaa pattern11 = rainbow pattern12 = fire pattern13 = stairs pattern14 = clear (used to control from Berry) | |
Speed | 1..40 = set fade speed from fast 1 to very slow 40 + = increase speed- = decrease speedThe 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%. |
Speed2 | Same as Speed but settings aren't stored.! = can be used to cancel the use of a preceding Speed2 command. Use example... |
StepPixels | (Scheme 5 only)<value> = define the number of LEDs in each step |
VirtualCT | Precisely specify color rendering of the bulb for Color Temperature. Needs SetOption106 1 and works for 3, 4 or 5 channel lights{"<minct>":"<color1>","midct":"<color2>","maxct":"<color3"} Example: VirtualCT {"200":"FFFFFF0000","400":"000000FF00"} The first and last CT values indicate the min and max CT and are equivalent to CTRange . Read more...This settings is not persisted in flash |
Wakeup | Start wake up sequence from OFF to stored Dimmer value0..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) |
WhiteBlend SetOption105 | White Blend Mode0 = disable (default) 1 = enable |
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 , SetOption68 and SetOption107 |
ArtNet specific commands:
Command | Description |
---|---|
ArtNetConfig <json> | Example ArtNetConfig {"Rows":5, "Cols":5, "Offset":0, "Alternate":false, "Universe":0} There are two modes for ArtNet configuration: simple light or adressable leds. In simple Light mode, "cols" is zero. Only "Universe" needs to be specified.Example: ArtNetConfig {"Cols":0, "Universe":0} In Adressable Light mode, all parameters can be specified. Rows : number of rows of display, 1 for light mode or single stripCols : number of columns of the display, or length of the strip, or 0 for single light"Offset" : number of adressable leds to skipAlternate : (true/false) indicates that every other line is reversed (common in large matrix)Universe : starting DMX Universe number for the first line (0 based so you may need to substract 1 from software) |
ArtNet | Start , On , or 1 : Start ArtNet mode, listen to UDP port 6454 and force SetOption148 1 for autorun at restartStop , Off or 0 : Stop ArtNet mode, close UDP port and force SetOption148 0 to disable ArtNet mode at restart |
See also | SetOption148 |
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 set192 = Event - event name and arguments193 = Command - command and arguments224 = 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 RGB 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 = Power2 = Light brightness4 = Light fade/speed8 = Light scheme16 = Light color32 = Dimmer settings (presets)64 = Event |
DevGroupStatus<x> | Show the status of device group <x> including a list of the currently known members. |
See also | SetOption85 - to enable Device Groups |
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 (see note below)1 = enable (default)Note: Power state means on/off state of eg. relays or lights. Other parameters like color, color temperature, brightness, dimmer, etc. are still saved when changed. To disable saving other parameters see SaveData . |
SetOption1 | Set button multipress mode to0 = allow all button actions (default)1 = restrict to single to penta press and hold actions (i.e., disable inadvertent reset due to long press) |
SetOption2 | Set display of global temperature/humidity/pressure info to JSON sensor message0 = disable (default)1 = enable |
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 = disable (default)1 = enable |
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 (i.e., disable multipress detection). 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 (default) |
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 lightThe 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 | Tasmota discovery protocol used in Home Assistant Tasmota integration0 = enable Tasmota discovery (default)1 = use deprecated MQTT discovery (only with #define USE_HOME_ASSISTANT , does not exist in release binaries) |
SetOption20 | Update of Dimmer/Color/CT without turning power on0 = disable (default)1 = enable |
SetOption21 | Energy monitoring when power is off0 = disable (default)1 = enable |
SetOption24 | Set pressure units 0 = 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 auto-discovery as light0 = 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 work0 = 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). There is no firmware reset on using the HOLD action with shutterbuttons. |
SetOption33 | Number of times to retry applying power after the power has been switched off because of exceeding the maximum power limit1..250 = set number of retries (default = 5 ) |
SetOption34 | 0..255 = set Backlog inter-command delay in milliseconds (default = 200 ) |
SetOption35 | 0..255 = skip number of received messages in Serial Bridge (default = 0 ) |
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:
|
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 restart1..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<x> = Force sending gratuitous ARP (Wi-Fi keep alive) every <x> seconds (default = 60 )If <x> is below 100 it is the number of seconds, if <x> is above 100 , it is the number of minutes after subtracting 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 | 0..255 = to control Rotary step. Details #10407 |
SetOption44 | 1..100 = set base tolerance percentage for matching incoming IR messages (default = 25 ) |
SetOption45 | 1..250 = change bi-stable latching relay pulse length in milliseconds (default = 40 ) |
SetOption46 | 0..255 = power on delay before initializing, in 10 millisecond units, up to 2.55 seconds. |
SetOption47 | 3..255 = delay power on relay state in seconds to reduce power surge1 = delays until network connected2 = delays until MQTT connected |
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 payloads0 = 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 alternate to +10dB stronger signal if detected (only visible networks)0 = disable1 = enable (default) |
SetOption58 | IR Raw data in JSON payload0 = 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 mode0 = 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 messages0 = 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 separator0 = 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 detection0 = enabled (default)1 = disabled |
SetOption66 | Set publishing TuyaReceived to MQTT0 = disable publishing TuyaReceived over MQTT (default)1 = enable publishing TuyaReceived over MQTT |
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 limit1 = enable Tuya dimmer 10% lower limit (default) |
SetOption71 | Set DDS238 Modbus register for active energy0 = 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 | Detach buttons from relays and send multi-press and hold MQTT messages instead0 = disable (default)1 = enable Example message: {"Button1":{"Action":"SINGLE"}} |
SetOption74 | Enable internal pullup for single DS18x20 sensor 0 = disable (default)1 = internal pullup enabled This only affects ESP8266 ESP32 always needs external pullup |
SetOption75 | Set grouptopic behaviour (#6779)0 = GroupTopic using FullTopic replacing %topic% (default)1 = GroupTopic is cmnd/%grouptopic%/ |
SetOption76 | Boot count incrementing when DeepSleep is enabled (#6930)0 = disable boot count incrementing (default)1 = enable boot count incrementing |
SetOption77 | Do not power off if a slider is moved to far left0 = disable (default)1 = enable |
SetOption78 | OTA compatibility check0 = enabled (default)1 = disabled |
SetOption79 | Reset counters at TelePeriod time0 = disable (default)1 = enable |
SetOption80 | Blinds and shutters support0 = disable blinds and shutters support (default)1 = enable blinds and shutters support |
SetOption81 | Set PCF8574 component behavior for all ports0 = set as regular state (default)1 = set as inverted state |
SetOption82 | Reduce the CT range from 153..500 to 200.380 to accommodate with Alexa range0 = 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 commands0 = JSON key as short address1 = JSON key as friendly nameSee 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 shadowNote: if the Topic contains '/' they are replaced with '_' |
SetOption85 | Device group support0 = disable (default)1 = enable |
SetOption86 | PWM Dimmer only! Turn brightness LED's off 5 seconds after last change0 = disable (default)1 = enable |
SetOption87 | PWM Dimmer only! Turn red LED on when powered off0 = disable (default)1 = enable |
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 = disable (default)1 = enable |
SetOption90 | Disable sending MQTT with non-JSON messages0 = send all MQTT (default) 1 = send only MQTT messages with JSON payloads |
SetOption93 | Control caching of compressed rules0 = 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 support0 = Use MAX31855 protocol (default) 1 = Use simpler MAX6675 protocol instead of MAX31855 |
SetOption97 | Set TuyaMCU serial baudrate0 = 9600 bps (default) 1 = 115200 bps |
SetOption98 | Provide rotary dimmer rule triggers0 = disable (default) 1 = enable |
SetOption99 | Enable zero-cross capable AC dimmer0 = no zero-cross AC dimmer connected (default) 1 = zero-cross AC dimmer attached. Focus on raising edge and sync frequency |
SetOption101 | Add Zigbee source endpoint as suffix to attributes0 = disable (default) 1 = enablee.g. Power3 instead of Power if sent from endpoint 3 . |
SetOption103 | Set TLS mode0 = disable TLS1 = enable TLS |
SetOption104 | Disable MQTT retained messages (some brokers don't support them)0 = retained messages enabled (default) 1 = retained messages disabled |
SetOption107 | Set virtual CT channel light type (experimental feature)0 = Warm White 1 = Cold White |
SetOption108 | 0 = Teleinfo telemetry only sent into Energy MQTT JSON (default)1 = Each Teleinfo received frame is also sent by MQTT (mainly to be able to display real time data) |
SetOption109 | 0 = (default)1 = force gen1 Alexa mode, for Echo Dot 2nd gen devices only |
SetOption113 | works only with rotary dial button0 = (default)1 = set dimmer low on rotary dial after power off |
SetOption114 | Detach switches from relays and send MQTT messages instead0 = disable (default)1 = enableExample result: {"Switch1":{"Action":"ON"}} |
SetOption115 | ESP32 MI32 BLE0 = disable (default)1 = enable |
SetOption116 | Zigbee Auto-query of lights and devices shortly after a light command is sent.1 = disableDelay is 200ms for On/Off, 1050ms (1s) for lights levels, 10s for shutters. |
SetOption117 | Run fade at fixed duration instead of fixed slew rate1 = enable |
SetOption123 | Wiegand tag number output in hex format1 = enable |
SetOption124 | Wiegand key pad stroke format0 = one tag (ending char # or ) *(default)1 = one key |
SetOption125 | ZbBridge only Hide bridge topic from zigbee topic (use with SetOption89 )1 = enable |
SetOption126 | Enable arithmetic mean over teleperiod for JSON temperature for DS18x20 sensors1 = enable |
SetOption127 | Force Wi-Fi in no-sleep mode even if Sleep 0 is not enabled1 = enable |
SetOption128 | Web referrer check for HTTP API commands0 = disabled1 = enabled (default) |
SetOption129 | Enable split total energy results #130301 = enable |
SetOption130 | Add heap size (and ESP32 fragmentation) to logging timestamp for debugging1 = enable |
SetOption131 | (Tuya) Allow save dimmer = 0 received by MCU1 = enable |
SetOption132 | When MQTT TLS is enabled, forces fingerprint validation of server identity instead of checking the identify against a certificate authority (CA)1 = Fingerprint, 0 = CA |
SetOption134 | PWM force phases to be synced (ESP32 only). On ESP32, PWM phases are by default distributed one after the other to minimize effect on power supply. This is also mandatory for H-Bridge devices. 0 = phases are automatically aligned one after the other, 1 = phases all start at the same time (default behavior for ESP8266). |
SetOption135 | Disables Display Splash screen (for all drivers, universal & LVGL)1 = Splash screen disabled, 0 = Splash screen displayed |
SetOption136 | 1 = Disable single sensor reports from Tuya devices while keeping teleperiod reports0 = Publish an immediate tele/%topic%/SENSOR TuyaSNS message at each reception of individual value (default) |
SetOption137 | 1 = following Tuya responses will not be forwarded to MQTT when SetOption66 is enabled- heartbeat every 10 seconds, TUYA_CMD_HEARTBEAT - the WiFi state during start-up and Wi-Fi events, TUYA_CMD_WIFI_STATE - the local time info query of the MCU every minute, TUYA_CMD_SET_TIME - the received update package info from MCU during firmware update of Tuya MCU, TUYA_CMD_UPGRADE_PACKAGE |
SetOption138 | Align GUI energy multicolumn layout in webUI0 = left/center (default)1 = right |
SetOption139 | When SetOption24 1 switch pressure unit to:0 = mmHg (default)1 = inHg |
SetOption140 | 0 = open clean MQTT session (default)1 = open persistent MQTT session |
SetOption141 | 1 = disable display of model name in webUI header |
SetOption142 | 1 = wait 1 second for WiFi connection solving some FRITZ!Box modem issues |
SetOption143 | 1 = disables ZigBee auto-probing and configure back attribute reporting |
SetOption144 | 1 = include a timestamp in ZbReceived messages |
SetOption146 | 1 = enable display of ESP32 internal temperature |
SetOption147 | 1 = disable publish of SSerialReceived/IrReceived MQTT messages, you must use event trigger rules instead |
SetOption148 | 1 = enable autorun of ArtNet mode at start. If for any reason listening to UDP port fails, this mode is disabled |
SetOption149 | 1 = DNS try to resolved the address as IPv6 first and IPv4 if none is found. Default behavior is to look for IPv4 address first. See IPv6 |
SetOption150 | 1 = Force no voltage/frequency common in Energy driver (to be detailed) |
SetOption151 | 1 = Matter support enabled, 0 = Matter support disabled which frees so memory |
SetOption152 | 1 = Switch between two (0) or one (1) pin bistable relay control (Power, to be detailed) |
SetOption153 | 1 = Disable running (Berry) autoexec.be on restart |
SetOption154 | 1 = Handle Berry led using RMT0 as additional WS2812 scheme |
SetOption155 | 1 = (ZCDimmer) Enable rare falling Edge dimmer instead of leading edge |
SetOption156 | 1 = (Sen5x) Run in passive mode when there is another I2C master |
SetOption157 | 0 = hide NeoPool sensitive data (default)1 = show NeoPool sensitive data |
SetOption158 | 0 = Disable publish ModbusReceived MQTT messages (1 ), in this case you must use event trigger rules instead |
SetOption159 | Set counting for Counter on falling edge or rising and falling edge0 = Counter only reacts on falling edge (default)1 = Counter reacts on falling and rising edge |
SetOption160 | 1 = Disable generate moving event by sensor report - use LD2410 out pin for events |
TuyaMCU~
Command | Parameters |
---|---|
TuyaEnum<x> | Send value to an Enum (fnId 61, 62, 63 and 64) where<x> = number of Enum<value> = must be from a range set in TuyaEnumList |
TuyaEnumList | Declare the range an Enum (fnId 61, 62, 63 and 64) must respect (0 is always the first item in range)<enum>,<range> = <enum> is Enum<x> declared using TuyaMCU and <range> can be 0..31 Without payload returns the configuration of all the Enums |
TuyaMCU | Used to map functions in TuyaMCU <fnId>,<dpId> = read more...<fnId>,0 = remove setting for fnId |
TuyaRGB | Set correct format of color reporting by tuyaMCU 0 - Type 1, 12 characters uppercase. Example: 00DF00DC0244 (default)1 - Type 1, 12 characters lowercase. Example: 008003e8037a 2 - Type 2, 14 characters uppercase. Example: 00FF00FFFF6464 3 - Type 2, 14 characters lowercase. Example: 00e420ffff6464 |
TuyaSend<x> | Send data to MCU with TuyaMCU x = 0..4,8 TuyaSend0 = send a query command to the MCUTuyaSend1 <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 an ASCII string to dpId (unknown max length)TuyaSend4 <dpId>,<enum> = send enumerated (0 /1 /2 /3 /4 /5 ) data type to dpId (1 byte max length)TuyaSend5 <dpId>,<value> = send an HEX string to dpId - 0x prefix NOT needed - (unknown max length)TuyaSend6 <dpId>,<value> = send an HEX raw value to dpId - 0x prefix NOT needed, but will be processed correctly - (unknown max length)TuyaSend8 = request dpId states if supported |
TuyaTempSetRes | Set resolution only for Tuya Set Temperature sensor (fnId 72). 0..3 = maximum number of decimals shown |
See also | SetOption8 - change temperature display unitSetOption66 - publish TuyaReceived output to MQTTDimmerRange - to adjust dimmer rangeTempRes - set number of decimals shown for temperature sensors |
Serial Bridge~
Hardware Serial Bridge uses GPIO1 (Tx)
and GPIO3 (Rx)
or GPIO15 (Tx)
and GPIO13 (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 {"SSerialReceived":{"Data":"<string>"}}
message will be posted. You can use a rule to process the string which will be contained in SSerialReceived#Data
.
Hardware Serial Buffer can be configured by SerialBuffer
command, software serial buffer is fixed to 256 bytes long.
You could activate SetOption147
to disable publishing SSerialReceived
MQTT messages. If disabled, you must use event trigger rules instead (SSerialReceived#Data=<string>
) to control what, when and how is being published to your MQTT broker or whatever you want.
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. |
SerialBuffer | 256..520 = set the serial buffer size. This option will not be persisted, use a rule with a trigger like Power1#Boot when you want this to survive a reboot. Sometimes, serial buffer overruns can be mitigated by setting this to a large value such as 520 . |
SSerialBuffer | 256..SERIAL_BRIDGE_BUFFER_SIZE = set the serial bridge buffer size. This option will not be persisted, use a rule with a trigger like Power1#Boot when you want this to survive a reboot |
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 character1..127 = set serial delimiter to decimal ASCII128 = only allow ASCII characters 32 to 127 in response text254 = disable serial delimiter & post HEX string129..253 or 255 = disable serial delimiter (default = 255) |
SerialSend<x> | <string> Disable serial logging and send using hardware serial x = 1..5 1 = send appending \n (newline) ()2 = send3 = replace escape characters and send 4 = send as binary. Data in serial response messages is encoded as binary strings 5 = send as hex. Data in serial response messages is encoded as hex strings6 = send as comma-delimited string of decimal numbers |
SSerialConfig | value = set serial protocol using data/parity/stop conventional notation (example: 8N1 or 702 )0..23 = set serial protocol (3 equals 8N1 ) |
SSerialSend<x> | <string> Send using software serial protocol x = 1..5 1 = send appending \n (newline) ()2 = send3 = replace escape characters and send 4 = send as binary data. Data in serial response messages is encoded as binary strings5 = send as hex. Data in serial response messages is encoded as hex strings6 = send as comma-delimited string of decimal numbers9 = enable Serial Bridge console Tee for debugging purposes (payload 1 to enable) |
See also | SetOption147 - To enable/disable MQTT publish of incoming SSerialReceived messages. |
RF Bridge~
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 data6 = send 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. 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 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 = transmitting 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 (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 microseconds2..32767 = set start sync pulse time in microseconds#2..#7FFF = set start sync pulse time in hexadecimal microseconds |
RfTimeOut | change timeout in RfReceive 100..60000 = disable duplicate RfReceive (default = 1000 ) |
See also | SetOption28 - Set RF received data format |
RF Transceiver~
IR Remote~
The standard Tasmota builds have reduced support for IR protocols: RC5
, RC6
and NEC
. Use Tasmota-IR to have access to full protocols.
See Codes for IR Remotes.
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 at least one of the free device GPIOs 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>, "Channel":<value>} "Protocol" (select one of the following):
"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} "Channel":1..16 = IRSend GPIO to be used to send the message.Alternatively, you can send IR remote control codes using RAW command encoding. Read more... |
Tasmota-IR enabled with all protocols
Command | Parameters |
---|---|
IRSend<x> | <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>,"DataLSB":<value>,"Repeat":<value>} "Protocol" or "Vendor" (select one of the following): RC5, RC6, NEC, SONY, PANASONIC, JVC, SAMSUNG, WHYNTER, AIWA_RC_T501, LG, MITSUBISHI, DISH, SHARP, DENON, SHERWOOD, RCMM, SANYO_LC7461, RC5X, NEC (non-strict), NIKAI, MAGIQUEST, LASERTAG, CARRIER_AC, MITSUBISHI2, HITACHI_AC1, HITACHI_AC2, GICABLE, LUTRON, PIONEER, LG2, SAMSUNG36, LEGOPF, INAX, DAIKIN152 "Bits":1..64 = required number of data bitsfor PANASONIC protocol this parameter is the the address, not the number of bits "Data":0x1..0xFFFFFFFFFFFFFFFF = data frame as 64 bit hexadecimal.e.g., IRSend {"Protocol":"NEC","Bits":32,"Data":0x8166817E} Or "DataLSB":0x1..0xFFFFFFFFFFFFFFFF = data frame as 64 bit hexadecimal with LSB (each byte with bits reversed).e.g., IRSend {"Protocol":"NEC","Bits":32,"Data":0x8166817E} DataLSB comes handy with LSB-first (Least Significant Bit First) protocols like NEC, and makes decoding/encoding easier."Repeat":0..<x> if 0 send the frame once, if >0 simulates a long press; Note: "Repeat":1 sends the message twice.Alternatively, you can send IR remote control codes using RAW command encoding. |
See alsoSetOption29 - Set IR received data formatSetOption38 - Set IR received protocol sensitivitySetOption44 - Set IR incoming base toleranceSetOption58 - IR Raw data in JSON payloadSetOption147 - To enable/disable MQTT publish of incoming IrReceived messages. | |
IRHVAC | Send HVAC IR remote control code as JSON payloadIRHVAC {"Vendor":"Mitsubishi_Heavy_152", "Power":"On","Mode":"Hot","FanSpeed":3,"Temp":22.5} "Protocol" or "Vendor" (select one of the following): COOLIX, DAIKIN, KELVINATOR, MITSUBISHI_AC, GREE, ARGO, TROTEC, TOSHIBA_AC, FUJITSU_AC, MIDEA, HAIER_AC, HITACHI_AC, HAIER_AC_YRW02, WHIRLPOOL_AC, SAMSUNG_AC, ELECTRA_AC, PANASONIC_AC, DAIKIN2, VESTEL_AC, TECO, TCL112AC, MITSUBISHI_HEAVY_88, MITSUBISHI_HEAVY_152, DAIKIN216, SHARP_AC, GOODWEATHER, DAIKIN160, NEOCLIMA, DAIKIN176, DAIKIN128 "Model": Some HVAC have variants in protocols, this field allows to specify the variant, see detailed list.
"Power" :
"Mode" :
"FanSpeed" :
"SwingV" : vertical swing of Fan
"SwingH" : horizontal swing of Fan
"Celsius" : temperature is in Celsius ("On" ) or Fahrenheit ("Off" )"Temp" : Temperature, can be float if supported by protocol"Quiet" : Quiet mode ("On" / "Off" )"Turbo" : Turbo mode ("On" / "Off" )"Econo" : Econo mode ("On" / "Off" )"Light" : Light ("On" / "Off" )"Filter" : Filter active ("On" / "Off" )"Clean" : Clean mode ("On" / "Off" )"Beep" : Beep active ("On" / "Off" )"Sleep" : Timer in seconds"StateMode" :
|
See alsoSetOption29 - Set IR received data formatSetOption38 - Set IR received protocol sensitivitySetOption44 - Set IR incoming base toleranceSetOption58 - IR Raw data in JSON payload |
Displays~
Command | Parameters |
---|---|
Display | Show current display setting as a JSON payload |
DisplayAddress | 0..255 Set display module address |
DisplayDimmer | 0 = Turn the display off1..100 = Set display luminosity (only on 8x8 Dot-Matrix displays)13..100 maps to 1..7 levels of brightness for TM1637, TM1638 and MAX7219 or TM1650 seven-segment display modules |
DisplayInvert | 1 - Invert display where implemented. More info... |
DisplayMode | 0..5 Set to display predefined content according to display type0..3 for TM1637, TM1638 and MAX7219 or TM1650 seven-segment display modules |
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-Matrix4 = ILI9341 TFT LCD5 = 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)15 = TM1637 7-segment, 4-,6- and 8-digit displays (TM1637, TM1638 and MAX7219 or TM1650), hardware 2- and 3-wire I2C-like interface16 = LilyGO T5-4.7 E-Paper display board17 = Universal Display Driver powered displays 18 = Interface to virtual display driver with Berry19 = MAX7219 Dot Matrix20 = TM1650 7-segment 4-digit displays, I2C |
DisplayRefresh | 1..7 Set time in seconds to update predefined content when using DisplayMode ≠ 0 |
DisplaySize | 1..4 Set display scale-up size (SSD1306 and ILI9341 only) |
DisplayRotate | Set rotation angle0 = 0°1 = 90°2 = 180°3 = 270° |
DisplayText | <value> = See DisplayText useFor TM1637, TM1638 and MAX7219 or TM1650, see below |
DisplayText (TM1637, TM1638 and MAX7219 or TM1650) | text [, position [, length ]] Clears and then displays basic text on the 7-segment display. length can be 1 to NUM_DIGITS , position can be 0 (left-most) to NUM_DIGITS-1 (right-most) A caret( ^ ) symbol in the text input is displayed as the degrees(° ) symbol. This is useful for displaying Temperature (or angle)! See TM163x or TM1650 for details. |
DisplayTextNC (TM1637, TM1638 and MAX7219 or TM1650) | text [, position [, length ]] Clears first, then displays text. Usage is same as above. See TM163x or TM1650 for details. |
DisplayType | Select display sub-modules. More info... For usage of this command with TM163x or TM1650, see TM163x or TM1650 for details. |
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 font0 use classic GFX font1 = 122 = 243 = 8 (opt)7 use RA8876 internal font |
DisplayWidth | Specify the display width in pixels (SSD1306 only) -or- Specify number of digits in TM163x seven-segment display module |
DisplayHeight | Specify the display height in pixels (SSD1306 only) |
DisplayClear (TM1637, TM1638 and MAX7219 or TM1650) | Clears the display. See TM163x or TM1650 for details. |
DisplayNumber (TM1637, TM1638 and MAX7219 or TM1650) | num [, position [, leading_zeros [, length ]]] Clears and then displays number num without decimal.leading zeros can be 1 or 0 (default),length can be 1 to NUM_DIGITS (4 or 6), position can be 0 (left-most) to NUM_DIGITS (right-most). See TM163x or TM1650 for details. |
DisplayNumberNC (TM1637, TM1638 and MAX7219 or TM1650) | num [, position [, leading_zeros [, length ]]] Display integer number as above, but without clearing first. Usage is same as above. See TM163x or TM1650 for details. |
DisplayFloat (TM1637, TM1638 and MAX7219 or TM1650) | num [, position [, precision [, length ]]] Clears and then displays float (with decimal point). precision can be 0 to NUM_DIGITS (default), length can be 1 to NUM_DIGITS (4 or 6), position can be 0 (left-most) to NUM_DIGITS (right-most). See TM163x or TM1650 for details. |
DisplayFloatNC (TM1637, TM1638 and MAX7219 or TM1650) | num [, position [, precision [, length ]]] Displays float (with decimal point) as above, but without clearing first. Usage same as above. See TM163x or TM1650 for details. |
DisplayRaw (TM1637, TM1638 and MAX7219 or TM1650) | position , length , num1 [, num2 [, num3 [, num4 [, ...upto NUM_DIGITS numbers]]...] Takes upto NUM_DIGITS comma-separated integers (0-255) and displays raw segments. length can be 1 to NUM_DIGITS (4 or 6), position can be 0 (left-most) to NUM_DIGITS (right-most). num1 , num2 , ... are numbers representing a 7-segment digit. Each number represents all segments of one digit. Segment a=1, b=2, c=4, d=8, e=16, f=32, g=64 and h (decimal point)=128. To turn on all segments, the number would be 1+2+4+8+16+32+64+128 = 255. See TM163x or TM1650 for details. |
DisplayScrollText (TM1637, TM1638 and MAX7219 or TM1650) | text [, num_iterations ]Displays scrolling text, upto 50 characters. If num_iterations is not specified, it scrolls indefinitely, until another Display- command is issued. Optionally, specifying num_iterations causes the scrolling to stop after the specified number of iterations.See TM163x or TM1650 for details. |
DisplayScrollDelay (TM1637, TM1638 and MAX7219 or TM1650) | 0..15 Sets the speed of text scroll. Smaller delay implies faster scrolling. See TM163x or TM1650 for details. |
DisplayLevel (TM1637, TM1638 and MAX7219 or TM1650) | 0..100 Display a horizontal bar graph. See TM163x or TM1650 for details. |
DisplayClock (TM1637, TM1638 and MAX7219 or TM1650) | Displays a clock. 1 = displays a clock in 12-hour format. 2 = displays a clock in 24-hour format. 0 = turns off the clock and clears the display See TM163x or TM1650 for details. |
Shutters~
Command ESP8266:(x = 0..4 ), ESP32(x = 0..16 ) (0=set value to all defined shutters) | Parameters |
---|---|
ShutterMode | 1..7 (default = 1 )Defines the mode the shutter will operates the relays, steppers and/or servos. 6=autodetect based on INTERLOCK and GPIO defined. STATUS 13 show the mode. 1 = normal two relay up/off down/off2 = two relay on/off up/down. Must be set manually3 = one relay garage mode4 = one relay plus stepper motor5 = one relay and position servo6 = one relay and PWM servo speed controlled by PWM. Position time based7 = autodetect (once) based on existance of GPIO definition. |
ShutterButton<x> | <button> <func> <mqtt> Assign a button to control the shutter. For more details please refer to Blinds and Shutters support. Here you can define exact positions (and tilt positions ;ESP32 only) on the events single/double/tripple press <button> 0 : disable buttons for this shutterESP8266: 1..4 , ESP32:1..32 : Button number<func> up /down /updown /toggle : function to assign to the button<mqtt> 1 /0 : enable/disable MQTT publish for button hold actionFor example: 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 a "down" button (1x press close, 2x press 50% position, 3x press 24% position) for shutter #1 including MQTT publish.ShutterButton1 1 updown 0 assigns button #1 to act as an "up and down" button (1x press up, 2x press down).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 |
ShutterChange<x> | -100..100 Moves the shutter from the current position relatively in %. If the resulting position is below 0 or above 100 it will be capped. Command can also be executed during movement and will change the target position. |
ShutterCloseDuration<x> | 1.0 ..240.0 (default = 10.0 )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 argument |
ShutterFrequency<x> | 0..10,000 Hz (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> | -12.75 .. 12.75 (default = 0 )time, in seconds, it takes the motor to start moving once power is turned on; i.e., motor lag time. You can use negative numbers if your motor stops to late after power OFF 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. In this case only positive numbers are allowed. |
ShutterMotorStop | 0 .. 64000 (default = 500 )time in milliseconds, one relay must be off before the other one can start. This control the OFF time on TOGGLE and POSITION change commands that require a TOGGLE. Also in GarageMode this sets the wait time between two commands. Equal for all shutters. |
ShutterOpenDuration<x> | 1.0 ..240.0 (default = 10.0 )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 argument |
ShutterPosition<x> | 0..100 ,-90..90 , UP , OPEN , DOWN , CLOSE , STOP , TOGGLE , TOGGLEDIR , STOPOPEN , STOPCLOSE ,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. Optional the position can be enhances with the position of the tilt. This only works with numerical positions. The seperator is a comma , . |
ShutterPWMRange<x> | 0..1023,0..1023 For servo motors the min and max position is defined by the length of the duty cycle signal. Because every servo is different the min and max PWM value must be set for each servo type. The value is also dependant on the PWMfrequency . Servos normally use 50..200 as PWMfrequency . |
ShutterRelay<x> | <value> 0 = disable this and all higher numbered shuttersRelay<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). This does not work with Servos. min and max of servos are always defined through ShutterPWMRange . |
ShutterSetOpen<x> | shutter opened position. ShutterPosition will be reset to fully opened value (e.g., 100 when ShutterInvert = 0 , 0 otherwise). This does not work with Servos. min and max of servos are always defined through ShutterPWMRange . |
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 |
ShutterStopRelay<x> | 0 = only for pulse relay the STOP will be send on the last triggered relay (default)1 = STOP will be send to a THIRD relay (e.g. RELAY3) |
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 |
ShutterTiltConfig<x> | <min> <max> <Tiltduration> <openposition> <closeposition> (default = 0 0 0 0 0 )Configure the tilt for venetian blinds. Min/man values must be in the range of -90° to 90°. Open and Close position must be part of the defined range between min and max. Tiltduration defines the time the shutter needs to change the tilt from min to max value. This time has to been multiplied by 20. E.g. 1.2sec = 1.2 x 20 = 24. Example defines tilt on shutter 2: shuttertiltconfig2 -90 90 24 0 90 |
ShutterTilt<x> | Set the tilt position <value> (between min and max), OPEN , CLOSE . Definition please see shuttertiltconfig |
ShutterTiltChange<x> | -100..100 Moves the shuttertilt from the current position relatively in %. If the resulting tilt is below min or above max it will be capped. Command can also be executed during movement and will change the tilt at target position. |
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 (e.g., 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 bothZigbee2Tasmota must know the IEEE address of target device, see ZbStatus2 to verify and ZbProbe to have Zigbee2Tasmota query the address(EZSP ZBBridge only) If you bind devices to groups you should also use ZbListen to that group, otherwise MQTT messages will not be published |
ZbBindState | Asks the device for its internal binding states<device> the device to query<n> the start index for the request, 1 is the default. This is used to scan through all bindings. |
ZbCIE | Configure on the ZigBee device the CIE address using the IEEE address of the ZigBee Bridge. The ZigBee Bridge will act as the CIE device for the ZigBee Network. See IAS Cluster in the ZigBee specification for more information.Usage: ZbCIE <device>,<endpoint> <device> is the ZigBee device to configure<endpoint> is the endpoint in the ZigBee device where the IAS Cluster is.Example: ZbCIE 1,44 |
ZbEnroll | Enroll the the ZigBee device to the ZigBee Bridge for reporting security sensors data, panels, etc. The ZigBee Bridge will act as the CIE device for the ZigBee Network.Usage: ZbEnroll <device>,<endpoint> <device> is the ZigBee device to configure<endpoint> is the endpoint in the ZigBee device where the IAS Cluster is.Example: ZbEnroll 1,44 |
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/ZBBridge 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)"TXRadio":<txradio> : radio power in dBm (1-20) only for ZBBridgeAll 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"} The following command creates a highly secure Network key based on a hardware random generator: ZbConfig {"KeyL":"","KeyH":""} |
ZbData | feature in development |
ZbDeviceTopic 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 ShortAddrExample: tele/Zigbee/5ADF/SENSOR = {"ZbReceived":{"0x5ADF":{"Dimmer":254,"Endpoint":1,"LinkQuality":70}}} |
ZbEndpointSuffix SetOption101 | Add Zigbee source endpoint as suffix to attributes0 = disable (default) 1 = enablee.g. Power3 instead of Power if sent from endpoint 3 . |
ZbEndpointTopic SetOption120 | Add the Zigbee endpoint as suffix in topic when using SetOption89 1 0 = disable (default)1 = enable |
ZbForget | Used for devices that are unused but still visible in ZbStatus <device> = Remove a device from the Tasmota flash memory. It does not un-pair the device nor deleting the device information in the CC2530/ZBBridge. |
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>,<light_type>,<ep> sets the light type of a specific endpoint of a device. This is useful for a device (eg. a multi-gang switch) that has multiple endpoints.<device>,-1 removes the device from Philips Hue emulation<device> displays the current status of the Light (Zigbee2Tasmota tracks all changes to the light) |
ZbListen | (EZSP ZBBridge only)Listens to a multicast group address. By default EZSP will not report group messages unless you subscribe to the group.<x> : slot in the array of group addresses, 1..15<group> : group address to listen to, 0..0xFFFFAt start-up, Z2T automatically listens to group 0 in slot 0. CC2530 does not need this command and always report all group messages. |
ZbLeave | <device> = request a device to leave the network.If the device is offline or sleeping, this will have no effect. It is not 100% guaranteed that the device will never connect again |
ZbLoad | <file>.zb = load Zigbee definition file |
ZbLoadDump | <file>.zb = dump Zigbee definition file contents to console |
ZbInfo | <device> = display all information known about a device, equivalent to ZbStatus3 with a simpler JSON output |
ZbMap | Asks the device for its view of the Zigbee topology<device> the device to query<n> the start index for the request, 1 is the default. This is used to scan through all values since devices usually return only 3 values per request. |
ZbName | Sets or reads the Zigbee device friendly name (up to 32 characters).<device>,<name> sets the new friendly name<device>,<friendlyname>,<ep> sets a friendly name (up to 32 characters) on a specific endpoint of a device.<device>, (empty name) clears the friendly name of a device<device>,,<ep> (empty name) clears the friendly name of the specified endpoint<device> displays the current friendly nameAlso see SetOption83 1 to enable friendly names as JSON keys instead of ShortAddr. |
ZbNameKey SetOption83 | Uses Zigbee device friendly name instead of 16 bits short addresses as JSON key when reporting values and commands0 = JSON key as short address1 = JSON key as friendly nameSee ZbName <device>,<name> |
ZbNameTopic SetOption112 | 0 = (default)1 = use friendly name in Zigbee topic (use with ZbDeviceTopic ) |
ZbNoAutoBind SetOption110 | 0 = (default)1 = disable Zigbee auto-binding and auto-attribute reporting when pairing a new device. Use only if you want to manually configure devices |
ZbNoAutoQuery SetOption116 | Zigbee Auto-query of lights and devices shortly after a light command is sent.1 = disableDelay is 200ms for On/Off, 1050ms (1s) for lights levels, 10s for shutters. |
ZbNoPrefix SetOption100 | remove Zigbee ZbReceived value from {"ZbReceived":{xxx:yyy}} JSON message0 = disable (default) 1 = enable |
ZbOccupancy | Configure the time-out after "Occupancy":1 to send a synthetic "Occupancy":0 for Zigbee motion sensors<device>,<x> - set occupancy timeout for <device> Possible values for <x> 0 : no time-out, the device actually generates "Occupancy":0n : the number of seconds. The possible values are 15, 30, 45, 60, 75, 90, 105, 120. If the number is different, it is rounded up-1 : apply the default of 90 seconds |
ZbOmitDevice SetOption119 | Remove device addr from JSON payload0 = disable (default)1 = enable |
ZbPermitJoin | Sets pairing mode for new device discovery0 = disable pairing mode1 = enable pairing mode for 60 seconds99 = enable pairing until device reboots (CC2530 only)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"}} |
ZbReceivedTopic SetOption118 | Move ZbReceived from JSON message into the subtopic replacing "SENSOR" default0 = disable (default)1 = enable |
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 on CC253x gateways _Example: ZbSend { "Device":"0x1234", "Endpoint":"0x03", "Send":{"Power":"on"} } |
ZbScan | Do an energy scan on each radio channel |
ZbStatus<x> | Display Zigbee devices seen on the network since boot<device> (optional) = all devicesThis command provides three levels of increasing detail according to <x> ZbStatus1 Display Short Address, and Friendly NameZbStatus2 Also include Manufacturer ID and Model IDZbStatus3 Also include a list of endpoints and the clusterIds supported by each endpointExample: ZbStatus3 1 requests all details for device number 1Requested 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 bothZigbee2Tasmota must know the IEEE address of the target device, use ZbStatus2 to verify and ZbProbe to query the address. |
ZbUnload | <file>.zb = unload Zigbee definition file |
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 devices not 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 | Removed in favor of ZbSend with "Read" attribute. |
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 | (CC2530 only) 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 | (CC2530 only) Simulates a received message<hex> = hex string of the simulated message, same format as ZbZNPReceived debug logs |
ZbEZSPSend | (EZSP only) Send a raw EZSP message. This is a low-level command, and requires to manually build the ZCL parameters. Most common usage will be provided as high-level functions.<x> : 1 =high-level EZSP command, 2 =low-level EZSP frame, 3 =low-level EZSP/ASH frame<hex> = hex string of the message |
ZbEZSPReceive | (EZSP only) Simulates a received message<x> : 1 =high-level EZSP command, 2 =low-level EZSP frame, 3 =low-level EZSP/ASH frame<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 time zone. <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. |
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 |
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 |
NRFKey | Set a "bind_key" for a MAC-address to decrypt (LYWSD03MMC & MHO-C401). The argument is a 44 uppercase characters long string, which is the concatenation of the bind_key and the corresponding MAC.<00112233445566778899AABBCCDDEEFF> (32 characters) = bind_key<112233445566> (12 characters) = MAC of the sensor<00112233445566778899AABBCCDDEEFF112233445566> (44 characters)= final string |
NRFMjyd2s | Set a "bind_key" for a MAC-address to decrypt sensor data of the MJYD2S. The argument is a 44 characters long string, which is the concatenation of the bind_key and the corresponding MAC.<00112233445566778899AABBCCDDEEFF> (32 characters) = bind_key<112233445566> (12 characters) = MAC of the sensor<00112233445566778899AABBCCDDEEFF112233445566> (44 characters)= final string |
NRFNlight | Set the MAC of an NLIGHT<value> (12 characters) = MAC interpreted as an uppercase string AABBCCDDEEFF |
NRFPage | Show the maximum number of sensors shown per page in the webUI list.<value> = set number of sensors (default = 4) |
NRFScan | Scan for regular BLE-advertisements and show a list in the console0 = start a new scan list1 = append to the scan list2 = stop running scan |
Stepper Motors~
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.
Note
Player module pin RX should be connected to a GPIO defined as "MP3 Player" from the drop-down list. The driver uses a Software Serial and do not requires usage of hardware TX/RX pins.
Thermostat~
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 seconds0 = disable sending interim Domoticz status (default)1..3600 = send status to Domoticz in defined intervals |
InfluxDB~
KNX~
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 |
Range Extender~
Command | Parameters |
---|---|
RgxClients | List range extender clients |
RgxPort | tcp|udp, gateway_port, client_mac, client_port = range extender port forwarding |
NeoPool~
See Sugar Valley NeoPool Controller for more information.
Command | Parameters |
---|---|
NPFiltration | <state>( <speed>) Set manual filtration (state = 0 or 1 , speed = 1..3 ):
<speed> (only available if filtration speed control is configured):
|
NPFiltrationmode | <mode> Set filtration mode (mode = 0..4 or 13 ):
|
NPFiltrationspeed | <speed> Set manual filtration speed (speed = 1..3 ):
|
NPBoost | <mode> Set hydrolysis/electrolysis boost mode (mode = 0..2 or OFF , ON , REDOX ):
|
NPTime | <time> Set device time:
|
NPLight | <state>( <delay>) Set light (state = 0..4 , delay = 5..100 in 1/10 sec):
|
NPpHMin | <ph> Set pH lower limit (ph = 0..14 )Note: The command is only available if the pH module is installed. |
NPpHMax | <ph> Set pH upper limit (ph = 0..14 )Note: The command is only available if the pH module is installed. |
NPpH | <ph> Set pH upper limit (ph = 0..14 ) - alias for NPpHMaxNote: The command is only available if the pH module is installed. |
NPRedox | <setpoint> Set redox set point in mV (setpoint = 0..1000 )Note: The command is only available if the redox module is installed. |
NPHydrolysis | <level>( %) Set hydrolysis/electrolysis level:
<level> can specified in % on all systems by appending the % sign to the valueNote: The command is only available if the hydrolysis/electrolysis control is present. |
NPIonization | <level> Set ionization target production level (level = 0..<max> , the upper limit <max> may vary depending on the MBF_PAR_ION_NOM register)Note: The command is only available if the hydrolysis/electrolysis control is present. |
NPChlorine | <setpoint> Set chlorine set point in ppm (setpoint = 0..10 )Note: The command is only available if the free chlorine probe detector is installed. |
NPControl | Show information about system controls. |
NPTelePeriod | <time> Enables/disables auto telemetry message when NeoPool values change (time = 0 or 5..3600 ):
<time> higher than TelePeriod. In this case, measured sensors are reported only by TelePeriod setting, status changes are reported immediately. |
NPOnError | <repeat> Set the number of retries for Modbus read/write commands errors (repeat = 0..10 ):
|
NPResult | <format> Set addr/data result format for read/write commands (format = 0|1 ):
|
NPPHRes | <resolution> Set number of decimal places in results for PH value (resolution = 0..3 ). |
NPCLRes | <resolution> Set number of decimal places in results for CL value (resolution = 0..3 ). |
NPIONRes | <resolution> Set number of decimal places in results for ION value (resolution = 0..3 ). |
NPSetOption0 | Sensor data min/max validation and correction (ESP32 only)0 = disable correction1 = enable correction (default). |
NPSetOption1 | NeoPool Modbus connection statistics (ESP32 only)0 = disable statistics1 = enable statistics (default). |
NPRead | <addr>( <cnt>) Read device 16-bit register (addr = 0..0x060F , cnt = 1..30 ). <cnt> = 1 if omitted |
NPReadL | <addr>( <cnt>) Read device 32-bit register (addr = 0..0x060F , cnt = 1..15 ). <cnt> = 1 if omitted |
NPWrite | <addr> <data>( <data>...) Write device 16-bit register (addr = 0..0x060F , data = 0..0xFFFF ). Use of <data> max 10 times |
NPWriteL | <addr> <data>( <data>...) Write device 32-bit register (addr = 0..0x060F , data = 0..0xFFFFFFFF ). Use of <data> max 10 times |
NPBit | <addr> <bit>( <data>) Read/Write a single bit from device 16-bit register (addr = 0..0x060F , bit = 0..15 , data = 0|1 ). Read if <data> is omitted, otherwise set single bit |
NPBitL | <addr> <bit>( <data>) Read/Write a single bit from device 32-bit register (addr = 0..0x060F , bit = 0..31 , data = 0|1 ). Read if <data> is omitted, otherwise set single bit |
NPEscape | Clears possible errors (like pump exceeded time etc.) |
NPExec | Take over changes without writing to EEPROM. This command is necessary e. g. on changes in Installer page (addr 0x0400..0x04EE). |
NPSave | Write data permanently into EEPROM. During the EEPROM write procedure the NeoPool device may be unresponsive to MODBUS requests, this process always takes less than 1 second. Since this process is limited by the number of EEPROM write cycles, it is recommend to write all necessary changes to the registers and only then execute EEPROM write process using this command. Note: The number of EEPROM writes for Sugar Valley NeoPool devices is guaranteed 100,000 cycles. As soon as this number is exceeded, further storage of information can no longer be guaranteed. |
See also | SetOption157 - Hide/Show sensitive data |
ESP32~
BLE ESP32~
BLE MI Sensors~
Command | Parameters |
---|---|
MI32Battery | Trigger an active read of battery values.MI32Battery = request the driver read the battery from all sensors which have active battery read requirements. |
MI32Block | Block or unblock a sensor device.MI32Block = list blocked devices by mac.MI32Block <mac or blealias> = Block one mac/alias. |
MI32Key | Add a decryption key.MI32Key hexkey = add a 44 character decryption key to the keys list. |
MI32Keys | Add one or more decryption keys by mac or alias.MI32Keys = list keys.MI32Keys <mac or blealias>=<bind_key> <mac or blealias>=<bind_key> ... = add keys for MAC or ble_alias.MI32Keys <mac or blealias>= - remove keys for one mac |
MI32Option<x> n | Set driver options at runtimex=0 - 0 -> sends only recently received sensor data, 1 -> aggregates all recent sensors data typesx=1 - 0 -> shows full sensor data at TELEPERIOD, 1 -> disable sensor data at TELEPERIODx=2 - 0 -> sensor data only at TELEPERIOD (default and "usual" Tasmota style), 1 -> direct bridging of BLE-data to mqtt-messagesx=4 - 0 -> always display battery info, 1 -> disable "bogus" battery info from LYWSD03MMC and MHOC401x=5 - 0 -> show all relevant BLE sensors, 1 -> show only sensors with a BLEAliasx=6 - 0 -> normal sensor message, 1 -> publish on tele/<mi32topic>/<name> 1 sensor on flat JSON (see Mi32Topic), 2 -> same as 1 with sensor name key |
MI32Page | Display/Set the sensors per page in the web view.MI32page = show sensors per page.MI32page n = Set sensors per page to n. |
MI32Period | Display/Set the active scan and tele period for the MI32 driver.MI32Period = display the period in seconds.MI32Period n = Set the MI driver active read and tele period to n seconds. |
MI32Time | <x> = set the time on the device in slot x . |
MI32Topic | Topic to be used with Mi32Option6 > 0 (default to tasmota_ble ) |
MI32Unit | <x> = set the current Tasmota temperature unit as the temp unit for sensor in slot x . |
Camera~
Command | Parameters |
---|---|
Wc | Query all camera settings |
WcAEC | 1 = enable auto exposure control (sensor), 0 = disable (default) |
WcAECDSP | 1 = enable auto exposure control (DSP), 0 = disable (default) |
WcAECValue | 0..1024 = setauto exposure control value |
WcAELevel | -2..+2 = set auto exposure control level |
WcAGC | 1 = enable auto gain control, 0 = disable (default) |
WcAGCGain | 0..30 = set auto gain control gain value |
WcAWB | 1 = enable Auto White Balance, 0 = disable (default) |
WcAWBGain | 1 = enable Auto White Balance Gain, 0 = disable (default) |
WcBPC | 1 = enable Black Pixel Correct, 0 = disable (default) |
WcBrightness | -2..+2 = set picture brightness |
WcClock | 10..200 = set clock speed in MHz (default = 20) |
WcColorbar | 1 = show colorbar, 0 = hide colorbar (default) |
WcContrast | -2..+2 = set picture contrast |
WcDCW | 1 = enable downscale, 0 = disable (default) |
WcFeature | Extended features. Only boards with PSRAM should be used.0 = off, 1 = reduce FPS and increase exposure time for better low light performance, 2 = nightmode, increase exposure time and lower the Framerate depending on available light |
WcFlip | 1 = enable flip camera image,0 = disable (default) |
WcGainCeiling | 0 .. 6 = set gain ceiling (0 = x2, 1 = x4, 2 = x8, 3 = x16, 4 = x32, 5 = x64, 6 = x128) |
WcGammaCorrect | 1 = enable auto gamma correct, 0 = disable (default) |
WcInit | Initialize camera |
WcLensCorrect1 = enable auto lens correct, 0 = disable (default) | |
WcMirror | 1 = enable mirror camera image, 0 = disable (default) |
WcResolution | Set camera resolution.0 = 96x96 (96x96)1 = QQVGA2 (128x160)2 = QCIF (176x144)3 = HQVGA (240x176)4 = QVGA (320x240)5 = CIF (400x296)6 = VGA (640x480)7 = SVGA (800x600)8 = XGA (1024x768)9 = SXGA (1280x1024)10 = UXGA (1600x1200) |
WcRtsp | (Requires defined ENABLE_RTSPSERVER )1 = start RTSP server (forces restart) , 0 = stop server |
WcSaturation | -2..+2 = set picture saturation |
WcSpecialEffect | Set picture effect: 0 = off, 1 = Negative, 2 = Grayscale, 3 = Red Tint, 4 = Green Tint, 5 = Blue Tint, 6 = Sepia |
WcStats | show statistics |
WcStream | 1 = start webcam stream at http://<device_ip>:81/stream or http://<device_ip>:81/cam.mjpeg0 = stop stream |
WcWBMode | White Balance Mode0 = auto, 1 = Sunny, 2 = Cloudy, 3 = Office, 4 = Home |
WcWPC | 1 = enable White Pixel Correct, 0 = disable (default) |
WcAuth | 1 = enable basic Authentication for stream and screenshot urls, 0 = disable (default) |
Ethernet~
Command | Parameters |
---|---|
Ethernet | Only for ESP32 boards with additional LAN chip0 = disable Ethernet1 = enable Ethernet (default) |
EthAddress | 0..31 = PHYxx address |
EthClockMode | Ethernet clock mode.0 = ETH_CLOCK_GPIO0_IN 1 = ETH_CLOCK_GPIO0_OUT 2 = ETH_CLOCK_GPIO16_OUT3 = ETH_CLOCK_GPIO17_OUT (default) |
EthType | Ethernet type.0 = ETH_PHY_LAN8720 (default)1 = ETH_PHY_TLK110 2 = ETH_PHY_RTL82013 = ETH_PHY_DP838484 = ETH_PHY_DM9051 (SPI)5 = ETH_PHY_KSZ80816 = ETH_PHY_KSZ80417 = ETH_PHY_JL11018 = ETH_PHY_W5500 (SPI)9 = ETH_PHY_KSZ8851 (SPI) |
EthIPAddress | Set device Ethernet IP address (for Wi-Fi, see IpAddress)0.0.0.0 = use dynamic IP address (DHCP)XXX.XXX.XXX.XXX = set static IP addressFollow any IP configuration commands with restart 1 to apply changes |
EthGateway | Set gateway IP address |
EthSubnetmask | Set subnet mask |
EthDNSServer1 EthDNSServer2 | Set DNS servers IP addresses Due to a limitation of the underlying LwIP library, only 2 DNS servers are supported. These are shared among all interfaces, including WiFi/Ethernet, IPv4/IPv6. |
See Also | wifi - Enable/Disable Wi-Fi |