定位信息与自动化
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