Can I control BetterDisplay from Home Assistant?

Yes. Home Assistant can send requests to BetterDisplay’s integrated HTTP server while BetterDisplay is running on your Mac. A community integration is also available for brightness. It describes itself as a proof of concept, so check its current instructions and supported features before using it.

On the Mac, open Settings > Application > Integration and prepare a nonempty Security token under Integration Settings… before enabling the HTTP server. The token field is editable when URL or HTTP access is enabled: for a new setup, keep HTTP off, temporarily enable Enable custom URL scheme access, commit the token, then restore that URL option’s original state. Preserve any token already used by other clients.

Then enable Enable integrated HTTP server, confirm its running-status message and check Listening HTTP port—the default is 55777. Supply the matching host, port and query token in the client. The server accepts plaintext HTTP on available network interfaces; tokens can appear in request URLs and app logs. Keep access on a trusted network and keep those values private. Follow the Home Assistant brightness tutorial for a complete request, physical result check and cleanup. The App Integration reference explains the settings.

Start by listing display identifiers, then target the intended display when reading or setting brightness. The HTTP interface itself does not require Pro. Each requested feature retains its own license and hardware requirements. Use the CLI/API reference for parameters shared by integration requests.

The community Home Assistant BetterDisplay integration provides its own installation instructions. Treat hardware power, mute, volume and input switching as display-dependent capabilities. An available brightness entity does not establish support for every other control, and an input list may contain generic commands rather than only your monitor’s physical ports.

For an MQTT-based automation, a separate bridge would need to translate broker messages into BetterDisplay HTTP or CLI requests. Enabling the integrated HTTP server does not connect BetterDisplay to an MQTT broker or provide MQTT discovery. The HTTP setup above is the supported app-side interface.

When a control fails, compare the same operation in BetterDisplay’s menu first. A command being accepted does not by itself prove that the monitor performed it. See input switching and volume capability for those distinctions.