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 @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
                                          • Longbow
                                            Longbow last edited by Longbow

                                            Guten Morgen,

                                            ich würde es gern hinbekommen, aber leider geht das nicht. in dem HtmL Widget kommt kein Auswertung etc., ich muss wohl was noch falsch machen.

                                            Kann man nicht ein Projekt / Seit expotieren und dann ich die importieren?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            407
                                            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