Ankündigung

Einklappen
Keine Ankündigung bisher.

mehrfach Klick für Seitenwechsel!

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

    mehrfach Klick für Seitenwechsel!

    Hallo,

    ich verwende smartVISU mit Anbindung an fhem.

    2 Systeme:
    • fhem auf RPI 3,
      WEB/Datenbankserver Debian Buster Apache2 php8 smartVISU 3.1 und nextcloud
    • RPI 3 mit fhem Apache2 php7.3 smartvisu 3.1
      lesender Datenbankzugriff auf die gleiche Datenbank wie 1
    Wobei das 2 System erst vor ein paar Tagen vollkommen neu erstellt wurde.

    Auf beiden Systemen in unterschiedlichen Browsern (Edge, Firefox, Chrom) auf verschiedenen Geräten (2 Windows PC's, Android Tablet und Telefone) muss ich zum Seitenwechsel mehrfach Klicken.
    Beim ersten Klick kommt der Gringel und wenn der vorbei ist muss ich noch mal Klicken.
    Wenn ich Klicke bevor der Gringel fertig ist, passiert gar nichts.

    Dieses verhalten habe ich erst seit der Umstellung auf V3.1 bei den vorhergehenden Versionen (2.8/2.9 und kurz 3.0)
    war das nicht so!

    Ist das ein Bug oder ein Feature?

    Gruß
    Johann

    #2
    Hallo Johann,

    das Verhalten kenne ich bisher nicht. Also weder bug noch feature, sondern surprise

    Hast Du sie benötigten PHP-Pakete geladen?
    Code:
    sudo apt-get install libawl-php php-curl php php-json php-xml php-mbstring
    sudo service apache2 restart
    Was sagen die Entwicklertools des Browsers: gibt es Meldungen in der Konsole oder sieht man, welche Anfragen hängen bleiben? Und was steht im Apache Error Log?

    Gruß
    Wolfram

    Kommentar


      #3
      Hallo Wolfram,

      bei der Installation habe ich überall ein '... ist schon die neuste Version ...'.

      Im Browser (Firfox) bleibt er mit einem Ausnahmefehler in der base.js stehen.
      Zeile 1765 TypeError: io.stopseries is not a function und Selectiert die Zeile im Debugger!
      Beim Klick nach dem Gringel geht er drüber!

      Gruß
      Johann

      Kommentar


        #4
        Hallo Wolfram,

        ich habe jetzt auf Verdacht den fhem Treiber deaktiviert, jetzt funktioniert es wie es soll!
        Ich denke also, dass die io_fhem.js fehlerhaft ist.
        Machst das du oder herrmannj?

        Gruß
        Johann

        Nachtrag in der io_fhem.js von herrmannj ist die Funktion drinnen, in der von raman nicht!
        Zuletzt geändert von Johann.S; 17.12.2021, 20:18.

        Kommentar


          #5
          In v3.1 ist die Funktion io.stopseries() im fhem-Treiber noch leer. Ich hatte das kurz getestet, aber wohl nicht gründlich genug. Die Funktion wird bei jedem Seitenwechsel aufgerufen, um abonnierte Serien abzubestellen. Beim Neuladen kommt der Aufruf nicht, weshalb „er drüber geht“. Probier mal, den Code aus dem develop branch in der io_fhem.js
          Code:
           stopseries: function () {
                // TODO
           // if the backend supports cancelling of the series subscriptions this should be implemented here
           io.log(2, "series cancelling not yet implemented");
             },
          Wenn das auch nicht geht, dann gibt es in GitHub einen Pull Request, der in der base.js die Ausführung der Funktion versucht (try) und dann den Fehler abfängt.

          Kommentar


            #6
            War gerade mit der gleichen Idee unterwegs und hatte schon den von herrmannj kopiert.
            Bei herrmannj ist die io.log.. Zeile nicht dabei. Es funktionieren aber beide Versionen.

            Kommentar


              #7
              Keine so gute Idee. In der kommenden Version wird es einige Änderungen geben und die kannst Du nicht ewig nachhalten. Lieber jetzt einmal die Ursache beseitigen und dann in Zukunft Ruhe haben.

              Kommentar


                #8
                Ist schon klahr, es Dient ja nur der Ursachenforschung!
                Nachpflegen bringt keinen Segen
                Ich bleibe lieber im Master-Branch und warte bis das Problem behoben ist.

                Kommentar


                  #9
                  Da ich kein fhem habe, wäre es für mich hilfreich zu wissen, ob die io.log… Zeile das Problem behebt. Die müsstest Du einfach in die Funktion hinein kopieren. Falls ja, würde ich das in das demnächst kommende Release übernehmen. Wenn nicht, muss ich nochmal ran, damit die nächste Version sauber ist.

                  Kommentar


                    #10
                    Ja, die io.log ... Zeile behebt das Problem!

                    Kommentar


                      #11
                      Danke! Dann kommt das so ins nächste Release und ich rüste die anderen Treiber mit einem ähnlichen Dummy nach, solange die Backends die gewünschte Funktion noch nicht unterstützten. Offenbar muss eine Funktion irgendeinen ausführbaren Inhalt haben, damit der Aufruf nicht schief geht.

                      Gruß
                      Wolfram

                      Kommentar


                        #12
                        ok, dann schließe ich das Thema so.

                        Gruß
                        Johann

                        Kommentar

                        Lädt...
                        X