美文网首页智能家居与树莓派爱好者
Home Assistant系列 -- 设备定位与追踪

Home Assistant系列 -- 设备定位与追踪

作者: WireHome | 来源:发表于2019-05-22 10:42 被阅读5次

    HA 做为智能家居系统,也可以针对设备进行定位与追踪,并且可以通过ping 获得某个IP设备的在线与离线状态。

    HA中 的定位方法分为两大类,一类基于通讯网络,一类基于GPS。下给出常见的位置追踪方法:

    image

    前面三种都是基于通讯网络探测某个设备是否存在的方法。

    1. 第一种是登录到路由器上,通过路由器提供的信息确定设备是否在本局域网中。

    2. 第二种是直接扫描设备的IP地址,我们一般都是在树莓派上运行,可以直接在树莓派上进行扫描,从而获得设备是在线还是离线的信息。

    3. 第三种是通过蓝牙扫描,获得蓝牙设备是否在树莓派附近的信息,一旦发现设备存在,我们就可以认为设备的经纬度信息与HA是一致的,就可以定位设备。

    后面三种都是基于GPS定位,能够准确定位设备的经纬度信息。

    在HA中所有需要探测位置的设备,其信息都回保存在配置文件known_devices.yaml中,这个文件和主配置文件configuration.yaml 在相同目录,如果你没有,请自行创建,新建一个文本然后修改名称和后缀即可,先设置一个ping 组件,用于探测我正在运行的Windows 电脑是否在线,Windows电脑要被ping通,首先得打开它的防火墙设置,设置如下:

    image

    找到这两个入站规则,然后点击右边的 启用规则。接下来我们编辑HA的configuration.yaml配置文件,在其中空白处添加如下配置:

    device_tracker:
     - platform: ping
       hosts:
         desktop: xxx.xxx.x.xxx
    

    上面的XXX 为你电脑的ip 地址,不知道怎么查IP的,可以百度IP,就会显示你当前电脑的ip,或者win+R 输入cmd 回车,在弹出的窗口中输入 ipconfig 就会显示当前电脑的IP。设置完HA配置后,启动HA系统,在界面中就会显示desktop 这个设备 同时显示其状态为 home。

    image

    再打开 known_devices.yaml 这个文件,我们就可以看到这个设备的信息自动被添加到文件中。

    image

    下面对这个配置进行修改,首先我们编辑它的name 属性,此处我们可以使用中文。

    desktop:
      hide_if_away: false
      icon:
      mac:
      name: 我的电脑
      picture:
      track: true
      consider_home: 10
    

    这里增加了一项属性consider_home 此属性表示多少秒后不能ping通,就修改设备的状态为not home,保存配置文件,重启HA系统,就可以看到界面上显示的名称发送了改变。

    image

    我们可以通过Windows防火墙规则,来模拟设备的在线和离线,通过之前的 入站规则,点击右边的 启用规则 / 禁用规则 这时观察HA 界面 我的电脑 状态的变化。

    如果要删除一个被位置追踪的设备,需要删除HA的configuration.yaml配置文件中之前的配置,还需要将 known_devices.yaml 文件中 对应设备的 track 设置为 no 或者整个删除 即可。

    注意:演示的配置在实际使用中一定要注意缩进,因为手机显示的原因可能没有对齐。

    关注一下,更多精彩,不容错过!

    👇👇👇

    image

    相关文章

      网友评论

        本文标题:Home Assistant系列 -- 设备定位与追踪

        本文链接:https://www.haomeiwen.com/subject/yxryzqtx.html