@copystring Danke für die Info. Und an dieser Stelle auch mal vielen Dank für deine Arbeit. Echt top was du da in sehr kurzer Zeit hinbekommen hast
NEWS

Best posts made by M-A Hueb
-
RE: Roborock Adapter tester gesucht
-
RE: TTS mit HomePod
@wildbill Dank dir. Hatte es auf steuere. das problem lies sich durch einen Reboot beheben
-
RE: Roborock Adapter tester gesucht
@copystring vielen Dank für deine Mühe. Du hast in echt kurzer Zeit ein super Ergebnis erzielt
-
RE: Test ioBroker unter Windows installieren - 2022 Edition
@jb_sullivan Also bei mir braucht das einfach kurz bis iobroker stop durch ist:
-
RE: Support Adapter Energiefluss-erweitert v0.7.7
Guten Tag,
ich habe bisher den Energieflusser Adapter verwendet.
Dort kann man ja einstellen, dass die Punkte auf de nLinien in Abhängigkeit der Leistung schneller oder langsamer fahren.
Wie realisiere ich das in dem erweiterten Adapter? -
RE: Roborock Adapter tester gesucht
@copystring Hindernisserkennung passt bei mir.
Zonenerstellung auf Touch geräten tut auch -
RE: [Tutorial] VIS Fritzbox Status & Up/Downloadanzeige
Hallo,
habe jetzt über diesen Thread drübergelesen und ahbe das ganze auch mit einer 6591 am laufen. Was immer noch auftritt ist, dass wenn die 4GB grenze beim Up/Download erreicht wird springt der wert auf 0 zurück. Gibt es hierfür eine Lösung?
-
RE: HowTo: Zusatz-Programme fuer jarvis v3
@mcu Ich danke dir für deine Geduld. in einem privaten Fenster funktioniert es. ich leere jetzt mal alle Caches. Vielen Dank
Und so wie du es gemacht hast passt es
Latest posts made by M-A Hueb
-
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
@jrbwh habs dort auch reingestellt
-
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
hab hier mal 2 Charts gebaut. Dank geht an
@jrbwh für die Grundidee und ChatGPT:// // Create chart for Tibber data. To be used with flexcharts. // // Sample http request for hourly data chart: // http://localhost:8082/flexcharts/echarts.html?source=script&message=tibber&chart=hourly // // Replace 'MY-TOKEN' with your own token: const ID_TIBBER = 'tibberlink.0.Homes.MY-TOKEN.Consumption'; const IDS = { hourly: '.jsonHourly', // hourly data daily: '.jsonDaily', // daily data weekly: '.jsonWeekly', // weekly data monthly: '.jsonMonthly' // monthly data }; onMessage('tibber', (httpParams, callback) => { // Use hourly data in case of invalid chart type const id = (httpParams.chart && httpParams.chart in IDS ? ID_TIBBER+IDS[httpParams.chart] : ID_TIBBER+IDS['hourly']); if (existsState(id)) { evalTibberData(httpParams.chart, id, result => callback(result)); } else { console.log('Requested state is not available >>'+id+'<<'); callback({title: { left: "center", textStyle: { color: "#ff0000" }, text: "REQUESTED STATE IS NOT AVAILABLE: >>" + id +"<<" }}); } }); function evalTibberData(myChart, id, callback) { const tibber = JSON.parse(getState(id).val); // Read tibber data const chart = { tooltip: { trigger: "axis", axisPointer: { type: "cross" }}, legend: { show: true, orient: "horizontal", left: "center", top: 25 }, title: { left: "center", text: "Tibber " }, grid: { right: "20%" }, toolbox: { feature: { dataView: { show: true, readOnly: false }, restore: { show: true }, saveAsImage: { show: true }}}, xAxis: [{ type: "category", axisTick: { alignWithLabel: true }, data: []}], yAxis: [{ type: "value", position: "left", alignTicks: true, axisLine: { show: true, lineStyle: { color: "#5470C6" }}, axisLabel: { formatter: "{value} kWh" }}, { type: "value", position: "right", alignTicks: true, axisLine: { show: true, lineStyle: { color: "#91CC75" }}, axisLabel: { formatter: "{value} €" }}], series: [{ name: "Consumption", type: "bar", yAxisIndex: 0, data: []}, { name: "Cost", type: "bar", yAxisIndex: 1, data: []}] }; const xAxis = []; const yAxis0 = []; const yAxis1 = []; for (const data of Object.values(tibber)) { const isHourly = (myChart == 'hourly'); // Hourly data? const xValue = (isHourly ? new Date(data.from).toLocaleTimeString() : new Date(data.from).toLocaleDateString()); xAxis.push(xValue); yAxis0.push((data.consumption ? data.consumption.toFixed(2) : 0)); // push 0 on null values yAxis1.push((data.cost ? data.cost.toFixed(2) : 0)); // push 0 on null values } chart.xAxis[0].data = xAxis; // Set chart x-axis data chart.series[0].data = yAxis0; // Set chart y-values consumption chart.series[1].data = yAxis1; // Set chart y-values cost chart.title.text = "Tibber stündliche Kosten"; // Add type of chart to title console.log('Evaluation of tibber '+myChart+' data done.'); callback(chart); }
und das hier:
//http://localhost:8082/flexcharts/echarts.html?source=script&message=tibberpreis&chart=hourly&darkmode const ID_TIBBER = 'tibberlink.0.Homes.MY-HOME-ID.PricesToday'; onMessage('tibberpreis', (httpParams, callback) => { console.log("Anfrage für Tibber-Daten:", httpParams); const id = ID_TIBBER + '.json'; // Stündliche Daten für heute if (existsState(id)) { evalTibberData(id, result => callback(result)); } else { console.warn('Datenpunkt nicht verfügbar:', id); callback({ title: { left: "center", textStyle: { color: "#ff0000" }, text: "Daten nicht verfügbar: >>" + id + "<<" } }); } }); function evalTibberData(id, callback) { console.log("Lese Tibber-Daten:", id); let tibber; try { tibber = JSON.parse(getState(id).val); console.log("Tibber-Daten geladen:", tibber); } catch (error) { console.error("Fehler beim Parsen:", error); callback({ title: { left: "center", textStyle: { color: "#ff0000" }, text: "FEHLER BEIM PARSEN" } }); return; } if (!Array.isArray(tibber) || tibber.length === 0) { console.error("Keine gültigen Daten:", tibber); callback({ title: { left: "center", textStyle: { color: "#ff0000" }, text: "KEINE GÜLTIGEN DATEN VERFÜGBAR" } }); return; } console.log("Verarbeite", tibber.length, "Einträge."); const currentHour = new Date().getHours(); // Aktuelle Stunde holen console.log("Aktuelle Stunde:", currentHour); const chart = { tooltip: { trigger: "axis", axisPointer: { type: "shadow" }, formatter: function (params) { let energyPrice = 0; let taxPrice = 0; let totalPrice = 0; // Berechne die Werte von Energiepreis, Steuern und Gesamtkosten aus den aktuellen Tooltip-Elementen params.forEach(function (item) { if (item.seriesName === "Energiepreis") { energyPrice = item.value; } else if (item.seriesName === "Steuern") { taxPrice = item.value; } else if (item.seriesName === "Gesamtkosten") { totalPrice = item.value; } }); // Zeige die Summe von Energiepreis und Steuern im Tooltip an return ` <div> <strong>${params[0].name}</strong><br /> Energiepreis: ${energyPrice} €/kWh<br /> Steuern: ${taxPrice} €/kWh<br /> <strong>Gesamtkosten: ${totalPrice} €/kWh</strong> </div> `; } }, legend: { show: true, left: "center", top: 25 }, title: { left: "center", text: "Tibberpreis heute" }, // Neuer Titel grid: { right: "10%" }, toolbox: { feature: { dataView: { show: true, readOnly: false }, restore: { show: true }, saveAsImage: { show: true } } }, xAxis: [{ type: "category", axisTick: { alignWithLabel: true }, data: [] }], yAxis: [{ type: "value", position: "left", axisLabel: { formatter: "{value} €/kWh" }}], series: [ { name: "Energiepreis", type: "bar", stack: "cost", data: [] }, { name: "Steuern", type: "bar", stack: "cost", data: [] }, { name: "Gesamtkosten", type: "bar", data: [], itemStyle: { color: "green", borderColor: "black", borderWidth: 2 } } // Separate Serie für Gesamtkosten ] }; const xAxis = []; const energyPrices = []; const taxPrices = []; const totalPrices = []; // Neues Array für Gesamtkosten for (const data of tibber) { if (!data.startsAt || typeof data.energy === "undefined" || typeof data.tax === "undefined") { console.warn("Fehlende Werte:", data); continue; } const date = new Date(data.startsAt); const hour = date.getHours(); const xValue = date.toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' }); console.log(`Zeit: ${xValue}, Energie: ${data.energy}, Steuern: ${data.tax}`); xAxis.push(xValue); energyPrices.push(Number(data.energy).toFixed(4)); // Netto-Energiepreis taxPrices.push(Number(data.tax).toFixed(4)); // Steuern // Berechne die Gesamtkosten (Energiepreis + Steuern) und füge sie zu totalPrices hinzu const totalPrice = (Number(data.energy) + Number(data.tax)).toFixed(4); totalPrices.push(totalPrice); // Gesamtkosten als neuer Balken } // Ändere die Farbe des Gesamtkostenbalkens für die aktuelle Stunde zu rot chart.series[2].data = totalPrices.map((totalPrice, index) => { const hour = new Date(tibber[index].startsAt).getHours(); return { value: totalPrice, itemStyle: { color: hour === currentHour ? 'red' : 'green', // Rot für aktuelle Stunde, sonst grün borderColor: "black", borderWidth: 2 } }; }); chart.xAxis[0].data = xAxis; chart.series[0].data = energyPrices; chart.series[1].data = taxPrices; console.log("Finales Chart-Objekt:", JSON.stringify(chart, null, 2)); console.log("Chart für Tibberpreis heute fertig."); callback(chart); }
-
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
@merlin123 von dem hier:
// // Create chart for Tibber data. To be used with flexcharts. // // Sample http request for hourly data chart: // http://localhost:8082/flexcharts/echarts.html?source=script&message=tibber&chart=hourly // // Replace 'MY-TOKEN' with your own token: const ID_TIBBER = 'tibberLink.0.Homes.MY-TOKEN.Consumption'; const IDS = { hourly: '.jsonHourly', // hourly data daily: '.jsonDaily', // daily data weekly: '.jsonWeekly', // weekly data monthly: '.jsonMonthly' // monthly data }; onMessage('tibber', (httpParams, callback) => { // Use hourly data in case of invalid chart type const id = (httpParams.chart && httpParams.chart in IDS ? ID_TIBBER+IDS[httpParams.chart] : ID_TIBBER+IDS['hourly']); if (existsState(id)) { evalTibberData(httpParams.chart, id, result => callback(result)); } else { console.log('Requested state is not available >>'+id+'<<'); callback({title: { left: "center", textStyle: { color: "#ff0000" }, text: "REQUESTED STATE IS NOT AVAILABLE: >>" + id +"<<" }}); } }); function evalTibberData(myChart, id, callback) { const tibber = JSON.parse(getState(id).val); // Read tibber data const chart = { tooltip: { trigger: "axis", axisPointer: { type: "cross" }}, legend: { show: true, orient: "horizontal", left: "center", top: 25 }, title: { left: "center", text: "Tibber " }, grid: { right: "20%" }, toolbox: { feature: { dataView: { show: true, readOnly: false }, restore: { show: true }, saveAsImage: { show: true }}}, xAxis: [{ type: "category", axisTick: { alignWithLabel: true }, data: []}], yAxis: [{ type: "value", position: "left", alignTicks: true, axisLine: { show: true, lineStyle: { color: "#5470C6" }}, axisLabel: { formatter: "{value} kWh" }}, { type: "value", position: "right", alignTicks: true, axisLine: { show: true, lineStyle: { color: "#91CC75" }}, axisLabel: { formatter: "{value} €" }}], series: [{ name: "Consumption", type: "bar", yAxisIndex: 0, data: []}, { name: "Cost", type: "bar", yAxisIndex: 1, data: []}] }; const xAxis = []; const yAxis0 = []; const yAxis1 = []; for (const data of Object.values(tibber)) { const isHourly = (myChart == 'hourly'); // Hourly data? const xValue = (isHourly ? new Date(data.from).toLocaleTimeString() : new Date(data.from).toLocaleDateString()); xAxis.push(xValue); yAxis0.push((data.consumption ? data.consumption.toFixed(2) : 0)); // push 0 on null values yAxis1.push((data.cost ? data.cost.toFixed(2) : 0)); // push 0 on null values } chart.xAxis[0].data = xAxis; // Set chart x-axis data chart.series[0].data = yAxis0; // Set chart y-values consumption chart.series[1].data = yAxis1; // Set chart y-values cost chart.title.text += myChart; // Add type of chart to title console.log('Evaluation of tibber '+myChart+' data done.'); callback(chart); }
-
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
@merlin123 wenn ich das Richtig gesehn hab bei deinem TestSkript wird unter dem DP flexcharts.0.info kein Punkt angelegt.
könnte man das noch mit rein machen?
Woher bekomme ich die URL die bei dir im Kommentar steht? -
RE: Jarvis 3.1.8 - zukünftige Strompreise - Skalierung, Farben
@mcu Danke für die Erklärung
-
RE: HowTo: Zusatz-Programme fuer jarvis v3
@der-eine gt: Steht für "greater than" (größer als). Definiert die untere Grenze des Bereichs.
lte: Steht für "less than or equal to" (kleiner oder gleich). Definiert die obere Grenze des Bereichs.
-
RE: Jarvis 3.1.8 - zukünftige Strompreise - Skalierung, Farben
@mcu ist gt nicht greater than? dann müsste das doch bei 0.53 rot sein
[ { "gt": 0, "lte": 0.15, "color": "lightgreen" }, { "gt": 0.15, "lte": 0.22, "color": "green" }, { "gt": 0.22, "lte": 0.29, "color": "yellow" }, { "gt": 0.29, "lte": 0.35, "color": "orange" }, { "gt": 0.35, "color": "red" } ]
Wo finde ich den FlexChart? ich seh da nix im Adapter
-
RE: Jarvis 3.1.8 - zukünftige Strompreise - Skalierung, Farben
Hallo,
ich habe heute tibberHTML wie in der Anleitung https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/tibber/tibberhtml-pro beschrieben eingestellt
Leider bleiben sowohl today als auch tomorrow leer.
Hier der DP htmltoday:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Tibber-Tageswert</title><script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script></head><body><div id="chart-container" style="width: 100%; height:400px;"></div><script> var data = [{"time":1738537200000,"value":0.398,"tax":0.2685,"energy":0.1295,"level":"NORMAL"},{"time":1738540800000,"value":0.3945,"tax":0.2679,"energy":0.1266,"level":"NORMAL"},{"time":1738544400000,"value":0.3922,"tax":0.2675,"energy":0.1247,"level":"NORMAL"},{"time":1738548000000,"value":0.3867,"tax":0.2667,"energy":0.12,"level":"NORMAL"},{"time":1738551600000,"value":0.3905,"tax":0.2673,"energy":0.1232,"level":"NORMAL"},{"time":1738555200000,"value":0.3959,"tax":0.2681,"energy":0.1278,"level":"NORMAL"},{"time":1738558800000,"value":0.4332,"tax":0.274,"energy":0.1592,"level":"NORMAL"},{"time":1738562400000,"value":0.4912,"tax":0.2833,"energy":0.2079,"level":"EXPENSIVE"},{"time":1738566000000,"value":0.5333,"tax":0.2901,"energy":0.2432,"level":"EXPENSIVE"},{"time":1738569600000,"value":0.4557,"tax":0.2777,"energy":0.178,"level":"NORMAL"},{"time":1738573200000,"value":0.4222,"tax":0.2722,"energy":0.15,"level":"NORMAL"},{"time":1738576800000,"value":0.3938,"tax":0.2678,"energy":0.126,"level":"NORMAL"},{"time":1738580400000,"value":0.3834,"tax":0.2661,"energy":0.1173,"level":"NORMAL"},{"time":1738584000000,"value":0.381,"tax":0.2657,"energy":0.1153,"level":"NORMAL"},{"time":1738587600000,"value":0.3916,"tax":0.2674,"energy":0.1242,"level":"NORMAL"},{"time":1738591200000,"value":0.4174,"tax":0.2715,"energy":0.1459,"level":"NORMAL"},{"time":1738594800000,"value":0.447,"tax":0.2763,"energy":0.1707,"level":"NORMAL"},{"time":1738598400000,"value":0.5008,"tax":0.2848,"energy":0.216,"level":"EXPENSIVE"},{"time":1738602000000,"value":0.4827,"tax":0.282,"energy":0.2007,"level":"EXPENSIVE"},{"time":1738605600000,"value":0.4831,"tax":0.282,"energy":0.2011,"level":"EXPENSIVE"},{"time":1738609200000,"value":0.4434,"tax":0.2757,"energy":0.1677,"level":"NORMAL"},{"time":1738612800000,"value":0.4259,"tax":0.2729,"energy":0.153,"level":"NORMAL"},{"time":1738616400000,"value":0.4154,"tax":0.2712,"energy":0.1442,"level":"NORMAL"},{"time":1738620000000,"value":0.4054,"tax":0.2696,"energy":0.1358,"level":"NORMAL"}]; var chartContainer = document.getElementById("chart-container"); var myChart = echarts.init(chartContainer); function formatTime(time) { return moment(time).format("HH"); } function calculateArrowPosition(hour){ return (hour / 24) * 100 +1 + "%"; } function updateChart() { var minValue = Math.min.apply(null, data.map(function (item) { return item.value; })); var yAxisMin = 0.36; var maxValue = 0.533; let avgValue = 0.428; var visualMapPieces =[{"gt":0,"lte":0.15,"color":"lightgreen"},{"gt":0.15,"lte":0.22,"color":"green"},{"gt":0.22,"lte":0.29,"color":"yellow"},{"gt":0.29,"lte":0.35,"color":"orange"},{"gt":0.35,"color":"red"}]; var values = data.map(item => (item.value-minValue).toFixed(2)); var maxLineValue = Math.max.apply(null, values); var maxLineIndex = values.indexOf(maxLineValue); var maxLineData = {time:1738566000000,value:0.533}; var currentHour = new Date().getHours() ; var currentDay = new Date().getDate(); var endOfDayTimestamp = 1738623599999; var colorStops = []; visualMapPieces.map(piece => { if(piece["lte"] >=yAxisMin && piece["gt"]<=maxValue){ if(piece["gt"]>=yAxisMin){ colorStops.push({ offset: ((piece["gt"]-yAxisMin)/(maxValue-yAxisMin)), color: piece.color }); } if(piece["lte"]<=maxValue){ colorStops.push({ offset: ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)), color: piece.color }); } if(piece["lte"]>maxValue ){ colorStops.push({ offset: 1, color: piece.color }); }; }else{ if(piece["lte"]>=maxValue && piece["gt"]<=maxValue ){ colorStops.push({ offset: ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)), color: piece.color }); }else if(piece["lte"]>=maxValue && piece["gt"] <= maxValue){ colorStops.push({ offset: ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)), color: piece.color }); } }; }); colorStops.push({ offset: 1, color: colorStops[colorStops.length-1].color }); colorStops.splice(0, 0, {offset: 0,color:colorStops[0].color}); myChart.setOption({ title: { text: "Today-Tageswerte", show: true }, visualMap: { type: "piecewise", pieces: visualMapPieces, dimension: 1, showLabel: true, precision: 2, itemWidth: 6, orient: "horizontal", left: "center", calculable: true,selectedMode: "multiple", bottom: 10, text: ["High", "Low"], textStyle: { color: "white" }, }, grid: { right: 50, left: 10, containLabel: true }, areaStyle: { color: colorStops }, toolbox: { feature: { saveAsImage: { backgroundColor: "rgba(38, 37, 37, 1)", title: "Speichern", name: "TibberHTML Today 03.02.2025" }, magicType: { type: ["line", "bar"], title:{ line: "Line-Chart", bar: "Bar-Chart", } }, dataView: { title: "Daten aus der Serie", lang: ["Daten der Kurve", "Schließen", "Aktualisieren"], optionToContent: function (opt) { var table = '<table style="width:100%;"><tbody><tr style="text-align: left;"><th>Stunde</th><th>Wert</th><th>Energie</th><th>Steuer</th><th>Level</th></tr>'; for (var i = 0; i< opt.series[0].data.length;i++) { table += "<tr>"; for(let x =0; x < opt.series[0].data[i].value.length; x++){ if(x==0){ table += "<td>" + ("0"+new Date(opt.series[0].data[i].value[x]).getHours()).slice(-2) + "</td>"; }else{ table += "<td>" + opt.series[0].data[i].value[x] + "</td>"; } } table += "</tr>"; } table += "</tbody></table>"; return table; }, readOnly: true }, } }, xAxis: { type: "time", axisLabel: { show: true, formatter: function (value) { return formatTime(value); } }, splitNumber: 10, }, yAxis: { type: "value", axisLabel: { formatter: function (value) { return value.toFixed(3) + " €"; } }, min: 0.36, max: 0.55, }, series: [{ z:1, data: data.map(function (item) { var hour = new Date(item.time).getHours(); var day = new Date(item.time).getDate(); return { value: [item.time, item.value, item.energy, item.tax, item.level], symbol: "circle", symbolSize: day === currentDay && hour === currentHour ? 10:null, itemStyle: { borderColor: day === currentDay && hour === currentHour ? "white":null, shadowColor: day === currentDay && hour === currentHour ? "white":null, borderWidth: day === currentDay && hour === currentHour ? 2:null, shadowBlur: day === currentDay && hour === currentHour ? 20:null, }, emphasis: { itemStyle: { color: "white" }, label: { show: true, formatter: function (params) { return params.data.value[1].toFixed(3) + " €"; }, color: "black", fontWeight: "bold", backgroundColor: "white" } } } }), step: "end", areaStyle:{ color: new echarts.graphic.LinearGradient(0, 1, 0, 0, colorStops), }, type: "line", markLine: { symbol: "none", lineStyle: { color: "red", type: "dashed" }, z:0, data: [ {yAxis: minValue ,name: "MIN", lineStyle: { color: "lime" },label: { show: true, position: "end", formatter: "Min\n"+ minValue.toFixed(3)+" €",textStyle: { fontSize: 12,fontWeight: "bold", color:"white" } } }, {yAxis: maxValue,name: "MAX", lineStyle: { color: "red" },label: { show: true, position: "end", formatter: "Max\n"+ maxValue.toFixed(3)+" €",textStyle: { fontSize: 12,fontWeight: "bold", color:"white" } } }, {yAxis: avgValue ,name: "AVG", lineStyle: { color: "blue" },label: { show: true, position: "end", formatter: "Avg\n"+ avgValue.toFixed(3)+" €",textStyle: { fontSize: 12,fontWeight: "bold", color:"white" } } }, ], }, }], tooltip: { trigger: "axis", axisPointer: { type: "shadow" }, textStyle: { fontFamily: "Courier", fontWeight: "bold" }, formatter: function (params) { let time = "Start ab: "+ moment(params[0].axisValue).format("HH:mm")+ " Uhr"; let value = "Preis:    "+params[0].value[1].toFixed(4) + " €"; let energy = "Energie:  "+params[0].value[2].toFixed(4) + " €"; let tax = "Steuer:   "+params[0].value[3].toFixed(4) + " €"; let lev = "Level:    "+ params[0].value[4]; return `${time}<br/>${value}<br/>${energy}<br/>${tax}<br/>${lev}` ; } }, }) } updateChart(); var updateInterval = setInterval(updateChart, 3600000);</script></body></html>
Diese Meldung kommt im F12 Menu:
13:18:14.304 App Welcome to jarvis v3.1.8 index-2c99918a.js:112:44201 13:18:14.308 App using instance 0. index-2c99918a.js:112:45143 13:18:14.344 TypeError: a.default.detectStore(...) is undefined h1-check.js:1:1301 13:18:16.330 App Sentry is turned on. You may deactivate it in the adapter settings. index-2c99918a.js:112:38413 13:37:24.569 Uncaught TypeError: colorStops[(colorStops.length - 1)] is undefined updateChart about:srcdoc:1 <anonymous> about:srcdoc:1 srcdoc:1:4775 13:37:24.571 Uncaught TypeError: colorStops[(colorStops.length - 1)] is undefined updateChart about:srcdoc:1 <anonymous> about:srcdoc:1
an was kann das liegen?
Pro Version habe ich in v 3.1.8
-
RE: [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
Guten Morgen,
habe heute mal getestet manuel meine BYD Batterie vom Netz zu laden (S7K Wechselrichter).
Ich habe hierzu 103237 auf 4 gesetzt und 103243 auf 3
hat soweit auch funktioniert. Allerdings rennt dann 40084 auf einen unrealistischen Wert. Liegt denk ich am Skalierungsfaktor 40085 der sich nicht ändert.
Das versaut mir natürlich meine gelogten Daten.
Bei Produktion aus PV passt alles
An was kann das liegen? -
RE: Test Adapter Energiefluss-erweitert v0.7.x GitHub/Latest
@skb Alles klar danke. dann mach ich das darüber