记过了近两天的各种尝试,终于搞定了群晖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左右系统就会接收到返回的状态。