本帖最后由 lidicn 于 2018-1-8 10:17 编辑
先上面板图片
百度路况传感器的state是起点到终点的时间。Attributes下面有个路况属性如图。
百度逆地理传感器通过给定的device_tracker的entityid,获取device_tracker的属性。增加address这个属性。
注册百度地图开放平台【有百度账号即可】
在百度地图开放平台内,新建应用
浏览器测试,能否使用百度路况
浏览器打开这个网址
http://api.map.baidu.com/direction/v1?mode=driving&origin=清华大学&destination=北京大学&origin_region=北京&destination_region=北京&output=json&ak=您的ak
在返回的json里,找这个字段['result']['taxi']['duration']
如果找不到,可能是百度路况并不支持当前城市,或者是地点填得不规范。
这两个sensor的扫描时间都是30秒一次,逆地理要转换gps定位需要多花一次。apikey不够用的赶紧去认证吧。
使用方法:
解压附件放入对应文件夹。custom_components\sensor
逆地理查询的用法这里就不展示了,我用在https://bbs.hassbian.com/thread-549-1-1.html
一键查询离家距离,并播报所在街道。
调用街道的方法:
{{states.device_tracker.************.attributes.address}}
逆地理查询灵感及部分代码来源https://bbs.hassbian.com/thread-451-1-1.html
更新百度逆地理功能:
9月5日更新:- 修复bug,现在会新建一个传感器,该传感器为 sensor.你的trackerid
- state为traker到目的地的时间
- 属性为路况、tracker所在地址
- 当device_tracker状态为 Home,state会为0,地址不会出现
9月19日更新:- 修复device_tracker entily_id不换号导致的错误 【感谢热心坛友帮助调试xiaoguaileo、jdeal】
- device_tracker entily_id 是可以填多个的,如下面的例子【楼主没条件测试,没试过】
sensor:
- platform: baidu_travel_time
name: traffic home to office
origin: 家的地址
origin_region: 家的所在城市
destination: 公司地址
destination_region: 公司所在城市
api_key: 百度apikey提交身份证后3w每天
- platform: baidu_travel_time
name: traffic office to home
origin: 公司地址
origin_region: 公司所在城市
destination: 家的地址
destination_region: 家的所在城市
api_key: 百度apikey
- platform: baidu_geocode
name: trackeraddress
api_key: !secret baidu_api_key
tracker_id:
- 你要查地址的设备device_tracker entity_id
- 你要查地址的另一个设备device_tracker entity_id
origin_region: 设备的所在城市
destination: 家的地址
destination_region: 家的所在城市
附录:
百度api设置,要设置ip白名单
87楼有热心坛友提供的测试百度路况api的方法
|