[Météo France] Prévisions par jour et par heure

Salut,
j’ai créer des sensors template ( a mettre dans configuration.yaml). J0 = aujourd’hui et J1 = demain

template:
  - sensor:
      - name: Météo xxxxxx J0
        unique_id: meteo_xxxxx_j0
        state: "{{ state_attr('weather.xxxxxx','forecast')[0].condition | default(0) }}"
        attributes: 
          temperature: "{{ state_attr('weather.xxxxxx','forecast')[0].temperature | float(0) }}"
          templow: "{{ state_attr('weather.xxxxx','forecast')[0].templow | float(0) }}"
          humidite: "{{ state_attr('weather.xxxxx','forecast')[0].humidity | int(0) }}"
          precipitation: "{{ state_attr('weather.xxxxxx','forecast')[0].precipitation | float(0) }}"
        availability:  "{{ states('weather.xxxxxxx') not in ['unknown', 'unavailable', 'none'] }}"
      - name: Météo xxxxxxx J1
        unique_id: meteo_xxxxxx_j1
        state: "{{ state_attr('weather.xxxxxx','forecast')[1].condition | default(0) }}"
        attributes: 
          temperature: "{{ state_attr('weather.xxxxxxxx','forecast')[1].temperature | float(0) }}"
          templow: "{{ state_attr('weather.xxxxxxxx','forecast')[1].templow | float(0) }}"
          humidite: "{{ state_attr('weather.xxxxxxxxx','forecast')[1].humidity | int(0) }}"
          precipitation: "{{ state_attr('weather.xxxxxxx','forecast')[1].precipitation | float(0) }}"
        availability:  "{{ states('weather.xxxxxxx') not in ['unknown', 'unavailable', 'none'] }}"

Après j’utilise ces sensors dans esphome

sensor:
  - platform: homeassistant
    id: current_temperature
    entity_id: sensor.meteo_xxxxx_j0
    attribute: temperature
  - platform: homeassistant
    id: current_templow
    entity_id: sensor.meteo_xxxxx_j0
    attribute: templow

Bonjour,

Ok top j’essaie ce soir,
Par contre ces variables ne me donnent pas les conditions ? Nuageux etc… ?

Voila ce que va donner le sensor template. Tu auras la condition du temps dans l’état et le reste, temp max et temp min , humidité et précipitation dans les attributs.

Mince cela ne fontionne pas … malgré avoir remplacé les variables par les miennes :wink:

Mon entité météo est de l’intégration Météo france.

Tu a pas l’air d’utiliser météo france a voir ta capture
image

Effectivement, alors j’ai MeteoFrance et Weather.com

Par contre depuis septembre 2023 le forecast ne sort plus direct !
On doit faire un appel de service…

Je sais, mais j’ai mes entités météo france créer depuis plus de deux ans, ou on pouvais choisir par heure ou jours. Et depuis j’ai toujours mes entité soit en heure ou en jour. Je pensais qu’il y aurais un changement le 2024.3.0, mais rien encore. Pour la 2024.4.0 surement.

vous avez bien de la chance les miennes ne contiennent pas le forecast

C’est comment la structure des attributs sur une entité météo france ?
Fais une capture.

et ca marche toujours ? je viens de passer en core-2024.4.0 ?

et plein d’erreurs

Enregistreur: homeassistant.components.template.template_entity
Source: components/template/template_entity.py:201
intégration: Template (documentation, problèmes)
S'est produit pour la première fois: 16:30:58 (17 occurrences)
Dernier enregistrement: 16:30:58

TemplateError('UndefinedError: None has no element 4') while processing template 'Template<template=({{state_attr('weather.xxxxxxxx', 'forecast')[4].temperature}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.weather_temperature_5'
TemplateError('UndefinedError: None has no element 4') while processing template 'Template<template=({{state_attr('weather.xxxxxxxx', 'forecast')[4].templow}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.weather_templow_5'
TemplateError('UndefinedError: None has no element 4') while processing template 'Template<template=({{state_attr('weather.xxxxxxxx', 'forecast')[4].condition}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.weather_condition_5'
TemplateError('UndefinedError: None has no element 0') while processing template 'Template<template=({% set sensors = [ states('sensor.atc_ext_ouest_temperature') | float(0.0), state_attr('weather.xxxxxxxx', 'forecast')[0].temperature | float(0.0), state_attr('weather.xxxxxxxx', 'forecast')[1].temperature | float(0.0), state_attr('weather.xxxxxxxx', 'forecast')[2].temperature | float(0.0), state_attr('weather.xxxxxxxx', 'forecast')[3].temperature | float(0.0), ] %} {{ sensors | max }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.outside_temperature_max_next_days'
sensor:
  # For MeteoBoard ------------------------------
  - platform: template
    sensors:
      date_fr_jour_mois:
        value_template: "{{ ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'][now().weekday()] }} {{ ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'][ now().day-1] }}"
      date_fr_complete:
        value_template: "{{ ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'][now().weekday()] }} {{ ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'][ now().day-1] }} {{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][now().month-1] }}"
      weather_temperature:
        value_template: "{{ states('sensor.atc_parents_temperature')}}"
        unique_id: weather_temperature_bt
        unit_of_measurement: °C
        device_class: temperature
      weather_day_1:
        value_template: "{{ ['LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.','LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.'][now().weekday()] }}"
      weather_temperature_1:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[0].temperature}}"
      weather_templow_1:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[0].templow}}"
      weather_condition_1:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[0].condition}}"
      weather_day_2:
        value_template: "{{ ['LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.','LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.'][now().weekday()+1] }}"
      weather_temperature_2:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[1].temperature}}"
      weather_templow_2:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[1].templow}}"
      weather_condition_2:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[1].condition}}"
      weather_day_3:
        value_template: "{{ ['LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.','LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.'][now().weekday()+2] }}"
      weather_temperature_3:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[2].temperature}}"
      weather_templow_3:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[2].templow}}"
      weather_condition_3:
        value_template: "{{state_attr('weather.xxxxxxxx', 'forecast')[2].condition}}"

bon, je sais que mon template est mal écrit, mais jusqu’à hier, il marchait…

Salut,
l’attribut Forecast a été supprimer sur le core 2024.4.0.

Faut se faire un template pour créer un sensor avec l’attribut forecast.

exemple:

template:
  - trigger:
      - platform: state
        entity_id: weather.xxxxx #entité météo france
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.xxxxx
        response_variable: daily
    sensor:
      - name: Weather Forecast Jour XXXX
        unique_id: weather_forecast_jour_XXXXX
        state: "{{ daily['weather.xxxxx'].forecast[0].condition }}"
        attributes:
          forecast: "{{ daily['weather.xxxxx'].forecast }}"

Tu utilisera le sensor template sensor.weather_forecast_jour_XXXXX a la place de ton entité weather weather.xxxxxxxx

PS:
Fallait lire le breaking change du mois :wink:

Pfff faut toujours que je fasse le malin, c’est plus fort que moi !!!
j’aurais du lire depuis le début !!!

mais bon, j’apprend encore à mon age !!!

1 « J'aime »

C’est bon, çà re-marche.

reste à virer ma prose de configuration.yaml et le mettre dans la partie template !!!
d’ailleurs, non, c’est pas de la prose, c’est des vers: çà rime !! :sunglasses:

mais là y’a que @WarC0zes qui pourra m’aider !
y’a encore beaucoup de templates dans les docs en ligne de HA qui sont toujours à l’ancien format :face_with_raised_eyebrow:

sensor:
  - platform: template
    sensors:
      date_fr_complete:
        value_template: "{{ ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'][now().weekday()] }} {{ ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'][ now().day-1] }} {{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][now().month-1] }}"
      weather_temperature:
        value_template: "{{ states('sensor.atc_parents_temperature')}}"

      weather_day_1:
        value_template: "{{ ['LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.','LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.'][now().weekday()] }}"
      weather_temperature_1:
        value_template: "{{state_attr('sensor.weather_forecast_jour_0', 'forecast')[0].temperature}}"
      weather_templow_1:
        value_template: "{{state_attr('sensor.weather_forecast_jour_0', 'forecast')[0].templow}}"
      weather_condition_1:
        value_template: "{{state_attr('sensor.weather_forecast_jour_0', 'forecast')[0].condition}}"

      weather_day_2:
        value_template: "{{ ['LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.','LUN.','MAR.','MER.','JEU.','VEN.','SAM.','DIM.'][now().weekday()+1] }}"
      weather_temperature_2:
        value_template: "{{state_attr('sensor.weather_forecast_jour_1', 'forecast')[1].temperature}}"
      weather_templow_2:
        value_template: "{{state_attr('sensor.weather_forecast_jour_1', 'forecast')[1].templow}}"
      weather_condition_2:
        value_template: "{{state_attr('sensor.weather_forecast_jour_1', 'forecast')[1].condition}}"

le jour où ce sera supprimé, ca va faire mal !!!

Ca va , c’est pas trop compliquer la conversion de t’es template.

Exemple:
avant

sensor:
  - platform: template
    sensors:
      date_fr_complete:
        value_template: "{{ ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'][now().weekday()] }} {{ ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'][ now().day-1] }} {{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][now().month-1] }}"
      weather_temperature:
        value_template: "{{ states('sensor.atc_parents_temperature')}}"

après

template:
  - sensors:
      - name: date fr complete
        unique_id: date_fr_complete
        state: "{{ ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'][now().weekday()] }} {{ ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'][ now().day-1] }} {{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][now().month-1] }}"
      - name: weather temperature
        unique_id: weather_temperature
        state: "{{ states('sensor.atc_parents_temperature')}}"
1 « J'aime »

C’est Nicole Crème !!!

1 « J'aime »

Bonjour,

Ma carte Météo de HACF n’affiche plus les prévisions de Météo France.
J’ai compris en lisant ce fil que c’était dû à la mise a jour d’Avril et que c’était prévu depuis Aout.

Par contre je n’ai pas compris ce que je doit faire pour les récupérer.
Ai je utilisé une carte Météo obsolète ?
Dois je essayer le template de bentou ?
ou doits je être patient et attendre une mise à jour de la carte meteo ?

Là je suis un peu dans le brouillard :wink:

Bonjour,
il te faut juste mettre a jour la carte métép france en version beta 1.9.2-beta2.
Tu va dans HACS, tu rentre dans la carte MF et les 3 points, puis re télécharger. tu coche béta et sélectionne la 1.9.2-beta et tu télécharge.

Faudras refaire une carte MF vierge, car des options on changer et l’ancien code fera bug la carte.

1 « J'aime »

Super.
ça a marché tout de suite sans rien refaire.
(j’ai quand même refais par sécurité au cas ou il y aurait qqchose que je n’avais pas vu/compris)
Et j’ai la météo par heure de la journée en plus.

Merci

1 « J'aime »

Merci @WarC0zes, j’ai chargé la 1.9.2-beta-2 et ca roule parfaitement sans rien modifier dans mon YAML Lovelace . :ok_hand: Félicitations.

Merci beaucoup !
Me lançant sur un affichage ePaper, ton message m’a beaucoup aidé !

1 « J'aime »