Meteo France par HACF <- pas de forecast

Bonjour,

J’ai besoin d’aide sur la carte Météo France

Ma configuration


[center]

System Information

version core-2024.8.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.31-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 4994
Installed Version 2.0.0
Stage running
Available Repositories 1389
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.1
update_channel stable
supervisor_version supervisor-2024.08.0
agent_version 1.6.0
docker_version 26.1.4
disk_total 28.5 GB
disk_used 6.2 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity false
ntp_synchronized true
virtualization
board rpi4-64
supervisor_api ok
version_api ok
installed_addons ESPHome (2024.8.0), Terminal & SSH (9.14.0), File editor (5.8.0)
Dashboards
dashboards 2
resources 1
views 4
mode storage
Recorder
oldest_recorder_run 22 août 2024, 08:25
current_recorder_run 22 août 2024, 18:00
estimated_db_size 65.70 MiB
database_engine sqlite
database_version 3.45.3
[/center]

J’ai chargé HACS 2.0.0
L’intégration Météo est activée avec tous les services…

Mon problème est le suivant

Quoi que je fasse, le forecast n’est pas affiché

C’est d’autant plus étrange que les données existent !

Plus étrange encore, j’ai créé des variables dans la configuration.yaml pour alimenter un ESPHome

template: 
  - trigger:
    - platform: time_pattern
      # Matches every hour at 5 minutes past whole
      minutes: "/5"
      #- platform: state
      #  entity_id: weather.toulouse #entité météo france.
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.toulouse
        response_variable: daily
    sensor:
      - name: "weather_condition_j1"
        unique_id: weather_condition_j1
        state: "{{ daily['weather.toulouse'].forecast[1].condition }}"
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
      - name: "weather_temperature_j1"
        unique_id: weather_temperature_j1
        state: "{{ daily['weather.toulouse'].forecast[1].temperature | float() }}"
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
      - name: "weather_templow_j1"
        unique_id: weather_templow_j1
        state: "{{ daily['weather.toulouse'].forecast[1].templow }} "
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
… ca continue avec J2, J3, etc

Dans mon ESPHome, je récupère bien la donnée .condition mais pour les données températures c’est vide… je reçois NAN… J’ai cherché partout, je ne comprends pas comment activer le forecast météo France correctement pour récupérer l’ensemble des données…
Please help !

Wilfried (débutant HA)


Bonjour,
pour que le forecast fonctionne avec la carte météo france, il faut installer la version beta 1.9.2-beta-2.

Pour le template:

1 « J'aime »

Merci WarC0zes,
Super super rapide !

Par contre j’ai upgradé en HACS 2.0.0 … et je suis perdu :rofl:

Comment accède-t-on au cartes Lovelace maintenant ?

Wilfried

Comme moi lol
J’aime pas c’est vu, j’y comprends rien …

Recherche la dans la barre de recherche.

Nickel,

Par contre pas de 1.9.2-beta-2 :grimacing:
(en tous cas je n’ai pas trouvé)

Concernant le template, c’est bien l’article que j’avais lu et mon template me semble similaire à celui que tu avais posté… et le forecast.condition est bien récupéré. J’ai juste un problème avec le forecast.temperature et forecast.templow… Je me demande si Météo France utilise les mêmes mots clés… en tous cas je ne récupère rien du tout dans les sensors.

Encore merci
Wilfried

Oups, oublier de préciser qu’il faut utiliser ce dépot:

C’est la carte météo france develloper par HACF et qui est a jour, comparé a celle que tu utilise qui est develloper par un autre et pas a jour.

Faut ajouter le dépot, par les 3 points et dépot personalisé:
image

Il faut désintaller celle que tu utilise et installer la carte de HACF et t uaura la version beta dispo.

Merci +1

Hum… HACS 2.0.0 est vraiment pénible

désolé… tu peux m’appeler Pénible :rofl:

Wilfried

Tu as bien sélectionner tableau de bord quand tu as ajouter le dépot ?

J’ai bien toutes les versions avec l’UI 2.0

oui j’ai bien le dépôt personnalisé et je l’ai bien selectionné « tableau de bord »,c’est la seule option qui fonctionne de toutes façons (je viens de la desinstaller et réinstallé pour être certain)

image

je trouve bien aussi la version 1.9.2-beta-2… mais il refuse de l’installer

elle n’est pas compatible d’après la réponse…

Wilfried

Alors c’est un problème de HACS 2.0. J’ai jamais vu c’est erreur.

1 « J'aime »

Je vais attendre une mise à jour du Lovelace Météo France compatible avec HACS 2.0.0 alors…

Et pour la partie template as tu une idée de pourquoi ma config qui est similaire à ce que tu avais publié récupère bien les infos « condition » mais pas les informations float() de la temperature et templow

j’ai rechargé la config pour forcer la mise à jour. J’ai bien la récup des « confition » sur 5 jours (avec les bons états)… rien pour les températures, pourtant j’ai suivi le même template…

template: 
  - trigger:
    - platform: time_pattern
      minutes: "/5"
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.toulouse
        response_variable: daily
    sensor:
      - name: "weather_condition_j1"
        unique_id: weather_condition_j1
        state: "{{ daily['weather.toulouse'].forecast[1].condition }}"
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
      - name: "weather_temperature_j1"
        unique_id: weather_temperature_j1
        state: "{{ daily['weather.toulouse'].forecast[1].temperature | float() }}"
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
      - name: "weather_templow_j1"
        unique_id: weather_templow_j1
        state: "{{ daily['weather.toulouse'].forecast[1].templow }} "
        attributes:
          forecast: "{{ daily['weather.toulouse'].forecast }}"
… ca continue avec J2, J3, etc

Sur templow j’ai essayé sans le forçage de cast, mais ça ne change rien. La donnée reste vide et n’est pas poussée à mon ESPHome :thinking:

Wilfried

J’utilise deux template, un template trigger pour récupérer les forecasts par jour. Puis un template sensor, qui m’affiche pour le jour 0 et que j’utilise pour l’esp.

exemple :

template:
#template trigger
  - trigger:
      - platform: time_pattern
        hours: /1
      - platform: homeassistant
        event: start
    action:
      - service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id: weather.xxxx
        response_variable: daily
    sensor:
      - name: Weather Forecast Jour xxxx
        unique_id: weather_forecast_jour_xxxx
        state: "{{ daily['weather.xxxx'].forecast[0].condition }}"
        attributes:
          forecast: "{{ daily['weather.xxxx'].forecast }}"
        availability:  "{{ states('weather.xxxx') not in ['unknown', 'unavailable', 'none'] }}"

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

Dans ton trigger , ça ne sert à rien de mettre tous les 5 minutes. C’est actualisé toutes les heures .

  - trigger:
    - platform: time_pattern
      minutes: "/5"

C’est élégant ! Je vais tester ça

Pour le ESP, j’utilise les attributs du sensor template comme telle :

# Example configuration entry
sensor:
  - platform: homeassistant
    id: current_temperature
    entity_id: sensor.meteo.xxxx.j0
    attribute: temperature

  - platform: homeassistant
    id: current_templow
    entity_id: sensor.meteo.xxxx.j0
    attribute: templow

  - platform: homeassistant
    id: current_humidite
    entity_id: sensor.meteo.xxxx.j0
    attribute: humidite

  - platform: homeassistant
    id: current_precipitation
    entity_id: sensor.meteo.xxxx.j0
    attribute: precipitation

Nickel !

Merci beaucoup pour ton aide.

Wilfried