jjuuzzii/decky-ha-mqtt-plugin — explained in plain English
Analysis updated 2026-05-18
Turn a Steam Deck's volume and guide buttons into remote controls for a TV or AV receiver.
Sync power state so a TV turns on and off automatically with a Steam Deck or Steam Machine.
Monitor a Steam device's CPU, GPU, temperature, and battery from Home Assistant dashboards.
Suspend, shut down, restart, or wake a Steam device remotely through MQTT and Home Assistant.
| jjuuzzii/decky-ha-mqtt-plugin | alx-code/lingbot-video-1.3b-fp8 | andrewbergman/kuma-importer | |
|---|---|---|---|
| Stars | 7 | 7 | 7 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | — | moderate |
| Complexity | 3/5 | — | 2/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Needs an MQTT broker, Decky Loader on SteamOS, and a polkit rule for power control.
decky-ha-mqtt-plugin is a Decky Loader plugin for SteamOS devices such as the Steam Deck, Steam Machine, or a DIY home theater PC. It connects the device to Home Assistant over MQTT, giving the Steam controller's volume buttons and guide button the ability to control a TV or AV receiver, and letting power state follow between the Steam device and the TV, without needing an HDMI CEC adapter or relying on a TV's own CEC support. The plugin publishes a range of system data over MQTT: CPU load, RAM and disk usage, CPU and GPU temperature, GPU load, network speed, IP address, uptime, and battery level on devices that have one, all on a configurable interval. Volume level and mute state are published instantly whenever they change. The controller's volume buttons can optionally replace the Game Mode volume slider, with every press published as an MQTT event. Presses of the guide or Steam button are also published as events without interfering with Steam's own handling of that button. Additional sensors report whether an external display is connected, which app or game is currently running, and whether the device is streaming through Steam Link or Remote Play. The plugin also checks GitHub for new releases and can suspend, shut down, restart, or wake the device remotely through MQTT, using Home Assistant's MQTT discovery so all sensors and controls appear automatically as one device. A ready-made Home Assistant blueprint ties these pieces into a full TV and receiver sync: turning the Steam device on switches the TV to the right HDMI input and turns it on, turning the TV off suspends the Steam device, and the volume and guide buttons control the TV directly. Setting it up only requires picking entities in the blueprint, such as the power sensor, wake button, and TV, with delays and individual behaviors adjustable in an advanced section. Requirements are SteamOS 3.x with Decky Loader, an MQTT broker such as the Mosquitto add-on for Home Assistant, and optionally the Home Assistant MQTT integration for auto-discovery. Installation can be done through an SSH install script that also configures the permissions needed for suspend, shutdown, and reboot, or manually through Game Mode by installing a downloaded zip file. The README notes the plugin was built with help from Claude Code and states it is not affiliated with Valve.
A Decky Loader plugin that links a Steam Deck or Steam Machine to Home Assistant over MQTT, letting the controller's buttons and power state control a TV or receiver without HDMI CEC.
Mainly Python. The stack also includes Python, SteamOS, Decky Loader.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.