本帖最后由 lidicn 于 2017-8-12 20:18 编辑
欢迎来到脑洞大开系列【自动化】教程
实现功能简介:
- 触发限定条件:1、监控的某条道路的state状态变为‘缓行’
- 触发限定条件:2、百度路况从公司到家的时间大于预定时间
- 触发限定条件:3、时间段
- 以上条件都满足后,播报触发者的路况信息、通过百度tts脚本生成mp3,通过微信notify,以文件的形式推送至用户。
本教程依赖列表如下:
- [教程]还有这种操作系列教程 之出门再也不怕堵车【高德交通...】https://bbs.hassbian.com/thread-845-1-1.html
- 百度路况、百度逆地理(通过GPS定位查询所在街道)HA组件https://bbs.hassbian.com/thread-665-1-1.html
- [教程]还有这种操作系列教程 之 具备7种人格的百度TTShttps://bbs.hassbian.com/thread-809-1-1.html
- [教程] 还有这种操作系列教程 之 wechat_Notify微信通知组https://bbs.hassbian.com/thread-731-1-1.html
备注:
- 为了配合自动化trigger.to_state修改了高德交通态势的状态换成了简单的状态(畅通、缓行、拥堵、超堵、未知、无数据),之前下载的需要去更新gaodetraffic.py
- 要实现下载百度tts的mp3文件,需要自己在脚本增加filename这个变量【注意:脚本里面增加了变量,调用的时候必须要使用(哪怕是空着),不然报错】
#小碧,3岁小萝莉一枚。主要负责卖萌。
bi_tts:
sequence:
- service: tts.baidu_say
data_template:
entity_id: media_player.vlc_player
message: '{{msg}}'
options:
speed: 3
pitch: 9
volume: 9
person: 0
filename: '{{filename}}'
cache: false
- alias: traffic_road_alarm
trigger:
platform: state
entity_id: sensor.road1_traffic, sensor.road2_traffic , sensor.road3_traffic
to: '缓行'
condition:
condition: and
conditions:
- condition: template
value_template: '{{ states.sensor.traffic_office_to_home.state | int > 30 }}'
- condition: time
after: '18:00:00'
before: '20:00:00'
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
action:
- service: tts.clear_cache
- delay: 00:00:03
- service: script.bi_tts
data_template:
msg: >
" {{ trigger.to_state.attributes.路况 }},现在回家
预计需要{{states.sensor.traffic_office_to_home.state}}分钟"
filename: roadtraffic.mp3
- delay: 00:00:03
- service: notify.wechatnotify
data_template:
message: "突发状况"
data:
file: "/home/homeassistant/.homeassistant/tts/roadtraffic.mp3"
target: !secret wechat_user1
下周更新预告:
周一:天气预警灯
周二:追踪者模式
周三:一键播报即时天气
周四:一键播报明日天气
周五:晚上降雨预警
周六:周末天气报告
|