Solhive – mein Energiemanagement für PV, Speicher, E-Auto & Wärmepumpe (kostenlos, komplett lokal – mit Live-Demo zum Ausprobieren)

Ich werde dann mal die Sigenergy Imtegration über Modbus weiter testen. Die Hasulast wird nun auch bei aktiver Aufgabe abgedeckt. Das verzögerte Laden in der Mittagszeit werde ich dann in den nächsten Tagen weiter beobachten. Bisher sieht das alles gut aus aber heute war der Speicher für einen intensiven Test noch zu gut gefüllt :slightly_smiling_face:

Hast du es gut :laughing:
Ich habe in den letzten Tagen intensiv meine Poolwärmepumpe getestet und auch noch das Speicher nachladen nachts für den Tag darauf (Winter is coming), da hab ich dann doch einiges an kWh aus dem Netz gezogen

Noch eine Woche — was seit dem 13.09. dazugekommen ist :honeybee:

Seit dem letzten Recap sind 16 Releases durchgelaufen, aktuell steht v2026.09.20.3. Die angekündigte Bündelung greift also: In der Woche davor waren es noch 42. Das Thema der Woche: Befehle, die wirklich ankommen. Bisher hat Solhive an vielen Stellen angenommen, dass Wallbox, Wärmepumpe oder Wechselrichter einen Befehl umgesetzt haben. Jetzt prüft es das nach und sagt es, wenn nicht. Dazu kamen zwei Dinge direkt aus der Beta: die Strings-Ansicht, die sich @MartyBr gewünscht hat, und ein Nacht-Fund von @PGerken. Wie immer sortiert nach dem, was es euch bringt — und mit dem Unangenehmen zuerst.

:warning: Zuerst das Unangenehme

Mittagsladen hat nachts den Speicher gesperrt. @PGerken hatte ja angekündigt, das verzögerte Laden zur Mittagszeit weiter zu beobachten — und prompt um 0:10 Uhr Netzbezug gehabt, obwohl der Akku bei 85 % stand. Die Ursache: Reichte die PV-Prognose fürs Mittagsfenster knapp nicht, zog Solhive den Ladestart Stunde für Stunde nach vorne — notfalls bis Mitternacht. Ab da galt „laden“, der Speicher durfte nicht mehr entladen, und das Haus lief bis zum Vormittag aus dem Netz. Seit v2026.09.19.1 beginnt das Laden nur noch in Stunden, in denen wirklich Überschuss erwartet wird. Reicht die Prognose trotzdem nicht, bleibt es beim sanften Nachladen, und das sperrt die Entladung in der Nacht nicht.

„Regelung: aus“ hat einen Neustart nicht überlebt. Der Schalter wirkte nur im Speicher. Nach einem Update oder Neustart regelte Solhive wieder, und der erste Regeltakt nach dem Start kam sogar noch vor der Sperre. Seit v2026.09.19.0 wird der Schalter sofort gespeichert und gilt ab dem ersten Takt. Außerdem: Konnte Solhive beim Anhalten einen Sollwert nicht zurückgeben, galt das Gerät trotzdem als freigegeben. Jetzt versucht es die Rückgabe nach 30, 60 und 120 Sekunden erneut, und die Oberfläche sagt, welches Gerät noch nicht zurückgegeben ist.

Der §14a-Deckel erreichte die Wallbox nur, wenn gerade eine Wärmepumpen-Aufgabe lief. Er stand in einem Programmteil, der nur dann ausgeführt wurde. Seit v2026.09.15.1 wird er in jedem Takt geschrieben.

Was ihr davon habt: Ein Speicher, der nachts das Haus trägt, auch an trüben Tagen. Und ein Aus-Schalter, auf den ihr euch auch über ein Update hinweg verlassen könnt.

:electric_plug: Wallbox: 1P/3P per OCPP und ein Stopp, der hält

  • Phasenumschaltung über OCPP, letzte Woche angekündigt, jetzt gebaut. Solhive schickt der Box im Ladeprofil mit, auf wie vielen Phasen sie laden soll, so wie evcc das macht. Das heißt: Bei wenig Überschuss wird einphasig weitergeladen statt gestoppt. Die Phasenwahl lässt sich je OCPP-Box einschalten, und die Einstellungen zeigen, ob eure Box das kann. Am Sonntag lief der erste Test an meiner go-e: Die Umschaltung klappt, die Pause dauert gut eine Minute. Dabei fiel aber auf, dass Solhive vor jedem neuen Ladeprofil das alte löschte und damit die Phasenvorgabe gleich mit. Die Box sprang jeden Takt zurück auf drei Phasen. Das ist seit v2026.09.20.3 behoben. Der Test mit echtem Ladestrom über einen ganzen Nachmittag steht noch aus.
  • /stop überlebt jetzt einen Neustart. Vorher konnte das passieren: /stop um 20 Uhr bei einem Nachtplan, um 2 Uhr ein Update mit Neustart, und ab 2:01 Uhr lädt die Box wieder.
  • Der Regler glaubt nur noch frischen Messungen. Die Box schickt alle 10 Sekunden Messwerte, und der Regeltakt ist kaum länger. Nach einem Stopp sah Solhive deshalb oft noch die alte Ladeleistung. Es hob den eigenen Stopp wieder auf, und Telegram meldete „lädt weiter“. Jetzt wartet das Urteil auf eine Messung nach dem Befehl. Eine OCPP-Box, die eine Pause wirklich ignoriert, bekommt erst nach drei nachgewiesenen Fehlschlägen die Sitzung beendet, statt schon bei jeder dritten Pause.
  • Telegram und die Oberfläche sagen, ob die Box den Befehl angenommen hat. Bisher kam „ok“, auch wenn die Box abgelehnt hatte.
  • Mehrere Boxen: Das Lastmanagement hat jetzt dieselbe Hysterese wie eine einzelne Box und pendelt nicht mehr an der Stopp-Schwelle. Außerdem zählte OCPP den Neutralleiter als eigene Phase mit, deshalb erschien einphasiges Laden als zweiphasig.

Ehrlich offen: Steckt an der ersten Box kein Auto, übernehmen die anderen deren Anteil noch nicht. Und bei verzögerter Messung kann eine zweite Box kurz Strom freigeben, den der Zähler noch nicht zeigt. Beides ist erkannt, aber noch nicht behoben.

Was ihr davon habt: Mehr Solarstrom im Auto an Tagen mit wenig Überschuss, und ein Stopp, der auch nach einem Update gilt.

:thermometer: Wärmepumpe: Sperren, die ankommen

  • SG-Ready schaltet in der richtigen Reihenfolge. Solhive schrieb immer erst Kontakt 1, dann Kontakt 2. Beim Wechsel von „Normal“ auf „Zwangs-EIN“ lief die Pumpe dadurch kurz durch die EVU-Sperre, und eine §14a-Sperre lief kurz durch „Zwangs-EIN“. Jetzt werden erst die Kontakte ausgeschaltet, dann die neuen eingeschaltet, auch über die HA-Brücke.
  • SG-Ready über ein Shelly-Relais per HTTP hat nie geschaltet. Der Treiber hatte keine Netzwerkverbindung bekommen. Behoben, ebenso das Schalten über MQTT-Relais.
  • §14a-Deckel und EVU-Sperre kommen jetzt auch bei einer Wärmepumpe ohne laufende Aufgabe an, und auch bei einer, die ihre Leistung selbst regelt. Schaltet jemand einen SG-Kontakt von außen um, stellt Solhive ihn im nächsten Takt zurück, wenn gerade eine Sperre gilt. Ein Fehler bei einer Wärmepumpe hält die anderen nicht mehr auf.
  • :warning: NIBE S-Serie: Solhive schreibt dort vorerst keine Leistungsgrenze mehr. Eine Grenze wird nur noch geschrieben, wenn das Profil auch weiß, wie sie am Gerät freigegeben wird, und das ist bei NIBE S nicht belegt. Wie bei Stiebel gilt: lieber eine Funktion weniger als ein Register, das ich raten müsste.
  • Der Verbindungstest schickte gespeicherte Passwörter als *** ans Gerät, statt sie einzusetzen. Behoben.

Was ihr davon habt: Eine Sperre vom Netzbetreiber greift jetzt zuverlässig, ganz gleich, wie die Pumpe angebunden ist.

:battery: Speicher: aufräumen, auch wenn etwas schiefgeht

  • Scheiterte ein Schreibbefehl an den Wechselrichter, blieb der Rest des Takts stehen. Netzladen oder ein Entlade-Deckel konnten dann am Gerät stehen bleiben. Jetzt baut Solhive seine Vorgaben auch nach einem Fehlschlag zurück. Wer die Beta-Anbindung abschaltet, bekommt sein Gerät sauber zurück.
  • Smart Grid, Arbitrage und Sturmschutz melden „läuft“ nur noch, wenn der Befehl auch im Gerät angekommen ist.
  • Noch nicht geschafft: Letzte Woche hatte ich angekündigt, dass bei zwei Speichern der volle einspringt, wenn der andere leer ist. Das ist diese Woche nicht fertig geworden und steht weiter auf der Liste.

:bar_chart: Dashboard: die Strings-Ansicht

  • Neuer Modus „Strings“ (Sonnen-Symbol), gewünscht von @MartyBr für seine zwei Kostal-Wechselrichter, nach dem Vorbild von eedc. Jeder String aller Wechselrichter und Balkonkraftwerke ist ein eigener Knoten, das Haus steht in der Mitte, darunter Netz, Speicher mit SoC, Auto und Wärmepumpe. Oben steht die Gesamt-Solarleistung. Die Ansicht funktioniert hell und dunkel, auf dem Handy erscheint eine kompakte Liste.
  • Auch der Flow-Modus zeigt jetzt die Gesamt-Solarleistung, sobald es mehr als einen Erzeuger gibt.
  • Die Panels des Balkonkraftwerks sind im Verlauf auch nachts auswählbar. Fällt die Messung komplett aus, rechnet der Tageswert nicht mehr mit eingefrorenen Werten weiter.

:desktop_computer: Updates und Betrieb

  • Das Update aus dem Dashboard räumt die Datei vom letzten Mal selbst auf. Wer letzte Woche den Handgriff mit package-lock.json gemacht hat, muss nichts mehr tun. Alle anderen bekommen die Korrektur mit dem nächsten Update, ohne Befehl auf der Anlage. Hängt es bei euch trotzdem noch, bitte hier im Thread melden.
  • Das Beta-Update installiert genau die angekündigte Version. Bisher zog es den neuesten Stand, auch Änderungen nach dem letzten Release. Eure Anlage lief dann einen Stand, den weder die Anzeige noch der Changelog nannte.
  • Logs auch unter Docker: Solhive schreibt jetzt eine eigene Logdatei. Live-Debug und Debug-Bundle zeigen damit auch in Docker Logzeilen, dort waren sie bisher leer.
  • Die nächtliche Datenbank-Wartung blockiert die Regelung nicht mehr.

:lady_beetle: Tracker

Rund 165 neue Tickets diese Woche, rund 70 geschlossen, 177 offen. Die offene Liste wächst, weil die Prüfer vor jedem Release schneller finden, als wir schließen. Die meisten sind Folgefunde aus diesen Prüfungen, keine Meldungen von euch. Die Testsuite ist auf rund 12.000 Tests gewachsen (Backend 10.700, Oberfläche 1.340).

Ehrlich offen aus euren Meldungen: Die SoC-Schätzung beim Laden liegt bei einem BMW i3 an der go-e deutlich zu niedrig, sodass ein Ladelimit wie 80 % nicht greift. Die Meldung ist angekommen und noch nicht gelöst.

:person_raising_hand: Weitere Tester wären uns willkommen


Ausprobieren ohne Installation: demo.solhive.energy — 30 Minuten, keine Anmeldung.
Wer mittesten will: gern hier melden oder PN. :honeybee: