NEWS
TIBBER Pulse Livedaten mit NodeRed abholen
-
@ThomKast Danke für die super Anleitung!
Leider bleibt mein Tibber-node auf "connecting" und das Debug wirft diesen Error:
An error ocurred while trying to check if real time consumption is enabled. {"responseMessage":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot POST /v1-beta/qpl</pre>\n</body>\n</html>\n","httpCode":404,"statusCode":404,"statusMessage":"Not Found"}
-
@thegrinch Die Meldung ist nicht eindeutig für mich. Prüfe bitte zuerst mit dem Tibber API Explorer, ob Du Daten empfangen kannst. Wenn Du dort unter "Real time subscription" fortlaufende Daten erhältst, dann muss es auch in NodeRed funktionieren.
... ich gehe natürlich davon aus, dass Du einen aktiven Vertrag bei Tibber hast und auch einen angeschlossenen Pulse... -
Michaelnorge vor 4 Stunden
@thomkast Erst einmal vielen Dank für das geniale Tutorial, hat super funktioniert.Ich brauche ja wie gesagt nur den RealTime-Verbrauch von Pulse, alle anderen Daten ziehe ich immer noch über den immer noch funktionierenden Test Adapter tibber v0.1.x. (Die Funktion, das dieser Adapter ausrechnen kann, wann der Strompreis in den nächsten Stunden am billigsten ist, ist unverzichtbar für mich.)
Um meine Balkenanzeige in VIS zu reaktivieren habe ich mir behelfsmäßig ein Blockly zusammengewürfelt, um an die "reine" Zahl in der Node-Red Ausgabe zu kommen.
dfc2a694-457e-4738-990c-8e1db30a43ad-image.png
Gibt bestimmt was eleganteres, bestimmt auch direkt in Node-Red - aber da müßte ich mich reinfuchsen und da fehlt mir momentan leider die Zeit!Trotzdem vielen Dank für Deine Hilfe!
Zu Deiner Frage... "Eleganter" kann man ja trefflich diskutieren
Der Begriff "Real Time Verbrauch" soll wahrscheinlich der aktuelle Strom-Bezugswert am Hausanschlusszähler sein. Also der, an dem der Tibber-Pulse hängt.
Tibber-JSON-Daten im ioBroker aufsplitten:
Da die Tibber-Daten im JSON-Format abgelegt werden, kann man einzelne Daten quasi "adressieren". Die Grundlagen zu JSON habe ich HIER mal ganz rudimentär erklärt. Für unsere Daten bedeutet dies:Du möchtest nur den Wert "power" aus dem JSON verwenden. Dies kannst Du wie folgt extrahieren.
Diese Funktion beansprucht weniger Performance Deines Raspi.Tibber-JSON-Daten in NodeRed aufsplitten:
Wenn die Aufteilung direkt in NodeRed erfolgt ist es noch performanter.
Dies könnte so erfolgen:
Dabei kommt die Node "function" zum Einsatz.
Stelle diese Node wie abgebildet ein:
... und immer an den "deploy" denken, sonst ändert sich nix
Und schon sind die reinen Zahl-Werte des aktuellen Bezugs im ioBroker
-
@thomkast 1x im Api-Explorer abgerufen, jetzt läufts.
Verstehe ich nicht, aber danke!!! -
@thomkast Super, herzlichen Dank für Deinen Support!!!
An Node-Red habe ich mich mit Deiner Lösung nicht rangetraut, aber hab Deine Lösung über ioBroker übernommen. So war mir das noch nicht bekannt, aber man lernt bekannlich niemals aus!Jetzt kommen alle Daten (endlich) wieder rein und werden auf meinem Tablet angezeigt, dank Dir!
Ich wünsche Dir ein schönes Wochenende, und danke nochmals für Deine Hilfe!
-
@michaelnorge hab's gemacht und stelle jetzt schon fest: NodeRed wird mein nächstes zeitfressendes Hobby.
@ThomKast kann man bei NodeRed sowas auch exportieren? Dann würde ich meins zur Verfügung stellen und es müsste nicht jeder selber puzzlen.
-
@thegrinch Freut mich .
Such mal nach "node-red flow exportieren". Da finden sich ganz viele Tutorials. -
Weil grad ein bißchen Sonne rauskam fiel mir auf, dass "power" auf 0 bleibt wenn ich einspeise. @ThomKast hat gleich ausgeholfen. Wenn's negativ wird, kommt das als positiver Wert über "powerProduction".
Ich habe mir einen Datenpunkt "power-anzeige" erstellt und folgendes blockly zur Befüllung gestrickt:
Blockly:
Jetzt ist die Sonne weg, so dass ich das "x-1" nicht testen kann, sollte aber so passen.
/edit: Sonne wieder da und Anzeige passt.
-
@ThomKast Dank Deines Tutorials hat alles super funktioniert. Vielen Dank!!
-
@thomkast sagte in TIBBER Pulse Livedaten mit NodeRed abholen:
Stelle die Node wie folgt ein:
Das ist jetzt aber nicht Dein Ernst?
In Deinem Flow war das vorher schon ein Typ Number. (s. Ausgabe debug 1 - Deine Change Node macht absolut nichts) Im Übrigen ist das ein Objekt was aus der Node rauskommt und kein JSON. Das Objekt wird erst durch die JSON Node in einen String für die iobroker-Out Node in einen String umgewandelt. Ich will mich da nicht weiter einmischen - aber hier sind einfach bestimmte Dinge falsch.
Und wer seine Daten als einzelne Datenpunkte aus dem JSON haben will, schaut sich halt mal meinen Thread an.
-
@mickym sagte
Und wer seine Daten als einzelne Datenpunkte aus dem JSON haben will, schaut sich halt mal meinen Thread an.
Kannst du den hier bitte verlinken? Ich find nix.
-
@thegrinch sagte in TIBBER Pulse Livedaten mit NodeRed abholen:
@mickym sagte
Und wer seine Daten als einzelne Datenpunkte aus dem JSON haben will, schaut sich halt mal meinen Thread an.
Kannst du den hier bitte verlinken? Ich find nix.
https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen
Falls Du Hilfe brauchst dann einfach schreien. - obwohl ich glaub alles gut dokumentiert habe.
-
Habt ihr eigentlich auch ziemlich häufig Fehlermeldungen bezgl. eines Timeouts?
Connection timed out after 60000 ms.
kommt bei mir alle 2-3min. Ansonsten kommen die Daten aber immer Sekundentakt rein.
-
@oxident Ja, aber lange nicht so oft wie Du, ein- oder zwei Mal pro Tag.
Schlechte Internetverbindung? -
@michaelnorge said in TIBBER Pulse Livedaten mit NodeRed abholen:
@oxident Ja, aber lange nicht so oft wie Du, ein- oder zwei Mal pro Tag.
Schlechte Internetverbindung?Hmm, Du könntest Recht haben. Ich glaube, die WS-Verbindung zu Tibber muss ja wirklich konstant sein, oder? Will sagen, Paketverluste würden die Verbindung vermutlich unterbrechen.
Da weiß ich doch gleich, wen ich da mal wieder anrufen muss
Hättet ihr denn eine Idee, wie man über Node Red irgendwie einen "connection"-DP simulieren könnte? Will ja nicht mit alten Daten arbeiten oder verpassen, wenn wirklich über einen längeren Zeitraum keine Daten mehr abgerufen werden konnten.
-
EDIT:
Ich habe den Fehler gefunden:Die GraphQL Endpoint URL lautet nicht https://api.tibber.com/v1-beta/qpl, sondern
https://api.tibber.com/v1-beta/gqlVermutlich ein Tippfehler ?
Vielen Danke für Deine Anleitung !
Leider kann irgendwie keine Verbindung mit dem Tibberserver aufgebaut werden.
Als Debug bekomme ich folgende Meldung:An error ocurred while trying to check if real time consumption is enabled. {"responseMessage":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot POST /v1-beta/qpl</pre>\n</body>\n</html>\n","httpCode":404,"statusCode":404,"statusMessage":"Not Found"}
Der Tibber Flow bleibt auch auf "connecting" stehen.
Über den API Explorer bekomme ich die Livedaten.
Die HomeID habe ich auch dort rauskopiert.
Hat mir jemand einen Tipp ?Viele Grüße und besten Dank
-
@oxident said in TIBBER Pulse Livedaten mit NodeRed abholen:
Hättet ihr denn eine Idee, wie man über Node Red irgendwie einen "connection"-DP simulieren könnte? Will ja nicht mit alten Daten arbeiten oder verpassen, wenn wirklich über einen längeren Zeitraum keine Daten mehr abgerufen werden konnten.
Okay, habe es selber gefunden. Man nutzt einfach einen Trigger-Node:
-
@wauzzi sagte in TIBBER Pulse Livedaten mit NodeRed abholen:
Die GraphQL Endpoint URL lautet nicht https://api.tibber.com/v1-beta/qpl, sondern
https://api.tibber.com/v1-beta/gqlSorry, musss ich eingeschlichen haben. Habe es in der Dokumentation oben krrogiert. Danke für Deinen Hinweis.
-
@mickym
Hallo. Hab vielen Dank für Deinen Hinweis. Das ist wirklich schief gegangen.
Wie Du unschwer bemerkt hast, bin ich nicht fit in NodeRed, allerdings kann ich auch nicht sagen, was mich da geritten hat.
Den Screenshot tausche ich gleich aus. Sorry und nochmal danke. -
Hi Zusammen.
Denkt bitte daran wiederkehrend auf Aktualisierungen der Tibber-Nodes zu prüfen und bei Bedarf zu aktualisieren. Habe es oben in der Beschreibung ergänzt.
Sollte jemand einen Tipp haben, wie dies automatisch funktioniert...PS: Zur Zeit liegt keine Aktualisierung vor. Wollte es nur komplettiert wissen.