Hi, There will be a change in early 2024 to get the forecasts. Weather.xxxx entities will no longer provide forecasts automatically, you must request them. Here’s how I do it.
template:
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: hourly
target:
entity_id: weather.shawinigan
response_variable: previsionshoraires
sensor:
- name: Prévisions météorologiques horaires
unique_id: previsions_meteorologiques_horaires
state: "{{ now().isoformat() }}"
icon: mdi:hours-24
attributes:
forecast: "{{ previsionshoraires.forecast }}"
This will create a sensor under the name sensor.previsions_meteorologiques_horaires which will contain the forecasts.
Then you can get the forecasts like this.
template:
- sensor:
- name: 'def_previsions_temperature_h0'
unique_id: 'def_previsions_temperature_h0'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[0].temperature }}"
- name: 'def_previsions_temperature_h1'
unique_id: 'def_previsions_temperature_h1'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[1].temperature }}"
- name: 'def_previsions_temperature_h2'
unique_id: 'def_previsions_temperature_h2'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[2].temperature }}"
- name: 'def_previsions_temperature_h3'
unique_id: 'def_previsions_temperature_h3'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[3].temperature }}"
- name: 'def_previsions_temperature_h4'
unique_id: 'def_previsions_temperature_h4'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[4].temperature }}"
- name: 'def_previsions_temperature_h5'
unique_id: 'def_previsions_temperature_h5'
unit_of_measurement: "°C"
state: "{{ state_attr('sensor.previsions_meteorologiques_horaires', 'forecast')[5].temperature }}"