Aufsummieren von Sensoren anhand des Namens

AZDelivery RFID Kit RC522 mit Reader, Chip und Card 13,56MHz SPI kompatibel mit Arduino und Raspberry Pi inklusive E-Book!
AZDelivery RFID Kit RC522 mit Reader, Chip und Card 13,56MHz SPI kompatibel mit Arduino und Raspberry Pi inklusive E-Book!
5,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) }}