- Home Assistant OS (HAOS) auf Raspberry Pi, NUC oder VM
- Netzwerkzugriff auf das FEMS (gleiches LAN/Subnetz)
- Freie IP-Adressen im LAN (z.B. 192.168.178.10–20), die nicht im DHCP-Bereich liegen
- Shelly PM Mini Gen3 (oder andere Shelly-Sensoren) bereits in HA eingebunden
Das Add-On muss als lokales Repository in HA verfügbar sein. Dafür wird das Projektverzeichnis auf den HA-Host kopiert.
Per SSH auf den HA-Host verbinden und das Verzeichnis anlegen:
ssh root@<HA-IP>
# Add-On-Verzeichnis erstellen
mkdir -p /addons/fems-shelly-proxyDann die folgenden Dateien ins Verzeichnis /addons/fems-shelly-proxy/ kopieren:
config.yaml
Dockerfile
run.sh
shelly_proxy.py
Zum Beispiel per scp vom lokalen Rechner:
scp config.yaml Dockerfile run.sh shelly_proxy.py \
root@<HA-IP>:/addons/fems-shelly-proxy/Falls das Projekt in einem Git-Repository liegt, kann es auch als externes Repository in HA hinzugefügt werden:
- Einstellungen → Add-Ons → Add-On-Store (unten rechts: drei Punkte)
- Repositorys → Repository-URL eintragen → Hinzufügen
- In Home Assistant: Einstellungen → Add-Ons
- Add-On-Store (Button unten rechts)
- Oben rechts: drei Punkte → Auf Updates prüfen
- Unter Lokale Add-Ons erscheint FEMS Shelly Proxy
- Anklicken → Installieren
Falls das Add-On nicht erscheint: HA neu starten und erneut prüfen.
Für jedes Gerät werden vier Sensor-Entities benötigt (Power, Voltage, Current, Energy).
- In HA: Entwicklerwerkzeuge → Zustände
- Nach dem Gerätenamen filtern (z.B. "waschmaschine" oder "shellypmminig3")
- Die Entity-IDs notieren:
| Messgröße | Beispiel Entity-ID |
|---|---|
| Leistung | sensor.shellypmminig3_84fce639a9e8_waschmaschine_power |
| Spannung | sensor.shellypmminig3_84fce639a9e8_waschmaschine_voltage |
| Strom | sensor.shellypmminig3_84fce639a9e8_waschmaschine_current |
| Energie | sensor.shellypmminig3_84fce639a9e8_waschmaschine_energy |
- In HA: Einstellungen → Add-Ons → FEMS Shelly Proxy
- Tab Konfiguration
- Geräte eintragen:
devices:
- name: Waschmaschine
ip: "192.168.178.10"
entity_power: sensor.shellypmminig3_84fce639a9e8_waschmaschine_power
entity_voltage: sensor.shellypmminig3_84fce639a9e8_waschmaschine_voltage
entity_current: sensor.shellypmminig3_84fce639a9e8_waschmaschine_current
entity_energy: sensor.shellypmminig3_84fce639a9e8_waschmaschine_energy
- name: Trockner
ip: "192.168.178.11"
entity_power: sensor.shellypmminig3_5432045520d8_trockner_power
entity_voltage: sensor.shellypmminig3_5432045520d8_trockner_voltage
entity_current: sensor.shellypmminig3_5432045520d8_trockner_current
entity_energy: sensor.shellypmminig3_5432045520d8_trockner_energyWichtig bei der IP-Vergabe:
- Jedes Gerät bekommt eine eigene, feste IP-Adresse
- Die IPs dürfen nicht im DHCP-Bereich des Routers liegen
- Die IPs dürfen nicht bereits von anderen Geräten belegt sein
- Empfohlen: zusammenhängender Bereich wie 192.168.178.10–20
- Speichern klicken
Damit sich die virtuellen IPs nicht mit per DHCP vergebenen Adressen überschneiden:
- Router-Oberfläche öffnen (z.B. http://fritz.box)
- Heimnetz → Netzwerk → Netzwerkeinstellungen
- Sicherstellen, dass der gewählte IP-Bereich (z.B. .10–.20) nicht im DHCP-Pool liegt
Bei der Fritz!Box ist der DHCP-Bereich typisch ab .20 oder .100. Falls nötig, anpassen.
- Zurück zum Add-On → Tab Info
- Starten klicken
- Tab Protokoll prüfen – erwartete Ausgabe:
[INFO] Netzwerk-Interface: eth0 (Prefix: /24)
[INFO] Füge IP 192.168.178.10/24 auf eth0 hinzu
[INFO] Füge IP 192.168.178.11/24 auf eth0 hinzu
[INFO] Starte Shelly-FEMS-Proxy...
[INFO] ✓ Virtueller Shelly 'Waschmaschine' auf 192.168.178.10:80 gestartet
[INFO] ✓ Virtueller Shelly 'Trockner' auf 192.168.178.11:80 gestartet
[INFO] Alle 2 virtuellen Shelly-Geräte aktiv. Warte auf FEMS-Anfragen…
- Optional: Beim Start ausführen aktivieren, damit das Add-On bei jedem HA-Neustart automatisch startet
Von einem Rechner im selben Netzwerk:
# Device-Info abfragen (sollte PlugSG3 melden)
curl http://192.168.178.10/shelly
# Messdaten abfragen
curl http://192.168.178.10/rpc/Shelly.GetStatusErwartete Antwort bei /shelly:
{"name": "Waschmaschine", "app": "PlugSG3", "gen": 3, ...}- FEMS-Oberfläche öffnen
- App Center → Shelly DIY installieren (falls nicht vorhanden)
- Neue Shelly-Komponente hinzufügen:
- IP-Adresse:
192.168.178.10(ohne Port!) - Typ: je nach Gerät: Verbrauchszähler oder Erzeugungszähler
- IP-Adresse:
- FEMS sollte das Gerät als Shelly Plug S Gen3 erkennen
- Für jedes weitere Gerät wiederholen (nächste IP)
| Problem | Ursache | Lösung |
|---|---|---|
| Add-On erscheint nicht im Store | Dateien fehlen oder config.yaml fehlerhaft | SSH: Dateien in /addons/fems-shelly-proxy/ prüfen, HA neu starten |
| Add-On startet nicht | Log im Tab "Protokoll" prüfen | Häufig: fehlende Entity-IDs oder ungültige IP-Adressen |
| "Kein aktives Netzwerk-Interface" | Interface-Erkennung fehlgeschlagen | Im Log prüfen welches Interface verfügbar ist |
| IP-Alias kann nicht hinzugefügt werden | IP bereits vergeben oder Berechtigungen fehlen | Prüfen ob IP frei ist; Add-On braucht NET_ADMIN |
| curl liefert keine Antwort | IP-Alias nicht aktiv oder Proxy nicht gestartet | Add-On Log prüfen; ping 192.168.178.10 vom LAN testen |
| FEMS zeigt "Gerät stimmt nicht überein" | FEMS erwartet bestimmte Felder | Add-On aktualisieren (available_updates etc.) |
| Keine Messwerte (alles 0) | HA-Entity-IDs falsch oder Sensor "unavailable" | Entity-IDs in HA Entwicklerwerkzeuge prüfen |
| Werte in FEMS veraltet | Polling-Latenz HA + FEMS | Normal: bis ~40s Verzögerung (HA ~30s + FEMS ~10s) |
Bei Updates die Dateien erneut nach /addons/fems-shelly-proxy/ kopieren und im Add-On auf Neu erstellen klicken. Die Konfiguration bleibt erhalten.