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