本帖最后由 lidicn 于 2018-2-5 10:53 编辑
实现功能:
- 可在不重启HA的情况下变更快递单号,包裹名称。
- 按需调用,使用脚本强制更新快递物流信息
- web界面,友好替换快递单号、包裹名称
原理:
- 新建指定数量的空sensor
- sensor读取express_file.json获取快递单号、包裹名称
- 通过某api获取物流信息
- 通过sensor.expreesscheck_edit_tracking_number服务,更改快递单号、包裹名称
配置流程:
- 下载文件
- express_file.json复制到 /.homeassistant/downloads/
- express_check.py复制到 /.homeassistant/custom_components/sensor
配置Yaml:
sensor:
- platform: express_check
file_path: downloads
num: 10
scan_interval: 600
script:
express_tracker_update:
sequence:
- num: 10【将会新建10个快递查询sensor】【序号从0到9】
- file_path: downloads 【配置存放express_file.json的路径,需要ha具备读写权限的路径】本例用的是 /.homeassistant/downloads/,没这个文件夹的,自行在samba下新建
- scan_interval: 600 600秒的扫描时间
- script.express_tracker_update,是一个空脚本,每次更改了快递单号,都要触发这个脚本来达到强制更新,否则按照本例,需要等600秒才会刷新。
服务调用方法:
{"num":"9","tracking_num":"12345678","name":"蓝牙耳机"}
num是快递查询sensor的序号
tracking_num是快递单号【如果省略,将会清空该sensor的快递单号,变为空的sensor】
name是包裹名称,可以省略
web界面使用方法:
ExpressSensor的状态:
EXPRESS_STATE_TYPE = {
'0':'运输中',
'1':'揽件',
'2':'疑难',
'3':'已签收',
'4':'退回签收',
'5':'派送中',
'6':'退回中',
}
致谢:
|