本帖最后由 27hh 于 2018-6-7 16:28 编辑
改编自: https://philhawthorne.com/using- ... of-your-smart-home/
-----------------------------------------------------------
在享受着智能家庭便利的同时,我们可能会有着这样的需求:我想统计家庭成员在家的时间分布?
我想绘制家里人数的变化曲线?
我想当我睡觉或出门时,手机断开WiFi后,关闭所有灯光?
也可能有这样的担忧:
如果我的网关坏掉了,导致遥控器和传感器停止工作怎么办?
如果我的智能插座离线了,造成不方便甚至事故怎么办?
这篇文章将为大家讲解利用 device tracker 实时监测联网设备的状态,并以此创建自动化的方法。
已知支持的设备:使用华硕/梅林/pavadan系统的路由器、小米路由器、特定型号的TP-LINK路由器。
-----------------------------------------------------------
目录
1.配置路由器和HA
2.使tracker显示在HA中
3.使tracker的显示更加直观
4.创建自动化
-----------------------------------------------------------
配置路由器和HA
1. 打开路由器的SSH(以梅林固件为例):
登录/注册后可看大图
QQ截图20170903151932.png (82.44 KB, 下载次数: 0)
下载附件
2017-9-3 15:20 上传
2. 使HA对接路由器:
在congfigure.yaml中加入:
device_tracker:
- platform: asuswrt
host: 路由器地址,默认192.168.1.1
interval_seconds: 15
consider_home: 180
username: 路由器用户名,小米路由器者请删除本行
password: 路由器密码
track_new_devices: yes
platform: asuswrt 小米路由器请修改为 xiaomi,其他无需修改
interval_seconds 是每隔多少秒扫描一次,数值过低会加重路由器负担;
consider_home 是当设备持续离线多少秒后,认为离家;
track_new_devices 是对于新接入路由器的设备,默认跟踪还是不跟踪,yes或no都可以,无非就是下一步是选择需要不跟踪的设备还是需要跟踪的设备。
注:Home Assistant 0.60以后的版本写法有变动,敬请参阅:https://bbs.hassbian.com/forum.php?mod=viewthread&tid=2131
保存后重启Home Assistant,在HA的安装目录下发现known_devices.yaml文件,这个文件记录了目前连接到路由器的所有设备。对于不想关心的设备,将track改为false。对于想关心的设备,track应为true。配置完后,把track_new_devices改为no,再次重启HA。
-----------------------------------------------------------
使tracker显示在HA中
现在,在History页面里,你可以找到设备了,这就说明tracker已经配置成功了。接下来我们来看看,如何使它们“光明正大”地显示在页面里。
登录/注册后可看大图
QQ截图20170903153710.png (30.5 KB, 下载次数: 0)
下载附件
2017-9-3 15:38 上传
为了使某个entity(一般称之为组件)显示出来,我们常常使用group的方法。为了方便管理,我们在package文件夹里创建一个yaml,名称随意(本例为track.yaml),然后编辑其内容:
group:
devices:
name: 连接的设备
entities:
- device_tracker.android301d707279d953a9
现在,你应该可以在首页找到“连接的设备”分组,并且里面显示了 android301d707279d953a9 这个设备的状态。
-----------------------------------------------------------
使tracker的显示更加直观
我们现在看到的设备,状态只能是home或not home。如何自定义状态信息呢?我们可以创建一个自定义传感器。
回到刚才的track.yaml,加入以下内容:
sensor:
- platform: template
sensors:
anzhuo:
value_template: "{% if states.device_tracker.android301d707279d953a9%}
{% if is_state('device_tracker.android301d707279d953a9', 'home') %}
在线
{% else %}
离线
{% endif %}
{% else %}
未知
{% endif %}"
friendly_name: '安卓手机'
这样是不是直观多了?
登录/注册后可看大图
QQ截图20170903160026.png (13.6 KB, 下载次数: 0)
下载附件
2017-9-3 16:00 上传
-----------------------------------------------------------
创建自动化
有了sensor,我们创建自动化就易如反掌了。设置触发器,platform为state,entity_id为刚才例中的sensor.anzhuo,"to"为"离线"(是的,中文)。然后是关灯还是语音播报还是推送通知,就任由你自己决定了。
2018.3.10 更新:L大给出了新的传感器配置方法,对于多设备自定义状态更加友好,推荐使用此方法! https://bbs.hassbian.com/thread-3000-1-1.html