Ankündigung

Einklappen
Keine Ankündigung bisher.

UZSU und SmartVisu Plugin: UZSU stört generate_pages

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

  • TCr82
    antwortet
    Mit anderen Worten werde ich auf die structs verzichten. Denn da hat es ja bis jetzt IMMER ordnungsgemäß funktioniert.

    Sollte das aber durch Rekursives einlesen eigentlich nicht passieren?
    Zuletzt geändert von TCr82; 03.12.2019, 21:53.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Das bedeutet, dass ein Item unterhalb von Küche und von EG definiert wurde bevor das erste Item unterhalb von Flur eingelesen wurde.Wie gesagt, an so einer Situation habe ich mir früher schon mal einen Wolf gesucht. Ich habe in der großen Installation deshalb alle Visu spezifischen Definitionen in Dateien abgelegt, die vor den normalen Items eingelesen werden.

    Also eine Datei 0-raumordnung.yaml anlegen, in der die Baumstruktur bis runter zu den sv_page Attributen definiert wird und darüber die Reihenfolge zu steuern,

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    ja, das würde zwar das Problem lösen, dass die Räume in der richtigen Kartegorie landen (unter dem richtigen Seperator) - aber trotzdem stimmt die Reihenfolge nicht mehr.

    Aus meinem Screenshot oben - im EG sind die Räume nach folgender Reihenfolge angelegt:
    Flur
    Küche
    EZ
    WZ
    SZ
    KZ
    Bad
    WC

    Durch die struct Items in Küche und WZ ist die Reihenfolge auf einmal:
    Küche
    WZ
    Flur
    EZ
    SZ
    KZ
    Bad
    WC

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Wenn dort nicht schon ein sv_page Attribut existiert, könnte das gehen.

    Ich achte bei mir nur darauf, dass alle sv_page Attribute in der selben Ebene hängen. Weil ich früher mal ähnliche Probleme mit der Sortierung hatte (lange bevor es structs gab), habe ich das so gelöst, dass ich die Separatoren in eigenen Dateien habe, dadurch kann es kein vertun geben, weil z.B. ein Item-Knoten plötzlich in einer Datei definiert wurde, die eher ausgewertet wird.

    Die ganze Page Generierung hängt stark an der Einlese Reihenfolge. Ich habe das deshalb etwa so gelöst:
    • 1-eg_seperator.yaml
    • 2-eg.yaml
    • 3-og-seperator.yaml
    • 4-og.yaml

    Einen Kommentar schreiben:


  • smai
    antwortet
    Können nicht direkt eg und og als Separator verwendet werden?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Dein Seperator hängt eine Ebene zu tief. Hänge ihn mal zwischen eg und og und nicht als subitem zu og.

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    Ähm, ja tut er (hätte ich ja auch gleich mal drauf achten können - sorry):

    Screenshot_20191203_080401.png Screenshot_20191203_080708.png

    Man sieht dass die Sep(erator) Items, welche die Kategorien erzeugen, nicht mehr oben stehen. Was zu der verschobenen Ansicht führt (Küche und Wohnzimmer sind nicht mehr im EG). Überall da wo ein Struct Item sitzt, wird es nach oben Verschoben. Das wäre bei mir in aussen.eingang, aussen.terrasse, eg.kueche, eg.wz (in all den "Räumen" befinden sich steuerbare Steckdosen, wo ich die UZSU Struct drauf eingebaut habe). Nur im og habe ich das struct durch die manuellen Items ersetzt, und da stimmt dann wieder alles.
    Zuletzt geändert von TCr82; 03.12.2019, 08:38.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von TCr82 Beitrag anzeigen
    Evtl. Ordnet er durch das "einsetzten" der structs die Items neu?!
    Sieht im Admin Interface Dein Item-Tree denn anders aus? Dort könntest Du Deine etwas gewagte Hypothese überprüfen.

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    irgendwas muss es ja aber auf jeden Fall damit zu tun haben. Evtl. Ordnet er durch das "einsetzten" der structs die Items neu?!

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zumindest kein offensichtliches.

    Ablauf beim Start:
    • Initialisierung der Plugins
    • Initialisierung des Itemtrees (laden der Items und auflösen der structs)
    • run der Plugins (nach Ende der Initialisierung): Hier werden die Visu Pages generiert.

    Zum Zeitpunkt zu dem die Seiten generiert werden, sind die structs also bereits aufgelöst. Daher wäre es hilfreich (im Admin Interface) nachzusehen, ob der item-Tree mit manuellen Items sich im Aufbau bzw. in Details vom Item-Tree bei struct Verwendung unterscheidet.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Msinn In dem Fall ein struct Problem?

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    Du hast recht, ich habe mal schnell an einem Item das Verrutscht das "struct: uzsu.child" durch die "manuelle" Variante wie folgt ersetzt:

    Code:
        wz:
            name: Wohnzimmer
            sv_page: room
            sv_img: scene_livingroom.svg
    
            steckdose_ecke:
                name: Wohnzimmer
                type: bool
                visu_acl: rw
                sv_widget: "{{ my_widgets.switch('item', 'Steckdose Ecke', 'item', 'item.stromwert', 'item.wh', 'item.betriebsstunden', '', 'item.uzsu', 'item.name') }}"
                sv_item_type: socket
                knx_dpt: 1
                knx_send: 2/0/155
                knx_listen: 2/1/155
                knx_init: 2/1/155
    
                uzsu:
                    type: dict
                    uzsu_item: ..
                    cache: True
                    visu_acl: rw
    
                    active:
                        remark: Use this item to easily turn on or off your UZSU
                        type: bool
                        eval: sh...activate(value)
                        visu_acl: rw
    
                        status:
                            type: bool
                            eval: sh....activate()
                            eval_trigger:
                            - ..
                            - ...
                            on_change: .. = value
                            crontab: init = 0
    Und anschließend shNG neu gestartet.... und siehe da es wird wieder richtig dargestellt.

    EDIT: Korrektur, ich habe es nochmal genau so gemacht, wie in der plugin.yaml von UZSU definiert (und auch oben korrigiert) und nochmal neu gestartet und getestet. Selbes Ergebnis, es gibt das Problem nicht mehr.
    Zuletzt geändert von TCr82; 02.12.2019, 08:59.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Die Frage wäre eher, ob nicht das struct per se das Problem ist. Probier doch bitte mal andere structs aus zb darksky

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    Es ist doch aber der eine in eg und der andere in og - das allein macht doch daraus ein individuelles Item?!

    eg.wz.steckdose_ecke != og.wz.steckdose oder nicht?!

    Ausserdem tritt das Problem auch bei einem anderen Raum auf, der Eindeutig ist (habe das selbe problem bei og.balkon.zwSteckdose2 , der auch in das eg rutscht! Und den Raum balkon gibt es definitiv (selbst der Name des zwSteckdose2) nur einmal!

    Und vor alle dem tritt das Problem ja erst mit UZSU auf...?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Works as designed.

    In Deiner 2. Datei. Hast Du die Steckdose im Raum Wohnzimmer definiert. Diesen Raum gibt es in der Definition schon in der 1. Datei. Also wird die Steckdose dort zugeordnet.

    Benenne mal den Raum im OG auf einen eindeutigen Namen um. Dann sollte alles in Ordnung sein.

    Einen Kommentar schreiben:

Lädt...
X