🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Tasmota

by @wmantly

Discover, monitor, and control Tasmota smart home devices on local networks. Use when tasks involve finding Tasmota devices via network scanning, checking device status and power states, controlling devices (on-off, brightness, color), managing device inventory, or any other Tasmota management operations on ESP8266 or ESP32 devices running Tasmota firmware.

Versionv0.1.0
Downloads1,326
Installs3
TERMINAL
clawhub install tasmota-skill

πŸ“– About This Skill


name: tasmota description: Discover, monitor, and control Tasmota smart home devices on local networks. Use when tasks involve finding Tasmota devices via network scanning, checking device status and power states, controlling devices (on-off, brightness, color), managing device inventory, or any other Tasmota management operations on ESP8266 or ESP32 devices running Tasmota firmware.

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  status 0

Control device:

python3 scripts/tasmota-control.py  power on|off|toggle
python3 scripts/tasmota-control.py  brightness 0-100
python3 scripts/tasmota-control.py  color 

Discovery

Network Scan

Run a full network scan to find all Tasmota devices:

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/ ()
  • JSON API response: /cm?cmnd=status%200 returns structured status
  • Content keywords: "Tasmota" in HTML
  • Device Control

    Power Control

    Toggle or set power state:

    # Toggle
    python3 scripts/tasmota-control.py  power toggle

    On/Off

    python3 scripts/tasmota-control.py power on python3 scripts/tasmota-control.py power off

    Brightness (Dimmers)

    Set brightness level (0-100):

    python3 scripts/tasmota-control.py  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  color FF0000  # Red
    python3 scripts/tasmota-control.py  color 00FF00  # Green

    RGB comma format

    python3 scripts/tasmota-control.py 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  status 0

    All statuses

    python3 scripts/tasmota-control.py 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 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:///cm?cmnd=
    

    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 | Enable fade effects |

    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.

    πŸ’‘ Examples

    Scan network for Tasmota devices:

    python3 scripts/tasmota-discovery.py
    

    Check device status:

    python3 scripts/tasmota-control.py  status 0
    

    Control device:

    python3 scripts/tasmota-control.py  power on|off|toggle
    python3 scripts/tasmota-control.py  brightness 0-100
    python3 scripts/tasmota-control.py  color 
    

    πŸ“‹ Tips & 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