Ankündigung

Einklappen
Keine Ankündigung bisher.

SVG für Heizung

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

    Moinmoin@all

    Ok, werde ich testen.
    Kind regards,
    Yves

    Kommentar


      Nabend Chris

      Zitat von Chris M. Beitrag anzeigen
      Schau mal ob der Pull Request https://github.com/CometVisu/CometVisu/pull/226 das Problem bei Dir löst
      Das sieht in der Tat sehr gut aus und scheint zu funktionieren.

      Ich kann problemlos mehrere Animationen auf der Page starten/stoppen und das klappt auch, wenn ich mehrere Browser parallel offen habe. Einzig wenn ich einen Browser neu öffne, wird die Animation dort drin erst dann aktiviert, wenn ich sie erneut starte. Aber das ist vermutlich ein anderes Thema...

      Werde damit nun noch etwas herumexperimentieren.
      Kind regards,
      Yves

      Kommentar


        Zitat von starwarsfan Beitrag anzeigen
        Einzig wenn ich einen Browser neu öffne, wird die Animation dort drin erst dann aktiviert, wenn ich sie erneut starte. Aber das ist vermutlich ein anderes Thema...
        In's Blaue hinein geraten: da die SVG vermutlich erst geladen und geparst wurde nachdem bereits der erste Read Request draußen ist, wird der Wert dort nicht aus dem Cache befüllt und bleibt erst mal leer.

        Diese Hypothese sollte man in der Netzwerk-Pane des Debuggers hoffentlich verifizieren oder widerlegen können.

        Sollte das stimmen, dann könnte man eine Logik in die Template-Engine einbauen die bei hinzugefügten GAs einfach nochmal einen ganzen Cache-Read verschickt.
        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

        Kommentar


          Habe die letzten updates aus dem git auf mein wiregate geholt - jetzt gibt es ein Problem mit den Stati des KNX. Hier werden nur sehr rudimentär Daten angezeigt. Ich habe mal einen screenshot angehängt, worin die falschen oder fehlenden Stati verzeichnet sind.
          Kann da jemand helfen - womit könnte dies denn zusammen hängen snapshot3.jpg snapshot1.jpg snapshot2.jpg ?

          Und ach ja, cache ist gelöscht usw.
          Viele Grüße Jens

          Kommentar


            Und auch forceReload=true angehängt?

            Auch wenn's doof klingt, aber Cache-Probleme können manchmal übel hartnäckig sein.

            Ansonsten ist die Frage erst mal: von welcher Version bist du auf die aktuelle gewechselt?
            Gibt es irgendwelche interessanten Meldungen in der JavaScript Konsole?
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar


              forceReload=true war dabei.

              Wie kann ich denn die letzte Version herausfinden - aktuell ist es Rev 37482.

              Die Konsole beschwert sich über jquery.svg.min.js? und zwar massiv

              snapshot4.jpg
              Viele Grüße Jens

              Kommentar


                Bei Git gibt's Commit Hashes die eindeutig für eine Version sind (und mit denen zumindest ich nicht viel anfangen...). Meine Hoffnung wäre gewesen, dass Du den Stand irgendwie beschreiben kannst, so dass ich ihn bei https://github.com/CometVisu/CometVisu/network wiederfinde

                Kann sein, dass Du die SVG geändert hast? jQuery SVG ist die Bibliothek die wir nutzen um den DOM der SVG Datei einfach bearbeiten zu können.
                TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                Kommentar


                  Nicht das ich wüsste inm letzten Jahr die svg geändert zu haben. funktionierte ja auch eine ganze Weile tadellos mit der CV.

                  Ich tippe eher in diese Richtung

                  https://knx-user-forum.de/forum/supp...len#post880631

                  die CV in ihrer jetzigen Form holt offensichtlich unter bestimmten Umständen Stati nicht ab beim laden.
                  Viele Grüße Jens

                  Kommentar


                    Zitat von Chris M. Beitrag anzeigen
                    In's Blaue hinein geraten: da die SVG vermutlich erst geladen und geparst wurde nachdem bereits der erste Read Request draußen ist, wird der Wert dort nicht aus dem Cache befüllt und bleibt erst mal leer.

                    Diese Hypothese sollte man in der Netzwerk-Pane des Debuggers hoffentlich verifizieren oder widerlegen können.

                    Sollte das stimmen, dann könnte man eine Logik in die Template-Engine einbauen die bei hinzugefügten GAs einfach nochmal einen ganzen Cache-Read verschickt.
                    Genau das ist das Problem. Ist das svg auf der Startpage, klappt die Animation sofort. Ist es allerdings auf einer subpage, wird das svg erst beim Aufrufen dieser page geladen. Wenn die GAs dann nicht zufällig durch ein Info Feld o.ä. sowieso in der URL sind, werden die Werte auch nie upgedated.
                    Deshalb hatte ich bei meinem Lösungsansatz damals das svg geladen bevor die URL gebaut wurde. Man müsste jetzt beim addAddress was einbauen was so ähnlich funktioniert:

                    Code:
                      this.addAddress = function( address, id ) {
                        if( address in ga_list ) {
                          ga_list[ address ].push( id );
                          --> if loading finished
                          --> reload cache
                        }
                        else {
                          ga_list[ address ] = [ id ];
                          --> if loading finished
                          --> update URL:  thisTemplateEngine.visu.subscribe(thisTemplateEngine.getAddresses()); ???
                          --> reload cache      
                        }
                      };
                    Leider weiß ich nicht, welche Funktionen in der templateengine da aufgerufen werden müssen.

                    Gruß
                    Michael

                    Kommentar


                      Noch eine Sache. Die Funktion addAddress in der trick-o-matic wird jedesmal aufgerufen, wenn die page mit dem SVG aufgerufen wird, sprich es wird jedesmal die gleiche "id" hinzugefügt.

                      Kommentar


                        Ich habe mich mal an die addAddress Funktion gewagt.
                        Jetzt wird überprüft, ob die Funktion bereits für die GA vorhanden ist und dann auch nicht mehr neu hinzugefügt.
                        Allerdings fehlt noch, dass der cache neu initialisiert wird. Ich denke das ist eher was für Chris.

                        Code:
                        this.addAddress = function( address, id ) {  
                            if( address in ga_list ) {
                              // For functions we need to iterate and check if function already present
                              var doAdd = true;
                              if ( typeof id === 'function' ) {
                                // Iterate through array and check if id is function and if function string is equal
                                for(var i = 0, size = ga_list[address].length; i < size ; i++){
                                  var idChk = ga_list[address][i];
                                  if ( typeof idChk === 'function' & idChk.toString() == id.toString() ) {
                                    doAdd = false;
                                    break;
                                  }
                                }
                                
                                if ( doAdd ) {
                                  ga_list[ address ].push( id );
                                  // If loading was finished, re-init cache
                                  if ( !$('.loading').hasClass('loading') ) {
                                    console.log("Added function to address " + address + " after loading");
                                    // perform cache re-init
                                  }
                                }
                                else {
                                  console.log("Function already there for address " + address);
                                }
                              }
                              else if ( id in ga_list[ address ] ) {
                                console.log("ID " + id + " already there for address " + address);
                              }
                              else {
                                ga_list[ address ].push( id );
                                if ( !$('.loading').hasClass('loading') ) {
                                  console.log("Added ID " + id + " to address " + address + " after loading");
                                }
                              }
                            }
                            else {
                              ga_list[ address ] = [ id ];
                              // If loading was finished, re-init cache
                              if ( !$('.loading').hasClass('loading') ) {
                                  console.log("Added address " + address + " after loading");
                                  // perform cache re-init
                              }
                            }
                          };

                        Kommentar

                        Lädt...
                        X