klausk
1. Januar 2025 um 12:16
1
Hallo zusammen,
ich mithilfe von Simons Beispiel den poweropti mit div. Sensoren angelegt. Nun möchte ich, dass beim Sensor “Strom-Haushalt-9229”
nur positive Werte erfasst und dargestellt werden. Kann ich da direkt die if-Bedingung einbauen?
template:
- sensor:
- name: "Strom-Haushalt-9229"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
state: >
{{ state_attr('sensor.poweropti', 'Watt') }}
x1marc
1. Januar 2025 um 12:41
2
Hallo,
ich hab den Code genommen und mal durch ChatGPT gejagt mit deiner Beschreibung: Test mal dies:
template:
- sensor:
- name: "Strom-Haushalt-9229"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
state: >
{% set watt = state_attr('sensor.poweropti', 'Watt') %}
{{ watt if watt | float(default=0) > 0 else 0.0 }}
Mein Sensor sieht so aus:
# Strom Bezug von Netz
- sensor:
- name: "Strombezug vom Netz (Watt)"
unique_id: "GridtoAppartment"
state_class: measurement
icon: mdi:transmission-tower-import
unit_of_measurement: W
device_class: power
state: >
{% set value = states('sensor.shelly_3pm_pro_total_active_power') | float(0) %}
{% if is_number(states('sensor.shelly_3pm_pro_total_active_power')) and value > 0 %}
{{ value | round(3) }}
{% else %}
0.0
{% endif %}
Auch von ChatGPT erstellt.
Gruß Marc
klausk
1. Januar 2025 um 14:41
3
Hallo Marc,
das war ein guter Anfang. Mit diesem Code-Schnipsel klappt es. Danke Dir unch ChatGPT
- sensor:
- name: "Strom-Haushalt-9229"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
state: >
{% set value_9229 = state_attr('sensor.poweropti', 'Watt') %}
{% if value_9229 < 0 %}
{{ value_9229 | round(2) }}
{% else %}
0.0
{% endif %}