Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. SQL Adapter Update - etwas ging schief ...

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    883

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

SQL Adapter Update - etwas ging schief ...

Geplant Angeheftet Gesperrt Verschoben Ungelöst Error/Bug
sql adapter installationsql-adapter
20 Beiträge 2 Kommentatoren 990 Aufrufe 2 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.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #7

    Du hast aber keinen sql Fehler gezeigt (oder meinst du das mit unix_dgram?). Das wäre dann ega.

    Der "alles startet neu" passt zu den js-controller Crash

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • apollon77A apollon77

      Du hast aber keinen sql Fehler gezeigt (oder meinst du das mit unix_dgram?). Das wäre dann ega.

      Der "alles startet neu" passt zu den js-controller Crash

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #8

      @apollon77 in dem log22.txt file bei zeile 1235

      davor alles ok - nach sql fehler wird alles gestoppt

      log22.txt

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #9

        Also faktisch ist diese Zeit die Ursache das alles stoppt:

        2019-05-22 08:36:10.279 - info: host.raspberry3 received SIGTERM

        Das ist genau das wo der kernel dem js-controller gesagt hat "beende dich mal, da ist was komisch". Und dann fährt alles runter

        Die Zeile

        2019-05-22 08:36:10.290 - error: sql.0 Error: connect ECONNREFUSED 192.168.178.59:3306

        Sagt nur das die Verbindung zum SQL Server beendet wurde ... warum, könntest DU ggf im sql-server Log finden, ggf zuviele Verbindungen falls er das Audit-Feature an hat und damit pro Datenpunkt ein NULL geschrieben wird.

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • apollon77A apollon77

          Also faktisch ist diese Zeit die Ursache das alles stoppt:

          2019-05-22 08:36:10.279 - info: host.raspberry3 received SIGTERM

          Das ist genau das wo der kernel dem js-controller gesagt hat "beende dich mal, da ist was komisch". Und dann fährt alles runter

          Die Zeile

          2019-05-22 08:36:10.290 - error: sql.0 Error: connect ECONNREFUSED 192.168.178.59:3306

          Sagt nur das die Verbindung zum SQL Server beendet wurde ... warum, könntest DU ggf im sql-server Log finden, ggf zuviele Verbindungen falls er das Audit-Feature an hat und damit pro Datenpunkt ein NULL geschrieben wird.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von liv-in-sky
          #10

          @apollon77

          zur zeit - klopfe auf holz:

          habe mal viele datenpunkt-aufzeichnungen gestoppt um den sql server etwas zu schonen - den habe ich durch zusammen-googelen so eingestellt, dass er wenig speicher verwendet ( da könnte ein problem liegen, da ich eigentlich keine ahnung habe, was ich da alles eingestellt habe) - auch die flot diagramme, welche ja auch auf sql zugreifen habe ich aus der vis gelöscht

          die meldungen, die kamen waren meist zu viele connections - das ist jetzt nicht mehr aufgetreten

          aber selbst dann, waren noch die selben iobroker aussetzer da.

          ich habe dann den js-controller wieder auf 1.4.7 gesetzt (vorher 1.59) - seitdem läuft iobroker wieder stabil - mit 1.5.9 lief er einige wochen auch sehr stabil (habe aber in letzter zeit immer mehr mit/ vom sql adapter gefordert)

          kann das zusammenspiel zwischen sql adapter und js-controller dieses problem verursachen ? sagt der js-controller: ich kann keine aufzeichnungen in sql machen - also beende ich mich

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #11

            Also aus deinen logs gewinnt eindeutig das syslog was sagt "fehler in js.controller prozess den kille ich mal". Das richtig gute an ioBroker ist das halt alles als eigene Prozesse läuft und sich daher nicht in die Quere kommt.
            Also die "too many connections" sind ein anderen thema beim sql-Adapter und hat auch damit nichts zu tun.

            Am Ende kann ich jetzt nur sagen: Mal Kernel updaten, nodejs updaten (aber denke das warst du auf dem aktuellsten 10er). Auch sonst können wir mit "Javascript code" an sich solche Kernel Dinge nicht verursachen ...

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            liv-in-skyL 2 Antworten Letzte Antwort
            0
            • liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von liv-in-sky
              #12

              @apollon77
              mein kernel 4.19.0-4-amd64 - zur zeit: ( ->4.20 -> 5.0) - (also das ist doch ein einigermaßen neuer kernel)

              node 10.15.3 und npm (jetzt 6.9 ) war (aber 6.4.1)

              jetzt mach ich erstmal wieder den neusten sql adapter drauf - dann versuch ich mal ob ich den sql server besser konfigurieren kann (auch wenn das alles nichts damit zu tun hat) evtl schaue ich mal, ob ich etwas vom linux server löschen kann - der hat einiges an service laufen) (hat 4.84 GB ram) - könnte der sql server linux veranlassen, iobroker zu beenden oder ist das sigterm ausschliesslich vom js-controller?

              vielleicht probiere ich in ein paar tagen den js-c 1.5.9 nochmal

              ist ein blödes gefühl - ich weiß nicht, was es eigentlich war und falls es der js-controller ist, wüßte ich nicht, was zu tun ist) - zuerst läuft er, dann aber auf einmal macht er probleme !

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • apollon77A apollon77

                Also aus deinen logs gewinnt eindeutig das syslog was sagt "fehler in js.controller prozess den kille ich mal". Das richtig gute an ioBroker ist das halt alles als eigene Prozesse läuft und sich daher nicht in die Quere kommt.
                Also die "too many connections" sind ein anderen thema beim sql-Adapter und hat auch damit nichts zu tun.

                Am Ende kann ich jetzt nur sagen: Mal Kernel updaten, nodejs updaten (aber denke das warst du auf dem aktuellsten 10er). Auch sonst können wir mit "Javascript code" an sich solche Kernel Dinge nicht verursachen ...

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #13

                Hi @apollon77

                bitte dich nochmals um eine antwort
                ich versuche gerade objecte und json zu verstehen - dazu hole ich über sql einen wert - diesen möchte ich in einen datenpunkt schreiben

                und schwubs: SIGTERM - meine frage - ist das normal, dass bei einem solchen fehler iobroker neustartet?

                Fehler:

                javascript.0	2019-05-25 11:12:54.094	info	starting. Version 4.1.12 in /opt/iobroker/node_modules/iobroker.javascript, node: v10.15.3
                host.raspberry3	2019-05-25 11:12:52.967	info	instance system.adapter.javascript.0 started with pid 2018
                host.raspberry3	2019-05-25 11:12:32.994	info	received SIGTERM
                host.raspberry3	2019-05-25 11:12:27.987	info	received SIGTERM
                host.raspberry3	2019-05-25 11:12:27.880	info	iobroker exit 0
                host.raspberry3	2019-05-25 11:12:27.870	info	iobroker Starting node restart.js
                host.raspberry3	2019-05-25 11:12:27.702	info	iobroker _restart
                host.raspberry3	2019-05-25 11:12:27.702	error	TypeError [ERR_INVALID_CALLBACK]: Callback must be a function at maybeCallback (fs.js:128:9) at Object.writeFile (fs.js:1158:14) at processMessage (/opt/iobroker/node_modules/iobroker.js-c
                host.raspberry3	2019-05-25 11:12:27.701	error	uncaught exception: Callback must be a function
                

                wie erwähnt -ich versuche gerade über trial und error zu lernen:
                hier das script (möchte den wert connections auslesen:

                   sendTo('sql.0', 'query', 'show status like "Connections"', function (result) {
                       
                    if (result.error) {
                        console.error(result.error);
                    } else {
                      // setState("controll-own.0.FUTRO.SQLConnections",JSON.stringify(result.result));
                       //setState("controll-own.0.FUTRO.SQLConnections",result.Value);
                        //setState("controll-own.0.HANDY.SQLToDos",result.Value);
                        //show result
                         console.log('Rows: ' + JSON.stringify(result.Value));
                         console.log(result.Value);
                         // var obj = JSON.parse(result);
                           // console.log('Hardware-Version' + obj.value);
                           }
                });
                

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • apollon77A apollon77

                  Also aus deinen logs gewinnt eindeutig das syslog was sagt "fehler in js.controller prozess den kille ich mal". Das richtig gute an ioBroker ist das halt alles als eigene Prozesse läuft und sich daher nicht in die Quere kommt.
                  Also die "too many connections" sind ein anderen thema beim sql-Adapter und hat auch damit nichts zu tun.

                  Am Ende kann ich jetzt nur sagen: Mal Kernel updaten, nodejs updaten (aber denke das warst du auf dem aktuellsten 10er). Auch sonst können wir mit "Javascript code" an sich solche Kernel Dinge nicht verursachen ...

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #14

                  @apollon77
                  und jetzt wird es noch verrückter

                  er stürzt jedesmal ab wenn ich im log-tab auf lösche log gehe - dann kommt sofort:

                  host.raspberry3	2019-05-25 11:43:22.380	info	iobroker _restart
                  host.raspberry3	2019-05-25 11:43:22.380	error	TypeError [ERR_INVALID_CALLBACK]: Callback must be a function at maybeCallback (fs.js:128:9) at Object.writeFile (fs.js:1158:14) at processMessage (/opt/iobroker/node_modules/iobroker.js-c
                  host.raspberry3	2019-05-25 11:43:22.379	error	uncaught exception: Callback must be a function
                  web.2	2019-05-25 11:43:08.712	info	<==Disconnect system.user.admin from ::ffff:192.168.178.26
                  

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #15

                    Gleiche Frage wie im GitHub-Issue: Welcher js.controller?

                    Der 1.4.2er hatte exakt hier eine Inkompatibilität mit NodeJS 10, weshalb nodejs 10 auch offiziell mit dem js.controller 1.4.2 nicht unterstützt ist. Um dazu zu umgehen brauchst Du einen 1.5er js-controller.

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      Gleiche Frage wie im GitHub-Issue: Welcher js.controller?

                      Der 1.4.2er hatte exakt hier eine Inkompatibilität mit NodeJS 10, weshalb nodejs 10 auch offiziell mit dem js.controller 1.4.2 nicht unterstützt ist. Um dazu zu umgehen brauchst Du einen 1.5er js-controller.

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #16

                      @apollon77

                      ich hatte den 1.5.9er -und node 10 -es machte probleme - andere

                      dann habe ich den 1.4er und hatte das mit dem löschen des log-tab problem (github)

                      mittlerweile habe ich node 8.16, js-co. 1.5.9 und es scheint momentan stabil zu sein - zumindest funktioniert der admin wieder und auch wenn ich mal einen fehler in einem script erzeuge, kommt eine fehlermeldung aber iobroker läuft weiter - so wie es sein soll.

                      würdest du mir bitte noch eine frage zum mysql server beantworten

                      ich habe ein kurzes script geschrieben

                      
                       sendTo('sql.0', 'query', 'show status like "Connection_errors_max_connections"', function (result) {
                          if (result.error) {
                              console.error(result.error);
                          } else {
                            setState("controll-own.0.FUTRO.SQLConnections",JSON.stringify(result.result));
                            
                               console.log('Rows: ' + JSON.stringify(result.result));
                            
                             
                                 }
                      });
                      

                      ich versuche aus dem ergebnis:

                      script.js.Armin_Schalter.ALLERLEI.SQLConnectionsGet: Rows: [{"Variable_name":"Connection_errors_max_connections","Value":"0"}]
                      

                      den wert von value also "0" in den datenpunkt zu schreiben - würdest du mir kkurz den trick zeigen, wie das geht

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #17

                        ich habe die sql-abfage jetzt so gelöst:

                           sendTo('sql.0', 'query', 'show status like "Connection_errors_max_connections"', function (result) { 
                            if (result.error) {
                                console.error(result.error);
                                
                            } else {
                              
                                   console.log('Rows: ' + JSON.stringify(result.result));
                                 var abc = JSON.stringify(result.result);
                                 abc = abc.replace( /\[|\]/g , "");
                                 var json = JSON.parse(abc);
                                   console.log(json.Value);
                                setState("controll-own.0.FUTRO.SQLConnections",json.Value);
                                   }
                        });
                        

                        irgendwie check ich das result.result nicht - dachte es ist ein object welches ich direkt mit JSON.parse verarbeiten könnte - is aber nicht

                        hauptsache es läuft wieder alles

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #18

                          result.result[0].Variable_name bzw result.result[0].Value

                          In der Variable result (kannst Du auch anders nennen, steht in der Callback Funktion direkt in deinem Code) steht ein Objekt was einen key "error" und einen Key "result" hat.
                          In Result ist ein Array mit den Antwortzeilen Drin. Dort pro Zeile EIn Objekt mit den Spaltennamen als Keys und dem Value

                          Also:

                          • result: Name der Variable die Du im Ergebnis bekommst
                          • result: Du willst auf das Ergebnis Zugreifen
                          • [0]: erste Zeile der Antwort
                          • .Value Wert

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • apollon77A apollon77

                            result.result[0].Variable_name bzw result.result[0].Value

                            In der Variable result (kannst Du auch anders nennen, steht in der Callback Funktion direkt in deinem Code) steht ein Objekt was einen key "error" und einen Key "result" hat.
                            In Result ist ein Array mit den Antwortzeilen Drin. Dort pro Zeile EIn Objekt mit den Spaltennamen als Keys und dem Value

                            Also:

                            • result: Name der Variable die Du im Ergebnis bekommst
                            • result: Du willst auf das Ergebnis Zugreifen
                            • [0]: erste Zeile der Antwort
                            • .Value Wert
                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #19

                            @apollon77

                            vielen dank - werd's gleich mal testen

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von
                              #20

                              jetzt klappts

                              console.log(result.result[0].Value);
                              setState("controll-own.0.FUTRO.SQLConnections",result.result[0].Value);
                              

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              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

                              697

                              Online

                              32.6k

                              Benutzer

                              82.1k

                              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
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe