Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für das smartvisu Plugin

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

    #16
    Danke für die Info. Ist auch kein großes Problem.
    Jetzt heißt der Flur im EG halt Entree

    Kommentar


      #17
      Hallo,

      bei der Autogenerierung der Seiten bekomme ich einen Fehler. Ich verwende keine zusaetzliche Konfiguration der Navigation ueber die Datei "../etc/visu.yaml". D.h. die Datei ist leer.

      smarthomeNG: v1.8.2
      smartVISU: v3.0.1
      Plugin smartvisu: v1.8.2

      Code:
      Traceback (most recent call last):
        File "/usr/local/smarthome/plugins/smartvisu/__init__.py", line 134, in run
          svgen = SmartVisuGenerator(self, self.visu_definition)
        File "/usr/local/smarthome/plugins/smartvisu/svgenerator.py", line 70, in __init__
          self.pages()
        File "/usr/local/smarthome/plugins/smartvisu/svgenerator.py", line 264, in pages
          img_name=self.get_attribute('sv_img', item), nav_aside=nav_aside, nav_aside2=nav_aside2)
        File "/usr/local/smarthome/plugins/smartvisu/svgenerator.py", line 286, in create_menuentry
          if menu_entry.get('img', '') == ''and menu_entry['img_set'] == False:
      KeyError: 'img_set'
      Wenn ich in der "svgenerator.py" in der Zeile 286
      Code:
      if menu_entry.get('img', '') == ''and menu_entry['img_set'] == False:
      durch
      Code:
      if menu_entry.get('img', '') == ''and menu_entry.get('img_set', False) == False:
      ersetze, werden die Seiten generiert und es gibt keine Fehler mehr im Log.

      Kommentar


        #18
        Zitat von Msinn Beitrag anzeigen
        Im Moment geht das noch nicht anders. Dadurch, dass die Visu Definitionen mit dem aktuellen Plugin aus verschiedenen Teilbäumen des Item Trees stammen dürfen, kann die Visu Definition über den Raum Namen nicht eindeutig einer Seite zugeordnet werden.
        was meinst du damit? Kannst du zum besseren Verständnis ein Beispiel nennen?

        Zitat von Msinn Beitrag anzeigen
        Dafür ist eine eindeutige Id eines Navigationseintrages notwendig, die noch nicht durchgängig implementiert ist. Bisher ist der Raum Name die eindeutige Id.

        Das wird vollständig (zusammen mit einer Konfigurationsdatei, in der die Navigation der Visu unabhängig von der Reihenfolge im Item Tree festgelegt werden kann) erst mit SmartHomeNG v1.9 kommen.
        Was sprach eigentlich dagegen bei der Item-ID zu bleiben (wie beim alten Plugin)? Die ist doch eindeutig?
        Zuletzt geändert von TCr82; 11.04.2021, 22:14.

        Kommentar


          #19
          Die Item ID ist eben nicht eindeutig! Wenn Dunzwei Itmes den selben Namen gibst, haben sie die selbe Item Id.

          Solange die Visu Definitionen einer Seite nicht aus mehren unterschidliche Teilen des Item Baums stammen durften, fiel das nur nicht auf.
          Viele Grüße
          Martin

          There is no cloud. It's only someone else's computer.

          Kommentar


            #20
            vielleicht habe ich mich falsch Ausgedrückt, mit "so wie es vorher war". Denn es war vorher der Item "Pfad"?

            Also
            Code:
            haus.eg.wohnzimmer
            ist ja nicht gleich
            Code:
            haus.og.wohnzimmer
            Was aber bei mir auch die ID ist, wenn man sich den folgenden Code betrachtet:

            Code:
            item = sh.haus.eg.wohnzimmer
            logger.error(item.id())
            In dem Beispiel, bekommt wenn man wenn man nach der id() des Items frägt ja auch der Pfad raus.

            Und das war doch vorher auch so?! und das ist doch eindeutig?

            EDIT: Um es nochmal aus Item.yaml sicht zu verdeutlichen was ich meine:

            Code:
            haus:
                eg:
                    wohnzimmer:
                        sv_page: room
                og:
                    wohnzimmer:
                        sv_page: room
            Oder war es nicht vorher so?
            Zuletzt geändert von TCr82; 14.04.2021, 09:15.

            Kommentar


              #21
              Die item.id() wurde da ja auch vorher immer verwendet, wenn man sich den alten Code ansieht:

              https://github.com/smarthomeNG/plugi...init__.py#L334

              Da w
              urde ja immer {{ visu_page }} mit item.id() ersetzt.

              Genau so wie dass der Name der Datei war:

              self.write_parseresult(item.id()+'.html', r)
              Zuletzt geändert von TCr82; 14.04.2021, 09:39.

              Kommentar


                #22
                Zitat von TCr82 Beitrag anzeigen
                Denn es war vorher der Item "Pfad"?
                Nein. es war immer die ID (und die ID ist der Name des Items. Nur wenn kein Name definiert ist, ist die ID der Pfad)

                Bisher spielte es allerdings keine Rolle wenn eine ID doppelt verwendet wurde, da der Item Baum rein sequentiell abgearbeitet wurde und eine ID auch doppelt vorkommen durfte. Es wurden einfach nacheinander zwei (oder mehr) Navigationseinträge mit der selben ID generiert.

                Aus der sequentiellen Abarbeitung entstanden eine Reihe von Problemen für die Reihenfolge der Einträge in der Navigation, so dass mehrfach der Wunsch an mich herangetragen wurde, dass zu ändern.

                Zur Beseitigung der aufgetretenen Probleme wird
                • eine extra Konfigurationsdatei eingeführt, die unter anderem das Festlegen der Navigationsreihenfolge unabhängig von der Reihenfolge im Item-Tree ermöglicht.
                • Die Möglichkeit geschaffen, Widgets aus verschiedenen Teilbäumen des Item-Trees in eine Visu Seite zu generieren.

                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar

                Lädt...
                X