Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. SQL Adapter (mySQL) schreibt Daten z.T. nicht mehr fort

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    SQL Adapter (mySQL) schreibt Daten z.T. nicht mehr fort

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tp1de last edited by

      Hallo,

      ich habe seit ca. 2-3 Wochen folgendes Problem:

      Der SQL-Adapter schreibt nach ein paar Stunden Laufzeit die Daten für einzelne Objekte nicht mehr in die mySQL Datenbank.

      Dabei habe ich zwei Fehlertypen:

      1. Die Fortschreibung ist auf einmal auf inaktiv gesetzt ! (bisher einmal aufgetreten)

      2. Die Fortschreibung ist aktiv es werden aber keine Daten geschrieben. (täglich)

      Zu (2) wenn ich die Fortschreibung nochmal abspeichere, dann werden für einige Stunden Werte fortgeschrieben, bis dann auf einmal keine Daten mehr geschrieben werden. Die Objektwerte ändern sich alle 1-2 Sekunden. Ist das zu häufig?

      Die betroffenen Werte werden vom Slave eines Multihostsystems mit Node-Red geschrieben. Liegt das eventuell daran?

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Spontan zwingt sich mit wegen dem "alle 1-2 Sekunden" die Frage auf was als Entprellzeit eingestellt ist. Die muss (weit) kleiner sein als die Updatefrequenz sonst wird der Wert nicht als "Stabil" angesehen und nicht geloggt. Setzt das doch mal auf 100ms oder so

        Was Du tun kannst ist mal Loglevel auf Debug stellen und mitlaufen lassen. Das wird zwar eeecht groß, aber du siehst genau was passiert und kannst wenn Du den zeitounkt kennst dann nachsehen was der Adapter sagt.

        1 Reply Last reply Reply Quote 0
        • T
          tp1de last edited by

          Entprellzeit ist aktuell 0. Ich setzte diese aber mal auf 100ms und schaue was passiert.

          Daten kommen vom Smartmeter-Adapter (alle 1-2 Sekunden) und werden in Node-Red auf dem Slave weiterverarbeitet und dann in eigene Datenobjekte geschrieben. Sonst muss ich in Node-Red eine Verzögerung einbauen, dass Daten nur alle 20-30 Sekunden geschrieben werden.

          Woran lag das eigentlich, dass die Homematic IP (hm-rpc.1) Datenobjekt-Fortschreibungsregeln auf einmal "verschwunden" (inaktiv) waren?

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            @tom57:

            Entprellzeit ist aktuell 0. Ich setzte diese aber mal auf 100ms und schaue was passiert.

            Daten kommen vom Smartmeter-Adapter (alle 1-2 Sekunden) und werden in Node-Red auf dem Slave weiterverarbeitet und dann in eigene Datenobjekte geschrieben. Sonst muss ich in Node-Red eine Verzögerung einbauen, dass Daten nur alle 20-30 Sekunden geschrieben werden. `
            Bei 0 gilt das was in der generellen Adapter-Konfig zum sql-Adapter eingestellt ist. Da steht im Standard 1000 drin … weiss nicht was bei Dir. Aber damit weisst Du ggf wo es her kam 🙂

            @tom57:

            Woran lag das eigentlich, dass die Homematic IP (hm-rpc.1) Datenobjekt-Fortschreibungsregeln auf einmal "verschwunden" (inaktiv) waren? `

            HMIP liefert manchmal alle geräte als "neu dazugekommen" und der Adapter macht genau das … alle objekte löschen und neue Geräte wieder anlegen. Damit werden die History-Einstellungen gelöscht. Und dazu gibt es eine Einstellung in hm-rpc das Objekte nicht gelöscht werden sollen ... Das aktivieren und problem ist weg.

            1 Reply Last reply Reply Quote 0
            • T
              tp1de last edited by

              Danke für die Ausführungen. Ist nun klar.

              Dass bei 0 als Entprellzeit der Default-Wert aus dem Adapter genommen wird, war mir nicht bewusst.

              Dieser stand auf 10.000 (10 Sekunden !). Das ist auch etwas missverständlich, da die Default-Wert zuerst übernommen werden und dann verändert werden können. Ich dachte 0 deaktiviert die Entprellzeit 😞 und bei 10.000 wird maximal alle 10 Sekunden ein Wert geschrieben und nicht das Fortschreiben ausgesetzt, wenn die Werte häufiger kommen.

              Wäre es nicht besser, die Entprellzeit so zu verarbeiten, dass darüber die Fortschreibungshäufigkeit gesteuert werden könnte?

              (z.B. alle 30 oder 60 Sekunden einen Wert in der Datenbank aber jeweils aktuelle Werte im Datenobjekt zur Anzeige im VIS)

              Wenn ich die Entprellzeit auf 100 setzte dann kommt folgende Anzeige:

              "Bitte wählen Sie einen Wert, der nicht kleiner ist als 500" – ignorieren?

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                @tom57:

                Ich dachte 0 deaktiviert die Entprellzeit 😞 und bei 10.000 wird maximal alle 10 Sekunden ein Wert geschrieben und nicht das Fortschreiben ausgesetzt, wenn die Werte häufiger kommen.

                Wäre es nicht besser, die Entprellzeit so zu verarbeiten, dass darüber die Fortschreibungshäufigkeit gesteuert werden könnte?

                (z.B. alle 30 oder 60 Sekunden einen Wert in der Datenbank aber jeweils aktuelle Werte im Datenobjekt zur Anzeige im VIS) `

                So war es früher mal, aber es sollte ja eine Entprellzeit sein 😉 Im nachhinein hätte man ggf eher es einfach umbenennen sollen weil Entprellzeiten wohl scheinbar fast keiner braucht. Bzw wir haben uns auch dagegen entschieden hier werte nicht zu loggen weil Du die ja verlieren würdest. Daher gab es dann eher die "Gleiche Werte loggen ja/nein" und die dazu gehörigen EInstellungen. Die machen viel mehr Sinn.

                @tom57:

                Wenn ich die Entprellzeit auf 100 setzte dann kommt folgende Anzeige:

                "Bitte wählen Sie einen Wert, der nicht kleiner ist als 500" – ignorieren? `

                uups … na dann nimm 500 🙂 Oder ignoriere es. Kannst ja mal ein Github issue anlegen um das zu ändern (also die Meldung)

                1 Reply Last reply Reply Quote 0
                • T
                  tp1de last edited by

                  Wäre aber toll, wenn der SQL-Adapter eine Einstellung hätte, um Werte nur alle X-Sekunden / Minuten fortzuschreiben.

                  Und dann als Auswahlmöglichkeit: Mittelwert / Maximal- bzw. Minimalwert. Ich glaube, da gäbe es viele Anwendungsfälle für.

                  (Ich zeige mir aus dem Smartmeter-Adapter den aktuellen Stromverbrauch im VIS an und möchte den auch als FLOT-Grafik über einen längeren Zeitraum darstellen.)

                  Vielen Dank für Deine Hilfe.

                  Grüße Thomas

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    Das ist keine Aufgabe von einem History-Adapter. Es ist gerade ein Statistik-Adapter in Arbeit der solche "Datenaggregationen" machen kann, dann kannst DU Smartmeter-Datenopunkte da nutzen und nur die Ergebnisse vom Statistik-Adapter wegloggen.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    933
                    Online

                    31.6k
                    Users

                    79.5k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    472
                    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