Back to projects
Betav0.1.1

DysonBar

Air quality and controls for Dyson purifiers in the Mac menu bar, over your own Wi-Fi.

A menu bar app for Dyson air purifiers. It shows PM2.5, PM10, VOC, NO₂, formaldehyde, temperature and humidity, keeps seven days of history and controls fan speed, auto mode, oscillation, night mode and the timer. After one MyDyson sign-in it talks to the purifier directly on your network. Not affiliated with Dyson.

For macOS6.4 MB · GitHub ReleasesOpen source
Latest release
v0.1.1
Platform
macOS 15+
Download
For macOS
Updated
Oct 26, 2026
Stack
Swift · SwiftUI · MQTT · macOS
DysonBar panel with air quality, temperature, humidity and purifier controls

Problem

Checking the air in the room meant finding the phone and opening the MyDyson app, which goes through Dyson's cloud for every value.

What I built

A SwiftUI menu bar app on a small Swift package that speaks Dyson's local MQTT protocol. The sign-in only fetches each purifier's local Wi-Fi key, which goes into the Keychain. The controls come from what the device reports, so models I could not test still get the right set.

Highlights

  • PM2.5, PM10, VOC, NO₂ and formaldehyde on the same six bands as the MyDyson app, refreshed every 30 seconds.
  • Seven days of history per device, stored locally, with a 24-hour and 7-day chart.
  • Notifications when the air stays bad for five minutes, a filter drops to 10 % or the device reports a fault.
  • The MyDyson password is never stored; after the first sign-in everything runs locally without Dyson's cloud.

Developer setup

clone
git clone https://github.com/jx-grxf/DysonBar.git && cd DysonBar