通过Home Assistant实现远程唤醒WOL

2023-06-10  本文已影响0人  Ashin10
远程开机

参考资料:
Wake on LAN - Home Assistant (home-assistant.io)
使用Home Assistant来唤醒网络中的电脑 – Charley's Blog (pengandfan.com)
关键词:
Home Assistant 远程唤醒 WOL

前言

本文只包含HA端如何配置远程唤醒,被控制端(需要开机的主机)的配置不在本文讨论范围

目录

  1. 修改configuration.yaml
  2. 重启HA
  3. 在HA中添加按钮方便开机

修改yml文件

不管你是什么方式安装的HA,在你的HA有一个configuration.yaml文件,编辑他

image.png

在其中添加以下配置,需要留意的部分已注释

#yaml通过缩进判断变量从属关系,↓属于一级配置,需要顶格,不要留空格!
switch:
  - platform: wake_on_lan
    name: "Desktop"                 # 定义HA中实体的名称,可任意命名
    mac: "9C-6C-80-05-DE-55"        # 主机(电脑)的MAC地址
    host: "192.168.1.10"            # 主机(电脑)地址,可省略
    broadcast_address: "192.168.1.255"      # 广播地址.不可省略.此处假设路由器地址为192.168.1.1,如为其他网段需要修改
    broadcast_port: 9               # 止定wol端口,可省略

重启HA

打开开发者工具中,检查yaml配置,没有问题后选择重启HA


image.png

添加实体

重启后,在概览添加卡片可以添加用于远程唤醒的开关switch

image.png

但这是个Switch类型的卡片


image.png

如果使用过移动端的wol会发现程序普遍会发出多次的开机包(5~10次)
因此我设计,希望添加一个Button,可以进行多次点击触发wol
在概览中,添加新卡片,在实体中找到刚才创建的按钮button


image.png

配置点击动作为调用服务,选择开关
并在实体中指定刚才创建的,用于远程唤醒的开关Switch


image.png

最后点击进行测试,使用WakeOnLan确实抓到了包,代表配置成功


远程开机

其他注意

最容易错的是yaml配置
host是可以省略的!
而broadcast_address需要指定的不是主机地址,而是广播地址!

 host: "192.168.1.10"
 broadcast_address: "192.168.1.255" 

后续ToDo

wake_on_lan的switch是可以配置关闭turn_off时的指令的

image.png

搭配karpach/remote-shutdown-pc(github.com),通过访问主机的地址(http)来实现开机/重启/锁定windows
具体如何实现还没有测试

-完-

上一篇下一篇

猜你喜欢

热点阅读