Hey liebe Community
Um einen guten Überblick über den Zustand der HA zu bekommen, habe ich verschiedene Sensoren erstellt. Vielleicht hilft das dem einen oder anderen. Wenn aktiv, werden sie bei mir im Header angezeigt.
Wenn ein neues OTA- oder HA-Update vorhanden ist:
sensor:
- platform: template
sensors:
#Sensor der neue Updates prüft
new_update:
friendly_name: 'Neue Update'
unique_id: new_update
unit_of_measurement: 'Update'
value_template: "{{ states.update | selectattr('state', 'in', ['on']) | list | count }}"
Anzeige für ausgefallene Z-Wave-Aktoren. Sobald der Wert über eins ist, wird eine Ping-Automation ausgelöst.:
sensor:
- platform: template
# ZWaveJS Node Stats
zwavejs_node_statistics:
unique_id: zwavejs_node_statistics
friendly_name: "ZwaveJS Node Statistics"
icon_template: >-
{%- if states.sensor | selectattr('entity_id', 'search', '_node_status') | selectattr('state', 'in', 'dead, unknown') | list | count > 0 -%}
mdi:emoticon-sad
{%- elif states.sensor | selectattr('entity_id', 'search', '_node_status') | rejectattr('state', 'in', 'alive, asleep, dead, unknown') | list | count > 0 -%}
mdi:help-circle
{%- else -%}
mdi:z-wave
{%- endif -%}
value_template: "{{ states.sensor | selectattr('entity_id', 'search', '_node_status') | list | count }}"
attribute_templates:
Alive: "{{ states.sensor | selectattr('entity_id', 'search', '_node_status') | selectattr('state', 'in', 'alive, awake') | list | count }}"
Sleeping: "{{ states.sensor | selectattr('entity_id', 'search', '_node_status') | selectattr('state', 'in', 'asleep') | list | count }}"
Dead: "{{ states.sensor | selectattr('entity_id', 'search', '_node_status') | selectattr('state', 'in', 'dead, unknown') | list | count }}"
zwavejs_node_statistics_alive:
friendly_name: 'Zwave Alive'
unique_id: zwavejs_node_statistics_alive
unit_of_measurement: Entitäten
value_template: "{{ (state_attr('sensor.zwavejs_node_statistics', 'Alive') ) }}"
zwavejs_node_statistics_sleeping:
friendly_name: 'Zwave Sleeping'
unique_id: zwavejs_node_statistics_sleeping
unit_of_measurement: Entitäten
value_template: "{{ (state_attr('sensor.zwavejs_node_statistics', 'Sleeping') )}}"
zwavejs_node_statistics_dead:
friendly_name: 'Zwave Dead'
unique_id: zwavejs_node_statistics_dead
unit_of_measurement: Entitäten
value_template: "{{ (state_attr('sensor.zwavejs_node_statistics', 'Dead') )}}"
Dieser Sensor zeigt alle Batterien mit einem Wert unter 10 % an.
sensor:
- platform: template
battery_alert:
entity_id: sensor.date
friendly_name: 'Batteriestand'
unique_id: battery_alert
value_template: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s ] %}
{% endfor %}
{{ ns.below | count }}
attribute_templates:
battery_low: >
{% set ns = namespace(below=[]) %}
{% for s in states.sensor
if 'battery_level' in s.entity_id and s.state != 'unknown' and s.state|int < 10 %}
{% set ns.below = ns.below + [ s.name ~ ' (' ~ s.state ~ '%)'] %}
{% endfor %}
{{ ns.below | join(', ') }}
Dieser Sensor berechnet die Tiefsttemperatur der nächsten drei Tage. Liegt dieser Wert über dem Helfer-Wert, wird die Heizung ausgeschaltet, liegt er darunter, wird die Heizung eingeschaltet.
template:
- binary_sensor:
#Automatische Heizungssteuerung nach Aussentemperatur
- name: "Heizung ein/aus automatische Steuerung Aussentemperatur"
unique_id: heizung_ein_aus_automatische_steuerung_aussentemperatur
icon: mdi:heating-coil
state: >
{{ ((state_attr('weather.bern_zollikofen', 'forecast') [0] ['templow'] | float + state_attr('weather.bern_zollikofen', 'forecast') [1] ['templow'] + state_attr('weather.bern_zollikofen', 'forecast') [2] ['templow']) / 3) | round (2) | float <= states('input_number.heizung_ein_aus_aussenzieltemperatur') | float }}
Ich besitze ein NAS mit 8 Festplatten. Wenn eine Platte defekt ist, schickt mir HA eine Nachricht. Hier ist der entsprechende Sensor.
template:
- binary_sensor:
- name: "Zustand Laufwerk Netzwerkspeicher"
unique_id: zustand_laufwerk_netzwerkspeicher
icon: mdi:alert
state: >
{{ states.sensor | selectattr('entity_id', 'search', 'synology1812_laufwerk') | selectattr('entity_id', 'search', '_status') | selectattr('state', 'in', 'unavailable, normal') | list | count == 8}}
Ich hatte gerade einen Fall, bei dem ein Bewegungsmelder ausgefallen ist und ich es nicht bemerkt habe, bzw. erst nach mehreren Stunden, als das Licht immer noch brannte. Ich habe einen Sensor entwickelt, der das Attribut “last seen” verwendet. Dieses Attribut muss allerdings in Zigbee2MQTT aktiviert werden. Sobald ein Sensor 3h keinen Wert mehr liefert, wird eine Meldung ausgelöst.
template:
- binary_sensor:
- unique_id: z2m_last_seen_entities
name: "Z2M Last Seen Entities"
state: >
{% set lapsed_hours = 3 %}
{% set ns = namespace(count=0) %}
{% for state in states.sensor | selectattr('entity_id', 'search', '.*_last_seen$') %}
{% if states(state.entity_id) == 'unavailable' or ((as_timestamp(now()) - as_timestamp(states(state.entity_id),0)) > ((lapsed_hours | int) * 60 * 60)) %}
{% set ns.count = ns.count + 1 %}
{% endif %}
{% endfor %}
{{ ns.count }}
attributes:
devices: >
{% set lapsed_hours = 3 %}
{% set result = namespace(sensors=[]) %}
{% for state in states.sensor | selectattr('entity_id', 'search', '.*_last_seen$') %}
{% if states(state.entity_id) == 'unavailable' or ((as_timestamp(now()) - as_timestamp(states(state.entity_id),0)) > ((lapsed_hours | int) * 60 * 60)) %}
{% set result.sensors = result.sensors + [state.name | regex_replace(find='_last_seen', replace='') ~ ' (' ~ relative_time(strptime(states(state.entity_id), '%Y-%m-%dT%H:%M:%S%z', 'unavailable')) ~ ')'] %}
{% endif %}
{% endfor %}
{{ result.sensors | join(', ') }}
Wenn ihr noch nützliche Sensoren habt, schreibt teilt diese doch hier.