Aufsummieren von Sensoren anhand des Namens

WS2812 B Stripe 1m 60 LED´s mit integrierten WS2811 Controller PCB schwarz
WS2812 B Stripe 1m 60 LED´s mit integrierten WS2811 Controller PCB schwarz
14,90 €

Wenn man z.B. den Status aller Sensoren die mit „_energy“ enden aufsummieren möchte, kann man das mit einem kleinen Template-Sensor umsetzen.

In der „for“-Zeile werden alle State-Objekte von der Domain „sensor“ selektiert und diese werden mit Hilfe des „if“-Statements auf die Sensoren gefiltert, die mit „_energy“ enden. In der For-Schleife werden die Zustandswerte der einzelnen Sensoren in der Variable „result“ aufsummiert und am Ende als Zustandswert des neuen Template-Sensors zurückgeliefert.

  - name: "Verbrauch Gesamt"
    device_class: energy
    unit_of_measurement: "kWh"
    state: >
      {% set result = namespace(summe=0) %}
      {% for sensor in states.sensor if sensor.entity_id.endswith('_energy') %}
      {% set result.summe=result.summe + states(sensor.entity_id)|float(0)%}
      {% endfor %}
      {{ result.summe|round(3) }}