dynamischer Stromtarif (Tibber)

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
mad-mike
Beiträge: 465
Registriert: 6. Jan 2021 18:05
Answers: 3

dynamischer Stromtarif (Tibber)

Beitrag von mad-mike »

Moin zusammen,

Ich wollte mal fragen ob ihr mit einem dynamischen Stromtarif Regelwerke geschrieben habt, eventuell sogar mit prognosen für PV und Hausverbrauch...

Ich möchte gerne nachts den Akku meiner PV anlage laden wenn günstig, will aber auch nicht übers ziel hinaus - > Akku nicht überladen, damit die PV nicht zu viel einspeisst.

So wie ich dies Aktuell bewerte, müsste ich mein AKKU noch ergänzen weil der 6,5kwh nicht ausreichend ist. Aber wissen tue ich dies nicht.

Desweiteren habe ich eine Brauchwasser WP welche ich dann dynamisch laden könnte... Wenn ich diese Grafiken auf Tibber verfolge, kann man derzeit immer nachts laden.

Weiter versuche ich über die Demo Zugangsdaten von Tibber etwas über die Steuerung zu erfahren.
Man bekommt ja die Preise von Morgen schon Heute.

Ich konnte zwar auch ein Wert rausfilern, aber ich bekomme noch nicht hin wann der günstigste Preis mit Start und end punkt ist.

Hier man ein Beispiel:
Price per hour today JSON array

Code: Alles auswählen

[{"startsAt":"2024-02-04T00:00:00.000+01:00","total":0.1161},{"startsAt":"2024-02-04T01:00:00.000+01:00","total":0.1168},{"startsAt":"2024-02-04T02:00:00.000+01:00","total":0.1166},{"startsAt":"2024-02-04T03:00:00.000+01:00","total":0.1169},{"startsAt":"2024-02-04T04:00:00.000+01:00","total":0.1174},{"startsAt":"2024-02-04T05:00:00.000+01:00","total":0.1161},{"startsAt":"2024-02-04T06:00:00.000+01:00","total":0.1175},{"startsAt":"2024-02-04T07:00:00.000+01:00","total":0.1324},{"startsAt":"2024-02-04T08:00:00.000+01:00","total":0.2431},{"startsAt":"2024-02-04T09:00:00.000+01:00","total":0.2567},{"startsAt":"2024-02-04T10:00:00.000+01:00","total":0.2714},{"startsAt":"2024-02-04T11:00:00.000+01:00","total":0.2988},{"startsAt":"2024-02-04T12:00:00.000+01:00","total":0.3131},{"startsAt":"2024-02-04T13:00:00.000+01:00","total":0.2537},{"startsAt":"2024-02-04T14:00:00.000+01:00","total":0.3014},{"startsAt":"2024-02-04T15:00:00.000+01:00","total":0.34},{"startsAt":"2024-02-04T16:00:00.000+01:00","total":0.4304},{"startsAt":"2024-02-04T17:00:00.000+01:00","total":0.6165},{"startsAt":"2024-02-04T18:00:00.000+01:00","total":0.6396},{"startsAt":"2024-02-04T19:00:00.000+01:00","total":0.6172},{"startsAt":"2024-02-04T20:00:00.000+01:00","total":0.5288},{"startsAt":"2024-02-04T21:00:00.000+01:00","total":0.4646},{"startsAt":"2024-02-04T22:00:00.000+01:00","total":0.4635},{"startsAt":"2024-02-04T23:00:00.000+01:00","total":0.4182}] 


Das gibt es auch mit den Preisen von Morgen.

Oder ein Item gibt mir ein String wo ""sinnbildlich"" steht: Günstig, sehr günstig, oder aber auch sehr Teuer...

Also zur Umsetzungen sind einige Ideen im Kopf, aber ich bekomme einfach kein Start hin...

Mein Akku habe ich nun soweit, das ich ihn mittel Switch zum laden bewegen kann...

wie habt ihr hier etwas dynamik reingebracht??

:?: :?: ;)


Danke und Gruss
Gruss mad-mike

openHABian 4.3.2 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 14984
Registriert: 11. Apr 2018 18:05
Answers: 236
Wohnort: Darmstadt

Re: dynamischer Stromtarif (Tibber)

Beitrag von udo1toni »

Ich weiß nicht, wie vollständig JSONPath implementiert ist, Du könntest aber theoretisch mittels

Code: Alles auswählen

$[?(@.^(total)[0])].startsAt
den Startzeitpunkt für den günstigsten Zeitraum ausgeben lassen.
^ ist eine Sortieranweisung. Wie gesagt, keine Ahnung, ob das implementiert ist.
Notfalls müsste man das halt "zu Fuß" über eine Rule machen, das hätte dann aber auch den Vorteil, dass man noch etwas intelligenter reagieren könnte (also vor allem, das Minimum ermitteln, prüfen, wie der Preisverlauf vorher/nachher ist und evtl. damit den erlaubten Zeitraum etwas ausweiten (ob nun 11,61 ct oder 11,79 ct dürfte eher egal sein...)
openHAB4.3.0 stable in einem Debian-Container (bookworm) (Proxmox 8.3.2, LXC), mit openHABian eingerichtet

oschwabe
Beiträge: 6
Registriert: 18. Aug 2022 08:08
Answers: 0
Wohnort: Biberach

Re: dynamischer Stromtarif (Tibber)

Beitrag von oschwabe »

Hi, ich mache das mit folgender Rule :

Code: Alles auswählen

rule "Determine minimal price today"
when
    Time cron "0 45 00 * * ?"
then   
    var Tibber_price_tod_min = Float::parseFloat("100")
    var Tibber_price_tod_max = Float::parseFloat("0")

    for (var i = 0; i <= 23; i++) {
    var newString = "$.[" + i + "].total"
    var newStringT = "$.[" + i + "].startsAt"
    Tibber_JSONPathexpP.postUpdate(newString)
    Tibber_JSONPathexpT.postUpdate(newStringT)
    
    var newValue = transform("JSONPATH", newString, TibberAPITodayPrices.state.toString)
    var newValueT = transform("JSONPATH", newStringT, TibberAPITodayPrices.state.toString)
    
    var Tibber_Price = Float::parseFloat(newValue) * 100
    val DateTimeType MyDateTimeTypeFromString = DateTimeType.valueOf(newValueT)
    if (Tibber_Price < Tibber_price_tod_min) {
            Tibber_price_tod_min = Tibber_Price
            Tibber_lowpricehour.sendCommand(MyDateTimeTypeFromString)
    }  
    //if (Price < price_tom_min)  minpricedate = newValueT
    logInfo("Tibberpreis", "Tibberpreis :" + newValue + "Datum :" + MyDateTimeTypeFromString)
    if (Tibber_Price > Tibber_price_tod_max)  Tibber_price_tod_max = Tibber_Price
    }

    Tibber_PriceTodayMin.postUpdate(Tibber_price_tod_min)    
    Tibber_PriceTodayMax.postUpdate(Tibber_price_tod_max)
    Tibber_PriceTodayDiff.postUpdate(Tibber_price_tod_max-Tibber_price_tod_min)  
end
folgende Helper Items sind definiert:

Code: Alles auswählen

//Tibber
Number      Tibber_PriceTodayMin                                     "Tibber lowest price today [%.2f]"
Number      Tibber_PriceTodayMax                                     "Tibber highest price today [%.2f]"
Number      Tibber_PriceTodayDiff                                    "Tibber low high difference [%.2f]"
String      Tibber_JSONPathexpP
String      Tibber_JSONPathexpT
DateTime    Tibber_lowpricehour                                      "Tibber low price hour"                                                                            {stateDescription=""[pattern="%1$td.%1$tm.%1$tY %1$tH:%1$tM"]}
das Array kommt vom Tibber : TibberAPITodayPrices
ITEMS

Code: Alles auswählen

String                      TibberAPITodayPrices                      "Tibber Price per hour today JSON array"              {channel="tibber:tibberapi:7cfae492:today_prices"}


im ITEM 'Tibber_lowpricehour' steht dann der günstigste Zeitpunkt des Tages zu laden

Über das ForecastSolar Binding hole ich mir den für heute prognostizierten Ertrag und basierend auf meinen Erfahrungswerten und dem Forecast lade ich meine Batterie zum günstigsten Zeitpunkt in der Nacht entsprechend voll.
Pi5/8GB/SSD 120GB - OH4.3.1 openhabian 64bit

Antworten