Redid wan traffic collection and replaced the old clumsy way. Added usage_meters.

This commit is contained in:
Marcus Scholz 2022-12-17 21:41:13 +01:00
parent 1d7ce83972
commit bc6964ce5f
5 changed files with 17 additions and 50 deletions

View File

@ -343,30 +343,6 @@
- schlafzimmer - schlafzimmer
- wohnzimmer - wohnzimmer
mode: single mode: single
- id: snmp_monitor_traffic_in
alias: Monitor Traffic In
trigger:
platform: state
entity_id: sensor.snmp_wan_in
action:
- service: input_number.set_value
data_template:
entity_id: input_number.internet_traffic_delta_in
value: '{{ ((trigger.to_state.state | int - trigger.from_state.state | int)
* 8 ) / ( as_timestamp(trigger.to_state.last_updated) - as_timestamp(trigger.from_state.last_updated)
) }}'
- id: snmp_monitor_traffic_out
alias: Monitor Traffic Out
trigger:
platform: state
entity_id: sensor.snmp_wan_out
action:
- service: input_number.set_value
data_template:
entity_id: input_number.internet_traffic_delta_out
value: '{{ ((trigger.to_state.state | int - trigger.from_state.state | int)
* 8 ) / ( as_timestamp(trigger.to_state.last_updated) - as_timestamp(trigger.from_state.last_updated)
) }}'
- id: '1632477389492' - id: '1632477389492'
alias: Licht beim Heimkommen einschalten alias: Licht beim Heimkommen einschalten
description: Nur während Dunkelphase description: Nur während Dunkelphase

View File

@ -31,11 +31,9 @@ wake_on_lan:
homeassistant: homeassistant:
customize: !include customize.yaml customize: !include customize.yaml
# Include helpers
input_number: !include input_number.yaml
# Additional sensors # Additional sensors
sensor: !include sensors.yaml sensor: !include sensors.yaml
utility_meter: !include utility_meters.yaml
# MQTT sensors # MQTT sensors
mqtt: !include mqtt.yaml mqtt: !include mqtt.yaml
@ -93,7 +91,7 @@ bluetooth:
# Bluetooth Low Energy tracker # Bluetooth Low Energy tracker
device_tracker: device_tracker:
- platform: bluetooth_le_tracker - platform: bluetooth_le_tracker
# track_new_devices: true track_new_devices: true
# Configure MPD addon as media player # Configure MPD addon as media player
media_player: media_player:

View File

@ -1,11 +0,0 @@
internet_traffic_delta_in:
name: "Traffic IN Delta"
initial: 0
min: 0
max: 1000000000000
internet_traffic_delta_out:
name: "Traffic OUT Delta"
initial: 0
min: 0
max: 1000000000000

View File

@ -30,10 +30,6 @@
- sensor.fritzbox_device_uptime - sensor.fritzbox_device_uptime
- sensor.snmp_wan_in - sensor.snmp_wan_in
- sensor.snmp_wan_out - sensor.snmp_wan_out
- input_number.internet_traffic_delta_in
- input_number.internet_traffic_delta_out
- automation.monitor_traffic_in
- automation.monitor_traffic_out
- sensor.time - sensor.time
# event_types: # event_types:
# - call_service # Don't record service calls # - call_service # Don't record service calls

View File

@ -21,31 +21,39 @@
query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1048576, 2) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;' query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1048576, 2) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
column: 'value' column: 'value'
unit_of_measurement: MB unit_of_measurement: MB
# SNMP (Juniper) router traffic sensor # SNMP (Juniper) router traffic sensor
- platform: snmp - platform: snmp
name: snmp_wan_in name: snmp_wan_in
host: !secret router_ip host: !secret router_ip
community: !secret router_community community: !secret router_community
baseoid: .1.3.6.1.2.1.2.2.1.10.511 baseoid: .1.3.6.1.2.1.2.2.1.10.511
- platform: snmp - platform: snmp
name: snmp_wan_out name: snmp_wan_out
host: !secret router_ip host: !secret router_ip
community: !secret router_community community: !secret router_community
baseoid: .1.3.6.1.2.1.2.2.1.16.511 baseoid: .1.3.6.1.2.1.2.2.1.16.511
- platform: derivative
source: sensor.snmp_wan_in
unit_time: s
unit: B
name: wan_in_derivative
- platform: derivative
source: sensor.snmp_wan_out
unit_time: s
unit: B
name: wan_out_derivative
- platform: template - platform: template
sensors: sensors:
internet_speed_in: internet_speed_in:
friendly_name: 'Internet Speed IN' friendly_name: 'Internet Speed IN'
value_template: '{{ ((states.input_number.internet_traffic_delta_in.state | float ) / 1000000 ) | round(2) }}' value_template: "{{ (( states('sensor.wan_in_derivative') | float * 8 / 1000000 ) | round(2)) }}"
unit_of_measurement: 'Mbps' unit_of_measurement: 'Mbps'
- platform: template
sensors:
internet_speed_out: internet_speed_out:
friendly_name: 'Internet Speed OUT' friendly_name: 'Internet Speed OUT'
value_template: '{{ ((states.input_number.internet_traffic_delta_out.state | float ) / 1000000 ) | round(2) }}' value_template: "{{ (( states('sensor.wan_out_derivative') | float * 8 / 1000000 ) | round(2)) }}"
unit_of_measurement: 'Mbps' unit_of_measurement: 'Mbps'
- platform: statistics - platform: statistics
@ -53,7 +61,6 @@
state_characteristic: mean state_characteristic: mean
entity_id: sensor.internet_speed_in entity_id: sensor.internet_speed_in
sampling_size: 10 sampling_size: 10
- platform: statistics - platform: statistics
name: 'WAN Traffic Out' name: 'WAN Traffic Out'
state_characteristic: mean state_characteristic: mean
@ -71,3 +78,4 @@
sun_setting_template: sun_setting_template:
friendly_name: "Sun Setting Template" friendly_name: "Sun Setting Template"
value_template: "{{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom ('%H:%M') }}" value_template: "{{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom ('%H:%M') }}"