-
-
Notifications
You must be signed in to change notification settings - Fork 805
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add ps5-mqtt script * Update location of currently installed version for ps5-mqtt script * Add version number to update information for ps5-mqtt script * Reformat dependencies when installing ps5-mqtt * Remove superfluous information messages when installing ps5-mqtt * Remove superfluous comment from ps5-mqtt install script * Improve wording for the config location for the ps5-mqtt script * Remove superfluous empty lines in ps5-mqtt install script * Reorder code structure for ps5-mqtt script * Remove superfluous .service string vom systemctl calls in ps5-mqtt script * Refactor handling with folders in the ps5-mqtt script * Reorder code in ps5-mqtt script * Reorder the code for getting release version in ps5-mqtt script * Update ps5-mqtt-install.sh * Update ps5-mqtt-install.sh * Update ps5-mqtt.json * Update * Update ps5-mqtt-install.sh * Fix npm * Fix Date in json --------- Co-authored-by: Michel Roegl-Brunner <[email protected]>
- Loading branch information
1 parent
eb8ebfe
commit 8dd43dd
Showing
3 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
#!/usr/bin/env bash | ||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) | ||
# Copyright (c) 2021-2025 community-scripts ORG | ||
# Author: liecno | ||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE | ||
# Source: https://github.com/FunkeyFlo/ps5-mqtt/ | ||
|
||
# App Default Values | ||
APP="PS5-MQTT" | ||
var_tags="smarthome;automation" | ||
var_cpu="1" | ||
var_ram="256" | ||
var_disk="3" | ||
var_os="debian" | ||
var_version="12" | ||
var_unprivileged="1" | ||
|
||
# App Output & Base Settings | ||
header_info "$APP" | ||
base_settings | ||
|
||
# Core | ||
variables | ||
color | ||
catch_errors | ||
|
||
function update_script() { | ||
header_info | ||
check_container_storage | ||
check_container_resources | ||
|
||
if [[ ! -d /opt/ps5-mqtt ]]; then | ||
msg_error "No ${APP} installation found!" | ||
exit | ||
fi | ||
|
||
RELEASE=$(curl -s https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') | ||
|
||
if [[ "${RELEASE}" != "$(cat /opt/ps5-mqtt_version.txt)" ]]; then | ||
msg_info "Stopping service" | ||
systemctl stop ps5-mqtt | ||
msg_ok "Stopped service" | ||
|
||
msg_info "Updating PS5-MQTT to ${RELEASE}" | ||
wget -P /tmp -q https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz | ||
rm -rf /opt/ps5-mqtt | ||
tar zxf /tmp/${RELEASE}.tar.gz -C /opt | ||
mv /opt/ps5-mqtt-* /opt/ps5-mqtt | ||
rm /tmp/${RELEASE}.tar.gz | ||
echo ${RELEASE} > /opt/ps5-mqtt_version.txt | ||
msg_ok "Updated PS5-MQTT" | ||
|
||
msg_info "Building new PS5-MQTT version" | ||
cd /opt/ps5-mqtt/ps5-mqtt/ | ||
npm install &>/dev/null | ||
npm run build &>/dev/null | ||
msg_ok "Built new PS5-MQTT version" | ||
|
||
msg_info "Starting service" | ||
systemctl start ps5-mqtt | ||
msg_ok "Started service" | ||
else | ||
msg_ok "No update required. ${APP} is already at ${RELEASE}" | ||
fi | ||
|
||
exit | ||
} | ||
|
||
start | ||
build_container | ||
description | ||
|
||
msg_ok "Completed Successfully!\n" | ||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" | ||
echo -e "${INFO}${YW} Access it using the following URL:${CL}" | ||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8645${CL}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Copyright (c) 2021-2025 community-scripts ORG | ||
# Author: liecno | ||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE | ||
# Source: https://github.com/FunkeyFlo/ps5-mqtt/ | ||
|
||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" | ||
color | ||
verb_ip6 | ||
catch_errors | ||
setting_up_container | ||
network_check | ||
update_os | ||
|
||
msg_info "Installing Dependencies" | ||
$STD apt-get install -y \ | ||
curl \ | ||
sudo \ | ||
mc \ | ||
jq | ||
msg_ok "Installed Dependencies" | ||
|
||
msg_info "Setting up Node.js Repository" | ||
mkdir -p /etc/apt/keyrings | ||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg | ||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list | ||
msg_ok "Set up Node.js Repository" | ||
|
||
msg_info "Installing Node.js" | ||
$STD apt-get update | ||
$STD apt-get install -y nodejs | ||
$STD npm i -g playactor | ||
msg_ok "Installed Node.js" | ||
|
||
|
||
msg_info "Installing PS5-MQTT" | ||
RELEASE=$(curl -s https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') | ||
wget -P /tmp -q https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz | ||
tar zxf /tmp/${RELEASE}.tar.gz -C /opt | ||
mv /opt/ps5-mqtt-* /opt/ps5-mqtt | ||
cd /opt/ps5-mqtt/ps5-mqtt/ | ||
$STD npm install | ||
$STD npm run build | ||
echo ${RELEASE} > /opt/ps5-mqtt_version.txt | ||
msg_ok "Installed PS5-MQTT" | ||
|
||
msg_info "Creating Service" | ||
mkdir -p /opt/.config/ps5-mqtt/ | ||
mkdir -p /opt/.config/ps5-mqtt/playactor | ||
cat <<EOF > /opt/.config/ps5-mqtt/config.json | ||
{ | ||
"mqtt": { | ||
"host": "", | ||
"port": "", | ||
"user": "", | ||
"pass": "", | ||
"discovery_topic": "homeassistant" | ||
}, | ||
"device_check_interval": 5000, | ||
"device_discovery_interval": 60000, | ||
"device_discovery_broadcast_address": "", | ||
"include_ps4_devices": false, | ||
"psn_accounts": [ | ||
{ | ||
"username": "", | ||
"npsso":"" | ||
} | ||
], | ||
"account_check_interval": 5000, | ||
"credentialsStoragePath": "/opt/.config/ps5-mqtt/credentials.json", | ||
"frontendPort": "8645" | ||
} | ||
EOF | ||
cat <<EOF >/etc/systemd/system/ps5-mqtt.service | ||
[Unit] | ||
Description=PS5-MQTT Daemon | ||
After=syslog.target network.target | ||
[Service] | ||
WorkingDirectory=/opt/ps5-mqtt/ps5-mqtt | ||
Environment="CONFIG_PATH=/opt/.config/ps5-mqtt/config.json" | ||
Environment="DEBUG='@ha:ps5:*'" | ||
Restart=always | ||
RestartSec=5 | ||
Type=simple | ||
ExecStart=node server/dist/index.js | ||
KillMode=process | ||
SyslogIdentifier=ps5-mqtt | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
systemctl enable -q --now ps5-mqtt | ||
msg_ok "Created Service" | ||
|
||
motd_ssh | ||
customize | ||
|
||
msg_info "Cleaning up" | ||
$STD apt-get -y autoremove | ||
$STD apt-get -y autoclean | ||
rm /tmp/${RELEASE}.tar.gz | ||
msg_ok "Cleaned" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{ | ||
"name": "PS5-MQTT", | ||
"slug": "ps5-mqtt", | ||
"categories": [ | ||
3 | ||
], | ||
"date_created": "2025-01-09", | ||
"type": "ct", | ||
"updateable": true, | ||
"privileged": false, | ||
"interface_port": 8645, | ||
"documentation": null, | ||
"website": "https://github.com/FunkeyFlo/", | ||
"logo": "https://github.com/FunkeyFlo/ps5-mqtt/blob/main/add-ons/ps5-mqtt/logo.png?raw=true", | ||
"description": "Integrate your Sony Playstation 5 devices with Home Assistant using MQTT.", | ||
"install_methods": [ | ||
{ | ||
"type": "default", | ||
"script": "ct/ps5-mqtt.sh", | ||
"resources": { | ||
"cpu": 1, | ||
"ram": 265, | ||
"hdd": 3, | ||
"os": "debian", | ||
"version": "12" | ||
} | ||
} | ||
], | ||
"default_credentials": { | ||
"username": null, | ||
"password": null | ||
}, | ||
"notes": [ | ||
{ | ||
"text": "After installation, the MQTT endpoint must be configured. The configuration file is located within the LXC container at: `/opt/.config/ps5-mqtt/config.json`", | ||
"type": "info" | ||
} | ||
] | ||
} |