Mr.G 发表于 2023-6-30 18:56:03

根据论坛dscao大佬和风天气插件写的NR推送播报天气,11.16更新

本帖最后由 郭子漳 于 2023-11-16 11:32 编辑

说明:本帖NR流程中的播报是用的小爱音响,推送可以推送到IOS和企业微信

如果没有小爱音响,用的别的音响,或者别的TTS播报,改为对应的即可。

如果没有苹果手机,安卓手机推送论坛也有教程。只需添加推送即可。

企业微信可以注册一个就行,只不过是可信IP这里我是手动设置的,因为我路由器可以几个月不用重启,性能非常好,所以几乎不牵扯IP地址变化的问题。

1.首先安装论坛@dscao大佬的和风天气插件:https://bbs.hassbian.com/thread-21777-1-1.html



该插件配套的卡片,真的很赞,极力推荐!


2.把下方代码添加到configuration.yaml,然后重启homeassistant。

**** Hidden Message *****


在这里说下为什么要单独添加这个一小时天气预警的实体和自然灾害预警的实体,因为只有这样才能让实体state变更的时候去触发NR的流程,不然没有想到更好的办法去怎么触发!

注意:上方代码中的weather.XXXX替换为您的天气插件实体名

3.到设备与服务 ---- 辅助元素 ---- 创建 ,创建一个按钮,名字例如:1楼播报天气







然后到config目录下新建文件tsbtjl.txt,tsbtjl.txt文件内容为空就行,什么都不需要输入。


4.导入我下方的NR流程:






具体的逻辑我就不跟大家解释了,大家能看懂的自行去看流程里的代码即可!


这里的NR流程里写的最大支持同时推送4条,但是气象局应该不会同时推送那么多条的, 我们这边两条就很少有这种情况, 有好几条预警信息的情况有,但是同时一起推送两条的概率实际就不大。







③.每次气象台发布后,自动把发布时间+标题存到tsbtjl.txt文件中并加入竖线分割。


④.判断的时候去取tsbtjl.txt中的内容然后找putTime+标题是否在tsbtjl.txt文件中已经存在,如果存在就代表发布和推送过了,不会重复发布和推送
注:因为气象台有可能先发布了两条信息,但是其中一条到期后就剩一条了,如果不去做判断重复的话,那又会重复推送一次,所以这边加了判断重复,是根据时间+发布标题来判断!

**** Hidden Message *****

注意:NR流程中需要改的地方还蛮多的,您自己的温度、湿度、体感温度传感器,小爱TTS里面的设备ID,推送到企业微信的url和图片URL,推送的手机的实体都要改。

然后点击那个你创建的1楼播报天气按钮就能播报天气,也可以根据自己的需求配置自动化


上方的一小时天气预警就是会播报一小时降雨概率,如果检测到一小时内有降雨可能,就播报


说一下:NR流程中自然灾害预警信息推送和播报是一条一条的推送和播报,即发布一条推送和播报一条
如果同时发布两条就逐条推送新发布的这两条,三条、四条……(最多支持同时发布四条的推送和播报,实际上同时推送两条的概率就非常非常低)
而1楼播报天气按键按下后的自然灾害预警信息是有几条同时播报,具体播报的内容可以看下方的图就明白了



推送手机app效果展示









这边可以配合很多场景,比如可以在ipad、手机上弄个按键,点击时播报天气,或者联动指纹锁,检测到有人按指纹开门时,播报天气,如果指纹锁支持区分指纹,例如耶鲁的,我这边就是用的耶鲁的,就可以直接显示“亲爱的主人,XXX,欢迎您回家……”然后再加上播报天气,等等,也可以用一个计数器和一个人体传感器,来进行起床的检测,具体我另一个帖子里有介绍,https://bbs.hassbian.com/thread-21713-1-1.html,我目前就是检测到起床后,就播报该内容。

给大家看下我这边自用的nodered流程吧,基本上一样,就是多了计数器,还有联动警戒设防这块,每个人的应用、使用场景都不一样,还是根据自己的需求吧,各位!
我这边用了该大佬的节假日chineseholiday插件:https://github.com/Crazysiri/chineseholiday
我这边是联动的起床场景,检测到起床后就播报如下内容,并且这里做了一个判断,如果检测到结婚纪念日和我们家庭成员的生日剩余时间<=7天,那我这边就让他播报距离结婚纪念日(X周年)或距离XXX的生日还有7、6、5 ……天 ,如果距离0天的时候就代表是结婚纪念日当天或生日当天,就播报今天是结婚纪念日(X周年)或XXX生日,别忘了!









2023.08.27发现小爱音响播报时,如果内容中出现“我省”两个字,整条信息都不会播报,直接播报“内含敏感信息”,用了这么长时间气象台发布消息时第一次遇到内容中有“我省”两个字,解决办法如下,语音播报把“我省”替换为“婑眚”读音相同的,不影响什么。用别的音响播报的可能不存在这个问题,无需理会,这边修改后只是把播报的内容改了, 推送到手机的内容还是正确的“我省”!

一共需要修改两个地方,一个是自然灾害预警,另一个是下面每一个总播报内容





2023年11月16日更新:
由于nodered16.0.x版本往后把配置目录改为addon_configs/xxxxxxxx_nodered(xxxxxxxx每个人不一样),所以,如果升级nodered16.0.x以后版本的朋友,把tsbtjl.txt文件移动到addon_configs/xxxxxxxx_nodered这个目录下,然后其余不需要操作,就可以正常使用该流程,如果是16.0.x以前的朋友,还是按照教程来,无需任何操作!


有什么问题继续发帖留言反馈!






























jasonkiddy2k 发表于 2023-7-1 08:39:17

看看好不好用

nuknoop 发表于 2023-7-1 08:54:38

看看大佬

yunjing 发表于 2023-7-2 10:38:49

插个眼,以后慢慢学习

bbf162 发表于 2023-7-2 11:11:37

楼主大佬厉害

carloszo 发表于 2023-7-2 11:16:18

学习学习

88802270 发表于 2023-7-3 10:18:32

学习学习

starxxxw 发表于 2023-7-3 14:06:05

支持大佬,学习

含情化雨 发表于 2023-7-3 20:56:30

看看大佬的

xinghevss 发表于 2023-7-3 22:32:55

学习一下
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 根据论坛dscao大佬和风天气插件写的NR推送播报天气,11.16更新