admin 管理员组

文章数量: 887021

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命令行 输入(注:一定要输入ed25519 否则生成的密钥可能无法认证

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目录 然后执行cp ~/share/id_rsa /config/.ssh/)

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

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

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

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即可

ssh连接失败可能与以下问题有关!

注1:win自己安装的openssh版本过低可能会导致密钥验证失败

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

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

注2:如果ha的Terminal端在连接时弹出are you sure you want to continue connecting(yes/no/fingerprint)?

这里不要只摁回车,一定要输入yes加回车!

注3:如果之前连接成功/失败过 更换过密钥或认证方式 再次连接该ip时

需要先删除认证列表 

输入 rm ~/.ssh/known_hosts

注4:如果ha输入连接命令提示timeout 那win电脑端肯定是防火墙拒绝了访问

win端需要进入防火墙-高级设置-入站规则- 新建规则--端口--特定本地端口输入22--点击下一页--允许链接--点击下一页--随便输入个名字提交即可

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

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

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

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

本文标签: 开关机 小爱 同学 电脑 HomeAssistant