2.0 KiB
ESPHome Use-Cases & e-Paper Display
This directory contains ESPHome configuration files for various IoT and monitoring devices, using environment variables to keep credentials local and gitignored.
Get Started
1. Configure Credentials
Copy .env.template to .env and fill in your Wi-Fi credentials:
cp .env.template .env
Inside .env, configure:
WIFI_SSID: Your local Wi-Fi Name.WIFI_PASSWORD: Your local Wi-Fi Password.
2. Run the Flashing Wizard
Use the interactive Python script to flash your microcontroller:
uv run flash.py
This wizard will prompt you to:
- Select which
.yamlconfiguration file to use. - Select the command to run (such as
Run,Compile,Upload,Logs,Validate, orClean).
Note: uv run handles the required dependencies (questionary and python-dotenv) automatically inside an isolated ephemeral environment, so there is no need to manually manage virtualenvs or pip installs.
Home Assistant Integration
The configurations in this directory connect directly to Home Assistant using the ESPHome Native API.
Dynamic Sensor Subscriptions
Instead of pushing raw screens from Home Assistant, we pull the required entities dynamically into ESPHome's internal variables.
- Outdoor Temperature (
sensor.regensburg_regensburg_temperatur): Pulled automatically via thehomeassistantplatform sensor. - Kitchen Temperature (
sensor.home_kuche_wandthermostat_temperature): Pulled automatically from the kitchen wall thermostat. - Kitchen Message (
input_text.epaper_message): A Home Assistantinput_texthelper. When the state changes, Home Assistant pushes the new text to the display.
Sending Messages from Command Line
You can push text warnings or messages directly to the display from the terminal using the helper script:
./send_message.sh "Your custom display message here"
This script reads the long-lived API token from the k8s/home-assistant secrets folder to authenticate against the Home Assistant API automatically.