Repository navigation
Earnie 2.7.0
Earnie 2.7 plant mehrere Batterien und Wechselrichter gemeinsam, bindet Home Assistant und Loxone einheitlich per Push an und führt dich mit einem Assistenten durch die Umstellung deiner Konfiguration.
- Nach dem Update: Konfigurationsmigration per Assistent, mit automatischem Backup
- Mehrere Batterien, Powerstations und Wechselrichter als eigene Einheiten
- Home Assistant und Loxone: Einheitliche Kommunikations-Schicht
- Schnellere Optimierung, Sollwerte pünktlich zur Viertelstunde
- Genauere PV-Prognose, auch bei mehreren Dachflächen
Highlights
- Mehrere Batterien und Powerstations: Mehrere Batterien bzw. Batterie-Wechselrichter-Einheiten in der Optimierung; Powerstations als Reserve oder Standby-Backup. Live-SoC- und Ladegrenzen vom Gerät begrenzen die Planung auch für Standby-Packs.
- Wechselrichter als eigene Einheit: PV-Felder, Batterien und Hybrid-Wechselrichter mit Leistungsgrenzen; PV-Summe über die Wechselrichter statt flacher Anlagen-PV.
- Eindeutige Bindings – Kennung, Einheit und Vorzeichen: Fest definierte Kennungen, Einheiten und Vorzeichen; Umrechnung zentral. Home Assistant und Loxone teilen denselben Signalvertrag (Push).
- Konfigurations-Migrationsassistent: Strukturelle Änderungen über einen Assistenten mit Vorschau, Rückfragen, Bericht und Backup.
- Fundament für künftige Versionen: Die einheitliche Kommunikationsschicht und das klarer strukturierte Datenmodell machen künftige Migrationen einfacher und deutlich weniger aufwändig.
- Deutlich schnellere und pünktlichere Zyklen: Ein Optimierungslauf ist deutlich schneller. Earnie startet kurz vor dem Viertelstundentakt und schreibt die Sollwerte genau zum Takt statt bis zu einer Minute danach.
- Genauere PV-Prognose: forecast.solar-Werte werden jetzt richtig auf die Zeitfenster verteilt (bisher etwa eine halbe Stunde zu spät), alle Dachflächen werden in jedem Zyklus aktualisiert, und ohne forecast.solar rechnet Earnie mit der Einstrahlung von Open-Meteo für Ausrichtung und Neigung jeder Dachfläche.
- Robusterer und präziserer Szenario-Explorer: zusammenhängende Buchfenster ab Sonnenaufgang, Flex nur im Buchfenster; Kennzahlen zeigen den gebuchten Verbrauch – optimierte Szenarien mit gleichen Zielen haben denselben Gesamtverbrauch.
Neue Funktionen
- Schnellere Optimierung: Wärmemodelle, Klimadaten und Konfiguration werden zwischengespeichert statt in jedem Lauf neu berechnet bzw. gelesen; das Jahresmodell der Wärmeverbraucher liefert nur noch die Parameter, im Live-Betrieb rechnet Earnie nur den Planungshorizont. Langsame Abfragen (Strompreise, Marktdaten, Wetter) holt Earnie zwischen zwei Läufen vorab.
- Pünktlich zur Viertelstunde: Earnie startet die Planung so früh vor dem Viertelstundentakt, wie die letzten Läufe gedauert haben (15–90 s), plant für den Takt und schreibt die Sollwerte genau zum Takt. Bisher kamen die Sollwerte bis zu einer Minute zu spät. Abschaltbar mit
EARNIE_EARLY_START=off. - Kommunikation mit Smarthome Backend Push-only: gemeinsame Kommunikationsschicht für alle Backends.
- Home Assistant Watchdog: Das YAML-Paket gibt eine erzwungene Batterie-Wirkleistung wieder frei, wenn Earnie nicht mehr erreichbar ist. Ziele können jetzt auch
input_number-Entities sein. - Home Assistant, E-Auto-Modus: Earnie setzt neben dem Ladestrom auch den Lademodus (Aus / PV / Sofort).
- Home Assistant, Rückmeldung beim Schreiben: Die Automationen des YAML-Pakets prüfen nach 5 s, ob der Sollwert angekommen ist, und melden es an Earnie, wenn nicht; nach einem HA-Neustart werden die Sollwerte erneut gesetzt.
- Wechselrichter, PV-Abregelung: Plant Earnie eine Abregelung, schreibt es die AC-Leistungsgrenze an den Wechselrichter.
- Powerstations: als Reserve für einmalig gestartete Geräte, als Standby-Backup für Dauerverbraucher (teure Stunden aus dem Akku, günstige vom Netz) oder als virtuelle Powerstation für mehrere Verbraucher. Startet ein Verbraucher, gibt Earnie die Reserve frei und lädt sie danach preisgünstig innerhalb von 24 h wieder auf.
- „Jetzt neu berechnen“: Knopf auf der Seite Optimierer-Dienst stößt sofort einen neuen Optimierungslauf an, statt auf die nächste Viertelstunde zu warten.
- Optimierer-Dienst, Log: Die Anzeige von
earnie.logaktualisiert sich alle 10 s; ein Knopf „Gehe nach oben“ springt zum Anfang. - Bezeichnung PV-Feld / PV-Felder in UI und Anwenderdokumentation (JSON-Schlüssel unverändert).
- Verbessertes Wärmemodell: gekoppeltes Modell Haus / Wärmespeicher / Solarthermie mit neuen Diagrammen. Die Einstrahlung auf die Kollektoren kommt aus der Prognose von Open-Meteo. In „Analyse Verbrauch & Kosten“ zeigt der Wärmeinhalt zusätzlich die letzten 12 stündlichen Prognosen für Wärmespeicher und Pools.
- Zusätzliche Batterieparameter: Grenzwerte live vom Gerät.
- Strompreis: ENTSO-E als weitere Quelle; zeitabhängiger Netznutzungs-Arbeitspreis (Österreich).
- E-Auto: verbesserte Rückkehr- und Anschlussprognose.
- EHAL-Com: Signalliste, Live-Lesen/-Schreiben, Zuordnung pro Batterie.
- Abweichungsmarker nach Energie: Zwangs-Laden wird nach der tatsächlich geladenen Energie im Viertelstundenfenster bewertet (ab 80 % in Ordnung, 60–80 % gelbe Warnung, darunter roter Fehler), erst ab einer Fehlmenge von 0,1 kWh. Die Wärmepumpen-Meldung „Freigabe, aber nicht angesprungen“ wird genauso bewertet. Hinweise sind grün, Warnungen gelb; der Tooltip zeigt Prozent und kWh.
- Analyse Verbrauch & Kosten: Das Chart „Verbrauch vs. Preis & PV“ nutzt die Farben des Monitors und zeigt die Einspeisung aus PV und Batterie unter der Nulllinie.
- Monitor, Chart 1: eigene SoC-Linie für jede Batterie und jede virtuelle Powerstation, je nach Batteriekapazität unterschiedlich dick gezeichnet.
- Szenario-Explorer: In der detaillierten Simulationsansicht wählt je ein Knopf pro Monat den angezeigten Monat (statt Zurück / Vor).
- Navigation: In der Seitenleiste steht EHAL-Com jetzt vor dem Optimierer-Dienst (Reihenfolge der Einrichtung).
Verbesserungen & Korrekturen
-
Migration 2.6 → 2.7, Batterie-Wirkungsgrad: Der bisherige Gesamtwirkungsgrad wird jetzt auf Wechselrichter (η_inv) und Batterie (η_batt) aufgeteilt, statt den Wechselrichter-Wirkungsgrad zusätzlich anzusetzen. Der Assistent zeigt die neuen Werte an.
-
Migrationsassistent: erklärt, wie er die PV-Felder zugeordnet hat und wann der Optimierer-Dienst startet; zeigt nach dem Lauf den Migrationsbericht; startet den Optimierer-Dienst direkt nach erfolgreicher Migration, wenn Auto-Start aktiv ist.
-
Start mit älterer Konfiguration (u. a. Home Assistant Add-on): Enthielt die Konfiguration noch Altlasten wie
ehal.ha.transport, brach Earnie beim Start ab, bevor der Migrationsassistent erreichbar war. Der Assistent wird jetzt vor dem Laden der Konfiguration angeboten. -
PV-Prognose ohne forecast.solar: Statt einer pauschalen Kurve, die Ausrichtung und Wetter ignorierte, nutzt Earnie die Einstrahlungsprognose von Open-Meteo pro Dachfläche. Die letzte forecast.solar-Antwort übersteht einen Neustart (bis 6 Stunden). Fehlen beide Quellen, bricht der Zyklus ab wie bei fehlenden Strompreisen, und das Live-Cockpit warnt.
-
Wetterdaten (Open-Meteo): Prognose und Archiv waren nach der Zeitumstellung um eine Stunde verschoben. Earnie fragt jetzt in UTC ab und rechnet pro Zeitpunkt in die Planungszeitzone um.
-
Szenario-Explorer, Jahresverbrauch: Ein Dauerverbraucher (z. B. 24 h an 7 Tagen) fehlte in den optimierten Szenarien und wird jetzt als fester Verbrauch gebucht. Die nicht optimierte Referenz hat den Batterie-Standby doppelt gebucht.
-
Tarife: Bei Brutto-Bezugstarifen wird die netto eingetragene Netznutzung jetzt mit Mehrwertsteuer gerechnet. Ein Abrechnungsaufschlag (
settlement_fee_cent_kwh) wirkt nur bei Spot-Tarifen; bei Festpreis- und Monatstarifen warnt Earnie beim Laden, dass er ignoriert wird. -
EU-Marktdaten: Ist der Server nicht erreichbar, fragt Earnie höchstens einmal pro Stunde neu an, statt in einer Schleife zu wiederholen.
-
Signalliste (Loxone): Der Export enthält jetzt alle Signale, die Live-Lesen erwartet, auch die Energiezähler von PV und Netz sowie Wärmepumpe und E-Auto. Wer seine Vorlagen aus dem Export gebaut hat, sollte neu exportieren.
-
Signalexport (Loxone / Home Assistant): Eine eingefügte Browser-Adresse im Feld Earnie-Host wird auf den Hostnamen gekürzt; Port oder Pfad werden mit einer Meldung abgelehnt.
-
Home Assistant, Live-Lesen: zeigt gepushte Werte nach Anwendung von
ehal.ha.sign, mit Hinweis „Vorzeichen gedreht“ – wie im Live-Zyklus. -
Live-Energiefluss: Melden alle Zähler 0, weil die Werte ausbleiben, zeigt das Sankey-Diagramm eine Warnung mit Verweis auf EHAL-Com → Live-Lesen statt einer leeren Fläche.
-
Hauskonfigurator, Wärmeverbraucher: Beim Speichern gingen von Hand eingetragene Flex-Felder eines Jahres-Wärmeverbrauchers verloren. Sie bleiben jetzt erhalten.
-
Detaillierte Simulationsansicht: Monate eines rollierenden 12-Monats-Fensters dem überlappenden Jahr zugeordnet.
-
Verbraucher-Bindings: Speicherung typisiert (
consumer./heatpump./pool.*) statt generischemflex.*. -
Loxone-Import: Haus Wärme nicht nur auf Verbraucher 1; klarere Speichern-Hinweise; Live-Szenario-Vorbelegung.
-
Signalliste: Heartbeats Pflicht; Earnie-Host-Label und LAN-IP-Vorbelegung.
-
Konfigurationspaket-Import: Einzeldateien auf Kompatibilität geprüft.
-
LoxBerry Update-Hinweis: prüft die Version hinter
:latest/:nextauf GHCR, nicht die GitHub Releases — ein nur für Home Assistant freigegebenes Release löst kein falsches „Update verfügbar“ mehr aus. -
Wärmepumpe und Wärmespeicher: Earnie gab die Wärmepumpe frei, obwohl der Speicher noch heiß war, und forderte deutlich mehr Heizenergie an als nötig. Der Bedarf richtet sich jetzt nach dem gemessenen Speicherzustand. Im Live-Betrieb fehlte außerdem der Ertrag der Solarthermie-Kollektoren im Wärmespeicher.
-
Batterie, Zwangsladen: Bei einem kurzzeitig negativen Hausverbrauch im Live-Messwert schrieb Earnie Automatik statt Entladesperre bzw. Zwangsladen.
-
Verbraucher mit Leistungsmessung erscheinen jetzt als eigener Pfad im Energiefluss (Sankey) und als eigener Balken in Chart 1.
-
Preisprognose: Fällt bei den EU-Marktdaten ein einzelnes Land aus, nutzt Earnie die übrigen Daten, statt für den ganzen Tag auf die Spiegelung auszuweichen.
-
Optimierer-Dienst: Fehlen SoC oder Strompreise, wartet Earnie 30 s bis zum nächsten Versuch, statt den Lauf in schneller Folge zu wiederholen. „Auto-Start OK“ erscheint erst, wenn der Dienst wirklich läuft; ein Absturz direkt nach dem Start wird mit Log-Auszug gemeldet.
-
Konfiguration: Ein unbekannter Wert für
ehal.backend(z. B. ein Tippfehler) bricht jetzt mit Meldung ab, statt still als Loxone zu laufen. Ungültiges JSON inconfig.jsonwird mit Datei, Zeile und Spalte gemeldet. -
Hauskonfigurator:
- Die erste Eingabe nach dem Öffnen ging verloren und legte ein Profil „Mein Haushalt“ an; „— neu —“ legt erst nach einer Änderung ein Profil an.
- Abgelehnte Eingaben (z. B. doppelte Bezeichnung) zeigen einen Fehler und überschreiben die Datei nicht mehr; Speicherbestätigungen werden wieder angezeigt.
- Der Wert 0 bleibt erhalten (Flachdach, Längengrad, flacher Solarkollektor); Personen bei Haus Wärme mindestens 1.
- Batterie: max. SoC muss über min. SoC liegen.
- Entfernen eines Verbrauchers bearbeitete danach manchmal den falschen Verbraucher.
-
Loxone-Import: Haus Wärme bekommt den richtigen Typ, Bezeichnung und Kennung der Verbraucher passen zusammen. Schlägt der Import fehl, bleibt die Konfiguration unverändert und Earnie zeigt den Fehler.
-
Dokumentation: Abrechnungsaufschlag und Netznutzung in „Preise“ klarer beschrieben; das Benutzerhandbuch erklärt den Viertelstunden-Takt des Optimierer-Dienstes.
Beim Updaten unbedingt prüfen
- Konfigurationsmigration nach dem Update. Earnie verlangt nach dem Update eine Migration der Konfigurationsdateien (Streamlit-Assistent). Der Optimierer-Dienst startet erst danach. Es wird automatisch ein Backup angelegt; ein Downgrade ist nicht möglich. Details siehe Abschnitt „Datenmodell & Migration“.
- Wer schon mit einer 2.7-Vorabversion von 2.6 migriert hat: Batterie-Wirkungsgrad prüfen. Die Migration hat den Wirkungsgrad des Wechselrichters (η_inv, Vorgabe 0,97) gesetzt, den bisherigen Batterie-Wirkungsgrad aber nicht aufgeteilt. Der Speicherpfad rechnet dann mit beiden Werten, z. B. 0,97 × 0,97 ≈ 0,94 statt 0,97 pro Richtung. Die Migration teilt jetzt richtig auf und zeigt die neuen Werte an. Bereits migrierte Konfigurationen werden nicht nachträglich korrigiert: Im Hauskonfigurator den Wirkungsgrad der Batterie (η_batt) so setzen, dass η_inv × η_batt dem früheren Wert aus 2.6 entspricht (früherer Wert ÷ η_inv, z. B. 0,97 ÷ 0,97 = 1,0).
- Home Assistant / Loxone: Vorzeichen der Batterieleistung prüfen. Earnie rechnet den Hausverbrauch durchgehend als
PV + Netz + Batterie, mit Netz+= Bezug und Batterie+= Entladen (Vorzeichenkonvention). Bisher wurde die Batterie im Live-Hausverbrauch mit falschem Vorzeichen eingerechnet, und der abgeleitete Hausverbrauch (sens_power_consumers) nutztePV − Netz − Batterie. Wer in der EHAL-Zuordnung (ehal.ha.sign) die Batterieleistung bewusst gedreht hat, damit der alte Wert plausibel aussah, muss das prüfen: Die Batterie-Entity muss nach der Zuordnung beim Entladen positiv sein. Gleiches gilt für Loxone:Earnie_Batterie_Leistungmuss beim Entladen positiv sein (Earnie dreht nicht mehr). (Diese Vorzeichenregel gilt bereits seit 2.6.2 – bitte trotzdem prüfen, falls noch nicht geschehen.) - Home Assistant: nur noch Push. Der Pull-Transport entfällt; Zuordnung und YAML-Paket müssen zum Push-Vertrag passen. Die Migration stellt die Konfiguration um.
- Home Assistant: altes
ehal.ha.signaus 2.6. Steht in der Konfiguration noch ein Vorzeichen aus 2.6, fragt der Migrationsassistent, ob es bleiben oder entfernt werden soll. Liefert Home Assistant die Werte bereits im Earnie-Vorzeichen, würden sie sonst doppelt gedreht. Danach in EHAL-Com Live-Lesen prüfen. - PV am Wechselrichter Pflicht. Statt der flachen Anlagen-PV (
sens_pv_production_active) istinv.*.sens_inv_power_pverforderlich, wenn dem Wechselrichter PV zugeordnet ist. Die Migration übernimmt vorhandene Zuordnungen. - Loxone: Heartbeats umbenannt. Lesen
heartbeat_smarthome, Schreibenheartbeat_earnie(beide Pflicht). Alte IDs werden nicht mehr akzeptiert — VO/VI und Signalliste neu exportieren. - Loxone: Signalnamen. Anbindung nur noch über Push und
status.json; Vorlagen müssen zu den aktuellen Exporten passen (VI_Earnie_*/VO_Earnie_*). - Tarife brauchen ein Land. Jeder Bezugs- und Einspeisetarif in
tariffs.jsonmuss jetzt das Feldlandtragen. Ein selbst angelegter Tarif ohnelandwird beim Laden mit einer Meldung abgelehnt, die den Tarif nennt; die Migration ergänzt das Feld nicht. - Batterie: min. SoC muss unter max. SoC liegen. Eine Konfiguration, die das verletzt, wird beim Laden abgelehnt.
- E-Auto mit Ladeleistungs-Sollwert: Der Hauskonfigurator hat beim E-Auto einen neuen Abschnitt MILP-Feintuning. Fehlen diese Werte, bricht die Live-Optimierung mit einer Meldung ab, die E-Auto und Formularfeld nennt. Beim Öffnen der Seite schlägt Earnie Werte vor und speichert sie.
- Loxone: Signalwiederholung. Earnie erwartet, dass die Virtual Outputs ihre Werte regelmäßig wiederholt senden (z. B. alle 10 s). Bleibt ein Wert länger als 30 s aus, nimmt Earnie 0 an, was zu falschen Entscheidungen führen kann.
Qualität & Stabilität
- Besserer Support: Earnie zeichnet die Eingangsdaten jedes Optimierungslaufs auf (abschaltbar). Probleme aus dem Live-Betrieb lassen sich damit anhand eines Debug-Dumps nachträglich genau nachspielen und schneller beheben.
- Pünktlichkeits-Kennzahlen im Log, Hinweis bei falsch gehender Systemuhr (NTP), monatliche Rotation von
earnie.log. - LoxBerry-Plugin-ZIP
0.2.1mit UI-Text „Versionsvariante“ (separater Plugin-Release).
Datenmodell & Migration
Das interne Datenmodell wurde grundlegend überarbeitet (Datenmodell 4). Nach dem Update verlangt Earnie eine Konfigurationsmigration (Streamlit-Assistent). Der Optimierer-Dienst startet erst danach.
- Backup: unter dem Config-Verzeichnis
backups/pre-migration-dm…-<Zeitstempel>/(inkl.manifest.jsonundreport.json). Alte Backups bleiben liegen; löschen nur manuell. - Kein Downgrade: Eine ältere Earnie-Version lehnt ein neueres Datenmodell ab. Rückweg nur durch manuelles Wiederherstellen des Backups.
- Manuelle To-dos (z. B. Live-Lesen prüfen, Wirkungsgrad kontrollieren) berechnet der Assistent beim Migrieren aus deiner Konfiguration und zeigt sie im Bericht.
- Was umgestellt wird: Datenmodell 3 → 4 (mehrere Speicher, Szenarien); Bindings mit fester Kennung statt Loxone-Merkern; Batterien und Quellenwahl; Wechselrichter als eigene Einheit mit PV-Zuordnung; Aufteilung des Wirkungsgrads auf Wechselrichter und Batterie; Topologie (Netzzähler); Verbraucher-Bindings typisiert; Pflicht-Signale aktiviert; Home Assistant Pull-Transport entfernt; Daemon-HTTP-Port umbenannt; Pool-Filter- und Szenario-Explorer-Vorgaben ergänzt; Netznutzungsprofil.
- Abweichungsregeln: Zwangs-Laden und Wärmepumpe werden nach Energie bewertet (siehe „Neue Funktionen“), mit Mindest-Fehlmenge 0,1 kWh; Hinweise grün, Warnungen gelb. Eigene Schwellwerte und Meldungstexte bleiben erhalten.
- Rückfragen im Assistenten:
- Loxone-Merkernamen: behalten oder leeren? Earnie braucht sie nicht mehr, sie helfen aber, die Stellen in der Loxone Config zu finden (Signalliste: Spalte „Bisheriger Name“). „Leeren“ lässt die Bindungen aktiv.
- Home Assistant,
ehal.ha.sign: behalten oder entfernen? „Entfernen“ ist richtig, wenn Home Assistant die Werte bereits im Earnie-Vorzeichen liefert (Netz + = Bezug, Batterie + = Entladen); „Behalten“ nur, wenn die gepushten Werte noch das Hersteller-Vorzeichen tragen. - Netznutzung (optional): Netzbereich aus der Liste wählen, leer = eigener Basispreis.
Plattformhinweise
Home Assistant
- Nur noch Push-Transport; Vorzeichen der Batterie-Entity prüfen. YAML-Paket und Signalliste nach der Migration neu erzeugen – das neue YAML-Paket bringt den Watchdog mit.
- Add-on: Das offizielle Add-on Earnie bietet das Update auf 2.7.0 an.
LoxBerry / Loxone
- Push-only; Heartbeat-IDs und Earnie-Exportvorlagen aktualisieren (Signalliste neu exportieren). Telemetrie-Pfad
/ehal/telemetry/…. - Virtual Outputs mit Wiederholung (z. B. 10 s) senden: Bleibt ein Wert länger als 30 s aus, nimmt Earnie 0 an.
- Plugin-ZIP
0.2.1für die UI-Texte „Versionsvariante“ (falls noch nicht installiert). - Der Hinweis „Update verfügbar“ liest die Image-Version von GHCR (
:latest/:next); bei „Unbekannt“ war GHCR nicht erreichbar oder das Image stammt noch aus der Zeit vor dem Versions-Label. - Einheiten: Leistungsgrenzen in kW.
Synology / Docker · Proxmox
- Produktiv-Compose (
*_productive.ymlmit:latest) erhält 2.7.0. Vor dem Update ein Backup des Config-Verzeichnisses anlegen; nach dem Start führt der Assistent durch die Migration.
Bekannte Einschränkungen
- Monitor: Chart „Kumulierte Kosten & Verbrauch“ ist in dieser Version ausgeblendet. Die darin gezeigten Ersparniswerte („Ersparnis bisher“, „Ersparnis erwartet“) waren nicht belastbar: Der Vergleichslauf ohne Optimierung startete in jedem Zyklus neu vom aktuellen Speicherstand und bekam so die vom Optimierer aufgebaute Reserve geschenkt, außerdem wurden die geplanten Kosten auf dem Viertelstundenraster nur zu etwa einem Viertel dargestellt. Die Optimierung selbst ist davon nicht betroffen; die Kosten im Szenario-Explorer werden anders berechnet und sind korrekt. Eine korrigierte Fassung mit tatsächlich realisierter Ersparnis aus den Ist-Daten kommt mit Version 2.8.
- forecast.solar liefert im Zyklus kurz vor Mitternacht für den Folgetag keine PV-Prognose (Ersatzprognose für einen Zyklus).
Docker images
ghcr.io/jochentcc/earnie-energy:2.7.0ghcr.io/jochentcc/earnie-energy:latestand:nextafter you approve promote
Multi-arch: linux/amd64 (Synology / Proxmox) · linux/arm64 (LoxBerry).
Deploy: docs/einrichtung/container.md
docker compose --project-directory . -f docker/compose/synology_productive.yml pull
docker compose --project-directory . -f docker/compose/synology_productive.yml up -d(Same pattern for loxberry_productive.yml / proxmox_productive.yml.)
HA add-on: official channel (earnie) is pinned when promote completes.