Ankündigung

Einklappen
Keine Ankündigung bisher.

SQLite Plugin überarbeitet (in Release 1.1)

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

    #31
    Bei der Strommessung meine Waschmaschine sieht es ähnlich abstrus aus. Da wird um 22:00 ne 0 in die Datenbank geschrieben und am nächsten Tag um 17:00 wieder gewaschen. Auf dem Plot scheint dann die Leistung kontinuierlich von 17-22:00 zu steigen was natürlich Käse ist.
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #32
      Hallo,

      ich denke Ihr müsst den Graphen-Style Stairs wählen.

      Und ja, bzgl. Bool habe ich mir was überlegt was ich aber wahrscheinlich erst nach dem nächsten Release umsetze.

      Bis bald

      Marcus

      Kommentar


        #33
        Ich möchte einen Mangel in der Datenreihe nicht unbedingt durch eine andere Darstellung kaschieren. Eine stetige Funktion sollte als eine solche darstellbar sein. Sonst haben Linienplots ausgedient. Es ist für mich wichtig, dass transiente Prozesse (Abtauen des Verdampfers, Außen-PM an/aus, etc.) im Plot dargestellt werden können, damit ich ggf. eine Häufung o.ä. auf einen Blick erkennen kann, ohne in irgendwelchen Datentabellen wühlen zu müssen. Es wäre nett, wenn es eine Option gäbe, die Daten nicht so stark komprimieren zu lassen. Oder bricht die DB-Performance so stark ein?

        Übrigens, meine Datenbank ist wieder um fast 1 MB geschrumpft.

        Kommentar


          #34
          Hi,

          dadurch wird nichts kaschiert. Dadurch wird der jeweils gelieferte Wert abgebildet. Das bietet sich bei den Werten an die sich nicht stetig ändern.

          Per default fragt die Visu 100 Werte für den Plot an. Dabei werden 100 Zeitfenster gebildet. Für jedes dieser Fenster wird maximal ein Wert zurückgeliefert.
          Wenn mehrere Werte in dem Fenster liegen, werden diese entsprechend der gewünschten Art (avg, min, max) aggregiert. Wenn kein Wert in dem Zeitfenster liegt, wird kein Wert zurück gemeldet.

          Und ja, ich denke ein Pi bzw. die SD ist überfordert wenn man die Daten nicht so stark komprimiert. Ich denke, abgesehen von der Phase beim packen, ist die Komprimierung auch nicht so stark. Dich trifft wahrscheinlich eher die Limitierung durch die 100 Werte. Wenn Du die Werte erhöhst könnte Dir evtl. die SD im Pi als Flaschenhals fungieren.

          Bis bald

          Marcus

          Kommentar


            #35
            Hi Marcus,

            wie man in den Bildern sieht, war der prinzipielle Kurvenverlauf mit der alten sqlite-Version anders. Denn ich habe Plots schon lange nicht mehr überarbeitet. Daher möchte ich nicht an den Symptomen herumdoktern.

            Das bietet sich bei den Werten an die sich nicht stetig ändern.
            Das ist es ja. Meine Werte haben zwar ein paar Bereiche, die für eine Weile konstant bleiben, aber sonst ändern sie sich stetig.

            Wenn du eine Möglichkeit siehst, das Kompressionsverhalten zu "verschönern", mache ich eine Aufzeichnung und Datenanalyse am Wochenende. Sonst muss ich wohl auf die alte DB-Version umsteigen und mit 25 MB pro Monat leben.

            Gruß
            toggle

            Kommentar


              #36
              Hi
              Erhöht mal die Werte für den Plot. Bei meiner Heizung waren 100 zu wenig. Da sah der Plot auch seltsam aus. Ich Frage jetzt einfach viel mehr an und der Plot ist plausibel.

              Grüße Ronny

              Kommentar


                #37
                Zitat von stromie Beitrag anzeigen
                Hi
                Erhöht mal die Werte für den Plot. Bei meiner Heizung waren 100 zu wenig. Da sah der Plot auch seltsam aus. Ich Frage jetzt einfach viel mehr an und der Plot ist plausibel.
                Das bringt leider nichts, weil die Werte in der DB für einen Zeitraum von über 2 Stunden wegoptimiert worden sind. Siehe mein Beispiel oben.

                Kommentar


                  #38
                  Hallo,

                  Du kannst ja die Granularität im Plugin ändern. Dann wird nicht mehr so viel rausgeworfen.

                  Michel

                  Kommentar


                    #39
                    Das Problem scheint mir ein anderes.

                    Das item zählt ab der vollen Stunde jede Minute von 30 eins runter. Zur Halben Stunde verbleibt der Wert auf 0 bis wieder mit 30 begonnen wird und runter gezählt wird. Eigentlich sollte sich ein "Sägezahn" mit Zwischenraum bilden. Statt dessen erhält man eine Zick-Zack-Linie.

                    Das halte ich einfach für falsch.

                    Code:
                    [sql]
                    type = num
                    sqlite = yes
                    eval_trigger = minute.since.hour
                    eval = 30 - sh.minute.since.hour() if (sh.minute.since.hour() < 30) else 0
                    Code:
                    {{ plot.period('p1','sql', 'max', '4h') }}
                    Habe es gerade erst angelegt aber es zeigt sehr gut was an der Darstellung nicht passt. Jetzt die Frage ob es ein Thema für sh.py oder die smartvisu ist.

                    Gruß Mirko
                    Angehängte Dateien
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar


                      #40
                      Hallo Mirko,

                      Die Darstellung passt aus meiner Sicht zu dem, was Marcus zur Datenbank gesagt hatte: die Daten werden heruntergezähl, das sieht man. Dann bleibt der Wert 0 in der DB. Die werden nicht immer wieder abgespeichert, weil sie sich ja nicht ändern. Dann kommt der Sägezahn wieder neu nach 30 Minuten und beginnt von oben. Plot verbindet dann die beiden Punkte. Das sieht dann so aus, als würde die Kurve mit einer Steigung nach oben laufen. Wenn du die übertragenen Werte von smarthome nach smartvisu anschaust, dann wirst unwahrscheinlich keine Datenpunkte während dem aufsteigenden Ast bemerken.

                      Wenn du aus die Darstellung step wählst, wirst du den Sprung nach oben sehen.

                      Michel

                      Kommentar


                        #41
                        Das dieses Verhalten auftreten wird war mir klar - darüber wundere ich mich auch nicht.

                        Aber:
                        Ein Diagramm zeigt das Verhältnis von 2 Größen zueinander. In diesem Falle den zeitlichen Verlauf (x) der Größe (y).
                        Das was hier passiert ist mathematisch einfach falsch. Um 19:40 war y auf keinen Fall 12 sondern 0. Damit ist das Diagramm eigentlich wertlos.
                        Auf stairs zu wechseln ist doch da nicht der richtige Weg.

                        Ich hoffe es fühlt sich niemand persönlich angegriffen - versteht das einfach als konstruktive Kritik. Ansonsten mag ich sh.py ja sehr. Aber so ein Diagramm würde ich keinesfalls in MEINE Visu einbauen - entweder richtig oder gar nicht.

                        Gruß Mirko
                        Umgezogen? Ja! ... Fertig? Nein!
                        Baustelle 2.0 !

                        Kommentar


                          #42
                          Hi Mirko,

                          auf Stairs zu wechseln ist der richtige Weg. Damit werden Deine Daten korrekt angezeigt.
                          Die gilt nicht zwingend für alte Daten (Komprimierung) oder für sich schnell ändernde Daten (mangelnde Auflösung).

                          Was passt Dir denn an Stairs nicht?

                          Bis morgen

                          Marcus

                          Kommentar


                            #43
                            Hi Marcus,

                            angenommen, du hattest einen Ball und möchtest wieder so einen haben. Jemand versucht dir aber stattdessen einen Würfel schmackhaft zu machen. Würdest du darauf eingehen?

                            So ist es ungefähr mit den Stairscharts. Ich möchte keine Kanten bei stetigen Funktionen wie Temperatur, Energieverbrauch, etc. sehen. Ich wiederhole es nochmal - mit Stairscharts kaschiert man Daten-Artefakte, die es früher nicht gab. Und schöner wird diese Darstellung keineswegs.

                            Gruß
                            toggle

                            Kommentar


                              #44
                              Hallo Toggle,

                              ich versuche Dir nichts schmackhaft zu machen. Abgesehen von Nachfragen, was habe ich davon das Du das Plugin einsetzt?

                              Das Backend wird normalerweise zyklisch oder bei Wertänderungen aktualisiert. Diese Werte wandern normalerweise* 1:1 in die DB.
                              Bei dem alten Plugin wurden die Werte bei Änderungen und zusätzlich dazu zyklisch in die DB geschrieben.
                              Das neue ist intelligenter und speichert weniger Punkte ohne Informationen zu verlieren. Im Gegenteil es ist sogar besser, da keine "falschen" Information gespeichert werden. z.B. bei Temperaturwerten die du alle fünf Minuten geschickt bekommst.

                              Angenommen du nimmst das alte Plugin und du würdest es jede Sekunde den jeweils vorliegenden Wert in die DB schreiben lassen. Damit hast Du ja eine sekundliche Auflösung der Daten. Es würden dann aber alle deine line-Plots wie stair-Plots aussehen. Und du könntest nichts am aussehen verändern.

                              Das Ergebnis entspricht damit ungefähr dem neuen Plugin mit einem stair-Plot.
                              Für sich lineare Änderungen (Temperature, Stromverbrauch insgesamt) kannst Du das bei dem neuen Plugin aber einen line-Plot nehmen, der die Änderungen wesentlich akkurater als das alte Plugin darstellt.
                              Sollten dir Datenpunkte fehlen musst die halt die Auflösung in der Visa erhöhen, also mehr als die 100 Punkte abfragen. Davon ausgenommen sind die * Lücken.

                              Ich bin fest davon überzeugt das das neue Plugin mathematisch alles richtig macht. Wenn jemand ein Problem mit der Darstellung hat, muss das in der Visu gefixt oder angepasst werden.

                              Wenn es nachweislich ein Problem in der Speicherung gibt, bin ich gerne bereit diese zu fixen. Der Nachweis funktioniert aber nicht über: früher sah es anders aus, ich will es wieder wie früher. Früher ist nicht alles besser gewesen.

                              Bis bald

                              Marcus

                              * Nicht während der Packphase, oder wenn es sehr viele Änderungen innerhalb kurzer Zeit gibt.

                              P.S. ich werde hier keinen weiteren Erklärungsversuche unternehmen.

                              Kommentar


                                #45
                                Marcus,

                                ich freue mich sehr darüber, dass es smarthome.pi und Plugins gibt, die gepflegt und aktualisiert werden.

                                Aber ich kann deine Meinung nicht teilen, dass alles in Ordnung ist. JuMi hat es doch experimentell belegt, dass man nicht das zurück bekommt, was man abgespeichert hat. Ich habe das Gefühl, dass dieser Nachweis nicht gut genug ist. Denn ihm wurde auch nahe gelegt Stairs zu benutzen.

                                Stetige Funktionen können auch Phasen haben, in denen der Wert konstant bleibt. Um solche Phasen in der DB korrekt abzubilden, muss man einen Wert am Anfang einer solchen Phase und den gleichen Wert am Ende speichern. Wenn der gleiche Wert am Ende fehlt, wird eine Erhöhung der Visu-Auflösung nichts bringen.

                                Gruß
                                toggle

                                Kommentar

                                Lädt...
                                X