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
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:
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.
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.
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
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.
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:
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.