Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Fehler VIS-2 Widget Inventwo

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fehler VIS-2 Widget Inventwo

    This topic has been deleted. Only users with topic management privileges can see it.
    • Longbow
      Longbow last edited by

      Guten Morgen,

      es ist wirklich so, das es mal geht mal geht es nicht. Der Fehler das Problem kann nicht respondiert werden.
      Es muss was mit den Browser zu haben, das die was von dem Widget falsch verarbeiten. Habe es mit und ohne VPN probiert, mit und ohne Wlan im netz und von Extern. Über ioborker Pro etc.

      Mal ist es so, mal ist es nicht so. Keine Ahnung was und wo wir machen sollen und können.

      1 Reply Last reply Reply Quote 0
      • Longbow
        Longbow @skvarel last edited by

        @skvarel @jkalver danke Euch 😉

        skvarel 1 Reply Last reply Reply Quote 1
        • skvarel
          skvarel Developer @Longbow last edited by

          @longbow sagte in Fehler VIS-2 Widget Inventwo:

          @skvarel @jkalver danke Euch 😉

          Ich kann da leider nicht viel helfen, außer meinem Bengel auf die Füße zu treten 😉

          Wir haben leider auch keine Apple Geräte im Haushalt und können das nicht wirklich nachstellen.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @skvarel last edited by OliverIO

            @skvarel

            du könntest eine alphaversion machen wo du ungefähr den folgenden code einbaust. dieser leitet die ausgaben von console.log/warn/error in ein html element um.

            das kann man sogar direkt in vis2 ausprobieren. allerdings klinkt sich der code wahrscheinlich bzu spät ein, so das der fehler bereits passiert ist und daher nicht mehr erfasst wird.
            in der alpha version müsste man dafür sorgen, das das so früh als möglich ausgeführt wird.
            also am besten in die index.html mit einbauen.
            https://github.com/inventwo/ioBroker.vis-2-widgets-inventwo/blob/main/src-widgets/index.html

            in vis2 kann man das wie folgt mal probieren:

            html widget mit namen mylog anlegen
            ccaf5389-88f3-4e06-9113-78f8938ad425-image.png

            hier zum importieren mit testcode

            [
             {
               "tpl": "tplHtml",
               "data": {
                 "bindings": [],
                 "name": null,
                 "comment": null,
                 "class": "mylog",
                 "filterkey": null,
                 "multi-views": null,
                 "locked": null,
                 "g_fixed": true,
                 "html": "<script>\r\n    console.log(\"log test\");\r\n    console.warn(\"warn test\");\r\n    console.error(\"error test\");\r\n    console.debug(\"debug test\");\r\n</script>",
                 "refreshInterval": null,
                 "g_common": true
               },
               "style": {
                 "bindings": [],
                 "left": 28,
                 "top": 70,
                 "width": "711px",
                 "height": "331px"
               },
               "widgetSet": "basic",
               "_id": "i000001"
             }
            ]
            

            css im css reiter eintragen

               .mylog {
                 font-family: monospace;
                 white-space: pre-wrap;
                 background: #222;
                 color: #eee;
                 padding: 10px;
                 border-radius: 6px;
                 max-height: 300px;
                 overflow-y: auto;
                 margin: 20px;
               }
               .mylog .log    { color: #bada55; }
               .mylog .warn   { color: #ffae42; }
               .mylog .error  { color: #ff5555; }
               .mylog .debug  { color: #66b3ff; }
            

            javascript in skripte reiter eintragen

               (function() {
                 const orig = {
                   log:   console.log,
                   warn:  console.warn,
                   error: console.error,
                   debug: console.debug,
                 };
            
                 function appendLog(type, args) {
                   const $log = $('.mylog');
                   // Zeile bauen
                   const msg = Array.from(args).map(a => {
                     // Objekt? Dann JSON serialisieren.
                     if (typeof a === 'object' && a !== null) {
                       try {
                         return JSON.stringify(a);
                       } catch { return '[object]'; }
                     }
                     return String(a);
                   }).join(' ');
                   $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                   $log.scrollTop($log[0].scrollHeight);
                 }
            
                 // Funktionen überschreiben
                 ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                   console[type] = function(...args) {
                     appendLog(type, args);
                     orig[type].apply(console, args);
                   };
                 });
               })();
            

            in den runtime mode gehen und reload der seite durchführen

            3f4cff14-3908-467f-99ce-f8754b5d744e-image.png

            skvarel OliverIO 2 Replies Last reply Reply Quote 1
            • skvarel
              skvarel Developer @OliverIO last edited by

              @oliverio .. wie gesagt, das muss sich @jkvarel angucken.

              Ich bin nur der Designer vom vis-icontwo Adapter. Die Widget Adapter macht komplett mein Sohn.

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @skvarel last edited by

                @skvarel sagte in Fehler VIS-2 Widget Inventwo:

                Die Widget Adapter macht komplett mein Sohn.

                ah jetzt, kenne eure rollen und arbeitsteilung nicht.
                Dein Bengel hätte auch die liebevolle Bezeichnung für deinen Adapter sein können 🙂

                skvarel 1 Reply Last reply Reply Quote 1
                • skvarel
                  skvarel Developer @OliverIO last edited by

                  @oliverio sagte in Fehler VIS-2 Widget Inventwo:

                  Dein Bengel hätte auch die liebevolle Bezeichnung für deinen Adapter sein können 🙂

                  In dem Fall ist mein Bengel tatsächlich mein Sohn 😉

                  Kurz zum Hintergrund: Er ist reiner Programmierer aber kein Nutzer. Er hat mit dem ioBroker sonst nichts zu tun. Deswegen kommen manche Dinge erst im Nachhinein ans Licht. Hauptsächlich wenn ich mit dem ioBroker arbeite.

                  Ich habe jetzt meine ganze VIS in VIS2 nachgebaut .... 26 Views mit rund 1.000 Widgets. Da kamen noch zwei/drei Sachen auf, die er beheben muss.

                  1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @OliverIO last edited by

                    @oliverio sagte in Fehler VIS-2 Widget Inventwo:

                    javascript in skripte reiter eintragen

                    noch ein gedanke zum code was mir eingefallen ist.
                    evtl müsste man die meldungen zunächst auch erst noch in einer variable puffern, da die ausgabe in mylog erst erfolgen kann, wenn das html element existiert. alle meldungen zuvor wären dann ebenfalls verloren.

                    hier nochmal ein optimierter code

                       (function() {
                         const orig = {
                           log:   console.log,
                           warn:  console.warn,
                           error: console.error,
                           debug: console.debug,
                         };
                         let mylog = []
                    
                         function appendLog(type, args) {
                           const $log = $('.mylog');
                           // Zeile bauen
                           const msg = Array.from(args).map(a => {
                             // Objekt? Dann JSON serialisieren.
                             if (typeof a === 'object' && a !== null) {
                               try {
                                 return JSON.stringify(a);
                               } catch { return '[object]'; }
                             }
                             return String(a);
                           }).join(' ');
                           mylog.push({type,msg})
                           $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                           $log.scrollTop($log[0].scrollHeight);
                         }
                         function output(){
                           $log.html("");
                           mylog.forEach(line=>{
                             $log.append($('<div>').addClass(line.type).text(`[${line.type}] ${line.msg}`));
                             $log.scrollTop($log[0].scrollHeight);
                    
                           })
                    
                         }
                    
                         // Funktionen überschreiben
                         ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                           console[type] = function(...args) {
                             appendLog(type, args);
                             orig[type].apply(console, args);
                           };
                         });
                       })();
                    
                    

                    1 Reply Last reply Reply Quote 1
                    • Longbow
                      Longbow last edited by

                      @oliverio Könnte dein Sohn schon mal schauen? Es geht von 20x nur 1x kann es aber auch nicht nachbauen.

                      skvarel 1 Reply Last reply Reply Quote 0
                      • skvarel
                        skvarel Developer @Longbow last edited by

                        @longbow sagte in Fehler VIS-2 Widget Inventwo:

                        @oliverio Könnte dein Sohn schon mal schauen? Es geht von 20x nur 1x kann es aber auch nicht nachbauen.

                        .. ich denke, du meinst meinen Sohn 😉

                        @jkvarel ... guckst du bitte hier.

                        1 Reply Last reply Reply Quote 0
                        • jkvarel
                          jkvarel Developer last edited by

                          Ich habe den Code eingefügt. @Longbow , bitte Version 0.3.4 installieren und den Schritten 1, 2 und 4 von @OliverIO folgen

                          1 Reply Last reply Reply Quote 1
                          • jkvarel
                            jkvarel Developer last edited by

                            Bitte Version 0.3.5 nutzen. Beim Testen des Codes hatte ich das Universal Widget auskommentiert und vor dem Hochladen vergessen wieder mit reinzunehmen.

                            Longbow 1 Reply Last reply Reply Quote 1
                            • Longbow
                              Longbow @jkvarel last edited by Longbow

                              @jkvarel die Version installiert, nur leider wenn ich das wie @Oliver-0 beschrieben hat, bleibt die Seite schwarz, es wir gar nichts angezeigt

                              hab gerade im Log geschaut, das steht da

                              Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                              
                              web.0
                              2025-08-10 16:06:17.317	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                              
                              web.0
                              2025-08-10 16:03:35.816	error	Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                              
                              web.0
                              2025-08-10 16:03:35.815	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                              
                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Longbow last edited by

                                @longbow

                                ich habe das gerade mal bei mir ausprobiert und es funktioniert.

                                prüfe nochmal:

                                1. den skript reiter wieder leeren. der code ist jetzt im widget code enthalten.
                                2. css mal lassen
                                3. und zum schluss dann das html widget mit dem namen mylog anlegen wie oben beschrieben.

                                der start des logs sieht im editor dann so aus
                                684a6c2b-f2d4-412b-960f-810ad9c5167b-image.png

                                im runtime wird der code leider nicht geladen.

                                Longbow 1 Reply Last reply Reply Quote 0
                                • Longbow
                                  Longbow @OliverIO last edited by Longbow

                                  @oliverio

                                  ich mal das falsch mit dem HTML import wohl..

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Longbow last edited by

                                    @longbow

                                    was heißt, das steht im html widget?
                                    das ist der code um ein widget zu importieren
                                    das ist nichts was man in das html feld des html widgets einträgt

                                    das sollte so aussehen wenn man das html widget auswählt
                                    eb55e7ed-9f90-43ad-874f-1c5424eca0ad-image.png

                                    und der inhalt des html feldes

                                    a5657fc4-f16a-4c54-9c97-fc940601f6d3-image.png

                                    Longbow 1 Reply Last reply Reply Quote 0
                                    • Longbow
                                      Longbow @OliverIO last edited by Longbow

                                      @oliverio Ok das mit dem Import habe ich... aber was ist das HMTL Edit gemeint... das erste bild sieht bei mir auch so aus.

                                      Greenshot 2025-08-10 17.12.45.png Greenshot 2025-08-10 17.12.34.png Greenshot 2025-08-10 17.12.23.png Greenshot 2025-08-10 17.11.03.png

                                      OliverIO jkvarel 2 Replies Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Longbow last edited by OliverIO

                                        @longbow

                                        html edit ist der knopf vom html feld
                                        um den inhalt zu editieren/bearbeiten.
                                        4434e145-3aff-42a8-bc58-87422252ea24-image.png

                                        es sollte im edit modus nach dem neuladen des kompletten bildschirmes funktionieren

                                        habe gerade festgestellt, das es im runtime nur funktioniert wenn ein iventwo widget auch angelegt ist, das hatte ich nicht.

                                        38c5d437-32e8-4630-9324-60f8d1c2a5f0-image.png

                                        und natürlich solltest du prüfen ob du die richtige version geladen hast
                                        f2102a00-efdb-4a7d-a592-0010330a738d-image.png

                                        0.3.5

                                        1 Reply Last reply Reply Quote 0
                                        • jkvarel
                                          jkvarel Developer @Longbow last edited by

                                          @longbow Skripte Tab leer lassen. Der Code wird von Adapter hinzugefügt, damit die Logs schon eher weggeschrieben werden. Das CSS aber übernehmen.

                                          Longbow 1 Reply Last reply Reply Quote 0
                                          • Longbow
                                            Longbow @jkvarel last edited by Longbow

                                            @jkvarel @OliverIO

                                            also bei sieht es alles so aus.. nur es passiert nichts...

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            601
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            44
                                            758
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo