Smart Home Front-end Devices

reTerminal E1001

Overview

The reTerminal E1001 is a 7.5" monochrome e-paper display mounted in the obývák (living room). It shows a weather-station dashboard driven by Home Assistant, combining outdoor conditions from an Ecowitt weather station, indoor climate, solar/battery status, and household state (front door, Tesla).

It is a companion to the E1004 (color display in the kitchen) and shares the same visual language — matching icons, footer style, and refresh behavior.

Property Value
Model Seeed reTerminal E1001 (7.5" mono e-paper)
Resolution 800 × 480, landscape
Panel driver waveshare_epaper, model 7.50inv2
MCU ESP32-S3
Power Permanently powered (deep sleep disabled)
Location Obývák (living room)
Firmware ESPHome
Flashing Wireless (OTA) — no USB cable needed

Data flow

drawing-1-1787169269.png

What it displays

The layout is a two-column dashboard:

Left side – Outdoor (VENKU)

Right side – Indoor & Home (DOMA)


Data sources (Home Assistant entities)

Display item HA entity
Outdoor temp sensor.ecowitt_outdoor_temp_120fb
Outdoor humidity sensor.ecowitt_outdoor_humidity_120fb
Indoor temp sensor.ecowitt_temperature_indoor
Indoor humidity sensor.ecowitt_humidity_humidityin
Pressure Ecowitt pressure sensor
Wind / rain / UV / radiation Ecowitt *_120fb sensors
Door state sensor.nuki_sevcikovi_door_state
FVE battery sensor.solax_battery_capacity_2
Tesla battery sensor.tesla_model_y_battery
Ecowitt signal sensor.ecowitt_signal_strength_120fb

Refresh behaviour

To keep the e-paper calm (color/mono e-paper refresh is slow and visually noticeable), the display does not refresh constantly. It updates on:

A debounced redraw script prevents rapid-fire refreshes: any trigger schedules a single redraw a few seconds later rather than refreshing immediately (except the door, which is intentionally instant).


Manual refresh

A template button is exposed to Home Assistant:


Hardware / pin notes


Icons (shared with E1004 for consistency)

Meaning MDI icon
Temperature thermometer (U+F050F)
Humidity water-percent (U+F058E)
FVE / home home (U+F02DC)
Tesla / car car-electric (U+F0B6C)
Door door-open / door-closed

Configuration reference

The full ESPHome YAML is stored in [link to your config location].

Note: the snippet below is sanitised. The real config also contains an API encryption key, an OTA password, and WiFi credentials — these are secrets and are NOT included here. See the corresponding entry in the password manager.

# ── reTerminal E1001 (excerpt, secrets removed) ──
esphome:
  name: reterminal-e1001

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

# Secrets removed – see password manager:
#   api:  encryption key
#   ota:  password
#   wifi: ssid / password

spi:
  clk_pin: GPIO7
  mosi_pin: GPIO9

i2c:
  sda: GPIO19       # shared with USB-JTAG (harmless warning)
  scl: GPIO20

# Debounced redraw – collapses bursts into a single refresh
script:
  - id: request_redraw
    mode: restart
    then:
      - delay: 8s
      - component.update: epaper_display

# Manual refresh button (exposed to Home Assistant)
button:
  - platform: template
    name: "E1001 Refresh Display"
    on_press:
      then:
        - component.update: epaper_display

# 5-minute periodic refresh
interval:
  - interval: 5min
    then:
      - component.update: epaper_display

# Example trigger: instant refresh when the front door changes
text_sensor:
  - platform: homeassistant
    id: door_state
    entity_id: sensor.nuki_sevcikovi_door_state
    on_value:
      then:
        - component.update: epaper_display   # instant, not debounced

History / lessons learned

reTerminal E1004

Overview

The reTerminal E1004 is a 13.3" 6-colour (Spectra 6) e-paper display mounted in the kuchyň (kitchen). It is the household's central family dashboard: a colour calendar/agenda on the left, and a stacked column of live information on the right (weather, home & outdoor climate, upcoming family celebrations, waste-collection schedule, solar/car batteries, and a weekly temperature chart).

It is the colour companion to the E1001 (mono weather display in the living room) and shares the same icon language, footer style, and refresh philosophy.

Property Value
Model Seeed reTerminal E1004 (13.3" Spectra 6 colour e-paper)
Resolution 1200 × 1600, portrait
Colours Black, white, red, green, blue, yellow (6-colour palette)
Panel model (ESPHome) Seeed-reTerminal-E1004
MCU ESP32-S3 with 8 MB PSRAM (octal, 80 MHz)
Power Permanently powered (deep sleep disabled)
Location Kuchyň (kitchen)
Firmware ESPHome
Flashing Wireless (OTA)

Data flow

drawing-1-1787169129.png

What it displays

Header

Left column – Agenda

Right column (top to bottom)

  1. Blíží se – next 3 upcoming family celebrations (birthdays with age, and name-days). Red = birthday, green = name-day. Twins Daniel & Dominik are combined onto one birthday line.
  2. Svoz odpadu – next collection date per waste type: BIO (leaf), Papír (newspaper), Plast (bottle), Směsný (bin) — each with a coloured icon.
  3. Baterie – FVE (home solar) % with a house icon, Tesla % with a car icon.
  4. Doma / Venku – indoor and outdoor temperature + humidity, with thermometer and droplet icons.
  5. Počasí – 6-day forecast with colour weather icons (red sun, blue rain, clouds) and high/low temps.
  6. Týden – a 6-day high-temperature bar chart, bars colour-coded (red ≥ 28°, blue ≤ 18°, black otherwise).

Home Assistant sensors that power it

These are custom template sensors built in configuration.yaml:

Sensor Purpose
sensor.svatek_dnes Today's Czech name-day, from an embedded 366-day table
sensor.rodina_oslavy Family birthdays + name-days; state = today's celebrations, upcoming attribute = next celebrations (JSON)
sensor.svoz_odpadu Scans both calendars for BIO/PAPÍR/PLAST/SMĚSNÝ keywords; attributes bio,papir,plast,smesny hold the next date per type
sensor.forecast_day_0..5_* Per-day condition / temp / templow
sensor.forecast_week Weekly highs as a pipe-separated string (`Po:26
sensor.e1004_event_1..10 Per-event agenda data (title, day label, time, colour)
Ecowitt climate sensors Indoor/outdoor temperature & humidity
sensor.solax_battery_capacity_2 FVE battery %
sensor.tesla_model_y_battery Tesla battery %

Refresh behaviour

flowchart TD
    A["Calendar event changes"] -->|instant, debounced 8s| R["request_redraw script"]
    B["5-minute interval"] --> D["Display refresh"]
    C["Manual button in HA"] --> D
    R --> D
    D --> S["Redraw e-paper"]

Key lessons learned (build history)


Configuration reference

Sanitised. The real config contains an API encryption key, an OTA password, and WiFi credentials. These secrets are NOT included here — see the password manager. Full config stored at [link to your config location].

# ── reTerminal E1004 (excerpt, secrets removed) ──
esphome:
  name: reterminal-e1004

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

spi:
  clk_pin: GPIO7
  mosi_pin: GPIO9

# Secrets removed – see password manager:
#   api / ota / wifi

display:
  - platform: epaper_spi
    model: Seeed-reTerminal-E1004
    update_interval: never       # driven by interval + triggers instead
    rotation: 0
    # lambda: two-column layout (agenda left, info column right)

interval:
  - interval: 5min
    then:
      - component.update: epaper_display

button:
  - platform: template
    name: "E1004 Refresh Display"
    on_press:
      then:
        - component.update: epaper_display

Raspberry Pi with Touch Display

image.png