HA+巴法+米家小爱语音实现电脑软关机

人在远处想要远程打开电脑可以购买各家的智能插座配合主板的来电自启功能实现,但关机这一块常规的插座如果直接关闭相当于电脑强制断电关机,向日葵家的智能插座可以在APP或桌面客户端进行软关机,之后再关闭智能插座,但有一种场景是人在床上想关闭远在天边(双手无法触及的就是天边)的卧室电脑,这时需要打开向日葵APP,找到要关机的电脑一层一层的点进去,有没有跟方便更快捷的方法呢?有的,兄弟,有的!很早之前我就将向日葵智能插座绑定到了HA(Home Assistant),也将这个实体通过巴法同步到了米家,语音打开电脑则插座通电电脑开机,关电脑的时候手动关闭,然后语音关闭电脑,插座断电,最近折腾的劲又足了一些因此想着把这个流程优化一下,打开电脑和关闭电脑都通过语音实现,也就是标题的HA+巴法+米家实现小爱语音软关机。以下流程对于你选用了哪家的插座没有关系,只需要保证设备可以通过HA进行控制。

第一步:创建 Python 脚本 shutdown.py

将以下内容保存为 shutdown.py

from flask import Flask
import os

app = Flask(__name__)

@app.route('/shutdown', methods=['GET', 'POST'])
def shutdown():
    delay_seconds = 0  # 延时关机的秒数,可自行修改
    os.system(f'shutdown /s /t {delay_seconds}')
    return f"System will shutdown in {delay_seconds} seconds..."

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5005)

此时在局域网内访问 http://你的电脑IP:5005/shutdown就可以关闭电脑,这算是第一步。

第二步:安装 Flask 和 PyInstaller

pip install flask pyinstaller

第三步:打包成隐藏窗口的 EXE

在脚本目录中运行:

pyinstaller --noconsole --onefile shutdown.py

这将生成一个无窗口的 EXE 文件:

dist\shutdown.exe

双击运行不会弹黑框,后台监听 5005 端口。

第四步:添加开机自启动

按下 Win + R,输入:

shell:startup

dist\shutdown.exe 复制到这个文件夹中即可。开机后程序自动运行,悄悄躲在后台。

图片[1] - HA+巴法+米家小爱语音实现电脑软关机 - 登山亦有道

第五步:配置HA rest_command

在 Home Assistant 中,配置 rest_command 来向你的电脑发送 HTTP 请求。添加以下内容到 configuration.yaml 文件中,这个文件在容器根目录config文件夹下(如果是宝塔面板的话可以不进终端直接定位到以下类似目录/www/dk_project/projects/homeassistant-config):

dffc26f20d4f:/config# ls
automations.yaml          custom_components         home-assistant.log.fault  scripts.yaml
backups                   deps                      home-assistant_v2.db      secrets.yaml
blueprints                groups.yaml               home-assistant_v2.db-shm  tts
config                    home-assistant.log        home-assistant_v2.db-wal
configuration.yaml        home-assistant.log.1      scenes.yaml
rest_command:
  shutdown_computer:
    url: "http://你的电脑IP:5005/shutdown"
    method: post
图片[2] - HA+巴法+米家小爱语音实现电脑软关机 - 登山亦有道

重启 Home Assistant,让配置生效。

第六步:创建HA自动化

打开并登陆HA点击左下角的配置,选择自动化和场景,然后再点击顶部的脚本选项可以看到我创建了一个关闭卧室电脑的脚本,点进去查看共有三个流程,分别是调用服务“rest_command.shutdown_pc”、延时一分钟和关闭智能插座C2-BLE (蓝牙版) 开关1

第七步:同步实体到巴法

巴法云的使用这里不做过多赘述,官网注册账号然后在HA中下载对应插件并配置巴法官网获取的私钥就可以同步实体了,初次使用需要点击同步实体,这个操作会列举你HA中可供同步的实体,本次需要同步的实体类型为Scrpit,选择实体之后还可以重新命名,建议简短或者炫酷,我这边直接命名成了关闭电脑。

第七步:米家同步巴法设备

米家app–>我的–>其他平台设备–>点击添加–>找到”巴法”,输入巴法云账号即可,设备会自动同步到米家,即可通过小爱同学控制设备。 需要注意的是这些其他平台的设备添加到米家主页是不可见的,但通过小爱同学可以语音控制。需要关闭电脑的时候可以对放在桌面上的小爱同学说:“执行关闭电脑” 电脑就会自动关机,关机之后插座也会随之关闭,整个流程完全解放双手,很是惬意,唯一不好的点是我的电脑设置了PIN码,开机之后需要输入才能登录,在没有登录的情况下放在startup文件夹中的应用程序是无法启动的。

© 版权声明
THE END
喜欢就支持一下吧
点赞75赞赏分享
评论 抢沙发
匿名的头像 - 登山亦有道
提交
匿名的头像 - 登山亦有道

昵称

在 WordPress 上使用 Sticker Heo 增添互动时的乐趣吧 !

取消
昵称表情代码图片

    暂无评论内容