Openweather forecast

Wenn ich das hier [1] richtig verstehe, muss ich eine action erstellen um die forecast-Werte von openweather zu erhalten.

[1] Weather - Home Assistant

Wieso funktioniert das hier aber nicht? Was mache ich falsch?

- trigger:
    - platform: time_pattern
      hours: "/1"
 
  action:
    - service: weather.get_forecasts
      data:
        type: hourly
      target:
        entity_id: weather.openweathermap
      response_variable: hourlyforecast
  sensor:
    - name: forecast_weather
      unique_id: c4a7bbf2-1814-46ab-9e1f-e6f6ad42410b

      state: "{{ hourly['weather.openweathermap'].forecast[0].temperature }}"
      icon: mdi:hours-24
      unit_of_measurement: °C

Wenn Du als response_variable hourlyforecast definieren tust, dann must Du auch diese im State auch verwenden und nicht hourly

Also muss es lauten

state: "{{ hourlyforecast['weather.openweathermap'].forecast[0].temperature }}"

Gruß
Osorkon

1 „Gefällt mir“

Danke, dh. der data generator im apex-chart sollte ihr dann Daten bekommen?

    data_generator: |
      return entity.attributes.forecast.map((entry) => {
       return [new Date(entry.datetime).getTime(), entry.temperature];
      });

Sollten hier nicht die forecast Werte reinkommen?

@Osorkon hast du noch eine Idee? Danke

In einem sensor.forecast_old kommen die Forecast werden mal rein

Nur wie bringe ich die forecast Werte hier in den Graphen dex apex-Charts, damit gehts leider nicht mehr

 - entity: weather.openweathermap
    name: forceast
    curve: smooth
    stroke_width: 2
    type: line
    unit: °C
    extend_to: false
    show:
      in_header: false
      legend_value: false
      extremas: true
      in_chart: true
    data_generator: |
      return entity.attributes.forecast.map((entry) => {
       return [new Date(entry.datetime).getTime(), entry.temperature];
      });

Jetzt hab ichs…im apex chart musste ich hier nur die enitiy weather.openweahtermap mit sensor.forecast_old austauschen:

- entity: sensor.forecast_old
    name: forceast
    curve: smooth
    stroke_width: 2
    type: line
    unit: °C
    extend_to: false
    show:
      in_header: false
      legend_value: false
      extremas: true
      in_chart: true
    data_generator: |
      return entity.attributes.forecast.map((entry) => {
       return [new Date(entry.datetime).getTime(), entry.temperature];
      });

Dann wird der Graph weitergeführt…
image