HomeAssistant利用WOL及shell_command添加群晖NAS开关无坑版

记过了近两天的各种尝试,终于搞定了群晖NAS在HomeAssistant的开关机操作,废话不多说,直接切入正题。

先说一下我这边的设备。

树莓派安装hassbian镜像运行HomeAssistant。

X86架构的黑群晖一台,内网IP为192.168.1.111。

我在HomeAssistant中用到的是WOL组件,利用网卡的MAC地址来唤醒NAS。首先将群晖的MAC地址和IP地址在路由器中进行绑定操作,并记录下MAC及IP地址。

然后在HomeAssistant系统中添加WOL组件。

- platform: wake_on_lan
  mac_address: "B8-97-5A-F5-5B-CA" ####群晖的实际MAC地址####
  host: 192.168.1.111  ####群晖在内网中的IP地址####
  name: MY-NAS   ####给这个开关起个名字####
  turn_off:
    service: shell_command.nasoff

重点来了,看到turn_off命令了吗?这里用到的是shell_command组件,所以我们需要添加一个shell_command脚本,直接在configuration.yaml中添加就可以。

shell_command:
  nasoff: "ssh root@192.168.1.111 'shutdown -h now'"  ####将这里的IP替换为你群晖的IP####

接下来,我们用putty登录到NAS,修改下root用户的密码,步骤可以参考我的上一篇文章。

https://miaoyang.win/%E7%BE%A4%E6%99%96dsm%E8%8E%B7%E5%8F%96root%E5%AF%86%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95.html

之后我们用putty登录到树莓派,运行下面的命令,切换到homeassistant用户。

sudo su -s /bin/bash homeassistant

cd

此时请确保你的NAS是开机状态。

ssh-keygen

ssh-copy-id root@192.168.1.111

接着按照提示输入群晖NAS的root账户及密码,然后创建rsa秘钥,rsa生成之后我们就可以直接用 ssh root@192.168.1.111 这个命令来登录群晖NAS了,不用再输入密码。

最后我们重启一下树莓派就可以了。

NAS开关机的状态反馈会有30秒左右,在界面里面点了开关之后不要着急,等30s左右系统就会接收到返回的状态。