Template-Sensoren tauchen nicht in HA auf

Hey Leute. Bin neu hier. Hoffe ihr könnt helfen, Chat GPT würde ich ermorden, wenn das ginge.

Ich versuche verzweifelt, Wettervorhersagen nutzbar zu machen. Konkret will ich meine Rollladen-Automationen (hier habe ich verschiedene Setups) automatisiert an das vorhergesagte Wetter für den aktuellen Tag anpassen. Auswerten wollte ich erst mal ganz einfach zwei Kriterien, Sonnenstunden und Tageshöchsttemperatur. Die KI wollte mir hierzu einen Sensor schreiben, der den forecast von met.no abfragt. Das Problem ist, dass wirklich zu keiner Zeit ein Sensor auftaucht. Weder unter Entitäten, noch unter Zustände. So bin ich auf Simons Video “Die Zukunft der Wetterdaten” gestoßen. Selbst wenn ich diesen Code nehme und in die configurations.yaml einfüge oder über eine eigene templates.yaml gehe, erzeugt keinen Sensor.

Ich nutze ha im Container auf einer Synology NAS. Core 2025.8.3. Frontend: 20250811.1

Habe alles versucht. Container neu starten, HA neu starten, Container erst stoppen, etc. etc. Chat GPT macht mich wahnsinnig, da er immer nur auf Syntax Probleme eingehen will von Code, den er selbst geschrieben hat.

Hier mal mein Code:

templates.yaml:

  - trigger:
      - platform: time_pattern
        minutes: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_anonym
        data:
            type: daily
        response_variable: tagesvorhersage
    sensor:
    # Hier ein Template-Sensor, der verschieden Daten der Täglichen Vorhersage als Attribute gespeichert hat
      - name: Wetter-Vorhersage des nächsten Tages
        unique_id: forecast_next_1_day
        state: "{{ now().isoformat() }}"
        icon: mdi:hours-24
        attributes:
          condition: "{{ tagesvorhersage['weather.forecast_anonym'].forecast[1].condition }}"
          cloud_coverage: "{{ tagesvorhersage['weather.forecast_anonym'].forecast[1].cloud_coverage }}"
          temperature: "{{ tagesvorhersage['weather.forecast_anonym'].forecast[1].temperature }}"
          datetime: "{{ tagesvorhersage['weather.forecast_anonym'].forecast[1].datetime }}"
      # Die gute, alte Wetterentität (Nur die Vorhersage)
      - name: Wettervorhersage OldSchool-Entität
        unique_id: weather_entity_forecast_oldschool
        state: "{{ now().isoformat() }}"
        icon: mdi:hours-24
        attributes:
          forecast: "{{ tagesvorhersage['weather.forecast_anonym'].forecast }}"
# Stündliche Wettervorhersagen
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_anonym
        data:
            type: hourly
        response_variable: stundenvorhersage
    sensor:
    # Hier ein Template-Sensor, der verschieden Daten der stündlichen Vorhersage als Attribute gespeichert hat
      - name: Wetter-Vorhersage der nächsten Stunde
        unique_id: forecast_next_1_hour
        state: "{{ now().isoformat() }}"
        icon: mdi:hours-24
        attributes:
          condition: "{{ stundenvorhersage['weather.forecast_anonym'].forecast[1].condition }}"
          cloud_coverage: "{{ stundenvorhersage['weather.forecast_anonym'].forecast[1].cloud_coverage }}"
          temperature: "{{ stundenvorhersage['weather.forecast_anonym'].forecast[1].temperature }}"
    # Alternativ ein Template-Sensor, der die Temperatur der stündlichen Vorhersage Status hat (Vorteile bei Verlauf, Automationen, etc.)
      - name: Temperatur-Vorhersage der nächsten Stunde
        unique_id: temperature_forecast_next_hour
        state: "{{ stundenvorhersage['weather.forecast_anonym'].forecast[1].temperature }}"
        unit_of_measurement: °C
      - name: Bedingungs-Vorhersage der nächsten Stunde
        unique_id: condition_forecast_next_hour
        state: "{{ stundenvorhersage['weather.forecast_anonym'].forecast[1].condition }}"

configurations.yaml:

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
template: !include templates.yaml

python_script:

homematicip_cloud:
  accesspoint:
    host: ""
  scan_interval: 120  # alle 2 Minuten

Ich habe das Forum durchsucht und nichts gefunden. Ich wäre echt so dankbar für eine Lösung…

Moin,

ich habe Deinen Code auch mal verwendet, ich habe dann das daraus gemacht auch mit Googeln und etwas Optimierung durch die KI, denn mein (unser) Code sah schon etwas verwirrend aus.
Also als erstes, die configuration,yaml anpassen, damit da etwas Ordnung herscht,

# Lädt die Konfiguration aus der Datei weather_sensors.yaml
template: !include weather_sensors.yaml

Dann eine Datei, auf der gleichen Ebene anlegen wie die configuration.yaml mit genau dem Namen wie oben vergeben weather_sensors.yaml

In dieser Datei denn diesen Code, da habe ich etwas verändert, ersten, weil ich DWD nutze und auch weil Du anscheinend für täglich jede Minute etwas abgefragt hast, auch bei Stündlich muss man nur alle 15, oder 30 Minuten Daten anfragen.

# weather_sensors.yaml

- trigger:
    # Trigger für die tägliche Vorhersage, nur einmal pro Tag um Mitternacht
    - platform: time
      at: "00:00:00"
  action:
    - service: weather.get_forecasts
      target:
        entity_id:
          - weather.wolfsburg
      data:
        type: daily
      response_variable: tagesvorhersage
  sensor:
    - name: Wetter-Vorhersage des nächsten Tages
      unique_id: forecast_next_1_day
      state: "{{ now().isoformat() }}"
      icon: mdi:hours-24
      attributes:
        condition: "{{ tagesvorhersage['weather.wolfsburg'].forecast[1].condition }}"
        cloud_coverage: "{{ tagesvorhersage['weather.wolfsburg'].forecast[1].cloud_coverage }}"
        temperature: "{{ tagesvorhersage['weather.wolfsburg'].forecast[1].temperature }}"
        datetime: "{{ tagesvorhersage['weather.wolfsburg'].forecast[1].datetime }}"
    - name: Wettervorhersage OldSchool-Entität
      unique_id: weather_entity_forecast_oldschool
      state: "{{ now().isoformat() }}"
      icon: mdi:hours-24
      attributes:
        forecast: "{{ tagesvorhersage['weather.wolfsburg'].forecast }}"

- trigger:
    # Trigger für die stündliche Vorhersage, alle 1 Stunde
    - platform: time_pattern
      hours: /1
  action:
    - service: weather.get_forecasts
      target:
        entity_id:
          - weather.wolfsburg
      data:
        type: hourly
      response_variable: stundenvorhersage
  sensor:
    - name: Wetter-Vorhersage der nächsten Stunde
      unique_id: forecast_next_1_hour
      state: "{{ now().isoformat() }}"
      icon: mdi:hours-24
      attributes:
        condition: "{{ stundenvorhersage['weather.wolfsburg'].forecast[1].condition }}"
        cloud_coverage: "{{ stundenvorhersage['weather.wolfsburg'].forecast[1].cloud_coverage }}"
        temperature: "{{ stundenvorhersage['weather.wolfsburg'].forecast[1].temperature }}"
    - name: Temperatur-Vorhersage der nächsten Stunde
      unique_id: temperature_forecast_next_hour
      state: "{{ stundenvorhersage['weather.wolfsburg'].forecast[1].temperature }}"
      unit_of_measurement: "°C"
    - name: Bedingungs-Vorhersage der nächsten Stunde
      unique_id: condition_forecast_next_hour
      state: "{{ stundenvorhersage['weather.wolfsburg'].forecast[1].condition }}"

Nach einem HA Neustart, habe ich weather.get_forecasts aus den Entwicklertools aufgerufen


Und die Sensoren sind auch da

VG
Bernd

P.S.: wegen des Eintrags OldSchool bin ich gerade selbst etwas durcheinander geraten, aber alles ok, ich dachte, ich hatte das anders benannt. :thinking:
Passt aber, einmal die drei wichtigen Daten, und mit OldSchool halt die gesamte Vorhersage für den nächsten Tag.

Hey Bernd. Danke schonmal für Deine Hilfe. Aber auch auf Deinem Weg erscheinen keine Entitäten bei mir.

Ich glaube, dass bei mir ein grundsätzliches Problem bezüglich der Templates besteht und ich finde keine Lösung. Insofern müssen wir - glaube ich - erstmal vom konkreten Wetter-Thema weg. Selbst ein ganz pragmatischer Test mit der KI hat nicht funktioniert. Ich sollte einen ganz einfachen Sensor mit schon vorgegebenem Wert testen, auch der ist nicht aufgetaucht:

sensor:
  - platform: template
    sensors:
      dummy_sensor:
        friendly_name: "Dummy Sensor"
        unit_of_measurement: "°C"
        value_template: "25"

Auch mit der anderen Code-Schreibweise kam nichts raus:

template:
  - sensor:
      - name: "Dummy Sensor"
        state: "1"

Ich vermute hier irgendein grundsätzliches Problem oder einen ziemlich dummen Anfängerfehler meinerseits. Ich nutze ha erst seit einer Woche…

Nur eine Anmerkung: Als HA Beginner würde ich nicht empfehlen, Dinge mit der configuration.yaml zu machen. Klicke Dir Template Helfer und Automatisationen zusammen und wenn Du mit dem yaml Code und HA Funktionsweise vertraut bist, individualisere die configuration.yaml und ggf. includes.

Einstellungen → Geräte + Dienste → Helfer → Helfer erstellen …z.B. Template → Sensor Template erstellen

Hier kannst Du nichts kaputt machen und Dich auf das Wesentliche konzentrieren

Ok ich ziehe mal die Handbremse hier. Ich habe gerade vor lauter Verzweiflung und aus einer Vermutung heraus mal bewusst versucht Chaos in meinem Docker zu stiften. Habe die configuration.yaml komplett leer gespeichert, habe sie dann in 123.yaml umbenannt. Docker neu gestartet. Alle YAML-Konfigurationen neu gestartet, ha komplett neu gestartet. Es gab keine Probleme. D.h. alles, was ich gemacht habe, hat sich überhaupt nicht ausgewirkt. Ich suche jetzt mal in Ruhe nach dem Fehler. Ich denke, dann wird es alles klappen. Falls natürlich jemand sofort ne Idee hat, was da falsch ist, bin ich offen, bis dahin verlasse ich mich auf die Fehlersuche in Kooperation mit Chat-GPT…

Docker läuft auf einer Synlogoy NAS

Hast du mal im Log geschaut, was dort ggf. an Fehlern steht?

Nein ich hab das Problem gefunden. Ich hatte Homeassistant mit Unterstützung der KI installiert. War so naiv und dachte, mit Chat GPT kann ich ha schön in Ruhe kennenlernen. Ich hatte den Docker dann einmal neu gemacht (weiß nicht mehr richtig warum), wieder mit der Anleitung, aber die KI hat dann wieder einfach ein Wort verändert und mir dann gesagt, dass ich den Ordner “conf” aus dem docker mounten soll. Der wurde mir dann im Browser auf der NAS auch konsequent angezeigt. Dumm nur, dass die Musik in config spielt und somit alle meine Änderungen einfach wirkungslos waren. Habe den alten config Ordner gesichert, den Docker entfernt und neu aufgesetzt, jetzt korrekt “config” gemountet und dort die alten Daten wieder zurückgezogen, damit meine Konfiguration nicht weg ist. Jetzt kann ich auch Änderungen machen, die sich auswirken… Und sehe auch die Sensoren… Danke an alle und sorry für die Mühen!

Moin,

das ist schade, dass das immer erst am Ende erzählt wird :frowning:

In der Synology gibt es den Container Manager, dort kann man alles über ein compose File beschreiben und deployen. Ich schaue nur selten Videos, aber das könnte passen

Zum Lesen, sollte das passen

Die Frage ist, kennst du dich mit Docker aus?
Du weißt auch, dass HA in einem Docker Container eine eingeschränkte Funktionalität hat, es lassen sich aus HA heraus, keine Add-ons installieren, man muss das dann halt auch als Docker Container selbst machen!

Aber gut, wenn du es geschafft hast.

Als erstes, viel wichtiger als per Template Sensoren anzulegen oder irgendwas anderes zu konfigurieren ist, sich eine gute Backupstrategie zu überlegen und sich dann auch daran halten :slight_smile:

VG
Bernd

Hey Bernd. Ich wollte nix falsch machen. Wäre es besser gewesen, zuerst zu erzählen, dass Chat GPT mein Lehrer war? Also Docker läuft ja jetzt völlig problemlos. Auch Änderungen werden wirksam. Aber. Chat GPT kommt trotzdem an seine Grenzen. Vielleicht könnt ihr da jetzt wirklich helfen.

Wie gesagt, bin noch recht neu, schaue mir nach und nach die Videos an, aber ich würde trozdem mal gerne schauen, wie mächtig ha ist.

Folgendes Szenario:

Ich will beschatten, wenn die Sonne knallt. Und zwar immer nur die Hausseite, wo die Sonne gerade ist. In der homematic ip app hatte ich dazu ziemlich viele Automationen (je Hauswand etc), die ich immer manuell umstellen musste.

Idee: Ich baue die auch in ha und es gibt einen input_select mit vier Optionen (Anwesend Sonnig, Anwesend Bedeckt, Abwesend Sonnig, Abwesend Bedeckt). Die Automationen sind alle aktiv, fragen aber den Status dieses Input Select ab. So geht immer nur der Block an, der zum Wetter passt. Ich kann nun einfach eine der vier Optionen wählen und alles ist schön. Hat die KI auch hinbekommen.

Jetzt will ich das aber auch automatisieren. Nutze met.no und die KI hat mir zwei Sensoren gemacht, die mir einmal morgens um 6 Uhr bestimmen, wie viele Sonnenstunden gibt es in den nächsten 14 Stunden und wie wird in den nächten 14 Stunden die Höchsttemperatur. Beide Sensoren funktionieren auch. Habe ein Testszenario, in dem sie minütlich abfragen.

Hier der Temperatursensor:

Hier der Sonnensensor:

Parallel habe ich noch einen input_boolean für meine Anwesenheit:

Idee ist jetzt, anhand dieser Daten die vier Stati zu verändern. Sonnig heißt bei mir, mehr als 15 Grad Höchsttemperatur erwartet und mehr als vier Sonnenstunden.

Die KI kriegt es nicht hin, dass der input_select korrekt geändert wird. Hat jemand eine Lösung? Ich poste noch die aktuellen Codes:

Hier der aktuell letzte Versuch der KI, der nicht klappt:

# Automatische Anpassung des Rollladenmodus basierend auf Temperatur, Sonnenstunden und Anwesenheit
- id: rollladenmodus_automatisch_setzen_test
  alias: Rolladenmodus automatisch setzen (Test)
  description: Prüft jede Minute Max-Temp, Sonnenstunden und Anwesenheit und setzt den Rolladenmodus
  trigger:
    - platform: time_pattern
      minutes: "/1"   # alle 1 Minute
  action:
    - service: input_select.select_option
      target:
        entity_id: input_select.rollladen_modus
      data:
        option: >
          {% set temp_raw = states('sensor.max_temp_next_14h') %}
          {% set sun_raw = states('sensor.sun_hours_next_14h') %}
          {% set temp = temp_raw | float(0) %}
          {% set sun = sun_raw | float(0) %}
          {% set anwesend = is_state('input_boolean.anwesenheit_status', 'on') %}
          {% if temp > 15 and sun > 4 %}
            {% if anwesend %}Anwesend Sonnig{% else %}Abwesend Sonnig{% endif %}
          {% else %}
            {% if anwesend %}Anwesend Bedeckt{% else %}Abwesend Bedeckt{% endif %}
          {% endif %}

Und der input_select:

anwesenheit_status:
  name: Anwesend / Abwesend
  initial: on   # "on" = Anwesend, "off" = Abwesend
  icon: mdi:account-check

Aktuell kommt immer anwesend bedeckt raus, weil er es nicht schafft, die Werte aus den Sensoren zu verarbeiten. Er macht irgendwas mit float und schreibt es darf nicht unknown sein. Aber ich sehe ja in den Zuständen, dass die Sensoren definitiv Werte haben.

Danke schonmal an alle Helfer!

Moin,

das ist meine persönliche Meinung, mag jeder anders sehen. KIs sind keine Lehrer, sie machen einen dümmer, weil man nicht mehr selbst denkt, sondern, nur noch nachäfft.

Wenn man das Prinzip nicht verstanden hat, wie soll einem dann eine KI helfen? Dann versteht man das, was da herauskommt, ja auch nicht.
https://www.heise.de/news/c-t-3003-Darum-ist-KI-wirklich-gefaehrlich-10585252.html

Das soll nicht heißen, dass Du es nicht verstehst, ist einfach nur meine Meinung, mit der ich vielleicht auch ganz alleine dastehe, ist mir aber egal :slight_smile:

Für mich ist es auch ein Unterschied, ob ich erst einmal etwas selbst zusammen geklickt habe und es anschließen von der KI beurteilen lasse, ob da noch etwas zu verbessern ist, oder nur einen Prompt der KI vorwerfe.

Aber anyway, jeder so wie er mag, abschließend noch einen Thread, den es hier vor geraumer Zeit im Forum gab,

von Homatic-ip habe ich generell keine Ahnung, auch was die Integration in HA angeht, oder wie man das in Automationen dann verwenden kann.

Dazu kann ich nicht viel sagen, wie ermittelst Du an-, abwesend?
Wie sieht das dazugehörige Trace, der Automation aus, werden die richtigen Stränge durchlaufen?

Hat Dir die KI wirklich vorgeschlagen jede Minute einen Wert abzufragen, der sich anscheinend nur alle 14 Stunden ändert?

trigger:
    - platform: time_pattern
      minutes: "/1"   # alle 1 Minute

Das sieht mir wie ein Wert aus, der sich nicht oft ändert.

sensor.max_temp_next_14h
sensor.sun_hours_next_14h

Dann solltest Du liber auf Trigger umstellen, das bedeutet, wenn sich ein Wert ändert, statt jede Minute abzufragen.
Mögliche Trigger sind,

sensor.max_temp_next_14h
sensor.sun_hours_next_14h
input_boolean.anwesenheit_status

Ich habe die Entitäten nicht und habe nur mal etwas herumgespielt

alias: test4forum
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.aussenthermometer_klima_temperature
    for:
      hours: 0
      minutes: 15
      seconds: 0
    above: 15
  - trigger: numeric_state
    entity_id:
      - sensor.anwesenheitsmelder_1_illuminance
    for:
      hours: 0
      minutes: 15
      seconds: 0
    above: 700
  - trigger: state
    entity_id:
      - binary_sensor.anwesenheitsmelder_1_presence
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 15
      seconds: 0
actions:
  - action: cover.close_cover
    metadata: {}
    data: {}
    target:
      area_id: og_schlafzimmer

Für Deinen könnte das dann so aussehen,

id: rollladenmodus_automatisch_setzen_v2
alias: Rolladenmodus automatisch setzen (V2)
description: >-
  Passt den Rollladenmodus basierend auf Änderungen bei Temperatur,
  Sonnenstunden und Anwesenheit an.
trigger:
  - platform: state
    entity_id: sensor.max_temp_next_14h
  - platform: state
    entity_id: sensor.sun_hours_next_14h
  - platform: state
    entity_id: input_boolean.anwesenheit_status
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.rollladen_modus
    data:
      option: >
        {% set temp = states('sensor.max_temp_next_14h') | float(0) %}
        {% set sun = states('sensor.sun_hours_next_14h') | float(0) %}
        {% set anwesend = is_state('input_boolean.anwesenheit_status', 'on') %}
        {% if temp > 15 and sun > 4 %}
          {% if anwesend %}Anwesend Sonnig{% else %}Abwesend Sonnig{% endif %}
        {% else %}
          {% if anwesend %}Anwesend Bedeckt{% else %}Abwesend Bedeckt{% endif %}
        {% endif %}

Aber, wie gesagt, wie Dein Anwesenheitsstatus erstellt, ermittelt wird :man_shrugging:

Und noch wichtiger für mich, wäre es da nicht auf etwaige Vorhersagen zu setzen, ich würde mir echte Sensoren anbringen, also welche, die die Temperatur an den besagten Hausseiten ermitteln, dann gleich noch die Helligkeit Lux / Candela ermittelt, und darüber die Rollos steuern.

VG
Bernd

1 „Gefällt mir“

Hey Bernd. Danke schonmal. Ich sehe, Dir fehlen noch Infos. Aber zunächst was zur KI. Ich bin bei Dir. Das macht gar keinen Sinn, daher switche ich gerade auch dazu, es mir mit den Videos selbst beizubringen und es zu verstehen. Die KI ist absolut kein Lehrer, d.h. wir sind einer Meinung. Ich habe es in diesem Beispiel schmerzhaft gelernt.

Also die KI hat die minütliche Abfrage auf meinen Wunsch hin eingebaut, damit wir es live testen können, ob es dem Grunde nach funktioniert. Ich möchte einfach, dass ha morgens um 6 Uhr einmal prüft, wie der Tag wird und dann die Auswahl in der input_select.rollladen_modus korrekt setzt. Anwesenheit ist aktuell einfach immer auf dem Standardwert “On” also Anwesend. Das will ich ggf. später noch weiter anpassen.

Die Sensoren ermitteln zum Zeitpunkt der Abfrage (im Zielbild einmal morgens um 6 Uhr) ihre Werte anhand der JSON-Daten von der Wetter-Entität. D.h. er fragt die nächsten 14 stündlichen Werte für Temperatur und Bewölkung (unter 50% ist für mich eine Sonnenstunde) ab (Gedanke war, 6 Uhr morgens für die nächsten 14, dann habe ich den Tag bis 20 Uhr abgebildet). Das klappt auch zuverlässig. Aber ich will Dir den Code nicht verschweigen, da siehst Du sicher mehr als ich raus:

template:
  # Tägliche/Minütliche Abfrage für Temperatur und Sonnenstunden (Test)
  - trigger:
      - platform: time_pattern
        minutes: "/1"   # alle Minute
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_geheim
        data:
          type: hourly
        response_variable: stundenforecast
    sensor:
      # Max Temperatur nächste 14 Stunden
      - name: Max Temperatur nächste 14 Stunden
        unique_id: max_temp_next_14h
        state: >
          {% set forecasts = stundenforecast['weather.forecast_geheim'].forecast[:14] %}
          {% set temps = forecasts | map(attribute='temperature') | list %}
          {{ temps | max }}
        unit_of_measurement: "°C"
        icon: mdi:thermometer

      # Sonnenstunden nächste 14 Stunden
      - name: Sonnenstunden nächste 14 Stunden
        unique_id: sun_hours_next_14h
        state: >
          {% set forecasts = stundenforecast['weather.forecast_geheim'].forecast[:14] %}
          {% set sun_hours = forecasts | selectattr('cloud_coverage', 'lt', 50) | list | length %}
          {{ sun_hours }}
        unit_of_measurement: "h"
        icon: mdi:weather-sunny

Problem ist, dass es sich immer auf Anwesend Bedeckt stellt. Also er fragt korrekt den Anwesenheitsstatus ab aber bei der Auswertung der Stati meiner beiden Sensoren macht er Fehler. Ich glaube verstanden zu haben, dass es teilweise unknown zurück gibt. Die KI wollte dann einen Fallback machen, der bei fehlenden Werten “0” ausgibt. Ich bin aber der Meinung, dass die Werte nicht fehlen. Die Sensoren zeigen korrekte Werte an (vgl. Screenshots). Die KI dreht sich aber im Kreis, macht angeblich einen Fehler weg, macht dabei aber einen von voher wieder usw…

Ich habe mich hier wirklich auf die KI verlassen und bewusst den einfachen Weg gewählt, weil ich mal schnell und unkompliziert testen wollte, wie möchtig ha ist. Sensoren für das Licht muss ich erst mal ausklammern, ich habe eine Gattin, die nicht wirklich Sinn in Smarthome sieht und daher alle Investitionen kritisch beäugt. Im Sinne der Diplomatie arbeite ich daher erst mal mit dem, was ich habe.

Also offen ist noch, wie ich den input_select dazu bekomme, dass er sich anhand der Sensordaten korrekt umstellt.

Moin,

ist das wirklich so?
Wenn Du hier Entwicklerwerkzeuge -> Zustände mal Deinen Sensor input_boolean.anwesenheit_status suchst, was zeigt der an?

Dann, was sagt der Trace?


VG
Bernd

P.S.: Auch mal im Status die anderen Sensoren anschauen, ob da alles so ist wie Du annimmst.

Hey Bernd. Ja da ist alles so wie es sein soll. Zu den Sensoren hatte ich ja schon Bilder eingefügt. Hier ist noch die Entität zur Anwesenheit:

Der input_boolean zur Anwesenheit wird ja nur über den Code in der input_boolean.yaml im Status on generiert. Den nutze ich aktuell noch gar nicht. Kommt später erstmal aufs Dashboard, damit ich ihn bei Bedarf umschalten kann.

Hier der Trace (ich hoffe der richtige Teil davon…):

Ich muss aber dazu sagen, dass ich total offen für andere Wege bin. Was auch immer hilft. In der UI, im Code. Alles egal. Schön wäre, wenn meine Vorgaben morgens um 6 einmal geprüft werden für den aktuellen Tag und dann der Modus korrekt ausgewählt wird. Die Automationen dahinter stehen ja.

Moin,

ich müsste mir da erst einmal etwas basteln, damit ich das nachbauen kann.
Ich würde erst einmal mit nur einem Trigger anfangen und schauen ob es damit geht, also vielleicht Temperatur, ahst Du sonst noch keine Sensoren in HA die man nutzen könnte?

VG
Bernd

Musst nix mehr basteln. Nicht zuletzt wegen Deinem KI-Hinweis habe ich mich mal auf den Pfad des Experimentierens gewagt. Was habe ich gelernt? Wenn man im UI Automationen baut, werden die in der automations.yaml gespeichert. Wenn ich sie im UI baue, funktionieren sie auch. Ergo kann ich mir den Code auch dann hinterher anschauen, wie er korrekt auszusehen hat.

Habe das erstmal nur mit einer Bedingung und einem Ergebnis probiert, teste ob anwesend und Höchsttemperatur in den nächsten 14 Stunden über 15 Grad. Wenn ja, wähle Modus. Hat geklappt.

Habe dann die KI herausgefordert und sie diesen Code weiterführen lassen, so dass alle vier Varianten in einer Automation stehen. Und zack, das konnte sie dann.

Dabei habe ich ganz am Rande herausgefunden, dass Automationen, die in der automations.yaml stehen und eine ID haben, dann trotzdem im UI veränderbar sind. Das ging nämlich mit dem Kram, den die KI in configuration.yaml geschrieben hat, nicht.

Und so habe ich dann auch gelernt, wie man so eine Bedingungskette (Auswahl einer von vier Optionen einer input_select) verschachtelt in einer Automation abbildet.

Habe dann die Sensoren auf refresh 1 Stunde gestellt und die Zustände manuell gesetzt und so alle Varianten durchgespielt. Macht, was es soll.

Hier der fertige Code, nur der Vollständigkeit halber:

- id: '1757098338000'
  alias: Rolladenmodus automatisch setzen
  description: 'Setzt den Rolladenmodus basierend auf Temperatur, Sonnenstunden und Anwesenheit'
  trigger:
    - platform: time_pattern
      seconds: "/10"
  condition: []
  action:
    - choose:
        # Anwesend Sonnig
        - conditions:
            - condition: numeric_state
              entity_id: sensor.sonnenstunden_nachste_14_stunden
              above: 4
            - condition: numeric_state
              entity_id: sensor.max_temperatur_nachste_14_stunden
              above: 15
            - condition: state
              entity_id: input_boolean.anwesenheit_status
              state: "on"
          sequence:
            - service: input_select.select_option
              target:
                entity_id: input_select.rollladen_modus
              data:
                option: "Anwesend Sonnig"

        # Abwesend Sonnig
        - conditions:
            - condition: numeric_state
              entity_id: sensor.sonnenstunden_nachste_14_stunden
              above: 4
            - condition: numeric_state
              entity_id: sensor.max_temperatur_nachste_14_stunden
              above: 15
            - condition: state
              entity_id: input_boolean.anwesenheit_status
              state: "off"
          sequence:
            - service: input_select.select_option
              target:
                entity_id: input_select.rollladen_modus
              data:
                option: "Abwesend Sonnig"

        # Anwesend Bedeckt
        - conditions:
            - condition: state
              entity_id: input_boolean.anwesenheit_status
              state: "on"
          sequence:
            - service: input_select.select_option
              target:
                entity_id: input_select.rollladen_modus
              data:
                option: "Anwesend Bedeckt"

        # Abwesend Bedeckt
        - conditions:
            - condition: state
              entity_id: input_boolean.anwesenheit_status
              state: "off"
          sequence:
            - service: input_select.select_option
              target:
                entity_id: input_select.rollladen_modus
              data:
                option: "Abwesend Bedeckt"
  mode: single

Dickes Danke an Dich Bernd, für die Geduld. Bei mir ist das Feuer endgültig entfacht. Ich werde jetzt viel experimentieren… :slight_smile:

1 „Gefällt mir“

Moin,

das habe ich dann wohl überlesen, gerade wenn man anfängt, sollte man lieber in der UI von HA bleiben, denn dort bekommt man gute und auch mal weniger gute Fehlermeldungen, mit denen man dann weiter kommt.

Schön das Du es geschafft hast, aber am wichtigsten ist, mache es erst einmal selbst, lerne und verstehe, dann kann man die KI, wenn man will, immer noch belästigen :slight_smile:

VG
Bernd