由于 HAP(HomeKit Accessories Protocol)的开放性质,配合 HomeBridge / HomeAssistant 庞大的插件库,几乎做到了万物皆可 HomeKit 的程度。今天我们就来把家中的 PlayStation 游戏机的唤醒和休眠加入到 「家庭」应用中并控制。
HomeKit 与 HomeBridge
本文以 HomeBridge 为例,HomeBridge 运行在 Ubuntu 系统的树莓派上。安装和使用 HomeBridge 请参考这篇文章:HomeBridge 操作指南:从零开始,将你的米家设备接入 Homekit
本次接入的原理是根据 Github 上开源的 PlayStation 唤醒软件进行配置,再接入到 HomeBridge 调用运行配置好的唤醒软件。从而达到曲线救国的 PlayStation 的 HomeKit 化,接下来我们就分步骤进行安装与配置。
▍安装控制软件
本方法使用 playactor 控制软件来操控 PlayStation 系统。由于 PlayStation 并不支持传统的 WoL ,现在有的方法原理都是基于索尼自家的 PS Remote Play 这款软件的原理进行开发的。
根据 playactor 项目的文档,本项目支持 PS4 的全部操作和 PS5 的部分操作。在加入 HomeKit 之后我们仅需要用到 Wake 与 Standby 两个指令即可。
首先我们进入到运行 HomeBridge 的主机中,安装软件。在终端中输入:
sudo npm install playactor
等待安装完成。如果是 Docker 中运行的 HomeBridge 请直接在 HomeBridge 的终端中安装软件。
▍账号认证
接下来我们进入到 HomeBridge 的后台:
进入终端
启动你的 PlayStation 4 / 5。
在「终端」中输入:playactor browse运行。
屏幕上会显示你的 PlayStation 信息,如果你有多台 PlayStation 请分别记住他们的名字。
输入:playactor login --host-name --no-open-urls,此时屏幕上会显示一个 URL 地址,点进进入。
在地址中输入你的 PlayStation 账号密码。
转跳页面之后复制 URL 地址,拷贝进「终端」并回车。
根据提示,进入 PlayStation 的设定 > 主机 > 远程游玩 > 关联设备找到 8 位数字,输入到终端中。
PlayStation 右上角跳出正在远程控制时,证明认证成功。
在终端中输入:playactor standby --host-name,若 PlayStation 开始进入休眠证明软件运行正常。
▍配置 HomeBridge
接下来进入 HomeBridge 进行插件配置。这里有多种插件可以选择:
HomeBridge-cmdswitch2
https://www.npmjs.com/package/homebridge-cmdswitch2
HomeBridge-WoL
https://www.npmjs.com/package/homebridge-wol
笔者选择 WoL 插件进行接入,因为具有 Return Early 功能,按下开关之后不用等待响应。如使用 cmdswitch2 配置过程也大同小异。
配置以 GUI 为例,打开 WoL 插件:
输设备名称。
在Pinging configuration中随便输入一个 IP 地址,在 Ping Command 中输入:playactor check --host-name | grep -i '200 Ok'。
随意设定一个 Ping command timeout 时间。
在Wake configuration中随便输入一个 MAC 地址,随便输入一个广播地址。
更改 Wake grace time 为。
输入 Wake commandplayactor wake --host-name。
设定 Wake command timeout 为45。
设定Shutdown configuration中的 Shutdown command 为playactor standby --host-name。
在Miscellaneous中打开 return early。
保存并重启 HomeBridge ,此时你的 PlayStation 就已经接入 HomeKit 中了,可以实时查看状态,控制唤醒以及休眠。
如果你使用 HomeAssistant 那么操作也大同小异,只需要举一反三就可以把你的 PlayStation 接入 HomeKit。
虽然 PlayStation 本身的唤醒机制就已经十分优秀了,使用 HomeKit 或者 Siri 唤醒可以说是多此一举。但是接入进 HomeKit 以后,可以联动触发非常多的场景。比如设定游戏模式等等,具体玩法就由各位自行探究了,本文仅作抛砖引玉。
作者:EstrellaXD
责编:广陵止息