Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Durchschnittswerte errechnen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Durchschnittswerte errechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marcolotti last edited by

      Hallo,

      da ich gezwungen bin etwas gegen hohe Stromkosten zu tun und ich eine PV-Anlage auf dem Dach habe, würde ich jetzt gern feststellen inwiefern sich eine Erweiterung auf die Kosten auswirkt.

      Im folgenden Script wird eine größere Anlage simuliert aus Daten die die bisherige Anlage liefert.

      // Objekt erstellen
      createState('PV_Anlage.PV-Leistung-Sim',0, {
          name: 'PV-Anlage: PV-Leistung-Sim',
          desc: 'aktuelle PV-Leistung Simuliert',
          read: true,
          write: true,
          type: 'number',
          unit: 'Watt'
      });
      createState('PV_Anlage.Bezug-Sim',0, {
          name: 'PV-Anlage: Bezug-Sim',
          desc: 'aktueller Bezug Simuliert',
          read: true,
          write: true,
          type: 'number',
          unit: 'Watt'
      });
      createState('PV_Anlage.Einspeisung-Sim',0, {
          name: 'PV-Anlage: Einspeisung-Sim',
          desc: 'aktuelle Einspeisung Simuliert',
          read: true,
          write: true,
          type: 'number',
          unit: 'Watt'
      });
      createState('PV_Anlage.Gesamtverbrauch',0, {
          name: 'PV-Anlage: Gesamtverbrauch',
          desc: 'Gesamtverbrauch im Haus',
          read: true,
          write: true,
          type: 'number',
          unit: 'Watt'
      });
      
      var PVfestLeistung=2.5, // <- Hier Daten ändern
          PVSimuliertLeistung=8.5; // <- Hier Daten ändern
      var idPVLeistungSim = 'PV_Anlage.PV-Leistung-Sim',
          idBezugSim='PV_Anlage.Bezug-Sim',
          idEinspeisungSim='PV_Anlage.Einspeisung-Sim',
          idGesamtVerbrauch='PV_Anlage.Gesamtverbrauch',
          idPVLeistung = 'modbus.0.inputRegisters.30775_PVLeistung',
          idNetzbezug = 'modbus.0.inputRegisters.30865_Bezug';
            // Berechnung Gesamtverbrauch vom Haus
        on({
          id: idNetzbezug,
          change: 'ne',
          valGt: 0
      }, function (data) {
           var gesa = getState(idNetzbezug).val + getState(idPVLeistung).val;
             if (getState(idNetzbezug).val > 0 &&  getState(idPVLeistung).val > 0)
              setState("PV_Anlage.Gesamtverbrauch", gesa);
        });
      on({
          id: idPVLeistung,
          change: 'ne',
          valGt: 0
      }, function (data) {
          var quot = PVSimuliertLeistung / PVfestLeistung;
           var pvsim = getState(idPVLeistung).val * quot;
           var bezug = getState(idGesamtVerbrauch).val - pvsim
             if (pvsim <bezug) (einsp="0);" if/(getstate(idpvleistung).val="">0)
              setState("PV_Anlage.PV-Leistung-Sim", pvsim);
             if (bezug >0)
              setState("PV_Anlage.Bezug-Sim", bezug);
      
              if (bezug <0)
              setState("PV_Anlage.Bezug-Sim", 0);
      
              if (pvsim>bezug)
              var einsp=pvsim-bezug;
              setState("PV_Anlage.Einspeisung-Sim", einsp);
                    });</bezug)> 
      

      Jetzt müsste ich zur Erfassung den heutigen Durchschnittswert von "PV_Anlage.PV-Leistung-Sim", "PV_Anlage.Bezug-Sim" und "Einspeisung-Sim" bilden um daraus die kWh Stunden von heute zu erfahren. Kann mir da jemand helfen?

      Gruß und Danke

      Marco

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Das könnte gehen indem Du für die Datenpunkte einen der History-Adapter aktivierst. Damit werden alle Werte geloggt.

        Dann kannst Du per "GetHistory" (Anleitung/Beispielcode auf den Github-Seiten der Adapter) Daten Abfragen und auch sowas wie "average" und so nutzen 🙂

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Du kannst sicherlich die Energiewerte (Einspeisung, Verbrauch) täglich zu einer festen Uhrzeit (schedule) abfragen. Die durchschnittliche Leistung eines Tages lässt sich daraus einfach berechnen:

          24-h-Durchschnitts-Leistung = (Energie_heute - Energie_gestern) / 24 h
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          633
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          3
          3
          811
          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