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

 找回密码
 立即注册
查看: 3239|回复: 9

[技术探讨] 解释下路由器+ping做device_tracker

[复制链接]

16

主题

167

帖子

1367

积分

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1200
HASS币
0
发表于 2021-10-15 22:28:39 来自手机 | 显示全部楼层 |阅读模式
路由器+ping是一种比较可靠、容易实现、又0额外成本的device_tracker方案。这个方案其实是路由器为主,通过路由器获取设备在线列表;ping为辅,只是用来促保活,不管能不能ping通的,其实不ping可能也没区别,只是这个方案是从ping改进过来的,用的挺好就没在比较ping不ping的区别了。
我一开始也是用ping检测设备是否在线,对于iphone效果实在是差,home_intetval从2分钟改大到半小时还是可能因为休眠误判。其实半小时ping不通并不意味着iphone真就休眠了半小时,还能收到apple push能证明这点,只是半分钟或者十几秒ping一次很难赶上iphone唤醒几秒又休眠。于是我就想,既然iphone有联网,要是路由器上有记录不就能比较可靠的判断设备在线了?
问题是路由器上有没有这个记录以及去哪里查这个记录呢?其实很简单,就是ARP表。惊不惊喜意不意外?有原理支撑的https://www.cnblogs.com/lsgxeva/p/13749751.html
所以只要你能从路由器上获得动态ARP表,就能用来判断设备是否在线,根本不用管能否ping通。直接路由器上arp命令查询、走路由器api查询(包括将api集成到ha)、ssh/telnet登录到路由器查arp表等都行。

device_tracker:
  - platform: ping_arp
    interval_seconds: 15
    home_interval: 20
    consider_home: 45
    ignore_ping: true
    iface: br-lan
    hosts: 192.168.0.0/24
    exclude: 192.168.0.1
    new_device_defaults:
      track_new_devices: false
回复

使用道具 举报

100

主题

2880

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11507
金钱
8562
HASS币
460

教程狂人突出贡献

发表于 2021-10-15 23:07:57 来自手机 | 显示全部楼层
arp确实是个好主意!不过这是一个定制组件吧?能否把组件的链接也贴出来呢?
回复

使用道具 举报

7

主题

193

帖子

1551

积分

金牌会员

Rank: 6Rank: 6

积分
1551
金钱
1358
HASS币
0
发表于 2021-10-16 09:25:47 | 显示全部楼层
支持。期待大神的进一步拓展
回复

使用道具 举报

4

主题

82

帖子

336

积分

中级会员

Rank: 3Rank: 3

积分
336
金钱
254
HASS币
0
发表于 2021-12-1 20:16:34 | 显示全部楼层
具体任何使用,老哥细细讲一下可以么?纯小白,谢谢!
回复

使用道具 举报

37

主题

402

帖子

4131

积分

元老级技术达人

积分
4131
金钱
3674
HASS币
250
发表于 2021-12-1 21:24:49 | 显示全部楼层
以前也尝试用arp表来获取设备上下线状态,但是发现下线的时候延时太长了。很不靠谱,所以还是尝试去从路由器的无线模块上面去写插件了。
回复

使用道具 举报

4

主题

82

帖子

336

积分

中级会员

Rank: 3Rank: 3

积分
336
金钱
254
HASS币
0
发表于 2021-12-1 23:35:34 | 显示全部楼层
platform: ping_arp  这个需要插件么?
回复

使用道具 举报

2

主题

24

帖子

129

积分

注册会员

Rank: 2

积分
129
金钱
105
HASS币
0
发表于 2021-12-12 20:10:26 | 显示全部楼层
arp 离线太慢了 半天没有反应 小白没有能力去搞其他的尴尬
回复

使用道具 举报

3

主题

284

帖子

2166

积分

金牌会员

Rank: 6Rank: 6

积分
2166
金钱
1882
HASS币
0
发表于 2022-4-8 17:37:44 | 显示全部楼层
楼主插件可以放出来吗。
回复

使用道具 举报

5

主题

68

帖子

270

积分

中级会员

Rank: 3Rank: 3

积分
270
金钱
202
HASS币
0
发表于 2024-4-17 01:54:32 | 显示全部楼层
cason8001 发表于 2021-12-1 23:35
platform: ping_arp  这个需要插件么?

https://community.home-assistant ... vice-tracker/104040

应该是这里的插件
回复

使用道具 举报

5

主题

68

帖子

270

积分

中级会员

Rank: 3Rank: 3

积分
270
金钱
202
HASS币
0
发表于 2024-4-17 01:57:30 | 显示全部楼层
wbdownn 发表于 2022-4-8 17:37
楼主插件可以放出来吗。

https://community.home-assistant ... vice-tracker/104040

你试试效果怎么样
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-9 06:35 , Processed in 0.075485 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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