Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    224

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
12 Beiträge 3 Kommentatoren 837 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @frank2604 sagte: Holt es sich die Daten aus der Historisierung?

    Welches Script?

    @frank2604 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

    Was ist, wenn das Skript mal nicht läuft?

    Weshalb sollte es mal nicht laufen ?

    frank2604F Offline
    frank2604F Offline
    frank2604
    schrieb am zuletzt editiert von
    #3

    @paul53 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

    @frank2604 sagte: Holt es sich die Daten aus der Historisierung?

    Welches Script?

    Ich hatte das hier gefunden: Gleitender Durchschnitt, Min., Max. über def. Zeitraum

    @frank2604 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

    Was ist, wenn das Skript mal nicht läuft?

    Weshalb sollte es mal nicht laufen ?

    Gute Frage. Wartungsarbeiten, Skript-Adapter gestoppt

    Intel NUC8 i3, Proxmox, VM Ubuntu, ioBroker
    Philips HUE, Homematic CCU3, Zigbee, Yamaha MusicCast, Vorwerk ...

    paul53P 1 Antwort Letzte Antwort
    0
    • frank2604F frank2604

      @paul53 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

      @frank2604 sagte: Holt es sich die Daten aus der Historisierung?

      Welches Script?

      Ich hatte das hier gefunden: Gleitender Durchschnitt, Min., Max. über def. Zeitraum

      @frank2604 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

      Was ist, wenn das Skript mal nicht läuft?

      Weshalb sollte es mal nicht laufen ?

      Gute Frage. Wartungsarbeiten, Skript-Adapter gestoppt

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #4

      @frank2604 sagte: Ich hatte das hier gefunden:

      Der gleitende Durchschnitt ist zu komplex und wird nicht benötigt, wenn jede Minute ein Mittelwert gebildet werden soll. Es geht recht einfach:

      Bild_2021-02-24_181323.png

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      E 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @frank2604 sagte: Ich hatte das hier gefunden:

        Der gleitende Durchschnitt ist zu komplex und wird nicht benötigt, wenn jede Minute ein Mittelwert gebildet werden soll. Es geht recht einfach:

        Bild_2021-02-24_181323.png

        E Offline
        E Offline
        ente34
        schrieb am zuletzt editiert von
        #5

        @paul53
        Setzt das Script nicht eine konstante Abtastung voraus?
        Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

        paul53P frank2604F 3 Antworten Letzte Antwort
        0
        • E ente34

          @paul53
          Setzt das Script nicht eine konstante Abtastung voraus?
          Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #6

          @ente34 sagte: Setzt das Script nicht eine konstante Abtastung voraus?

          Ja, steht doch in der Überschrift des Themas.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • E ente34

            @paul53
            Setzt das Script nicht eine konstante Abtastung voraus?
            Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

            frank2604F Offline
            frank2604F Offline
            frank2604
            schrieb am zuletzt editiert von
            #7

            @ente34 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

            @paul53
            Setzt das Script nicht eine konstante Abtastung voraus?
            Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

            Guter Punkt. Der Modus Adapter fragt konstant jede Sekunde ab. Eigentlich sollte der Trigger "wurde aktualisiert" auch bei unveränderten Werten reagieren. Alternativ könnte ich auch hier einen CRON-Zeitplan mit sekündlicher Ausführung nehmen?

            Intel NUC8 i3, Proxmox, VM Ubuntu, ioBroker
            Philips HUE, Homematic CCU3, Zigbee, Yamaha MusicCast, Vorwerk ...

            1 Antwort Letzte Antwort
            0
            • E ente34

              @paul53
              Setzt das Script nicht eine konstante Abtastung voraus?
              Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #8

              @ente34 sagte: Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

              Das wird bereits gemacht:

              @frank2604 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

              daraus mittels Skript die Energie (Wh) berechne,

              Man kann auch den Energiewert verwenden, um daraus jede Minute den Mittelwert der Leistung zu ermitteln; am besten im gleichen Script, da dort sicherlich die ungerundeten Werte zur Verfügung stehen.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              frank2604F 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @ente34 sagte: Andernfalls müsste man sich die Zeitstempel merken und das Produkt aus Zeit und Wert aufsummieren

                Das wird bereits gemacht:

                @frank2604 sagte in Aus sekündlichen Leistungsdaten Minutendurchschnitt bilden:

                daraus mittels Skript die Energie (Wh) berechne,

                Man kann auch den Energiewert verwenden, um daraus jede Minute den Mittelwert der Leistung zu ermitteln; am besten im gleichen Script, da dort sicherlich die ungerundeten Werte zur Verfügung stehen.

                frank2604F Offline
                frank2604F Offline
                frank2604
                schrieb am zuletzt editiert von
                #9

                @paul53

                Zunächst einmal vielen Dank für die Idee mit dem Blockly-Skript. Das funktioniert schon mal prima. Mit 'Liste' hatte ich bisher noch nicht gearbeitet. Hatte keine Ahnung, was man damit anfangen kann :+1:. Wenn ich das für alle DP machen möchte, müsste ich für jeden ein Skript anlegen, richtig?

                Zur Idee mit der Rückrechnung aus der Energie. Hier mal der Ausschnitt aus dem JS-Skript für einen DP:

                // Datenpunkte für die QUELLEN (Leistung in W) in Konstante schreiben
                 const idNetzbezugW             = 'javascript.0.Strom.Netzbezug.Leistung'/*Netzbezug Leistung*/
                
                 // Datenpunkte der ZIELE (Energie in Wh) in Konstante schreiben
                 const idNetzbezugWh           = 'javascript.0.Strom.Netzbezug.Fortlaufend'/*Netzbezug fortlaufend*/
                
                // Variablen für die Fortschreibung der Energie definieren und mit dem letzen Wert füllen, falls Skript gestopt wurde
                 var energyNetzbezug            = getState("javascript.0.Strom.Netzbezug.Fortlaufend").val;
                
                 // Berechnung durchführen und Werte in Ziel-Datenpunkte schreiben
                 on({ id: idNetzbezugW }, function (dp) {
                     energyNetzbezug = energyNetzbezug + dp.oldState.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
                     setState(idNetzbezugWh, Math.round(energyNetzbezug * 1000) / 1000 , true); // Wh gerundet auf 3 Nachkommastellen
                

                Wie würdest Du das mit der Berechnung für dem Minutendurchschnitt der Leistung machen? Sorry, bin nicht so fit in JS und habe mir das obige auch nur zusammengesucht ...:grin:

                Intel NUC8 i3, Proxmox, VM Ubuntu, ioBroker
                Philips HUE, Homematic CCU3, Zigbee, Yamaha MusicCast, Vorwerk ...

                paul53P 1 Antwort Letzte Antwort
                0
                • frank2604F frank2604

                  @paul53

                  Zunächst einmal vielen Dank für die Idee mit dem Blockly-Skript. Das funktioniert schon mal prima. Mit 'Liste' hatte ich bisher noch nicht gearbeitet. Hatte keine Ahnung, was man damit anfangen kann :+1:. Wenn ich das für alle DP machen möchte, müsste ich für jeden ein Skript anlegen, richtig?

                  Zur Idee mit der Rückrechnung aus der Energie. Hier mal der Ausschnitt aus dem JS-Skript für einen DP:

                  // Datenpunkte für die QUELLEN (Leistung in W) in Konstante schreiben
                   const idNetzbezugW             = 'javascript.0.Strom.Netzbezug.Leistung'/*Netzbezug Leistung*/
                  
                   // Datenpunkte der ZIELE (Energie in Wh) in Konstante schreiben
                   const idNetzbezugWh           = 'javascript.0.Strom.Netzbezug.Fortlaufend'/*Netzbezug fortlaufend*/
                  
                  // Variablen für die Fortschreibung der Energie definieren und mit dem letzen Wert füllen, falls Skript gestopt wurde
                   var energyNetzbezug            = getState("javascript.0.Strom.Netzbezug.Fortlaufend").val;
                  
                   // Berechnung durchführen und Werte in Ziel-Datenpunkte schreiben
                   on({ id: idNetzbezugW }, function (dp) {
                       energyNetzbezug = energyNetzbezug + dp.oldState.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
                       setState(idNetzbezugWh, Math.round(energyNetzbezug * 1000) / 1000 , true); // Wh gerundet auf 3 Nachkommastellen
                  

                  Wie würdest Du das mit der Berechnung für dem Minutendurchschnitt der Leistung machen? Sorry, bin nicht so fit in JS und habe mir das obige auch nur zusammengesucht ...:grin:

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #10

                  @frank2604 sagte: Wie würdest Du das mit der Berechnung für dem Minutendurchschnitt der Leistung machen?

                  Ergänzen:

                  var Wh;
                  schedule('* * * * *', function() {
                      if(Wh) {
                          let mittel = 60 * (energyNetzbezug - Wh);
                          setState(idMittel, Math.round(mittel), true);
                      }
                      Wh = energyNetzbezug;
                  });
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  E 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @frank2604 sagte: Wie würdest Du das mit der Berechnung für dem Minutendurchschnitt der Leistung machen?

                    Ergänzen:

                    var Wh;
                    schedule('* * * * *', function() {
                        if(Wh) {
                            let mittel = 60 * (energyNetzbezug - Wh);
                            setState(idMittel, Math.round(mittel), true);
                        }
                        Wh = energyNetzbezug;
                    });
                    
                    E Offline
                    E Offline
                    ente34
                    schrieb am zuletzt editiert von
                    #11

                    @paul53
                    Wäre es nicht ressourcen-schonender, man würde die Werte gleich aufsummieren?
                    Man bräucht dann nur einen Zähler+Summe pro Energiewert.
                    Das würden vermutlich auch den Garbage Collector etwas beruhigen.
                    Ich bin allerdings kein Javascript Experte...
                    Und wenn man im Hinterkopf behält, dass @frank2604 20 Werte mitteln will, würdest Du dann 20 Trigger erstellen oder lieber einen sekündlichen Zeitplan, der dann alle Werte abklappert?

                    Eigentlich ein ganz spannendes Projekt ...

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • E ente34

                      @paul53
                      Wäre es nicht ressourcen-schonender, man würde die Werte gleich aufsummieren?
                      Man bräucht dann nur einen Zähler+Summe pro Energiewert.
                      Das würden vermutlich auch den Garbage Collector etwas beruhigen.
                      Ich bin allerdings kein Javascript Experte...
                      Und wenn man im Hinterkopf behält, dass @frank2604 20 Werte mitteln will, würdest Du dann 20 Trigger erstellen oder lieber einen sekündlichen Zeitplan, der dann alle Werte abklappert?

                      Eigentlich ein ganz spannendes Projekt ...

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #12

                      @ente34 sagte: würdest Du dann 20 Trigger erstellen oder lieber einen sekündlichen Zeitplan, der dann alle Werte abklappert?

                      Wenn alle Werte in einem Script vorhanden sind, würde ich nur einen Minuten-Zeitplan verwenden.
                      Da die Wh im Datenpunkt offenbar auf 3 Nachkommastellen gerundet sind - was ungewöhnlich ist, kann man auch in einem getrennten Skript alle Datenpunkte abklappern.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      555

                      Online

                      32.7k

                      Benutzer

                      82.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe