Open-source project
FunkeyFlo/ps5-mqtt avatar
FunkeyFlo/ps5-mqtt

ps5-mqtt: putting PlayStation 5 power state on the MQTT bus

Integrate your PlayStation 5 with Home Assistant

588 stars55 forksTypeScriptMIT

At a glance

What is it?
ps5-mqtt is a Home Assistant add-on and TypeScript service that discovers PlayStation 5 consoles on the local network, authenticates with them, and publishes their power state to MQTT so it can be read and controlled from anywhere. It supports aarch64 and amd64, runs as a Home Assistant Core add-on or in Docker, and cannot wake a console from any mode other than rest mode.
Who is it for?
ps5-mqtt fits a Home Assistant user who wants the power state of a PlayStation 5 in their dashboard and can turn the console on or off from rest mode, and who is already running an MQTT broker. It does not fit someone who wants to start games or switch the console to other modes, because the underlying Sony remote play protocol does not allow it, and it does not fit a setup without MQTT, since auto-discovery has to be enabled for the entities to appear.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 6 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A console on the network, exposed as MQTT entities

ps5-mqtt integrates Sony PlayStation 5 devices with Home Assistant using MQTT. The mechanism has two halves. On one side the add-on discovers PlayStation 5 devices on the local network and authenticates with them, using a web interface for acquiring credentials, and on the other side it publishes what those devices are doing to an MQTT broker so that Home Assistant can show it and act on it. The feature table in the README lists what is implemented: power with wake and standby, in other words rest mode, discovery of PlayStation 5 devices on the local network, a web UI for acquiring credentials, and matching PSN account activity to a device, a feature that arrived with the v1.0.0 release. The audience is a Home Assistant user with a console on the same network who wants its state in the dashboard and the ability to power it remotely.

The add-on path, and the one version you must not pick

The installation is a six step list, and one step is unusually emphatic. You install an MQTT broker if you have not already, add the repository to Home Assistant using the repository URL or the add repository button, install the PS5 MQTT add-on, and the README says in bold, not the edge version, then configure the add-on as described in the documentation, start the add-on, and use the web UI to authenticate with each PlayStation device. The MQTT entities are then created automatically when a new device is discovered on your network, with the note that this does require MQTT auto-discovery to be enabled. The reason the edge version is called out is worth understanding rather than obeying blindly. An edge add-on is a development build that tracks the repository, so installing it in place of the released one means running unreleased code on a machine that also controls your house.

Core installs, Docker installs and the same service underneath

The repository is a Yarn workspace with three packages, ps5-mqtt/server, ps5-mqtt/client and ps5-mqtt/dev-services, and the root package is private with version 1.7.5, pinned to node 24.16.0 through the engines field. The scripts section shows the whole workflow in one place:

json
    "build": "yarn workspaces foreach -A run build",
    "start": "bash scripts/start.sh",
    "test/e2e": "bash scripts/test-e2e.sh",
    "test/unit": "yarn workspaces foreach -A run test/unit",
    "typecheck": "tsc -p tsconfig.json && yarn workspaces foreach -A run typecheck"

There are separate scripts for formatting with prettier, linting with eslint, and for the release process itself, bump-version and resolve-release-version, and one for update-changelog. Two extra scripts exist for the release process itself, bump-version and resolve-release-version, and one for update-changelog. The add-ons directory holds the Home Assistant add-on definitions and the docs directory holds the Docker documentation, so the same TypeScript service is packaged for two very different deployment targets.

The protocol limit: rest mode or nothing

The FAQ is where the honest constraints sit. The first entry is the 403 errors that appear when trying to turn the console on or off, and the answer is to check that all required remote play features are enabled as described in the remote play documentation. The second is the one that decides whether this tool fits your setup at all: devices cannot be powered on or off from or to other modes than rest mode, because the underlying remote play protocol from Sony does not support it. That is a hard boundary in Sony's protocol rather than a missing feature in the add-on, and it means the project is a power state integration, not a remote play client. If your goal is starting a game on the console from a dashboard, this is the wrong tool, and the README says so rather than implying the limitation is temporary.

Why it exists alongside the official PlayStation 4 integration

The third FAQ entry explains the relationship with the existing Home Assistant integration for PlayStation 4. There is already a Home Assistant integration that supports more functionality for PS4 devices, such as starting games, but users reported that this add-on detects awake and standby changes faster than the existing integration. So the two can be used next to each other, or the add-on can be used instead, if you are only interested in standby and awake. That is a useful piece of engineering context, because it tells you the add-on's advantage is detection latency rather than feature coverage. A faster state change means a dashboard that reflects reality sooner, which matters when you are automating something like turning the console off after a movie finishes.

Attribution, architecture support and the state of the project

The credits section is specific. The project was created and is maintained by FunkeyFlo, with ongoing development contributions from andrew-codes, and the initial MQTT implementation for tracking device power was based on the work done by andrew-codes, which can be found in a separate repository. The MIT licence covers the code, and the repository also carries a LICENSE.md file. The README carries badges for aarch64 and amd64 architecture support and a maintenance badge dated 2026, and the release history is steady, with v1.7.3 on 2026-09-29, v1.7.4 on 2026-10-04 and v1.7.5 on 2026-10-16, and the last push on 2026-10-16. The tree also includes Yarn release files and a repository.yaml, the latter being the add-on repository manifest that Home Assistant reads to list the add-on.

Editorial conclusion

ps5-mqtt fits a Home Assistant user who wants the power state of a PlayStation 5 in their dashboard and can turn the console on or off from rest mode, and who is already running an MQTT broker. It does not fit someone who wants to start games or switch the console to other modes, because the underlying Sony remote play protocol does not allow it, and it does not fit a setup without MQTT, since auto-discovery has to be enabled for the entities to appear. Before installing, check the add-on repository entry, install the non-edge version as the README insists, and enable the remote play options on the console, since the FAQ points at missing remote play features as the usual cause of 403 errors.

Frequently asked questions

How do I install the ps5-mqtt add-on in Home Assistant?

Install an MQTT broker, add the repository to Home Assistant using its URL or the add repository button, install the PS5 MQTT add-on but not the edge version, configure the add-on as the documentation describes, start it, and then use the web UI to authenticate with each PlayStation device. MQTT auto-discovery has to be enabled for the entities to appear.

Can ps5-mqtt turn on a PlayStation 5 that is fully powered off?

No. The README states that devices cannot be powered on or off from or to other modes than rest mode, because the underlying remote play protocol from Sony does not support it.

Why does the log show 403 errors when I try to turn the console on or off?

The FAQ answer is to double check that all required remote play features are enabled, as described in the remote play documentation for the PS5. The console has to be set up to allow remote control before the add-on can drive it.

Should I use ps5-mqtt alongside the Home Assistant PlayStation 4 integration?

The README says the existing PS4 integration supports more functionality, such as starting games, but users reported that this add-on detects awake and standby changes faster. So the two can run side by side, or the add-on can be used on its own if you only care about standby and awake.

Official sources

  1. FunkeyFlo/ps5-mqtt on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/funkeyflo-ps5-mqtt.svg)](https://hysenlabs.com/projects/funkeyflo-ps5-mqtt)

Was this useful?