本帖最后由 miniknife 于 2017-8-15 17:13 编辑
开比较简单,官方组件直接支持,只要在配置文件中加入:
switch:
- platform: wake_on_lan
mac_address: "你电脑的MAC地址"
name: "xxxx"
host: "你电脑的IP地址"
前提是你的主板支持WOL,并且在主板BIOS设置的高级电源管理里打开这项功能
关可以利用 命令行里的 NET 命令向装有windows操作系统的电脑发送关机指令,如下:
net rpc shutdown -I 你电脑的ip地址 -U username%password
首先需要改一下注册表,在运行中输入:regedit 打开注册表,找到如下位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
增加一个 DWORD,name:LocalAccountTokenFilterPolicy 值为 1
回到HA,在switch配置中添加如下:
- platform: command_line
switches:
pc:
command_off: "net rpc shutdown -I ip地址 -U username%password"
- platform: wake_on_lan
mac_address: "电脑的mac地址"
name: "mypc"
host: "电脑的ip地址"
- platform: template
switches:
mypc:
value_template: '{{ states.switch.mypc.state }}'
turn_on:
service: switch.turn_on
entity_id: switch.mypc
turn_off:
service: switch.turn_off
entity_id: switch.pc
上述方法在树莓派中应该可以直接使用,如果是在群晖Docker中使用,因为默认Docker里没有 net 命令,需要额外安装,在Docker 终端下输入:
apt-get install samba-client
等待安装完毕重启一下HA容器即可
|