Ankündigung

Einklappen
Keine Ankündigung bisher.

Plot Period

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

    Plot Period

    Hallo zusammen,
    ich habe folgendes Problem mit Plot.Period. Ich zeichne die Leistungsmessung eines Aktors mit dem Database plugin auf. Der Aktor sendet nur dann eine neue Leistungsmessung, wenn sich diese auch ändert. In folgendem Beispiel wurde der Aktor irgendwann am 22. Januar ausgeschaltet. (Leistung = 0W). Am Folgetag am 23. Januar um 15:52 wird der Aktor eingeschaltet und liefert die ersten Leistungsmessungen (=20W).

    Das Problem: Im plot.period widget wird im Modus 'Raw' die Messung 0W linear mit der Messung 20W verbunden. Diese Darstellung ist allerdings falsch und berrücksichtigt nicht die Gültigkeitsdauer der Messungen. Die Gültigkeitsdauer liegt im Database plugin vor, wird hier aber nicht berrücksichtigt. Hat noch jemand das Problem oder kennt eine Lösung?


    Screenshot.png

    #2
    Das wurde doch schon mehrfach diskutiert.

    Zusammengefasst das Problem:
    Man kann aufgrund der jetzigen Daten nicht wissen, wie diese zu interpretieren sind. Grundsätzlich ist eine Interpolation sinnvoll, weil die erfassten Datenpunkte sprunghaft sind. Damit sind sie eben meist nicht während der geloggten Dauer gültig, sondern nur zum Startzeitpunkt.

    Problematisch wird es, wenn der Wert lange konstant bleibt, wie in deinem Fall. Die Lösung dafür wäre, den Wert zyklisch zu senden und auch zu loggen. Damit weiss man, wann der Wert zuletzt sicher gleich war.
    Das Loggen ist im Moment nicht möglich, weil das database Plugin nur bei Änderung schreibt.

    Einzige Alternative aktuell ist, den Modus auf "stair" anstatt "line" zu setzen. Das macht genau das, was du anfragst.
    Damit stimmt aber der Bereich mit Betrieb nicht mehr recht, weil da die Änderungen nicht sprunghaft wären.
    In deinem Fall dürfte das aber das kleinere Übel sein.

    Kommentar


      #3
      Hi,

      wenn es funktioniert, wäre ein BLOG Eintrag sehr schön... ich glaube das Thema haben mehrere...

      Danke
      Markus

      Kommentar


        #4
        Ich habe bereits geplant, eine Sammlung von Anwendungsfällen bzw. Best Practices zu machen, in der Art:
        Anwendungsfall mode exposure enforce_updates*
        Temperatur (Messwert), Luftfeuchtigkeit, VOC, ... avg line false
        Temperatur (Sollwert) raw stair false
        Momentanleistung/Durchfluss avg line true
        Verbrauchszähler (Energie, Wasser, Gas, ...) diff:min line ?
        Füllstand (Pelletlager, Öltank, ...) max line ?
        Verbrauch aus Füllstand (Pellets, Öl, ...) diff:max line ?
        Füllstand Zisterne avg line false
        ....
        * Zusätzlich muss der Sensor periodisch senden oder cycle verwendet werden.

        Bei Füllstand und Verbrauch kommt es auf die Auflösung der Sensordaten an, was korrektere Werte liefert.
        Wenn z.B. der Zähler nur ganze kWh erfasst, man periodisch alle 10min sendet und z.B. Nachts der Verbrauch längere Zeit 500W beträgt, dann würde enforce_updates fälschlicherweise einen Knick anzeigen trotz konstantem Verbrauch.
        Umgekehrt würde ohne enforce_updates ein plötzlich einsetzender Anstieg nicht als solcher angezeigt sondern wie in der Ursprungsfrage hier als konstant ansteigende Linie.
        Ohne ausreichend hohe Sensorauflösung lässt sich das Problem also nicht lösen.

        Aber ist eh alles erst Theorie, weil zuerst die Änderung im database Plugin implementiert werden bzw. in den Release kommen müssen. Ich persönlich habe im Moment leider keine Zeit dafür.

        Kommentar


          #5
          Hallo,

          ich schlag mich grad mit plot.period und weiterführend mit den anderen plots rum.
          Ich habe das Phänomen, dass ich einen multiplot (mit zwei oder drei lines) darstellen kann (mit Temperaturen) > nun wollte ich meine Download- und Uploadrate visualisieren und in einem plot darstellen. Leider haut dies einfach nicht hin.

          Kann es sein, dass wenn der Unterschied der beiden Werte zu hoch ist, dass der plot Probleme bekommt? Hab dies auch mit den Gesamtvolumen von Down- und Upload probiert und auch hier hauts nicht hin. Es wird nur eine line dargestellt.

          HTML-Code:
          {{ plot.period('', ['Upload_KG_Technik_Number', 'Download_KG_Technik_Number'], 'avg', '12h', 'now', '', '', '', ['Upload', 'Download'], ['yellow', 'red'], 'line') }}
          Des weiteren habe ich mit dem plot.gauge Probleme, dass ich keine Werte darstellen kann > es wird kein Wert gezeichnet
          Bei plot.pie wird der Name der Werte nicht übernommen > es ist nur <slice 1> und <slice 2> angezeigt.

          Ich nutze SV 2.9 und openhab2

          Wenn irgendwer multiplots in dieser Konstellation benutzt, bin ich offen für Inputs

          besten Dank im Voraus

          EDIT: okay, es dürfte anscheinend ein openhab2 treiber Problem sein. >> Bin hier auf den Ersteller des Treibers angewiesen. Kann man denjenigen erreichen?
          Wenn ich alle items vorher als single plot darstelle, funktionieren die multiplots. Falls ich hier einen Fehler gemacht habe (kann ich im Moment nicht ausschließen) >> sorry für den langen Post
          Zuletzt geändert von wu3mi; 26.01.2019, 14:53.

          Kommentar


            #6
            Hallo Zusammen,

            ich habe auch bereits seit Wochen keine Anzeige meiner Plots.Period mehr. Habe mich heute morgen auch einmal auf die Fehlersuche begeben, kann aber leider nichts finden, woran es liegen könnte. Das Problem entstand, nachdem ich im November die SmartVisu aus dem Develop Bereich aktualisiert habe. Hatte vorher bereits die 2.9 am laufen und habe diese nur aktualisiert.

            Plots.PNG
            Setze ebenfalls wie wu3mi Multiplots für diverse Darstellungen ein (oben einmal ein Besispiel meiner PV Anlage).
            Die Werte werden von dem History Adapter aus ioBroker übernommen. Die Ansteuerung erfolgt über den ioBroker Treiber. Alle sonstigen Zustände (Temperaturen, Leuchten Stati, etc..) werden ordnungsgemäß übernommen, so dass ich hier ein Treiber Problem ausschließe.

            Anbei einmal ein Aufbau meiner Blöcke anhand des Netzspannungsblocks:

            Code:
            <div class="block" style="width: 50%">
                <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                
                    <div data-role="collapsible" data-collapsed="false" >
                        <h3>Netzspannungen L1 | L2 | L3</h3>
                        
                        {{ plot.period('',['sma-em.0.1901403782.L1.v1','sma-em.0.1901403782.L2.v2', 'sma-em.0.1901403782.L3.v3'], 'avg', '6h', '', [''], [''], '180', ['Phase L1', 'Phase L2', 'Phase L3'], ['#8b2323', 'black', '#696969'], ['spline', 'spline', 'spline'], ['Zeit', 'Volt'], '0.5h', [1], [0], ['black'], ['linear']) }}
                        
                    </div>
                </div>    
                </div>
            Die Daten werden auch schön brav sekündlich im History Adapter gespeichert, so dass eine leere Datenbank auch nicht das Problem sein kann.
            Spannung.PNG

            Selbst wenn ich den Plot.period auf ein minimum mit nur einem Datenpunkt herunterbreche, wird kein Plot angezeigt.

            Code:
            {{ plot.period('', 'sma-em.0.1901403782.L1.v1', 'avg', '3h') }}
            Wenn hier noch jemand einen Lösungsansatz hätte, wie man dem Fehler auf die Spur kommen könnte, lasst es mich bitte wissen.


            Danke.
            Schöne Grüße

            Jochen






            Kommentar


              #7
              Hast Du denn immer noch die Version von November oder die aktuelle?

              Kommentar


                #8
                Zitat von schuma Beitrag anzeigen
                Hast Du denn immer noch die Version von November oder die aktuelle?
                Hallo schuma,

                nein hab mir heute morgen die aktuelle Develop installiert und dann meine Seite wieder hochgeladen.

                Kommentar


                  #9
                  Hast Du mal alle Caches gelöscht? (smartVISU + Browser)
                  Viele Grüße
                  Martin

                  Stay away from negative people. They have a problem for every solution.

                  Kommentar


                    #10
                    Zitat von Msinn Beitrag anzeigen
                    Hast Du mal alle Caches gelöscht? (smartVISU + Browser)
                    Hallo Msinn,

                    Ja, sowohl bei der smartVISU als auch bei den verwendeten Browsern. Während Änderungen an der Seite, habe ich zudem den Cache der SmartVISU eh immer deaktiviert um nicht in diese Falle zu tappen.

                    Die smartVISU läuft in einer virtuellen Linux Umgebung auf einer QNAP-TS879Pro mit 16GB RAM. Zudem ist auf dem gleichen System auch der ioBroker als Master aufgesetzt. Bisher hatte ich weder mit dem Datenaustausch bzw. mit der Geschwindigkeit der Darstellung der smartVISU Probleme. Auch mit ausgeschaltetem Cache läuft der Seitenaufbau sehr zügig.

                    Heute morgen habe ich zudem ja die SmartVisu mit allen Rechten neu aufgesetzt. Nicht einfach nur "drüber" gebügelt. Dennoch macht es keinen Unterschied und die Plots werden nicht dargestellt.

                    Schöne Grüße
                    Jochen

                    Kommentar


                      #11
                      TJJochen ich werde das bei Gelegenheit anschauen. Dauert etwas, weil ich erst mal einen aktuellen ioBroker aufsetzen muss.

                      Hat aber mit dem Thema hier wenig zu tun und es wäre auch kein Doppelpost nötig gewesen.

                      Kommentar

                      Lädt...
                      X