Hallo,
seit einigen Wochen beschäftige ich mich mit der Option, einen dynamischen Stromtarif abzuschließen. So bin ich auf das "Modul" oder die Anleitung aufmerksam geworden, die Börsentarife über "aWATTar" in Fhem einzulesen. Das funktioniert soweit gut, wie es im Wiki beschrieben ist.
Die folgenden Anlagen sollen möglichst optimal für die Verbrauchsoptimierung und Steuerung über FHEM genutzt werden:
PV-Anlage mit Speicher
Wärmepumpe
e-Auto / Wallbox
PV-Anlage:
Die Anlage ist so groß ausgelegt, dass ich von ca. Anfang/Mitte Mai bis Mitte Oktober zu 100% autark bin, also in das Netz einspeise und einen Bezug von nahezu Null habe
Wärmepumpe:
Die WP wird schon bereits über Fhem angesteuert, um zu optimalen Zeiten Warmwasser aufzubereten und das Haus zu heizen. Auch bei Sonnenschein zu "überheizen", um den Eigenverbrauch zu optimieren und Laufzeiten zu ertragsschwachen Zeiten zu vermeiden.
eAuto/Wallbox
Hier nutze ich die EVCC Software, um PV-optimiert zu laden. Alle Werte stehen über MQTT auf im Fhem zur Verfügung
Trotz der bisherigen Maßnahmen habe ich in der Zeit von Mitte Oktober bis Mitte Mai noch einen Netzbezug von ca 6000 kWh, überwiegend aus Wärmestrom und e-Laden des PKW
Diese hierzu anfallenden Kosten aus einem fixen Stromtarif möchte ich durch einen dynamischen Tarif weiter reduzieren.
Die Fhem - aWATTar-Abfrage ist da bereits eine gute Ausgangslage.
Aus meiner Sicht würde ich einige "Hilfsparameter" zur besseren Steuerungsmöglichkeit ergänzen.
Leider bin ich in der Perl-Programmierung nicht sehr bewandert. Daher hier mein Vorschlag für eine Ergänzung/Erweiterung der bisher dokumentierten Fhem-Integration:
Bisher werden die 4 günstigsten Tarifstunden eines Tages als Reading bereitgestellt
Ergänzend wäre es aus meiner Sicht von Vorteil für eine Steuerung, wenn auch die folgenden Parameter als Readings bereitgestellt werden könnten:
- Die teuersten Stunden (Als Referenz könnte ein unterer Schwellenwert als Parameter vorgegeben werden. z.B. ein Wert aus einem fixen Tarig (Manuelle Vorgabe)
- Die "moderate" Zeitspanne, die unter dem vorgegebenem Schwellwert, aber über den günstigsten Tarifstunden liegt.
Anhand dieser Parameter wären die gesamten 24 Tarifstunden des Tages in "Preisklassen" eingeteilt, die sich, aus meiner Sicht, bereits gut für eine Gesamtoptimierung des Bezugskosten nutzen lassen könnten.
Auch wäre eine Hinterlegung der Tarifdaten in einem Logfile hilfreich, das die richtigen Timestamps zu den jeweiligen Tarifwerten zuordnet. Also die Daten mit dem Timestamp der jeweis gültigen Stunde und des Tagesdatums hinterlegt.
So wären sowohl die Dokumentation des Tarifverlaufes möflich, als auch eine Visualisierung per SVG. Und es könnten noch die Laufzeiten ausgewählter Verbraucher zugefügt werden. Hierzu habe ich im Fhem bisher keine Lösung mit "Bordmitteln" finden können.
Wie bereits geschrieben, bin ich in Perl-Programmierung nicht bewandert, sonst würde ich die Ansätze selbst bereitstellen.
Vielleicht gibt es Interessenten, die das programmiert bekommen, und so die aWATTar-Implementierung ergänzen können
Schöne Grüße
Ich hole mir so die 15-Minuten-Preise und berechne den Kundenpreis nach den Angaben, die ich bei MONTANA gefunden habe.
defmod DynamischerStromtarif JsonMod https://tibber.com/de/api/lookup/price-overview?postalCode=01234
attr DynamischerStromtarif oldreadings pricecurrently,oldreadingsAlways
attr DynamischerStromtarif readingList complete()
attr DynamischerStromtarif stateFormat pricecurrently -> ersparnis
attr DynamischerStromtarif userReadings netzendgeld {return 0.117},\
umlagen {return 0.04701},\
anbieter {return 0.0246},\
festpreis {return 0.2731},\
pricecurrently {(ReadingsVal($name,"energy.todayQuarterHours.".sprintf("%.0f", (localtime)[2]*4 + int((localtime)[1]/15)) . ".priceComponents.1.priceExcludingVat","xx") + ReadingsVal($name,"anbieter","xx")+ ReadingsVal($name,"umlagen","xx") + ReadingsVal($name,"netzendgeld","xx") * 1.19)},\
ersparnis {ReadingsVal($name,"festpreis","xx") - ReadingsVal($name,"pricecurrently","xx")},\
vorstunde {OldReadingsVal($name,"pricecurrently",0)}Ursprung war hier im Forum. ;)