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, save the token, then restore that 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. A brightness entity may work even when other features are unsupported. An input list can also contain generic commands that do not match 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. Check the visible result on the monitor as well as the command response. See input switching and volume capability for those distinctions.