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

 找回密码
 立即注册
查看: 10773|回复: 8

[插件集成] 【修改版】华硕路由器获取温度,附其他型号修改方法

[复制链接]

4

主题

50

帖子

419

积分

论坛技术达人

积分
419
金钱
364
HASS币
20
发表于 2019-9-17 10:57:03 | 显示全部楼层 |阅读模式
本帖最后由 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链接自己的路由器跑一下试试看。





评分

参与人数 1金钱 +20 收起 理由
+ 20 膜拜大神!

查看全部评分

回复

使用道具 举报

13

主题

500

帖子

3422

积分

论坛元老

Rank: 8Rank: 8

积分
3422
金钱
2917
HASS币
20
发表于 2019-9-17 18:11:30 | 显示全部楼层
顶一下,论坛好久没有出过这么好的帖子了!
回复

使用道具 举报

4

主题

83

帖子

418

积分

论坛积极会员

积分
418
金钱
335
HASS币
0
发表于 2019-9-18 14:58:20 | 显示全部楼层
用梅林改的能用吗
回复

使用道具 举报

4

主题

50

帖子

419

积分

论坛技术达人

积分
419
金钱
364
HASS币
20
 楼主| 发表于 2019-9-18 18:38:39 | 显示全部楼层
yaosong100 发表于 2019-9-18 14:58
用梅林改的能用吗

原帖写的可以用,我想应该可以。要获取失败按照我的教程修改一下命令就可以。你可以试试的
回复

使用道具 举报

2

主题

83

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
金钱
181
HASS币
0
发表于 2019-9-21 12:46:49 | 显示全部楼层
谢谢,正找
回复

使用道具 举报

0

主题

128

帖子

1262

积分

金牌会员

Rank: 6Rank: 6

积分
1262
金钱
1134
HASS币
0
发表于 2019-9-25 17:05:26 | 显示全部楼层
感谢分享~~~
回复

使用道具 举报

2

主题

121

帖子

879

积分

高级会员

Rank: 4

积分
879
金钱
758
HASS币
0
发表于 2019-10-24 15:45:59 | 显示全部楼层
11122222.png 2222222.png   我想问下,我的是AC86U的官改,软件中心安装的SS,这里不显示状态,请问大概是什么情况?
回复

使用道具 举报

19

主题

417

帖子

2467

积分

金牌会员

Rank: 6Rank: 6

积分
2467
金钱
2045
HASS币
20
发表于 2020-2-22 20:43:57 | 显示全部楼层
SS 都看不到不知道为啥 我连2.4G 数量都看不到 但是 我用命令可以看到 不知道哪里问题
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
发表于 2020-4-29 17:19:13 | 显示全部楼层
请教一下:
使用v2ray插件的,通过哪个nvram vaule获取信息了?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 01:40 , Processed in 0.105017 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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