@apollon77 super, danke ️
NEWS
Best posts made by planetkeane
-
RE: [Lovelace] HTML Code anzeigen
Ich habe mir jetzt ein neues Skript gebaut, dass direkt aus den Objekten von Sourceanalytix eine HTML Tabelle erstellt. Diese funktioniert auch ganz gut, obwohl ich da bestimmt noch ein paar Verbesserungen durchführen werde.
Falls es jemanden interessiert:
// Erstelle ein HTML-Objekt im Verzeichnis 0_userdata.0.test /* * >>>>>>> Hier Eingabewerte <<<<<<< */ var anzeigeName = 'Computer'; var verzeichnisSave = '0_userdata.0.HTML.StromverbrauchComputer'; var verzeichnisPfad = 'sourceanalytix.0.0_userdata__0__Energiezaehler__Computer'; // 1 für "consumed", 2 für delivered var methode = 2; //>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<< createState(verzeichnisSave, { type: 'string', common: { name: 'HTML-Objekt', role: 'html', read: true, write: false, }, native: {}, }); //schedule("*/30 * * * *", async function () { on({ id: [].concat(['0_userdata.0.TabellenHTMLAktualisieren']), change: "any" }, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Jahresvariablen var aktuellesDatum = new Date(), jahr = aktuellesDatum.getFullYear(), vorJahr = jahr - 1; // Gesamtvariable var GesamtJetzt = 0, GesamtVorher = 0, GesamtKostenJetzt = 0, GesamtKostenVorher = 0; /* * Hier den Spaltennamen eingeben */ // Erstelle den HTML-Code für die Tabelle var tableHTML = '<table><thead><tr><th>' + anzeigeName + '</th><th>Dieses Jahr</th><th>Letztes Jahr</th><th>Kosten</th></tr></thead><tbody>'; var names = ""; for (var i = 1; i <= 12; i++) { var month = (i < 10) ? "0" + i : i; if (i == 1) { names = "January"; } else if (i == 2) { names = "February"; } else if (i == 3) { names = "March"; } else if (i == 4) { names = "April"; } else if (i == 5) { names = "May"; } else if (i == 6) { names = "June"; } else if (i == 7) { names = "July"; } else if (i == 8) { names = "August"; } else if (i == 9) { names = "September"; } else if (i == 10) { names = "October"; } else if (i == 11) { names = "November"; } else if (i == 12) { names = "December"; } /* * Hier den Quellpfad angeben */ if (methode == 1) { var valueThisYear = getState(verzeichnisPfad + '.' + jahr + ".consumed.months." + month + "_" + names).val; var cost = valueThisYear * 0.33; GesamtJetzt += valueThisYear; var valueLastYear = getState(verzeichnisPfad + '.' + vorJahr + ".consumed.months." + month + "_" + names).val; var costLast = valueLastYear * 0.33; GesamtVorher += valueLastYear; GesamtKostenJetzt += cost; tableHTML += '<tr><td>' + i + '</td><td>' + valueThisYear + '</td><td>' + valueLastYear + '</td><td>' + cost.toFixed(2) + ' | ' + costLast.toFixed(2) + '</td></tr>'; } else if (methode == 2) { var valueThisYear = getState(verzeichnisPfad + '.' + jahr + ".delivered.months." + month + "_" + names).val; var cost = valueThisYear * 0.33; GesamtJetzt += valueThisYear; var valueLastYear = getState(verzeichnisPfad + '.' + vorJahr + ".delivered.months." + month + "_" + names).val; GesamtVorher += valueLastYear; var costLast = valueLastYear * 0.33; GesamtKostenJetzt += cost; tableHTML += '<tr><td>' + i + '</td><td>' + valueThisYear + '</td><td>' + valueLastYear + '</td><td>' + cost.toFixed(2) + ' | ' + costLast.toFixed(2) + '</td></tr>'; } } // Zwei Nachkommastellen GesamtJetzt = Math.round(GesamtJetzt * 100) / 100; GesamtVorher = Math.round(GesamtVorher * 100) / 100; GesamtKostenJetzt = Math.round(GesamtKostenJetzt * 100) / 100; GesamtKostenVorher = GesamtVorher * 0.33; GesamtKostenVorher = Math.round(GesamtKostenVorher * 100) / 100; tableHTML += '<tr><td>' + "Ge" + '</td><td>' + GesamtJetzt + '</td><td>' + GesamtVorher + '</td><td>' + GesamtKostenJetzt + ' | ' + GesamtKostenVorher + '</td></tr>'; tableHTML += '</tbody></table>'; /* * Hier den Speicherpfad angeben (2x) */ // Schreibe den HTML-Code in den HTML-Objektzustand als Zeichenfolge setState(verzeichnisSave, { val: tableHTML, ack: true }); // Lese den HTML-Code als Zeichenfolge var tableHTMLString = getState(verzeichnisSave).val; // Gib den HTML-Code in der Konsole aus // console.log(tableHTMLString); });
-
RE: Test Adapter Omada TP-Link
Schön wäre es, wenn ich über den ioBroker meine AccessPoints neustarten könnte
Latest posts made by planetkeane
-
RE: Abo Assistenten nach Ablauf von Fernzugriff
@apollon77 danke, hab ich gesendet
-
RE: Test Adapter Omada TP-Link
@pasakel Nein leider habe ich bisher keine Lösung dafür. Ich habe meine AccessPoints nun ohne Omada Controller in Betrieb genommen (also als Stand-Alone). So funktionieren sie wenigstens durchgehend, da ich auch das Problem hatte, dass ich sie alle paar Tage neustarten musste, damit sie wieder funktionieren
-
Abo Assistenten nach Ablauf von Fernzugriff
Hallo zusammen,
gestern ist mein Abo für Fernzugriff auf iobroker.pro abgelaufen. Mein Assistenten - Ein Jahr Abo läuft aber noch bis Ende des Jahres. Und dennoch habe ich heute eine Mail bekommen, dass ich meine 20 requests per day erreicht habe. Nun funktioniert natürlich nichts mehr.
Weiß jemand was zu tun ist? -
RE: Lovelace über iobroker.pro EXTREM langsam
@homoran Nein, nur lovelace ist betroffen.
Bekomme auch immer ein disconnected, wenn ich versuche mich per web zu verbinden -
RE: Lovelace über iobroker.pro EXTREM langsam
@homoran Nein, ohne Auth.
Eine Verbindung unter iobroker.pro sehe ich auch. Auf den Flot Editor oder auf die Admin Oberfläche komme ich beispielsweise ran, nur lovelace lädt in Dauerschleife -
RE: Lovelace über iobroker.pro EXTREM langsam
@homoran für die Anbindung nutze ich den cloud Adapter
-
RE: Lovelace über iobroker.pro EXTREM langsam
Ich muss hier nochmal nachfragen. Habe mir für ein Jahr PRO gekauft, weil ich lovelace unterwegs ohne VPN nutzen wollte. Leider habe ich das gleiche Problem. Ich sehe nur den Ladebildschirm
-
RE: Test Adapter Omada TP-Link
Schön wäre es, wenn ich über den ioBroker meine AccessPoints neustarten könnte
-
RE: Neuer Adapter ecoflow-mqtt
Cool wäre es, wenn ich über ioBroker den Shelly 3EM simulieren könnte. Ich hab hier ein SmartMeter der mir ohnehin die Werte anzeigt. Jetzt zusätzlich ein Shelly 3EM anzuschließen ist irgendwie doppelt gemoppelt