| 本帖最后由 吹风机 于 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, 下载次数: 282) 
 
 
 
 |