跳转至

定位信息与自动化

《HomeAssistant智能家居实战篇》视频

Zone

  • zone指地球表面上的一个区域,一个zone由中心点经纬度+半径大小定义

  • 设备定位信息,与定义的zone关联,可以衍生出进入某个zone、离开某个zone、距离某个zone多远等概念

  • 地点'我的家'(zone.home

    • 修改zone.home的经纬度:配置-通用
    • 修改zone.home的半径
      # configuration.yaml文件
      zone:
        # This will override the default home zone
        - name: Home
          latitude: 32.8793367
          longitude: -117.2474053
          radius: 400
      
  • 增加新的地点

    • '被动式'地点
      • 不出现在地图中
      • device_track域的实体状态不会变更为这个地点的名称

当被定为的设备位于在某个zone时,实体状态为zone的名字(被动式zone除外)

自动化

触发:设备(人)进入/离开某个地点

条件:设备(人)位于某个地点

模板

  • 判断状态(适用于非被动式地点)

    is_state('device_tracker.paulus', 'home')

  • 计算距离

    • {{ distance(123.45, 123.45) }}
    • {{ distance('device_tracker.paulus') }}
    • {{ distance('zone.home') }}
    • {{ distance(123.45, 123.45, 'device_tracker.paulus') }}
    • {{ distance('device_tracker.anne_therese', 'device_tracker.paulus') }}
  • 最近的定位实体

    • {{ closest(states.device_tracker) }}
    • {{ closest('group.children') }}
    • {{ closest('zone.school', 'group.children') }}
    • {{ closest(23.456, 23.456, states.device_tracker) }}

Proximity组件

proximity:
  home:
    devices:
      - person.pi
    unit_of_measurement: m

返回课程目录↩