Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX item + UZSU

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

    #16
    Nein. Du müsstest die Konsole entweder auf Deiner eigenen Seite aufrufen, oder den Widget-Aufruf in den Widgetassistenten eingeben und die Konsole auf der gerenderten Seite aufrufen. Das Dict des Items in den WA einzugeben, führt nicht weiter.

    Gruß
    Wolfram

    Kommentar


      #17
      Zitat von wvhn Beitrag anzeigen
      Nein. Du müsstest die Konsole entweder auf Deiner eigenen Seite aufrufen.
      Ok, das liefert NULL

      4.png

      Kommentar


        #18
        Ich hab Dir gezeigt, wie man den Datenverkehr auf dem Websocket in der Konsole anzeigt. Die Info ist wichtig um zu verstehen warum das item „null“ ist, denn das ist ziemlich ungewöhnlich. Bitte reiche die Info noch nach.

        Kommentar


          #19
          Zitat von wvhn Beitrag anzeigen
          Ich hab Dir gezeigt, wie man den Datenverkehr auf dem Websocket in der Konsole anzeigt. Die Info ist wichtig um zu verstehen warum das item „null“ ist, denn das ist ziemlich ungewöhnlich. Bitte reiche die Info noch nach.
          Wie bekomme ich den Datenverkehr in der Konsole angezeigt? Sobald ich die Seite lade kommt kein Eintrag?
          5.png


          Ich hab das grundsätzliche Prinzip nun auch auf meiner eigenen Visu versucht und es klappt problemlos.
          Item/HTML config ist aber grundsätzlich die Gleiche. Keine Ahnung warum das in der neu aufgesetzten Umgebung nicht funktioniert.

          Kommentar


            #20
            Der smartVISU Cache muss ausgeschaltet sein, damit die Meldungen des Treibers in der Konsole erscheinen. Siehe #11 (https://knx-user-forum.de/forum/supp...97#post1963997).

            Kommentar


              #21
              So, jetzt aber. Ich muss dazu sagen, dass das KNX Plugin aktuell Deaktiviert ist weil ich keinen Zugriff darauf hab.
              Ich denke das sollte aber nichts mit dem UZSU Icon zu tun haben.


              6.png

              7.png

              Kommentar


                #22
                Wie gesagt braucht das UZSU-Widget einen gültigen item-Wert, der mindestens das dict {"active": false} enthalten muss. Dies ist als Schutz erforderlich, damit das Widget ausschließlich in eindeutige UZSU-items schreibt. Das UZSU-Plugin von shNG initialisiert die UZSU-items entsprechend, so dass die Visu diese abrufen und prüfen kann. Dazu braucht man aber die Websocket-Verbindung zu shNG.

                Wenn man den offline-Treiber verwendet, kann das nicht ohne weitere Eingriffe funktionieren. Der offline-Treiner sendet für alle ihm nicht bekannten items erst einmal ein "null". Erst wenn man die Visu-Elemente bedient und Werte verändert, schreibt er die items in die Datei ./temp/offline_<DeineSeiten>.var.
                Es gibt 2 Möglichkeiten, das UZSU-item darin richtig zu initialisieren:
                • mit einem Editor folgende Zeile in die Datei eintragen:
                  Code:
                  	ZS.RaffRollo.EG.move.uzsu = {"active":"false"}
                  Ggfls. die Datei vorher erzeugen, indem man einen beliebigen Schalter 2x betätigt
                • in der Konsole der Entwicklertools folgendes eingeben:
                  Code:
                  	io.write('ZS.RaffRollo.EG.move.uzsu', {"active":"false"})
                Danach lässt sich das UZSU-Widget auch mit dem offline-Treiber verwenden.

                Gruß
                Wolfram

                Kommentar


                  #23
                  Ich habe den offline-Treiber so angepasst, dass er UZSU-items (die auf ".UZSU" oder ".uzsu" enden) selbst initialisiert, wenn keine Daten vorhanden sind. So kann man wenigstens mit dem Widget spielen und Schaltzeiten abspeichen, auch wenn das keine weiteren Aktionen auslöst.

                  Der Treiber ist jetzt im develop branch.

                  Gruß
                  Wolfram

                  Kommentar


                    #24
                    Danke dafür. Kann ich das testen?

                    Kommentar


                      #25
                      Nicht ohne weiteres, weil schon ein paar Änderungen in den Treibern umgesetzt sind, die mit dem Master nicht kompatibel sind.
                      Du kannst aber jeweils hinter die Zeilen 172 und 232 in ./driver/io_offline.js (Inhalt: jeweils "catch (e) {}" ) folgende Zeilen einfügen:
                      Code:
                                  // initialize UZSU data if item is an UZSU item and no data available
                                  if (item.slice(-5).toLowerCase() == '.uzsu' && val == null)
                                      val = {"active":"false", "interpolation": {"type": "none", "initialized": false, "interval": 5, "initage": 0, "itemtype": "bool"}, "list": [], "plugin_version": "2.0.0"}​;
                      Vorsicht, denn die hinteren Zeilennummern ändern sich, wenn Du vorne etwas einfügst. Dann musst Du noch die manuell gemachten Einträge für die UZSU-items in der ./temp/offline_<DeineSeiten>.var löschen, um die Erweiterung zu testen, denn sonst ist die Bedingung für die automatische Initialisierung nicht erfüllt.

                      Gruß
                      Wolfram

                      Kommentar

                      Lädt...
                      X