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

 找回密码
 立即注册
查看: 4974|回复: 29

[技术探讨] 路由器流量统计

[复制链接]

9

主题

180

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1077
HASS币
0
发表于 2022-1-28 13:25:26 | 显示全部楼层 |阅读模式
想实现如下图这样,每个小时路由器wan口的上传总流量和下载总流量。
微信截图_20220128130109.png

路由器是刷了梅林官方固件的asus。使用UPnP/IGD或者ASUSWRT集成可以获取sensor.asuswrt_download和sensor.asuswrt_upload两个sensor。

但ASUS路由器上报的这两个sensor数值上限是4.3G,一旦达到4.3G,就会归零重新累计。

微信截图_20220128130607.png


loveUI的statistics太简单了,只有sum、mean、min、max几种统计方式,无法直接实现按小时统计。

研究了home assistant自带的statistics integration,里面有一个”change“的State Characteristic,可以比较source sensor采样的变化值,这样计算出没两次采样之间的差值,然后再按小时求和,就可以实现,但需要额外处理的是snesor达到4.3G之后的归零,没找到合适的办法。。。

有在HACS里找了找,感觉apexcharts-card比较强大,看起来应该能实现,里面有个transform和data_generator的选项,但是需要JS的基础。。。研究半天也没研究明白。

请教一下大家该怎么用最简单的方法实现。


回复

使用道具 举报

76

主题

1364

帖子

1万

积分

元老级技术达人

积分
18820
金钱
17416
HASS币
290
发表于 2022-1-28 16:00:57 | 显示全部楼层
简单测试了一下,apexcharts-card 确实比较强大,有空可以研究研究。
回复

使用道具 举报

9

主题

180

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1077
HASS币
0
 楼主| 发表于 2022-1-28 16:24:57 | 显示全部楼层

感谢,看了下integration的说明,没看出来怎么解决sensor的值累积到4.3G以后归零的问题。
回复

使用道具 举报

74

主题

1958

帖子

7963

积分

元老级技术达人

积分
7963
金钱
5955
HASS币
430

活跃会员教程狂人

发表于 2022-1-28 21:17:44 | 显示全部楼层
dscao 发表于 2022-1-28 16:00
简单测试了一下,apexcharts-card 确实比较强大,有空可以研究研究。

apexcharts-card 论坛分享和例子都计较少,期待大佬研究分享,哈哈哈哈
所有过往,皆为序章。
回复

使用道具 举报

22

主题

224

帖子

2418

积分

金牌会员

Rank: 6Rank: 6

积分
2418
金钱
2194
HASS币
0
发表于 2022-1-28 21:41:45 来自手机 | 显示全部楼层
插眼学习
回复

使用道具 举报

9

主题

180

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1077
HASS币
0
 楼主| 发表于 2022-1-28 23:25:33 | 显示全部楼层
本帖最后由 befantasy 于 2022-1-28 23:27 编辑
ryanh7 发表于 2022-1-28 19:10
默认会自动处理归零

测试了一下,好像还真可以。
utility_meter:
  hourly_upload:
    source: sensor.asuswrt_upload
    name: Hourly upload
    cycle: hourly

  hourly_download:
    source: sensor.asuswrt_download
      name: Hourly downlod
      cycle: hourly



观察了一下,原sensor到上限清零,这个新建的sensor也会正常累加,每到整点归零。这样在Lovelace UI里添加一个statistics,然后stat_types选max就可以了吧???
现在还没够一个小时,显示不出来,我一会儿看看。
反正至少用apexcharts-card是没问题了。

折腾了两天没搞定,多谢了。

回复

使用道具 举报

9

主题

180

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1077
HASS币
0
 楼主| 发表于 2022-1-28 23:53:08 | 显示全部楼层
感谢各位帮助,好像用Utility Meter加apexcharts-card已经可以了。

微信截图_20220128234709.png




回复

使用道具 举报

1

主题

172

帖子

2144

积分

金牌会员

Rank: 6Rank: 6

积分
2144
金钱
1972
HASS币
0
发表于 2022-2-3 15:50:46 | 显示全部楼层
befantasy 发表于 2022-1-28 23:53
感谢各位帮助,好像用Utility Meter加apexcharts-card已经可以了。

能分享一下apexcharts-card的配置吗
回复

使用道具 举报

9

主题

180

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1077
HASS币
0
 楼主| 发表于 2022-2-4 11:40:39 | 显示全部楼层
MattSmell 发表于 2022-2-3 15:50
能分享一下apexcharts-card的配置吗

type: custom:apexcharts-card
update_interval: 2m
stacked: false
graph_span: 13h
span:
  end: hour
hours_12: false
header:
  show: true
  title: 网络流量
  show_states: false
  colorize_states: true
series:
  - entity: sensor.hourly_upload
    name: 上传
    type: column
    color: '#3397da'
    opacity: 0.6
    group_by:
      func: max
      duration: 1h
    show:
      legend_value: false
  - entity: sensor.hourly_download
    name: 下载
    type: column
    color: '#7b4a8d'
    opacity: 0.6
    group_by:
      func: max
      duration: 1h
    show:
      legend_value: false
apex_config:
  chart:
    height: 200px
回复

使用道具 举报

4

主题

138

帖子

1243

积分

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1105
HASS币
0
发表于 2022-3-5 10:15:59 | 显示全部楼层
请教一下实时速度的代码,这个单位怎么换算成M/s
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-14 16:40 , Processed in 0.063078 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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