起因刷到一條微博把 PS5 接入 HomeKit,感覺十分有趣,於是就在 GitHub 上面搜索到了一個現成(開源萬歲)的實現方式,通過 PS5 的遠程連接實現的喚醒 PS5。
準備#
這裡就不贅述 HomeBridge 的安裝了,貼一個大佬的教程作為參考:
然後以下是遠程喚醒 PS5 的專案地址:
安裝#
a. 安裝 playactor#
sudo npm install -g playactor
b. 配置連接 PS5#
i 獲取機器的 id#
運行 playactor browse
可以查看當前網絡中 PS5 設備:
這裡我們可以獲得我們 PS5 的 id : 00EXXXXXXXX0 。
ii 連接設備#
運行 playactor login --host-id 00EXXXXXXXX0 --no-open-urls
--no-open-urls
這個參數是由於我是用的樹莓派無法直接打開瀏覽器進行後續認證,所以通過返回登陸鏈接來進行登陸。
此時將返回的連接在瀏覽器中打開:
後面就是登陸的操作,成功登陸後會看到一個頁面寫著 redirect,此時已經登陸成功了。將地址粘貼到終端然後回車綁定:
然後到 PS5 的設置 -> 主機 -> 遠程遊玩 -> 關聯設備中獲取驗證碼並輸入終端中:
iii 控制 PS5#
登陸 playactor login --host-id XXXXXXXXXXXX
喚醒 playactor wake --host-id XXXXXXXXXXXX
待機 playactor standby --host-id XXXXXXXXXXXX
檢查 PS5 當前狀態 playactor check --host-id XXXXXXXXXXXX
要是只有一台設備的話可以不指定 host-id :
登陸 playactor login --ps5
喚醒 playactor wake --ps5
待機 playactor standby --ps5
檢查 PS5 當前狀態 playactor check --ps5
接入 Homebridge#
這個可以借助Homebridge 中的開關插件,下面幾個應該都可以,大家個人喜好選擇:
Homebridge-cmdaccessory
Homebridge-cmdswitch2
Homebridge-cmd4
Homebridge-cmdtriggerswitch
我自己用的是 Homebridge-cmdaccessory ,搜索安裝即可:
原理是通過喚醒和待機命令作為開關,然後通過 playactor check --ps5 | grep -i '200 Ok'
輪詢獲取 PS5 的當前狀態。
最後配置如下:
{
"platform": "cmdAccessory",
"name": "CMD Accessory",
"switches": [
{
"name": "PS5",
"on_cmd": "playactor wake --ps5",
"off_cmd": "playactor standby --ps5",
"state_cmd": "playactor check --ps5 | grep -i '200 Ok'",
"polling": true,
"interval": 120,
"manufacturer": "Sony",
"serial": "00EXXXXXXXX0",
"type": "Switch"
}
]
}
遇到的問題#
首次安裝完畢後在Homebridge中喚醒 PS5 一直報錯,但是直接在終端中輸入命令時又可以成功執行,然後懷疑問題可能出在不同用戶上,我的Homebridge安裝創建了Homebridge的用戶。當我切換到 homeBridge 時執行命令確實會報錯,然後我重新進行綁定後就可以正常使用了。
後面查看一下 GitHub 中的 issue 發現首次綁定成功後會將配置寫在當前用戶目錄下/home/homebridge/.config/playactor
,所以在Homebridge的 WebUI 上會調用失敗。
最後#
一頓操作安裝完畢後,發現其實這個功能使用頻率真的很低很低😂。當你折騰好後給女朋友演示在手機的 Homekit 上打開了 PS5 後就變得索然無味了,但是折騰的過程還是十分有趣的。畢竟誰會不想把心愛的 PS5 接入 HoneKit 呢(doge