Tasmota Skill
Discover, monitor, and control Tasmota smart home devices on local networks.
- Rating
- 4.1 (212 reviews)
- Downloads
- 4,684 downloads
- Version
- 1.0.0
Overview
Discover, monitor, and control Tasmota smart home devices on local networks.
Complete Documentation
View Source →
Tasmota Device Management
Overview
Automated discovery and control of Tasmota-powered smart home devices (ESP8266/ESP32) on local networks. Includes network scanning, status monitoring, power control, dimming, color control, and inventory management.
Quick Start
Scan network for Tasmota devices:
python3 scripts/tasmota-discovery.py
Check device status:
python3 scripts/tasmota-control.py <IP> status 0
Control device:
python3 scripts/tasmota-control.py <IP> power on|off|toggle
python3 scripts/tasmota-control.py <IP> brightness 0-100
python3 scripts/tasmota-control.py <IP> color <hex-rgb>
Discovery
Network Scan
Run a full network scan to find all Tasmota devices:
python3 scripts/tasmota-discovery.py
The script:
- Performs ping sweep to identify live hosts
- Scans HTTP (port 80) on live hosts
- Detects Tasmota via Server header (e.g., "Tasmota/13.1.0")
- Confirms via JSON API (
/cm?cmnd=status%200) - Retrieves device names, versions, and hardware
- IP address
- Device friendly name
- Tasmota version
- Hardware platform (ESP8266/ESP32)
- Response time
Identification Signals
Tasmota devices are identified by:
- Server header:
Tasmota/( ) - JSON API response:
/cm?cmnd=status%200returns structured status - Content keywords: "Tasmota" in HTML
Device Control
Power Control
Toggle or set power state:
# Toggle
python3 scripts/tasmota-control.py <IP> power toggle
# On/Off
python3 scripts/tasmota-control.py <IP> power on
python3 scripts/tasmota-control.py <IP> power off
Brightness (Dimmers)
Set brightness level (0-100):
python3 scripts/tasmota-control.py <IP> brightness 50
Works on devices with Dimmer support (check StatusSTS).
Color (RGB Lights)
Set RGB color (hex or comma-separated):
# Hex format
python3 scripts/tasmota-control.py <IP> color FF0000 # Red
python3 scripts/tasmota-control.py <IP> color 00FF00 # Green
# RGB comma format
python3 scripts/tasmota-control.py <IP> color 255,0,0
Works on devices with RGB support (AiYaTo-RGBCW, etc.).
Status Queries
Device Status
Retrieve status information:
# Basic status
python3 scripts/tasmota-control.py <IP> status 0
# All statuses
python3 scripts/tasmota-control.py <IP> status all
Status codes:
0 = Status- Device info, friendly name, power state1 = StatusPRM- Parameters, uptime, MAC2 = StatusFWR- Firmware version, hardware3 = StatusLOG- Log settings4 = StatusNET- Network config (IP, gateway, WiFi)5 = StatusMQT- MQTT configuration9 = StatusTIM- Time, timezone, sunrise/sunset
Key Status Fields
StatusSTS (Status 0):
POWER- Current state (ON/OFF)Dimmer- Brightness level (0-100)Wifi.RSSI- Signal strengthWifi.SSId- Connected WiFi network
IPAddress- Device IPHostname- mDNS hostnameMac- MAC address
Bulk Operations
Get All Device Status
python3 scripts/tasmota-status.py
Iterates through inventory file and shows power state for all devices.
Managing Inventory
Devices are tracked in a CSV inventory file. Format:
IP Address,Device Name,Version,Hardware,Response Time (ms)
192.168.1.116,Office Hall Light,13.1.0,ESP8266EX,53
After discovery, save output to inventory file for batch operations.
Common Tasks
Finding Labeled Devices
# Scan and grep for specific device names
python3 scripts/tasmota-discovery.py | grep "Kitchen"
python3 scripts/tasmota-discovery.py | grep "Bulb"
Checking All Lights
# Get status of all devices
python3 scripts/tasmota-status.py
Power Cycle a Device
# Off, wait 2s, on
python3 scripts/tasmota-control.py 192.168.1.116 power off
sleep 2
python3 scripts/tasmota-control.py 192.168.1.116 power on
Tasmota API Reference
Command Format
http://<IP>/cm?cmnd=<COMMAND>
Common Commands
| Command | Description | |
|---|---|---|
| Power | Toggle power | |
| Power ON | Turn on | |
| Power OFF | Turn off | |
| Power TOGGLE | Toggle state | |
| Status 0 | Device status | |
| Status 4 | Network status | |
| Dimmer <0-100> | Set brightness | |
| Color | Set RGB color | |
Fade |
Troubleshooting
Device Not Found
- Verify device is on same subnet
- Check device has HTTP server enabled (Webserver 2 in config)
- Ensure device is powered on and connected to WiFi
- Try direct HTTP request:
curl http:///cm?cmnd=Status%200
Timeout Errors
- Device may be power saving (WiFi sleep)
- Network latency or packet loss
- Check device uptime for recent restarts
Unknown Power State
Some devices (BLE gateways, sensors) don't have power control. Check capability in StatusSTS.
Network Configuration
Tasmota devices typically:
- Connect on WiFi channel 1-11
- Use DHCP (check StatusNET for current IP)
- May respond to mDNS (hostname patterns: tasmota-XXXXXX)
- Use HTTP on port 80 (standard)
Best Practices
- Scan during network maintenance windows (avoid peak usage)
- Cache inventory file to avoid repeated scans
- Use device friendly names for easier identification
- Set static IPs for critical devices (via Tasmota web UI or DHCP reservations)
- Group devices by location/function in inventory comments
Resources
scripts/tasmota-discovery.py
Network scanner that finds live hosts and identifies Tasmota devices via HTTP and JSON API.scripts/tasmota-control.py
Device controller supporting power, brightness, color, and status queries via Tasmota JSON API.scripts/tasmota-status.py
Bulk status checker that queries all devices in inventory and displays power states.Installation
openclaw install tasmota-skill
💻Code Examples
**Control device:**
python3 scripts/tasmota-control.py <IP> power on|off|toggle
python3 scripts/tasmota-control.py <IP> brightness 0-100
python3 scripts/tasmota-control.py <IP> color <hex-rgb>python3 scripts/tasmota-discovery.py
The script:
1. Performs ping sweep to identify live hosts
2. Scans HTTP (port 80) on live hosts
3. Detects Tasmota via Server header (e.g., "Tasmota/13.1.0")
4. Confirms via JSON API (`/cm?cmnd=status%200`)
5. Retrieves device names, versions, and hardware
Output includes:
- IP address
- Device friendly name
- Tasmota version
- Hardware platform (ESP8266/ESP32)
- Response time
### Identification Signals
Tasmota devices are identified by:
- **Server header:** `Tasmota/<version> (<hardware>)`
- **JSON API response:** `/cm?cmnd=status%200` returns structured status
- **Content keywords:** "Tasmota" in HTML
## Device Control
### Power Control
Toggle or set power state:python3 scripts/tasmota-control.py <IP> power off
### Brightness (Dimmers)
Set brightness level (0-100):python3 scripts/tasmota-control.py <IP> brightness 50
Works on devices with Dimmer support (check StatusSTS).
### Color (RGB Lights)
Set RGB color (hex or comma-separated):python3 scripts/tasmota-control.py <IP> color 255,0,0
Works on devices with RGB support (AiYaTo-RGBCW, etc.).
## Status Queries
### Device Status
Retrieve status information:python3 scripts/tasmota-control.py <IP> status all
**Status codes:**
- `0 = Status` - Device info, friendly name, power state
- `1 = StatusPRM` - Parameters, uptime, MAC
- `2 = StatusFWR` - Firmware version, hardware
- `3 = StatusLOG` - Log settings
- `4 = StatusNET` - Network config (IP, gateway, WiFi)
- `5 = StatusMQT` - MQTT configuration
- `9 = StatusTIM` - Time, timezone, sunrise/sunset
### Key Status Fields
**StatusSTS (Status 0):**
- `POWER` - Current state (ON/OFF)
- `Dimmer` - Brightness level (0-100)
- `Wifi.RSSI` - Signal strength
- `Wifi.SSId` - Connected WiFi network
**StatusNET:**
- `IPAddress` - Device IP
- `Hostname` - mDNS hostname
- `Mac` - MAC address
## Bulk Operations
### Get All Device Statuspython3 scripts/tasmota-status.py
Iterates through inventory file and shows power state for all devices.
### Managing Inventory
Devices are tracked in a CSV inventory file. Format:192.168.1.116,Office Hall Light,13.1.0,ESP8266EX,53
After discovery, save output to inventory file for batch operations.
## Common Tasks
### Finding Labeled Devicespython3 scripts/tasmota-control.py 192.168.1.116 power on
## Tasmota API Reference
### Command Format# Toggle
python3 scripts/tasmota-control.py <IP> power toggle
# On/Off
python3 scripts/tasmota-control.py <IP> power on
python3 scripts/tasmota-control.py <IP> power offTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.