For Home Assistant · macOS 13 or later

Your Mac, in Home Assistant.

A native menu bar app that reports what your Mac is doing to Home Assistant over MQTT, and lets Home Assistant control it.

Free and open source · Apple silicon and Intel

Mac2MQTT's window: the Mac's state, Now Playing with media controls, and tiles for network, power, volume, screen, microphone and display.

What it reports, what it controls

Everything your Mac knows, as entities.

Now Playing

Whatever Control Center shows, from Music, Spotify or a video in Chrome, with play, pause, next and previous.

Volume and mute

A slider and a switch in Home Assistant, set through macOS's own audio settings.

Screen and display

Whether the screen is locked and the display awake, with buttons to lock, sleep and wake it.

Camera and microphone

In use or not, within two seconds: turn on an on-air light during calls. Only for the devices your Mac has.

Notifications and speech

Home Assistant can show a notification on your Mac, or have it say that the laundry is done.

Shortcuts

Run any of your shortcuts from an automation, with text as input. Off until you turn it on.

Power and network

Power source, battery and charging on laptops, connectivity, idle time, and the Mac's model and macOS version.

Steady on any network

Retained state, a last will, batched messages and quick reconnects, even over a slow VPN. And it updates itself.

Small and native

One small binary in the menu bar, in English and Chinese, light and dark, opening at login if you like.

Made for Home Assistant

No YAML. It just appears.

MQTT discovery creates one device for your Mac, named after it, with its model and macOS version. Choose what it publishes, group by group; what you turn off leaves Home Assistant at once.

  • A real media player, through the MQTT Media Player integration, or a universal one the app writes for you.
  • Buttons, switches and a slider that act on your Mac in a moment.
  • Only what your Mac has: no battery on a Mac mini, no camera without one.
The Entities page: a switch for each group the app publishes to Home Assistant, with its current value.

Automations

Your Mac, as a trigger and a target.

Light a sign while you are on a call, lock the Mac when everyone leaves, pause the music when the doorbell rings, or hear when the washer is done.

# An on-air light while the Mac is in a call
triggers:
  - trigger: state
    entity_id: binary_sensor.mac_mini_microphone_in_use
actions:
  - action: "light.turn_{{ trigger.to_state.state }}"
    target:
      entity_id: light.door_sign

Install

Three steps, a minute.

  1. 01

    Download

    Open the disk image and drag Mac2MQTT to Applications, or install it with Homebrew:

    brew install --cask faintghost/tap/mac2mqtt
  2. 02

    Point it at your broker

    The one Home Assistant's MQTT integration uses, with discovery on: host, port and credentials.

  3. 03

    Find your Mac

    It appears under Settings → Devices & services → MQTT, ready for dashboards and automations.

Built with MyGo

Mac2MQTT is built with MyGo by EGOIST, a Go desktop framework that draws its native UI itself, Liquid Glass included: no webview, no cgo, one small binary, with disk images and signed updates out of the box.

Explore MyGo