Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Darstellung eines Plots bei lange unverändertem Wert

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

    Problem mit Darstellung eines Plots bei lange unverändertem Wert

    Hi

    Ich habe folgendes Problemchen. Erst mal ein Bild:

    Screenshot 2022-04-05 145846.png
    Die weiße Linie ist die DC Spannung des Wechselrichters. Die bricht logischerweise abends weg und bleibt auf diesem letzten Wert bis der WR morgens wieder startet (ca. 7:30 Uhr im Bild oben). Dadurch ergibt sich im Plot diese unschöne Linie. Ich habe jetzt mit plot.period jede erdenkliche Kombination versucht (min, max, avg, etc), es bleibt aber immer in etwa so.
    Geht das überhaupt mit plot.period, dass die Linie "unten bleibt" und erst beim neuen Wert wieder nach oben springt? Ich fürchte, das hängt mit dem SHNG Database Plugin zusammen, weil dort anscheinend der letzte Wert einfach stehen bleibt und dann eine Duration angegeben wird.

    Kann man das lösen?

    Gruß, Martin

    Edit: Ja, kann man. Das zugehörige item in SHNG mit dem Attribut enforce_change: yes versehen.
    Zuletzt geändert von Sipple; 07.04.2022, 07:11.

    #2
    Probier mal die Linienart "step" aus. Das sollten Dein Problem beheben.

    Kommentar


      #3
      Hi

      Welchen Parameter meinst du mit Linienart? Finde "step" in der plot.period Doku nicht. Wenn ich im Paramter exposure "step" versuche, wird die Seite nicht mehr geladen. Anderer Versuch im Parameter mode, dann ist die Kurve einfach weg.

      Aktuell sieht das Widget so aus

      Code:
      {{ plot.period('', ['SB15.Leistung.AC.Plot', 'SB15.Spannung.DC.Plot'], ['max', 'avg'], '24h', '', '', '', 100, ['AC Leistung', 'DC Spannung'], ['#f79a1f', '#fff'], ['areaspline', 'line'], ['', 'AC Leistung in W', 'DC Spannung in Volt'], '1h', [1, 2], [0, 1], '', '', ['w', 'v'], { legend: { verticalAlign: 'bottom', y: 20 } }) }}
      Zuletzt geändert von Sipple; 05.04.2022, 18:19.

      Kommentar


        #4
        Max/ avg durch step, raw ... ersetzen, denn das ist ja die darstellungsart des plots

        Kommentar


          #5
          Mit raw:

          Screenshot 2022-04-05 201529.png
          Sieht nur marginal anders aus, das Problem löst das nicht.

          Mit step:

          Screenshot 2022-04-05 201631.png Die Kurve verschwindet komplett.

          Alle anderen Optionen im mode Parameter helfen auch nicht.

          Kommentar


            #6
            Die Idee von Bonze ist richtig, aber es heißt „stair“, nicht „step“. Der Plot verbindet dann die Datenpunkte nicht linear, sondern stufenweise.

            Gruß
            Wolfram
            Zuletzt geändert von wvhn; 05.04.2022, 20:16.

            Kommentar


              #7
              Also so?

              Code:
              {{ plot.period('', ['SB15.Leistung.AC.Plot', 'SB15.Spannung.DC.Plot'], ['max', 'stair'], '24h', '', '', '', 100, ['AC Leistung', 'DC Spannung'], ['#f79a1f', '#fff'], ['areaspline', 'line'], ['', 'AC Leistung in W', 'DC Spannung in Volt'], '1h', [1, 2], [0, 1], '', '', ['w', 'v'], { legend: { verticalAlign: 'bottom', y: 20 } }) }}
              Ergebnis, siehe mein vorheriger Post. Kurve verschwunden.

              Kommentar


                #8
                Du hast es bei ‚mode‘ eingegeben, anstatt bei ‚exposure‘.
                Code:
                {{ plot.period('', ['SB15.Leistung.AC.Plot', 'SB15.Spannung.DC.Plot'], ['max', 'raw'], '24h', '', '', '', 100, ['AC Leistung', 'DC Spannung'], ['#f79a1f', '#fff'], ['areaspline', 'stair'], ['', 'AC Leistung in W', 'DC Spannung in Volt'], '1h', [1, 2], [0, 1], '', '', ['w', 'v'], { legend: { verticalAlign: 'bottom', y: 20 } }) }}
                sollte gehen.

                Gruß
                Wolfram

                Kommentar


                  #9
                  ok, jetzt, so

                  Code:
                  {{ plot.period('', ['SB15.Leistung.AC.Plot', 'SB15.Spannung.DC.Plot'], ['max', 'avg'], '24h', '', '', '', 100, ['AC Leistung', 'DC Spannung'], ['#f79a1f', '#fff'], ['areaspline', 'stair'], ['', 'AC Leistung in W', 'DC Spannung in Volt'], '1h', [1, 2], [0, 1], '', '', ['w', 'v'], { legend: { verticalAlign: 'bottom', y: 20 } }) }}
                  Screenshot 2022-04-05 213113.png nicht sehr schön, weil jetzt halt die ganze Kurve treppenförmig ist, aber erfüllt den Zweck. Ich denke das wäre nur schön zu machen, wenn man schon in SHNG eingreift und verhindert, dass dort nur einmal der Wert mit Duration reingeschrieben wird, wobei das ja eigentlich Sinn macht. Würde schon reichen, wenn der Wert noch einmal am Ende von Duration geschrieben würde. Ist aber wenn überhaupt ein Thema für SHNG.

                  Trotzdem Danke für Eure Hilfe.

                  Gruß, Martin

                  Kommentar


                    #10
                    Sipple Du kannst die Anzahl der Punkte hochsetzen, um die Abtastrate zu erhöhen und die Stufenbreite zu verringern.

                    Gruß
                    Wolfram
                    Zuletzt geändert von wvhn; 06.04.2022, 07:06.

                    Kommentar


                      #11
                      Damit habe ich schon gespielt, das bringt leider auch nichts, sieht eher noch bescheidener aus.

                      Hier die Einträge in der DB:

                      Screenshot 2022-04-06 084542.png
                      Screenshot 2022-04-06 084449.png
                      Der Zeitstempel des 0 Werts ganz oben: Beginnt am 5.4. um 19:50:00, endet am 6.4. um 07:35:53. Damit solche schrägen Linien bei den verschiedenen exposure Arten des Widgets nicht vorkommen, müssten beide Zeitstempel dieses Werts in Betracht gezogen werden, momentan aber nur der Beginn, oder habe ich da einen Denkfehler?
                      Jetzt gibt es ja auch viele andere Werte in Plots, die mal längere Zeit einen konstanten Wert haben, aber bei anderen ist mir das so krass noch nicht aufgefallen, weil der jeweils nächste, neue Wert nicht so springt. Die DC-Spannung von dem Wechselrichter ist halt nachts 0 und sobald er morgens anspringt, gleich mal z.B. 200.

                      Ich fürchte, da kann die Visu nichts dafür, das müsste, wenn das als unschön oder gar Bug bestätigt werden würde, in SHNG geändert werden, richtig?

                      Andererseits: "stair" macht es ja im Prinzip richtig, sieht halt sch... aus. Alle anderen, wie "line", "spline" etc. würden besser aussehen (in meinem Fall zumindest), aber die erzeugen den unschönen Effekt.

                      Zuletzt geändert von Sipple; 06.04.2022, 08:07.

                      Kommentar


                        #12
                        Tja - die Wahrheit sieht oft Sch… aus. Deswegen gibts ja so viel Fake-News.

                        Offensichtlich hast Du eine Logik laufen, die alle 5 Minuten einen Wert schreibt. Als Anzahl der Punkte sollte also 288 = 24 x 60 / 5 das beste Ergebnis bringen - vermutlich mit raw anstatt avg, weil es dann nichts mehr zu mitteln gibt.

                        Wenn Du jetzt noch dafür sorgst, dass auch nachts in der Datenbank Werte ankommen (enforce_updates ?), dann sollten die Verschönerungsmethoden wie line oder spline doch wieder ihr Werk tun können. Notfalls per UZSU oder Crontab eine gewisse Zeit vor Sonnenaufgang nochmal eine 0 ins item schreiben.

                        Gruß
                        Wolfram

                        Kommentar


                          #13
                          Klingt vernünftig, damit werde ich mal arbeiten.

                          Danke dir

                          Kommentar


                            #14
                            enforce_updates bringt nichts.
                            Aber dadurch habe ich enforce_change gefunden und das Attribut macht anscheined genau das was ich will.
                            Läuft seit einiger Zeit und jetzt kommen brav alle 5min 0en in die DB.
                            Sollte also morgen früh passen.

                            Update: Passt.
                            Zuletzt geändert von Sipple; 07.04.2022, 07:05.

                            Kommentar

                            Lädt...
                            X