
What was done
scotchnhand reverse engineered a generic 4-input 2-output HDMI matrix LAN protocol and shipped a local web app, a Home Assistant integration and a SwiftUI app instead.
The box routes four inputs to two outputs with a circa-2015 embedded web page and no public API. scotchnhand reverse engineered its real wire protocol and built three clients on top: a zero-dependency local web app with an installable PWA frontend, a Home Assistant custom integration and a native SwiftUI app for iPhone and iPad, all talking to the matrix directly on the LAN with no cloud. An AGENTS.md file guides the coding agents that built the clients, and some commits carry a Co-Authored-By: Claude line.
How it was done
docs/PROTOCOL.md documents the discovered protocol: JSONP-style polling and raw POST commands covering routing, power and EDID writes, captured against the real device. The test suites replay captured responses, so protocol parsing and command construction are checked in CI on every push alongside linting and weekly security scans. The backend serialises requests and coalesces reads between open tabs because the device single-threaded HTTP server locks up under rapid or concurrent requests, and a hardware note explains what to do when it does.
Results
The web app, the Home Assistant entities and the iOS app route inputs, switch power and edit EDID from any device, with a Docker image for easy deployment, HACS installation and issue templates. The work is documented rather than mysterious: the full protocol, the development guide, the roadmap of what was deliberately rejected and the hardware limits are all in the repository, released under MIT.