Ankündigung

Einklappen
Keine Ankündigung bisher.

status.toast reagiert auf on_update

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

    #16
    Test 2:
    Mit dem Item SONDERFUNKTIONEN.KLINGEL.AKTIV.LONG_IMPULSE für das Toast. In Summe sieht das schon besser aus, macht aber auch nicht das, was ich erwartet hätte.

    2.1
    Alles aus: Alle drei Items off, kein Toast​​2023-03-27 08_45_36-Loeserhome 3.0.png

    2.2
    Das Item AKTIV wird gesetzt und es erscheint wie erwartet ein Toasts, da das Item LONG_IMPULSE nur einmal auftaucht.
    Ich habe im SmarthomeNG auch die drei Items angesehen zu dem Zeitpunkt, daher sind es 3 Bilder
    2023-03-27 08_45_41-Loeserhome 3.0.png2023-03-27 08_45_43-Loeserhome 3.0.png2023-03-27 08_45_45-Loeserhome 3.0.png

    2.3
    Das Item AKTIV wird wieder rückgesetzt über die Visualisierung (daher send). Dabei erscheint nun aber noch ein Toast, obwohl das Item LONG_PULSE gar nicht erneut kommt.
    Ich habe im SmarthomeNG auch die drei Items angesehen zu dem Zeitpunkt, daher sind es 3 Bilder
    2023-03-27 08_45_51-Loeserhome 3.0.png
    2023-03-27 08_45_52-Loeserhome 3.0.png2023-03-27 08_45_54-Loeserhome 3.0.png

    2.4
    Nach den 30sek werden dann die Items LONG_IMPULSE_TEMP und damit auch LONG_IMPULSE wieder vom SmarthomeNG zurückgesetzt. Damit wird nun aber nur das letzte Toast wieder gelöscht. Das andere bleibt stehen.
    Ich habe im SmarthomeNG auch die drei Items angesehen zu dem Zeitpunkt, daher sind es 3 Bilder
    2023-03-27 08_46_11-Loeserhome 3.0.png2023-03-27 08_46_13-Loeserhome 3.0.png2023-03-27 08_46_15-Loeserhome 3.0.png

    Naja in Summe ist mir das nicht so ganz klar, warum das so ist.​

    Kommentar


      #17
      Also wenn ich ein Item benutze, welches ich über ein Skript setze und rücksetze, funktioniert das einwandfrei. Ich habe also eine Lösung für mich, aber vielleicht finden wir ja auch noch einen Ansatzpunkt, warum das mit meinem verlängertem Item nicht geklappt hat.


      Zitat von Bonze Beitrag anzeigen
      btw. du hast aber auch die option, direkt den Toast nach x sekunden schließen zu lassen..
      dafür gibts folgenden parameter
      Ja diese Option hatte ich zuerst, allerdings kann ich damit nicht nachtriggern, weshalb ich das wieder bei Seite gelegt hatte.

      Kommentar


        #18
        Servus

        Probleme mit dem Toast habe ich auch. Ähnliche Probleme mit zwei identischen Toasts kurz hintereinander ohne mir ersichtlichen Grund. Oder welche, die bei einem Seitenwechsel immer wieder auftauchen, obwohl der Status längst erledigt sein sollte.

        Aber das mit der Türklingel klappt mit einer Einschränkung. Oder ich habe noch ein Problem, was mir aber in der Praxis noch nicht aufgefallen ist.

        Ich habe ein zweites Item, das auf die gleiche Gruppenadresse hört wie das eigentliche Klingelitem.

        Code:
        Klingel:
            type: bool
            knx_dpt: 1
            knx_send: 5/2/4
            knx_cache: 5/2/5
        Klingelmeldung:
            type: bool
            knx_dpt: 1
            knx_listen: 5/2/4
            autotimer: 120 = 0
        Das Item 'Klingel' ist für den Toast irrelevant. Nur Klingelmeldung wird verwendet.

        Das Widget sieht dann so aus.

        Code:
        {{ status.toast('Klingeltoast', 'Klingelmeldung', '', '', '', 'KLINGELING', 'Jemand steht an der Tür <br/><br/><img src="http://x.x.x.x/control/faststream.jpg?stream=full&preview&size=1280x480&quality=40&fps=12.0" width="100%" alt="Der Stream geht nicht"> <br/>', 'message_bell.svg', '', 'Tueroeffner', '&nbsp &nbsp Hier drücken zum Tür öffnen &nbsp &nbsp', '1', '', 'false', '', 'false', 'black', 'orange') }}
        Das ergibt dann das:

        grafik.png

        Türöffnerbutton geht (und schließt auch den Toast), Stream geht, manuell Schließen mit dem Kreuz oben rechts geht.
        Macht man gar nichts, verschwindet der Toast nach den eingestellten 120s (autotimer im Item).
        Das ist aber wohl nicht genau das, was du willst, richtig? Du möchtest, dass der Toast ewig angezeigt wird und nur durch eine Aktion von dir verschwindet?
        Das ist nämlich in der Tat ein Problem. Mein Toast hat ja auch param_hideafter​ auf false, verschwindet aber trotzdem wenn das item auf 0 geht, was es nicht soll, aber ich kann damit leben.

        SHNG 1.9.2, smartVISU 3.2.2
        Zuletzt geändert von Sipple; 27.03.2023, 08:54.

        Kommentar


          #19
          loeserman, Ich baue mir Deine items und die Testseite in den nächsten Tagen einmal nach und teste.

          Mich irritiert aber, dass beim Ausschalten der Klingel das item „SONDERFUNKTIONEN.KLINGEL.AKTIV“ doppelt rückgemeldet wird. Zudem werden items aktualisiert, die garnicht auf der Testseite sind (Squeezebox, Heizungszähler…). Normalerweise werden items beim Backend abbestellt, wenn sie auf der aktuellen Seite nicht mehr benötigt werden. Hast Du einen Proxy oder Reverse Proxy im Einsatz, der möglicherweise die Clients nicht sauber trennt?

          Bitte poste mal die Ausgabe der Konsole beim Neuladen der Seite. Dort müsste man das „monitor“-Kommando sehen, mit dem die items abonniert werden.

          Gruß
          Wolfram

          Kommentar


            #20
            Das ist in der Tat etwas merkwürdig. Ich habe nun nochmal alles Mögliche rausgeworfen. Den Browser geschlossen, dann die Console geöffnet und direkt die Seite aufgemacht. Das Folgende Ergebnis. Es werden nur die 3 Tags angemeldet, aber in der Ausgabe erscheint dennoch mehr.

            2023-03-27 21_06_02-Loeserhome 3.0.png

            Kommentar


              #21
              Zitat von Sipple Beitrag anzeigen
              Servus
              ...
              Türöffnerbutton geht (und schließt auch den Toast), Stream geht, manuell Schließen mit dem Kreuz oben rechts geht.
              Macht man gar nichts, verschwindet der Toast nach den eingestellten 120s (autotimer im Item).
              Das ist aber wohl nicht genau das, was du willst, richtig? Du möchtest, dass der Toast ewig angezeigt wird und nur durch eine Aktion von dir verschwindet?
              Das ist nämlich in der Tat ein Problem. Mein Toast hat ja auch param_hideafter​ auf false, verschwindet aber trotzdem wenn das item auf 0 geht, was es nicht soll, aber
              Interessant, dass Du da auch solche Phänomene hast. Das mit dem Bild im Toast ist übrigens eine schöne Sache, habe ich gleich mal übernommen ;-)

              Kommentar


                #22
                Zitat von wvhn Beitrag anzeigen
                loeserman, Ich baue mir Deine items und die Testseite in den nächsten Tagen einmal nach und teste.

                Mich irritiert aber, dass beim Ausschalten der Klingel das item „SONDERFUNKTIONEN.KLINGEL.AKTIV“ doppelt rückgemeldet wird. Zudem werden items aktualisiert, die garnicht auf der Testseite sind (Squeezebox, Heizungszähler…). Normalerweise werden items beim Backend abbestellt, wenn sie auf der aktuellen Seite nicht mehr benötigt werden. Hast Du einen Proxy oder Reverse Proxy im Einsatz, der möglicherweise die Clients nicht sauber trennt?
                Hi Wolfram,
                ich habe folgendes herausgefunden warum auch Items aktualisiert werden (bzw. auftauchen), die mit der Seite nichts zu tun haben. Hierzu muss man wissen, dass bei mir mehrere Browser auf verschiedenen Rechnern parallel laufen und die SmartVISU anzeigen. Eins davon hat eine große Seite auf mit sehr vielen Items (Gesamtübersicht), welches ich mir auf einem Tablet anzeigen lasse. Mache ich das aus und starte als einziges einen Browser auf einem anderen PC neu mit der Testseite, dann sehe ich nur die Items, die der Browser auch angemeldet hat.


                Beispiel zur Vereinfachung

                Ausgangssituation: Nirgendwo läuft die SmartVisu

                Test1:
                PC1: Browser frisch starten und nur die Testseite aufrufen (Item D)
                --> Es werden nur die Tags in der Console angezeigt, die auch auf der Seite angemeldet wurden (Item D)

                Test2:
                PC1: Zeigt weiterrhin die Testseite aus Test1 (Item D)
                PC2: Öffnen einer SmartVISU Seite mit ganz vielen Tags (Items A, B, C)
                --> Auf PC1 werden nach wie vor nur die Items im Log aufgeführt, die er auch angemeldet hat (nur Item D)
                --> Auf PC2 werden die vielen Tags im Log angezeigt und aktualisiert (Items A, B, C, und D)

                Test3:
                PC1: Schließen des Browsers
                PC2: Weiterlaufen lassen, wie im Test2 (Items A, B, C, das Item D von PC1 wird nicht mehr geloggt)
                PC1: Testseite wieder aufrufen (Item D)
                --> Auf PC1 werden die Tags der Testseite angemeldet aber auch alle Änderungen der anderen Tags angezeigt, die eigentlich über PC2 angemeldet wurden (Items A, B, C, D)
                --> Auf PC2 werden nur noch die Tags angezeigt, die auch angemeldet selbst wurden ohne die der Testseite (Items A, B, C)

                Das ganze Spiel kann auch mit unterschiedlichen oder gleichen Browsern auf einem PC gemacht werden.
                Es sieht daher so aus, dass wenn ein PC2 bereits die Items A, B und C angemeldet hat und danach dann PC1 eine Seite öffnet, die eigentlich nur Item D anmeldet, dann bekommt PC1 dennoch die Aktualisierungen von den Items A, B und C mit, obwohl ihn diese eigentlich gar nicht interessieren.

                Wurde aber zuerst die Testseite auf PC1 geöffnet und damit nur Item D angemeldet und danach dann PC2 mit den Items A, B, C, dann bekommt PC1 auch nur das Item D aktualisiert und nichts von den anderen mit.


                Fazit:
                Kurzum, jede neue SmartVISU Instanz bekommt immer alle Items aktualisiert, die bereits angemeldet sind plus die eigenen, die es eigentlich nur haben will.
                Instanz / Item A B C
                Instanz 1 meldet an A
                Wer erhält was Inst1
                ...
                Instanz 2 meldet an B
                Wer erhält was Inst1+Inst2 Inst2
                ...
                Instanz 1 schließen / meldet ab A
                Wer erhält was Inst2
                ...
                Instanz 3 meldet an C
                Wer erhält was Inst2 Inst2+Inst3
                Vielleicht hilft das etwas weiter.

                Gruß
                Christoph
                Zuletzt geändert von loeserman; 28.03.2023, 07:52.

                Kommentar


                  #23
                  Sipple Da Du auch solche Phänomene hast, kann es sein, dass bei Dir auch mehrere SmartVISU Instanzen laufen (also Browser Aufrufe auf unterschiedlichen Geräten, oder so)?

                  Kommentar


                    #24
                    Ja, in der Regel ist das so, also zwei drei Visus parallel. Allerdings habe ich die gleichen Effekte auch wenn nur eine läuft.
                    Wenn der Geschirrspüler fertig ist z.B. Da kommt die Endemeldung per Toast immer zweimal. Über die selbe Endemeldung gibt es noch ein multimedia.audio, mit einer Sprachansage. Das kommt nur einmal.

                    Kommentar


                      #25
                      Zitat von Sipple Beitrag anzeigen
                      Ja, in der Regel ist das so, also zwei drei Visus parallel. Allerdings habe ich die gleichen Effekte auch wenn nur eine läuft.
                      Wenn der Geschirrspüler fertig ist z.B. Da kommt die Endemeldung per Toast immer zweimal. Über die selbe Endemeldung gibt es noch ein multimedia.audio, mit einer Sprachansage. Das kommt nur einmal.
                      Das ist in der Tat seltsam. Ist es denn genauso konfiguriert, wie auch das andere toast? Am besten nochmal prüfen, ob sich nicht doch irgendwo noch eine VISU versteckt hat. Kann auch auf dem gleichen PC sein, oder einem Handy oder so ;-)

                      Kommentar


                        #26
                        loeserman Hallo Christoph,

                        Danke für die ausführlichen Tests. Nutzt Du das Websocketmodul von shNG, oder noch das alte Plugin „visu_websocket“?

                        Gruß
                        Wolfram

                        Kommentar


                          #27
                          Ich denke ich nutze das Websocketmodul. Früher hatte ich das visu_websocket Plugin, aber ich meine das ist schon lange ausgebaut. Zumindest sieht es so aus.

                          modul.yaml
                          Code:
                          %YAML 1.1
                          ---
                          # etc/module.yaml
                          http:
                              module_name: http
                              starturl: admin
                          
                          admin:
                              module_name: admin
                          
                          websocket:
                              module_name: websocket
                              # tls_key: myprivate.key
                              # use_tls: true
                              # tls_cert: myprivate.pem
                              # port: 2424
                              # tls_port: 2425
                              
                              
                          ...
                          ​
                          In der etc/plugin.yaml gibts keinen Eintrag mit visu_websocket.

                          Das Webfrontend sagt:

                          2023-03-28 11_09_28-Window.png

                          2023-03-28 11_10_00-Window.png

                          SmartVISU sagt folgendes

                          2023-03-28 11_11_16-Window.jpg

                          2023-03-28 11_11_25-Window.jpg

                          Kommentar


                            #28
                            Msinn,
                            kannst Du das nachvollziehen? Laut Beschreibung des Verhaltens sind IMHO die Arrays für die items nicht mehr sauber nach Clients getrennt. shNG-Version ist 1.9.4.

                            Gruß
                            Wolfram

                            Kommentar


                              #29
                              loeserman
                              danke für Deine Tests. Dadurch konnte das Websocket-Problem mit dem shNG-Release v1.9.5 gelöst werden, das heute erschienen ist.

                              Wenn Du das Update durchgeführt hast, kannst Du den Toast gelegentlich nochmal testen? Das mehrfache Triggern sollte dann hoffentlich beseitigt sein.

                              Gruß
                              Wolfram

                              Kommentar


                                #30
                                @loeserman,
                                da war noch ein Bug im Code, so dass das Schließen des Toasts durch ein "false" bei param_allowclose nicht sicher verhindert wurde. Im develop branch ist jetzt eine geänderte Version, in der dies behoben ist. Austauschen der status.html und status.js sollte ausreichen, wenn Du v3.3.1 verwendest.
                                Setzt man "param_allowclose" auf "false" und "param_hideafter" auf "30000" (30 Sekunden), dann verschwindet der Toast automatisch nach 30 Sekunden, sofern nicht vorher der Türöffner betätigt wurde.

                                Es wird bei jedem Trigger-Impuls (Item geht von 0 auf 1) ein Toast getriggert. Das 30 Sekunden aktive Hilfsitem braucht man also weiterhin, um das mehrfache Triggern zu verhindern. Geht das item von 1 auf 0, wird der Toast jetzt nur noch gelöscht, wenn "param_allowclose" = "true" ist.

                                Gruß
                                Wolfram

                                Kommentar

                                Lädt...
                                X