Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Wie erzeugten Strom pro Tag berechnen?

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    Wie erzeugten Strom pro Tag berechnen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      picky @warhammer73 last edited by picky

      @warhammer73
      Wäre es nicht am einfachsten, du hängst eine einfache Tasmota Steckdose oder einen Shelly zum einspeisen dazwischen ?
      Ich habe Tasmota Steckdose wo ich einspeiße und einen Shelly3em (3 phasen) für meinen Stromverbrauch.
      Zum auswerten benutze ich diese 2 Scripte, es legt dann auch die Datenpunkte für Tag, Monat usw. an.

      Tasmota:

      /*
      * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      *
      * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      *
      * Dieses Skript dient zur freien Verwendung in ioBroker zur Verbrauchserfassung der Tasmota Geräte.
      * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
      * und Performance entwickelt.
      * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
      *
      * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
      * https://www.kreyenborg.koeln
      * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
      * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
      *
      * Ansprüche gegenüber Dritten bestehen nicht.
      *
      * Skript Name: Tasmota-Verbrauch
      * Skript Version: 1.1
      * Erstell-Datum: 19. März 2021
      *
      */
      
      // Datenpunkte neu erstellen
      var ueberschreiben = false;
      
      // Hauptdatenpunkt unterhalb javascript
      var datenpunkt = "TasmotaVerbrauch.";
      
      // Verbrauchs Objekte der einzelnen Tasmota
      const objekt = ["gesamt", "dieses_jahr", "letztes_jahr", "letzter_monat", "dieser_monat", "letzte_woche",
      "diese_woche", "gestern", "heute", "alter_wert", "aktueller_wert"];
      
      // Beschreibung der Objekte
      const beschreibung = ["Gesamter Vebrauch des Tasmota", "Verbrauch aktuelles Jahr", "Verbrauch letztes Jahr",
      "Verbrauch letzten Monat", "Verbrauch aktueller Monat", "Verbrauch letzte Woche", "Verbrauch diese Woche",
      "Verbrauch gestern", "Verbrauch heute", "Messwert alt", "Messwert neu"];
      
      // Datenpunkt der Tasmota Geräte (Standard: sonoff.0)
      var tasmota_dp = "sonoff.0";
      
      // Datenpunkte der Tasmota (!!! Bitte nicht ändern !!!)
      //const tasmotaDps = $('state[id=' + tasmota_dp + '.*.ENERGY_Total]');
      const tasmotaDps = $('state[id=' + tasmota_dp + '.*.ENERGY.Total]');
      
      
      // Datenpunkte der Tasmota Namen (!!! Bitte nicht ändern !!!)
      const tasmotaDpsName = $('state[id=' + tasmota_dp + '.*.DeviceName]');
      
      // Tasmota Verbrauch aktualisieren - nachts um 00:00 Uhr
      function tasmota_vebrauch_tag() {
      // Nochmals das Tagesupdate durchlaufen, damit die restlichen Werte gelesen werden
      tasmota_verbrauch_update();
      
      // Datumsvariable
      var heute = new Date();
      
      // Heute zu Gestern verschieben. Täglich um 00:00 Uhr
      verschiebe_verbrauch_objekt("heute", "gestern");
      log ("Tasmota Verbrauch: Werte für gestern und heute aktualisiert!");
      
      // aktuelle Woche in letzte Woche verschieben. Am Montag um 00:00 Uhr
      if (heute.getDay() === 1) {
      verschiebe_verbrauch_objekt("diese_woche", "letzte_woche");
      log ("Tasmota Verbrauch: Werte für diese und letzte Woche aktualisiert!");
      }
      
      // aktueller Monat in letzten Monat verschieben. Am 1. des Monats um 00:00 Uhr
      if (heute.getDate() === 1) {
      verschiebe_verbrauch_objekt("dieser_monat", "letzter_monat");
      log ("Tasmota Verbrauch: Werte für diesen und letzten Monat aktualisiert!");
      }
      
      // aktuelles Jahr in letztes Jahr verschieben. Am 1. des Monats am 1. Monat um 00:00 Uhr
      if (heute.getDate() === 1 && heute.getMonth() === 0) {
      verschiebe_verbrauch_objekt("dieses_jahr", "letztes_jahr");
      log ("Tasmota Verbrauch: Werte für dieses und letztes Jahr aktualisiert!");
      }
      }
      
      // Tagesverbrauch alle 15 Min von der Original Variable des Tasmota in eigene Variable kopieren
      function tasmota_verbrauch_update() {
      var anzahl_updates = 0;
      var anzahl_reboots = 0;
      var anzahl_gleich = 0;
      tasmotaDps.each(function (id, i) {
      var tasmota_verbrauch = getState(id).val;
      // Einige Tasmota haben keine Verbrauchswerte (noch nicht)
      if (tasmota_verbrauch != null) {
      // Hole aktuellen Wert, um zu kontrollieren, ob ein Reboot stattgefunden hat
      var aktueller_wert = getState(tasmota_DP(id) + "aktueller_wert").val;
      var alter_wert = 0;
      // Prüfe alten und neuen Wert
      if (tasmota_verbrauch > aktueller_wert) {
      // Verbrauchswert ist größer als alter Wert -> es wurde kein Reboot durchgeführt
      setState(tasmota_DP(id) + "alter_wert", aktueller_wert,true);
      alter_wert = aktueller_wert;
      anzahl_updates++;
      }
      if (aktueller_wert > tasmota_verbrauch) {
      // Verbrauchswert ist kleiner als alter Wert -> es wurde ein Reboot durchgeführt
      setState(tasmota_DP(id) + "alter_wert", 0,true);
      alter_wert = tasmota_verbrauch;
      anzahl_reboots++;
      }
      if (tasmota_verbrauch == aktueller_wert) {
      // Verbrauchswert ist gleich wie alter Wert -> kein Update notwendig
      alter_wert = aktueller_wert;
      anzahl_gleich++;
      }
      
      setState(tasmota_DP(id) + "aktueller_wert", tasmota_verbrauch);
      // Alter und neuer Wert -> aktuelle Differenz
      
      var verbrauch = parseFloat(tasmota_verbrauch) - alter_wert;
      // Tagesverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(id, "heute", verbrauch);
      
      // Wochenverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(id, "diese_woche", verbrauch);
      
      // Monatsverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(id, "dieser_monat", verbrauch);
      
      // Jahresverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(id, "dieses_jahr", verbrauch);
      
      // Gesamten Vebrauch aktualisieren
      aktualisiere_vebrauch_objekt(id, "gesamt", verbrauch);
      }
      });
      aktualisiere_namen();
      log("Tasmota Verbrauch: Verbrauchswerte aktualisiert: " + anzahl_updates + " | Reboots korrigiert: " + anzahl_reboots + " | Unveränderte Werte: " + anzahl_gleich);
      }
      
      // aktualisiert das jeweilige Verbrauchs-Objekt und addiert den Verbrauch dazu
      function aktualisiere_vebrauch_objekt(dp, objekt, wert) {
      var verbrauch = parseFloat(getState(tasmota_DP(dp) + objekt).val) + parseFloat(wert);
      verbrauch = parseFloat(verbrauch.toFixed(3));
      setState(tasmota_DP(dp) + objekt, verbrauch,true);
      }
      
      // Verschiebt das jeweilige Verbrauchs-Objekt und nullt den Ursprung (Tag, Woche, Monat, Jahr)
      function verschiebe_verbrauch_objekt(von, nach) {
      $('state[id=*.' + datenpunkt + '*.' + von + ']').each(function (id, i) {
      // Temporärer Gruppen-Datenpunkt
      var tmp_dp = id.slice(0, -(von.length));
      var verbrauch = getState(id).val;
      if (verbrauch != null) {
      setState(tmp_dp + nach, verbrauch,true);
      }
      // Setze heute zurück
      setState(id, 0,true);
      });
      }
      
      // Funktion um die aktuellen Namen der Tasmota abzuholen
      function aktualisiere_namen() {
      tasmotaDpsName.each(function (id, i) {
      setState(tasmota_DP_Name(id),String(getState(id).val),true);
      });
      }
      
      // Erstelle die benötigten Datenpunkte
      function datenpunkte_erstellen() {
      // Anzahl der gefundenen Tasmota
      var anzahl = tasmotaDps.length;
      
      tasmotaDps.each(function (id, j) {
      var initial_wert = 0;
      for (var i = 0; i < objekt.length; i++) {
      // Startwerte werden nur bei alter_wert und aktueller_wert eingetragen
      if (i > 8) {
      initial_wert = getState(id).val;
      }
      createState(tasmota_DP(id) + objekt[i], initial_wert, ueberschreiben, {
      name: beschreibung[i],
      desc: beschreibung[i],
      type: "number",
      role: "value.power",
      unit: "kWh"
      });
      }
      });
      
      // Alle Datenpunkte erstellt. Frage ersten Verbrauch ab!
      log("Tasmota Verbrauch: Datenpunkte erstellt! Erster Verbrauch steht nach 1 Minute zur Verfügung! Anzahl gefundener Tasmota Datenpunkte: " + anzahl);
      setTimeout(tasmota_verbrauch_update, 20000);
      
      // Datenpunkte für die Namen der Tasmota erstellen
      tasmotaDpsName.each(function(id, j) {
      createState(tasmota_DP_Name(id), "", ueberschreiben, {
      name: "Name des Tasmota",
      desc: "Name des Tasmota",
      type: "string",
      role: "value",
      unit: ""
      });
      });
      }
      
      function tasmota_DP(dp) {
      dp = dp.split(".");
      dp = datenpunkt + dp[2] + ".";
      return dp;
      }
      
      function tasmota_DP_Name(dp) {
      dp = dp.split(".");
      dp = datenpunkt + dp[2] + "." + dp[3];
      return dp;
      }
      
      function tasmota_verbrauch_erster_start() {
      log("Tasmota Verbrauch: Erster Start des Skriptes! Datenpunkte werden erstellt!");
      // Datenpunkte werden erstellt
      datenpunkte_erstellen();
      }
      
      // Erster Start und Initialisierung
      tasmota_verbrauch_erster_start();
      
      // Alle 15 Minuten das Skript für den Tagesverbrauch ausführen
      schedule('*/1 * * * *', tasmota_verbrauch_update);
      
      // Nachts um 24 Uhr werden die Werte in andere Variablen gespeichert, um den Verlauf zu erstellen
      schedule('0 0 * * *', tasmota_vebrauch_tag);
      

      shelly3em:

      /*
      * @copyright 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      *
      * @author 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      *
      * Dieses Skript dient zur freien Verwendung in ioBroker zur Verbrauchserfassung der Shelly Geräte.
      * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
      * und Performance entwickelt.
      * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
      *
      * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
      * https://www.kreyenborg.koeln
      * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
      * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
      *
      * Ansprüche gegenüber Dritten bestehen nicht.
      *
      * Skript Name: Shelly-Verbrauch
      * Skript Version: 1.60
      * Erstell-Datum: 08. Oktober 2021 | Update: 20. Juli 2022
      *
      */
      
      // Datenpunkte neu erstellen
      var ueberschreiben = false;
      
      // Hauptdatenpunkt unterhalb javascript
      var datenpunkt = "ShellyVerbrauch."; // Abschließender Punkt !!! WICHTIG !!!
      
      // Verbrauchs Objekte der einzelnen Shelly
      var objekt = ["gesamt", "dieses_jahr", "letztes_jahr", "letzter_monat", "dieser_monat", "letzte_woche",
      "diese_woche", "gestern", "heute", "alter_wert", "aktueller_wert"
      ];
      
      // Beschreibung der Objekte
      var beschreibung = ["Gesamter Vebrauch des Shelly", "Verbrauch aktuelles Jahr", "Verbrauch letztes Jahr",
      "Verbrauch letzten Monat", "Verbrauch aktueller Monat", "Verbrauch letzte Woche", "Verbrauch diese Woche",
      "Verbrauch gestern", "Verbrauch heute", "Messwert alt", "Messwert neu"
      ];
      
      // Datenpunkt der Shelly (Standard: shelly.0)
      var shelly_dp = "shelly.0";
      
      // Datenpunkte der Shelly (!!! Bitte nicht ändern !!!)
      var shellyDps = $('state[id=' + shelly_dp + '.*.*.Energy]');
      
      // Datenpunkte der Shelly 3EM DP
      var shelly3EMDps = $('state[id=' + shelly_dp + '.*.*.Total]');
      
      // Datenpunkte der Shelly 3EM DP - Total
      var shelly3EMTotalDps = $('state[id=' + shelly_dp + '.*.*.ConsumedPower]');
      
      // Datenpunkte der Shelly 3EM DP - Total
      var shelly3EMTotalReturned = $('state[id=' + shelly_dp + '.*.*.Total_Returned]');
      
      // Datenpunkte der Shelly Namen (!!! Bitte nicht ändern !!!)
      var shellyDpsName = $('state[id=' + shelly_dp + '.*.name]');
      
      // Shelly Verbrauch aktualisieren - nachts um 00:00 Uhr
      function shelly_vebrauch_tag() {
      // Nochmals das Tagesupdate durchlaufen, damit die restlichen Werte gelesen werden
      shelly_verbrauch_update();
      
      // Datumsvariable
      var heute = new Date();
      
      // Heute zu Gestern verschieben. Täglich um 00:00 Uhr
      verschiebe_verbrauch_objekt("heute", "gestern");
      log("Shelly Verbrauch: Werte für gestern und heute aktualisiert!");
      
      // aktuelle Woche in letzte Woche verschieben. Am Montag um 00:00 Uhr
      if (heute.getDay() === 1) {
      verschiebe_verbrauch_objekt("diese_woche", "letzte_woche");
      log("Shelly Verbrauch: Werte für diese und letzte Woche aktualisiert!");
      }
      
      // aktueller Monat in letzten Monat verschieben. Am 1. des Monats um 00:00 Uhr
      if (heute.getDate() === 1) {
      verschiebe_verbrauch_objekt("dieser_monat", "letzter_monat");
      log("Shelly Verbrauch: Werte für diesen und letzten Monat aktualisiert!");
      }
      
      // aktuelles Jahr in letztes Jahr verschieben. Am 1. des Monats am 1. Monat um 00:00 Uhr
      if (heute.getDate() === 1 && heute.getMonth() === 0) {
      verschiebe_verbrauch_objekt("dieses_jahr", "letztes_jahr");
      log("Shelly Verbrauch: Werte für dieses und letztes Jahr aktualisiert!");
      }
      }
      
      // Tagesverbrauch alle 15 Min von der Original Variable des Shelly in eigene Variable kopieren
      function shelly_verbrauch_update() {
      var anzahl_updates = 0;
      var anzahl_reboots = 0;
      var anzahl_gleich = 0;
      shellyDps.each(function (id, i) {
      var shelly_verbrauch = getState(id).val;
      // Einige Shelly haben keine Verbrauchswerte (noch nicht)
      if (shelly_verbrauch != null) {
      // Hole aktuellen Wert, um zu kontrollieren, ob ein Reboot stattgefunden hat
      var aktueller_wert = getState(shelly_DP(id) + "aktueller_wert").val;
      var alter_wert = 0;
      // Prüfe alten und neuen Wert
      if (shelly_verbrauch > aktueller_wert) {
      // Verbrauchswert ist größer als alter Wert -> es wurde kein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", aktueller_wert, true);
      alter_wert = aktueller_wert;
      anzahl_updates++;
      }
      if (aktueller_wert > shelly_verbrauch) {
      // Verbrauchswert ist kleiner als alter Wert -> es wurde ein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", 0, true);
      alter_wert = 0;
      anzahl_reboots++;
      }
      if (shelly_verbrauch == aktueller_wert) {
      // Verbrauchswert ist gleich wie alter Wert -> kein Update notwendig
      alter_wert = aktueller_wert;
      anzahl_gleich++;
      }
      
      setState(shelly_DP(id) + "aktueller_wert", shelly_verbrauch, true);
      // Alter und neuer Wert -> aktuelle Differenz
      
      var verbrauch = parseFloat(shelly_verbrauch) - alter_wert;
      // Tagesverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "heute", verbrauch);
      
      // Wochenverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "diese_woche", verbrauch);
      
      // Monatsverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieser_monat", verbrauch);
      
      // Jahresverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieses_jahr", verbrauch);
      
      // Gesamten Vebrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "gesamt", verbrauch);
      }
      });
      shelly3EMDps.each(function (id, i) {
      var shelly_verbrauch = getState(id).val;
      // Einige Shelly haben keine Verbrauchswerte (noch nicht)
      if (shelly_verbrauch != null) {
      // Hole aktuellen Wert, um zu kontrollieren, ob ein Reboot stattgefunden hat
      var aktueller_wert = getState(shelly_DP(id) + "aktueller_wert").val;
      var alter_wert = 0;
      // Prüfe alten und neuen Wert
      if (shelly_verbrauch > aktueller_wert) {
      // Verbrauchswert ist größer als alter Wert -> es wurde kein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", aktueller_wert, true);
      alter_wert = aktueller_wert;
      anzahl_updates++;
      }
      if (aktueller_wert > shelly_verbrauch) {
      // Verbrauchswert ist kleiner als alter Wert -> es wurde ein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", 0, true);
      alter_wert = 0;
      anzahl_reboots++;
      }
      if (shelly_verbrauch == aktueller_wert) {
      // Verbrauchswert ist gleich wie alter Wert -> kein Update notwendig
      alter_wert = aktueller_wert;
      anzahl_gleich++;
      }
      
      setState(shelly_DP(id) + "aktueller_wert", shelly_verbrauch, true);
      // Alter und neuer Wert -> aktuelle Differenz
      
      var verbrauch = parseFloat(shelly_verbrauch) - alter_wert;
      // Tagesverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "heute", verbrauch);
      
      // Wochenverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "diese_woche", verbrauch);
      
      // Monatsverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieser_monat", verbrauch);
      
      // Jahresverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieses_jahr", verbrauch);
      
      // Gesamten Vebrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "gesamt", verbrauch);
      }
      });
      shelly3EMTotalDps.each(function (id, i) {
      var shelly_verbrauch = getState(id).val;
      // Einige Shelly haben keine Verbrauchswerte (noch nicht)
      if (shelly_verbrauch != null) {
      // Hole aktuellen Wert, um zu kontrollieren, ob ein Reboot stattgefunden hat
      var aktueller_wert = getState(shelly_DP(id) + "aktueller_wert").val;
      var alter_wert = 0;
      // Prüfe alten und neuen Wert
      if (shelly_verbrauch > aktueller_wert) {
      // Verbrauchswert ist größer als alter Wert -> es wurde kein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", aktueller_wert, true);
      alter_wert = aktueller_wert;
      anzahl_updates++;
      }
      if (aktueller_wert > shelly_verbrauch) {
      // Verbrauchswert ist kleiner als alter Wert -> es wurde ein Reboot durchgeführt
      setState(shelly_DP(id) + "alter_wert", 0, true);
      alter_wert = 0;
      anzahl_reboots++;
      }
      if (shelly_verbrauch == aktueller_wert) {
      // Verbrauchswert ist gleich wie alter Wert -> kein Update notwendig
      alter_wert = aktueller_wert;
      anzahl_gleich++;
      }
      
      setState(shelly_DP(id) + "aktueller_wert", shelly_verbrauch, true);
      // Alter und neuer Wert -> aktuelle Differenz
      
      var verbrauch = parseFloat(shelly_verbrauch) - alter_wert;
      // Tagesverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "heute", verbrauch);
      
      // Wochenverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "diese_woche", verbrauch);
      
      // Monatsverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieser_monat", verbrauch);
      
      // Jahresverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "dieses_jahr", verbrauch);
      
      // Gesamten Vebrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id), "gesamt", verbrauch);
      }
      });
      shelly3EMTotalReturned.each(function (id, i) {
      var shelly_verbrauch = getState(id).val;
      // Einige Shelly haben keine Verbrauchswerte (noch nicht)
      if (shelly_verbrauch != null) {
      // Hole aktuellen Wert, um zu kontrollieren, ob ein Reboot stattgefunden hat
      var aktueller_wert = getState(shelly_DP(id, true) + "aktueller_wert").val;
      var alter_wert = 0;
      // Prüfe alten und neuen Wert
      if (shelly_verbrauch > aktueller_wert) {
      // Verbrauchswert ist größer als alter Wert -> es wurde kein Reboot durchgeführt
      setState(shelly_DP(id, true) + "alter_wert", aktueller_wert, true);
      alter_wert = aktueller_wert;
      anzahl_updates++;
      }
      if (aktueller_wert > shelly_verbrauch) {
      // Verbrauchswert ist kleiner als alter Wert -> es wurde ein Reboot durchgeführt
      setState(shelly_DP(id, true) + "alter_wert", 0, true);
      alter_wert = 0;
      anzahl_reboots++;
      }
      if (shelly_verbrauch == aktueller_wert) {
      // Verbrauchswert ist gleich wie alter Wert -> kein Update notwendig
      alter_wert = aktueller_wert;
      anzahl_gleich++;
      }
      
      setState(shelly_DP(id, true) + "aktueller_wert", shelly_verbrauch, true);
      // Alter und neuer Wert -> aktuelle Differenz
      
      var verbrauch = parseFloat(shelly_verbrauch) - alter_wert;
      // Tagesverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id, true), "heute", verbrauch);
      
      // Wochenverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id, true), "diese_woche", verbrauch);
      
      // Monatsverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id, true), "dieser_monat", verbrauch);
      
      // Jahresverbrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id, true), "dieses_jahr", verbrauch);
      
      // Gesamten Vebrauch aktualisieren
      aktualisiere_vebrauch_objekt(shelly_DP(id, true), "gesamt", verbrauch);
      }
      });
      aktualisiere_namen();
      log("Shelly Verbrauch: Verbrauchswerte aktualisiert: " + anzahl_updates + " | Reboots korrigiert: " + anzahl_reboots + " | Unveränderte Werte: " + anzahl_gleich);
      }
      
      // aktualisiert das jeweilige Verbrauchs-Objekt und addiert den Verbrauch dazu
      function aktualisiere_vebrauch_objekt(dp, objekt, wert) {
      // Hole alten Verbrauch
      let alter_verbrauch = getState(dp + objekt).val;
      let verbrauch = 0;
      // Kein Wert vorhanden - nutze den übermittelten Wert
      if (alter_verbrauch < 1 || alter_verbrauch == null) {
      verbrauch = parseFloat(wert)
      } else {
      verbrauch = parseFloat(alter_verbrauch) + parseFloat(wert);
      }
      setState(dp + objekt, parseFloat(verbrauch.toFixed(2)), true);
      }
      
      // Verschiebt das jeweilige Verbrauchs-Objekt und nullt den Ursprung (Tag, Woche, Monat, Jahr)
      function verschiebe_verbrauch_objekt(von, nach) {
      $('state[id=*.' + datenpunkt + '*.*.' + von + ']').each(function (id, i) {
      // Temporärer Gruppen-Datenpunkt
      var tmp_dp = id.slice(0, -(von.length));
      var verbrauch = getState(id).val;
      if (verbrauch != null) {
      setState(tmp_dp + nach, verbrauch, true);
      }
      // Setze "von" zurück
      setState(id, 0, true);
      });
      }
      
      // Funktion um die aktuellen Namen des Shelly abzuholen
      function aktualisiere_namen() {
      if (typeof extendObject === "function") {
      shellyDpsName.each(function (id, i) {
      if (existsState(id)) {
      setState(shelly_DP_Name(id), String(getState(id).val), true);
      extendObject("javascript.0." + shelly_DP_Name_Main(id), {
      common: {
      name: String(getState(id).val),
      desc: String(getState(id).val)
      },
      type: "channel"
      });
      }
      });
      }
      }
      
      // Erstelle die benötigten Datenpunkte
      function datenpunkte_erstellen() {
      // Anzahl der gefundenen Shelly
      var anzahl = shellyDps.length;
      
      shellyDps.each(function (id, j) {
      var initial_wert = 0.0;
      for (var i = 0; i < objekt.length; i++) {
      // Startwerte werden nur bei alter_wert und aktueller_wert eingetragen
      if (i > 8) {
      initial_wert = getState(id).val;
      }
      createState(shelly_DP(id) + objekt[i], initial_wert, ueberschreiben, {
      name: beschreibung[i],
      desc: beschreibung[i],
      type: "number",
      role: "value.power",
      unit: "Wh"
      });
      }
      });
      
      // Anzahl der gefundenen Shelly 3EM
      var anzahl_3em = shelly3EMDps.length;
      
      shelly3EMDps.each(function (id, j) {
      var initial_wert = 0.0;
      for (var i = 0; i < objekt.length; i++) {
      // Startwerte werden nur bei alter_wert und aktueller_wert eingetragen
      if (i > 8) {
      initial_wert = getState(id).val;
      }
      createState(shelly_DP(id) + objekt[i], initial_wert, ueberschreiben, {
      name: beschreibung[i],
      desc: beschreibung[i],
      type: "number",
      role: "value.power",
      unit: "Wh"
      });
      }
      });
      
      // Anzahl der gefundenen Shelly 3EM - Total
      var anzahl_3em_total = shelly3EMTotalDps.length;
      
      shelly3EMTotalDps.each(function (id, j) {
      var initial_wert = 0.0;
      for (var i = 0; i < objekt.length; i++) {
      // Startwerte werden nur bei alter_wert und aktueller_wert eingetragen
      if (i > 8) {
      initial_wert = getState(id).val;
      }
      createState(shelly_DP(id) + objekt[i], initial_wert, ueberschreiben, {
      name: beschreibung[i],
      desc: beschreibung[i],
      type: "number",
      role: "value.power",
      unit: "Wh"
      });
      }
      });
      
      // Anzahl der gefundenen Shelly 3EM - Total
      var anzahl_3em_total_returned = shelly3EMTotalReturned.length;
      
      shelly3EMTotalReturned.each(function (id, j) {
      var initial_wert = 0.0;
      for (var i = 0; i < objekt.length; i++) {
      // Startwerte werden nur bei alter_wert und aktueller_wert eingetragen
      if (i > 8) {
      initial_wert = getState(id).val;
      }
      createState(shelly_DP(id, true) + objekt[i], initial_wert, ueberschreiben, {
      name: beschreibung[i],
      desc: beschreibung[i],
      type: "number",
      role: "value.power",
      unit: "Wh"
      });
      }
      });
      
      // Alle Datenpunkte erstellt. Frage ersten Verbrauch ab!
      log("Shelly Verbrauch: Datenpunkte erstellt! Erster Verbrauch steht nach 30 Sekunden zur Verfügung! Anzahl gefundener Shelly Datenpunkte: " + (anzahl_3em + anzahl + anzahl_3em_total + anzahl_3em_total_returned));
      setTimeout(shelly_verbrauch_update, 30000);
      
      // Datenpunkte für die Namen der Shelly erstellen
      shellyDpsName.each(function (id, j) {
      createState(shelly_DP_Name(id), "", ueberschreiben, {
      name: "Name des Shelly",
      desc: "Name des Shelly",
      type: "string",
      role: "value",
      unit: ""
      });
      });
      }
      
      /**
      * Wenn 3EM DP, dann anderen Wert zurückgeben
      * @param {any} dp
      * @param {boolean} extended
      */
      function shelly_DP(dp, extended = false) {
      dp = dp.split(".");
      dp = datenpunkt + dp[2] + "." + dp[3];
      if (extended) {
      dp = dp + "_Returned.";
      } else {
      dp = dp + ".";
      }
      return dp;
      }
      
      function shelly_DP_Name(dp) {
      dp = dp.split(".");
      dp = datenpunkt + dp[2] + "." + dp[3];
      return dp;
      }
      
      function shelly_DP_Name_Main(dp) {
      dp = dp.split(".");
      dp = datenpunkt + dp[2];
      return dp;
      }
      
      function shelly_verbrauch_erster_start() {
      log("Shelly Verbrauch: Erster Start des Skriptes! Datenpunkte werden erstellt!");
      // Datenpunkte werden erstellt
      datenpunkte_erstellen();
      }
      
      // Erster Start und Initialisierung
      shelly_verbrauch_erster_start();
      
      // Alle 15 Minuten das Skript für den Tagesverbrauch ausführen
      schedule('*/15 * * * *', shelly_verbrauch_update);
      
      // Nachts um 24 Uhr werden die Werte in andere Variablen gespeichert, um den Verlauf zu erstellen
      schedule('0 0 * * *', shelly_vebrauch_tag);
      
      W 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Ralla66 last edited by

        @ralla66 Na man kann in meinen Augen schon den Momentanverbrauch nehmen - die Shellies addieren das auch nur drauf. Man muss halt die Zeitspanne berechnen, die zwischen den Meldungen kommen und geht davon aus, dass solange der Momentanverbrauch gültig ist - das ist mE schon sehr genau. Gut 200ms kommt wahrscheinlich die Systeme nicht mit. Ich finde das ist schon relativ genau. Ich teste es ja einfach damit - wenn ich einen Stromverbraucher mit einem definierten Verbrauch anhänge und mal eine Stunde laufen lasse und wenn ich dann 1 Stunde lang meine Momentanverbräuche addiere kommt das sehr genau hin. 😉

        Ralla66 1 Reply Last reply Reply Quote 0
        • Ralla66
          Ralla66 Most Active @mickym last edited by

          @mickym

          das denke ich auch, die Genauigkeit hängt ja vom Triggertiming ab.
          Dann würde ja ein kleines Blockly mit Cron jede Sekunde reichen.

          1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @Ralla66 last edited by BananaJoe

            @ralla66
            Die alten Ferraris-Zähler mechanisch per Induktionsmotor
            Die neuen elektronischen per Hall-Sensoren, Shunt/Nebenschlusswiderstände und sogenannte Rogowski-Spulen.

            Wie man bei den Shelly 1pm z.B. sehen kann muss man für eine Leistungsmessung nicht unbedingt Spannung und Strom messen, man kann diese direkt messen.
            Ich habe aber keine Ahnung wie diese Sensoren das in Zeit umsetzen, da habe ich auf die schnelle keinen Artikel gefunden.
            vielleicht machen die es ja doch sekündlich ... oder bei jeder Änderung ... oder 1.000 mal die Sekunde.

            Zum testen müsste man halt beides an einem Anschluss machen und schauen ob die eigenen errechneten Werte passen.
            Ist dein iobroker dann aber mal ein paar Sekunden/Minuten gestoppt passt schon alles wieder nicht mehr

            Ralla66 1 Reply Last reply Reply Quote 0
            • Ralla66
              Ralla66 Most Active @BananaJoe last edited by

              @bananajoe

              einfachste Mittel halt, klar Soft selbst geproggt im ESP wäre besser.
              Als Hilfsmaßnahme für den Fragesteller aber ausreichend.
              Jetzt noch von paul ein Blockly dazu, dann läuft das.

              Ralla66 1 Reply Last reply Reply Quote 0
              • D
                diwoma @BananaJoe last edited by diwoma

                @bananajoe Anscheinend habe ich mich schlecht ausgedrückt (obwohl es mir nicht so vorkommt)

                Nein, ich habe keinen Zählerstand für die Werte, die mich interessieren, sonst hätte ich es schon gelöst.

                BananaJoe 1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @diwoma last edited by

                  @diwoma sagte in Wie erzeugten Strom pro Tag berechnen?:

                  @bananajoe Anscheinend habe ich mich schlecht ausgedrückt (obwohl es mir nicht so vorkommt)

                  Nein, ich habe keinen Zählerstand für die Werte, die mich interessieren, sonst hätte ich es schon gelöst.

                  Ok.

                  Wäre ich an deiner Stelle würde ich nicht versuchen das selbst zu berechnen sondern eine Messeinrichtung dazwischen schalten. Je nach dem um was für eine Leistung es geht würde ich bis so 2.000W einen Shelly 1pm oder ähnliches nehmen (also in den Stromkreis eingefügt) oder einen Shelly em / 3em der dann Berührungslos messen kann.
                  Die Shellys gehen immer, sind aber halt 4x so teuer

                  D Ralla66 2 Replies Last reply Reply Quote 0
                  • Ralla66
                    Ralla66 Most Active @Ralla66 last edited by

                    Hab mal getestet, Mittelwert pro Minute.
                    Taktung pro Sekunde.
                    🙂

                    Rattern.jpg


                    23:22:57.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler57
                    23:22:57.054 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9006
                    23:22:57.054 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:22:58.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler58
                    23:22:58.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9164
                    23:22:58.054 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:22:59.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler59
                    23:22:59.054 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9322
                    23:22:59.054 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:22:59.055 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: in DP schreiben Watt pro Minute 158
                    23:23:01.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler1
                    23:23:01.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 158
                    23:23:01.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:02.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler2
                    23:23:02.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 316
                    23:23:02.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:03.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler3
                    23:23:03.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 474
                    23:23:03.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:04.026 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler4
                    23:23:04.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 632
                    23:23:04.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:05.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler5
                    23:23:05.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 790
                    23:23:05.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:06.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler6
                    23:23:06.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 948
                    23:23:06.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:07.026 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler7
                    23:23:07.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1106
                    23:23:07.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:08.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler8
                    23:23:08.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1264
                    23:23:08.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:09.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler9
                    23:23:09.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1422
                    23:23:09.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:10.026 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler10
                    23:23:10.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1580
                    23:23:10.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 158
                    23:23:11.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler11
                    23:23:11.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1739
                    23:23:11.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:12.027 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler12
                    23:23:12.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 1898
                    23:23:12.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:13.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler13
                    23:23:13.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2057
                    23:23:13.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:14.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler14
                    23:23:14.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2216
                    23:23:14.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:15.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler15
                    23:23:15.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2375
                    23:23:15.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:16.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler16
                    23:23:16.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2534
                    23:23:16.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:17.028 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler17
                    23:23:17.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2693
                    23:23:17.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:18.029 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler18
                    23:23:18.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 2852
                    23:23:18.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:19.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler19
                    23:23:19.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3011
                    23:23:19.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:20.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler20
                    23:23:20.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3170
                    23:23:20.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:21.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler21
                    23:23:21.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3329
                    23:23:21.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:22.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler22
                    23:23:22.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3488
                    23:23:22.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:23.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler23
                    23:23:23.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3647
                    23:23:23.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:24.030 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler24
                    23:23:24.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3806
                    23:23:24.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:25.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler25
                    23:23:25.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 3965
                    23:23:25.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:26.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler26
                    23:23:26.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4124
                    23:23:26.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:27.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler27
                    23:23:27.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4283
                    23:23:27.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:28.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler28
                    23:23:28.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4442
                    23:23:28.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:29.031 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler29
                    23:23:29.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4601
                    23:23:29.032 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:30.033 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler30
                    23:23:30.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4760
                    23:23:30.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:31.033 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler31
                    23:23:31.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 4919
                    23:23:31.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:32.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler32
                    23:23:32.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5078
                    23:23:32.035 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:33.033 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler33
                    23:23:33.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5237
                    23:23:33.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:34.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler34
                    23:23:34.035 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5396
                    23:23:34.035 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:35.034 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler35
                    23:23:35.035 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5555
                    23:23:35.036 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:36.035 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler36
                    23:23:36.036 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5714
                    23:23:36.036 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:37.036 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler37
                    23:23:37.037 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 5873
                    23:23:37.038 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:38.037 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler38
                    23:23:38.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6032
                    23:23:38.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:39.038 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler39
                    23:23:39.038 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6191
                    23:23:39.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:40.037 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler40
                    23:23:40.038 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6350
                    23:23:40.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:41.038 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler41
                    23:23:41.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6509
                    23:23:41.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:42.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler42
                    23:23:42.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6668
                    23:23:42.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:43.039 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler43
                    23:23:43.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6827
                    23:23:43.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:44.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler44
                    23:23:44.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 6986
                    23:23:44.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:45.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler45
                    23:23:45.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7145
                    23:23:45.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:46.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler46
                    23:23:46.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7304
                    23:23:46.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:47.040 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler47
                    23:23:47.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7463
                    23:23:47.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:48.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler48
                    23:23:48.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7622
                    23:23:48.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:49.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler49
                    23:23:49.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7781
                    23:23:49.047 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:50.041 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler50
                    23:23:50.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 7940
                    23:23:50.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:51.042 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler51
                    23:23:51.043 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8099
                    23:23:51.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:52.043 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler52
                    23:23:52.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8258
                    23:23:52.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:53.043 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler53
                    23:23:53.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8417
                    23:23:53.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:54.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler54
                    23:23:54.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8576
                    23:23:54.046 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:55.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler55
                    23:23:55.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8735
                    23:23:55.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:56.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler56
                    23:23:56.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 8894
                    23:23:56.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:57.044 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler57
                    23:23:57.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9053
                    23:23:57.046 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:58.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler58
                    23:23:58.046 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9212
                    23:23:58.047 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:59.045 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler59
                    23:23:59.046 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 9371
                    23:23:59.047 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:23:59.047 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: in DP schreiben Watt pro Minute 158
                    23:24:01.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler1
                    23:24:01.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 159
                    23:24:01.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:02.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler2
                    23:24:02.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 318
                    23:24:02.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:03.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler3
                    23:24:03.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 477
                    23:24:03.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:04.051 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler4
                    23:24:04.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 636
                    23:24:04.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:05.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler5
                    23:24:05.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 795
                    23:24:05.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:06.052 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Zähler6
                    23:24:06.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert gesamt 954
                    23:24:06.053 info javascript.0 (1860) script.js.Zählerstand.Test_Watt_errechnet: aktueller Watt Wert WR 159
                    23:24:06.684 info javascript.0 (1860) Stop script script.js.Zählerstand.Test_Watt_errechnet

                    1 Reply Last reply Reply Quote 0
                    • W
                      warhammer73 @picky last edited by

                      @picky
                      Nicht wirklich. Weil die Frage am Anfang nur ein Teilumfang dessen war was ich vorhabe.
                      Den Strom pro Tag kann ich mir auch berechnen indem ich den Gesamterzeugten Strom um 0 Uhr nehme und dann einfach aktuell - Stand 0 rechne.

                      Im Hinterkopf als ich die Frage gestellt habe, waren aber auch so Sachen wie Berechnung des Durchschnittlichen Akkustandes, Durchschnittliche Autarkie etc.
                      Also Sachen von denen ich nur Zeitreihen habe, diese aufaddieren müsste (Wäre ja auch ein Ansatz für die grobe - und mir ausreichende - Berechnung des erzeugten Stromes gewesen) und dann durch die Anzahl der Zeitpunkte rechnen.
                      Da hab ich aber gerade ein Brett vor dem Kopf, ich würde denken das müsste relativ problemlos allein in Grafana mit InfluxDB gehen.

                      1 Reply Last reply Reply Quote 0
                      • D
                        diwoma @BananaJoe last edited by

                        @bananajoe Zur Zeit wahrscheinlich die einzige Lösung, aber ich will nichts einbauen, weil ich hoffe, doch mal die Freischaltung der Kundenschnittstelle des vorhandenen Smartmeter zu bekommen. Ich werde es doch mal mit einer SW-Lösung probieren.

                        1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active @BananaJoe last edited by Ralla66

                          @bananajoe

                          Test mit Mittelwert pro Minute.
                          Getaktet alle 5 Sekunden.
                          Mit Bandfilter Min / Max Watt Wert ( Piek ) der ausgeblendet wird, einstellbar.
                          Fehlerschutz, Intervallabbruch bei zu wenig Data.
                          Läuft so weit gut.

                          Bandfilter.jpg

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          926
                          Online

                          32.1k
                          Users

                          80.8k
                          Topics

                          1.3m
                          Posts

                          7
                          32
                          2532
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo