Ankündigung

Einklappen
Keine Ankündigung bisher.

Summe von 2 Datenarchiven A + B = Datenarchiv C

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Summe von 2 Datenarchiven A + B = Datenarchiv C

    Hallo allerseits,

    hat sich jemand schon mal dieser Aufgabe angenommen und hat vielleicht einen LBS "im Köcher". Oder gibt es gar schon eine zum Download und ich habe ihn übersehen?

    Hintergrund: Edomis Diagramme sind klasse, aber leider kann man noch immer nicht "stapeln" für die on-the-fly-Darstellung der Summe von mehreren Datenarchiven/Kurven.

    Wenn man nun aber z.b. 2 Datenarchive mit Werten für 2 PV-Solarflächen hat (z.B. 2 Dachflächen oder 2 Gebäuden) hat, wünscht man sich natürlich auch eine Summen-Kurve im Diagramm. Daher wäre die Summe von 2 (oder ggf. sogar mehreren) Quell-Datenarchiven in ein Ziel-Datenarchiv sehr hilfreich z.B. für einen definierten Zeitraum. Und falls da schon jemand etwas hat, muss man das ja nicht noch mal erfinden. Ein Besonderheit ist sicher das quantisieren auf eine Ziel-Zeitgranularität, die ja in den Quelle unterschiedlich granaular sein kann bzw. verschoben/abweichende Zeitstempel.

    gaert : Oder ist Kurven stapeln/Summenkurve vielleicht schon bei Dir auf dem Radar und absehbar? Denn das wäre natürlich bessere Lösung, weil die Daten ja letztlich redundant sind und nur zum Zwecke der Diagramm-Darstellung.
    Oder gleichwertig ein (ggf. virtuellen = on-the-fly) Datenarchiv vom Type "Summe mehrerer Datenarchive" für die Verwendung in Diagrammen?
    Wenn nicht, dann lohnen sich noch die Gedanken an einen LBS.

    Lieben Dank,
    Carsten
    Zuletzt geändert von saegefisch; 20.04.2021, 23:01.

    #2
    Ich hab das in einem einzigen Diagramm gemacht.. ist aber eher ein Workaround.
    Ich hab ganz dumm die beiden Werte Addiert und in ein neues Datenarchiv geschrieben.
    Diese dann einfach zusammen in ein Diagramm. Wenn beide Balken gleich breit konfiguriert sind sieht es wie gestapelt aus.

    Das funktioniert aber natürlich nur bei gleichen Zeitstempeln !
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #3
      ...wenn die die Daten einzeln vorliegen und mit gleichem Zeitstempel, dann liegt diese Lösung natürlich auf der Hand...
      Das geht auch nur, wenn die Daten für jetzt genau jetzt vorliegen (timestamp aktuell).

      Schon wenn die Daten einzeln für einen Zeitraum verfügbar sind (z.B. als JSON aus einem Forecast) - man kann mit den Befehls-Hausmitteln nur für den aktuellen timestamp etwas schreiben und nicht für einen dedizierten aus den JSON-Daten. Sonst wär's ja tatsächlich einfach.

      Und besonders, wenn ein LBS die Daten auf einmal in ein Datenarchiv schreibt, geht das nicht mehr - und genau vor dem Thema stehe ich. Die beiden Quell-Datenarchive sind stets "bereits da"...

      Kommentar


        #4
        saegefisch Welche Auflösung stellst Du Dir denn vor? Hab gerade einen andren LBS in der Mache, wo Tagessummen aus mehreren Datenarchiven gebildet werden könnten. Das ganze dann in ein neues Archiv zu pressen, wäre nicht aufwändig..

        Kommentar


          #5
          Hallo Micha,
          da ich da selber keine gute Lösungsidee hatte und erst recht keine generische, hatte ich (bisher nur gedanklich) eher gedacht, ich würden den (fremden) Quell-LBS mal so anreichern, dass er statt bisher 1 Quelle per JSON x Quellen ermittelt und die x Einzel-Ergebnisse in x DAs schreibt und zusätzlich ein Summen-DA.

          Aber Du bist immer für eine Überraschung gut... Danke schon vorab für Deine Gedanken dazu...

          Quelle 1
          Code:
          {"key":"2021-05-05 05:47:00","value":"0"},
          {"key":"2021-05-05 06:16:00","value":"18"},
          {"key":"2021-05-05 06:45:00","value":"108"},
          {"key":"2021-05-05 07:00:00","value":"181"},
          {"key":"2021-05-05 08:00:00","value":"632"},
          [...stündlich]
          {"key":"2021-05-05 17:00:00","value":"957"},
          {"key":"2021-05-05 18:00:00","value":"578"},
          {"key":"2021-05-05 19:00:00","value":"265"},
          {"key":"2021-05-05 20:00:00","value":"36"},
          {"key":"2021-05-05 20:59:00","value":"0"}
          Quelle 2
          Code:
          {"key":"2021-05-05 05:47:00","value":"0"},
          {"key":"2021-05-05 06:16:00","value":"14"},
          {"key":"2021-05-05 06:45:00","value":"94"},
          {"key":"2021-05-05 07:00:00","value":"152"},
          {"key":"2021-05-05 08:00:00","value":"402"},
          [...stündlich]
          {"key":"2021-05-05 17:00:00","value":"507"},
          {"key":"2021-05-05 18:00:00","value":"333"},
          {"key":"2021-05-05 19:00:00","value":"174"},
          {"key":"2021-05-05 20:00:00","value":"25"},
          {"key":"2021-05-05 20:59:00","value":"0"}
          Da das zwar Astro-abhängig, ändern sich die Zeiten und die Anzahl der Sätze über das Jahr, aber zumindest für meinen Zweck würde ich sagen: Summe alle Werte der selben Minute in Ziel-DA. Vielleicht kann man das Quantisierungsintervall variabel halten (in meinem Fall halt "1 Minute")
          In diesem Fall ist's auch einfach, weil die beiden Quell-DA jeden Tag gelöscht werden. Entweder putzt man jeden Tag das Ziel-DA oder man macht die Summe nur für TS, die noch nicht im Ziel-DA bereit stehen -> das dürften die neuen sein. Damit würde der LBS nur ein Delta ins ZIel-DA schreiben.
          Zuletzt geändert von saegefisch; 05.05.2021, 16:01.

          Kommentar


            #6
            Mich würde eher die Auflösung im neu zu erstellenden Export Archiv interessieren, brauchst Du da auch eine minütliche Auflösung? Das könnte bei einigen Datensammlern hier im Forum dann wohl etwas dauern

            Kommentar


              #7
              das dürfte wohl stimmen...

              Naja...ich denke, man sollte bei jedem DA schon wissen, zu welchem Zweck und mit welcher Granularität man etwas sammelt. Aber da sind wir uns sicher ziemlich einig...

              Aber zu Deiner Frage: Die Auflösung würde ich für meinen Zweck gerne unverändert lasen, aber gerne wählbar quantisieren/zusammenfassen/begradigen (alle Werte eines Intervalls z.B. auf das Intervall-Ende), in meinem Fall z.B. auf volle Minuten. Wenn es an die Kür geht: Gerne auch wählbar anfang/mitte/ende, also wird bei Quantisierung auf "Stunde" aus 6:16 + 6:45 -> 7:00 oder aus 6:16 + 6:45 -> 6:30 oder 6:16 + 6:45 -> 6:00
              Man müsste dann wohl noch wählen, ob letzter, erster, min, max, summe oder Mittelwert - weil manche Werte wollen Summen, manche genau nicht. Dabei meint dies die Werte eines DAs in einem Qunantisierungsintervalls. Bei dem LBS wäre das End-Ergebnisse dann immer die Summe der x Zwischenergebnisse für das Ziel-DA.

              Würde man in meinem Beispiel die Quantisierung mit den drei Optionen "Stunde | Anfang | Summe" wählen, dann würde ich für jede voll Stunde die Summe bekommen, also im ersten Beispiel würden auch inhaltlich richigerweise die beiden Werte 18 + 108 = 126 zum TS 06:00 addiert. Mit "Stunde | Ende | min" wäre es "18" zum TS 07:00

              Wenn ein Datensammler in unterschiedlichen 10-sek-Takt x DAs befeuert. Und dann käme Deine LBS z.B. mit Quantisierung auf Minute.
              Daraus ergäbe sich dann im Summen-DA zur vollen Minute z.B. die Summe des je letzten Wertes der Quell-DAs. Oder die Summe der jeweiligen Mittelwerte der Messwerte der letzten Minute in den Quell-DAs.

              Das wär' schon sehr schön flexibel. Wenn Du das überhaupt so ausstaffieren magst. Ich kann bei Bedarf auch Dir noch Code zu liefern für die verschieden Optionen, wenn Du da keine Lust drauf hast.
              Zuletzt geändert von saegefisch; 06.05.2021, 12:53.

              Kommentar


                #8
                Sagen wir mal so, der jetzige Stand ist ein bessere 10 Zeiler, und der Summiert entweder auf Minute, Stunde, Tag, Monat oder Jahr. Also so viel Code wollt ich da nicht noch reinpacken, das Du da zuliefern musst

                Kommentar


                  #9
                  wollte nur nicht, dass sich meine Gedanken wie Anspruchsdenken und "mach mal" anhören...

                  Kommentar


                    #10
                    So hier dann mal das Ergebniss: http://service.knx-user-forum.de/?co...ad&id=19001758

                    Kommentar

                    Lädt...
                    X