Non, le state: "{{ hourly['weather.ma_ville'].forecast[0].condition }}" donne l’état condition dans l’attribut forecast de la 1ʳᵉ réponse.
En soi, on pourrait mettre autre chose dans l’état (state).
le but du trigger template et de créer un sensor avec les réponses dans les attributs, puis j’utilise un sensor template qui exploite les réponses dans les attributs. Pour les utiliser directement dans esphome avec les sensor home assistant.
ex:
sensor:
- platform: homeassistant
entity_id: sensor.meteo_ma_ville_jour_epaper
attribute: "temperaturea"
id: today_temperaturea
- platform: homeassistant
entity_id: sensor.meteo_ma_ville_jour_epaper
attribute: "templowa"
id: today_templowa
Ok, merci. Dans l’outil de développement je vois bien les données dans le sensor du trigger, mais le second sensor dans lequel je devrais retrouver les attributs est “unavailable”. Je n’ai pas le reTerminal sous la main et je ne peux donc pas tester dans ESPHome, mais je suppose que j’ai un problème ?
template:
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
action:
- service: weather.get_forecasts
data:
type: hourly
target:
entity_id: weather.nantes
response_variable: hourly
sensor:
- name: "Prévisions Météo nantes"
unique_id: prevision_meteo_nantes
state: "{{ hourly['weather.nantes'].forecast[0].condition }}"
attributes:
forecast: "{{ hourly['weather.nantes'].forecast }}"
availability: "{{ states('weather.nantes') not in ['unknown', 'unavailable', 'none'] }}"
- sensor:
- name: "Météo Heure Epaper"
unique_id: meteo_heure_epaper
state: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0] }}"
attributes:
condition0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].condition | default(0) }}"
heure0: "{{ as_timestamp(state_attr('sensor.prevision_meteo_nantes','forecast')[0].datetime) | int(0) | timestamp_custom('%H') }}"
temperature0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].temperature | float(0) }}"
precipitation0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].precipitation | float(0) }}"
availability: "{{ states('sensor.prevision_meteo_nantes') not in ['unknown', 'unavailable', 'none'] }}"
oui, dans state. il faut mettre un atrribut valide.
le nombre de caractères doit être trop long, et ne s’affiche pas.
Cela ne corrige pas mon problème, toujours “indisponible”…
template:
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
action:
- service: weather.get_forecasts
data:
type: hourly
target:
entity_id: weather.nantes
response_variable: hourly
sensor:
- name: "Prévisions Météo nantes"
unique_id: prevision_meteo_nantes
state: "{{ hourly['weather.nantes'].forecast[0].condition }}"
attributes:
forecast: "{{ hourly['weather.nantes'].forecast }}"
availability: "{{ states('weather.nantes') not in ['unknown', 'unavailable', 'none'] }}"
- sensor:
- name: "Météo Heure Epaper"
unique_id: meteo_heure_epaper
state: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].condition | default(0) }}"
attributes:
condition0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].condition | default(0) }}"
heure0: "{{ as_timestamp(state_attr('sensor.prevision_meteo_nantes','forecast')[0].datetime) | int(0) | timestamp_custom('%H') }}"
temperature0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].temperature | float(0) }}"
precipitation0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].precipitation | float(0) }}"
availability: "{{ states('sensor.prevision_meteo_nantes') not in ['unknown', 'unavailable', 'none'] }}"
Et l’éditeur de modèle indique une erreur également :
Tu as redémarré HA ou attendu la prochaine heure que les informations soit actualiser?
oui j’ai bien redémarré HA, voici ce que cela affiche :
il manque un s a prevision >> sensor.prevision_meteo_nantes
Tutoduino:
- sensor:
- name: "Météo Heure Epaper"
unique_id: meteo_heure_epaper
state: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].condition | default(0) }}"
attributes:
condition0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].condition | default(0) }}"
heure0: "{{ as_timestamp(state_attr('sensor.prevision_meteo_nantes','forecast')[0].datetime) | int(0) | timestamp_custom('%H') }}"
temperature0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].temperature | float(0) }}"
precipitation0: "{{ state_attr('sensor.prevision_meteo_nantes','forecast')[0].precipitation | float(0) }}"
availability: "{{ states('sensor.prevision_meteo_nantes') not in ['unknown', 'unavailable', 'none'] }}"
Ah, j’avais supprimé les s dans le nom des sensor, mais que cela n’a pas changé dans HA. Je viens de changer les noms et vérifier que tout était aligné. C’est ok maintenant. Merci !
Merci pour ton aide @WarC0zes , j’ai terminé mon tutoriel et j’en ai profité pour mettre un lien vers ton article à la fin
Bonjour,
sortie de ESPHome 2025.11.0, avec l’amelioration du composant E-Paper SPI qui prend en charge le reTerminal E1002
Display Component Improvements
E-Paper SPI Refactoring (#11540 )
Major improvements to e-paper displays:
Faster transfers : Larger data blocks for Spectra displays
Optimized state machine : Code-based sequence instead of linear queue saves memory
Board-specific configs : Pre-configured pin mappings (Seeed-reTerminal-E1002)
Improved timing : Internal delay handling instead of loop disabling
Fixed busy pin logic (#11349 ): Corrected active-low detection
J’avais des soucis avec le E-Paper SPI, je ferais un retour, le temps que je teste ça.
EDIT:
j’ai mis à jour vers ESPHome 2025.11.0, le composant E-paper SPI, fonctionne bien et stable.
Je n’est plus d’erreur dans les logs du ESP et ça l’air légèrement plus rapide pour actualiser l’écran.
Donc maintenant, c’est ce code qu’il faut utiliser, pas besoin d’indiquer les PIN.
display:
- platform: epaper_spi
model: Seeed-reTerminal-E1002
id: epaper_display
update_interval: never
Au passage, j’ai mis à jour l’article.
Axelle
Novembre 25, 2025, 7:46
84
Hello
Mise à jour faite dans ma configuration !
Merci !
KipK
Décembre 7, 2025, 10:43
85
Je voudrais la même chose avec écran tactile.
À vérifier si ça fonctionne sous ESPHome.
M5Paper ESP32 Development Kit V1.1 has a touchable 540*960 @4.7" E-ink display, which supports 16 gray scale levels. E-ink displays are easier on the eyes for reading or viewing for longer periods, having low power consumption. It can be used as an...
Price: USD 85.00
edit:
Hi everyone, I wanted to share my updated fork of the epdiy library that now works with ESP-IDF 5.5.1 and the M5Stack PaperS3 on ESPHome. The original library had several compilation errors with the latest ESP-IDF version, which I’ve fixed. 🔧...
Hello,
je ne sais pas si cela a été partagé mais je suis tombé sur un éditeur Wysiwyg EspHome pour nos écrans. Je n’ai pas encore testé mais ca m’a l’air pas mal du tout :
A visual drag-and-drop editor for ESPHome displays (E-Ink, OLED, LCD, Touch), running as a Home Assistant integration or a standalone web app.
A tester.
J’en profite pour vous partager une photo de mon écran qui n’est pas le modèle de @WarC0zes mais celui ci :
The TRMNL 7.5" (OG) DIY Kit, co-developed by Seeed Studio and TRMNL, is a versatile e-ink development solution. It includes a 7.5-inch 800x480 monochrome e-ink display, XIAO ESP32-S3 PLUS driver board, 2000 mAh rechargeable battery, and 10cm FPC...
Price: USD 44.9
Babas
Avril 2, 2026, 4:46
88
Bonjour,
Je déterre un peu le sujet mais je cherche désespérément les icones météo en .bin pour afficher sur mon seedstudio.
Où les avez vous récupérés ?
Merci à vous