Background

Version 0.15 verfügbar

  • #release
von Georg Ledermann
Version 0.15

Ich freue mich sehr, die neueste Version meines OpenSource-Photovoltaik-Dashboards SOLECTRUS vorzustellen. Version 0.15 bringt endlich die Unterstützung für Wärmepumpen und erweitert die Möglichkeiten, eine externe Wallbox zu integrieren. Dazu gibt es viele Detailverbesserungen und intern wurde einiges umgekrempelt. Version 0.15 ist das größte Update seit langem. Und den neuen Konfigurator gibt’s obendrauf.

Aber der Reihe nach:

Unterstützung für Wärmepumpe

SOLECTRUS kann nun eine Wärmepumpe in der Strombilanz ausweisen und natürlich den Stromverbrauch im Zeitverlauf als Diagramm darstellen. Da üblicherweise der Stromverbrauch der Wärmepumpe im Hausverbrauch enthalten ist, kann dieser herausgerechnet werden, um eine Doppelzählung zu vermeiden. Das Ergebnis sieht dann so aus:

Wärmepumpe

Voraussetzung ist natürlich, den Stromverbrauch der Wärmepumpe abfragen zu können. Das könnte z.B. per MQTT über ioBroker, HomeAssistant oder andere Systeme möglich sein. Der zu SOLECTRUS gehörende MQTT-Collector wurde übrigens vollständig neu implementiert und funktionell erweitert. Die neue Konfiguration des MQTT-Collectors ist im Wiki beschrieben.

Alternativ steht der Shelly-Collector zur Verfügung, der den Stromverbrauch beispielsweise über einen Shelly Pro 3EM auslesen kann.

Um eine bestehende Installation von SOLECTRUS um die Wärmepumpe zu erweitern, sind ein paar Anpassungen in der Konfiguration nötig. Wie das genau funktioniert, habe ich auf GitHub beschrieben.

Unterstützung für externe Wallbox

Bislang konnte SOLECTRUS nur eine interne Wallbox darstellen, die also auf den Hausverbrauch “oben drauf” kommt, beispielsweise die Wallbox von SENEC.

Jetzt ist es möglich, die Verbrauchswerte einer externen Wallbox per MQTT abzuholen und - das ist die wesentliche Neuerung - aus dem Hausverbrauch herauszurechnen.

Voraussetzung ist, den Stromverbrauch der Wallbox per MQTT abfragen zu können. Auch hier können wieder ioBroker, HomeAssistant oder andere Systeme helfen. Zu beachten ist auch hier die neue Konfiguration des MQTT-Collectors, die im Wiki beschrieben wird.

Neue Sensoren-Konfiguration

Intern waren dazu größere Anpassungen bei der Konfiguration nötig. SOLECTRUS definiert nun sog. Sensoren, um Messwerte aus der InfluxDB zu lesen. Sensoren sind eine Zwischenschicht, um die Messwerte (in InfluxDB gespeichert) von der Darstellung in SOLECTRUS zu entkoppeln. Das macht die Software flexibler und wird zukünftige Erweiterungen erleichtern. Mehr dazu im Wiki auf GitHub.

Wer keine Wärmepumpe oder Wallbox hat, kann die Sensoren auch einfach ignorieren, Version 0.15 ist vollständig abwärtskompatibel zu früheren Versionen. Falls es im Einzelfall doch irgendwo haken sollte, helfe ich gerne weiter.

CO₂-Reduzierung für jeden Zeitraum

Neben der finanziellen Ersparnis ist auch die CO₂-Reduzierung ein wichtiger Aspekt der Photovoltaik-Anlage. In einem ersten Schritt wird diese auf eine simple Weise errechnet, nämlich durch Multiplikation des erzeugten Stroms mit einem konstanten CO₂-Faktor. Das ist aber nicht das Ende der Fahnenstange, eine genauere Berechnung ist in Arbeit (mehr dazu siehe unten).

Die Darstellung erfolgt in einem zusätzlichen Infokreis sowie als Diagramm für den gewählten Zeitraum.

CO₂-Reduktion

Verbesserungen an der Benutzeroberfläche

Swipe: Auf Touch-Devices (Smartphone, Tablet) kann jetzt mit Wisch-Gesten zum nächsten/vorhergehenden Tag (oder Woche, Monat, Jahr) navigiert werden.

Smartphone-Optimierung: Die Darstellung auf Smartphones passt sich nun besser auf sehr kleine Displays an.

Und für die visuellen Effekte gibt’s jetzt kleine Animationen beim Klick auf Buttons.

Interne Verbesserungen

Unter der Haube hat sich auch einiges getan. Viele interne Verbesserungen und Code-Refactorings machen die Software stabiler, effizienter und besser wartbar.

Ich habe außerdem die Abhängigkeiten aktualisiert: SOLECTRUS verwendet jetzt die neueste Version von Ruby, Ruby on Rails und anderen Bibliotheken. Das bringt mehr Sicherheit und Stabilität.

Behobene Bugs

Das Update räumt auch einige Fehler aus dem Weg:

  • Bei der Fortschreibung der Diagrammen auf der Aktuell-Seite gab es gleich zwei Probleme: Neue Messwerte erschienen zeitversetzt (d.h. immer ein paar Sekunden zu spät) und bei Null-Werten blieb das Diagramm einfach stehen. Beides gehört jetzt der Vergangenheit an.
  • In machen Fällen gab es kleine Inkonsistenzen bei der Berechnung von Summen, beispielsweise stimmten die Angaben der Top10 oder die Balken von Diagrammen nicht exakt mit den Einzelansichten überein. Das wurde korrigiert.
  • Die Tooltips in der Strombilanz zeigen jetzt immer die vollen Nachkommastellen an. Gut für jeden, der es genau wissen will.

Kompatibilität

Für die neue Version gab es einen ausführlichen Beta-Test, an dem viele von euch teilgenommen haben. Vielen Dank für das Feedback und die Unterstützung!

Ganz wichtig: Die Version 0.15 ist abwärtskompatibel zu den früheren Versionen, kommt also trotz der vielen Änderungen auch mit einer alten Konfiguration klar. Dennoch empfehle ich, einen Blick ins Docker-Log zu werfen, um sicherzustellen, dass alles korrekt läuft.

Wenn es im Einzelfall doch zu Problemen kommen sollte, legt bitte ein Issue auf GitHub an, damit wir schnell eine Lösung finden können.

Installation von Updates

Wer nicht sowieso mittels Watchtower sämtliche Update automatisch erhält (sehr empfehlenswert!), kann eine Aktualisierung auf einfache Weise manuell über die Kommandozeile (also per SSH-Login) durchführen:

# Im Ordner ausführen, in dem die compose.yaml (früher: docker-compose.yml) von SOLECTRUS liegt:
docker compose pull
docker compose up -d

# Fertig!

Bei älteren Versionen von Docker (z.B. auf einem Synology-NAS) muss docker-compose statt docker compose geschrieben werden, also mit Bindestrich.

Diese Befehle aktualisieren sämtliche Docker-Container von SOLECTRUS - also das Dashboard, die Kollektoren, aber auch die Datenbanken InfluxDB und Redis.

Neuer Konfigurator

Für eine Erstinstallation von SOLECTRUS verwendet man am einfachsten den neuen Konfigurator, der vieles einfacher macht. Anstatt manuell die Dateien docker-compose.yml und .env zu bearbeiten, werden diese jetzt automatisch generiert, nachdem man einen web-basierten Fragebogen durchlaufen hat.

Konfigurator

Das ist übrigens auch für bestehende Solectronauten interessant, die damit prüfen können, ob alles optimal konfiguriert ist.

Ausblick

Und was steht als Nächstes an? Ich arbeite bereits an neuen Features. Geplant sind unter anderem:

  • Deckung je Verbraucher: Wisst ihr, wie viel das E-Auto oder die Wärmepumpe tatsächlich an Stromkosten verursacht hat? Nun, der Stromverbrauch des Verbrauchers ist dank SOLECTRUS bekannt - aber nicht, wie viel davon selbst erzeugt wurde. Das möchte ich ändern.

    Für jeden Verbraucher (Haus, Wärmepumpe, Wallbox) wird zukünftig berechnet, wie viel Strom selbst erzeugt wurde und wie viel aus dem Netz bezogen wurde - inklusive der tatsächlichen Stromkosten des jeweiligen Verbrauchers.

    Im Ergebnis könnte das etwa so aussehen:

    Deckung je Verbraucher

    Ich halte das für eine spannende Fragestellung, die man mit bisherigen Tools nicht beantworten kann. Mehr zur Idee und zur Implementierung findet sich auf GitHub.

  • CO₂-Reduktion: Welchen Beitrag leistet die eigene Photovoltaik-Anlage zur Erreichung der Klimaziele im Land? Ich möchte eine genauere Berechnung in SOLECTRUS integrieren.

    Da die tatsächliche CO₂-Emission eines Landes üblicherweise im Tagesverlauf stark schwankt, ist die derzeitige Berechnung mit einem konstanten Emissionsfaktor sehr ungenau. Nachts ist nämlich die CO₂-Emission meist höher, weil Photovoltaik wegfällt und mehr Kohle- oder Gasverstromung zum Einsatz kommt. Über eine externe API soll die tatsächliche CO₂-Emission am Standort des Nutzers abgefragt und in die Berechnung einbezogen werden. Auch hierzu lassen sich die technischen Details auf GitHub nachlesen.

  • Kombiniertes Diagramm: Die bisherigen Diagramme stellen nur jeweils einen einzelnen Messwert dar. Oft kommt die Frage, ob nicht eine kombinierte Darstellung möglich ist. Und ja, daran wird tatsächlich gearbeitet, und das sogar mit tatkräftiger externer Unterstützung. Es ist noch einiges zu tun, aber die ersten Schritte sind gemacht.

Danke für eure Unterstützung und viel Spaß mit Version 0.15 von SOLECTRUS!