Dyson Fan Control

v0.1.0

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.

5· 2k·2 current·2 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for tmustier/dyson-cli.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Dyson Fan Control" (tmustier/dyson-cli) from ClawHub.
Skill page: https://clawhub.ai/tmustier/dyson-cli
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install tmustier/dyson-cli

ClawHub CLI

Package manager switcher

npx clawhub@latest install dyson-cli
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (local control of Dyson devices) matches the contained code and README: the CLI uses libdyson to fetch account-backed credentials then controls devices locally via MQTT/mDNS and direct TCP. Required functionality (setup, discovery, status, control) is present and coherent.
Instruction Scope
SKILL.md instructs running the dyson CLI from a local venv and shows commands that will perform account setup (OTP + password prompt), discovery, and local control. Asking the user to provide their Dyson account email/password and OTP during 'dyson setup' is expected for fetching device credentials, but is sensitive — the skill will store credentials in ~/.dyson/config.json as described.
Install Mechanism
There is no install spec in the registry entry (instruction-only), but the bundle includes a pyproject and source files and README pointing to a GitHub pip install. This is reasonable for a CLI package, but users should prefer installing from the upstream GitHub repository or PyPI rather than running unverified code shipped in a skill bundle.
Credentials
The skill requests no environment variables, system config paths, or unrelated credentials. It does require interactive Dyson account credentials (OTP + password) during setup and stores device credentials locally (~/.dyson/config.json) — this is proportional to the stated purpose.
Persistence & Privilege
always is false and the skill does not request persistent elevated privileges or modify other skills. Storing credentials in the user's home directory is normal for this type of CLI.
Assessment
This skill appears to do what it says: it uses your Dyson account to fetch device credentials, then controls devices locally over your Wi‑Fi using MQTT/mDNS. Before installing or running: 1) Confirm the code origin — prefer installing from the upstream GitHub repository or PyPI referenced in the README rather than running code from an unknown registry source. 2) Understand that 'dyson setup' will prompt for your Dyson account email, OTP and password and will save device credentials to ~/.dyson/config.json — if you are uncomfortable storing tokens locally, do not proceed. 3) Review the libdyson(-neon) dependency for trustworthiness. 4) The CLI only controls devices on the same LAN; no unexpected external endpoints or env-var exfiltration were observed in the provided files.

Like a lobster shell, security has layers — review code before you run it.

latestvk97074ndtgvccva3j74106b5ks7yptbn
2kdownloads
5stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

Dyson CLI

Prerequisites

  1. CLI installed at ~/dyson-cli with venv
  2. 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:

  1. Check device is online: dyson list --check
  2. Ensure on same WiFi network as the Dyson
  3. Re-run setup if credentials expired: dyson setup

For installation, device setup, and full documentation, see README.md.

Comments

Loading comments...