小爱同学通过homeassistant控制win电脑开关机

1.开机用wol即可实现

1)进入要控制的win电脑--设备管理器--负责联网的网卡--电源管理--勾选允许此设备唤醒计算--勾选只允许幻数据包唤醒计算机--高级--开启幻数据包唤醒

2)进入homeassistant的configuration.yaml,输入(注意缩进与空格!)

switch:
  - platform: wake_on_lan
    name: "电脑"                 # 定义HA中实体的名称,可任意命名
    mac: "**-**-**-**-**-**"        # 主机MAC地址
    host: "192.168.*.**"            # 主机IP地址
    broadcast_address: "192.168.*.255"      # 广播地址
    broadcast_port: 9           

保存后重启ha,测试的话直接在概览页添加实体即可

2.关机用openssh实现

可以用其他帖子中安装小软件的方式,软件需要实时运行,但我不想实时运行软件,只能用openssh来实现

1)进入要控制的win电脑--设置--搜索可选功能--安装openssh服务端--安装完成后重启电脑--进入服务--找到openssh开头的两个服务--改为开机自启并开启服务

2)打开cmd命令行 输入

ssh-keygen -t ed25519 -f my_ed25519_key

会有提示输入密码 直接全部回车 (设置密钥的密码一定为空 否则生成的密钥文件用不了)

生成的密钥路径为当前cmd指向路径

把id_rsa.pub公钥修改名字为administrators_authorized_keys ,然后把公钥文件复制到C:\ProgramData\ssh,然后修改该目录下sshd_config

PasswordAuthentication no
PubkeyAuthentication yes

修改完之后 重启电脑或重启openssh服务

3)把C:\Users\用户名\.ssh\id_rsa复制到homeassistant的/config/.ssh/ (如果filebrowser插件找不到/config/.ssh/目录,那就只能先将id_rsa复制到~/share目录 然后用terminal插件运行cp ~/share /config/.ssh/)

进terminal给私钥改权限  chmod 600 /config/.ssh/id_rsa

输入ssh -i /config/.ssh/id_rsa 用户名@192.168.*.** shutdown /h 进行测试

如果win电脑休眠就代表可以了

注:有时候windows自己安装的openssh版本过低可能会导致密钥验证失败

查看windows的openssh的版本,进cmd输入ssh -V,如果低于9.5建议升级到9.5+

升级openssh教程:设置--可选功能--卸载旧的openssh服务器版本--重启--删除掉C:\windows\System32\OpenSSH整个文件夹 --打开 https://github.com/PowerShell/Win32-OpenSSH/releases--下载OpenSSH-Win64-v9.5.0.0.msi并安装

4)在configuration.yaml中添加(在刚刚添加的那部分底下添加,注意空格和换行)

    turn_off:
      service: shell_command.turn_off_connect
shell_command:
  turn_off_connect: 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /config/.ssh/id_rsa 用户名@192.168.*.** shutdown /h'
保存后重启ha即可

5)操作完之后你会发现添加的实体按钮无法显示开关机状态 也无法操作关机

原因是显示开关机状态其实是ping win电脑,因为防火墙默认禁止了ping端口导致ping不通,解决方法就是进入命令行,输入命令:netsh firewall set icmpsetting 8 

到此即可实现ha控制电脑开机和关机了

3.用小爱音箱来控制电脑开关机

1)注册巴法云账号,并获取密钥
2)在ha的HACS中搜索 bemfa  安装并重启ha
在ha的集成页面,搜索 bemfa并添加,输入巴法云密钥后提交
安装成功后,点击集成--选项--同步需要的实体至巴法云
3)在米家App中添加巴法云设备:
米家app--我的--其他平台设备--点击添加--找到巴法--输入巴法云账号即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值