Skip to content

Article on usage with home automation (Home Assistant) #862

@andrew-codes

Description

@andrew-codes

There appears to be increasing interest in using Playnite Web as a remote control mechanism. See #850 for an example discussion on the subject. This is how I, personally, use Playnite Web, too. However, there is no documentaiton to help guide users and there are some in's and out's in setting this up properly. This issue tracks the work to write documentation on how to remote control your gaming setup using Playnite Web and Home Assistant.

Notes

These notes are a work in progress.

Automation requires three things:

  1. Playnite Web (& Playnite Web Plugin)
  2. Home Assistant
  3. Playnite Web MQTT Plugin (unreleased, see Start/stop/restart games from local network #853 )

This is the overall flow:

  1. Users interact with the system via Playnite Web. They can browse their library to share and pick a game to play. I use a small tablet in my game room as my interaction point.
  2. Users configure Playnite Web with a webhook. The value for this webhook is the webhook created when setting up an automation webhook trigger in Home Assistant (probably should link docs to HA on this).
  3. When a user is signed in and in their library on Playnite Web, they can start/stop/restart games via the game details pane. All three of these actions send a POST request to the single configured webhook in Home Assistant. I'll outline what is included in these requests shortly.
  4. This webhook acts as a trigger for an automation in Home Assistant. Here, users can perform whatever is necessary to turn on physical devices (except starting the actual game). For example, turn on TV, AVR, gaming device (PC via wake-on-lan, PlayStation via HA PlayStation MQTT integration, etc.), set volumes, inputs, etc.
  5. Within the automation, users can publish an MQTT message to start/stop/restart/install/uninstall games (topic/payload outlined below). This is picked up by the (separate) Playnite Web MQTT extension installed into Playnite.

Webhook Payloads

This is not documented anywhere at the moment. The payload is JSON. It contains at least the following (note this is what I'm using , but it not an exhaustive list):

Property Value(s) Example Value Notes
type "StartReleaseRequested", "StopReleaseRequested", "RestartReleaseRequested"
payload.id "Release:159" Release ID from Playnite Web
payload.playniteId "A guid value" Guid ID used by Playnite
payload.platform.id "Platform:68" Platform ID from Playnite Web
payload.platform.playniteId "A guid value" Guid ID of the platform used by Playnite
payload.platform.name "PlayStation" Platform name
payload.library.playniteId "A guid value" The ID of the Playnite instance. Useful to distinguish between mutlitple devices running Playnite.

MQTT Messages Used by Unreleased Playnite Web MQTT Plugin

See #868 for additional details

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    Status

    Ready 📝

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions