Ankündigung

Einklappen
Keine Ankündigung bisher.

Plot für Zustand (offen/zu)

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

    #16
    Plot für Zustand (offen/zu)

    Du kannst doch einfach max nehmen. Dann wird die eins zuverlässig angezeigt.

    Bis bald

    Marcus

    Kommentar


      #17
      Ich muss mich hier jetzt mal dran hängen (und notfalls nen neuen Thread aufmachen ). Ich kapiere nicht, wie ich boolsche Items sinnvoll plotten kann. Irgendwie funzt das einfach nicht, wobei ich auch vermute, dass es an der Datenbank selbst liegt. Wenn ich das db-File im sqlitebrowser öffne, habe ich nur 11 "0" und über 700 "1" Werte drin. Konkret geht es um einen Bewegungsmelder via Binäreingang. Er sendet definitiv richtig, habe das auch im ETS Monitor gecheckt.

      So binde ich den Plot ein:
      Code:
      {{ plot.period('bewegung.plot', ['Bewegung.innen.Fuenfzehn', 'Bewegung.OG.Abgang'], 'max', '4h', '', '0', '', '', ['innen', 'außen' ], ['#007', '#0dd'], ['stair', 'stair'], ['Uhrzeit', 'Wert'], '30s') }}
      Das ist eines der Items:
      Code:
              
      [Bewegung]
      [[OG]]
      [[['Abgang']]]
              knx_dpt = 1
              visu_acl = ro
              type = bool
              knx_listen = 3/3/40       
              cache = false
              enforce_updates  = yes
              sqlite = yes
      Und so wie im Anhang sieht der Plot aus, wenn um 18.09 Uhr auf an und 18.10 Uhr auf 0 gesetzt wurde. Im stair_1 direkt danach ist eigentlich alles perfekt. Im stair_2 einige Minuten später, nachdem der BWM nochmals getriggert wurde. Die "1" ist zwar immer noch als Datenpunkt vorhanden, aber die "0" ist verschwunden..? Bei "avg" wird immer dir letzte 1/0 Kombo "normal" angezeigt, der Rest lässt sich zumindest erahnen, aber klar, dass dies nicht der richtige Ansatz ist.

      Ich schätze mal, dass hier viele Leute ihre boolschen Items plotten, allerdings war dieser Beitrag hier der einzige zum Thema, den ich gefunden hab. Hat sonst niemand Probleme? Bei normalen Werten klappt im Prinzip alles recht sauber - außer dass ich hier noch das Problem habe, dass bei einigen Items zwei Linien gezogen werden (siehe Anhang "fehler").. vielleicht gibt es ja auch dazu noch einen Tipp?

      Vielen Dank für eure Hilfe!

      Angehängte Dateien

      Kommentar


        #18
        Die Diskussion gabs schon, finde ich aber im Moment auch nicht. Am Ende sind die Plots für mich nur begrenzt nutzbar. as hat was mit der Datenbankkomprimierung zu tun.
        Am besten wäre es soetwas über ein rrd zu machen. Damit sollte es besser funktionieren.
        Ich hatte mal eine Testreihe mit Werten gemacht die eigentlich ein "Sägezahn"-Diagramm erzeugen müssten: 0,5,10,15,0,0,0,5,10,15,0,0,0,5,10,15 usw.. Dabei werden aber Nullen verworfen und es entsteht ein "Zick-Zack".
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #19
          Hi, Danke für die rasche Antwort.. du meinst statt dem sqlite das rrd-Plugin nutzen? Hatte ich auch schon probiert, dann aber rasch wieder verworfen. Weiß nicht mehr genau warum..

          Kommentar


            #20
            Es kann eigentlich nicht mit dem RRD Funktionieren, da beim Zusammenfassen der Daten nichts sinnvolles Raus kommen kann.
            Ich habe mich selbst nicht mehr darum gekümmert, aber ich suchte nach einer Lösung um den Plot dann so aussehen zu haben:
            Plot.PNG


            Um die offenen Stellen richtig darstellen zu können, muss er ja dann also genau wissen, ab wann eine 0 gestendet wurde, und ab wann sich dieser Status dann wieder geändert hat.

            Kommentar


              #21
              Das kommt drauf an wie man das RRD konfiguriert. Im RRD werden durchgehende Nullen jedenfalls nicht weggeworfen, das ist ja das eigentliche Problem des SQL-Plugins.
              100% sicher bin ich mir mit dem RRD auch nicht, denke aber es könnte ein gangbarer Weg sein - zum testen fehlt mir momentan die Zeit.

              Der von mir beschriebene "Sägezahn" lässt sich übrigens herstellen in dem man die Visu Seite nicht schließt während sich die Wertekette weiterentwickelt. Dann wird der Plot korrekt weitergezeichnet. Aktualisiert man die Seite und holt die Daten dann aus dem SQL-Plugin ist alles wieder futsch. Das einzige was gegen das RRD spricht ist die evtl. per default zu grobe Auflösung vom 300s. Die kann man aber auch anpassen. Dazu kommt dass ein Fenster auch mal den Zustand "0,64" annehmen kann .

              Ergänzend:
              Hier die (fast) passende Diskussion: https://knx-user-forum.de/forum/supp...in-release-1-1
              Zuletzt geändert von JuMi2006; 27.08.2015, 14:13.
              Umgezogen? Ja! ... Fertig? Nein!
              Baustelle 2.0 !

              Kommentar


                #22
                Jetzt muss ich blöd fragen.. primär werden ja nur die Nullen weggeworfen, oder..? Sprich, wenn man jetzt über ein zusätzliches Item die An/Aus-Phasen, die dort durch ein Eval auf 1 und 2 statt 0 1 gesetzt werden, visualisieren würde, sollte das Ganze dann klappen? Oder wenn ich zB die Helligkeit der Leuchten visualisieren möchte, müsste ich über ein Zusatzitem halt auch 0 Prozent auf 1 Prozent hoch schummeln, damit es sauber aufgezeichnet wird. Oder habe ich das falsch verstanden?

                Hat das mal wer in die Richtung probiert, sonst mach ich das und poste das Ergebnis hier

                Kommentar


                  #23
                  ich sehe das ganz anders: es wird nichts weg geworfen beim RRD sondern es wird der Mittelwert oder der Min/Max Wert gebildet (wenn die erste Datenscheibe voll ist) was dann später einfach zu keiner vernünftigen Anzeige führt. RRD kann also nicht sinnvoll damit verwendet werden. SQL wäre super, soweit ich weiss wird da auch nicht periodisch geloggt, sondern erst bei Änderung?! Was dann bei solchen Zuständen auch weniger Daten Produziert.

                  Es steht dann halt nicht drin:
                  05:00 - Fenster zu
                  05:01 - Fenster zu
                  05:02 - Fenster zu
                  .....
                  05:05 - Fenster auf
                  05:06 - Fenster auf
                  .....
                  05:20 - Fenster auf
                  05:21 - Fenster zu
                  .....
                  sondern ganz einfach

                  05:00 - 05:03 Fenster zu
                  05:05 - 05:20 Fester auf
                  05:21 - .... Fenster zu

                  Aber Ehrlich gesagt habe ich mich bin dem SQL Plugin nicht wirklich beschäftigt, das hier ist nur das was ich damit verbinde...

                  Das Problem ist dann dass später für mich die Daten zu kombinieren... Temperatur aus RRD, Fenster aus SQL...

                  Kommentar


                    #24
                    Danke für die bisherigen Analysen.. dann kann ich mir den erneuten Ausflug mit RRD wohl sparen.
                    Das Problem mit dem SQLite ist allerdings, dass eben offenbar auch Zwischenwerte mit 0 einfach mal geknickt werden. Ich habe noch keine Logik dahinter gefunden.. die letzte 0 wird jedenfalls gespeichert und evtl. mal eine dazwischen..

                    Mein Plot für einen BWM sieht zb so aus, wenn ich mit der Maus über die Stair fahre und so die Datenpunkte anschaue:

                    9:00 Uhr: 0
                    15.30 Uhr: 0
                    19.30 Uhr: 1
                    20:56 Uhr: 1
                    23:16 Uhr: 1

                    Dazwischen ist nichts, sprich die Punkte sind auch miteinander verbunden. Komisch ist also, dass zwei 0 und etliche 1 Werte hintereinander gespeichert sind. Noch komischer, dass zB zwischen 20:56 und 23:16 definitiv eine 0 fehlt, da in der Zwischenzeit definitiv keine Dauerbewegung stattgefunden hat.
                    Gibt's vielleicht eine sinnvolle Möglichkeit, die Daten zu debuggen? Eventuell kommt der Fehler ja auch von der smartVISU bzw. Highcharts?



                    Kommentar


                      #25
                      Soda, ich habe nun mal über sqlite3 direkt eine Abfrage der gespeicherten Daten gemacht und das sieht soweit alles doch richtig aus, mal abgesehen davon, dass die letzte "0" in der Liste nicht auftaucht, die sollte eigtl. am Schluss noch kommen...:

                      Code:
                      select datetime((_start/1000),'unixepoch','+002 hours') as tag, _item, _min, _dur, _max from num where _item like 'Bewegung' and tag like '2015-10-09%' order by tag;
                      2015-10-09 00:49:43|Bewegung|0.0|100532|0.0
                      2015-10-09 00:51:24|Bewegung|1.0|2667059|1.0
                      2015-10-09 01:35:51|Bewegung|0.0|104917|0.0
                      2015-10-09 01:37:36|Bewegung|1.0|2463915|1.0
                      2015-10-09 02:18:40|Bewegung|0.0|25088|0.0
                      2015-10-09 02:19:05|Bewegung|1.0|23476444|1.0
                      In der Visu zeigt der Plot allerdings mit Stair und Max über die ganze obige Dauer einfach nur eine durchgehende Linie auf Wert "1" an. Gibt's irgendwelche Ideen?

                      Kommentar


                        #26
                        ich habe es so gelößt: habe mir ein Hilfsitem gebastelt, dass den Wert des Zustands mit einem Faktor multipliziert und lasse mir diesen Ausplotten. Könnte man dann mit Area und Faktor 5 machen, dann sollt es so ählich aussehen wie gewünscht.

                        Kommentar


                          #27
                          Finde nur diese Beitrag zu dem Thema Bool in Plot darstellen. Hab folgende Zeile in Smartvisu:

                          Code:
                          {{ plot.period('px6', ['ozw.siemens.vorlauftemperatur_istwert_hk1','ozw.siemens.zustand_brennerstufe_1'], 'max', '96h', '24h', [25,'Off'], [60,'On'], '', ['Temperature','Heating'], '', ['line','stair'], '', '', [1,2], [0,1], '', ['linear', 'boolean'], ['°']) }}
                          aber es werden mir Daten von März bis Dezember angezeigt unabhängig was ich Zeiten eintrage.

                          Kommentar

                          Lädt...
                          X