Aufsummieren von Sensoren anhand des Namens

AZDelivery NodeMCU ESP8266 Heltec mit OLED Display CP2104 WLAN WiFi Development Board kompatibel mit Arduino inklusive Ebook!
AZDelivery NodeMCU ESP8266 Heltec mit OLED Display CP2104 WLAN WiFi Development Board kompatibel mit Arduino inklusive Ebook!
15,99 €

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) }}