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. Tester
  4. [Aufruf] Dringender Test sql 1.6.4

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

[Aufruf] Dringender Test sql 1.6.4

Geplant Angeheftet Gesperrt Verschoben Tester
203 Beiträge 15 Kommentatoren 28.1k Aufrufe
  • Ä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 Online
    apollon77A Online
    apollon77
    schrieb am zuletzt editiert von
    #188

    Um die Duplicates zu verstehen bräuchte ich Debug Log bitte.

    Die genaue Logik zu beschreiben ist sehr umfangreich. Ganz grob (ohne spezielle Startlogik):

    Sämtliche Abarbeitung ist atomar weil nur ein Prozess läuft. Alles asynchrone bei JS wird am Ende auch nur sequenziell abgearbeitet.

    • Werteänderung kommt rein

    • prüfen ob je nach einstellungen geloggt werden soll oder nicht (vergleich mit letztem geloggten Wert)

    • Wenn nein, geskippten Wert intern zusätzlich sichern

    • Wenn ja, Wert sichern und diesen als Referenzwert speichern

    Wie die Duplicates zustandekommen weiss ich gerade nicht. Ich finde in deinem Screenshot nur nteressant das der timestamp in der Query und die in der Fehlermeldung unterschiedlich sind.

    Ich weiss aber das es sonderlogik für "Duplicates" gibt die das ganze mit +1ms Timestamp nochmals schreibt. Die ist schon ewig drin …

    Ingo

    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
    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #189

      @apollon77:

      Hm, wüsste nicht wie das zu „duplicate key“ führen sollte. Das ist an sich eher das zum gleichen zeitstempel schon ein wert in der dB existiert.

      Starte mal sql Adapter neu dann sollten pot Probleme vom manuellen löschen weg sein. `

      Nach einem Neustart des SQL-Adapters sind die Meldungen weg.

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • sissiwupS Offline
        sissiwupS Offline
        sissiwup
        schrieb am zuletzt editiert von
        #190

        @apollon77:

        Um die Duplicates zu verstehen bräuchte ich Debug Log bitte

        Ingo `
        Hallo,

        Leider tritt der Fehler nur sporadisch auf und der SQL-Adapter schreibt im debug solche Massen an Logdaten, dass ich den nicht für längere Zeit aktivieren möchte.

        Es ist scheinbar meistens eine Datenpunkt der vom JavaScript-Adapter ausgelöst/geschrieben wird.

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        1 Antwort Letzte Antwort
        0
        • apollon77A Online
          apollon77A Online
          apollon77
          schrieb am zuletzt editiert von
          #191

          Hm … dann ist es echt schwierig dem auf die Spur zu kommen ... 😞

          Ist es immer der gleiche Datenpunkt?

          Wenn ja vllt zweite ssql-Instanz in Debug Log aufsetzen in zweite DB schreiben und nur wenige Datenpunkte dort aktivieren (die halt wo sowas passiert). Ich kann es aktuell nicht nachvollziehen. Ich brauche aber die Info was passiert wenn es das erste mal passiert

          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
          1 Antwort Letzte Antwort
          0
          • sissiwupS Offline
            sissiwupS Offline
            sissiwup
            schrieb am zuletzt editiert von
            #192

            @apollon77:

            Hm … dann ist es echt schwierig dem auf die Spur zu kommen ... 😞

            Ist es immer der gleiche Datenpunkt?

            Wenn ja vllt zweite ssql-Instanz in Debug Log aufsetzen in zweite DB schreiben und nur wenige Datenpunkte dort aktivieren (die halt wo sowas passiert). Ich kann es aktuell nicht nachvollziehen. Ich brauche aber die Info was passiert wenn es das erste mal passiert `

            War die Woche auf Dienstreise, werde das mal ausprobieren. Habe ja noch einen 2. Server der die DB schon installiert hat und vor sich hinläuft.

            MfG

            Sissi

            –-----------------------------------------

            1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


            1 Antwort Letzte Antwort
            0
            • sissiwupS Offline
              sissiwupS Offline
              sissiwup
              schrieb am zuletzt editiert von
              #193

              609_sql14.jpg

              Wie verhext. Reload im Browser und die Daten sind da.

              Ist das vlt. ein Timeout?

              MfG

              Sissi

              –-----------------------------------------

              1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


              1 Antwort Letzte Antwort
              0
              • apollon77A Online
                apollon77A Online
                apollon77
                schrieb am zuletzt editiert von
                #194

                welche sql.Adapter Version? Ehrlich noch die 1.6.4?

                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
                1 Antwort Letzte Antwort
                0
                • sissiwupS Offline
                  sissiwupS Offline
                  sissiwup
                  schrieb am zuletzt editiert von
                  #195

                  @sissiwup:

                  sql14.JPG

                  Wie verhext. Reload im Browser und die Daten sind da.

                  Ist das vlt. ein Timeout? `

                  1.7.1

                  MfG

                  Sissi

                  –-----------------------------------------

                  1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Online
                    apollon77A Online
                    apollon77
                    schrieb am zuletzt editiert von
                    #196

                    Hm … wann vorher neu gestartet?

                    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
                    1 Antwort Letzte Antwort
                    0
                    • sissiwupS Offline
                      sissiwupS Offline
                      sissiwup
                      schrieb am zuletzt editiert von
                      #197

                      @apollon77:

                      Hm … wann vorher neu gestartet? `

                      Jede Nacht um 4:00.

                      Ist aber der erste Aufruf von vis.

                      MfG

                      Sissi

                      –-----------------------------------------

                      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                      1 Antwort Letzte Antwort
                      0
                      • sissiwupS Offline
                        sissiwupS Offline
                        sissiwup
                        schrieb am zuletzt editiert von
                        #198

                        Folgendes Script:

                        setState("vEreignissAkt","------------ NEUSTART ------------");
                        

                        führt beim Neustart zu:

                         error: sql.0 Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(1617, 1521256587638, '------------ NEUSTART ------------', 0, 13, 0);: Error: ER_DUP_ENTRY: Duplicate entry '1617-1521256587638' for key 'PRIMARY'
                        2018-03-17 04:16:28	
                         error: sql.0 Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(1617, 1521256587637, '------------ NEUSTART ------------', 0, 13, 0);: Error: ER_DUP_ENTRY: Duplicate entry '1617-1521256587637' for key 'PRIMARY'
                         error: sql.0 Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(1617, 1521256587638, '------------ NEUSTART ------------', 0, 13, 0);: Error: ER_DUP_ENTRY: Duplicate entry '1617-1521256587638' for key 'PRIMARY'
                         error: sql.0 Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(1617, 1521256587637, '------------ NEUSTART ------------', 0, 13, 0);: Error: ER_DUP_ENTRY: Duplicate entry '1617-1521256587637' for key 'PRIMARY'
                        

                        Das sieht so aus als würde er beim Neustart das Skript 2x starten?

                        Alle anderen Datenpunkte mit den duplicates sind auch aus ähnlichen Aktion.

                        Meistens ist der Datenpunkt aus dem yr.0 Adapter: yr.0.forecast.day0.pressure

                        MfG

                        Sissi

                        –-----------------------------------------

                        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Online
                          apollon77A Online
                          apollon77
                          schrieb am zuletzt editiert von
                          #199

                          Debug Log?

                          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
                          1 Antwort Letzte Antwort
                          0
                          • foxriver76F Offline
                            foxriver76F Offline
                            foxriver76
                            Developer
                            schrieb am zuletzt editiert von
                            #200

                            Habe auch mal eine Frage. Nutze den Adapter jetzt entsprechend mittels SQLite - läuft auch soweit. 🙂 Nur beim Neustart loggt er mir haufenweise

                            Cannot queue new requests, because more than 100
                            
                            

                            Ich schätze mal, dass er den alten Status nicht mehr kennt und versucht sämtliche abonnierte DPs auf ein mal in die DB zu schreiben, was die SQLite DB überfordert? Kann ich dem irgendwie entgegenwirken?

                            beste Grüße

                            fox

                            Videotutorials & mehr

                            Hier könnt ihr mich unterstützen.

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A Online
                              apollon77A Online
                              apollon77
                              schrieb am zuletzt editiert von
                              #201

                              Ja das liegt an SQLite, Die kann immer nur eine Anfrage abarbeiten und ist daher (und auch aus anderen gründen) nur für nicht so viele Datenpunkte geeignet.

                              Und ja der Start schreibt den aktuellen Wert überall rein.

                              Du könntest mal versuchen das Limit höher zu setzen. Wenn Du das versuchen willst mach mal /opt/iobroker/node_modules/iobroker.sql/main.js in einem editor auf. und suche dort nach der Meldung. Gibts mehrfach. Ist immer so grob bei:

                                  if (!multiRequests) {
                                      if (tasks.length > 100) {
                                          adapter.log.error('Cannot queue new requests, because more than 100');
                              

                              Da musst Du das 100 mal durch was anderes tauschen, also 500 oder 1000 🙂

                              Interessant wäre da vorher/nachher mal Speicherverbrauch und sowas zu vergleichen.

                              Eine Alternative wäre noch bei SQLite dieses Initiale Schreiben zu verhindern … Denke das ist eher noch "the way to go".

                              1.7.2 vom SQL Adapter vom Github schaltet WriteNulls bei SQLite automatisch aus

                              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
                              1 Antwort Letzte Antwort
                              0
                              • foxriver76F Offline
                                foxriver76F Offline
                                foxriver76
                                Developer
                                schrieb am zuletzt editiert von
                                #202

                                @apollon77:

                                Du könntest mal versuchen das Limit höher zu setzen. Wenn Du das versuchen willst mach mal /opt/iobroker/node_modules/iobroker.sql/main.js in einem editor auf. und suche dort nach der Meldung. Gibts mehrfach. Ist immer so grob bei:

                                    if (!multiRequests) {
                                        if (tasks.length > 100) {
                                            adapter.log.error('Cannot queue new requests, because more than 100');
                                

                                Da musst Du das 100 mal durch was anderes tauschen, also 500 oder 1000 🙂

                                Interessant wäre da vorher/nachher mal Speicherverbrauch und sowas zu vergleichen. `

                                Ich werde es bei Gelegenheit mal versuchen, allerdings war die DB wohl teilweise auch schon überfordert beim Neustart.

                                2018-03-24 09:48:11.319 - error: sql.0 Cannot queue new requests, because more than 100
                                2018-03-24 09:48:11.428 - error: sql.0 Cannot select SELECT id, type, name FROM datapoints WHERE name='harmony.0.fox.activities.Anzeige-Netflix';: Error: SQLITE_BUSY: database is locked
                                2018-03-24 09:48:11.430 - warn: sql.0 Cannot get index of "harmony.0.fox.activities.Anzeige-Netflix": Error: SQLITE_BUSY: database is locked
                                
                                

                                @apollon77:

                                Eine Alternative wäre noch bei SQLite dieses Initiale Schreiben zu verhindern … Denke das ist eher noch "the way to go". `

                                Das habe ich jetzt erst mal so gemacht. Danke - war mir nicht sicher ob ich das mit den NULL-Werten bei Start/Stop schreiben richtig interpretiert hatte. 😄

                                Videotutorials & mehr

                                Hier könnt ihr mich unterstützen.

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  SabineT
                                  schrieb am zuletzt editiert von
                                  #203

                                  @apollon77:

                                  Ich weiss aber das es sonderlogik für "Duplicates" gibt die das ganze mit +1ms Timestamp nochmals schreibt. Die ist schon ewig drin … `
                                  Die Werte doppelt in die Datenbank zu schreiben ist aber auch nicht wirklich sehr Resourcen schonend.

                                  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

                                  785

                                  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