Projektvorstellung: Verbraucher mit Raspberry Pi nur bei entsprechender solarer Einspeisung schalten

Hallo zusammen.

Um den Strom aus einer Solaranlage möglichst effizient zu nutzen ist es ratsam, Verbraucher wie z.B. Ladegerte dann einzuschalten wenn genügend Strom vorhanden ist.

Mit Discovergy haben wir die Möglichkeit, die Daten des Stromverbrauches und der Einspeisung abzugreifen. Was liegt also näher, als diese Daten zu nutzen und gewissen Verbraucher entsprechend zu schalten?

Ich hatte bei mir noch einen alten Raspberry Pi 2B herumfliegen auf dem ich neulich ohnehin schon ein „PiHole“ installiert habe. Der läuft jetzt also ohnehin.

Ich habe dann mal ein Bisschen herum geforscht, wie man die Messwert-Live-Daten abgreifen kann und daraufhin ein Python-Script geschrieben, das meinen Verbraucher (in meinem Falle ein 12V Solarbatterieladegerät) steuert. Die 100W Solarleistung über die ich die Batterie vorher geladen hatte habe ich nun lieber noch zusätzlich in mein Balkonkraftwerk gesteuert. Grund: wenn der Akku voll ist, dann idle‘t das Panel sinnlos vor sich hin.

Falls Ihr also auch einen Akku, Euer Fahrrad oder das Auto nur dann laden wollt, wenn genügend Strom vom Dach kommt, dann könnt Ihr mein Script dazu benutzen. Ok, beim Auto würde ich noch ein stärkeres Relais nachschalten. :wink:

Alles was Ihr dazu braucht und wie man die ganze Sache aufsetzt habe ich in einer Anleitung zusammengestellt. Auch das Skript hierzu findet sich im folgenden zip-File:

Discovergy-Switch.zip

Ich habe das Ganze auch so flexibel gehalten, dass Ihr Eure Schaltschwellen selber definieren könnt.

Probiert’s aus, über Feedback freue ich mich. Außerdem werde ich daran wohl noch ein Bisschen herumfeilen. Updates sollten also noch kommen. Mit meinem Balkonkraftwerk funktioniert’s aber schon ganz prima.

Viel Spaß beim Basteln…

2 Like

Hallo, dazu gibt es auch schon recht fortgeschrittene kostenlose os Lösungen von EV AC oder evcc vor allem um alle möglichen Autos über steuerbare Wallboxen zu laden. Da gibt es auch Wlan Steckdosen für andere Verbraucher, die in die Überschussnutzung eingebunden werden können.

Ich nutze evcc über einen Raspi und das funktioniert prima.

1 Like

Hallo Flux.

Das hört sich auch interessant an. Woher bekommt denn der Raspi bei Dir seine Daten? Auch von Discovergy? Und ist das dabei schon mit eingebunden oder muss man da noch etwas hinzuprogrammieren?

Hallo, bei mir ist es der Discovergy Zähler, der zum PV Überschuss gefragt wird. Es sind aber noch viele weitere Geräte eingebunden. Sieh doch mal auf die Seite von evcc.

Hab’s mir mal angeschaut. Wie gesagt: wohl nicht schlecht, wenn man’s zum Laufen gebracht hat. Gerade auch die Sache mit der App gefällt mir. Du und ich bekommen das wohl hin, ob das aber auch etwas für einen Nicht-IT-Spezialisten ist? :thinking:

Das Anliegen mit meinem Projekt ist es, die Sache so einfach und günstig wie möglich zu halten. Mit Schritt-für-Schritt-Anleitung quasi a’la Sendung mit der Maus.

Aber prima, dass die Leute nun zwei Varianten zum Ausprobieren haben. :+1:

Für Amateure ist die Lösung von EV-Autocharge - EV-Autocharge besser geeignet. Hier kann man auch problemlos TP Link Steckdosen steuern. Läuft auch prima mit Discovergy. Das war meine erste Lösung, hat aber mit meinem go-e charger nicht richtig funktioniert.

1 Like

Update.

Wenn keine Daten von Discovergy kommen, also die Verbindung unterbochen wurde, konnte das Script u.U. abstürzen. Das wurde jetzt behoben.
Der Link auf die Datei ist derselbe geblieben.

Weiterhin viel Spaß beim Basteln.

Vielen Dank dafür. Leider ist es für mich als relativer Anfänger noch etwas zu kompliziert.
Wäre es denn möglich bei einem Skript die Daten die benötigt werden per Assistent abzufragen ? Keine Ahnung inwiefern das einfach umsetzbar ist.

Dazu mal meine Frage …

Das Funktioniert also auch wenn man ein Balkonkraftwerk hat ?
Muss dazu diese Einspeise Funktion freigeschalten sein ?
Die Frage bezieht sich auch auf das evcc was hier angesprochen wurde.

Hallo Holyasgard.

Im Prinzip musst Du ja nur im Skript die Daten anpassen:

— Discovergy setting --------------------------

base_url = ‚https://api.discovergy.com/public/v1/
email = ‚max@mustermann.de‘
password = ‚geheim‘
mymeterId = ‚nfwr74zrufhüdhwpefzugeegioj‘

----------- personal setting -------------------

StandardThreshold = -30 # Bei wieviel Watt Überschuss schalte ich den Verbraucher ein/aus? (Einspeisung: negativ, Bezug: positiv)

step = 2 # In welchen Sekundenabständen sollen neue Werte eingeholt werden?

myLatency = 15 # Wieviele Sekunden will ich wenigsten warten, bis nach einer Schwellenwertüberschreitung umgeschaltet wird?

Verbraucher = 50 # Leistung in Watt die der Verbraucher im eingeschaltetem Zustand zieht

Anzeit = 7 # Volle Stunde ab der geschaltet werden soll

Auszeit = 18 # Volle Stunde bei der nicht mehr geschaltet werden soll

Es steht ja jeweils dahinter, worum es geht. Sollte ich mich aber missverständlich ausgedrückt haben, dann frage gerne nochmal wo ich helfen kann. Das wird dann sicherlich auch anderen helfen.

Code Update:

Für Python-Experten:

In Python3 scheint der nornale „write“ Befehl den man nutzt, um in eine Textdatei zu schreiben, nicht mehr richtig zu funktionieren.
Mit dem codec - Module klappt’s.

Somit funktioniert das Schreiben in die Log-Datei jetzt.

Korrektur im Zip-File, oben.