本帖最后由 he_qr 于 2019-7-4 14:51 编辑
微信上的推送效果
该效果实现步骤1、traccar上送点火熄火信息,2、高德逆地理,3、企业微信推送,4,高德静态地图
一、traccar上报车辆点火熄火信息
支持traccar的设备很多,除了手机客户端外,最合适的莫过于安装在车辆上的gps设备,某宝有不接电源带电池续航的,张大妈有19元直接接入电瓶和车辆继电器的,但我个人倾向于OBD接口的,安装方便,没有外接电源和充电烦恼,但traccar官网上,traccar支持设备列表,信息滞后又繁杂,后来在官方论坛看到一款支持4G和iot连接的obd设备,深圳产外贸货,辗转问到官方淘宝店,要价400(比海外100刀还算良心,带官方平台,自备sim卡),可是还是太贵放弃,后来在咸味土豆的帖子了解到某强设备支持使用gt06协议接入traccar平台,马上在某鱼入手一个该品牌obd设备(带一年平台,不带sim卡),99元,小巧方便,插入车辆obd基本隐藏,这里要提下某宝某鱼的这些GPS设备价格是根据是否带商家的平台和流量卡来区分价格的,但是接入traccar自有平台,买了6元一年10G流量的卡,所以尽量就挑选不要商家平台和流量卡的最便宜款,而且商家平台还存在隐私泄露问题
配置就不细说了,官方文档很详细,主要提到两点
1、gt06协议的时间有问题,送到traccar的时间是UTC时间,不是北京时间,所以在traccar添加设备时候,属性要配置下时区
2、设备配置通过短信下发,接入traccar的短信指令SERVER,1,域名,端口,0#或者SERVER,0,IP,端口,0#;gt06设备的默认端口是5023,其他短信指令见gt06-g326短信指令
3、traccar平台送到homeassistant的数据是不包括点火情况,所以需要在配置添加
- platform: traccar
host: !secret traccar_host
port: !secret traccar_port
ssl: true
verify_ssl: false
username: !secret traccar_username
password: !secret traccar_password
monitored_conditions: ['status', 'ignition', 'blocked', 'charge']
event: ['all_events']
monitored_conditions中的参数ignition,就是通过obd获取的点火情况,这是entity下的一个attribute,我们可以通过state_attr('entity', 'attribute')获取值,或者is_state_attr('entity', 'attribute',true)是否是指定状态,作为一个触发条件
- alias: 车辆点火启动
initial_state: true
trigger:
platform: template
value_template: "{{ is_state_attr('device_tracker.car', 'ignition', true) }}"
OBD接口配合traccar的好处就是可以实现最短5秒间隔的位置上送,却不用担心电量问题二、高德逆地理和企业微信推送
因为我们有车辆的gps信息,根据[流程系列] 百度/高德逆地理-获取位置信息同步HA,我们可以轻松将GPS信息转为地址;
透过[基础教程] 通过企业微信推送消息(暂时取代方糖),我们将地址发送
- service: notify.weixin_qiye
data:
title: "点火"
message:
"text|车子在{{states('sensor.XXXXXX')}}点火启动"
记得去掉企业微信中“仅在企业微信中接受消息”,这样就可以在绑定微信收到推送,如果你要多个企业微信账号,这个设置是相互独立的
三、高德静态地图
在点火熄火是推送了地址信息不够直观,所以我增加了该gps位置的高德静态地图推送,企业微信推送模块支持推送图片
- service: notify.weixin_qiye
data:
title: "点火"
message:
"news|车子在{{states('sensor.XXXXXX')}}点火启动|[url=https://restapi.amap.com/v3/staticmap?zoom=14&size=1024]https://restapi.amap.com/v3/staticmap?zoom=14&size=1024[/url]*512&markers=large,,A:{{state_attr('device_tracker.car', 'longitude')+0.00485}},{{state_attr('device_tracker.car', 'latitude')-0.00300}}&key=高德key|[url=https://restapi.amap.com/v3/staticmap?zoom=14&size=1024]https://restapi.amap.com/v3/staticmap?zoom=14&size=1024[/url]*512&markers=large,,A:{{state_attr('device_tracker.car', 'longitude')+0.00485}},{{state_attr('device_tracker.car', 'latitude')-0.00300}}&key=高德key"
关于api参加详见静态地图-API文档
由于偏移问题存在,所以根据实际情况在{{state_attr('device_tracker.car', 'longitude')+0.00485}},{{state_attr('device_tracker.car', 'latitude')-0.00300}}中修正下经纬度
最后感谢@咸味土豆、@81795791和@令狐鸣,谢谢令狐鸣昨天还指导我在node-red去掉逆地理的省市信息
PS,请教下大家,用微信接受企业微信推送,查看信息时候像订阅号消息,二层菜单,先进入绑定的企业微信号,再进入推送服务下,是否有办法让推送服务在一级菜单下
|