Ankündigung

Einklappen
Keine Ankündigung bisher.

Visu Autogenerierung Seitennavigation

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

    Visu Autogenerierung Seitennavigation

    Hallo Zusammen,


    ich habe heute Morgen hier: https://knx-user-forum.de/forum/supp...96#post1463296 bereits eine Frage bezüglich Seperatoren gestellt, bin aber nun einen Schritt weiter und denke es ist passender ein eigenes Thema dazu eröffnen.

    Ich habe es nicht geschafft mit der Autogeneration die Seiten in eine von mir definierte Reihenfolge zu bringen. Die Räume wurde immer durcheinander geworfen.

    Da ich nicht sicher war, ob meine Seperatoren auf der richtigen Ebene waren, und ich mit allen möglichen Varianten keinen Erfolg hatte, nochmal back to the roots, habe ich einfach zwei item-Dateien erstellt:


    Code:
    EG.yaml
    
    Sep_EG:
        name: Erdgeschoss
        sv_page: seperator
    
    EG:
       Diele:
          name: Diele
          sv_page: room
          sv_img: scene_livingroom.svg
    
       Wohnzimmer:
          name: EG Wohnzimmer
          sv_page: room
          sv_img: scene_livingroom.svg
    und
    Code:
    OG.yaml
    
    Sep_OG:
        name: Obergeschoss
        sv_page: seperator
    OG:
    
       Flur:
          name: Flur
          sv_page: room
          sv_img: scene_stairs.svg
       Wohnzimmer:
          name: OG Wohnzimmer
          sv_page: room
          sv_img: scene_livingroom.svg

    Daraus ergibt sich folgende Raumnavigation:
    nav_1.png

    Genau so soll es aussehen.

    Füge ich nun dem Raum OG Wohnzimmer ein Item über eine Struktur hinzu, bringt es die Raumnavigation durcheinander.



    Code:
    OG.yaml:
    
    Sep_OG:
        name: Obergeschoss
        sv_page: seperator
    OG:
    
       Flur:
          name: Flur
          sv_page: room
          sv_img: scene_stairs.svg
       Wohnzimmer:
          name: OG Wohnzimmer
          sv_page: room
          sv_img: scene_livingroom.svg
          Bel_Decke:
              struct: stSchalter
              state:
              knx_listen: 0/4/109
              knx_send: 0/1/109
    
    
    struct.yaml:
    
    stSchalter:
        name: Vorlage Schalter
        state:
        type: bool
        visu_acl: rw
        knx_dpt: 1
    nav_2.png



    Verzichte ich beim Item Bel_Decke auf die Struktur und programmiere es aus:
    Code:
    OG.yaml
    
    Sep_OG:
        name: Obergeschoss
        sv_page: seperator
    OG:
    
       Flur:
          name: Flur
          sv_page: room
          sv_img: scene_stairs.svg
        Wohnzimmer:
            name: OG Wohnzimmer
            sv_page: room
            sv_img: scene_livingroom.svg
            Bel_Decke:
                type: bool
                visu_acl: rw
                knx_dpt: 1
                knx_listen: 0/4/109
                knx_send: 0/1/109
    Bleibt meine Raumnavigation wie gewünscht erhalten. Was habe ich übersehen? Bin für jede Hilfe dankbar!



    #2
    Ich glaub das ist das selbe Problem, was ich Dir auch schon im anderen Thread geschrieben habe. Probier mal den Separator vom Obergeschoss an das Ende der Datei EG.yaml zu schreiben. Dort aber auf die Ebene von "Wohnzimmer:", also "Sep_OG:" ist auf der gleichen Ebene wie "Wohnzimmer:".
    So funktioniert es bei mir, auch mit Items und Strukturen.
    Viele Grüße,
    Michael

    Kommentar


      #3
      Danke für den Hinweis, das hat funktioniert. Der Seperator wird wie gewünscht nach dem EG eingefügt, und OG Wohnzimmer wird nicht mehr nach oben verschoben.

      Ich habe allerdings die Logik dahinter noch nicht verstanden.

      In meinem Beispiel hatten beide Räume im EG noch keine Items. Füge ich nun EG Wohnzimmer ein Item hinzu, habe ich gleiches verhalten wie vorher. EG Wohnzimmer wird an die erste Stelle gerückt.
      Um den Seperator Erdgeschoss wieder an den Anfang zu bekommen musste ich eine weitere Item-Datei erzeugen mit:

      Code:
      A_Nav.yaml
      
      Nav:
          Sep_EG:
              name: Erdgeschoss
              sv_page: seperator
      Diesen Code in der Datei EG.yaml brachte keinen Erfolg.

      Kommentar


        #4
        Bei mir habe ich die YAML files mit den items nummeriert. einfach 1,2,3,4,5.. vor die file namen gesetzt, damit sie genau in der Reihenfolge abgearbeitet werden.
        Dein Ansatz ist gut, es macht Sinn alle files für die VISU zu generieren; mit ein paar Tricks habe ich das bisher fast geschafft; das spart richtig Arbeit bei Änderungen.

        Kommentar


          #5
          Zitat von LoRdN0n4m3 Beitrag anzeigen
          Ich habe allerdings die Logik dahinter noch nicht verstanden.
          Ich habe die Logik verstanden :-)

          Die Items der einzelnen Dateien werden in eine gemeinsame Struktur eingefügt. Verwendet man struct, dann werden alle Struct-Items als erstes in die gemeinsame Struktur eingefügt. Erst danach werden alle anderen Items übernommen. Daher "überholen" die Struct-Items die anderen.

          Das wiederrum geschieht je Item-File.

          Schreibt man daher den Seperator in die Datei davor, dann wird der Seperator schon mal in die gemeinsame Struktur eingetragen. Kommt dann das erste Struct-Item der eigentlichen Datei, dann kann dieser Eintrag den Seperator nicht mehr "überholen" ...
          Allerdings werden Items innerhalb der aktuellen Datei immer noch überholt.

          Möchte man also die Reihenfolge so haben wie man sie definiert, dann müsste man jedes Item in einer eigenen Datei anlegen und die Namen entsprechend anpassen.
          Zuletzt geändert von mike; 16.02.2020, 16:22.

          Kommentar


            #6
            Ich habe einen PR erstellt: https://github.com/smarthomeNG/smarthome/pull/342

            Kommentar

            Lädt...
            X