PS5-MQTT

PS5-MQTT

Docker app from grtgbln's Repository

Overview

Integrate your Sony Playstation 5 devices with Home Assistant using MQTT.


PS5 MQTT

Integrate your Sony Playstation 5 devices with Home Assistant using MQTT.

Supports aarch64 Architecture Supports amd64 Architecture

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

Features

The following features have been implemented or are planned for future implementation.

Feature Implemented
Power; Wake/Standby (rest mode)
Discover Playstation 5 devices on local network
Web UI for acquiring credentials
Match PSN account activity to device

Installation

  1. Install an MQTT broker, if you haven't already.
  2. Add the repository to Home Assistant using the repository's url or by pressing the add-repostory button above.
  3. Install the PS5 MQTT add-on. Not the edge version!.
  4. Configure the add-on as described in the documentation.
  5. Start the add-on.
  6. Use the web-ui to authenticate with each PlayStation device.

The MQTT entities will be created automatically when a new device is discovered on your network.

Note: this does require MQTT auto-discovery to be enabled.

Using the add-on with Home Assistant Core (Docker)

This bit of documentation should get you on your way! 😻

Support the project!

If you enjoy the project, please consider sponsoring further development! 💕

FAQ

The log is showing 403 errors when I try to turn my ps5 on or off!

Double check that you've enabled all required remote play features as described in the remote play documentation.

Can devices be powered on/off from/to other modes than rest mode?

No. The underlying remote play protocol from sony does not support this.

Why does this add-on only support Awake/Standby on Playstation 4?

There already is a great Home Assistant integration that supports more functionality for PS4 devices like starting games. However, users have reported that this add-on detects Awake/Standby changes faster than the existing integration. So if you want you can use this add-on next to the existing integration or instead of it, if you are only interested in Standby/Awake.

Thanks & Credits

This project was created and is maintained by FunkeyFlo, with ongoing development contributions from andrew-codes. 🙏

The initial MQTT implementation for tracking device power was based on the work done by andrew-codes and can be found in this repository.

Install PS5-MQTT on Unraid in a few clicks.

Find PS5-MQTT in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for PS5-MQTT Review the template variables and paths Click Install

Requirements


        This template assumes the AMD64 architecture. If you are using a different architecture, please adjust the repository URL accordingly: https://github.com/FunkeyFlo?tab=packages&repo_name=ps5-mqtt
    

Details

Repository
ghcr.io/funkeyflo/ps5-mqtt/amd64:latest
Last Updated2026-07-17
First Seen2024-11-15

Runtime arguments

Web UI
http://[IP]:[PORT:8645]/
Network
host
Privileged
false

Template configuration

Application PortPorttcp

Container Port: 8645

Target
8645
Default
8645
Value
8645
MQTT - HostVariable

MQTT Host

Target
MQTT_HOST
Default
0.0.0.0
Value
0.0.0.0
MQTT - PortVariable

MQTT Port

Target
MQTT_PORT
Default
1883
Value
1883
MQTT - UsernameVariable

MQTT Username

Target
MQTT_USERNAME
MQTT - PasswordVariable

MQTT Password

Target
MQTT_PASSWORD
MQTT - Discovery TopicVariable

MQTT Topic. Default for Home Assistant is 'homeassistant'

Target
DISCOVERY_TOPIC
Default
homeassistant
Value
homeassistant
Interval - Device CheckVariable

Interval in ms to check for new devices

Target
DEVICE_CHECK_INTERVAL
Default
5000
Value
5000
Interval - Device DiscoveryVariable

Interval in ms to discover new devices

Target
DEVICE_DISCOVERY_INTERVAL
Default
60000
Value
60000
Interval - Account CheckVariable

Interval in ms to check for new accounts

Target
ACCOUNT_CHECK_INTERVAL
Default
5000
Value
5000
PlayStation Network AccountsVariable

JSON array of PSN accounts to monitor. Example: [{"username": "MyPsnUser", "npsso":"npsso_value"}] Delete if not used.

Target
PSN_ACCOUNTS
Include PS4 DevicesVariable

Include PS4 devices in discovery

Target
INCLUDE_PS4_DEVICES
Default
false|true
Config File PathPathrw

Path to application config data

Target
/config
Default
/mnt/user/appdata/ps5_mqtt/config
Value
/mnt/user/appdata/ps5_mqtt/config
Internal PortVariable

Internal port for web interface

Target
FRONTEND_PORT
Default
8645
Value
8645
Internal Credential Storage PathVariable

Path to store credentials

Target
CREDENTIALS_STORAGE_PATH
Default
/config/credentials.json
Value
/config/credentials.json
Debug TopicVariable

Debug topic for logging

Target
DEBUG
Default
@ha:ps5:*
Value
@ha:ps5:*