用 Home Assistant 开关 Xbox One

Xbox One 提供了即开即用和节能两种电源模式,不管哪一种似乎都没法远程开机,也许是我用 WiFi 连接的原因,也许是我设置不对。

哪里有需求,哪里就有解决方案。我的方法是用WiFi插座+博联 RM 进行远程开关 Xbox One。

  1. 开机时,先打开电源,再发射一个开机的红外信号。
  2. 关机时,先发射一个关机的红外信号,再发射一个确认的信号,最后关闭电源彻底关机。

Home Assistant 配置如下:

switch:
- platform: broadlink
host: 192.168.2.100
mac: '78:0F:00:00:00:00'
type: rm2_pro_plus
switches:
xbox_one_ir:
command_on: 'JgBQAAABKJQTEhMTExITEhQSExIUEhM3ExMTEhMSFDcTNxQSEzcTOBMSEzcUEhM3FBITNxMTExITNxQSEzcUEhM3ExMTNxM3FAAFngABKUoTAA0FAAAAAAAAAAA='
command_off: 'JgBQAAABKJQTEhQSExIUEhMSFBITEhM3FBITEhQSEzcUNxMSEzgTNxM3FBITEhQ3ExITOBMSExIUEhM3FDcTEhM3FBITNxQ3EwAFnwABKUkTAA0FAAAAAAAAAAA='
- platform: template
switches:
xbox_one:
value_template: "{{ is_state('switch.broadlink_mp_1s2', 'on') }}"
turn_on:
service: script.1548158043107
turn_off:
service: script.1548158143044
script:
'1548158043107':
alias: turn on xbox
sequence:
- data:
entity_id: switch.broadlink_mp_1s2
service: switch.turn_on
- delay: '2'
- service: switch.broadlink_send_packet_192_168_2_100
data:
packet: "JgBQAAABKJQTEhMTExITEhQSExIUEhM3ExMTEhMSFDcTNxQSEzcTOBMSEzcUEhM3FBITNxMTExITNxQSEzcUEhM3ExMTNxM3FAAFngABKUoTAA0FAAAAAAAAAAA="
'1548158143044':
alias: turn off xbox
sequence:
- service: switch.broadlink_send_packet_192_168_2_100
data:
packet: "JgBQAAABKJQTEhQSExIUEhMSFBITEhM3FBITEhQSEzcUNxMSEzgTNxM3FBITEhQ3ExITOBMSExIUEhM3FDcTEhM3FBITNxQ3EwAFnwABKUkTAA0FAAAAAAAAAAA="
- delay: '2'
- service: switch.broadlink_send_packet_192_168_2_100
data:
packet: "JgBQAAABKJQUERMSExITEhMSExIUERM3FBETEhMSFDYSOBMSEjgTNxMSEzcUERMSEhMUNhITFBETNxMSEzcUNhM3ExMSNxM3FAAFcQABJ0oUAA0FAAAAAAAAAAA="
- delay: '5'
- data:
entity_id: switch.broadlink_mp_1s2
service: switch.turn_off

确认开机状态应该用 device_tracker,更准确。

相关链接

https://community.home-assistant.io/t/xbox-one-ir-codes-for-broadlink-rm/26680/5

远程串流 Xbox One 的方法和体验

Windows 10 自带的 Xbox 应用(已改名为 Xbox 控制台小帮手,太难听了🤦)中提供了串流 Xbox One 的功能,可以让局域网内的 Windows 10 设备连接到 Xbox One,通过串流进行游戏。

这里说的远程串流是指串流远程的 Xbox One,把远程的 Xbox One 作为服务端,本地 Windows 10 设备作为终端。

软硬兼施

1、本地终端 Windows 10 设备,游戏手柄,Xbox 360 模式,有线/无线/蓝牙根据需求选择。

2、服务端公网 IP,IPv4 地址可能需要打电话跟电信申请,移动联通等未知。如果你不知道什么是公网 IP,建议不要折腾。

在路由器上设置 DDNS 动态域名解析,Windows 10 设备接入 VPN 会用到。又是一个坎,什么是 DDNS?

(现在是 IPv4 → IPv6 过渡的阶段,一些地区已经可以获取到 IPv6 地址了,只是 IPv6 我还不知道怎么弄。Xbox 控制台小帮手还不支持输入 IPv6 地址。)

3、服务端路由器提供 VPN 服务,让终端通过 VPN 接入到服务端的局域网内。也可以把 Xbox One 用 DZM 暴漏在外网,通过服务端的 IP 连接(不推荐)。

4、带宽

  1. Xbox One 通过网线或者 5Ghz WiFi 连接到路由器。
  2. 经过几天的测试,最高画质串流需要的上行带宽为 20Mbit/s 左右。

得益于去年中国电信大幅提升了家庭宽带的上行带宽,之前只有 4Mbit/s,而现在上行带宽有 30Mbit/s。如果你的宽带上行带宽达不到 20Mbit/s,就不要折腾了。 继续阅读