Skip to main content

reTerminal E1001

reTerminal E1001 – Weather & Home Display (Obývák)

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

What it displays

The layout is a two-column dashboard:

Left side – Outdoor (VENKU)

    Large current outdoor temperature (headline number) Feels-like (Pocitová), dew point (Rosa), UV index, solar radiation (Záření) Humidity (Vlhkost) as a large percentage Wind (VÍTR): speed, direction, gusts Rain (DÉŠŤ): current intensity and today's total

    Right side – Indoor & Home (DOMA)

      Indoor temperature + humidity Air pressure (Tlak) Precipitation totals (week / month / year) Door state (DVEŘE) – main front door open/closed Batteries – FVE (home solar battery) and Tesla vehicle battery, with home and car icons
        Meteostanice – Ecowitt signal strength bars + station battery % WiFi – device WiFi signal strength bars Aktualizace HH:MM – time of last display refresh

        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:

          Every 5 minutes – scheduled interval Outdoor temperature change – debounced (8 s) so bursts collapse into one refresh Door state change – instant refresh (so an opened front door shows immediately) Manual button – button.reterminal_e1001_e1001_refresh_display, exposed in HA and on the Kiosk / Overview dashboards

          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:

            Entity: button.reterminal_e1001_e1001_refresh_display Available on the Kiosk dashboard ("Displej obyvak") and the Overview dashboard Pressing it forces an immediate full redraw

            Hardware / pin notes

              Deep sleep is disabled – the device is permanently powered, so it stays awake and is always reachable for OTA flashing. (Originally, deep sleep made OTA unreliable because the device was only awake briefly; disabling it fixed wireless flashing.) I²C sensor (SHT40): sda = GPIO19, scl = GPIO20. ESPHome logs a harmless warning that these pins are shared with the USB-Serial-JTAG interface — this can be ignored (flashing works over WiFi and native USB, not those pins). The device's own battery voltage ("Zařízení") was removed from the footer — it is permanently powered, so that value was meaningless.

              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

                nan display bug: early versions showed nan because the display drew before HA sensor data had loaded (a leftover from the deep-sleep wake timing). Fixed by disabling deep sleep + redrawing on sensor on_value + the periodic interval. Excessive refreshing: outdoor temperature changes frequently; without debouncing this caused constant, distracting refreshes. The debounce script fixed it. Layout consistency: the FVE/Tesla/door section and footer were reworked to match the E1004's icon set and footer style so the two displays feel like one system.