Stimmt der Code so?

Muhkuh666

Member
Hallo bitte um Hilfe Danke Euch! Irgendwie wird sehr starker Regen nicht angezeigt, wo liegt der Fehler?


Code:
  - platform: template
    sensors:
      regenmenge:
        friendly_name: Regen
        icon_template: " mdi:weather-rainy"
        value_template: "{% set regen = states('sensor.easyweatherv1_6_5_rain_rate')|float %}
        {% set regen_round = regen|round(1) %}
        {% if regen <= 0.0 %}kein Regen, {{regen_round}} mm/h
        {% elif regen <= 0.1 %}leichter Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 0.4 %}mäßiger Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 0.5 %}starker Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 2.4 %}leichter Regen, {{regen_round}} mm/h
        {% elif regen <= 9.9 %}mäßiger Regen, {{regen_round}} mm/h
        {% elif regen >= 10 %}starker Regen, {{regen_round}} mm/h
        {% else %} regen > 50 %}sehr starker Regen, {{regen_round}} mm/h
        {%- endif %}"

  - platform: template
    sensors:
      regenmenge2:
        friendly_name: Regen
        icon_template: " mdi:weather-rainy"
        value_template: "{% set regen2 = states('sensor.easyweatherv1_6_5_rain_rate')|float %}
        {% if regen2 <= 0.0 %}kein Regen
        {% elif regen2 <= 0.1 %}leichter Sprühregen
        {% elif regen2 <= 0.4 %}mäßiger Sprühregen
        {% elif regen2 <= 0.5 %}starker Sprühregen
        {% elif regen2 <= 2.4 %}leichter Regen
        {% elif regen2 <= 9.9 %}mäßiger Regen
        {% elif regen2 >= 10 %}starker Regen
        {% else %} regen2 > 50 %}sehr starker Regen
        {%- endif %}"
 
Zuletzt bearbeitet:
weil er bei Starken Regen abbricht. Das müsste ja
Code:
{% elif regen2 <= 50 %}starker Regen
heissen
 
Wie kann ich denn testen ob es nun funktioniert?

Code:
regenmenge:
        friendly_name: Regen
        icon_template: " mdi:weather-rainy"
        value_template: "{% set regen = states('sensor.easyweatherv1_6_5_rain_rate')|float %}
        {% set regen_round = regen|round(1) %}
        {% if regen <= 0.0 %}kein Regen, {{regen_round}} mm/h
        {% elif regen <= 0.1 %}leichter Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 0.4 %}mäßiger Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 0.5 %}starker Sprühregen, {{regen_round}} mm/h
        {% elif regen <= 2.4 %}leichter Regen, {{regen_round}} mm/h
        {% elif regen <= 9.9 %}mäßiger Regen, {{regen_round}} mm/h
        {% elif regen >= 10 %}starker Regen, {{regen_round}} mm/h
        {% elif regen > 50 %}sehr starker Regen, {{regen_round}} mm/h
        {%- endif %}"
 
Wie kann ich denn testen ob es nun funktioniert?
Entwicklerwerkzeuge => Template:
YAML:
{% set regen = 11 %}
{% set regen_round = regen|round(1) %}
{% if regen <= 0.0 %}kein Regen, {{regen_round}} mm/h
{% elif regen <= 0.1 %}leichter Sprühregen, {{regen_round}} mm/h
{% elif regen <= 0.4 %}mäßiger Sprühregen, {{regen_round}} mm/h
{% elif regen <= 0.5 %}starker Sprühregen, {{regen_round}} mm/h
{% elif regen <= 2.4 %}leichter Regen, {{regen_round}} mm/h
{% elif regen <= 9.9 %}mäßiger Regen, {{regen_round}} mm/h
{% elif regen <= 10 %}starker Regen, {{regen_round}} mm/h
{% else %}sehr starker Regen, {{regen_round}} mm/h
{% endif %}
Die Variable regen einmal manuell setzen und dann durchtesten, so stimmts dann aber auch.

@Steevee hatte das schon korrekt erläutert, jeder Wert ab 10 ist in dem elif von "starker Regen" gelandet, zu "sehr starker Regen" konnte die Abfrage so garnicht kommen, über 50 ist ja auch über 10 also... starker Regen.
 
Kann sein - dann eben {% elif regen <= 50 %}starker Regen, {{regen_round}} mm/h stattdessen - aber dafür gabs die Anleitung zum selber testen ja nun dabei :D
 
in den elif-Zweig geht er ja nur rein, wenn die letzte Bedingung false war. Deshalb kannst du da nicht einfach wechseln zwischen > und <. Wenn etwas größer 10 ist, dann wird halt nicht mehr nach größer 50 abgefragt, weil die vorherige Bedingung true war.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.418
Mitglieder
6.157
Neuestes Mitglied
WesaNET
Zurück
Oben