Open Weather Map

Was steht denn jetzt in Zeile 78 (plus vorher und nachher) ?

Nimms mir nicht böse aber dann solltest du doch wissen wie man einen popeligen Template Sensor anlegen kann und wie die Einrückungen und Gruppen in yaml funktionieren.
Falls nicht solltest du nochmal an die Grundlagen ran.

Node Red und die klicki bunti UI haben damit 0,0 zu tun. Basics bleiben Basics :wink:

In den Zeilen steht das drin:

# ------------------------------------------------------------------
#      Gaszähler Sensor
# ------------------------------------------------------------------

template:
    sensor:
        - unique_id: gaszaehler_m3    
          name: Gaszähler m³
          state: "{{ states ('counter.gaszahler_h') | float * 0.01}}"
          unit_of_measurement: m³
          icon: mdi:meter-gas
          device_class: gas
          state_class: total_increasing 
          
#-------------------------------------------------------------
#    Wetter-Vorhersage
#-------------------------------------------------------------

# Der neue Weg (forcasts mit s)
# Tägliche Wettervorhersagen
        - trigger:
          - platform: time_pattern
            hours: /1
            action:
        - service: weather.get_forecasts
          target:
            entity_id:
            - weather.forecast_xxxx
            data:
            type: daily
          response_variable: tagesvorhersage
          sensor:

Das ist nur der Ausschnitt.

Warum genau setzt du es jetzt unter

??

Bitte nehm dir die Zeit und schau wie es genau muss.
Imho müsste es (ungetestet) so aussehen

# ------------------------------------------------------------------
#      Gaszähler Sensor
# ------------------------------------------------------------------

template:
  - sensor:
    - unique_id: gaszaehler_m3    
      name: Gaszähler m³
      state: "{{ states ('counter.gaszahler_h') | float * 0.01}}"
      unit_of_measurement: m³
      icon: mdi:meter-gas
      device_class: gas
      state_class: total_increasing 
        
#-------------------------------------------------------------
#    Wetter-Vorhersage
#-------------------------------------------------------------

# Der neue Weg (forcasts mit s)
# Tägliche Wettervorhersagen
  - trigger:
    - platform: time_pattern
      hours: /1
    action:
    - service: weather.get_forecasts
      target:
        entity_id:
          - weather.forecast_xxxx
      data:
          type: daily
      response_variable: tagesvorhersage
    sensor:
1 „Gefällt mir“

Beim Trigger sieht für mich die Platform falsch eingerückt aus. Ich fand die Umstellung auch etwas schwer verständlich. Und Du musst “natürlich” Deine Wettersensoren auch anpassen. Bei mir sieht das so aus (Platzhalter entsprechend ersetzen):

  - trigger:
      - platform: time_pattern
        hours: /1
        #minutes: /1
      - platform: homeassistant
        event: start
      - platform: event
        event_type: call_service
        event_data:
          domain: homeassistant
          service: reload_all
      - platform: event
        event_type: call_service
        event_data:
          domain: input_select
          service: reload
      
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.forecast_home
        response_variable: daily
    sensor:
      - name: weather_platzhalter
        unique_id: weather_platzhalter
        state: "{{ now().isoformat() }}"
        attributes:
          forecast: "{{ daily['weather.forecast_home'].forecast }}"

### Wetter sensoren
  - sensor:
      - name: "Wetter condition naechster Tag"                    
        state: >                    
            {{ state_attr('sensor.weather_platzhalter', 'forecast')[1]['condition'] }}
  - sensor:
      - name: "Wetter temperatur naechster Tag"                    
        state: >
            {{ state_attr('sensor.weather_platzhalter', 'forecast')[1]['temperature'] |default (10) | string }}

Die Events habe ich eingebaut, damit die Aktualisierung direkt nach Konfig reload durchgeführt wird-

Hi, danke für Deinen konstruktiven Beitrag, aber ich werd es wohl aufgeben, da bei mir wenn ich alles richtig eingerückt habe und im File-Editor alles grün zeigt, so das ich es speichern kann, kommt vor dem Neustart ein Hinweis das der Begriff - trigger nicht existiert. Das werd ich vielleicht irgendwann mal hinbekommen, aber im Moment hab ich noch andere Sachen die wichtiger sind, weil der Forecast nur für meine Bewässrung wichtig war und das läuft halt ohne das eventuell Regen berücksichtig wird.

Noch eine Frage zu dem ganzen. Ich verwende ja für meine Automatisierungen zum Teil node-red, ja da werden wieder einige aufschreien das geht auch mit HA Automatisierung, das weis ich, hab auch einige mit HA direkt. Wo ich ein Problem hab die Templatesensoren werden in node-red nicht angezeigt, das versteh ich nicht woran das liegt, vielleicht kann mir das einer mal erklären oder was ich an dem Script von Simon42 ändern muss damit die in node-red auftauchen.

Update:
Gibt es mitlerweile eine Empfehlung oder einen Hinweis auf eine andere Wetterintegration, die auch die Vorhersage für Regen und die gefallene Regenmenge ausgibt? Ich hab jetzt mal verschiedene installiert gehabt aber keine hat mehr die Regenvorhersage drin, oder ich überseh das.

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Open Weathermap hat Sie doch drin???

weather.openweathermap:
  forecast:
    - datetime: "2024-07-17T09:00:00+00:00"
      condition: cloudy
      temperature: 21.9
      pressure: 1022
      cloud_coverage: 82
      wind_speed: 1.33
      wind_bearing: 331
      uv_index: 4.63
      precipitation_probability: 0
      precipitation: 0
      apparent_temperature: 21.9
      dew_point: 15.5
      wind_gust_speed: 5.83
      humidity: 67

Was fehlt dir denn?

Ja genau das ist es, aber das ist alles nur zu sehen wenn ich eine Dienstabfrage starte. Als Entität ist das nicht vorhanden. Ich meine die preciption Werte, denn die sind die die für meine Bewässerung interessant sind. Ich versteh es einfach nicht warum die nicht vorhanden sind oder muss ich die über ein Templatesensor erstellen?

So wie ich das sehe, ist der Wert als Attribut vorhanden, d.h. wenn Du einen sensor haben möchtest, dann einfach ein template erstellen.

OK werd ich mal probieren ob ich den hinbekomme.

Ja du hast es noch nicht verstanden, aber ich scheitere daran es dir näher zu bringen.

Es gibt in der Wetter-Entität keinen Forecast mehr, weil das zu einigen Probleme geführt hat, siehe Release Notes aus März/April. Darum kannst soviel installieren wie du willst. KEINE weather Entität hat forecasts.

Dafür gibt es seitdem einen Dienst, wie man daraus eigene Sensoren erstellt die man braucht erklärt Simon in seinem Video. Mehr kann ich dir dazu auch nicht sagen, als in der Doku und in dem Video beschrieben, dass muss man halt machen. Auf seiner Seite kann man sogar den kompletten Code kopieren.

Wenn du das nicht hinbekommst, fehlen noch ein paar Grundlagen (anhand deinen letzten Beiträge liegt das auch nahe) darum würde ich vielleicht nochmal die yaml Grundlagen anschauen.

1 „Gefällt mir“

Ich hab das sehr wohl verstanden das es keine Forcasts mehr gibt. Nur die Entität über Template zu erstellen scheint nicht so richtig zu funktionieren, denn wenn ich das Template so wie von Simon42 beschrieben anlege, erscheint trotzdem nicht al Entität die precipitation_probability und precipitation. Deshalb sind meine Fragen vielleicht zu blö um das zu verstehen, aber ich will schon noch das richtig hinbekommen. Übrigens der Hinweis auf so Sachen wie “read this fucking Manual” kenn ich zur Genüge, besser ist es ein paar sinnvolle Tips zu geben.

Was ist denn für dich sinnvoll? Meine Glaskugel ist leider kaputt, du hast weder Code gepostet zu deinem aktuellen Stand noch irgendwas. Soll ich hellsehen?
Wenn du es nicht mit Videos und Beschreibung hinbekommst, sind vielleicht nicht immer die anderen Schuld. Es fehlt halt an Grundlagen und Verständnis, da sollte man sich dann wenigstens ein wenig Mühe geben um ein Problem zu beschreiben und wie man es nachstellen kann, was man bisher gemacht hat etc.
Kennst bestimmt:
“Wie man in den Wald hineinruft…”

Anhand deinen Posting und Fragen kann man ehrlich gesagt nicht sehen, was du verstanden hast und was nicht. Darum ist meine Antwort ja es geht und das funktioniert problemlos mit jeder Wetterintegration

Weiterhin viel Erfolg

EDIT: Auf die Gefahr hin dir wieder nicht helfen zu können und der Fehler wieder bei mir liegt. Der Simon legt zu precipitation und precipitation_probability auch keine an. Das musst du schon selber machen, also einen eigenen Sensor dafür anlegen, also 2-3 Zeilen mehr kopieren und anpassen.
Und dazu nochmal wenn das nicht klappt (ohne Code wie immer Glaskugel lesen) hast du es eben doch nicht verstanden wie das ganze funktioniert :wink:

OK dann hier mal der Code mt den hoffentlich richtig erzeugten Zeilen:

template:
# Der neue Weg (forcasts mit s)
# Tägliche Wettervorhersagen
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_homexxx
        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_homexxx'].forecast[1].condition }}"
          cloud_coverage: "{{ tagesvorhersage['weather.forecast_homexxx'].forecast[1].cloud_coverage }}"
          temperature: "{{ tagesvorhersage['weather.forecast_homexxx'].forecast[1].temperature }}"
          datetime: "{{ tagesvorhersage['weather.forecast_homexxx'].forecast[1].datetime }}"
          precipitation: "{{ tagesvorhersage['weather.forecast_homexxx'].forecast[1].precipitation }}"
          precipitation_probability: "{{ tagesvorhersage['weather.forecast_homexxx'].forecast[1].precipitation_probability }}"
# 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_homexxx'].forecast }}"
# Stündliche Wettervorhersagen
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_homexxx
        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_homexxx'].forecast[1].condition }}"
          cloud_coverage: "{{ stundenvorhersage['weather.forecast_homexxx'].forecast[1].cloud_coverage }}"
          temperature: "{{ stundenvorhersage['weather.forecast_homexxx'].forecast[1].temperature }}"
          precipitation: "{{ stundenvorhersage['weather.forecast_homexxx'].forecast[1].precipitation }}"
          precipitation_probability: "{{ stundenvorhersage['weather.forecast_homexxx'].forecast[1].precipitation_probability }}"
# 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_homexxx'].forecast[1].temperature }}"
        unit_of_measurement: °C
      - name: Bedingungs-Vorhersage der nächsten Stunde
        unique_id: condition_forecast_next_hour
        state: "{{ stundenvorhersage['weather.forecast_homexxx'].forecast[1].condition }}"
        
        

In der config.yaml ist eine Zeile eingefügt “packages: !include_dir_named packages” wo dann im Unterverzeichnis dei Datei mit dem Template drin ist. Leider wird kein einziger Sensor als Entität angezeigt. Ich vermute das die Datei wetter.yaml in dem Verzeichnis nicht aufgerufen wird. In der config.yaml ist aber noch ein Sensor als template drin eventuell ist das der Fehler. Ich kann auch die ergänzung mit den neuen Sensoren nicht in der config eintragen dann kann ich die nicht mehr speichern. Vielleicht versuch ich den anderne Template Sensor auch in eine Datei rein zu bekommen und das dann extra laden zu lassen.

dann kann das

auch nicht funktionieren, Du darfst nur 1x"template:" in der config.yaml haben.

Setze Deinen Code so direkt unter den vorhandenen Template-Sensor:

# Der neue Weg (forcasts mit s)
# Tägliche Wettervorhersagen
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
......usw.

Das meinte ich mit Grundlagen, auch wenn du es schweren Herzens nicht akzeptierst.
Du kannst in yaml nur ein gleiches root Element template haben. Das ist dein Fehler, darum klappt es nicht.

Wenn du das auf mehrere Files aufteilen willst um eine bessere Übersicht zu bekommen, gibt es dazu ein schickes Video welches das mit den included super erklärt ;).

Ansonsten zu deinem Code auch mit dem Code bekommst du KEINEN eigenen sensor für precipitation und precipitation_probability, sondern das sind Attribute von dem sensor forecast_next_1_day. Du könntest auch eigene Sensoren wie
forecast_next_1_day_precipitation erstellen, sowie das open weather früher gemacht hat.

1 „Gefällt mir“

So hab das mal in der config jetzt reingesetzt und nachdem ich einige Korrekturen mit den Tabs gemacht hab, zeigte es alles grün und ich konnte die Datei speichern. Nur bekomme ich dann wenn ich bei den Entwicklerwerkzeugen die Überprüfung laufen lasse diese Fehlermeldung:
Logger: homeassistant.config
Quelle: config.py:590
Erstmals aufgetreten: 14:04:15 (1 Vorkommnisse)
Zuletzt protokolliert: 14:04:15

Invalid config for 'template' at configuration.yaml, line 111: 'trigger' is an invalid option for 'template', check: sensor->2->trigger Invalid config for 'template' at configuration.yaml, line 111: required key 'state' not provided Invalid config for 'template' at configuration.yaml, line 116: expected a dictionary for dictionary value 'action->0->target', got None Invalid config for 'template' at configuration.yaml, line 122: 'sensor' is an invalid option for 'template', check: action->0->sensor

Ich werd es wohl alles wieder ohne den Sensor für den gefallenen Regen sowie über den voraussichtlichen Regen laufen lassen. Wird der Garten halt ein wenig nasser.Hier noch der Screenshot was in den Zeilen drinsteht:

:crayon:by HarryP: Post formatiert

Der trigger ist viel zu weit eingerückt. Vor den “-” gehören nur zwei Leerzeichen, sodass dann die ersten Buchstaben von trigger und action auf gleicher Höhe sind.
Alles unter action ist auch weiter 4 Leerzeichen eingerückt, gehört aber nur zwei eingerückt. Siehe hierzu den Post von harryp.

Daran liegt es nicht. Wenn ich die originale Datei verwende bekomm ich den Fehler das das Einrücken falsch ist. Ich werd es einfach bei der alten Version mit OWM ohne Regenvorhersage laufen lassen.