Freedom251 › Monitor Control Software
Monitor Switch

What Monitor Switch is
Monitor Switch changes a monitor’s input source through DDC/CI, with control through a browser interface, HTTP API, scripts, or Home Assistant. It is designed for people who use one monitor with multiple computers, including when the computer currently displayed is off or asleep. Where a monitor exposes the relevant settings, it can adjust brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain, and black level. It can also read usage hours, firmware level, refresh rates, and power state. Editable profiles let users set monitor values or replace inaccurate capability detection. For Home Assistant, MQTT discovery exposes profile features as selectors, sliders, and sensors. The service runs on a Raspberry Pi connected to the monitor by HDMI; setup requires Raspberry Pi OS, SSH access, and an Ansible playbook. It is MIT-licensed and free. The project is described as usable but not yet released. It has no authentication and is intended for a trusted LAN. Hardware checks are reported only for a Samsung Odyssey G9 with a Raspberry Pi Zero 2 W.
Who it suits
It suits people who switch a monitor between computers and want to control monitor settings through a browser, scripts, an API, or Home Assistant. Setup requires a Raspberry Pi running Raspberry Pi OS and reachable over SSH.
What it does well
- Free and MIT licensed.
- Controls input source and exposed monitor settings.
- Profiles can override incorrect capability detection.
- MQTT discovery exposes Home Assistant controls and sensors.
- Reads monitor details including usage hours and power state.
What to know first
- Usable but not yet released.
- No authentication; intended for a trusted LAN.
- Only Samsung Odyssey G9 hardware was verified.
- Switching to an off computer shows a black screen.
Limits
After an input change, a full reread of monitor values takes around 20 seconds on a Pi Zero, so other values may briefly lag. Home Assistant state is polled from the monitor, with a default 15-second interval for input-source polling. Switching to a computer that is off can show a black screen, and the service cannot detect that in advance.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| MIT-licensed open-source software | Usable, not yet released · Raspberry Pi required | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Use a Raspberry Pi running Raspberry Pi OS.
- Connect the Raspberry Pi to the monitor by HDMI.
- Make the Raspberry Pi reachable over SSH.
- Install Monitor Switch with its Ansible playbook.
- Access controls through the browser, HTTP API, scripts, or Home Assistant.
Overview
Monitor Switch is a free, MIT-licensed tool for controlling a monitor’s input and other DDC/CI settings through a browser, HTTP API, scripts, or Home Assistant. It suits people who share a monitor between computers and are comfortable setting up a Raspberry Pi. Its broad controls and automation potential are appealing, but its unreleased status and narrow hardware verification make compatibility a real consideration.
Key features
Input switching is the central draw: a Raspberry Pi connected to the monitor can change its source without relying on software installed on each computer. The same service can adjust brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain, and black level when the monitor exposes those controls. It can also report usage hours, firmware level, refresh rates, and power state.
Editable profiles let users define monitor values and override capability auto-detection when a monitor reports its controls incorrectly. Home Assistant uses MQTT discovery to present profile features as entities, including selectors, sliders, and sensors. That makes Monitor Switch a better fit for users who want monitor controls in an existing home-automation setup than for someone seeking only a conventional desktop brightness slider.
There are practical delays and blind spots. Switching to a computer that is off can leave a black screen, and the service cannot detect that situation beforehand. After an input change, a full reread of monitor values takes around 20 seconds on a Pi Zero, so readings may briefly lag. Home Assistant state is polled from the monitor, with input-source polling set to 15 seconds by default.
Pricing
MIT-licensed open-source software: free. The free plan is the software itself, with DDC/CI input switching, monitor controls, and browser, API, script, and Home Assistant access. There is no paid tier to weigh against it; the trade-off is that setup requires a Raspberry Pi running Raspberry Pi OS, an HDMI connection to the monitor, and SSH access.
The project is usable but not yet released. That matters for anyone who needs a finished, broadly verified tool rather than a free project they can configure and assess for their own hardware.
Platforms
Monitor Switch is categorized for web, Linux, API, and self-hosted Raspberry Pi use. Its setup requires Raspberry Pi OS on a Pi connected to the monitor by HDMI and reachable over SSH; the browser interface is one way to access the service, not a replacement for that deployment requirement.
Who it's for
Choose Monitor Switch if you switch one monitor among computers, want controls available independently of the displayed computer, or want to expose monitor settings to Home Assistant. It is less suitable if you cannot run a Raspberry Pi, need the service to identify an offline computer before switching, or require proven support for a particular monitor: the maker reports real-hardware checks only with a Samsung Odyssey G9 and Raspberry Pi Zero 2 W.
Security also narrows the right environment. The service has no authentication and is intended for a trusted LAN. It binds to a configurable address rather than 0.0.0.0 by default, but that does not make it appropriate for an untrusted network.
Pros and cons
Pros
- More than input switching: It can expose a wide range of monitor settings and information, subject to what the monitor supports.
- Useful automation hooks: HTTP, scripts, and MQTT-discovered Home Assistant entities offer several ways to incorporate controls into an existing setup.
- Profiles can correct detection: Editable values provide a workaround when a monitor reports its capabilities incorrectly.
- Free and MIT-licensed: There is no software price or proprietary license barrier.
Cons
- Setup depends on a Raspberry Pi: Installation requires Raspberry Pi OS, HDMI connection, and SSH access, so this is not a simple desktop-only utility.
- Compatibility evidence is narrow: Only a Samsung Odyssey G9 with a Pi Zero 2 W has been verified by the maker.
- Offline targets can produce a black screen: The service cannot warn in advance that the selected computer is off.
- Unreleased and unauthenticated: The project is not yet released and is intended only for a trusted LAN.
- Values can lag after switching: A full reread takes around 20 seconds on a Pi Zero, while Home Assistant input state is polled every 15 seconds by default.
Alternatives
For a broader comparison, browse Monitor Control Software.
- AOC G-Menu is a free Windows option for supported AOC devices; choose it if you want a vendor utility and do not need Monitor Switch’s Raspberry Pi and Home Assistant approach.
- ASUS DisplayWidget Center is a free download for compatible ASUS monitors on macOS or Windows; it suits users whose monitor and computer fit that combination.
- ddcutil is a free Linux, API, and self-hosted alternative under GPLv2; consider it as another option in that platform category.
- LG OnScreen Control is free for supported monitor models on Windows or macOS, making it a vendor-specific alternative for those systems.
- Lunar is a freemium macOS alternative; consider it if you want a macOS option instead.
- Monitor Brightness Control is a free MIT-licensed Linux tool requiring a DDC/CI-compatible monitor and I2C access; it may suit a Linux brightness-control need without Monitor Switch’s Pi setup.
- Twinkle Tray is free for Windows 10 and 11 and supports most laptops and DDC/CI-enabled monitors; choose it for a Windows-based route.
- ClickMonitorDDC is free for personal use on Windows.
Verdict
Monitor Switch is a strong fit for technically confident users who want to switch a shared monitor and bring its controls into Home Assistant without paying for software. Its combination of profiles, broad DDC/CI controls, and multiple access methods is the reason to choose it. Look elsewhere if you need a released tool with verified support for your specific monitor, cannot run a Raspberry Pi, or need authentication beyond a trusted LAN.
Verdict
Monitor Switch combines input switching with a broad set of monitor controls and Home Assistant integration. Consider its early release status, Raspberry Pi setup, limited hardware verification, and LAN-only security model before using it.
Questions
How much does Monitor Switch cost?
The listed MIT-licensed open-source plan costs nothing.
What hardware and setup does it require?
It requires a Raspberry Pi running Raspberry Pi OS, connected to the monitor by HDMI and reachable over SSH. Installation uses an Ansible playbook.
How can I control it?
Controls are available through a browser interface, HTTP API, scripts, and Home Assistant.
Does it work with Home Assistant?
Yes. MQTT discovery exposes profile features as Home Assistant entities, including selectors, sliders, and sensors.
Which monitors have been verified?
The reported real-hardware check used a Samsung Odyssey G9 with a Raspberry Pi Zero 2 W. Other monitors have not been verified.
What are its security and input-switching limitations?
The service has no authentication and is intended for a trusted LAN. Switching to a computer that is off can show a black screen, and the service cannot detect that condition in advance.
Facts from Monitor Switch's own pages
- Access
- Controls are available through a browser interface, HTTP API, scripts and Home Assistant. · github.com, 8 Oct 2026
- Compatibility evidence
- The project says its real-hardware checks were performed on a Samsung Odyssey G9 with a Raspberry Pi Zero 2 W; other monitors have not been verified. · github.com, 8 Oct 2026
- Controls
- It can control input source, brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain and black level when the monitor exposes them. · github.com, 8 Oct 2026
- Deployment
- It runs on a Raspberry Pi connected to the monitor’s HDMI input and is installed with an Ansible playbook. · github.com, 8 Oct 2026
- Hardware verification
- The maker reports that real hardware verification was performed with a Samsung Odyssey G9 and Raspberry Pi Zero 2 W; other monitors have not been verified. · github.com, 8 Oct 2026
- Home Assistant
- The service uses MQTT discovery to expose profile features as Home Assistant entities, including selectors, sliders, and sensors. · github.com, 8 Oct 2026
- Home Assistant integration
- The service announces monitor controls as Home Assistant entities using MQTT discovery. · github.com, 8 Oct 2026
- Input switching limit
- Switching to a machine that is off shows a black screen, and the service cannot detect this in advance. · github.com, 8 Oct 2026
- Integration state
- Home Assistant state is polled from the monitor, and the default input-source polling interval is 15 seconds. · github.com, 8 Oct 2026
- Intended use
- The project is designed for people switching a monitor between computers, including when the currently displayed computer is off or asleep. · github.com, 8 Oct 2026
- License
- The repository identifies the project as MIT licensed. · github.com, 8 Oct 2026
- Limitations
- Switching to a computer that is off can show a black screen, and the service cannot detect that condition in advance. · github.com, 8 Oct 2026
- Monitor controls
- It can expose monitor controls including brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain, and black level. · github.com, 8 Oct 2026
- Monitor information
- It can read monitor information such as usage hours, firmware level, refresh rates, and power state. · github.com, 8 Oct 2026
- Monitor profiles
- Editable profiles define monitor feature values and can override incorrect capability auto-detection. · github.com, 8 Oct 2026
- Profiles
- Editable profiles define monitor values, and can override auto-detection when a monitor reports incorrect capabilities. · github.com, 8 Oct 2026
- Purpose
- Monitor Switch changes a monitor’s input source using DDC/CI, controlled through HTTP, a web UI, or Home Assistant. · github.com, 8 Oct 2026
- Refresh delay
- After an input change, a full monitor-value reread takes around 20 seconds on a Pi Zero, so other values may briefly lag. · github.com, 8 Oct 2026
- Release status
- The README describes the project as usable but not yet released. · github.com, 8 Oct 2026
- Security
- The service has no authentication, is intended for a trusted LAN, and binds to a configurable address rather than 0.0.0.0 by default. · github.com, 8 Oct 2026
- Setup requirement
- Setup requires a Raspberry Pi running Raspberry Pi OS, connected to the monitor by HDMI and reachable over SSH. · github.com, 8 Oct 2026
Where Monitor Switch stands on Freedom251
- Monitor Control Software#9 of 24