Intégration Weather & attributs manquants

Bonjour à tous

J’ai une question concernant l’intégration Weather
https://www.home-assistant.io/integrations/weather/

Je l’ai ajouté et créé un sensor avec des données à l’heure

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

image

Cependant j’aurais souhaité avoir d’autres attributs notamment la couverture nuageuse.

Dans la doc, il est indiqué qu’une entité ne peut pas prendre tous les attributs.
Cela veut dire, qu’il y a un nombre de max d’attributs par entité ?, que les attributs sélectionnés sont choisis arbitrairement ou qu’il est possible de choisir ceux que l’on souhaite ?

Merci

Bonjour à tous
un petit up :wink:

J’ai cherché un peu de partout, je n’ai rien trouvé de probant…
Est ce que je cherche le mouton à 5 pattes, ou je m’y prends mal dans mon config ?

merci

Quand tu parle de données à l’heure, tu parle de données pour les heures suivante. En tout cas, c’est ce que fait le capteur que tu a créé, il récupère les prévision météo pour chacune des heures suivantes.

A weather entity may not support all the state attributes.

Non ça veux dire que selon ta source de météo, tous les attributs ne seront pas forcement utilisés. Par exemple, ta source ne semble pas fournir en prévision horaire le point de rosée ou l’indice d’UV. Du coup, les attributs correspondant n’existe pas, ou autrement dit, ne sont pas supporté pour cette source.

Tu a juste fait une erreur à la fin du code dans la partie attributes:

    sensor:
      - name: Weather Forecast Jour
        unique_id: weather_forecast_hour
        state: "{{ hourly['weather.toulon'].forecast[0].condition }}"
        attributes:
          forecast: "{{ hourly['weather.toulon'].forecast }}"

En fait, tu a créé un seul attribut, nommé forecast, qui contient toutes les prévisions horaires en vrac, sous forme d’un grand texte.
Pour corriger ça, tu dois créer un attribut pour chaque élément :

    sensor:
      - name: Weather Forecast Jour
        unique_id: weather_forecast_hour
        state: "{{ hourly['weather.toulon'].forecast[0].condition }}"
        attributes:
            - conditionH1: "{{ hourly['weather.toulon'].forecast[0].condition}}"
            - temperatureH1: "{{ hourly['weather.toulon'].forecast[0].temperature}}"
            - humidityH1: "{{ hourly['weather.toulon'].forecast[0].humidity}}"
            - conditionH2: "{{ hourly['weather.toulon'].forecast[1].condition}}"
            - temperatureH2: "{{ hourly['weather.toulon'].forecast[1].temperature}}"
            - humidityH2: "{{ hourly['weather.toulon'].forecast[1].humidity}}"
            ...

Explications :

  • Pour les noms des attribut, tu peux mettre ce que tu veux, sans espace ni caractères spéciaux. Par exemple pour la couverture nuageuse en H+1, j’ai mis conditionH1:, mais tu pourrais mettre couverture:
  • L’attribut temperatureH1 donne la température qu’il fera dans 1h. temperatureH2 donne la température qu’il fera dans 2h
  • Met uniquement les attributs que tu souhaite. Si tu veux uniquement les prevision H+1, tu ne met pas les H2.
  • Tu peux utiliser condition, temperature, humidity, wind_speed, wind_bearing, et precipitation (ex: .....forecast[0].precipitation)
  • Si tu veux les prévision H+3 de température par exemple :
    - temperaturedans3h: "{{hourly['weather.toulon'].forecast[2].temperature}}"
    pour H+4, forecast[3] et ainsi de suite

Bonjour @Ev000 et merci pour cette réponse détaillée.
J’y vois un peu plus clair…

Entretemps j’avais aussi lu cela

En fait, il faut donc choisir la source météo qui fournit les données qui nous intéresse… par contre je n’ai pas vu comment sélectionner/modifier le provider qui convient.
Je suppose qu’il faut d’abord l’ajouter à HA, mais il faut certainement modifier un paramètre pour pointer dessus ?

La source de ton weather est une intégrations (en général). Tu peux en ajouter via la page des intégrations dans Home Assistant (Paramètres > Appareils et services > Ajouter une intégration). Il y a Météo-France, Open-meteo, etc.
La liste des intégrations météo officiels est dispo ici
Il y en a encore d’autre accessible via HACS.

Tu peux ajouter autant de fois que tu veux une intégration météo, pour par exemple avoir la météo de plusieurs villes.

D’ailleurs celle que tu utilises, weather.toulon, provient sans doute d’une intégration.

Petite précision, là on ne parle que des données brutes, pas de mise en forme. Pour la mise en forme, c’est coté tableau de bord et cartes.

Ha, avec tes explications et le temps que ça remonte au cerveau :sweat_smile:, j’y vois clair !
Bon… je n’ai plus qu’à trouver l’intégration qui me convienne et à pointer dessus, un grand merci @Ev000 , bon weekend