Récupérer la température max de la journée via Météo France

Bonjour,

Je cherche une solution pour récupérer la température max de la journée en cours via Météo France et la stocker dans une entité.

J’ai bien vu le template weather mais je n’arrive pas à comprendre comment je peux récupérer cette valeur précise ?

Merci d’avance

temperature: 20
humidity: 70
pressure: 1019.2
wind_bearing: 35
wind_speed: 7
forecast:
  - datetime: '2022-05-19T02:00:00+02:00'
    condition: partlycloudy
    temperature: 25.2
    templow: 13.6
    precipitation: 2.4
attribution: Data provided by Météo-France
friendly_name: Météo

Salut,
tu peux essayer avec ca :

sensor:
  - platform: template
    sensors:
      temp_max_to_day:
        value_template: >-
          {{ state_attr('weather.XXXX', 'forecast')[0].temperature }}
        unit_of_measurement: "°C"

en adaptant bien sûr les XXXX.

1 « J'aime »

Ca fonctionne nikel, du coup je me suis fait un sensor pour le min et le max :wink:
merci.

Merci beaucoup :grinning: @fredarro

Pour ma culture personnelle, comment le code permet de récupérer la température max ?
C’est le fait de prendre la 1ère valeur du tableau ...forecast')[0].temperature... ?

Le [0] pour la première valeur du tableau → Aujourd’hui
[1] pour demain, [2} après demain, …
Pour la température max : temperature
pour la température mini: templow

2 « J'aime »

Hey fredarro est ce que tu pourrais faire un template pour avoir un sensor pour la température? Je sais pas si c’est normal mais chez moi le sensor.xxxx_temperature n’existe plus.
Par contre la température est intégré dans weather.xxx

Bonjour;

voici un exemple.

temp low

{{ state_attr('weather.xxxx', 'forecast')[0].templow }}

temp high:

{{ state_attr('weather.xxxx', 'forecast')[0].temperature }}

template:

template:
  - sensor:
      - name: "Météo Temp Low"
        state: "{{ state_attr('weather.xxxx', 'forecast')[0].templow }}"

Hello,
Il me faudrait la température actuelle tout court.

Merci pour ton aide

template:
  - sensor:
      - name: "Météo Température"
        unit_of_measurement: "°C"
        state: "{{ state_attr('weather.xxxx', 'temperature') }}"
1 « J'aime »

Merci beaucoup pour ton aide! ça a fonctionné!

Bonjour, j’ai essayé les deux templates low et min disponibles ci dessus mais je dois mal m’y prendre :

{{ state_attr('weather.XXX', 'forecast')[0].templow }}

Avec XXX le nom de l’entité HA MeteoFrance qui correspond au nom de mon village

Une idée de ce que j’ai mal fait ?

Bonjour,
les forecasts des entités météo on été supprimer ce mois ci.
Faut créer un template pour récupérer les forecasts par jour, et créer un template pour la temp max et min.
Au lieu d’utiliser l’entité weather.xxx, tu utilisera l’entité du template a la place.

pour le template 2023.9 forecast meteo france, contournement pour les cartes - #34 par WarC0zes

Merci pour le retour mais… je suis débutant dans HA et un peu perdu la je t’avoue !
Si je comprends bien, il faut que j’ajoute ces portions de code directement dans le YAML de la config generale de HomeAssistant ?
Pourquoi etre passé d’un systeme simple a un truc pour codeur barbu :stuck_out_tongue:

Ayant node-red, y a t’il une methode plus aisée de faire cela ?

Oui, ce code est a mettre dans ton configuration.yaml.

Je sais pas , j’utilise pas nodered.

Bonjour,

Je souhaite récuperer la valeur de la temperature max prévue par méteo france.

J’ai collé ce code configuration.yaml :
template:

  - trigger:
      - platform: time_pattern
        hours: /1
      - platform: homeassistant
        event: start
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.champcevinel
        response_variable: daily
    sensor:
      - name: Weather Forecast Jour champcevinel
        unique_id: weather_forecast_jour_champcevinel
        state: "{{ daily['weather.champcevinel'].forecast[0].condition }}"
        attributes:
          forecast: "{{ daily['weather.champcevinel'].forecast }}"

    sensor:
      - name: temperature Forecast Jour champcevinel
        unique_id: temperature_forecast_jour_champcevinel
        state: "{{ daily['weather.champcevinel'].forecast[0].temperature }}"
        unit_of_measurement: "°C"
        attributes:
          forecast: "{{ daily['weather.champcevinel'].forecast }}"

  - trigger:
      - platform: time_pattern
        hours: /1
      - platform: homeassistant

La prévision météo fonctionne bien mais j’ai « unknown » pour la température. Pouvez vous m’aider ?

Bonjour,
ta une mauvaise syntaxe dans le template.

exemple:

  - sensor:
      - name: temperature Forecast Jour champcevinel
        unique_id: temperature_forecast_jour_champcevinel
        state: "{{ daily['weather.champcevinel'].forecast[0].temperature }}"
        unit_of_measurement: "°C"
        attributes:
          forecast: "{{ daily['weather.champcevinel'].forecast }}"
  - trigger:
      - platform: time_pattern
        hours: /1
      - platform: homeassistant
        event: start
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.champcevinel
        response_variable: daily
    sensor:
      - name: Weather Forecast Jour champcevinel
        unique_id: weather_forecast_jour_champcevinel
        state: "{{ daily['weather.champcevinel'].forecast[0].condition }}"
        attributes:
          forecast: "{{ daily['weather.champcevinel'].forecast }}"

pour recupérer la température max du jours , c’est l’entité créer par le template et non l’entité weather:

{{ state_attr('sensor.weather_forecast_jour_champcevinel','forecast')[0].temperature | float(0) }}
  - sensor:
      - name: temperature Forecast Jour champcevinel
        unique_id: temperature_forecast_jour_champcevinel
        state: "{{ state_attr('sensor.weather_forecast_jour_champcevinel','forecast')[0].temperature | float(0) }}"
        unit_of_measurement: "°C"

Pour la température min du jour:

{{ state_attr('sensor.weather_forecast_jour_champcevinel','forecast')[0].templow | float(0) }}

Merci, çà fonctionne super bien !

1 « J'aime »