『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 152631|回复: 528

[进阶教程] 用device tracker检测路由器上设备状态,并加入HA和创建自动化

  [复制链接]

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

发表于 2017-9-3 15:32:08 | 显示全部楼层 |阅读模式
本帖最后由 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


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

为了使某个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
-----------------------------------------------------------
创建自动化


有了sensor,我们创建自动化就易如反掌了。设置触发器,platform为state,entity_id为刚才例中的sensor.anzhuo,"to"为"离线"(是的,中文)。然后是关灯还是语音播报还是推送通知,就任由你自己决定了。


2018.3.10 更新:L大给出了新的传感器配置方法,对于多设备自定义状态更加友好,推荐使用此方法! https://bbs.hassbian.com/thread-3000-1-1.html



评分

参与人数 2金钱 +15 收起 理由
sonyplays + 5 感谢楼主分享!
+ 10 赞一个!

查看全部评分

回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-3 16:17:58 来自手机 | 显示全部楼层
本帖最后由 27hh 于 2017-9-3 16:20 编辑

完结撒花

                               
登录/注册后可看大图
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2017-9-3 18:24:39 | 显示全部楼层

辛苦,谢谢分享!
回复

使用道具 举报

62

主题

603

帖子

6380

积分

论坛元老

Rank: 8Rank: 8

积分
6380
金钱
5702
HASS币
240

教程狂人论坛风云人物

发表于 2017-9-3 19:53:10 | 显示全部楼层
太牛逼了 ha能做的事情越来越多了 。多谢各位大神倾情奉献 ,让我这个小白能用越来越多的好东西
回复

使用道具 举报

5

主题

169

帖子

1401

积分

金牌会员

Rank: 6Rank: 6

积分
1401
金钱
1232
HASS币
0
发表于 2017-9-3 21:35:15 | 显示全部楼层
感谢分享,看来要换个路由器了
回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-3 21:57:25 | 显示全部楼层
East 发表于 2017-9-3 21:35
感谢分享,看来要换个路由器了

如果不换路由器也可以使用ping来实现,见: https://bbs.hassbian.com/forum.php?mod=viewthread&tid=145
回复

使用道具 举报

1

主题

66

帖子

366

积分

中级会员

Rank: 3Rank: 3

积分
366
金钱
300
HASS币
0
发表于 2017-9-4 10:34:59 | 显示全部楼层
好贴顶一个~
回复

使用道具 举报

20

主题

348

帖子

2541

积分

金牌会员

Rank: 6Rank: 6

积分
2541
金钱
2193
HASS币
0
发表于 2017-9-4 15:34:32 | 显示全部楼层
这个正需要 , 谢谢!
回复

使用道具 举报

4

主题

250

帖子

1293

积分

金牌会员

Rank: 6Rank: 6

积分
1293
金钱
1043
HASS币
0
发表于 2017-9-4 15:48:26 来自手机 | 显示全部楼层
辛苦,谢谢分享!
回复

使用道具 举报

1

主题

49

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
金钱
199
HASS币
0
发表于 2017-9-4 15:51:07 | 显示全部楼层
牛                        
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 21:18 , Processed in 0.109721 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表