360 Secure SkillHub
360 安全技能中心

Dyson Fan Control

提供 dyson 命令,经本地 MQTT 控制 Dyson 设备:开关机、风速与自动模式、振荡角度、加热与目标温度、夜间模式、状态查询(支持 JSON)及多设备选择;需与设备处于同一 WiFi,不支持远程控制。

tmustier
tmustier
热度 91.86
最近更新 2026-05-11 15:48:49
分类:自动化依赖:代码执行应用场景:自动化脚本 / 健康 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add dyson-cli
Metadata
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

  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.