索尼 PlayStation 4
ps4
集成允许您控制一个
索尼 PlayStation 4 游戏机
要求
设置
- 下载第二屏幕应用程序,并确保您能够正常找到和控制 PlayStation 4。
在继续之前,请阅读下面的“授予端口访问”部分。
-
导航到
设置 -> 集成
,然后按右下角的加号按钮。从集成列表中选择PlayStation 4
。 -
按照提示生成用户凭证。您会知道此步骤完成,当出现包含字段的表单时。
-
在 PS4 上,转到 设置 / 移动应用连接设置 / 添加设备,将显示一个 PIN。
-
通过填写上述步骤中的 PIN 来将 Home Assistant 与您的 PlayStation 4 配对。
- 注意: 要找到您正确的区域,请参阅 区域 部分
授予端口访问
PlayStation 4 集成在配置期间需要使用特权端口,以正确工作,特别是 UDP 端口 987 和 TCP 端口 997。根据您的 Home Assistant 实例的操作系统,您可能需要手动允许使用特权端口。
不要以root 或带有root/sudo 权限 的身份运行您的 Home Assistant Core 实例来实现此目标。这将给您的主机系统带来安全风险。
根据您运行 Home Assistant 的操作系统,有不同的方法来执行此操作。具体而言,运行您的 Home Assistant 实例的 Python 解释器 需要访问上述端口。
仅 Home Assistant Core 用户 不 在 Docker 上运行时需要额外配置。
基于 Debian 的
在 Debian 类型的操作系统上安装的 Home Assistant 可能需要配置。本节适用于但不限于以下操作系统:
- Debian
- Raspbian
- Armbian
- Ubuntu
在终端中运行以下命令:
sudo setcap 'cap_net_bind_service=+ep' <python>
将 <python>
替换为正在运行 Home Assistant 的 系统路径 到 Python,或是如果使用了虚拟环境,则替换为虚拟环境路径。该路径 不应 是 符号链接 或 在虚拟环境内部。
示例:
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3.5
要找到您的系统 Python 路径:
-
将 系统健康 集成添加到您的
configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 中。在网页浏览器中访问您的前端并导航到“关于/日志”页面 “http:///developer-tools/info)”。在系统健康框中,找到项 python_version 并记下显示的值。然后在终端中运行: whereis python<version>
将
<version>
替换为在系统健康框中显示的python_version
的值。示例:
whereis python3.5.3
输出包含目录
/bin/
的内容很可能是您的系统 Python 路径,应该类似于/usr/bin/python3.5
-
如果 Home Assistant 安装在虚拟环境中,使用终端
cd
到您的环境的根/顶级目录并运行:readlink -f bin/python3
或
readlink -f bin/python
输出将是您的系统 Python 路径。
Docker
在使用 Docker 运行 Home Assistant 时,请确保 Home Assistant 容器可以被 PS4 发现。这可以通过确保 Home Assistant 容器使用 host
网络驱动程序来实现(在创建容器时传递 --net=host
,或在使用 docker-compose
时将 network_mode: "host"
添加到您的构建文件)。
配置
PlayStation 4 集成不使用 configuration.yaml
的条目。您必须通过使用 集成
来配置此集成。
区域
某些标题在 PlayStation Store 数据库中的 SKU 会根据您的 区域
以下区域没有数据库,无法被集成使用: 中国,菲律宾,塞尔维亚,越南。
媒体数据
PlayStation 4 集成将从您所在区域的 PlayStation Store
有时,集成可能会完全无法获取数据,或者获取的数据可能不正确。为了解决此问题,集成允许通过任何文本编辑器进行手动编辑。
格式
当集成从 PlayStation Store 检索数据时,会将其存储在名为 .ps4-games.json
的 JSON 文件中,该文件位于您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件所在的同一目录中。文件的第一行将是 {
,最后一行将是 }
。在这两行之间,有每个游戏或应用的缩进条目,集成所找到的。见以下示例和表:
{
"CUSA00129": {
"locked": true,
"media_content_type": "app",
"media_image_url": "http://localhost:8123/local/image.jpg",
"media_title": "某个应用"
},
"CUSA00123": {
"locked": false,
"media_content_type": "game",
"media_image_url": "https://somerandomurl.com/image.jpg",
"media_title": "某个游戏"
}
}
字段 | 值 | 描述 |
---|---|---|
locked |
boolean | 必须为 true 或 false
|
media_content_type |
string | 必须为 game 或 app
|
media_image_url |
string | 任何有效的图像 URL |
media_title |
string | 游戏或应用的标题 |
示例中的数据显示了 2 个条目。
每个条目将以标题的 SKU ID 开头,例如 CUSA00000
,并且将有一个名为 locked
的字段,其值为 true
或 false
。每个条目的默认值将为 false
。如果 locked
为 true
,则集成将不会覆盖与该游戏或应用相关的数据。
media_image_url
的值可以是任何有效的 URL。这包括您 Home Assistant 实例的 local directory
。示例中的第一个条目指向 config/www/
目录中的一个名为 image.jpg
的文件。
使用文本编辑器编辑
在继续之前,请备份您的 .ps4-games.json
文件。如果格式中存在错误,您的文件可能会被删除。
要编辑,只需在文本编辑器中打开文件,找到您想要编辑的游戏或应用,并编辑您希望更改的值,然后保存文件。更改将在您下次在控制台上播放该游戏或应用时显示。
操作
操作 select_source
打开新应用/游戏并关闭当前正在运行的应用/游戏。游戏/应用必须在实体的源列表中。游戏在您正常打开时将自动添加。
数据属性 | 可选 | 示例 | 描述 |
---|---|---|---|
entity_id |
否 | media_player.ps4 |
您的 PlayStation 4 的实体 ID。 |
source |
否 |
某个游戏 或 CUSA00123
|
您想要打开的游戏/应用。您可以使用标题或 SKU ID。使用 SKU ID 将是最可靠的。 |
操作 send_command
模拟 PlayStation 4 上的按钮按下。这模拟 PS4 第二屏幕应用可用的命令。这与 DualShock 4 控制器按钮不同。
数据属性 | 可选 | 示例 | 描述 |
---|---|---|---|
entity_id |
否 | media_player.ps4 |
您的 PlayStation 4 的实体 ID。 |
command |
否 | ps |
您想要发送的命令。 |
可用命令
支持命令的完整列表。
命令 | 模拟按钮 |
---|---|
ps |
PS (PlayStation) |
ps_hold |
PS Hold/Long Press |
option |
选项 |
enter |
输入 |
back |
返回 |
up |
向上滑动 |
down |
向下滑动 |
left |
向左滑动 |
right |
向右滑动 |
故障排除
封面艺术问题
如果您在 PS4 上运行的游戏/标题未显示封面或显示错误的封面,请在 这里
请务必包括以下信息:
- 您的国家
以及您的 PS4 实体状态中找到的以下属性的确切值。
- media_title
- media_content_id
高级使用
端口
此集成在运行时使用 UDP 端口 1987 作为源端口。在配置期间,源端口将是 UDP 端口 1988。这些端口分配可用于配置防火墙规则。
如果这些端口无法使用,将回退到随机端口。