Add README for GitHub repository

This commit is contained in:
2026-02-12 01:55:09 +00:00
parent d06cb6d0de
commit e0af1554dd

169
README.md Normal file
View File

@@ -0,0 +1,169 @@
# Tasmota Skill for OpenClaw
Automated discovery and control of Tasmota smart home devices on local networks.
## Features
- **Network Discovery** - Scan your network to find all Tasmota devices
- **Device Control** - Power on/off, brightness adjustment, RGB color control
- **Status Monitoring** - Check power states, firmware versions, hardware info
- **Inventory Management** - Track devices in CSV format for batch operations
## Quick Start
```bash
# Scan network for Tasmota devices
python3 scripts/tasmota-discovery.py
# Check device status
python3 scripts/tasmota-control.py <IP_ADDRESS> status 0
# Control device
python3 scripts/tasmota-control.py <IP_ADDRESS> power on
python3 scripts/tasmota-control.py <IP_ADDRESS> brightness 75
python3 scripts/tasmota-control.py <IP_ADDRESS> color FF0000
```
## Requirements
- Python 3.x
- Tasmota devices on same network with HTTP server enabled
- Network access to device ports (80)
## Device Support
Works with ESP8266 and ESP32 devices running Tasmota firmware across versions 9.4+.
**Device types:**
- Smart bulbs and lights
- Smart sockets and switches
- Dimmers
- RGB controllers
- Other Tasmota-compatible hardware
## Installation
Install this skill via OpenClaw's skill management, or clone this repository to your workspace.
```bash
git clone http://git.theta42.com/nova/tasmota-skill.git
```
## Usage Examples
### Network Scan
```bash
python3 scripts/tasmota-discovery.py
```
Output:
```
🔍 Scanning network for Tasmota devices...
✅ Found 26 Tasmota device(s):
🔌 Device 1:
IP: 192.168.1.116:80
Title: Office Hall Light
Version: 13.1.0
Hardware: ESP8266EX
```
### Device Control
```bash
# Power
python3 scripts/tasmota-control.py 192.168.1.116 power on
python3 scripts/tasmota-control.py 192.168.1.116 power off
python3 scripts/tasmota-control.py 192.168.1.116 power toggle
# Brightness (0-100)
python3 scripts/tasmota-control.py 192.168.1.127 brightness 50
# Color (hex RGB)
python3 scripts/tasmota-control.py 192.168.1.127 color FF0000 # Red
python3 scripts/tasmota-control.py 192.168.1.127 color 00FF00 # Green
```
### Status Queries
```bash
# Basic device status
python3 scripts/tasmota-control.py 192.168.1.116 status 0
# All statuses
python3 scripts/tasmota-control.py 192.168.1.116 status all
```
**Status codes:**
- `0` - Device info (power state, dimmer, etc.)
- `1` - Parameters (uptime, MAC)
- `2` - Firmware version
- `4` - Network configuration
- `5` - MQTT settings
- `9` - Time and timezone
### Bulk Operations
```bash
# Check all devices
python3 scripts/tasmota-status.py
```
## Scripts
- `tasmota-discovery.py` - Network scanner
- `tasmota-control.py` - Device controller
- `tasmota-status.py` - Bulk status checker
## Troubleshooting
### Device Not Found
- Verify device is on same subnet
- Check HTTP server is enabled (Webserver 2 in Tasmota config)
- Ensure device is powered on and connected to WiFi
### Timeout Errors
- Device may be in power save mode
- Network latency or packet loss
- Try: `curl http://<IP>/cm?cmnd=Status%200`
### Unknown Power State
Some devices (BLE gateways, sensors) don't have power control capability. Check the device's StatusSTS for supported features.
## API Reference
### Command Format
```
http://<IP>/cm?cmnd=<COMMAND>
```
### Common Commands
| Command | Description |
|---------|-------------|
| `Power` | Toggle power |
| `Power ON` | Turn on |
| `Power OFF` | Turn off |
| `Status 0` | Device status |
| `Status 4` | Network status |
| `Dimmer <0-100>` | Set brightness |
| `Color <hex>` | Set RGB color |
## Contributing
Contributions welcome! Please submit issues or pull requests to the repository.
## License
See license.txt in this repository.
## Links
- Repository: http://git.theta42.com/nova/tasmota-skill
- Tasmota Firmware: https://tasmota.github.io
- OpenClaw Skills: https://clawhub.com