智能家居 篇十二:第十章 自建HomeAssistant定时任务——Google都没做到的事

2022-12-24 10:32:18 6点赞 15收藏 1评论

导读:

智能音箱可以设定闹钟,但却不可以定时执行任务,今天就来搞定它。

续着上一篇IFTTT继续

不知道是不想做还是不肯做还是不愿做还是挤牙膏,总之目前的智能音箱都是只能设定闹钟,却不能够在设定的时间执行特定的操作任务。之前实现的时候有个方案,借助日历(比如Google日历),例如“hi,Google,设定18:00打开电视”,那么就会在Google日历的18:00设定一条日历,并在日历提醒时执行打开电视的任务。执行后发现因为Node-RED和Google日历执行时有延迟,总是不能够很准确的在设定的时间执行任务(多数会延迟3-10分钟),强迫症自然是不能忍。所以就执行第二套方案,在自己的服务器上面做计时器定时,写到头麻到不想写的时候,突然找到一个部件,可以协助实现,开心!
还是以Google home为例,可以实现语音设定“hi,Google,设定1730打开空调”,并且使用Notify通知设定结果,支持单个删除,全部删除,修改等功能。实现这个功能用到几个好东西,除Node-RED外,重磅推出IFTTTLine即时通讯。


IFTTT

第十章 自建HomeAssistant定时任务——Google都没做到的事

IFTTT是一个第三方平台,可以很方便的联动很多网络服务,可以和Google Assistant进行互动,用来自定义语音指令,个性化定制Google home可以说是非常方便,神器!

LINE

LINE就是一个即时通讯软件,类似于wechat、whatsapp,只不过它可以直接接入IFTTT,用来接收推送通知方便快捷,且无推送信息条数限制,强烈建议安装使用。(wechat也可以,不过需要用企业微信,个人微信暂不支持。)

准备工作

1、Node-RED

需要添加一个组件,在Node-RED的菜单中选择设置安装,搜索corn-plus,并安装它。

第十章 自建HomeAssistant定时任务——Google都没做到的事

2、IFTTT

首先要創建帳號,可以連結Google 或Facebook 帳號登入,也可以用Email 創一個新的。搜索webhook,并连接,有一串api key需要记录下来,并放入configuration.yaml。api key就是显示的一串网址https://maker.ifttt.com/use/后面的部分。

第十章 自建HomeAssistant定时任务——Google都没做到的事

记得重启HA。
并连接你的Google Assistant账号,Line账号,具体在右上角点击头像,选择My services 。还有其他许多服务都可以接入,这里我们只先说这两个。
回到HA,在配置中添加IFTTT集成,跟着说明走就好了。

开始设定

老规矩先说逻辑
Google指令→传入HA→Node-RED处理→执行

Node-RED处理包括命令解析,时间设定,任务安排,以及修改、删除,检查当前设定等。1、先设定Google指令,通过IFTTT,上一篇已叙,不再赘述。
如果跟足上篇,正好就到了Google发送事件至HA的环节。

2、HA收到事件的处理。

HA本身可以接收webhook发来的事件,上一篇也同样有叙述,透过将有关信息发送到一串网络地址,该信息就会被HA所接收,并作为一个“事件”,从而可以用来触发一系列动作,并将其所携带的信息作为处理数据。

在Node-RED中使用events:all模块来监测事件情况,配置如下:

第十章 自建HomeAssistant定时任务——Google都没做到的事

IFTTT发来的事件在HA中使用ifttt_webhook_received来定义。

插播Debug

插播一下Node-RED中debug的使用,通过debug可以及时了解收到的信息内容,json格式,以及产生错误的可能原因。

第十章 自建HomeAssistant定时任务——Google都没做到的事

配置

第十章 自建HomeAssistant定时任务——Google都没做到的事

通常我会选择完整咨讯。将他连接到你希望了解输出信息的接口上,就可以了,他的存在不会影响你的其他流程,只会多出一个分支来收集所有的输出信息,并显示在右侧边栏的debug栏。

第十章 自建HomeAssistant定时任务——Google都没做到的事

图示1、2、3打开右侧边栏i是infomation窗口,中间的瓢虫就是debug,后面的是dashboard。

第十章 自建HomeAssistant定时任务——Google都没做到的事

看到payload没,他就是对应msg.payload的,同理event_type对应的就是msg.event_type。而再下一级的用法是msg.payload.time,以此类推。

我本身使用了很多IFTTT的事件触发,所以先要用switch模块来分流。

第十章 自建HomeAssistant定时任务——Google都没做到的事

分流之后的第一个输出口就是现在要用到的定时任务,

第十章 自建HomeAssistant定时任务——Google都没做到的事

这是我们在IFTTT中设定的事件所携带的信息,第一个event对应了刚才的分流设定,entity_id对应Google中的文字部分,time对应数字部分,command是为了方便添加删除等功能的附加字段,state这里为on表示这是设定让设备打开的命令,同理在IFTTT中设定off的命令,并把对应的state改为off,就完成了添加turn off的定时功能。由于这个Noede-RED的流程可以说是相当复杂,所以大家需要的话关注评论留言吧。

有任何疑问或者交流讨论,欢迎随时留言评论

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Endel 白噪声音频 手机软件

Endel 白噪声音频 手机软件

暂无报价

Ablo 即时通讯手机软件

Ablo 即时通讯手机软件

暂无报价

Enlight 图片后期处理 手机软件

Enlight 图片后期处理 手机软件

暂无报价

Boosted 手机软件

Boosted 手机软件

暂无报价

Appy Weather 天气手机软件

Appy Weather 天气手机软件

暂无报价

MashApp 短视频制作 手机软件

MashApp 短视频制作 手机软件

暂无报价

Post-it 办公便签 手机软件

Post-it 办公便签 手机软件

暂无报价

Curio 音频播报手机软件

Curio 音频播报手机软件

暂无报价

概念画板 手机软件

概念画板 手机软件

暂无报价

21 Buttons 服装时尚商店 手机软件

21 Buttons 服装时尚商店 手机软件

暂无报价

Big Bang AR 增强现实教学 手机软件

Big Bang AR 增强现实教学 手机软件

暂无报价

视频编辑大师 手机软件

视频编辑大师 手机软件

暂无报价

瑜伽初学者 手机软件

瑜伽初学者 手机软件

暂无报价

Smarter 脑力测试 手机软件

Smarter 脑力测试 手机软件

暂无报价

MelodyVR 虚拟现实看演出 手机软件

MelodyVR 虚拟现实看演出 手机软件

暂无报价

Wisdo: Mentoring & Motivation 话题论坛 手机软件

Wisdo: Mentoring & Motivation 话题论坛 手机软件

暂无报价
1评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
15
扫一下,分享更方便,购买更轻松