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

C’est bien ce que j’ai vu, mais je suis étonné car vous parler de template, or la structure ressemble plus à une automatisation, mais je n’ai jamais vu de sensor dans les automations… Comment faites-vous cela ?

C’est bien un template et non une automatisation. C’est un template trigger. à utiliser dans le configuration.yaml ou si tu as découpé ta configuration dans le template.yaml.

1 « J'aime »

Bonjour,
Désolé de relancer une énième fois le sujet mais je suis un noob la dessus.
Quand j’essaie de faire le template j’ai une erreur "UndefinedError: ‹ Daily › is undefined.

Bonjour,
tu as faits quoi exactement ?

le template ce met dans le configuration.yaml, si tu n’as pas dcouper ta configuration.

template:
  - 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'] }}"

il y a juste a changer l’entité weather.xxxx par ton entité météo france.

1 « J'aime »

Merci de me répondre.

Si j’ai déjà un templates.yaml qui contient des choses pour les formats date.(qui fonctionne)

Désolé mais les syntaxes de fichier sont difficilement compréhensible pour moi

Sous la forme :

- unique_id: "date_fr"
  sensor:
  - name: "Date FR sans année"
    unique_id: "date_fr__sans_an"
    icon: mdi:calendar-today
    state: >
      {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
      {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
      {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}
  - name: "Date FR complète"
    unique_id: "date_fr__complete"
    icon: mdi:calendar-today
    state: >
      {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
      {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
      {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1]  + ' ' + now().year | string }}
  - name: "date FR courte"
    unique_id: "date_fr__courte"
    icon: mdi:calendar-today
    state: >
      {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
      {{ days[now().weekday()] + ' ' + now().day | string }}
  - name: "Date FR courte courte"
    unique_id: "date_fr__courte_courte"
    icon: mdi:calendar-today
    state: >
      {% set months = ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Août", "Sep", "Oct", "Nov", "Dec"] %}
      {{ now().day | string + ' ' + months[now().month-1] }}
  - name: "Jours FR"
    unique_id: "date_fr__jours"
    icon: mdi:calendar-today
    state: >
      {{ ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"][now().weekday()] }}
  - name: "Date FR Jour Heure"
    unique_id: "date_fr__jour_heure"
    state: >
      {{ states('sensor.date_fr_complete') }} -- {{ now().strftime('%Hh%M') }}

Si je mets le code que tu m’as donné à la suite avec un « — » de séparation j’ai des erreurs de syntaxe

Quand j’execute l’action :

action: weather.get_forecasts
target:
  entity_id: weather.city
data:
  type: daily

cela fonctionne bien et renvoie un resultat correct

Tu as un souci d’indexation.

  # Define state-based template entities
  - sensor:
      ...
  - binary_sensor:
      ...

  # Define trigger-based template entities
  - trigger:
      ...
    sensor:
      ...
    binary_sensor:
      ...

ton - unique_id: "date_fr" a rien a faire au début.
et pour le sensor:, c’est - sensor:.

exemple :

  - sensor:
      - name: "Date FR sans année"
        unique_id: "date_fr__sans_an"
        icon: mdi:calendar-today
        state: >
          {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
          {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
          {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}
      - name: "Date FR complète"
        unique_id: "date_fr__complete"
        icon: mdi:calendar-today
        state: >
          {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
          {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
          {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1]  + ' ' + now().year | string }}

  - 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'] }}"

Merci Beaucoup, il y a du mieux mais toujours certaines erreurs.

je ne sais pas ce que cela signifie

Pas besoin de passé par un site pour mettre une image. Tu colles ton image directement dans ton message.

ton - trigger: il manque deux espaces au début. comme action: c’est 4 espaces et surement le sensor:.

  - 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'] }}"

edit:
mon template n’est pas a jour, il faut utiliser - action: weather.get_forecasts au lieu de - service: weather.get_forecasts

  - trigger:
      - platform: time_pattern
        hours: /1
      - platform: homeassistant
        event: start
    action:
      - action: 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'] }}"

Encore merci, mais quand ça veut pas :frowning:

il faut que tu montre ton code complet du template.yaml ( il y a surement un souci avant les lignes 39 ). Utilise la balise texte préformaté pour mettre du code dans un message ( l’icone image ).

Merci

Voici

  - sensor:
    - name: "Date FR sans année"
      unique_id: "date_fr__sans_an"
      icon: mdi:calendar-today
      state: >
        {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
        {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
        {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}
    - name: "Date FR complète"
      unique_id: "date_fr__complete"
      icon: mdi:calendar-today
      state: >
        {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
        {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
        {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1]  + ' ' + now().year | string }}
    - name: "date FR courte"
      unique_id: "date_fr__courte"
      icon: mdi:calendar-today
      state: >
        {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
        {{ days[now().weekday()] + ' ' + now().day | string }}
    - name: "Date FR courte courte"
      unique_id: "date_fr__courte_courte"
      icon: mdi:calendar-today
      state: >
        {% set months = ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Août", "Sep", "Oct", "Nov", "Dec"] %}
        {{ now().day | string + ' ' + months[now().month-1] }}
    - name: "Jours FR"
      unique_id: "date_fr__jours"
      icon: mdi:calendar-today
      state: >
        {{ ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"][now().weekday()] }}
    - name: "Date FR Jour Heure"
      unique_id: "date_fr__jour_heure"
      state: >
        {{ states('sensor.date_fr_complete') }} -- {{ now().strftime('%Hh%M') }}

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

Dernière erreur

décalle tous les sensor , de deux espaces en plus. Je t’ai tout modifié, tu as juste à copier / coller :

  - sensor:
      - name: "Date FR sans année"
        unique_id: "date_fr__sans_an"
        icon: mdi:calendar-today
        state: >
          {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
          {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
          {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}
      - name: "Date FR complète"
        unique_id: "date_fr__complete"
        icon: mdi:calendar-today
        state: >
          {% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
          {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
          {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1]  + ' ' + now().year | string }}
      - name: "date FR courte"
        unique_id: "date_fr__courte"
        icon: mdi:calendar-today
        state: >
          {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
          {{ days[now().weekday()] + ' ' + now().day | string }}
      - name: "Date FR courte courte"
        unique_id: "date_fr__courte_courte"
        icon: mdi:calendar-today
        state: >
          {% set months = ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Août", "Sep", "Oct", "Nov", "Dec"] %}
          {{ now().day | string + ' ' + months[now().month-1] }}
      - name: "Jours FR"
        unique_id: "date_fr__jours"
        icon: mdi:calendar-today
        state: >
          {{ ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"][now().weekday()] }}
      - name: "Date FR Jour Heure"
        unique_id: "date_fr__jour_heure"
        state: >
          {{ states('sensor.date_fr_complete') }} -- {{ now().strftime('%Hh%M') }}

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