aWATTar in Deutschland verfügbar..

Begonnen von der-Lolo, 25 März 2019, 18:45:56

Vorheriges Thema - Nächstes Thema

hyper2910

Eigentlich verstehe ich alles was du machst, nur hier würde ich gerne wissen
Wozu?

Get StromZaehler Strom_Status
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

ch.eick

Zitat von: hyper2910 am 28 Oktober 2020, 21:17:52
Eigentlich verstehe ich alles was du machst, nur hier würde ich gerne wissen
Wozu?

Get StromZaehler Strom_Status
Das aktualisiert den Zählerstand und holt einen frischen Wert ab.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

hyper2910

Hallo danke,

Was mir noch fehlt ist die Einberechnung des Grundpreises?

Der Grundpreis sollte ja pro Jahr angegeben werden, sinnvoll wäre das bei einem Stunden Vergleich auch auf den Stundenpreis einzurechnen

Also Grundpreis durch 8760 und das noch pro STunde drauf addieren.
Oder wie macht ihr das?
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

ch.eick

Zitat von: hyper2910 am 31 Oktober 2020, 09:07:28
Oder wie macht ihr das?
Bei mir hat sich schnell herausgestellt, das es nicht in Frage kommt, da mein Stromverbrauch zu niedrig ist.
Deshalb hatte ich mit der Berechnung aufgehört. Mein ursprünglicher Ansatz war aber wie bei Dir gedacht.
Also alle Preiskomponenten normieren und dann in der kleinsten gemeinsamen Komponente aufsummieren, um einen direkten Vergleich zu haben.
Auf dem Papier war es schon fast fertig und es geht dann weiter sobald ein E-Auto geplant wird :-)

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

hyper2910

Genau darum geht es bei mir,

Nächstes Jahr kommt das Auto und ich will jetzt schon wissen ob sich aWattar rechnet, oder Tibber, oder sonst einer.

Habe jetzt schonmal die GG auf Stundenbasis dazugepackt und rechne diese noch auf die Stündlichen Kosten dazu.

Gruss Dirk
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Basti-K

sehr gute idee.

Wie ermittelt man die Zeit wann der niedrigste Preis greift?
Den Wert könnte man dann als Variable in eine Doif einbauen um damit Verbraucher zum billigsten Preis zu starten.

ch.eick

Zitat von: Basti-K am 08 Januar 2022, 14:12:36
Wie ermittelt man die Zeit wann der niedrigste Preis greift?
Den Wert könnte man dann als Variable in eine Doif einbauen um damit Verbraucher zum billigsten Preis zu starten.
Hallo Basti.

Bei mir werden die aWattar Preise stündlich aktualisiert und in einem DOIF trigger ich darauf:
Dies ist nur ein Teil aus einem DOIF...

< snip >
################################################################################################################
## 3 Sobald der aktuelle Preis geschrieben wurde werden alle anderen readings berechnet.
##
DOELSEIF
([EVU_awattar:AktuellerPreis])
{
CommandSetReading(undef, "$SELF aWATTar_AktuellerPreis ".round([EVU_awattar:AktuellerPreis]/100 ,4) );
CommandSetReading(undef, "$SELF aWATTar_Triggerpreis ".round((([EVU_awattar:MedianPreis] - [EVU_awattar:NiedrigerPreis])/2 + [EVU_awattar:NiedrigerPreis]) ,1) );

if ([EVU_awattar:AktuellerPreis]/100 + [$SELF:aWATTar_Basispreis] > 0.20) {
   CommandSetReading(undef, "$SELF aWATTar_Arbeitspreis ".round(([$SELF:aWATTar_Arbeitspreis_fix] + 0.20) ,4) );
   if (AttrVal("$SELF","verbose",0) >=3){Log 3, "EVU_Kosten cmd_3 : brutto ".round(([$SELF:aWATTar_Arbeitspreis_fix] + 0.20) ,4)}
} else {
   CommandSetReading(undef, "$SELF aWATTar_Arbeitspreis ".round(([$SELF:aWATTar_Arbeitspreis_fix] + [EVU_awattar:AktuellerPreis]/100 + [$SELF:aWATTar_Basispreis]) ,4) );
   if (AttrVal("$SELF","verbose",0) >=3){Log 3, "EVU_Kosten cmd_3 : brutto ".round(([$SELF:aWATTar_Arbeitspreis_fix] + [EVU_awattar:AktuellerPreis]/100 + [$SELF:aWATTar_Basispreis]) ,4)}
}

if (AttrVal("$SELF","verbose",0) >=3){Log 3, "EVU_Kosten cmd_3 : Preis berechnet"};

if ([$SELF:aWATTar_AktuellerPreis] lt [$SELF:aWATTar_Triggerpreis]/100 )
  { CommandSetReading(undef, "$SELF aWATTar_Trigger on"); }
else
  { CommandSetReading(undef, "$SELF aWATTar_Trigger off"); }

if (AttrVal("$SELF","verbose",0) >=3){Log 3, "EVU_Kosten cmd_3 : Trigger aktualisiert"}

}

< snip >


Das wäre meine Berechnung für den Triggerpreis, also wenn der aktuelle preis unter diesen Fällt schalte ich meine Verbraucher ein.

round( ( ( [EVU_awattar:MedianPreis] - [EVU_awattar:NiedrigerPreis] ) /2 + [EVU_awattar:NiedrigerPreis] ) ,1)


Ich verwende das nur, damit ich übung habe, falls ich es mal brauchen kann :-)
Aktuell schalte ich damit zusätzlich im Winter in der Nacht den Wirlpool ein, da der Temperaturverlust des Pool ansonsten zu hoch wird.
Es ist also eine reine Spielerei, weil ich es kann :-) :-) Ich helfe somit den Strom der zuviel ist zu verbrauchen.

Ansonsten ist aWattar für mich weiterhin viel zu teuer, wenn man die Grundgebühr mit berücksichtigt, da ich wahrscheinlich trotz E-Auto von April bis Oktober Autark bin..

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Basti-K

#82
Hallo Christian.
Danke für Deine schnelle Antwort.
Schaue ich mir in Ruhe an...
Ich glaube ich hätte als If Bedingung genommen: Wenn der Jetzt Preis = Niedrigste Preis ist .

Ich habe (noch) kein Awattar und bin am überlegen ob es das eine Option ist.
Wir haben nee PV Anlage mit E3DC Speicher und wir haben 1 1/2 E Autos.
Über den Sommer haben wir kaum Netz Bezug aber im Winter.
Zu der Zeit liegt dann auch der Hausspeicher mehr oder weniger Brach.
Ich hab rausbekommen das man den auch aus dem Netz via Script laden kann. Dh. Es wäre möglich den kompletten Netz Bezug komplett auf die billigste Zeit zu verlegen und kann dann den Rest des Tages aus dem Akku + PV (was da so kommt) zu leben.  Netzdienlicher gehts nicht.
Nach meiner Kalkulation würde sich das trotz der Verluste und der GG ,,rechnen". Zwischen 50-100€ gespart. Aktuell müssen wir 33Cent die KWh zahlen.
Natürlich rechnet nur sich ,,deswegen" die Anschaffung des Heimspeichers nicht.
viele Grüße Sebastian

ch.eick

#83
Zitat von: Basti-K am 08 Januar 2022, 19:52:29
Hallo Christian.
Danke für Deine schnelle Antwort.
Schaue ich mir in Ruhe an...
Ich glaube ich hätte als If Bedingung genommen: Wenn der Jetzt Preis = Niedrigste Preis ist .

Ich habe (noch) kein Awattar und bin am überlegen ob es das eine Option ist.
Wir haben nee PV Anlage mit E3DC Speicher und wir haben 1 1/2 E Autos.
Über den Sommer haben wir kaum Netz Bezug aber im Winter.
Zu der Zeit liegt dann auch der Hausspeicher mehr oder weniger Brach.
Ich hab rausbekommen das man den auch aus dem Netz via Script laden kann. Dh. Es wäre möglich den kompletten Netz Bezug komplett auf die billigste Zeit zu verlegen und kann dann den Rest des Tages aus dem Akku + PV (was da so kommt) zu leben.  Netzdienlicher gehts nicht.
Nach meiner Kalkulation würde sich das trotz der Verluste und der GG ,,rechnen". Zwischen 50-100€ gespart. Aktuell müssen wir 33Cent die KWh zahlen.
Natürlich rechnet nur sich ,,deswegen" die Anschaffung des Heimspeichers nicht.
viele Grüße Sebastian

Bei meiner Berechnung kann man noch etwas kreativ den TriggerPreis verändern, da steckt keine Wissenschaft dahinter. Mit meiner Rechnung bekommt man ein passables Verbrauchsfenster von schwankender Länge.
Aber Achtung, der niedrigste Preis kann auch mal z.B. 35 ct sein, wenn der Restliche Tag am Limit ist.
Nur den niedrigsten Preis zu nehmen könnte dann leider auch mal nur eine Stunde sein.
Gerade wegen des Sommers rechnet es sich bei mir nicht, da ich da ja auch die viel zu hohe Grundgebühr in meiner Region bezahlen muss.
In ganz seltenen Fällen, kann der Preis mal ziemlich niedrig sein, um den Speicher zu laden - Das ist z.B. in der Schweiz verboten!!! - aber das habe ich schon sehr lange nicht mehr beobachten können.

Falls Interesse besteht kann ich Dir das aWattar Device und die DOIF Vergleichsrechnung mal schicken. Die Preise sind jedoch sicher nicht mehr aktuell.
Im SVG würde man die Einschaltung des Pools bei niedrigem Preis erkennen, aber man sieht auch, dass der Gesamtpreis für die kWh meistens über 35 ct raus kommt.

Übrigens kann man aWattar seit längerem nicht mehr buchen und im Web dargestellte Stundenpreise beinhalten nicht die Fixkosten, die auch noch pro Region unterschiedlich sind. Also ganz genau vorher rechnen, ansonsten kann das böse ins Auge gehen.

EDIT:
Heute war der Preis/kWh genau für 1 Stunde unter dem Preis meines Anbieters, den ich ab Februar haben werde (da wird es für mich teurer). Es waren genau 2 ct :-) Damit würde ich nie die höhere Grundgebühr rausholen.
Bisher war ich noch bei 25 ct/kWh , was somit von aWattar im letzten Jahr fast nie unterschritten wurde, da die Fixkosten bei mir schon bei 20,31 ct/kWh

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Basti-K

Hallo Christan.
Na natürlich werde ich mit deinem letzten Start der Arbeit ansehen.
Bitte einmal komplett veröffentlichen...
Nebenbei, Die eigebaute Logik im go-e Charger ist noch dummer.
Da gibt man einen Schwellwert an ab wann man laden möchte. Man will aber doch dann laden wann es am billigsten ist.  Das in einem Zeitfenster von 3-4h. In der Zeit würden 30-40kw/h zum besten Preis gezogen. Den Rest des Tages dafür dann (quasi) nichts mehr.
Ich bin kein Strompreisexperte, aber es scheint Regional extreme Preisunterschiede zu geben.
Hier beim mir in OWL (West Netz) gab es schon vor einem Jahr keinen seriösen Anbieter unter 28 Cent und nun musste ich im November zähneknirschend zu Vattenfall mit 33 Cent.
Was hast du den für eine GG wenn ich fragen darf? (fürs Gesamtbild)
Das Awattar aktuell keine Neukunden mehr aufnimmt habe ich gesehen, aber ich hänge ja eh erst mal den Vertrag bis November. Vielleicht würde man da sofort rauskommen, wenn die Messtelle gewechselt wird? (war sie ja muss)
In 2 Monaten ist auch das Tal der Tränen vorbei.
Das Thema Speicherladen wurde ich nicht mehr so verbissen sehen. Ich überschreite nicht die angegebene Leistung beim Netzbetreiber. VW kommt dies Jahr mit Direktionalen laden. DC Wallbox) Dann kann man sich den Strom mit nach Hause nehmen... wenn der AG mal mit Wallboxen aus den Puschen kommt. 😉

Viel Grüße
Sebastian

ch.eick

#85
Hallo zusammen,
hier mal ein Update, der in einem anderen Thread entstanden ist.


Ich habe gerade mal Tibber und aWATTar nachgeschaut.
Bei aWATTar kommt noch der Börsenpreis dazu, der im Jahresschnitt ziemlich hoch gewesen ist und auch für heute nicht gut aus sieht.
Zitat
HoherPreis 58.80900
MedianPreis 48.99750
MittlererPreis 43.39333
NiedrigerPreis 26.79200
selbst bei einem CAP bei 40 ct komme ich auf

2600 x 0,40 / 12 = 86,66 €/Monat
Basispreis 45,70 €/Monat

Gesamt 132,36 €/Monat

Bis ende März habe ich gerade noch bei ePrimo für 26 ct abgeschlossen und zahle dann 63 €/Monat .
Was dann in 2023 sein wird, wird man dann sehen.

Resüme:
Bisher konnte mir noch niemand die Verwendung der Strombörse schön rechnen, somit finde ich den Aufwand, das jetzt noch mit ins Modul zu bauen einfach zu groß.


Zitat von: xerion am 12 Dezember 2022, 11:22:24
Ja das mag wohl sein. Aber Aussagen wie ich habe noch einen Vertrag mit... abschließen können sind nicht hilfreich. Denn wenn du HEUTE ein Vertrag abschließt, dann sieht die Welt anders aus. Alte Verträge mit neuen Verträgen zu vergleichen ist wie Äpfel mit Birnen zur vergleichen.
Okay, das wollte ich nicht, der Vertrag ist jedoch von letzter Woche.
Zitat
Und ich wollte mir aktuell erstmal eine Übersicht verschaffen indem ich meinen Verbrauch stündliche logge und mit den Preis von Tibber zusammenführe um mal die realen Kosten zu simulieren ob es überhaupt Sinn macht. Bei Tibber kann man das erst dann machen wenn man einen Vertrag abgeschlossen hat. Darum versuche ich mir selber was zu bauen.
Tibber sehe ich aktuell preislich interessanter wie aWATTar, da dort kein "richtiges teures" SmartMeter benötigt wird und die Grundgebühren gering sind, was für die dunklen Jahreszeiten interessant ist.
Einen ersten Vergleich hatte ich ja bereits geliefert. Tibber scheint wirklich günstiger zu sein, was die Basis Kosten dann senkt. Die Börsen Preise kann man ja auch bei aWATTar einsehen.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

satprofi

Zitat von: marcus42 am 02 Januar 2020, 19:10:22Hallo nochmal,

es kam die Frage auf, wie ich das Skript zum Lesen der aWATTar Daten in fhem eingebunden habe.
Die Einbindung in fhem funktioniert bei mir so:

1. Definieren eines Dummys zB mit dem Namen 'aWATTar' und setzen eines Reading für die Dauer:

setreading aWATTar dauer 3
Das Ladefenster wird hier mit 3 Stunden festgelegt.

2. Kopieren dieser beiden Skripte nach /home/pi

https://raw.githubusercontent.com/mschlappa/fhem/master/updateAwattar.sh
https://raw.githubusercontent.com/mschlappa/fhem/master/awattar.sh

und ggf. mit chmod ausführbar machen

3. Definieren eines at-Kommandos zum Lesen der aWATTAr API

*15:00:00 {
  my $dauer = ReadingsVal("aWATTar" , "dauer", "3");
  Log 1, "Aktualisiere Daten von aWATTar";
  system("/home/pi/updateAwattar.sh $dauer &");
}

Wichtig ist hier das '&' am Ende des Befehls, damit fhem nicht auf die Rückkehr des Skriptes wartet.

4. Definieren eines notify zum Entgegennehmen der Daten aus der API

aWATTar:startzeit.* {

  my $startzeit = ReadingsVal("aWATTar" , "startzeit", "NIX");
  my $mittelwertOpt = ReadingsVal("aWATTar" , "mittelwertOpt", "NIX");
  my $mittelwertRest = ReadingsVal("aWATTar" , "mittelwertRest", "NIX");
  my $dauer = ReadingsVal("aWATTar" , "dauer", "3");
  my $message = "Daten aWATTar aktualisiert: MittelwertOpt=$mittelwertOpt MittelwertRest=$mittelwertRest Startzeit=$startzeit";
  Log 1, $message;
 
  my $tsOn = time_str2num($startzeit);
  fhem("delete atSteckdoseAutoOn");
  fhem("define atSteckdoseAutoOn at $tsOn {starteNachtladung()}");
  fhem("attr atSteckdoseAutoOn room Elektroauto");

  my $tsOff = time_str2num($startzeit)+$dauer*60*60;
  fhem("delete atSteckdoseAutoOff");
  fhem("define atSteckdoseAutoOff at $tsOff {stoppeNachtladung()}");
  fhem("attr atSteckdoseAutoOff room Elektroauto");
}

Nach dem Ausführen des at-Kommandos zum Aktualisieren stehen die Daten im Dummy aWATTar.
Es wurden auch 2 neue at-Kommandos angelegt zum Starten und Beenden der Ladung.

Die asynchrone Verarbeitung mit at und notify habe ich deshalb vorgenommen,
da die Beschaffung der Daten mehrere Sekunden dauert und ansonsten fhem blockiert wäre.

Vielleicht hilft es ja ...

Marcus
leider klappt das script nicht, fehler in zeile 36  "jqcmd=/usr/local/bin/jq"
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

Zitat von: ch.eick am 03 August 2020, 10:40:11Okay, ich hatte ja einen Lösung ohne Skript.
Die Preise werden abgeholt und in einem DOIF der gewünschte aWATTar_Triggerpreis berechnet. Im cmd_4 Bereich könntest Du natürlich auch mehrere Trigger, wenn Du granularer reagieren möchtest, setzen.
Die andere Devices fragen dann nur noch reading aWATTar_Trigger on/off ab.

Eventuell wäre für Dich auch die Eigenbedarfoptimierung interessant.

Der aktuelle Teil aus dem DOIF zum Abholen und Berechnen
defmod Strom_Kosten DOIF ################################################################################################################\
## 1 Strompreis Berechnungen\
##\
([:59]) ##jede Stunde zur 59sten Minute\
  (\
   ## aktualisieren des Zählerstandes\
   get StromZaehler Strom_Status ,\
\
   ## auslesen des Zählerstandes\
   setreading $SELF kwh_gesamt [StromZaehler:Strom_Status-02] ,\
\
   ## aktueller Wert minus alter Wert multipliziert mit dem Strompreis pro kWh in Euro des aktuellen Anbieters\
\
   setreading $SELF kwh_verbrauch {( round( [$SELF:kwh_gesamt]-[$SELF:kwh_old], 2) )} ,\
\
   setreading $SELF kwh_Maingau_now_euro  {( round( ([$SELF:kwh_gesamt]-[$SELF:kwh_old]) * [$SELF:Maingau_Arbeitspreis] ,2) )} ,\
\
   ## Börsenpreis durch 100 um auf Euro zu kommen Grundkwhpreis aWATTar addieren und mit den kWh multiplizieren\
   setreading $SELF kwh_aWATTar_now_euro  {( round( ([$SELF:kwh_gesamt]-[$SELF:kwh_old]) *([$SELF:aWATTar_Basispreis] + [$SELF:aWATTar_AktuellerPreis]) ,2) )} ,\
\
   ## Differenz der Anbieter ermitteln\
   setreading $SELF kwh_differenz_now_euro {( round( [$SELF:kwh_Maingau_now_euro]-[$SELF:kwh_aWATTar_now_euro] ,2) )} ,\
\
   ## Setze alten Wert auf aktuellen Wert für die nächste Berechnung\
   setreading $SELF kwh_old [$SELF:kwh_gesamt] ,\
\
   {Log 3, "Strom_Kosten cmd_1 : Kosten berechnet"}\
  )\
################################################################################################################\
## 2 regelmäßig die Bilanz aktualisieren\
##\
DOELSEIF\
([+:05] and ![:00]) ## Tagsüber alle 5 Minuten außer um :00\
  (\
   { if ( ($hour >= 8 || $hour < 20) ) { fhem("set Dum.Energy update") } }\
  )\
################################################################################################################\
## 3 Aktuellen aWATTar Preis holen. Achtung, die Readings werden erst wegen des http Zugriffs, verzögert aktualisiert.\
##\
DOELSEIF\
 ([:03])\
   (\
    set awattar reread ,\
    {Log 3, "Strom_Kosten cmd_3 : Preis aktualisiert"}\
   )\
################################################################################################################\
## 4 Sobald der aktuelle Preis geschrieben wurde werden alle anderen readings berechnet.\
##\
DOELSEIF\
 ([awattar:AktuellerPreis])\
   (\
    setreading $SELF aWATTar_AktuellerPreis {( round(  [awattar:AktuellerPreis]*1.19/100 ,4) )},\
    setreading $SELF aWATTar_Arbeitspreis   {( round( ([awattar:AktuellerPreis]*1.19/100 + [$SELF:aWATTar_Basispreis]) ,4) )},\
    setreading $SELF aWATTar_Triggerpreis   {( round( (([awattar:MedianPreis] - [awattar:NiedrigerPreis])/2 + [awattar:NiedrigerPreis])*1.19 ,1) )},\
    {Log 3, "Strom_Kosten cmd_3 : Preis berechnet"},\
    { if ( [$SELF:aWATTar_AktuellerPreis] lt [$SELF:aWATTar_Triggerpreis]/100 )\
        { fhem("setreading $SELF aWATTar_Trigger on") }\
      else \
        { fhem("setreading $SELF aWATTar_Trigger off") }\
    },\
    {Log 3, "Strom_Kosten cmd_4 : Trigger aktualisiert"}\
   )\
################################################################################################################\
## 5 Am Ersten des Monats den Zählerstand zum Stromversorger übertragen und\
##   Erstellen von Statistiken\
##\
DOELSEIF\
 ([01:07] and ($mday==1))\
   (\
    set maingau Zaehlerstand [StromZaehler:Strom_Status-02],\
    {Log 3, "Strom_Kosten cmd_5 : Zählerstand zur Maingau übertragen"}\
\
    set LogDBRep_PVMonth maxValue writeToDB\
   )\
\

attr Strom_Kosten DbLogExclude .*
attr Strom_Kosten DbLogInclude aWATTar_AktuellerPreis,aWATTar_Arbeitspreis,aWATTar_Trigger,aWATTar_Triggerpreis,kwh_Maingau_now_euro,kwh_aWATTar_now_euro,kwh_differenz_now_euro,kwh_gesamt,kwh_old
attr Strom_Kosten alias Strom_Kosten
attr Strom_Kosten cmdState Kosten berechnet|Bilanz aktualisiert|Preis aktualisiert|aWATTar Trigger aktualisiert|Maingau Zählerstand Übertragen
attr Strom_Kosten comment Alle Berechnungen erfolgen mit Brutto Preisen. Der aWATTar Basispreis ergibt sich aus { 0.2067 + 0.0250 }
attr Strom_Kosten do always
attr Strom_Kosten readingList Maingau_Arbeitspreis Maingau_Grundpreis MwSt aWATTar_Basispreis aWATTar_Grundpreis kwh_old
attr Strom_Kosten room Strom->System
attr Strom_Kosten setList Maingau_Arbeitspreis Maingau_Grundpreis aWATTar_Basispreis aWATTar_Grundpreis kwh_old
attr Strom_Kosten wait 0:0:0:10:0:0

defmod awattar HTTPMOD https://api.awattar.de/v1/marketdata/current.yaml 3600
attr awattar DbLogExclude .*
attr awattar enableControlSet 1
attr awattar event-on-update-reading AktuellerPreis.*
attr awattar reading01Name Datum
attr awattar reading01Regex date_now:.([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))
attr awattar reading02Name AktuellerPreis
attr awattar reading02Regex price_current:([^0-9]+[0-9\.]+)
attr awattar reading03Name MittlererPreis
attr awattar reading03Regex price_average[^0-9]+([0-9\.]+)
attr awattar reading04Name abs_00_amount
attr awattar reading04Regex data_price_hour_abs_00_amount:([^0-9]+[0-9\.]+)
attr awattar reading05Name abs_01_amount
attr awattar reading05Regex data_price_hour_abs_01_amount:([^0-9]+[0-9\.]+)
attr awattar reading06Name abs_02_amount
attr awattar reading06Regex data_price_hour_abs_02_amount:([^0-9]+[0-9\.]+)
attr awattar reading07Name abs_03_amount
attr awattar reading07Regex data_price_hour_abs_03_amount:([^0-9]+[0-9\.]+)
attr awattar reading08Name abs_04_amount
attr awattar reading08Regex data_price_hour_abs_04_amount:([^0-9]+[0-9\.]+)
attr awattar reading09Name abs_05_amount
attr awattar reading09Regex data_price_hour_abs_05_amount:([^0-9]+[0-9\.]+)
attr awattar reading10Name abs_06_amount
attr awattar reading10Regex data_price_hour_abs_06_amount:([^0-9]+[0-9\.]+)
attr awattar reading11Name abs_07_amount
attr awattar reading11Regex data_price_hour_abs_07_amount:([^0-9]+[0-9\.]+)
attr awattar reading12Name abs_08_amount
attr awattar reading12Regex data_price_hour_abs_08_amount:([^0-9]+[0-9\.]+)
attr awattar reading13Name abs_09_amount
attr awattar reading13Regex data_price_hour_abs_09_amount:([^0-9]+[0-9\.]+)
attr awattar reading14Name abs_10_amount
attr awattar reading14Regex data_price_hour_abs_10_amount:([^0-9]+[0-9\.]+)
attr awattar reading15Name abs_11_amount
attr awattar reading15Regex data_price_hour_abs_11_amount:([^0-9]+[0-9\.]+)
attr awattar reading16Name abs_12_amount
attr awattar reading16Regex data_price_hour_abs_12_amount:([^0-9]+[0-9\.]+)
attr awattar reading17Name abs_13_amount
attr awattar reading17Regex data_price_hour_abs_13_amount:([^0-9]+[0-9\.]+)
attr awattar reading18Name abs_14_amount
attr awattar reading18Regex data_price_hour_abs_14_amount:([^0-9]+[0-9\.]+)
attr awattar reading19Name abs_15_amount
attr awattar reading19Regex data_price_hour_abs_15_amount:([^0-9]+[0-9\.]+)
attr awattar reading20Name abs_16_amount
attr awattar reading20Regex data_price_hour_abs_16_amount:([^0-9]+[0-9\.]+)
attr awattar reading21Name abs_17_amount
attr awattar reading21Regex data_price_hour_abs_17_amount:([^0-9]+[0-9\.]+)
attr awattar reading22Name abs_18_amount
attr awattar reading22Regex data_price_hour_abs_18_amount:([^0-9]+[0-9\.]+)
attr awattar reading23Name abs_19_amount
attr awattar reading23Regex data_price_hour_abs_19_amount:([^0-9]+[0-9\.]+)
attr awattar reading24Name abs_20_amount
attr awattar reading24Regex data_price_hour_abs_20_amount:([^0-9]+[0-9\.]+)
attr awattar reading25Name abs_21_amount
attr awattar reading25Regex data_price_hour_abs_21_amount:([^0-9]+[0-9\.]+)
attr awattar reading26Name abs_22_amount
attr awattar reading26Regex data_price_hour_abs_22_amount:([^0-9]+[0-9\.]+)
attr awattar reading27Name abs_23_amount
attr awattar reading27Regex data_price_hour_abs_23_amount:([^0-9]+[0-9\.]+)
attr awattar reading28Name MedianPreis
attr awattar reading28Regex price_median:([^0-9]+[0-9\.]+)
attr awattar reading29Name NiedrigerPreis
attr awattar reading29Regex price_low:([^0-9]+[0-9\.]+)
attr awattar reading30Name HoherPreis
attr awattar reading30Regex price_high:([^0-9]+[0-9\.]+)
attr awattar room Strom->System
attr awattar stateFormat AktuellerPreis
attr awattar verbose 0

Hallo.
Die definition ist soweit klar, aber die daten sind immer aktueller tag. wie komme ich zu den daten "heute 14h - morgen 14h" ?


object "list"
data
0
start_timestamp 1700748000000
end_timestamp 1700751600000
marketprice 111.98
unit "Eur/MWh"
1
start_timestamp 1700751600000
end_timestamp 1700755200000
marketprice 124.12
unit "Eur/MWh"
2
start_timestamp 1700755200000
end_timestamp 1700758800000
marketprice 126.15
unit "Eur/MWh"
3
start_timestamp 1700758800000
end_timestamp 1700762400000
marketprice 117.44
unit "Eur/MWh"
4
start_timestamp 1700762400000
end_timestamp 1700766000000
marketprice 104.9
unit "Eur/MWh"
5
start_timestamp 1700766000000
end_timestamp 1700769600000
marketprice 88.51
unit "Eur/MWh"
6
start_timestamp 1700769600000
end_timestamp 1700773200000
marketprice 71.02
unit "Eur/MWh"
7
start_timestamp 1700773200000
end_timestamp 1700776800000
marketprice 61.25
unit "Eur/MWh"
8
start_timestamp 1700776800000
end_timestamp 1700780400000
marketprice 27.69
unit "Eur/MWh"
9
start_timestamp 1700780400000
end_timestamp 1700784000000
marketprice 17.56
unit "Eur/MWh"
10
start_timestamp 1700784000000
end_timestamp 1700787600000
marketprice 11.29
unit "Eur/MWh"
11
start_timestamp 1700787600000
end_timestamp 1700791200000
marketprice 7.61
unit "Eur/MWh"
12
start_timestamp 1700791200000
end_timestamp 1700794800000
marketprice 3.01
unit "Eur/MWh"
13
start_timestamp 1700794800000
end_timestamp 1700798400000
marketprice 6.27
unit "Eur/MWh"
14
start_timestamp 1700798400000
end_timestamp 1700802000000
marketprice 33.24
unit "Eur/MWh"
15
start_timestamp 1700802000000
end_timestamp 1700805600000
marketprice 78.5
unit "Eur/MWh"
16
start_timestamp 1700805600000
end_timestamp 1700809200000
marketprice 110.1
unit "Eur/MWh"
17
start_timestamp 1700809200000
end_timestamp 1700812800000
marketprice 121.13
unit "Eur/MWh"
18
start_timestamp 1700812800000
end_timestamp 1700816400000
marketprice 105.17
unit "Eur/MWh"
19
start_timestamp 1700816400000
end_timestamp 1700820000000
marketprice 97.04
unit "Eur/MWh"
20
start_timestamp 1700820000000
end_timestamp 1700823600000
marketprice 89.88
unit "Eur/MWh"
21
start_timestamp 1700823600000
end_timestamp 1700827200000
marketprice 89.68
unit "Eur/MWh"
22
start_timestamp 1700827200000
end_timestamp 1700830800000
marketprice 91.34
unit "Eur/MWh"
23
start_timestamp 1700830800000
end_timestamp 1700834400000
marketprice 102.31
unit "Eur/MWh"
url "/at/v1/marketdata"

dies müsste man an fhem übergeben können.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

ch.eick

#88
Zitat von: satprofi am 23 November 2023, 15:41:23Hallo.
Die definition ist soweit klar, aber die daten sind immer aktueller tag. wie komme ich zu den daten "heute 14h - morgen 14h" ?

In der abgefragten Datei sind nur die current Werte enthalten, für den nächsten Tag ist es wohl eine andere.
Zur API geht es hier lang.
Der Preis von aWATTar wird z.B. in abs_14_amount für den aktuellen Tag abgelegt.
Das Device war darmals nur ein Beispiel und müsste natürlich noch weiter angepasst werden.
Die Berechnung des Endpreises war ebenfalls nur ein Test, bei dem sehr schnell raus kam, dass ich dabei nicht sparen kann.

Eleganter ist die Tibber Implementierung geworden.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

satprofi

danke.
habs schon umgesetzt mit 24h API.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram