本帖最后由 zhengran14 于 2019-9-17 11:00 编辑
首先感谢该贴大神:https://bbs.hassbian.com/forum.php?mod=viewthread&tid=3697&highlight=%E5%8D%8E%E7%A1%95,该插件是基于该贴插件修改而来,支持最新0.9x版本。
【支持华硕官方固件】
如果有时间可能会更新:
1、修复获取时间短时获取不到数据的bug
2、支持ai mesh的子节点路由器状态(这个大概率可以做到,但是还没时间尝试)3、插件直接支持内存使用率
这里我就不做回帖可见啦,大家随意下载。使用方法和适配自己的路由器方法可以继续往下看,如果和楼主是一个路由器,可以直接拿来用。
asus_router_monitor.zip
(7.2 KB, 下载次数: 114)
我家的路由器是GT-AC5300主路由+2个86u做ai mesh。使用该大神插件后发现无法获取温度等信息,然后网上查了下最新的获取温度信息的命令,做了以下修改:
1、支持最新的官方固件获取温度
2、支持5300的三个Wi-Fi温度获取(2.4g和2个5g)
使用:
还是老样子,复制粘贴到“custom_components/”下即可。配置参考原帖即可,这里注意三点:
1、插件名称我修改了下 platform: asus_router_monitor
2、刷新间隔update_interval建议使用10分钟。我原先使用的1分钟,但是一段时间后会获取不到数据,我暂时没有去看问题所在。修改为10分钟目前比较稳定。配置为 update_interval: '00:10:00'3、如果想获取内存使用率,我没有加到插件里,所以暂时可以用template做,代码如下:
router_mem_load:
entity_id:
- sensor.router_mem_used
- sensor.router_mem_free
value_template: "{{ (states('sensor.router_mem_used')|replace('K', ''))|int * 100 // ((states('sensor.router_mem_used')|replace('K', ''))|int + (states('sensor.router_mem_free')|replace('K', ''))|int) }}"
friendly_name: 内存使用率
unit_of_measurement: '%'
因为华硕路由器型号众多,我这里大致说一下如何修改适配自己的路由器,在插件目录“asus_router_monitor/”下有一个“sensor.py”,打开后里面的第85行开始就是各个参数获取的命令行,你们可以根据自己的路由器进行修改:
# command_lines
_CMD_NAME = 'nvram get computer_name'
_CMD_WANIP = 'nvram get wan_ipaddr'
_CMD_LANIP = 'nvram get lan_ipaddr'
_CMD_MAC = 'nvram get lan_hwaddr'
_CMD_UPTIME = 'uptime'
_CMD_CPUTEMP = "cat /sys/class/thermal/thermal_zone0/temp |awk '{print int($1 / 1000)}'"
_CMD_24GTEMP = "wl -i eth6 phy_tempsense |awk '{print $1 / 2 + 20}'"
_CMD_5GTEMP = "wl -i eth7 phy_tempsense |awk '{print $1 / 2 + 20}'"
_CMD_5G2TEMP = "wl -i eth8 phy_tempsense |awk '{print $1 / 2 + 20}'"
_CMD_24GTXPWR = 'wl -i eth6 txpwr_target_max'
_CMD_5GTXPWR = 'wl -i eth7 txpwr_target_max'
_CMD_5G2TXPWR = 'wl -i eth8 txpwr_target_max'
_CMD_MEM = 'top -n 1 -b |grep ^Mem'
_CMD_PPP0SPD = "cat /proc/net/dev |grep ppp0 |awk '{print $2,$10}'"
_CMD_SSF = 'nvram get ss_foreign_state'
_CMD_SSC = 'nvram get ss_china_state'
_CMD_STALIST = 'wl assoclist'
_CMD_24GSTALIST = 'wl autho_sta_list'
_CMD_5GSTALIST = 'wl -i eth7 autho_sta_list'
_CMD_5G2STALIST = 'wl -i eth8 autho_sta_list'
其中你们可以看到eth6、eth7、eth8,这里是我的三个Wi-Fi芯片对用的eth,有些路由器如果是两个,可能是eth1、eth2,总之这里可以自行修改尝试,命令也可以先通过ssh链接自己的路由器跑一下试试看。
|