Hilfe bei template.yaml

Hallo.

Ich versuche ein openhasp Display als Wetteranzeige für 6 Tage zu betreiben. Eigentlich bin ich schon sehr weit aber irgendwie bin ich zu doof für dieses Sensor Template. Ich möchte die Windrichtung als Anzeige aber diese Sensor funktioniert nicht.

Hier mein Template.yaml



  - trigger:
      - platform: time_pattern
        minutes: "/1"
    action:
      - action: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_wetter
        data:
          type: daily
        response_variable: vorhersage
    sensor:
      - name: Wettervorhersage
        unique_id: weather_entity_forecast
        state: "{{ now().isoformat() }}"
        icon: mdi:calendar-range
        attributes:
          forecast: "{{ vorhersage['weather.forecast_wetter'].forecast }}"


          
sensor:
  - platform: template
    sensors:
      wetterhoechsttemperatur0:
        friendly_name: "Hoechsttemperatur0"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].temperature }}"
      wetterniedriegtemperatur0:
        friendly_name: "Niedrigtemperatur0"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].templow }}"
      wetterhimmel0:
        friendly_name: "Himmel0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].condition }}"
      wetterwindgeschwindigkeit0:
        friendly_name: "Windgeschwindigkeit0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_speed }}"
        unit_of_measurement: "km/h"
      wetterwindrichtung0:
        friendly_name: "Windrichtung0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_bearing }}"        

        
      wetterhoechsttemperatur1:
        friendly_name: "Hoechsttemperatur1"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].temperature }}"
      wetterniedriegtemperatur1:
        friendly_name: "Niedrigtemperatur1"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].templow }}"
      wetterhimmel1:
        friendly_name: "Himmel1"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].condition }}"
        
      wetterhoechsttemperatur2:
        friendly_name: "Hoechsttemperatur2"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].temperature }}"
      wetterniedriegtemperatur2:
        friendly_name: "Niedrigtemperatur2"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].templow }}"
      wetterhimmel2:
        friendly_name: "Himmel2"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].condition }}"
        
      wetterhoechsttemperatur3:
        friendly_name: "Hoechsttemperatur3"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].temperature }}"
      wetterniedriegtemperatur3:
        friendly_name: "Niedrigtemperatur3"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].templow }}"
      wetterhimmel3:
        friendly_name: "Himmel3"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].condition }}"
        
      wetterhoechsttemperatur4:
        friendly_name: "Hoechsttemperatur4"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].temperature }}"
      wetterniedriegtemperatur4:
        friendly_name: "Niedrigtemperatur4"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].templow }}"
      wetterhimmel4:
        friendly_name: "Himmel4"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].condition }}"
        
      wetterhoechsttemperatur5:
        friendly_name: "Hoechsttemperatur5"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].temperature }}"
      wetterniedriegtemperatur5:
        friendly_name: "Niedrigtemperatur5"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].templow }}"
      wetterhimmel5:
        friendly_name: "Himmel5"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].condition }}"
 
  - sensor:
  - name: "Windrichtung"
    state: >
      {% set direction = ['N','NNO','NO','ONO','O','OSO','SO','SSO','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}
      {% set degree = states('sensor.wetterwindrichtung0')|float %}
      {{ direction[((degree+11.25)/22.5)|int] }}
    icon: mdi:windsock
    unique_id: windrichtung

Und das ist die Fehlermeldung:


Konfigurationswarnungen

Invalid config for 'sensor' at packages/template.yaml, line 108: required key 'platform' not provided
Invalid config for 'sensor' at packages/template.yaml, line 109: required key 'platform' not provided

tippe oder füge den Code hier ein

Also mit der Fehlermeldung die auf Zeile 108 veweist und der Tatsache das du in Zeile 22 ja schon mal einen template sensor konfiguriert hast.

Was ist da wohl in Zeile 108 anders, oder nicht in der Zeile sondern in dem Abschnitt oder der Sensordefinition zu der diese Zeile gehört?

um es mal zu vereinfachen.

du sagst in Zeile 22

sensor:

in Zeile 23 definierst du den ersten sensor vom typ template

  - platform: template

in Zeile 105 definierst du dann einen “- sensor” ?

Wenn du also einen gescheiten Editor zum Coden verwendest und untergeordnete Blöcke einklappen (collapse) kannst würde da stehen:

[ 22] sensor:
[ 23]  - platform: template
[105]  - sensor:
[106]  - name: "Windrichtung"

Hab mal die Zeilennummern in eckige Klammer gepackt damit zu siehst was ich meine.

einen Sensor vom typ platform template kenne ich.
einen Sensor vom typ sensor kenne ich nicht, genau so wie einen vom Typ name

Mach dir mal Gedanken über die Zeile 105 und auch über die Einrückungen. Wenn du die analog dem Sensor der ab Zeile 22 definiert abändert ist schon viel gewonnen.

1 „Gefällt mir“

Vielen dank für die ausführliche Erklärung. Ich habe es mir fast gedacht, das es an Zeile 22 liegt habe schon versucht alles dahingehend ab zeile 105 zu ändern aber immer kam eine Sensormeldung. Ich bekomme es nicht hin und kämpfe schon seit 2 wochen damit. ich habe erst vor kurzen angefangen mich mit Homeassistant zu beschäftigen und mit fast 60 ist das nicht mehr so einfach mit dem lernen.
Du sagst ich soll einen gescheiten Editor nehmen ? was wäre da gescheit ?
könntest du mir den Code umstellen so das er funktioniert?
Vielen Dank.

Als Editor würde ich dir zu VSCode raten.

Ansonsten könntest es mal so versuchen:

  - trigger:
    - trigger: time_pattern
      minutes: "/1"
    action:
      - action: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_wetter
        data:
          type: daily
        response_variable: vorhersage
    sensor:
      - name: Wettervorhersage
        unique_id: weather_entity_forecast
        state: "{{ now().isoformat() }}"
        icon: mdi:calendar-range
        attributes:
          forecast: "{{ vorhersage['weather.forecast_wetter'].forecast }}"
  - sensor:
      - name: "Hoechsttemperatur0"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[0].temperature }}"
      - name: "Niedrigtemperatur0"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[0].templow }}"
      - name: "Himmel0"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[0].condition }}"
      - name: "Windgeschwindigkeit0"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_speed }}"
        unit_of_measurement: "km/h"
      - name: "Windrichtung0"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_bearing }}"        
      - name: "Hoechsttemperatur1"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[1].temperature }}"
      - name: "Niedrigtemperatur1"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[1].templow }}"
      - name: "Himmel1"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[1].condition }}"
      - name: "Hoechsttemperatur2"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[2].temperature }}"
      - name: "Niedrigtemperatur2"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[2].templow }}"
      - name: "Himmel2"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[2].condition }}"
      - name: "Hoechsttemperatur3"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[3].temperature }}"
      - name: "Niedrigtemperatur3"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[3].templow }}"
      - name: "Himmel3"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[3].condition }}"
      - name: "Hoechsttemperatur4"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[4].temperature }}"
      - name: "Niedrigtemperatur4"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[4].templow }}"
      - name: "Himmel4"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[4].condition }}"
      - name: "Hoechsttemperatur5"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[5].temperature }}"
      - name: "Niedrigtemperatur5"
        unit_of_measurement: "°C"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[5].templow }}"
      - name: "Himmel5"
        state: "{{ states.sensor.wettervorhersage.attributes.forecast[5].condition }}"
      - name: "Windrichtung"
        state: >
          {% set direction = ['N','NNO','NO','ONO','O','OSO','SO','SSO','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}
          {% set degree = states('sensor.wetterwindrichtung0')|float %}
          {{ direction[((degree+11.25)/22.5)|int] }}
        icon: mdi:windsock
        unique_id: windrichtung

Würde aber bei den einzelnen Sensoren ggf. noch die unique_id ergänzen.

Blödsinn, ich war dann also bestenfalls 1-2 Jahre jünger als du als ich mit HA gestartet bin. Ich empfehle dir im Hinblick auf Glücksmomente, versuch nicht direkt komplexe Dinge sondern lies die Home Assistant Docu wann immer du Zeit hast.
‘Home Assistant template sensor’ bei google eintippen ist kein Hexenwerk.

Und starte mit kleinen Aufgaben auch wenn du gerne direkt was möglich komplexes vor Augen hast. Denn dann stellen sich öfters Glücksgefühle ein das du es doch hinbekommen hast.

Und versuche möglichst nicht stumpf Lösungen zu kopieren zu speichern und damit das Thema abzuhaken, denn sollte sich mal was ändern was ne Anpassung erfordert und deine Lösung basiert auf kopiertem Krams den du nicht verstanden hast stehst du erneut im Regen.

Ich find’s schon toll genug das du nicht einfach versuchst nur in der Oberfläche zu klickern und zu schauen wie weit du damit kommst.

PS: ausserdem kommt bald die dunkle Jahreszeit und wenn du ein paar Jahre weiterdenkst hast du dann 24/7 Zeit für solche Denksportaufgaben.

Da bin ich ehrlicherweise mittlerweile von weg. Ich versuche Tipps zu geben denn sonst verflacht dieses Forum zu einem Copy&Paste&KI Austauschlaufwerk ohne das jemand noch weiss warum etwas funktioniert sondern nur bestätigen kann das es läuft.
Ausserdem müsste ich um es zu prüfen dann z.B. wissen welchen Wetter forecast du benutzt um Änderungen erst zu testen, und da bin ich grad überfragt was du genau verwendest.

2 „Gefällt mir“


Leider hat es mit dem Code nicht funktioniert aber jetzt hab ich es hinbekommen.
Trotzdem nochmal vielen Dank für die hilfe

In solchen Fällen ist es für gewöhnlich hilfreich auch die Lösung zu präsentieren. :wink:

2 „Gefällt mir“

Der Code funktioniert bei mir und die Sensoren liefern auf meinem Testsystem Daten. Kannst du deinen mal posten?

Ja hier meine Lösung.Ich habe festgestellt das ich den Studio Code Server installiert habe. Es ging trotzdem irgendwie nicht der Zeigte mir noch mehr Fehler, welche ich nicht entfernt bekommen habe.
Da es mit Template.yaml nicht funktionierte habe ich nur noch die Deutschen Wochentage eingerichtet und mache den Rest mit meiner openhasp.yaml die alles ans Disply sendet. Das Display soll meine Wohnzimmerreglung werden

Hier meine beiden Yaml Dateien. Sicher sehr umständlich aber es geht.

  - trigger:
      - platform: time_pattern
        minutes: "/1"
    action:
      - action: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_wetter
        data:
          type: daily
        response_variable: vorhersage
    sensor:
      - name: Wettervorhersage
        unique_id: weather_entity_forecast
        state: "{{ now().isoformat() }}"
        icon: mdi:calendar-range
        attributes:
          forecast: "{{ vorhersage['weather.forecast_wetter'].forecast }}"


          
sensor:
  - platform: template
    sensors:
      wetterhoechsttemperatur0:
        friendly_name: "Hoechsttemperatur0"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].temperature }}"
      wetterniedriegtemperatur0:
        friendly_name: "Niedrigtemperatur0"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].templow }}"
      wetterhimmel0:
        friendly_name: "Himmel0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].condition }}"
      wetterwindgeschwindigkeit0:
        friendly_name: "Windgeschwindigkeit0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_speed }}"
        unit_of_measurement: "km/h"
      wetterwindrichtung0:
        friendly_name: "Windrichtung0"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[0].wind_bearing }}"        
      wetterhoechsttemperatur1:
        friendly_name: "Hoechsttemperatur1"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].temperature }}"
      wetterniedriegtemperatur1:
        friendly_name: "Niedrigtemperatur1"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].templow }}"
      wetterhimmel1:
        friendly_name: "Himmel1"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[1].condition }}"
        
      wetterhoechsttemperatur2:
        friendly_name: "Hoechsttemperatur2"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].temperature }}"
      wetterniedriegtemperatur2:
        friendly_name: "Niedrigtemperatur2"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].templow }}"
      wetterhimmel2:
        friendly_name: "Himmel2"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[2].condition }}"
        
      wetterhoechsttemperatur3:
        friendly_name: "Hoechsttemperatur3"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].temperature }}"
      wetterniedriegtemperatur3:
        friendly_name: "Niedrigtemperatur3"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].templow }}"
      wetterhimmel3:
        friendly_name: "Himmel3"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[3].condition }}"
        
      wetterhoechsttemperatur4:
        friendly_name: "Hoechsttemperatur4"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].temperature }}"
      wetterniedriegtemperatur4:
        friendly_name: "Niedrigtemperatur4"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].templow }}"
      wetterhimmel4:
        friendly_name: "Himmel4"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[4].condition }}"
        
      wetterhoechsttemperatur5:
        friendly_name: "Hoechsttemperatur5"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].temperature }}"
      wetterniedriegtemperatur5:
        friendly_name: "Niedrigtemperatur5"
        unit_of_measurement: "°C"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].templow }}"
      wetterhimmel5:
        friendly_name: "Himmel5"
        value_template: "{{ states.sensor.wettervorhersage.attributes.forecast[5].condition }}"
 
      date2:
        friendly_name: "Datum"
        entity_id: sensor.time
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-6] ) }}
        
      date3:
        friendly_name: "Datum3"
        entity_id: sensor.time3
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-5] ) }}
  
      date4:
        friendly_name: "Datum4"
        entity_id: sensor.time4
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-4] ) }}
           
      date5:
        friendly_name: "Datum5"
        entity_id: sensor.time
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-3] ) }}       
           
      date6:
        friendly_name: "Datum6"
        entity_id: sensor.time6
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-2] ) }}
           
      date7:
        friendly_name: "Datum7"
        entity_id: sensor.time7
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()-1] ) }}          
      date8:
        friendly_name: "Datum8"
        entity_id: sensor.time8
        value_template: >
           {% set days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'] %}
           {{ now().timestamp() | timestamp_custom(days[now().weekday()] ) }}
           
           

und hier die openhasp.yaml

openhasp:
  plate:
    objects:


        
      - obj: "p0b52"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.kellertemperatur_bmp180_temperature") }}°C'

      - obj: "p1b81" # switch, checkbox or btn with toggle true
        properties:
          "val": '{{ 1 if is_state("switch.sonoff_bewasserung_1", "on") else 0 }}'
          "text": '{{ "\uE2DA" if is_state("switch.sonoff_bewasserung_1", "on") else "Timer" | e }}'
        event:
           "down":
              - service: switch.turn_on
                entity_id: switch.sonoff_bewasserung_1
              - delay: '00:03:00'
            
              - service: switch.turn_off
                entity_id: switch.sonoff_bewasserung_1
                
      - obj: "p1b8" # switch, checkbox or btn with toggle true
        properties:
          "val": '{{ 1 if is_state("switch.sonoff_bewasserung_1", "on") else 0 }}'
          "text": '{{ "\uE597" if is_state("switch.sonoff_bewasserung_1", "on") else "Schalter" | e }}'
        event:
           "down":
              - service: homeassistant.toggle
                entity_id: switch.sonoff_bewasserung_1
    

              
      - obj: "p1b2"  # Feuchtigkeit in Prozent1
        properties:
          "text": '{{ states("sensor.wasser_erdbeere_soil_moisture") }}%'

      - obj: "p1b3"  # Feuchtigkeit in Prozent2
        properties:
          "text": '{{ states("sensor.wasser_petunie_voll_soil_moisture") }}%'
           
      - obj: "p1b4"  # Feuchtigkeit in Prozent3
        properties:
          "text": '{{ states("sensor.wasser_3_farb_petunie_soil_moisture") }}%'
          
      - obj: "p1b5"  # Feuchtigkeit in Prozent4
        properties:
          "text": '{{ states("sensor.wasser_angel_eye_geranie_soil_moisture") }}%'          
        
      - obj: "p1b10" # Linemeter1 
        properties:
           val: '{{ states("sensor.wasser_erdbeere_soil_moisture")  }}%'
           
      - obj: "p1b11" # Linemeter2
        properties:
           val: '{{ states("sensor.wasser_petunie_voll_soil_moisture")  }}%'   
           
      - obj: "p1b12" # Linemeter3
        properties:
           val: '{{ states("sensor.wasser_3_farb_petunie_soil_moisture")  }}%'
           
      - obj: "p1b13" # Linemeter4
        properties:
           val: '{{ states("sensor.wasser_angel_eye_geranie_soil_moisture")  }}%'    
       
      - obj: "p2b101"
        properties:
          "text": '{{ states("sensor.wasser_angel_eye_geranie_soil_moisture")}}'
          "text_color": >
           
            {% if 75 < states('sensor.wasser_angel_eye_geranie_soil_moisture') |int(0) %}
            {{ "green" }}
             
            75% - 50%
            {% elif 75 >= states('sensor.wasser_angel_eye_geranie_soil_moisture') |int(0) >= 50 %}
            {{ "orange" }}

            {% elif 50 > states('sensor.wasser_angel_eye_geranie_soil_moisture') |int(0) >= 30 %}
            {{ "tomato" }}
            
            {%-else %}
            {{ "red"}}
            {%-endif %}
             
  plate1:
      objects:
      - obj: "p1b3"  # temperature label 
        properties:
          "text": '{{ states("sensor.wandregler_wohnen_reglung_temperatur") }}°C'
      - obj: "p1b97"  # hunitity label 
        properties:
          "text": '{{ states("sensor.wandregler_wohnen_reglung_luftfeuchtigkeit") }}%'
          
      - obj: "p0b98"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.kellertemperatur_bmp180_temperature") }}°C'
          
          
      - obj: "p1b1"  # arc slider
        properties:
          "val": >
            {% if state_attr('climate.wandregler_wohnen_reglung','temperature') is not none %}
            {{ state_attr('climate.wandregler_wohnen_reglung','temperature') | int * 10 }}
            {%- endif %}
          "min": >
            {% if state_attr('climate.wandregler_wohnen_reglung','min_temp') is not none %}
            {{ state_attr('climate.wandregler_wohnen_reglung','min_temp') | int * 10 }}
            {%- endif %}
          "max": >
            {% if state_attr('climate.wandregler_wohnen_reglung','max_temp') is not none %}
            {{ state_attr('climate.wandregler_wohnen_reglung','max_temp') | int * 10 }}
            {%- endif %}
          "opacity": "{{ 60 if (is_state('climate.wandregler_wohnen_reglung','unavailable') or is_state('climate.wandregler_wohnen_reglung','unknown')) else 255 }}"
          "click": "{{ 'false' if (is_state('climate.wandregler_wohnen_reglung','unavailable') or is_state('climate.wandregler_wohnen_reglung','unknown')) else 'true' }}"
          "line_color1": >
            {% if is_state('switch.yourswitch', 'on') %}
            {{ "#fe8f58" }}
            {%-elif is_state('switch.yourswitch', 'off') %}
            {{ "#4b4b4b" }}
            {%-else %}
            {% endif %}
        event:
          "changed":
            - service: climate.set_temperature
              target:
                entity_id: climate.heating
              data:
                temperature: "{{ val | int / 10 }}"
          "up":
            - service: climate.set_temperature
              target:
                entity_id: climate.wandregler_wohnen_reglung
              data:
                temperature: "{{ val | int / 10 }}"
      - obj: "p1b6"  # label target temp
        properties:
          "text": >
            {% if state_attr('climate.wandregler_wohnen_reglung','temperature') is not none %}
            {{ state_attr('climate.wandregler_wohnen_reglung','temperature') }}
            {%- endif %}
          "opacity": "{{ 60 if (is_state('climate.wandregler_wohnen_reglung','unavailable') or is_state('climate.wandregler_wohnen_reglung','unknown')) else 255 }}"
      - obj: "p1b12"  # Heating on/off switch
        properties:
          "val": "{{ 0 if (is_state('climate.wandregler_wohnen_reglung', 'boost') or is_state('climate.wandregler_wohnen_reglung', 'unavailable')) else 1 }}"
          "click": "{{ 'false' if (is_state('climate.wandregler_wohnen_reglung','unavailable') or is_state('climate.wandregler_wohnen_reglung','unknown')) else 'true' }}"
          "opacity": "{{ 60 if (is_state('climate.wandregler_wohnen_reglung','unavailable') or is_state('climate.wandregler_wohnen_reglung','unknown')) else 255 }}"
        event:
          "down":
            - service_template: >
                {% if val == 0 -%}
                climate.turn_on
                {% else -%}
                climate.turn_boost
                {% endif -%}
              entity_id: "climate.wandregler_wohnen_reglung"
     
      - obj: "p0b1"
        properties:
           "text_color": "{% if -30 <= state_attr('openhasp.openhasp_plate1','rssi') |int %}green{% elif -31 > state_attr('openhasp.plate1','rssi') |int >= -50 %}orange{% elif -51 > state_attr('openhasp.plate1','rssi') |int >= -80 %}tomato{% else %}red{% endif %}"
      
      - obj: "p1b35"  # plus button for temp
        event:
          "down":
            - service: climate.set_temperature
              target:
                entity_id: climate.wandregler_wohnen_reglung
              data:
                temperature: "{{ state_attr('climate.wandregler_wohnen_reglung','temperature') + state_attr('climate.wandregler_wohnen_reglung','target_temp_step') | float(default=1)}}" 
      - obj: "p1b37"  # minus button for temp
        event:
           "down":
            - service: climate.set_temperature
              target:
                entity_id: climate.wandregler_wohnen_reglung
              data:
                temperature: "{{ state_attr('climate.wandregler_wohnen_reglung','temperature') - state_attr('climate.wandregler_wohnen_reglung','target_temp_step') | float(default=1)}}" 
   
      - obj: "p1b81" # switch, checkbox or btn with toggle true
        properties:
          "val": '{{ 1 if is_state("switch.a1t_1", "on") else 0 }}'
          "text": '{{ "\uE2DA" if is_state("switch.a1t_1", "on") else "Timer" | e }}'
        event:
           "down":
              - service: switch.turn_on
                entity_id: switch.a1t_1
              - delay: '00:00:05'
            
              - service: switch.turn_off
                entity_id: switch.a1t_1
                
      - obj: "p1b82" # switch, checkbox or btn with toggle true
        properties:
          "val": '{{ 1 if is_state("switch.a1t_1", "on") else 0 }}'
          "text": '{{ "\uE597" if is_state("switch.a1t_1", "on") else "Schalter" | e }}'
        event:
           "down":
              - service: homeassistant.toggle
                entity_id: switch.a1t_1
                
      - obj: "p2b16"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur0") }}°C'

      - obj: "p2b22"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur0") }}°C'
          
      - obj: "p2b18" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel0') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {% endif %}
          
      - obj: "p2b171"  # Windgeschwindigkeit label on all pages
        properties:
          "text": '{{ states("sensor.wetterwindgeschwindigkeit0") }}km/h'
         
      - obj: "p2b172"  # Windgeschwindigkeit label on all pages
        properties:
         "text": >
          {% set dir = states('sensor.wetterwindrichtung0')|float %}
          {% if 11.25 < dir <= 33.75 %} {{"NNO"}}
          {% elif 33.75 < dir <= 56.25 %} {{"NO"}}
          {% elif 56.25 < dir <= 78.75 %} {{"ONO"}}
          {% elif 78.75 < dir <= 101.25 %} {{"O"}}
          {% elif 101.25 < dir <= 123.75 %} {{"OSO"}}
          {% elif 123.75 < dir <= 146.25 %} {{"SO"}}
          {% elif 146.25 < dir <= 168.75 %} {{"SSO"}}
          {% elif 168.75 < dir <= 191.25 %} {{"S"}}
          {% elif 191.25 < dir <= 213.75 %} {{"SSW"}}
          {% elif 213.75 < dir <= 236.25 %} {{"SW"}}
          {% elif 236.25 < dir <= 258.75 %} {{"WSW"}}
          {% elif 258.75 < dir <= 281.25 %} {{"W"}}
          {% elif 281.25 < dir <= 303.75 %} {{"WNW"}}
          {% elif 303.75 < dir <= 326.25 %} {{"NW"}}
          {% elif 326.25 < dir <= 348.75 %} {{"NNW"}}
          {% else %} {{"N"}}
          {% endif %}
          
      - obj: "p2b62"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur1") }}°C'

      - obj: "p2b63"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur1") }}°C'
          
      - obj: "p2b64" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel1') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {{ "\uE5A8" }}
          {% endif %}          

      - obj: "p2b72"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur2") }}°C'

      - obj: "p2b73"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur2") }}°C'
          
      - obj: "p2b74" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel2') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {{ "\uE5A8" }}
          {% endif %}                    

      - obj: "p2b82"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur3") }}°C'

      - obj: "p2b83"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur3") }}°C'
          
      - obj: "p2b84" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel3') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {{ "\uE5A8" }}
          {% endif %}          
          
      - obj: "p2b92"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur4") }}°C'

      - obj: "p2b93"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur4") }}°C'
          
      - obj: "p2b94" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel4') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {{ "\uE5A8" }}
          {% endif %}                    

      - obj: "p2b102"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterhoechsttemperatur5") }}°C'

      - obj: "p2b103"  # temperature label on all pages
        properties:
          "text": '{{ states("sensor.wetterniedriegtemperatur5") }}°C'
          
      - obj: "p2b104" # Weather Icon change according to weather
        properties:
         "text": >
          {% set forecast = states('sensor.wetterhimmel5') %}
          {% if forecast == "clear-night"  %}
          {{ "\uE594" }}
          {% elif forecast == "cloudy"   %}
          {{ "\uE590" }}
          {% elif forecast == "fog"   %}
          {{ "\uE591" }}
          {% elif forecast == "hail"   %}
          {{ "\uE592" }}
          {% elif forecast == "lightning"   %}
          {{ "\uE593" }}
          {% elif forecast == "lightning-rainy"   %}
          {{ "\uE67E" }}
          {% elif forecast == "partlycloudy"   %}
          {{ "\uE595" }}
          {% elif forecast == "pouring"   %}
          {{ "\uE596" }}
          {% elif forecast == "rainy"   %}
          {{ "\uE597" }}
          {% elif forecast == "snowy"   %}
          {{ "\uE598" }}
          {% elif forecast == "snowy-rainy"   %}
          {{ "\uE67F" }}
          {% elif forecast == "sunny"   %}
          {{ "\uE5A8" }}
          {% elif forecast == "windy"   %}
          {{ "\uE59D" }}
          {% elif forecast == "windy-variant"   %}
          {{ "\uE59E" }}
          {% elif forecast == "exceptional"   %}
          {{ "\uE59E" }}
          {% else   %}
          {{ "\uE5A8" }}
          {% endif %}        
          
  
          
# Wochentage


      - obj: "p2b61" # Day tomorrow
        properties:
          "text": '{{ states("sensor.date3") }}'

      - obj: "p2b71" # Day today + 2
        properties:
          "text": '{{ states("sensor.date4") }}'

      - obj: "p2b81" # Day today + 3
        properties:
          "text": '{{ states("sensor.date5") }}' 

      - obj: "p2b91" # Day today + 4
        properties:
          "text": '{{ states("sensor.date6") }}' 

      - obj: "p2b101" # Day today + 5
        properties:
          "text": '{{ states("sensor.date7") }}'

Hier noch das passende Bild dazu:

noch bin ich nicht ganz fertig .
Es fehlen noch die Taster und die Solarauswertung
Beim Wetter nutze ich MET.no.

Sieht toll aus, vor allem das letzte Bild. Respekt.