Tasmota devices are automatically detected during discovery:
1
2
3
4
5
6
7
8
# Discover all devices (Shelly and Tasmota)shelly discover
# Discover only Tasmota devicesshelly discover --platform tasmota
# Skip plugin detection (Shelly only)shelly discover --skip-plugins
Device Registration
Register a discovered Tasmota device:
1
2
3
4
5
# During discovery, select the device to registershelly discover --register
# Or manually add with platform specifiedshelly device add garage-plug 192.168.1.50 --platform tasmota
Device: garage-plug
Platform: tasmota
Model: Sonoff Basic R3
Address: 192.168.1.50
Status: Online
Components
COMPONENT STATE
switch:0 on
Sensors
SENSOR VALUE
wifi_rssi -52 dBm
Energy
Power: 45.3 W
Voltage: 121.5 V
Current: 0.372 A
Total: 123.456 kWh
Device Control
Control Tasmota devices with standard commands:
1
2
3
4
5
6
7
8
9
10
11
# Turn onshelly switch on garage-plug
# Turn offshelly switch off garage-plug
# Toggleshelly switch toggle garage-plug
# Control specific relay on multi-channel devicesshelly switch on garage-plug --id 1
Firmware Updates
Check and apply firmware updates:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Check for updates on a specific deviceshelly firmware check garage-plug
# Check all devices (including Tasmota)shelly firmware check --all
# Interactive update workflowshelly firmware updates
# Update all Tasmota devices to stableshelly firmware updates --all --platform tasmota --yes
# Update to beta/development releaseshelly firmware updates --devices garage-plug --beta --yes
Firmware Update Workflow
The plugin integrates with the official Tasmota OTA server:
The plugin supports these Tasmota component types:
Component
Description
switch
Relays, power outlets
light
Dimmers, RGB bulbs
sensor
Temperature, humidity sensors
energy
Power monitoring devices
Troubleshooting
Device Not Detected
Ensure the device is on the same network
Verify Tasmota web interface is accessible: http://<device-ip>
Check firewall settings for port 80
Authentication Errors
Verify username and password in device config
For devices without authentication, ensure auth is disabled in Tasmota settings
Firmware Update Fails
Ensure device has enough free memory
Check network connectivity
For ESP8266 devices, ensure you’re using the correct variant (tasmota.bin.gz)
GitHub Rate Limiting
The plugin queries GitHub API for version checks. Unauthenticated requests are limited to 60/hour. If you encounter rate limiting:
Wait for the rate limit to reset (1 hour)
Or run firmware checks less frequently
Development
Building
1
2
cd examples/plugins/shelly-tasmota
go build -o shelly-tasmota .
Testing Hooks Manually
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Test detection./shelly-tasmota detect --address 192.168.1.50
# Test status./shelly-tasmota status --address 192.168.1.50
# Test control./shelly-tasmota control --address 192.168.1.50 --action on --component switch --id 0# Test firmware check./shelly-tasmota check-updates --address 192.168.1.50
# Test firmware apply./shelly-tasmota apply-update --address 192.168.1.50 --stage stable
Hook Response Formats
All hooks return JSON. See types.go for the complete response schemas.
Known Limitations
No Real-Time Events: Tasmota requires polling (no WebSocket support like Shelly)
Rules/Berry: Tasmota Rules and Berry scripting are not exposed via shelly-cli
GPIO Configuration: Template and GPIO configuration is not supported
Backup/Restore: Device backup/restore uses different format than Shelly
License
MIT License - see the main shelly-cli repository for details.