Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Fehlende Plots in Visu debuggen

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

    - √ - Fehlende Plots in Visu debuggen

    Hallo,

    ich habe hier bei zwei Plots das Problem, dass keine Daten gezeigt werden:
    Code:
    [Allgemein]
        [[Lampen]]
        sv_page=Strom
        name = Strom
        visu=yes
            [[[FlurEingang]]]
            name=FlurEingang
              [[[[Leistung]]]]
                type=num
                    value=50
              [[[[Dimmwert]]]]
                type=num
                    cache=yes
                sqlite = yes
                knx_listen = 1/1/13
                    knx_init = 1/1/13
                    knx_dpt=5
              [[[[Verbrauch]]]]
                    type = num
                    name=FlurLampeVerbrauch
                    cache=yes
                    init=sqlite
                    sqlite = yes
                    knx_dpt = 12
                    enforce_updates=yes
                    eval=sh.Allgemein.Lampen.FlurEingang.Verbrauch()+sh.Allgemein.Lampen.FlurEingang.Dimmwert()/255*sh.Allgemein.Lampen.FlurEingang.Leistung()*sh.Allgemein.Lampen.FlurEingang.Dimmwert.age()/60.0/60.0
                    eval_trigger=Allgemein.Lampen.FlurEingang.Dimmwert
                    sv_widget={{ plot.period('p998lkjldljsd71', 'item', 'avg', '12h') }}
              [[[[Verbrauch_self]]]]
                    type = num
                    name=FlurLampeVerbrauch_self
                    cache=yes
                    sqlite = yes
                    init=sqlite
                    knx_dpt = 12
                    enforce_updates=yes
                    eval=sh.Allgemein.Lampen.FlurEingang.Verbrauch_self()+self._parent.Dimmwert()/255*self._parent.Leistung()*self._parent.Dimmwert.age()/60.0/60.0
                    eval_trigger=Allgemein.Lampen.FlurEingang.Dimmwert
                    sv_widget={{ plot.period('p998dljlkjlsd71', 'item', 'avg', '12h') }}
    Wie kann ich das debuggen?
    Werte sind vorhanden:
    Code:
    sh.Allgemein.Lampen.FlurEingang.Verbrauch()
    3.5222921202614383
    Und hier mal ein Teil aus der HTML:
    Code:
    	<div id="Allgemein_Lampen-p998dljsd71" data-widget="plot.period" data-item="Allgemein.Lampen.FlurEingang.Verbrauch.avg.12h.0"
    		 		data-step="20" data-label=""
    		data-color="" data-exposure="" data-axis=""
    		class="plot"></div>
    		
    			<div id="Lueften-p99jj87" data-widget="plot.period" data-item="Lueften.LueftenNoetig_Ganz.avg.24h.0"
    		 		data-step="20" data-label=""
    		data-color="" data-exposure="" data-axis=""
    		class="plot"></div>
    Der untere Block funktioniert, der obere nicht.

    Ich sehe aber keinen Unterschied (außer dem Zeitraum....)

    Gruß,
    Hendrik

    #2
    Hi Hendrik,

    ich hab das mal verschoben.

    Was mir spontan auffällt, die IDs bei sv_widget sind bei Dir nicht eindeutig.

    Bis bald

    Marcus

    Kommentar


      #3
      Die beiden Code-Segmente passen nicht zusammen! Die Konfig erzeugt ein anderes HTML.

      Gruss
      Join smartVISU on facebook. Web: smartvisu.de.
      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

      Kommentar


        #4
        Hi ihr zwei,
        Zitat von mknx Beitrag anzeigen
        Was mir spontan auffällt, die IDs bei sv_widget sind bei Dir nicht eindeutig.
        Dooch. ähnlich, aber nicht gleich.
        Code:
                        sv_widget={{ plot.period('p998lkjldljsd71', 'item', 'avg', '12h') }}
                        sv_widget={{ plot.period('p998dljlkjlsd71', 'item', 'avg', '12h') }}
        Aber das ist in der Tat ein Ärgernis. Totale Monkey-Work. Wie soll ich mir merken, welche IDs ich schonmal genutzt hab?!


        Zitat von Apollo Beitrag anzeigen
        Die beiden Code-Segmente passen nicht zusammen! Die Konfig erzeugt ein anderes HTML.
        Das stimmt. Der zweite Punkt war ja ein funktionierendes Beispiel.
        Bei dem ersten Punkt hab ich aber auch kürzlich was geändert, vielleicht war das nicht konsistent. Daher nochmal der aktuelle Stand:
        Code:
        	  [[[[Verbrauch]]]]
        		type = num
        		name=FlurLampeVerbrauch
        		cache=yes
        		init=sqlite
        		sqlite = yes
        		knx_dpt = 12
        		enforce_updates=yes
        		eval=sh.Allgemein.Lampen.FlurEingang.Verbrauch()+sh.Allgemein.Lampen.FlurEingang.Dimmwert()/255*sh.Allgemein.Lampen.FlurEingang.Leistung()*sh.Allgemein.Lampen.FlurEingang.Dimmwert.age()/60.0/60.0
        		eval_trigger=Allgemein.Lampen.FlurEingang.Dimmwert
        		sv_widget={{ plot.period('p998lkjldljsd71', 'item', 'avg', '12h') }}
        	  [[[[Verbrauch_self]]]]
        		type = num
        		name=FlurLampeVerbrauch_self
        		cache=yes
        		sqlite = yes
        		init=sqlite
        		knx_dpt = 12
        		enforce_updates=yes
        		eval=sh.Allgemein.Lampen.FlurEingang.Verbrauch_self()+self._parent.Dimmwert()/255*self._parent.Leistung()*self._parent.Dimmwert.age()/60.0/60.0
        		eval_trigger=Allgemein.Lampen.FlurEingang.Dimmwert
        		sv_widget={{ plot.period('p998dljlkjlsd71', 'item', 'avg', '12h') }}
        Code:
        cat Allgemein.Lampen.html
        /**
        * -----------------------------------------------------------------------------
        * @package     smartVISU
        * @author      Martin Gleiß
        * @copyright   2012
        * @license     GPL [http://www.gnu.de]
        * -----------------------------------------------------------------------------
        */
        
        
        {% extends "rooms.html" %}
        
        {% block content %}
        
                <h1><img class="icon" src='{{ icon0 }}' />Strom</h1>
        
                <div class="block">
                <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>FlurLampeVerbrauch</h3>
                                {{ plot.period('p998lkjldljsd71', 'Allgemein.Lampen.FlurEingang.Verbrauch', 'avg', '12h') }}
                        </div>
        
                </div>
        </div>
        <div class="block">
                <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>FlurLampeVerbrauch_self</h3>
                                {{ plot.period('p998dljlkjlsd71', 'Allgemein.Lampen.FlurEingang.Verbrauch_self', 'avg', '12h') }}
                        </div>
        
                </div>
        </div>
        
        
        {% endblock %}
        Das einzige, was daran vielleicht komisch ist, ist dass "Strom" als Seite zweimal vorkommt.
        Das habe ich jetzt geändert und es macht keinen Unterschied..

        Gruß,
        Hendrik

        Kommentar


          #5
          Wieso nennst du die nicht "plot1" und "plot2" ?

          Gruss
          Join smartVISU on facebook. Web: smartvisu.de.
          Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

          Kommentar


            #6
            na, dann muss ich mir halt merken, welche Plots ich schon alle hatte..
            Kann ich aber machen. Es wäre halt schöner, wenn man die nicht benennen muss. Es sei denn, der User benötigt den Namen irgendwo nochmal.

            Aber davon abgesehen: Siehst du noch einen Fehler?

            Gruß,
            Hendrik

            Kommentar


              #7
              Ja aber nur auf deiner Seite. Also wenn du nicht irgendwas quer mitscht, dann reicht es auf einer Seite eindeutige ids zu vergeben.

              Gruss
              Join smartVISU on facebook. Web: smartvisu.de.
              Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

              Kommentar


                #8
                Hallo,

                zusammen mit dem Autogenerator kann man auch einfach 'item' für die ID verwenden. Die ist für jedes Item eindeutig. Sollten mehrere Widgets zum Einsatz kommen, so kann man auch item1h itemX verwenden. Mach ich z.B. bei mehreren Plots so.

                Bis bald

                Marcus

                Kommentar


                  #9
                  Hallo,

                  danke für eure Tipps bzgl. eindeutiger Items.
                  Das hilft schonmal.

                  Dennoch habe ich keine Plots.
                  Ich habe jetzt einen der Plots mal auf basic.value umgestellt.
                  Auch der Wert wird nicht angezeigt. An der Kommandozeile bekomme ich den Wert aber:
                  Code:
                  >>> sh.Allgemein.Lampen.FlurEingang.Verbrauch()
                  0.14765440147058825
                  Das einzige, was hier anders als bei anderen Items ist, dass der Parent auch Daten/Werte enthält.
                  Kann es daran liegen?
                  Code:
                  [Allgemein]
                      [[Lampen]]
                      sv_page=Strom1
                      name = Strom1
                      visu=yes
                          [[[FlurEingang]]]
                          name=FlurEingang
                            [[[[Leistung]]]]
                              type=num
                                  value=50
                            [[[[Dimmwert]]]]
                              type=num
                                  cache=yes
                              sqlite = yes
                              knx_listen = 1/1/13
                                  knx_init = 1/1/13
                                  knx_dpt=5
                            [[[[Verbrauch]]]]
                                  type = num
                                  name=FlurLampeVerbrauch
                                  cache=yes
                                  init=sqlite
                                  sqlite = yes
                                  knx_dpt = 12
                                  enforce_updates=yes
                                  eval=sh.Allgemein.Lampen.FlurEingang.Verbrauch()+sh.Allgemein.Lampen.FlurEingang.Dimmwert()/255*sh.Allgemein.Lampen.FlurEingang.Leistung()*sh.Allgemein.Lampen.FlurEingang.Dimmwert.age()/60.0/60.0
                                  eval_trigger=Allgemein.Lampen.FlurEingang.Dimmwert
                  #               sv_widget={{ plot.period('plot123', 'item', 'avg', '12h') }}
                                  sv_widget={{ basic.value('plot12uu3', 'item', 'C') }}
                  Außerdem heisst die Datei Lampen.conf, während die erste Ebene "Allgemein" heißt und es auch eine Allgemein.conf gibt.
                  Aber das sollte doch auch kein Problem sein, oder?


                  Gruß,
                  Hendrik

                  Kommentar


                    #10
                    Fehlende Plots in Visu debuggen

                    Das Splitten der obersten Ebene in zwei Dateien ist AFAIK nicht möglich. Wenn du also zweimal Allgemein hast, einmal in der Allgemein.conf und einmal in der Lampen.conf, wird das nicht gehen.
                    Mit freundlichen Grüßen
                    Niko Will

                    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                    Kommentar


                      #11
                      Hi,

                      splitten ist schon erlaubt.

                      Ich denke ein visu = yes bei den Items hilft.
                      Eine entsprechende Warnmeldung müsstest Du eigentlich im Log haben.

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        Zitat von mknx Beitrag anzeigen
                        splitten ist schon erlaubt.
                        Dann hat sich das geändert, früher ging das nicht. Aber gut zu wissen, dass es jetzt geht.
                        Mit freundlichen Grüßen
                        Niko Will

                        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                        Kommentar


                          #13
                          Zitat von mknx Beitrag anzeigen
                          splitten ist schon erlaubt.
                          Puh, gerettet.. Vorerst...

                          Ich denke ein visu = yes bei den Items hilft.
                          Eine entsprechende Warnmeldung müsstest Du eigentlich im Log haben.
                          Waas? Peinlich. Aber für uns alle (für mich am Meisten)!
                          Das wiederum zeigt aber, dass es hier ein Problem gibt:
                          a) was soll visu=yes?
                          b) Warum ist das nicht automatisch yes, wenn man ein sv_widget definiert hat?
                          c) Warum wird das Widget gerendert, aber eine Daten angezeigt?
                          d) Warum gibt es keine Warning?

                          Log: https://knx-user-forum.de/attachment...thome_mem3.zip

                          Gruß,
                          Hendrik

                          Kommentar


                            #14
                            Möchte mich dem kurz anschließen und wünsche mir ein default "visu=yes". Bei sensiblen Daten (im EFH eher selten) dann eben ein "visu=no" das den Zugriff verbietet.

                            Grüße
                            Umgezogen? Ja! ... Fertig? Nein!
                            Baustelle 2.0 !

                            Kommentar


                              #15
                              Zitat von JuMi2006 Beitrag anzeigen
                              Möchte mich dem kurz anschließen und wünsche mir ein default "visu=yes". Bei sensiblen Daten (im EFH eher selten) dann eben ein "visu=no" das den Zugriff verbietet.

                              Grüße
                              Man könnte eine Plugin-Option hinzufügen: "all_items_visible = true" und damit eben das Standardverhalten umkehren.

                              Kommentar

                              Lädt...
                              X