Homeassistant 控制电脑开关Mac(黑苹果)篇
一、打开mac启动台->其他->终端,输入:
sudo visudo
输入你的登陆密码后,在英文输入法下敲
a
移动方向键到文件底部,插入红框内的文字(不要照抄,仔细看我的图片注释)格式:
(用户名) ALL=NOPASSWD: (路径)。括号内改成你的内容,下图是我的,供参考:

核对无误后按esc键,再敲
:wq
保存并退出。测试一下,执行下面代码,不出意外不用输入密码,你的mac就自动重启了。
sudo shutdown -r now
二、登入Home Assistant web界面点选配置->加载项,右下角加载项商店搜索SSH,下载第一个就行,如图:

安装并启动,后点击右下角打开WEB UI,


1、新建文件夹:
mkdir /config/.ssh
2、创建 key
ssh-keygen -t rsa
3、储存位置输入(提示输入密码时,直接回车,不要输入密码)
/config/.ssh/id_rsa
4、在Mac的终端输入下面内容,来创建存储密钥的文件夹:
mkdir -p .ssh
5、在Mac的系统设置->通用->共享,打开远程登录并点击后面的i,在选择用户一栏选择所有用户,点完成。

6、在Home Assistant的SSH界面执行下面的命令,将密钥传输到Mac(注意将连同括号在内的内容修改成你的):
cat /config/.ssh/id_rsa | ssh (用户名)@(IP地址) 'cat >> .ssh/authorized_keys'
7、测试你的Home Assistants是否可以免密登陆Mac:
ssh -i /config/.ssh/id_rsa (用户名)@(IP地址)
如果不行,试着将第5步的命令换成下面这条:
cat /config/.ssh/id_rsa.pub | ssh (用户名)@(IP地址) 'cat >> .ssh/authorized_keys'
三、修改Home Assistant 的configuration.yaml文件(推荐在win下用WinSCP登陆到/usr/share/hassio/homeassistant/找到该文件打开修改,注意mac地址一栏保留引号)
switch:
- platform: wake_on_lan
mac_address: "你Mac的网卡mac地址"
host: 你的IP地址
name: "Mac"
turn_off:
service: shell_command.unix_off
shell_command:
unix_off: 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /config/.ssh/id_rsa (用户名)@(IP地址) sudo /sbin/shutdown -h now'
修改保存,重启Home Assistant。

四、经过以上设置Mac关机大抵是不成问题了,可能你的Mac和我一样,不能用HA开机。这是因为除了需要在主板BIOS设置中打开WOL(网络唤醒)功能外,Mac下的网卡驱动要支持WOL。我的网卡是Intel l219LM,如果你也是intel网卡,可以按一下步骤解决此问题。
1、在github网站下载集成wol的intel网卡驱动:https://github.com/acidanthera/IntelMausi
2、将下载好的kext,拷贝到EFI->EFI->OC->Kexts目录下替换原有kext驱动(注意备份),重启测试网卡驱动是否可用。
3、在ocat的DP选项中,添加如图的选项并填写好各项参数:

关机后你会发现原本漆黑一片的网口,有了光芒在闪烁,ok用你的HA开机吧!