Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Debug Variablen speichern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Debug Variablen speichern

Geplant Angeheftet Gesperrt Verschoben Entwicklung
28 Beiträge 2 Kommentatoren 2.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OliverIOO OliverIO

    @killroy2

    oh mann, welchen browser benutzt du?
    es sollte ungefähr so aussehen:
    Hier nur die Fehler aus der Browserconsole mit dem chrome

    16main.js:37 Uncaught TypeError: Cannot read properties of undefined (reading 'test')
        at HTMLAnchorElement.u (main.js:37)
        at HTMLAnchorElement.handle (jquery.js:5909)
        at HTMLBodyElement.dispatch (jquery.js:5429)
        at HTMLBodyElement.g.handle (jquery.js:5233)
    /socket.io/?EIO=4&transport=polling&t=Npwn_Zu:1 Failed to load resource: net::ERR_INTERNET_DISCONNECTED
    /socket.io/?EIO=4&transport=polling&t=Npwo04u:1 Failed to load resource: net::ERR_INTERNET_DISCONNECTED
    43main.js:37 Uncaught TypeError: Cannot read properties of undefined (reading 'test')
        at HTMLAnchorElement.u (main.js:37)
        at HTMLAnchorElement.handle (jquery.js:5909)
        at HTMLBodyElement.dispatch (jquery.js:5429)
        at HTMLBodyElement.g.handle (jquery.js:5233)
    

    das was du da kopiert hast ist genau ein einziger fehler. und den hast du ja schon oben geschrieben.
    wie gesagt ich vermute es ist ein folgefehler aufgrund eines fehlers, der vorher schon passiert ist. daher, alle fehlermeldungen, die seit dem laden der seite aufgetreten sind.

    K Offline
    K Offline
    killroy2
    schrieb am zuletzt editiert von
    #15

    @oliverio Firefox, und nein es kann kein Folgefehler sein, wenn ich die Zeile entferne ist alles gut bzw wenn ich showMessage wo anders aufrufe kommt der Fehler dort. Es hat eher was mit Integration zu tun

    1 Antwort Letzte Antwort
    0
    • K killroy2

      @oliverio said in Debug Variablen speichern:

      problematisch ist die funktion in
      adapter-settings.js
      letzte Zeile crasht weil dialogMessage unknown ist. Ich habe bisher nicht herausgefunden was meiner Seite fehlt damit der Dialog angezeigt wird.

      function showMessageJQ(message, title, icon, width) {
      > 
      >     var $dialogMessage = $('#dialog-message-settings');
      > 
      >     if (!$dialogMessage.length) {
      > 
      >         $('body').append('<div id="dialog-message-settings" title="Message" style="display: none">\n' +
      > 
      >             '<p>' +
      > 
      >             '<span id="dialog-message-icon-settings" class="ui-icon ui-icon-circle-check" style="float :left; margin: 0 7px 50px 0;"></span>\n' +
      > 
      >             '<span id="dialog-message-text-settings"></span>\n' +
      > 
      >             '</p>\n' +
      > 
      >             '</div>');
      > 
      >         $dialogMessage = $('#dialog-message-settings');
      > 
      >         $dialogMessage.dialog({
      > 
      >             autoOpen: false,
      > 
      >             modal:    true,
      > 
      >             buttons: [
      > 
      >                 {
      > 
      >                     text: _('Ok'),
      > 
      >                     click: function () {
      > 
      >                         $(this).dialog('close');
      > 
      >                     }
      > 
      >                 }
      > 
      >             ]
      > 
      >         });
      > 
      >     }
      > 
      >     $dialogMessage.dialog('option', 'width', width + 500); <-- crash
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #16

      bin zwar immer noch der Meinung.
      aber wenn die fehlermeldungen in deinem browser geheim sind, dann alles gut.
      wenn du den befehl entfernst, dann werden die zeilen, die fehler erzeugen auch nicht aufgerufen.

      dann musst du hier debuggen, warum durch diesen codeteil das htmlelement nicht angelegt wird, die referenz nicht in $dialogMessage landet und jquery da den dialog nicht drauf registrieren kann.

      @killroy2 sagte in Debug Variablen speichern:

      @oliverio said in Debug Variablen speichern:

      problematisch ist die funktion in
      adapter-settings.js
      letzte Zeile crasht weil dialogMessage unknown ist. Ich habe bisher nicht herausgefunden was meiner Seite fehlt damit der Dialog angezeigt wird.

      function showMessageJQ(message, title, icon, width) {
      > 
      >     var $dialogMessage = $('#dialog-message-settings');
      > 
      >     if (!$dialogMessage.length) {
      > 
      >         $('body').append('<div id="dialog-message-settings" title="Message" style="display: none">\n' +
      > 
      >             '<p>' +
      > 
      >             '<span id="dialog-message-icon-settings" class="ui-icon ui-icon-circle-check" style="float :left; margin: 0 7px 50px 0;"></span>\n' +
      > 
      >             '<span id="dialog-message-text-settings"></span>\n' +
      > 
      >             '</p>\n' +
      > 
      >             '</div>');
      > 
      >         $dialogMessage = $('#dialog-message-settings');
      > 
      >         $dialogMessage.dialog({
      > 
      >             autoOpen: false,
      > 
      >             modal:    true,
      > 
      >             buttons: [
      > 
      >                 {
      > 
      >                     text: _('Ok'),
      > 
      >                     click: function () {
      > 
      >                         $(this).dialog('close');
      > 
      >                     }
      > 
      >                 }
      > 
      >             ]
      > 
      >         });
      > 
      >     }
      > 
      >     $dialogMessage.dialog('option', 'width', width + 500); <-- crash
      

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      K 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        bin zwar immer noch der Meinung.
        aber wenn die fehlermeldungen in deinem browser geheim sind, dann alles gut.
        wenn du den befehl entfernst, dann werden die zeilen, die fehler erzeugen auch nicht aufgerufen.

        dann musst du hier debuggen, warum durch diesen codeteil das htmlelement nicht angelegt wird, die referenz nicht in $dialogMessage landet und jquery da den dialog nicht drauf registrieren kann.

        @killroy2 sagte in Debug Variablen speichern:

        @oliverio said in Debug Variablen speichern:

        problematisch ist die funktion in
        adapter-settings.js
        letzte Zeile crasht weil dialogMessage unknown ist. Ich habe bisher nicht herausgefunden was meiner Seite fehlt damit der Dialog angezeigt wird.

        function showMessageJQ(message, title, icon, width) {
        > 
        >     var $dialogMessage = $('#dialog-message-settings');
        > 
        >     if (!$dialogMessage.length) {
        > 
        >         $('body').append('<div id="dialog-message-settings" title="Message" style="display: none">\n' +
        > 
        >             '<p>' +
        > 
        >             '<span id="dialog-message-icon-settings" class="ui-icon ui-icon-circle-check" style="float :left; margin: 0 7px 50px 0;"></span>\n' +
        > 
        >             '<span id="dialog-message-text-settings"></span>\n' +
        > 
        >             '</p>\n' +
        > 
        >             '</div>');
        > 
        >         $dialogMessage = $('#dialog-message-settings');
        > 
        >         $dialogMessage.dialog({
        > 
        >             autoOpen: false,
        > 
        >             modal:    true,
        > 
        >             buttons: [
        > 
        >                 {
        > 
        >                     text: _('Ok'),
        > 
        >                     click: function () {
        > 
        >                         $(this).dialog('close');
        > 
        >                     }
        > 
        >                 }
        > 
        >             ]
        > 
        >         });
        > 
        >     }
        > 
        >     $dialogMessage.dialog('option', 'width', width + 500); <-- crash
        
        K Offline
        K Offline
        killroy2
        schrieb am zuletzt editiert von
        #17

        @oliverio nein, es gibt keine weitere Fehlermeldung, im Log sind ein paar get's drin bis zur Exception, alles irrelevant.

        Ich habe es mal weiter untersucht, er sucht nach index_m.html und springt dann zum JQ Dialog statt Materialize.
        Ich hatte meine Admin Seite temporär nach index.html umbenannt weil er die Laden will und ich noch nicht herausgefunden habe was ich dafür einstellen muss.

        OliverIOO 1 Antwort Letzte Antwort
        0
        • K killroy2

          @oliverio nein, es gibt keine weitere Fehlermeldung, im Log sind ein paar get's drin bis zur Exception, alles irrelevant.

          Ich habe es mal weiter untersucht, er sucht nach index_m.html und springt dann zum JQ Dialog statt Materialize.
          Ich hatte meine Admin Seite temporär nach index.html umbenannt weil er die Laden will und ich noch nicht herausgefunden habe was ich dafür einstellen muss.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #18

          @killroy2
          evtl solltest du mit dem adapter creator mal eine neue grundstruktur erzeugen und dort alles nach und nach einbauen was du schon hast
          die admin grundfunktionalitäten funktionieren soweit
          ansonsten doktorst du an evtl kleinigkeiten rum die du nicht so einfach findest

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          K 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @killroy2
            evtl solltest du mit dem adapter creator mal eine neue grundstruktur erzeugen und dort alles nach und nach einbauen was du schon hast
            die admin grundfunktionalitäten funktionieren soweit
            ansonsten doktorst du an evtl kleinigkeiten rum die du nicht so einfach findest

            K Offline
            K Offline
            killroy2
            schrieb am zuletzt editiert von
            #19

            @oliverio mal eine andere dumme Frage:
            Äderungen von Objekten zum Adapter zugehörig können mit onStateChange(id, state) abgefragt werden.
            Ich habe 2 Informationen die ich auswerten will.
            -Ein Nutzer, Script.. schreibt normalerweise auf val: StateValue; das ist auch so bei mir
            -Parallel soll mein Adapter nichts mit dem Wert vom Objekt machen sondern der Nutzer soll eine andere Art von Nutzung einfach antriggern können.
            Das gillt für jedes Objekt, und für den 2ten Use Case will ich nicht den ganzen Objektbaum mit ähnlichen Elementen duplizieren. Ich hoffe das war verständlich. Gibt es eine gute Idee sowas zu tun?

            OliverIOO 1 Antwort Letzte Antwort
            0
            • K killroy2

              @oliverio mal eine andere dumme Frage:
              Äderungen von Objekten zum Adapter zugehörig können mit onStateChange(id, state) abgefragt werden.
              Ich habe 2 Informationen die ich auswerten will.
              -Ein Nutzer, Script.. schreibt normalerweise auf val: StateValue; das ist auch so bei mir
              -Parallel soll mein Adapter nichts mit dem Wert vom Objekt machen sondern der Nutzer soll eine andere Art von Nutzung einfach antriggern können.
              Das gillt für jedes Objekt, und für den 2ten Use Case will ich nicht den ganzen Objektbaum mit ähnlichen Elementen duplizieren. Ich hoffe das war verständlich. Gibt es eine gute Idee sowas zu tun?

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #20

              @killroy2

              wenn du nur triggern willst:
              ich habe im adapter squeeboxrpc den folgenden datenpunk in einem adapter

                  'getFavorites': {
                      name:   'getFavorites',
                      read:   true,
                      write:  true,
                      type:   'boolean',
                      role:   'button',
                      def: false
                  }};
              

              in der alten objekt ansicht, wird wegen der role button ein knopf angezeigt
              in der neuen leider nicht mehr, da bin ich noch am schauen, warum das so ist.

              wenn der wert wichtig ist, den der nutzer da einträgt,
              ja dann mit stateChange geht das.

              du kannst ja in meine adapter reinschauen, ich verwende das in fast jedem adapter

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              K 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @killroy2

                wenn du nur triggern willst:
                ich habe im adapter squeeboxrpc den folgenden datenpunk in einem adapter

                    'getFavorites': {
                        name:   'getFavorites',
                        read:   true,
                        write:  true,
                        type:   'boolean',
                        role:   'button',
                        def: false
                    }};
                

                in der alten objekt ansicht, wird wegen der role button ein knopf angezeigt
                in der neuen leider nicht mehr, da bin ich noch am schauen, warum das so ist.

                wenn der wert wichtig ist, den der nutzer da einträgt,
                ja dann mit stateChange geht das.

                du kannst ja in meine adapter reinschauen, ich verwende das in fast jedem adapter

                K Offline
                K Offline
                killroy2
                schrieb am zuletzt editiert von
                #21

                @oliverio verstehe ich so dass du komplett auf Trigger umgestellt hast, nicht parallel.

                Mein Problem etwas konkreter:
                -Ich habe einen Kommunikationsadapter, damit kann ich Werte auf den Bus senden. Die Sendeadresse ist hinterlegt im entsprechenden Objekt. Write geht über die Änderung des Werts.
                -Gleichzeitig sieht das Kommunikationsprotokoll vor, auch einen Request des Werts (von anderen Teilnehmern angefordert) auf den Bus zu schreiben. Adresse wieder im Objekt hinterlegt.

                Für den zweiten Fall will ich nicht den kompletten Objektbaum, der tausende Einträge haben kann, duplizieren. Dafür brauche ich einen zweiten Trigger

                OliverIOO 1 Antwort Letzte Antwort
                0
                • K killroy2

                  @oliverio verstehe ich so dass du komplett auf Trigger umgestellt hast, nicht parallel.

                  Mein Problem etwas konkreter:
                  -Ich habe einen Kommunikationsadapter, damit kann ich Werte auf den Bus senden. Die Sendeadresse ist hinterlegt im entsprechenden Objekt. Write geht über die Änderung des Werts.
                  -Gleichzeitig sieht das Kommunikationsprotokoll vor, auch einen Request des Werts (von anderen Teilnehmern angefordert) auf den Bus zu schreiben. Adresse wieder im Objekt hinterlegt.

                  Für den zweiten Fall will ich nicht den kompletten Objektbaum, der tausende Einträge haben kann, duplizieren. Dafür brauche ich einen zweiten Trigger

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #22

                  @killroy2
                  Hab ich nicht so verstanden.
                  Ein Adapter fragt in der Regel werte von einem bestimmten Gerät ab und legt diese in datenpunkte
                  Manche datenpunkte kann ein Benutzer ändern.
                  Der Adapter sendet dann diese Werte an das Gerät

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  K 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @killroy2
                    Hab ich nicht so verstanden.
                    Ein Adapter fragt in der Regel werte von einem bestimmten Gerät ab und legt diese in datenpunkte
                    Manche datenpunkte kann ein Benutzer ändern.
                    Der Adapter sendet dann diese Werte an das Gerät

                    K Offline
                    K Offline
                    killroy2
                    schrieb am zuletzt editiert von
                    #23

                    @oliverio
                    ich will dass der Nutzer
                    -einen Wert setzen kann, und der Adapter bekommt den Wert dann so.
                    -eine Triggeraktion auslösen kann, der Adapter bekommt den Trigger nicht über einen Wert, sonder anders. <- ist das möglich?
                    Ansonsten behelfe ich mich mit zB einem Workaround und lege einen Wert fest für das Ereignis, zB undefined.

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • K killroy2

                      @oliverio
                      ich will dass der Nutzer
                      -einen Wert setzen kann, und der Adapter bekommt den Wert dann so.
                      -eine Triggeraktion auslösen kann, der Adapter bekommt den Trigger nicht über einen Wert, sonder anders. <- ist das möglich?
                      Ansonsten behelfe ich mich mit zB einem Workaround und lege einen Wert fest für das Ereignis, zB undefined.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #24

                      @killroy2

                      ja, geht beides über datenpunkte.
                      du musst halt beim anlegen definieren was für ein datentyp ein datenpunkt hat.
                      für den trigger kannst du die rolle button wählen, wie oben schon geschrieben

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      K 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @killroy2

                        ja, geht beides über datenpunkte.
                        du musst halt beim anlegen definieren was für ein datentyp ein datenpunkt hat.
                        für den trigger kannst du die rolle button wählen, wie oben schon geschrieben

                        K Offline
                        K Offline
                        killroy2
                        schrieb am zuletzt editiert von
                        #25

                        @oliverio kannst du ein Beispiel geben wie?
                        Nur nochmal zur Verdeutlichung, beide Steuerungsmöglichkeiten sollen mit ein und demselben Objekt möglich sein!

                        K OliverIOO 2 Antworten Letzte Antwort
                        0
                        • K killroy2

                          @oliverio kannst du ein Beispiel geben wie?
                          Nur nochmal zur Verdeutlichung, beide Steuerungsmöglichkeiten sollen mit ein und demselben Objekt möglich sein!

                          K Offline
                          K Offline
                          killroy2
                          schrieb am zuletzt editiert von
                          #26

                          und andere Frage: weisst du wie das Modell hinter AdapterConfig aussieht? Ich ändere Einstellungen im Webfrontend, sehe aber keinen Effekt im Backend. Erst ein Reset lädt die Änderungen in den Adapter. Kann ich den Austausch provozieren?

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • K killroy2

                            @oliverio kannst du ein Beispiel geben wie?
                            Nur nochmal zur Verdeutlichung, beide Steuerungsmöglichkeiten sollen mit ein und demselben Objekt möglich sein!

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #27

                            @killroy2 sagte in Debug Variablen speichern:

                            @oliverio kannst du ein Beispiel geben wie?
                            Nur nochmal zur Verdeutlichung, beide Steuerungsmöglichkeiten sollen mit ein und demselben Objekt möglich sein!

                            Was für ein Objekt meinst du?
                            Wenn du Datenbanken meinst musst du dich entscheiden. Entweder triggert eine wertänderung oder ein Knopfdruck beides gleichzeitig geht nicht.
                            Du kannst natürlich in bis einen Knopf erstellen der bei Druck 0 reinschreibt, das triggert auch

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Antwort Letzte Antwort
                            0
                            • K killroy2

                              und andere Frage: weisst du wie das Modell hinter AdapterConfig aussieht? Ich ändere Einstellungen im Webfrontend, sehe aber keinen Effekt im Backend. Erst ein Reset lädt die Änderungen in den Adapter. Kann ich den Austausch provozieren?

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #28

                              @killroy2 sagte in Debug Variablen speichern:

                              und andere Frage: weisst du wie das Modell hinter AdapterConfig aussieht? Ich ändere Einstellungen im Webfrontend, sehe aber keinen Effekt im Backend. Erst ein Reset lädt die Änderungen in den Adapter. Kann ich den Austausch provozieren?

                              Sobald du die Config speicherst wird die adapterinstanz neu gestartet.
                              Wenn sie nicht neu startet rufst du nicht die richtige funktion zum Abschluss auf

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              669

                              Online

                              32.4k

                              Benutzer

                              81.4k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe