Tibber & Tibber Pulse

Begonnen von hyper2910, 20 November 2022, 10:27:31

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: horchundkuck am 10 März 2024, 21:57:10
Zitat von: ch.eick am 08 März 2024, 19:47:19Dafür gibt es sicher eine standard SQL für SQLite, die man nur austauschen müsste.
Hab heute komplett auf MariaDB umgestellt, nun laufen alle deine Definitionen ohne dass ich dran "rumfummeln" muss ... und ich habe den Kopf wieder frei für andere Dinge  ;)
Ich verwende einen RPI4 mit 64 Bit Installation, da läuft direkt der Oracle MySQL Docker Container.
Ich habe auch diverse MySQL SELECT Abfragen, die nicht mehr im MariaDB laufen. MySQL entwickelt sich immer weiter, insbesondere auf die Sicherheitsfunktionalität und da gab es leider bei MariaDB zuwenig Updates in den Docker Containern.
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

hkspks

Hallo, bei mir wird kein barchart für den Strompreis angezeigt im Device EVU_Tibber:

Strompreis
error unknown expression format: in expression: bar1dayerror unknown expression format: in expression: bar1day

Hat jemand eine Idee? Mein Pulse ist seit gestern erst aktiv, das dürfte für die Preisanzeige ja keinen Unterschied machen. Der Rest funktioniert und zeigt auch Werte an.

hkspks

Hallo, bei mir wird kein barchart für den Strompreis angezeigt im Device EVU_Tibber:

Strompreis
error unknown expression format: in expression: bar1dayerror unknown expression format: in expression: bar1day

Hat jemand eine Idee? Mein Pulse ist seit gestern erst aktiv. Infoschnittstelle für das Livemeasurement ist noch nicht offen, siehe log:

2024.04.20 09:42:16 3: EVU_Tibber:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'EVU_Tibber_uiTable_c_3_1_0_0',sprintf("%04d W",(::ReadingValDoIf($hash,'EVU_Tibber_connect','payload_data_liveMeasurement_powerProduction')  >= 0 ? ::ReadingsVal("EVU_Tibber_connect","payload_data_liveMeasurement_powerProduction",0) : 0)),"")
2024.04.20 09:42:16 1: PERL WARNING: Argument "" isn't numeric in numeric ge (>=) at (eval 1130041) line 1.

Das dürfte für die Preisanzeige ja keinen Unterschied machen, oder? Der Rest funktioniert und zeigt auch Werte an.

Damian

Es gibt in der Definition einen Größenvergleich >=, im Log ist eine Warnung dazu, die sagt, dass dort die vermeintliche Zahl nicht numerisch ist - den Rest wirst du schon selber finden.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hkspks

#259
Alles klar, war ein veraltetes DOIF.pm - das Update hat geholfen.

Damian

Was war los gestern?

3 Euro für eine kWh ist schon heftig!
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

xerion

Tibber hat dazu gestern eine Mail geschickt was die Ursache war.

Wichtige Informationen zur aktuellen Strompreisentwicklung

Hallo,

wie du vielleicht schon mitbekommen hast, gibt es am heutigen Tag für einige Stunden extrem hohe Preisspitzen. Anbei möchten wir dir ein paar Hintergrundinformationen geben und dich darüber informieren, was das genau für dich und deinen Tibber Stromvertrag bedeutet.

Was ist passiert?


Die Preisspitzen letzte Nacht zwischen 04:00 und 08:00 Uhr und heute Abend zwischen 18:00 und 22:00 Uhr betreffen den gesamten deutschen Stromhandel am Day-Ahead-Markt der europäischen Strombörse Epex. Grund dafür sind laut Epex technische Probleme, durch die Strompreis-Auktionen nicht wie üblich zwischen den einzelnen Ländern harmonisiert wurden. Die genauen Hintergründe des Vorfalls werden aktuell geklärt. Mehr Informationen dazu findest du hier.

Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

satprofi

nicht nur Tibber, alle waren betroffen. Dafür bekam ich fürs einspeisen auch die ~200cent/kWh . Habe meinen vollen Akku ins Netz entladen ;-)
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

jnewton957

Zitat von: satprofi am 27 Juni 2024, 13:33:36... Dafür bekam ich fürs einspeisen auch die ~200cent/kWh . Habe meinen vollen Akku ins Netz entladen ;-)

Wie geht das denn?
Einspeisevergütung ist doch ein Fixbetrag / kWh - zumindest bei mir.
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

satprofi

Zitat von: jnewton957 am 30 Juni 2024, 16:32:22
Zitat von: satprofi am 27 Juni 2024, 13:33:36... Dafür bekam ich fürs einspeisen auch die ~200cent/kWh . Habe meinen vollen Akku ins Netz entladen ;-)

Wie geht das denn?
Einspeisevergütung ist doch ein Fixbetrag / kWh - zumindest bei mir.

nein, smartenergy zahlt börsenpreis, andere aber auch.
https://www.awattar.at/tariffs/sunny
Tibber hat keine einspeisung, glaub ich
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Damian

Zitat von: satprofi am 02 Juli 2024, 11:45:10nein, smartenergy zahlt börsenpreis, andere aber auch.

Da bin ich wohl mit meinem "alten" Fixtarif 13 Cent/kWh offenbar noch besser bedient.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

knueppler

Hallo zusammen
an alle Beteiligten erstmal super lieben Dank für die Programmierung der zwei Devices, die sind echt super.
Leider habe ich ein kleines Problem:
ich lasse FHEM auf nem Mac laufen und habe bis dato nur die SQLite-DB an den Start gebracht, bei mysql meckert er an, dass ihm die DBD::mysql fehlt und ich auch mit allen Tipps aus dem Netz nicht zum Ziel komme.
Nun sind die SQLs alle für mysql optimiert und scheitern mit der SQLite  :o
Da meine besten SQL-Zeiten wahrlich Jahrzehnte zurückliegen nun die zweigeteilte Frage:
1) hat einer nen Tipp/Kochrezept für nicht, wie ich die mysql auf dem Mac an den Start bekomme
2) oder hat einer die SQLs angepasst für SQLite für mich
Jede(r) Tipp/Hilfe ist dankend genommen.
Ciao Christian 

abc2006

Moin,

ich steh aufm Schlauch - kann mir jemand erklären, was ich mit dem Dropdown "Basis" einstelle?
Es hat wohl irgendwas mit der Einspeisevergütung zu tun, aber alles was ich bisher glaube, basiert auf glauben und raten.

Habe gerade Tibber neu installiert und versuche gerade, da durchzusteigen.

PS:
Ich habe im Wiki schonmal die Beschaffung der Token ergänzt.

Danke und Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

ch.eick

#268
Zitat von: abc2006 am 07 Oktober 2024, 16:05:21kann mir jemand erklären, was ich mit dem Dropdown "Basis" einstelle?
Es hat wohl irgendwas mit der Einspeisevergütung zu tun, aber alles was ich bisher glaube, basiert auf glauben und raten.
Hallo Stephan

Mit dem Faktor Basis kannst Du das Trigger Fenster beeinflussen. Du solltest es einfach erstmal auf 0 stehen lassen. Ich schau nochmal was ich mir damals dabei gedacht hatte :-)

Edit:
Mit dem Basis Wert wird im Device EVU_Tibber_connect:compensation_grid gesetzt.
1) Bei einem Wert von 0 wird der Schwellwert dann nach einer Basisformel berechnet und man
   bekommt auf jeden Fall ein Triggerfenster mit ca. 3-4 Stunden am Tag zu den günstigsten Preisen.
2) Bei gesetzem EVU_Tibber_connect:compensation_grid mit 8,3 Cent muss der Tibber Preis
   jedoch um einiges niedriger sein, damit man z.B. einen Hausspeicher wirtschaftlich laden kann.
   Dabei wird ein Verlust beim Laden/Entladen mit berücksichtigt.

Sollte der Wert von 1) größer sein als der von 2) wird dann der Wert 2) verwendet.
Dabei ist es jedoch recht warscheinlich, dass es viel mehr Tage ohne ein Triggerfenster geben wird, was ich durch meine Beobachtungen über die letzten 2-3 Jahre herausgefunden habe.
Es spricht aber auch nichts dagegen, mit dem Wert von Basis etwas zu experimentieren und einfach einen empirischen Wert nach eigenen Vorstellungen einzutragen.

Um eine neue Berechnung anzustoßen kann man mit dem Pull Down Menü 2_EVU_Tibber_PriceAll die Preise neu abholen und sieht dann den neu berechneten Triggerpreis.
Mit 3_EVU_Tibber_Diagramm kann man das Diagramm im GUI auch mal aktualisieren, wenn sich die zugrundeliegenden Daten geändert haben ;-)

fc_trigger_price:fc_avg.* {
## fc_trigger_price:[fc_avg|compensation_grid].* {
  my $fc_avg = ReadingsVal("$NAME","fc_avg",0);
  my $fc_min = ReadingsVal("$NAME","fc_min",0);

  # Berechnung eines Default Schwellwertes als täglicher Niedrigpreis
  my $price_level = round( ($fc_avg - $fc_min)/2 + $fc_min , 1);               #  <<< Basisformel
 
  # Abschätzung von Wirtschaftlichkeit beim Speicher Laden, falls Tibber zu teuer wird
  if ( ReadingsVal("$NAME","compensation_grid",0) != 0 ) {
    my $price_level_battery = round( ($fc_avg - ReadingsVal("$NAME","compensation_grid",0)) *0.85 , 1) ;
    if ( $price_level > $price_level_battery ) {
      $price_level = $price_level_battery;
    }
  }
$price_level;
}

Persönliche Erfahrung:
Da ich eine recht große PV-Anlage mit 18 kWp betreibe und nur 2500 kWh/a aus dem Netz kaufen muss lohnt sich der Tibber Tarif für diese Anlagengröße nicht. Die Wahrscheilichkeit, dass der Preis bei Tibber genau zu dem Zeitpunkt niedrig ist, wenn ich es brauchen würde ist extrem gering. PV-Anlagen Besitzer benötigen meistens im Winter den günstigen Strom und da gibts den nur bei Sturm von den Windrädern :-)
Mein Grundversorger hat jetzt zwar den Preis/kWh angehoben, dafür aber den Grundpreis sehr niedrig angesetzt. Der Grundpreis von Tibber ist hingegen sehr hoch und müsste vom Arbeitspreis erstmal erwirtschaftet werden, bei Speicherung im Hausspeicher dann auch noch mit den Lade/Entlade Verlusten. Ich habe es nun etliche male näherungsweise berechnet und komme in meinem Fall immer wieder auf eine Nullnummer :-(
In meinen Verbrauchsdiagrammen habe ich den Trigger mit dargestellt und musste leider erkennen, das oft der Hausspeicher nur geringen Platz gehabt hat, da am Tag vorher natürlich der PV-Überschuss vorrang hatte. Im E-Auto war oft auch nicht mehr viel Platz, da wir anscheinend zuwenig (15000 km/a) fahren, oder leider nicht zuhause waren, als der Tibberpreis niedrig war.

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

ch.eick

#269
EDIT: Das Problem ist natürlich durch die Zeitumstellung entstanden und ich hoffe die EU schaft das irgendwann mal ab ;-)
  Ich werde die Umsetzung von JSON zu Readings nicht verändern, da mir da zuviele Readings entstehen und die Abfrage mit der REGEX schön kompakt ist.
  Auch die Benennung der Readings finde ich in dieser Form überschaubarer.

Hallo zusammen,
ich habe zwar kein Tibber, habe jedoch heute einen Fehler im Tibber JSON gesehen :-)

Hierbei ist bei der Abfrage der Preise für heute und morgen die Stunde 2 leider doppelt, was beim belegen der
Redings zu einem Problem führ, da diese einfach der Reihe nach gelesen werden. Letztlich verschieben sich
dadurch die Preise um eine Stunde und der nächste Tag ist komplett schrott.
{"total":0.2865,"startsAt":"2024-10-27T02:00:00.000+02:00"},
{"total":0.2843,"startsAt":"2024-10-27T02:00:00.000+01:00"},
Erkennen konte man das an zusetzlichen Readings mit 02_priceAll-* im EVU_Tibber_connect und dem fehlenden Datum im fc1_00_startsAt .

Es wäre toll, wenn Ihr als Kunden Euch mal an Tibber wendet, damit dieser Fehler beseitigt werden kann ;-)
Also vorsichtig mit den Preisen :-)

{"data":{"viewer":{"home":{"currentSubscription":{"priceInfo":{"current":{"total":0.3651,"startsAt":"2024-10-27T17:00:00.000+01:00"},"today":[{"total":0.2984,"startsAt":"2024-10-27T00:00:00.000+02:00"},{"total":0.2886,"startsAt":"2024-10-27T01:00:00.000+02:00"},{"total":0.2865,"startsAt":"2024-10-27T02:00:00.000+02:00"},{"total":0.2843,"startsAt":"2024-10-27T02:00:00.000+01:00"},{"total":0.2831,"startsAt":"2024-10-27T03:00:00.000+01:00"},{"total":0.2824,"startsAt":"2024-10-27T04:00:00.000+01:00"},{"total":0.2899,"startsAt":"2024-10-27T05:00:00.000+01:00"},{"total":0.2948,"startsAt":"2024-10-27T06:00:00.000+01:00"},{"total":0.2934,"startsAt":"2024-10-27T07:00:00.000+01:00"},{"total":0.289,"startsAt":"2024-10-27T08:00:00.000+01:00"},{"total":0.2677,"startsAt":"2024-10-27T09:00:00.000+01:00"},{"total":0.2537,"startsAt":"2024-10-27T10:00:00.000+01:00"},{"total":0.2392,"startsAt":"2024-10-27T11:00:00.000+01:00"},{"total":0.2362,"startsAt":"2024-10-27T12:00:00.000+01:00"},{"total":0.2362,"startsAt":"2024-10-27T13:00:00.000+01:00"},{"total":0.2652,"startsAt":"2024-10-27T14:00:00.000+01:00"},{"total":0.3213,"startsAt":"2024-10-27T15:00:00.000+01:00"},{"total":0.3358,"startsAt":"2024-10-27T16:00:00.000+01:00"},{"total":0.3651,"startsAt":"2024-10-27T17:00:00.000+01:00"},{"total":0.362,"startsAt":"2024-10-27T18:00:00.000+01:00"},{"total":0.3439,"startsAt":"2024-10-27T19:00:00.000+01:00"},{"total":0.3292,"startsAt":"2024-10-27T20:00:00.000+01:00"},{"total":0.3219,"startsAt":"2024-10-27T21:00:00.000+01:00"},{"total":0.3239,"startsAt":"2024-10-27T22:00:00.000+01:00"},{"total":0.3112,"startsAt":"2024-10-27T23:00:00.000+01:00"}],"tomorrow":[{"total":0.3024,"startsAt":"2024-10-28T00:00:00.000+01:00"},{"total":0.3009,"startsAt":"2024-10-28T01:00:00.000+01:00"},{"total":0.2942,"startsAt":"2024-10-28T02:00:00.000+01:00"},{"total":0.2887,"startsAt":"2024-10-28T03:00:00.000+01:00"},{"total":0.2913,"startsAt":"2024-10-28T04:00:00.000+01:00"},{"total":0.3075,"startsAt":"2024-10-28T05:00:00.000+01:00"},{"total":0.3194,"startsAt":"2024-10-28T06:00:00.000+01:00"},{"total":0.3433,"startsAt":"2024-10-28T07:00:00.000+01:00"},{"total":0.3402,"startsAt":"2024-10-28T08:00:00.000+01:00"},{"total":0.3269,"startsAt":"2024-10-28T09:00:00.000+01:00"},{"total":0.3048,"startsAt":"2024-10-28T10:00:00.000+01:00"},{"total":0.3056,"startsAt":"2024-10-28T11:00:00.000+01:00"},{"total":0.3016,"startsAt":"2024-10-28T12:00:00.000+01:00"},{"total":0.3092,"startsAt":"2024-10-28T13:00:00.000+01:00"},{"total":0.3242,"startsAt":"2024-10-28T14:00:00.000+01:00"},{"total":0.333,"startsAt":"2024-10-28T15:00:00.000+01:00"},{"total":0.3364,"startsAt":"2024-10-28T16:00:00.000+01:00"},{"total":0.3565,"startsAt":"2024-10-28T17:00:00.000+01:00"},{"total":0.3657,"startsAt":"2024-10-28T18:00:00.000+01:00"},{"total":0.3625,"startsAt":"2024-10-28T19:00:00.000+01:00"},{"total":0.3364,"startsAt":"2024-10-28T20:00:00.000+01:00"},{"total":0.3262,"startsAt":"2024-10-28T21:00:00.000+01:00"},{"total":0.3195,"startsAt":"2024-10-28T22:00:00.000+01:00"},{"total":0.3105,"startsAt":"2024-10-28T23:00:00.000+01:00"}]}}}}}}

Im Fhem Log findet man dann einen Fehler beim Schreiben in die MySQL Datenbank, den ich mit einer kleinen Änderung verhindere.
Es werden dann aber auch keine Preise für den nächsten Tag in die Datenbank geschrieben.

Im userreadings bitte diesen Block korrigieren, da ist diese Zeile jetzt anders.
  if ($date ne "null" and $date ne "") {

fc_DbLog:fc0_00_total.* {
my ($timestamp,$date,$hour,$value,$loop_fc_next) = 5x0;

for (my $loop_fc = 0; $loop_fc <= 1; $loop_fc++) {
  $loop_fc_next = $loop_fc +1;
  $date = ReadingsVal("$NAME","fc".$loop_fc."_00_startsAt","null");
  if ($date ne "null" and $date ne "") {
    $date =~ /([\d+-]+)/; $date = $1 ;
    for (my $loop_hour = 0; $loop_hour <= 23; $loop_hour++) {
      $hour = sprintf("%02d",$loop_hour);
      $timestamp = $date." ".$hour.":00:00";
      $value = ReadingsVal("$NAME","fc".$loop_fc."_".$hour."_total","null");
      ::CommandGet(undef, "LogDBRep_".$NAME."_SQL sqlCmdBlocking
                        INSERT INTO history (TIMESTAMP,DEVICE,TYPE,READING,VALUE)
                          VALUES('".$timestamp."','$NAME','Tibber','fc".$loop_fc."_total','".$value."')
                        ON DUPLICATE KEY UPDATE
                          VALUE='".$value."';") ;
    }
    if (ReadingsVal("$NAME","fc".$loop_fc."_00_startsAt","null") eq ReadingsVal("$NAME","fc".$loop_fc_next."_00_startsAt","null")) {
      fhem("deletereading $NAME fc".$loop_fc_next."_.*");
    }
  } else {
      fhem("deletereading $NAME fc1_.*");
  }
}
ReadingsTimestamp("$NAME","fc0_00_startsAt","null");
},

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