| name | dyson-cli |
| description | Control Dyson air purifiers, fans, and heaters via local MQTT. Use when asked to control Dyson devices, adjust fan speed, set temperature/heat, enable oscillation, or check room temperature/humidity. Requires being on the same WiFi network as the device. |
Dyson CLI
Prerequisites
- CLI installed at
~/dyson-cliwith venv - Must be on same WiFi as the Dyson - local MQTT only, won't work remotely
Quick check:
cd ~/dyson-cli && source .venv/bin/activate && dyson list --check
Commands
Power
dyson on # Turn on
dyson off # Turn off
Fan Control
dyson fan speed 5 # Speed 1-10
dyson fan speed auto # Auto mode
dyson fan oscillate on # Enable oscillation
dyson fan oscillate on -a 90 # 90° sweep (45/90/180/350)
dyson fan oscillate off # Disable oscillation
Heat Control (Hot+Cool models)
dyson heat on # Enable heating
dyson heat off # Disable heating
dyson heat target 22 # Set target temp (°C)
Other
dyson night on # Night mode on
dyson night off # Night mode off
dyson status # Show current state
dyson status --json # JSON output
Multiple Devices
Use -d <name> to target a specific device:
dyson on -d "Bedroom"
dyson fan speed auto -d "Office"
Common Patterns
# "Turn on the Dyson and set to auto"
dyson on && dyson fan speed auto
# "Heat to 23 degrees"
dyson heat on && dyson heat target 23
# "Turn on with gentle oscillation"
dyson on && dyson fan speed 3 && dyson fan oscillate on -a 45
# "What's the current temperature?"
dyson status --json | python3 -c "import sys,json; d=json.load(sys.stdin); print(f\"Temp: {d['temperature']-273:.1f}°C, Humidity: {d['humidity']}%\")"
Troubleshooting
If commands fail:
- Check device is online:
dyson list --check - Ensure on same WiFi network as the Dyson
- Re-run setup if credentials expired:
dyson setup
For installation, device setup, and full documentation, see README.md.