Skip to content

Releases: jjuuzzii/decky-ha-mqtt-plugin

v0.6.1 - Volume-routing boot delay + TV-clobbering fixes

Choose a tag to compare

@jjuuzzii jjuuzzii released this 22 Jul 18:41

Fixed

  • Volume-routing boot delay: after a reboot, the guide+stick volume shortcut sometimes fell back to SteamOS's normal volume slider instead of routing through this plugin, until a volume slider was touched manually. SteamOS only checks once, at Gamescope session start, whether the HDMI output supports external volume control — WirePlumber is now always restarted as the very first step of plugin startup (not only when its config changed) so the check has the best chance of succeeding on its own. Confirmed fixed across a real reboot.
  • TV sync blueprint: none of the TV actions (Steam device turning on, volume buttons, mute, guide button) touch the TV anymore while it's on and showing something other than the configured HDMI input — previously the guide button and volume buttons would act on the TV regardless of what was currently on screen.
  • Blueprint crash: leaving the volume buttons / guide button / Steam Link streaming entity inputs unset could crash automation validation ("Entity ID is not a valid entity ID"), since Home Assistant rejects an empty string as a target entity_id for the event.received trigger. Those inputs now default to a syntactically valid but nonexistent placeholder entity instead, which simply never fires.

v0.6.0 - Steam Link streaming detection for the TV sync blueprint

Choose a tag to compare

@jjuuzzii jjuuzzii released this 22 Jul 11:26

Added

  • Steam Link streaming sensor: a new binary_sensor reflects whether the device is actively streaming to a Steam Link / Remote Play client, published on the retained <base>/streaming topic. Detected via SteamClient.RemotePlay.RegisterForDevicesChanges (undocumented, community-reverse-engineered, see the README note).
  • The TV sync blueprint uses it: starting a stream turns the TV off (only if it's on the right HDMI input), ending the stream turns it back on — with a fix so the existing "TV off suspends the Steam device" rule doesn't fire because of this new TV-off action.

Fixed

  • Entity pickers in the blueprint no longer include a non-functional integration: mqtt filter where it wasn't narrowing anything on some Home Assistant versions; kept where it's paired with device_class (the power sensor), which does narrow correctly.

v0.5.0 - Current app sensor + update notifications

Choose a tag to compare

@jjuuzzii jjuuzzii released this 21 Jul 17:24

Added

  • Current App sensor: Home Assistant now shows which game/app is running (including non-Steam shortcuts), published on the retained <base>/app topic — great for automations like "dim the lights when a game starts". Also shown in the plugin's Live Status panel.
  • Update notifications: the plugin checks GitHub for new releases (on boot and twice daily). You get a toast in Game Mode when an update is available, a version notice with a release-page button in the plugin panel, and an update entity in Home Assistant.

v0.4.0

Choose a tag to compare

@jjuuzzii jjuuzzii released this 21 Jul 10:06

Added

  • Home Assistant blueprint (blueprints/automation/steamos_tv_sync.yaml) for a full Steam Machine ↔ TV sync: power on/off follow each other (with HDMI source switching and Wake-on-LAN), the Steam controller's volume buttons control the TV, and the guide button switches the HDMI input. Configurable per-state delays and per-direction on/off toggles, both collapsed with sensible defaults — just pick your entities instead of hand-writing the automation. One-click "My Home Assistant" import badge added to the README.
  • Volume-button events (up/down/mute) are now debounced directly inside the plugin.

v0.3.0 - Guide button events + docked sensor

Choose a tag to compare

@jjuuzzii jjuuzzii released this 20 Jul 16:45

What's new

  • Guide/Steam button events: every press of the controller's Steam button is now
    published as an MQTT event (<base>/guide_button), without interfering with Steam's
    own handling of the button. Confirmed working on a Steam Machine ("Steam Controller
    Puck"); other hardware may need adjusted constants (see README troubleshooting).
  • Docked sensor: new binary_sensor reporting whether an external display (dock/TV/
    monitor) is connected.
  • README and MQTT topic table updated accordingly.

Install

Download decky-mqtt-status.zip below and install it via Decky: Settings > Developer > Install Plugin from ZIP.

v0.2.0 - Suspend/resume auto-recovery

Choose a tag to compare

@jjuuzzii jjuuzzii released this 19 Jul 19:53

What's new

  • Auto-recovery after suspend/resume: the plugin detects wake-up and automatically restarts the audio pipeline (WirePlumber), resubscribes to volume events and reconnects MQTT. No more manual 'Restart audio service' needed.
  • Entity icons for all Home Assistant sensors and buttons
  • Configurable device name for Home Assistant
  • Full English UI and log messages
  • LICENSE added (BSD-3-Clause)

Install

Download decky-mqtt-status.zip below and install it via Decky: Settings > Developer > Install Plugin from ZIP.

See the README for MQTT/Home Assistant setup, the polkit rule for the power buttons, and Wake-on-LAN.