#------------------------------------------- # Network Related Packages # @CCOSTAN # Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig #------------------------------------------- #------------------------------------------- sensor: - platform: template sensors: network: friendly_name: 'Network Monitor' value_template: > {%- set domains = ['device_tracker'] -%} {%- for domain in domains -%} {%- for item in states[domain] if (item.attributes.source_type is defined and item.state != 'home' and item.attributes.friendly_name not in [ 'Chromecast Audio 2', 'Carlo', 'Entry Alarm Panel', 'Dash Button', 'Master Bedroom Roku', 'Brother Printer', 'Stacey', 'Wii', 'Withings Scale' ]) and(as_timestamp(now()) - as_timestamp(item.last_changed)) > 600 -%} {{ item.attributes.friendly_name }} {%- if not loop.last -%} {{' '}} {%- endif -%} {%- endfor -%} {%- endfor -%} - platform: template sensors: network_detail: friendly_name: 'Network Monitor Detail' value_template: > {%- set domains = ['device_tracker'] -%} {%- for domain in domains -%} {%- for item in states[domain] if (item.attributes.source_type is defined and item.state != 'home' and item.attributes.friendly_name not in [ 'Chromecast Audio 2', 'Carlo', 'Entry Alarm Panel', 'Dash Button', 'Master Bedroom Roku', 'Brother Printer', 'Stacey', 'Wii', 'Withings Scale' ]) and(as_timestamp(now()) - as_timestamp(item.last_changed)) > 600 -%} {{ item.attributes.friendly_name }} - {{((as_timestamp(now()) - as_timestamp(item.last_changed))/60) | round() }} minutes {%- if not loop.last -%} {{' '}} {%- endif -%} {%- endfor -%} {%- endfor -%} group: network: entities: - sensor.ha_installed_version - sensor.ha_uptime - sensor.since_last_boot_templated - sensor.disk_used_ - sensor.speedtest_download - sensor.speedtest_upload - binary_sensor.carlowink - sensor.network_detail #------------------------------------------------------------------------------------- automation: - alias: 'Device Status' hide_entity: True trigger: - platform: state entity_id: - sensor.network - binary_sensor.carlowink action: - service: script.notify_engine data_template: value1: 'Offline Devices:' value3: "{{ states.sensor.network_detail.state }}" who: 'carlo' # - service: script.speech_engine # data_template: # value1: "The following Devices are in an Offline state {{ trigger.to_state.state }}"