[Article] Écrans ePaper Seeed Studio reTerminal E1001 et E1002

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 :

image
il manque un s a prevision >> sensor.prevision_meteo_nantes :sweat_smile:

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 :wink:

Bonjour,
sortie de ESPHome 2025.11.0, avec l’amelioration du composant E-Paper SPI qui prend en charge le reTerminal E1002 :grin:

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.

Hello

Mise à jour faite dans ma configuration !

Merci !

Je voudrais la même chose avec écran tactile.

À vérifier si ça fonctionne sous ESPHome.

edit:

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 tester.

J’en profite pour vous partager une photo de mon écran qui n’est pas le modèle de @WarC0zes mais celui ci :

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

Bonjour,
Pourquoi en .bin ?
J’ai utilisé les icônes MDI, fournies sur Material Design Icons - Icon Library - Pictogrammers
C’est expliqué dans l’article :
Ecrans ePaper Seeed Studio reTerminal E1001 et E1002
Ecrans ePaper Seeed Studio reTerminal E1001 et E1002