本帖最后由 吹风机 于 2021-3-28 02:21 编辑
在论坛搜索了好几天,在安卓端的定位方式有很多,有用Tasker的,有用GPS Logger的。还有官方推出的安卓客户端。但是这些都或多或少有缺陷,在我的小米手机中,将Tasker GPS Logger这些软件的自启打开 后台锁定 省电改为无限制。。但最终还是获取定位不稳定,要不是相隔时间太久,要不是直接罢工。
而官方的客户端可以主动唤醒,但是由于有些bug没有解决,定位信息总是不能及时进行发送。所以是一直困扰我的瓶颈。
直到昨天看到一个ytb上的一个作者 分享了一个iOS定位的方式,是通过iCloud进行定位,效果很好。这让我突然想到国内手机平台也提供了找回手机的功能,并且找回手机功能可以获得稳定的定位情况,所以就考虑直接从厂商云平台拿手机的定位情况。
于是今天就搞了半天,登陆部分参考了论坛另外一位大神写的小爱音箱通过小米API进行TTS的部分,加上小米云服务的爬取,写了一个基于小米云服务的定位插件,只适用于MIUI系统的手机。
项目地址:MiPhone_tracker
可以直接用hacs安装自定义库的方式安装
或者进行手动安装:
在 custom_components/ 文件夹下建立文件夹 MiPhone_tracker/ ,将 init.py manifest.json sensor.py 放入 MiPhone_tracker/ 中
在 /config/configuration.yaml 中添加以下语句
sensor:
- platform: MiPhone_tracker
account: '13888888888'
password: '123456789'
update_delta: 300
device_choose: 1
coordinate_type: original
account password为账号密码,
device_choose为设备的选择,默认为第一个
update_delta为获取时间间隔,默认为300秒
coordinate_type为坐标类型,可选 baidu, google, original 三种坐标类型,不同类型的坐标位置与精度不同,无此选项时默认为baidu
填写完保存,重启
由于才入坑几星期,找了一堆资料不知道怎么创建device_tracker类型的实体,所以暂时只创建为sensor类型
尝试了用template也不行,现在我唯一知道的,可以利用GPS Logger的api,在内网调用创建一个实体,但感觉不够优雅。有木有大佬可以说说怎么搞。
使用插件前先看看在HA所在IP下 自己账号登录小米云服务需不需要验证码,如果有验证码就无解了。
更新记录:
2021/03/28 v0.2.2
修复了小米账号无法登录的问题
2020/08/13 v0.2.1
修复更新时间偏移,以HA系统时区为准
2020/08/03 v0.2.0
增加坐标类型选择,可选 baidu, google, original 三种坐标类型
MiPhone_tracker_v0.2.2.zip
(4.93 KB, 下载次数: 274)
|