Home Assistant Templates / Statistik und Sensoren

 

Zusätzlich zu den Sensoren bestimmter Geräte ist es möglich eigene Sensoren in Home-Assistant anzulegen: zum Beispiel über die Statistik-Integration oder über Templates.

Template-Sensor

Templates ermöglichen das Erstellen von eigenen Sensoren mithilfe von Jinja2, einer voll funktionsfähigen Template-Engine für Python. In einem Template können die Daten von verschiedensten Sensoren umgewandelt, kombiniert oder mit eigenen Formeln versehen werden.

Neben der configuration.yaml- Datei können Templatesensoren auch in der Verwaltungsoberfläche, unter Einstellungen, Geräte & Dienste / Helfer erstellt werden:

Als Beispiel gibt es in Home Assistant als Status das Datum und die Uhrzeit für den nächsten Sonnenaufgang, in der Form von:  2023-09-12T07:40:21.796007+00:00. Um die Uhrzeit über ein Template zu extrahiert, kann folgender Templatesensor erstellt werden:

{{ as_timestamp(states.sun.sun.attributes.next_rising) | timestamp_custom(' %H:%M') | replace(" 0", "") }}


Der Wizard zeigt bereits eine Vorschau mit dem Ergebnis.

Alternativ zur Verwaltungsoberfläche können Templates auch in der Datei configuraton.yaml angelegt werden:

sensor:
  - platform: template
    sensors:
      nextsunrise:
        friendly_name: 'Sonnenaufgang'
        value_template: >
          {{ as_timestamp(states.sun.sun.attributes.next_rising) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
        icon_template: mdi:weather-sunset-up
      nextsunset:
        friendly_name: 'Sonnenuntergang'
        value_template: >
          {{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
        icon_template: mdi:weather-sunset-down
      nextsunsetsunrise:
        friendly_name: 'Sonne'
        value_template: >
          {{ as_timestamp(states.sun.sun.attributes.next_rising) | timestamp_custom(' %H:%M') | replace(" 0", "") }} - {{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
        icon_template: mdi:weather-sunset-up   

Neue Templates können zudem vorab im Template-Editor getestet werden: "Entwicklerwerkzeuge" /  "Template":

Template Beispiele

was Template
Sonnenaufgang
{{ as_timestamp(states.sun.sun.attributes.next_rising) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
Sonnenuntergang
 {{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
Sonne
 {{ as_timestamp(states.sun.sun.attributes.next_rising) | timestamp_custom(' %H:%M') | replace(" 0", "") }} - {{ as_timestamp(states.sun.sun.attributes.next_setting) | timestamp_custom(' %H:%M') | replace(" 0", "") }}
Leistung (Watt) aus Strom (I) und Spannung (U)
{% set V = states('sensor.meter01_voltage_l1') | float %}
{% set A = states('sensor.meter01_current_l1') | float %}
{{ ( 0.9 * A * V) | round(0)}}
Über den Stromverbrauch der Heizungssteuerung -  gemessen mit einer Zigbee Steckdose - kann ich feststellen, welche Aktion die Heizung gerade durchführt.
{% set value = states('sensor.heating_active_power') | float %}
          {{ "aus" if value < 10 else 
          "Pumpen" if value < 58 else 
          "Warmwasser" if value < 70 else 
          "Pumpen" if value < 125 else 
          "Heizen" }}

Plattform Integration

Um aus einem Momentanwert den Verbrauch zu bestimmen, kann eine sogenannte Plattform-Integration verwendet werden. Als Beispiel kann aus bestimmten Verbrauchswerten: Watt der komplette Verbrauch summiert werden:

sensor:
  - platform: integration
    source: sensor.waschmaschine_power
    name: waschmaschine_energy_sum
    unit_prefix: k
    unit_time: h
    round: 2  

Der Verbrauch wird summiert: 

Um den summierten Verbrauch wieder auf eine bestimmte Zeitspanne zu beziehen, kann die "Platform Integration" als „utility_meter“ verwendet werden:

Utility_Meter

Der Utility-Meter verwendet den Gesamtverbrauch und unterteilt diesen in bestimmte Zeitspannen: z.B. stündlich (hourly) oder (täglich) daily:

utility_meter:
  waschmaschine_hour:
    source: sensor.trockner_energy_sum
    name: Waschmaschine hour
    cycle: hourly  
  waschmaschine_daily:
    source: sensor.trockner_energy_sum
    name: Waschmaschine hour
    cycle: daily

Statistics Platform

Mithilfe der Statistics Platform können bestimmte historische Werte repräsentiert werden, als Beispiel die Summe bestimmter Werte:

  - name: rain_weather_24
    platform: statistics
    entity_id: sensor.rain_weather
    state_characteristic: sum
    max_age:
      hours: 24

sum_differences verwendet die Unterschiede zwischen den Werten bei einem fortlaufenden Zähler:

  - name: powerplug_24
    platform: statistics
    entity_id: sensor.powerplug_summation_delivered
    state_characteristic: sum_differences	
    max_age:
      hours: 24
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details