
ESPHome einfach selbst hosten
Yulei ChenESPHome ist die Open-Source-Lösung, um ESP32- und ESP8266-Mikrocontroller mit simplen YAML-Configs zu steuern. Das Projekt selbst ist kostenlos, aber damit das Dashboard 24/7 läuft, brauchst du normalerweise einen Raspberry Pi, ein NAS oder eine Home-Assistant-Box in deinem Schrank. Nicht jeder will noch ein Gerät pflegen.
Sliplane ist eine managed Container-Plattform, die Self-Hosting entspannt macht. Mit One-Click-Deployment hast du das ESPHome-Dashboard in wenigen Minuten online, von überall erreichbar, mit persistentem Storage für deine Device-Configs und ohne lokale Hardware zum Babysitten.
Das ESPHome-Dashboard auf Sliplane ist perfekt zum Bearbeiten von Configs, Kompilieren von Firmware und Flashen per OTA (over-the-air). USB-Flashing braucht einen lokalen Rechner, weil der Container keinen Zugriff auf physische USB-Ports hat: einmal lokal flashen, danach alles remote verwalten.
Voraussetzungen
Bevor du deployst, brauchst du einen Sliplane-Account (kostenlose Testphase verfügbar).
Quick Start
Sliplane bietet One-Click-Deployment mit Presets.
- Klick auf den Deploy-Button oben
- Wähl ein Projekt aus
- Wähl einen Server. Wenn du dich gerade erst registriert hast, bekommst du einen 48-Stunden-Trial-Server
- Klick auf Deploy!
Zum Preset
Der One-Click-Deploy oben nutzt das ESPHome-Preset von Sliplane. Es ist für ein sauberes, stabiles Dashboard-Setup gebaut:
- Offizielles
ghcr.io/esphome/esphomeImage - Fester Version-Tag für Stabilität (schau auf die ESPHome GitHub Releases für die aktuelle Version)
- Persistenter Storage auf
/config, damit deine Device-Configs Restarts und Redeploys überleben - Basic Auth ist standardmäßig aktiv mit einem generierten Passwort
- Dashboard läuft auf Port
6052(der ESPHome-Default)
Nächste Schritte
Sobald ESPHome auf Sliplane läuft, öffne das Dashboard über die Domain, die Sliplane dir gibt (z.B. esphome-xxxx.sliplane.app).
Login-Daten
Das Preset generiert beim Deploy ein zufälliges Passwort. Check die Environment Variables deines Services im Sliplane-Dashboard:
- Username:
admin - Password: automatisch generiert (kopier es aus der
PASSWORDenv var)
Änder die Daten direkt nach dem ersten Login, indem du die env vars updatest und neu deployst.
Dein erstes Device hinzufügen
ESPHome generiert aus einer YAML-Config eine Firmware und flasht sie dann auf deinen ESP32 oder ESP8266. Auf einem Cloud-Dashboard sieht der Flow so aus:
- Klick auf New Device im Dashboard und gib dem Gerät einen Namen
- Trag deine WLAN-Zugangsdaten ein, damit das Device sich nach dem Flashen verbinden kann
- Das Dashboard kompiliert dir eine Firmware-Binary, die du runterladen kannst
- Flash diese Binary einmal per USB von deinem lokalen Rechner (mit ESPHome Web oder der
esphomeCLI) - Nach dem ersten Flash laufen Updates OTA: einfach Install im Dashboard klicken
Jedes Gerät im Internet, das deine Sliplane-URL erreicht, kann remote verwaltet werden. Kein VPN nötig.
Environment Variables
Ein paar env vars, die du in deinen Sliplane-Service-Settings anpassen kannst:
| Setting | Beschreibung |
|---|---|
USERNAME | Login-Username fürs Dashboard |
PASSWORD | Login-Passwort fürs Dashboard |
ESPHOME_DASHBOARD_USE_PING | Auf true setzen, um den Online-Status per Ping zu zeigen |
ESPHOME_DASHBOARD_RELATIVE_URL | Sub-Path, wenn du das Dashboard hinter einen Reverse Proxy packst |
Die komplette Liste steht in den ESPHome-Dashboard-Docs.
Logging
Docker-Container-Logs gehen standardmäßig nach STDOUT und funktionieren direkt mit Sliplanes eingebautem Log-Viewer. Beim Kompilieren von Firmware streamt der Build-Output live in die Container-Logs, du kannst also den ganzen Prozess mitverfolgen. Für einen schnellen Einstieg ins Lesen der Logs schau dir how to use Docker logs an.
Troubleshooting
Wenn das Dashboard lädt, aber alle Geräte als offline anzeigt, achte drauf, dass ESPHOME_DASHBOARD_USE_PING auf true steht. Der Default nutzt mDNS, das funktioniert nicht über Netzwerke hinweg: Ping fällt auf TCP-Port-Checks zurück, die Sliplane zuverlässig machen kann.
Wenn OTA-Updates fehlschlagen, prüf, ob das ota-Passwort in der Device-YAML mit dem übereinstimmt, das das Dashboard erwartet. Du findest es in der generierten Config.
Kostenvergleich
Natürlich kannst du ESPHome auch bei anderen Cloud-Providern hosten. Hier ein Preisvergleich der üblichen Verdächtigen:
| Provider | vCPU Cores | RAM | Disk | Geschätzte monatliche Kosten | Hinweise |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 | Preis pro Server |
| Render | 1 | 2 GB | 40 GB | ~$35–$45 | VM Small |
| Fly.io | 2 | 2 GB | 40 GB | ~$20–$25 | VM + Volume |
| Railway | 2 | 2 GB | 40 GB | ~$15–$66 | nutzungsbasiert |
FAQ
Kann ich Geräte per USB von einem Cloud-Dashboard flashen?
Nein: der Container hat keinen Zugriff auf USB-Ports deines lokalen Rechners. Flash das erste Mal lokal mit ESPHome Web oder der esphome CLI, danach nutzt du OTA-Updates vom Cloud-Dashboard für jede Änderung. So läuft ESPHome bei den meisten Leuten in Produktion eh.
Wie sicher ich meine Device-Configs?
Deine YAML-Configs liegen im /config-Volume. Du kannst sie über den Sliplane File-Browser ziehen oder aus der Container-Shell mit git in ein privates Repo syncen. Für einen generellen Ansatz zum Volume-Backup schau dir 4 easy ways to backup Docker volumes an.
Wie update ich ESPHome?
Änder den Image-Tag in den Service-Settings und deploy neu. Auf ESPHomes GitHub Releases siehst du die aktuelle Version. Das Dashboard warnt dich auch, wenn eine neue Version verfügbar ist.
Gibt es Alternativen zu ESPHome?
Ja: Tasmota ist eine beliebte Firmware nach dem Motto "flashen und vergessen", WLED ist auf LED-Streifen spezialisiert, und OpenMQTTGateway ist super, um BLE- und IR-Geräte per MQTT anzubinden. ESPHome ist meist der einfachste Einstieg, wenn du eh schon Home Assistant nutzt.
Funktioniert das mit Home Assistant?
Ja. Geräte, die übers Sliplane-gehostete ESPHome-Dashboard geflasht wurden, sprechen die normale ESPHome-API, die Home Assistant in deinem lokalen Netzwerk automatisch findet. Dashboard und Home-Assistant-Instanz müssen nicht auf derselben Maschine laufen, sie müssen nur beide deine Geräte erreichen.