NEWS
Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse
-
Wenn da jemand nen blocklyoder JavaScript machen könnte, wäre super... ich weiss gar nicht wie ich anfangen soll..
Nen Automatismus der z.B. am 01 jedes Monats um 0:10Uhr) den Zählerstand überträgt würde reichen..
-
Ich baue mir gerade eine kleine Anwendung dazu. Wird allerdings in Java, weil mir das locker aus der Hand fließt.
- Konfigurierbare Quelle, erstmal generische REST-Api oder ne Zeitreihendatenbank
- Angabe des Ziels (Login zu Tibber)
Das Tool soll täglich nach neuen Zählerständen schauen und die fehlenden bis maximal 30 Tage zurück nachtragen (die API erlaubt maximal Tageswerte und maximal 30 Tage zurück).
Welche Datenquelle hast Du?
-
ich nutze einen IR Lesekopf mit dem "smartmeter"-Adapter...
gibt dann so eine ausgabe:
Vielleicht kannst du das ja über ne variable lösen, wo man im config bereich den Datenpunkt angibt.....
mir würde es im grunde reichen wenn ich einmal im Monat (lösbar über Cronjob, dann könnte man flexibel auch jeden Tag oder so, wählen) den Zählerstand übertrage.... (In meinem fall, macht der Pulse wenig sinn und ich habe mehr vom Durchschnittspreis)
-
@schimi
Ich denke, du möchtest die 1_8_0 melden. Woher kommt die Ausgabe, ist das von ioBroker? (ich kenne ioBroker nicht, hab nur hier gepostet, weil ich hier einige Infos gefunden habe und mich mit meinen Infos revanchieren wollte). -
@michael-wyraz sagte in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:
...
(ich kenne ioBroker nicht, hab nur hier gepostet, weil ich hier einige Infos gefunden habe und mich mit meinen Infos revanchieren wollte)...Ahso..... ok... das ist aber auch mega cool von dir
ja genau, die 1_8_0.... und kommt von iobroker... wird alle par sek aktualisiert
-
Welche Möglichkeit gibt es denn, die abzurufen?
-
den Datenpunkt auslesen würde reichen....
Leider weiß ich nicht wie ich es anders beschreiben soll....
hier habe ich mal nen Script was einen andern Datenpunkt ausließt und an eine Wallbox sendet...
Ich nutze es zwar nicht (habe es nur in der Sammlung, falls ich sowas mal "brauche") aber es funktioniert (getestet)vielleicht erklärt es einiges.
on({id: 'smartmeter.0.1-0:16_7_0__255.value', change: 'any'}, function (obj) { var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; Arbeit = getState("smartmeter.0.1-0:1_8_0__255.value").val; Arbeit = Arbeit * 1000 Leistung = getState("smartmeter.0.1-0:16_7_0__255.value").val; Strom = Leistung / 0.690 var url = "http://192.168.20.148/cnf?cmd=set_ajax_meter&dev_id=M5"; var xhr = new XMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("Authorization", "Basic YWRtaW46MTIzNGFiY2Q="); xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { console.log(xhr.status); console.log(xhr.responseText); }}; var data = `{ "import_vah": ${Arbeit}, "power_va": ${Leistung}, "current": [${Strom}, ${Strom}, ${Strom}] }`; xhr.send(data); });
-
@thegrinch said in Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse:
Auf Anregung von @MikeRow habe ich mal die BarChart von @Familienvater auf diesen Adapter angepasst.
Einfach das "home" reinkopieren in Zeile 6+7.
/edit: Originalpost mit allen Infos: https://forum.iobroker.net/topic/47195/diagramm-mit-festen-werten-in-vis-nur-wie/12
Danke dafür!
Wichtig ist jedoch zu wissen, dass der Adapter derzeit den Folgetag nicht zurücksetzt. Daher sind bis mittags noch die Daten vom aktuellen und Folgetag gleich.
Das betrifft auch das Diagramm.
-
-
-
-
Hi, hat noch wer das Problem das nach einer gewissen Zeit keine Preis-Updates mehr kommen?
Ich hatte es jetzt schon ein paar mal die Tage das ich den Adapter neustarten musste damit ich wieder die aktuellen Preise bekomme.Kann das damit zusammenliegen das mein Vertrag erst im Februar aktiv ist und daher meine Abrfragen per API eingeschränkt werden.
Oder könnte es an einem Problem mit dem Adapter liegen?Ich habe jetzt mal einen Neustart immer Nachts um 00:15 eingeplant um zu schauen ob es etwas bringt und dem Problem eventuell entgegen zu wirken.
-
Habe mal in den Logs geschaut was heute so los war. Folgendes taucht auf:
host.iobroker 2023-01-23 10:55:09.733 error instance system.adapter.tibberconnect.0 terminated with code 6 (UNCAUGHT_EXCEPTION) tibberconnect.0 2023-01-23 10:55:09.183 error undefined tibberconnect.0 2023-01-23 10:55:09.183 error unhandled promise rejection: undefined tibberconnect.0 2023-01-23 10:55:09.182 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). tibberconnect.0 2023-01-23 10:55:09.174 warn Terminated (UNCAUGHT_EXCEPTION): Without reason tibberconnect.0 2023-01-23 10:55:09.173 info terminating tibberconnect.0 2023-01-23 10:55:09.171 error undefined tibberconnect.0 2023-01-23 10:55:09.171 error unhandled promise rejection: undefined tibberconnect.0 2023-01-23 10:55:09.170 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). tibberconnect.0 2023-01-23 10:55:09.168 error undefined tibberconnect.0 2023-01-23 10:55:09.168 error unhandled promise rejection: undefined tibberconnect.0 2023-01-23 10:55:09.167 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
-
@schimi Kannst Du erläutern, wieso bei Dir der Durchschnittspreis mehr Sinn macht?
Ich überlege mir das nämlich auch gerade...
-
da wir den hauptverbrauch am Tag haben... so das wir in der günstigen Zeit nicht genug verbauchen um auf den Tag gesehen günstiger zu sein....
Hoffe das ist verständlich geschrieben
Sobald das E-Auto öfters als (aktuell) einmal alle 2-3 Monate zuhause geladen wird, sieht die rechnung wieder bestimmt anderes aus
-
@schimi Ja, das leuchtet ein. Respekt, dass Du das für Dich so ausrechnen konntest
-
@oxident sehe dir einfach deinen Tagesverbrauch an und was du davon Nachts verbrauchst....
Damit kann man schon recht viel abschätzen....Als Berufstätiger (Ohne Schichtdienst) ist man ja meistens zu den spitzenzeiten zuhause (deswegen entstehen die ja überhaupt)... Mit Family potenziert sich das sogar....
Nachts (quasi wenns günstig ist)läuft nur die Wärmepumpe (die braucht nicht viel) und die Grundlast...
Am We ist es ja sogar manchmal am Tag günstig... dann profitiert man beim Durchschnittspreis auch davon....Obs nachher richtig ist... sieht man wenns zu spät ist aber bei 2 Wochen Kündigungsfrist kann man gut reagieren... oder mit dem Pulse auf Std. abrechnung umstellen
-
Mal ganz dumm ChatGPT gefragt, verstehe halt nix
const request = require('request'); // Replace YOUR_API_KEY with your actual Tibber API key const API_KEY = 'YOUR_API_KEY'; // Replace YOUR_PULSE_ID with the id of your Pulse device in ioBroker const PULSE_ID = 'YOUR_PULSE_ID'; // Endpoint for Tibber API to retrieve current power consumption const API_ENDPOINT = `https://api.tibber.com/v1-beta/gql`; // Function to retrieve current power consumption from Tibber API function getCurrentPowerConsumption() { const query = ` query { viewer { homes { liveMeasurement { power } } } } `; const options = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${API_KEY}` }, body: JSON.stringify({query: query}) }; request(API_ENDPOINT, options, (error, response, body) => { if (!error && response.statusCode === 200) { const data = JSON.parse(body); const power = data.data.viewer.homes[0].liveMeasurement.power; setPowerConsumptionInPulse(power); } else { console.error(`Error retrieving power consumption: ${error}`); } }); } // Function to set current power consumption in ioBroker's Pulse device function setPowerConsumptionInPulse(power) { const options = { method: 'POST', url: `http://localhost:8087/setState?id=${PULSE_ID}.power&value=${power}` }; request(options, (error, response, body) => { if (!error && response.statusCode === 200) { console.log(`Successfully set power consumption in Pulse: ${power} W`); } else { console.error(`Error setting power consumption in Pulse: ${error}`); } }); } // Retrieve current power consumption every 10 minutes setInterval(getCurrentPowerConsumption, 600000);
-
@michael-wyraz
Jetzt bin ich spontan auch daran interessiert, meinen Zählerstand automatisiert hochzuladen
Wie ich das sehe müsste man sich aber dennoch vor Nutzung der privaten API authentifizieren ... gibt's da dann'nen Cookie oder kann man es auch direkt via Token nutzen? -
Moin, mal eine Frage in die Runde. Das bei diesem Adapter die Pulse Funktion derzeit nicht funktioniert ist bekannt. Seit ein paar Tagen sehe ich auf folgendes Problem.
Die Tagespreise passen, aber die Preise von morgen werden um Mitternacht nicht mehr gelöscht und aktualisiert. Jetzt gerade 08:10 Uhr sehe ich, dass die Preise von morgen noch gefüllt sind mit den gestrigen werden. Sonst waren die ab Mitternacht immer leer bis zur Aktualisierung am Nachmittag ab ca 13:00Uhr.
Habt ihr auch das Problem?
@Codibris bist du noch aktiv an dem Adapter? Hast dich lange nicht mehr gemeldet?