67 lines
2.8 KiB
YAML
67 lines
2.8 KiB
YAML
- sensor:
|
|
- name: "HPE Trunk 1 Download Rate"
|
|
unique_id: hpe_trunk_1_download_rate
|
|
unit_of_measurement: "Mbit/s"
|
|
device_class: data_rate
|
|
state: >
|
|
{% set bytes = states('sensor.hpe_switch_port_trk1_traffic_in') | float(0) %}
|
|
{% set last_bytes = state_attr('sensor.hpe_trunk_1_download_rate', 'last_bytes') | float(0) %}
|
|
{% set now_ts = as_timestamp(now()) %}
|
|
{% set last_ts = state_attr('sensor.hpe_trunk_1_download_rate', 'last_ts') | float(now_ts) %}
|
|
|
|
{% set delta_bytes = bytes - last_bytes %}
|
|
{% set delta_time = now_ts - last_ts %}
|
|
|
|
{% if delta_time > 0 and delta_bytes >= 0 and last_bytes > 0 %}
|
|
{{ ((delta_bytes * 8) / delta_time / 1000000) | round(2) }}
|
|
{% else %}
|
|
0.0
|
|
{% endif %}
|
|
attributes:
|
|
last_bytes: "{{ states('sensor.hpe_switch_port_trk1_traffic_in') }}"
|
|
last_ts: "{{ as_timestamp(now()) }}"
|
|
- sensor:
|
|
- name: "HPE Trunk 1 Upload Rate"
|
|
unique_id: hpe_trunk_1_upload_rate
|
|
unit_of_measurement: "Mbit/s"
|
|
device_class: data_rate
|
|
state: >
|
|
{% set bytes = states('sensor.hpe_switch_port_trk1_traffic_out') | float(0) %}
|
|
{% set last_bytes = state_attr('sensor.hpe_trunk_1_upload_rate', 'last_bytes') | float(0) %}
|
|
{% set now_ts = as_timestamp(now()) %}
|
|
{% set last_ts = state_attr('sensor.hpe_trunk_1_upload_rate', 'last_ts') | float(now_ts) %}
|
|
|
|
{% set delta_bytes = bytes - last_bytes %}
|
|
{% set delta_time = now_ts - last_ts %}
|
|
|
|
{% if delta_time > 0 and delta_bytes >= 0 and last_bytes > 0 %}
|
|
{{ ((delta_bytes * 8) / delta_time / 1000000) | round(2) }}
|
|
{% else %}
|
|
0.0
|
|
{% endif %}
|
|
attributes:
|
|
last_bytes: "{{ states('sensor.hpe_switch_port_trk1_traffic_out') }}"
|
|
last_ts: "{{ as_timestamp(now()) }}"
|
|
- sensor:
|
|
- name: "HPE Trunk 1 Gesamt Durchsatz"
|
|
unique_id: hpe_trunk_1_total_rate
|
|
unit_of_measurement: "Mbit/s"
|
|
device_class: data_rate
|
|
state: >
|
|
{% set download = states('sensor.hpe_trunk_1_download_rate') | float(0) %}
|
|
{% set upload = states('sensor.hpe_trunk_1_upload_rate') | float(0) %}
|
|
{{ (download + upload) | round(2) }}
|
|
|
|
- sensor:
|
|
- name: "HPE Trunk 1 Upload Rate Negativ"
|
|
unique_id: hpe_trunk_1_upload_rate_negativ
|
|
unit_of_measurement: "Mbit/s"
|
|
device_class: data_rate
|
|
state: >
|
|
{% set upload = states('sensor.hpe_trunk_1_upload_rate') %}
|
|
{% if upload in ['unknown', 'unavailable', 'none'] or not upload %}
|
|
0.0
|
|
{% else %}
|
|
{{ (upload | float(0) * -1) | round(2) }}
|
|
{% endif %}
|