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

 找回密码
 立即注册
查看: 180244|回复: 264

[插件集成] 【AsusWrt】自制路由器信息插件,支持华硕梅林,5月13日更新

  [复制链接]

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-5-9 00:47:16 | 显示全部楼层 |阅读模式
本帖最后由 Mirukuteii 于 2018-8-2 12:59 编辑


【AsusWrt】自制路由器信息采集插件,支持华硕梅林固件,更新至0.06版


【AsusWrt】自制路由器信息插件,支持华硕梅林固件

插件发布 AsusWrt sensor  路由器 华硕 梅林

憋说话,先发图。
1.png

感谢

万分感谢@aktfin@咸味土豆@yoyosuka 以及其他坛友们对本插件提出的宝贵意见和建议,并感谢囧帅大大@Jones以及论坛一如既往的支持。

更新

  • Version:0.06 (update:2018-05-13):
    -增加了2个新的实体,sensor.router_wifi_24G_stalistsensor.router_wifi_5G_stalist,用来获取2.4G和5G无线网络设备接入情况。两个实体的状态值代表接入设备的数量,属性sta_list中保存了接入设备的MAC地址列表。
    -更改了若干个实体的默认ICON。
  • Version:0.05 (update:2018-05-11):
    修正了Telnet链接缺少关键库的疏漏。
    修正了上传速度依然可能为负值的疏漏。
  • Version:0.04 (update:2018-05-10):
    加入对系统默认温度单位的判断,添加支持华氏度。
    修正了uint32最大值归零,导致网速为负值的错误。
  • Version:0.03 (update:2018-05-10):
    对实体_update方法的字典取值方式进行改进,避免由于路由器故障而出现KeyError错误。

前言

前段时间楼主拜读了囧帅大大@Jone的神贴:梅林路由器CPU和无线芯片温度接入Home Assistant,有所启发,一直想写本插件。本来五一前准备完成的,不料病来如山倒,一个流感把我折腾了好几个礼拜,真要命,趁着这几天终于觉得好点了,赶紧来交作业。由于时间有限,目前这个插件只是一个很基础的版本,很多功能写得不够完善,设想中的一些功能也没有添加进去,不过至少可以正常使用。

原理

利用SSH或Telnet远程登录路由器并运行相应指令以获取路由器信息。

前置条件

  • 确保你的路由器固件与AsusWrt兼容(楼主的路由器是网件R7000,固件是华硕梅林380.66_4-X7.5),好吧其实这点也不是很重要。
  • 确保你的路由器已经打开SSH或者Telnet。这点至关重要。

特性和展望

  • 由于是自制插件,为避免未知错误导致HA无法启动,本插件设定为HA完全初始化之后(通过监听事件)才开始装载。所以理论上,本插件不可能导致HA无法启动的情况,也不可能拖慢HA的启动速度。
  • 本插件提供的网速功能,计算对象为路由器PPP0口,下载与上传均为对外速度,不包含内部传输。算法上比较粗糙,也许会出现遗漏流量的情况。具体算法为根据插件前后两次读取的数据进行计算,将两次获得的PPP0口数据量之差除以读取时间之差。正因如此,本插件刚启动后,由于只获得一次更新值,故无法通过差值计算网速,此时状态显示为:spd init...,这是正常现象,只需等待至第二次状态更新后,即可通过差值得到正常数据。
  • 本插件提供的无线传输功率功能,每个值对应的是一根天线,一般有几根天线就有几个值。
  • 插件装载后,SSH进入打开状态,除非更新时间设定过长超时关闭,否则不会自动关闭,直至HA关闭为止。
  • 目前本插件只是运行在sensor插件下的一个平台型插件,与HA自带的device_tracker.asuswrt插件并不冲突。后期考虑并入device_tracker.asuswrt的一些功能。
  • 本插件提供的无线网络接入设备列表,方法为以设备授权为准判定是否接入,略区别于device_tracker.asuswrt中的以设备关联为准,经测试本方法同样准确、迅速、可靠)。
  • 后期将进一步改进各项功能。

文件

asuswrt.py

请放在配置文件根目录下的custom_components/sensor文件夹中,若不存在请创建。
文件链接:(版本0.06 更新2018-05-13)



asuswrt.py (20.01 KB, 下载次数: 766)

routermon.yaml

建议放在自己的packages文件夹中,也可将其内容修改并添加到configuration.yaml中。group中的传感器请注意按照自己的配置进行修改。

#AsusWrt路由器监控配置文件

sensor:
  - platform: asuswrt
    host: #你的路由器IP地址,必填
    username: #路由器登录用户名,必填
    protocol: #协议,填ssh或者telnet,默认ssh
    port: #ssh或telnet端口, 默认22
    password: #如果使用密码登录,就在这里填密码
    ssh_key: #如果你使用sshkey登录,就在这里填私钥文件的路径
    update_interval: '00:01:00' 
    #更新间隔时间,默认1分钟,建议不低于30秒,不大于5分钟(过大会导致网速计算错误)
    router_conditions:
      - cpu  #可选项,CPU信息类
      - mem  #可选项,内存信息类
      - net  #可选项,网络信息类
      - wifi #可选项,无线网络信息类
             #可选项,不可描述

group:
  routermon:
    name: 'ROUTER监控'
    view: no
    entities:
      - sensor.router_name
      - sensor.router_nowtime
      - sensor.router_uptime
      - sensor.router_cpu_temp
      - sensor.router_cpu_1min_load
      - sensor.router_cpu_5min_load
      - sensor.router_cpu_15min_load
      - sensor.router_mem_used
      - sensor.router_mem_free
      - sensor.router_mem_shrd
      - sensor.router_mem_buff
      - sensor.router_mem_cached
      - sensor.router_net_mac
      - sensor.router_net_wan_ip
      - sensor.router_net_lan_ip
      - sensor.router_net_wan_downspd
      - sensor.router_net_wan_upspd
      - sensor.router_wifi_24G_temp
      - sensor.router_wifi_5G_temp
      - sensor.router_wifi_24G_txpwr
      - sensor.router_wifi_5G_txpwr
      - sensor.router_wifi_24G_stalist
      - sensor.router_wifi_5G_stalist

Groups.yaml

把如下代码放置到该文件的某个位置,那个你想要显示的群组的entities项中。

- group.routermon

评分

参与人数 5金钱 +77 收起 理由
dodiu + 20 又如滚滚黄河之水,一发不可收拾…….
+ 20 感谢楼主分享 && 恭喜楼主升级!.
咸味土豆 + 10 我来瀚思就为看你!
Milo + 20 赠人玫瑰,手留余香!
yoyosuka + 7 膜拜大神!

查看全部评分

回复

使用道具 举报

13

主题

258

帖子

2072

积分

金牌会员

Rank: 6Rank: 6

积分
2072
金钱
1814
HASS币
0
发表于 2018-5-9 01:11:21 | 显示全部楼层
简直爆炸,给跪了。
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

 楼主| 发表于 2018-5-9 01:15:16 | 显示全部楼层
yoyosuka 发表于 2018-5-9 01:11
简直爆炸,给跪了。

怎么啦老哥
回复

使用道具 举报

25

主题

688

帖子

3630

积分

论坛元老

Rank: 8Rank: 8

积分
3630
金钱
2937
HASS币
219

活跃会员

发表于 2018-5-9 06:49:14 | 显示全部楼层
本帖最后由 aktifin 于 2018-5-9 07:04 编辑

谢谢分享测试华硕原厂固件使用正常
回复

使用道具 举报

0

主题

76

帖子

764

积分

禁止访问

积分
764
金钱
688
HASS币
0
发表于 2018-5-9 07:43:42 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

6

帖子

58

积分

注册会员

Rank: 2

积分
58
金钱
52
HASS币
0
发表于 2018-5-9 08:12:47 | 显示全部楼层
先下载试试
回复

使用道具 举报

6

主题

737

帖子

5582

积分

论坛元老

Rank: 8Rank: 8

积分
5582
金钱
4840
HASS币
20
发表于 2018-5-9 08:14:52 | 显示全部楼层
支持原创。。
回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

发表于 2018-5-9 08:45:34 | 显示全部楼层
膜拜大神,这个有需要,拿走了,谢谢。
所有过往,皆为序章。
回复

使用道具 举报

2

主题

54

帖子

935

积分

高级会员

Rank: 4

积分
935
金钱
881
HASS币
0
发表于 2018-5-9 08:54:55 来自手机 | 显示全部楼层
这个感觉很好了,谢谢分享
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16013
金钱
11302
HASS币
45
发表于 2018-5-9 08:59:56 | 显示全部楼层
恭喜楼主升格为“技术达人”!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-24 21:02 , Processed in 0.186813 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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