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.
    • skvarel
      skvarel Developer last edited by

      @jkvarel .. kannst du dir das Thema mal bitte angucken

      Longbow 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            431
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            44
                                            652
                                            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