SNMP bandwidth monitor using statistics

Thanks, tried out your sensor heirarchy, but the values don’t seem to correspond with my activity. I can confirm that .10 and .16 are “ifInOctets” and “ifOutOctets” but the values always stay under 1Mbps. I’ve tried these sensors for 1038 (br-lan) and 2059 (eth0.1) also.

Also looked at this guide from TP-Link: How to check the link status and data traffic statistics of TP-Link Business Routers with SNMP

The yaml I used:

- platform: snmp
  name: "Omada Router Eth0 Down"
  host: 192.168.29.1
  community: public
  baseoid: 1.3.6.1.2.1.2.2.1.10.1026
  version: '1'
  accept_errors: true  
  state_class: total_increasing
  icon: mdi:cloud-download
  unit_of_measurement: "B"

- platform: snmp
  name: "Omada Router Eth0 Up"
  host: 192.168.29.1
  community: public
  baseoid: 1.3.6.1.2.1.2.2.1.16.1026
  version: '1'
  accept_errors: true  
  state_class: total_increasing
  icon: mdi:cloud-download
  unit_of_measurement: "B"

- platform: derivative
  # Calculate the throughput by sampling the SNMP sensor
  name: "Network - WAN Down Throughput - Bps"
  source: sensor.omada_router_eth0_down
  unit_time: s
  round: 2
  
- platform: derivative
  # Calculate the throughput by sampling the SNMP sensor
  name: "Network - WAN Up Throughput - Bps"
  source: sensor.omada_router_eth0_up
  unit_time: s
  round: 2  

- platform: template
  sensors:
     wan_down_throughput:
       unit_of_measurement: Mbps
       # Convert throughput derivative from Bps to Mbps
       value_template: "{{ ((states('sensor.network_wan_down_throughput_bps') | int) * 8 / 10**6) | round(1) }}"
       
     wan_up_throughput:
       unit_of_measurement: Mbps
       # Convert throughput derivative from Bps to Mbps
       value_template: "{{ ((states('sensor.network_wan_up_throughput_bps') | int) * 8 / 10**6) | round(1) }}"