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 speichert bei hoher Entprellzeit nicht ab

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

SQL speichert bei hoher Entprellzeit nicht ab

Geplant Angeheftet Gesperrt Verschoben Error/Bug
20 Beiträge 6 Kommentatoren 2.4k 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.
  • N Offline
    N Offline
    NightWatcher
    schrieb am zuletzt editiert von
    #6

    Die Daten kommen von einem 1-wire Bus und dienen aktuell nur einer visuellen Darstellung. Nur loggen bei Abweichung x halte ich nicht für so toll. Die Linie im Chart sähe komisch aus, wenn lange Zeit nichts geloggt wird und dann plötzlich wieder.

    @Homoran:

    @NightWatcher:

    Was muss ich machen, um einzelne Werte nicht allzu häufig in die DB zu schreiben? `
    In der Konfiguration der zu loggenden Datenpunkten die entsprechenden Parameter einstellen :(

    Bin gerade unterwegs und kann nicht nachsehen. `
    Dort habe ich bisher bereits alles eingestellt. Auch die hier genannte Entprellzeit. Wäre klasse, wenn du da mal nachsehen könntest.

    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #7

      @NightWatcher:

      Dort habe ich bisher bereits alles eingestellt. Auch die hier genannte Entprellzeit. Wäre klasse, wenn du da mal nachsehen könntest. `
      Sorry, da hatte ich andere Einstellmöglichkeiten im Kopf, als es wirklich gibt.

      Aber vielleicht kann man da tricksen:
      144_sql.jpg
      Wenn man bei (1) den gewünschten Zeitabstand in Sekunden einstellt und bei (2) einen Delta-Wert, der "eigentlich" nicht so schnell überschritten wird, müsste es klappen.

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        NightWatcher
        schrieb am zuletzt editiert von
        #8

        Was mich ja ein wenig stutzig macht, bei manchen Datenpunkten hat die Entprellzeit von 30.000ms einwandfrei funktioniert, bei anderen wiederrum nicht.

        Jetzt habe ich überall eine Entprellzeit von 1000ms stehen und es wird alle 1min geloggt. (Nur Änderungen aufzeichnen steht auf NEIN)

        Er müsste doch rein logisch bei einer Entprellzeit von 30.000ms auch 30min warten und dann wieder den neuen Wert prüfen. Könnte es sein, dass evtl. ioBroker mit einem solch hohen wert nicht klar kommt? (Laufzeit oder sonstiges).

        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

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

          Die Entprellung funktioniert so:

          • Ein Wert kommt

          • Ein Zähler startet der "Entprellzeit" wartet

          Wenn jetzt bis zum Ablauf des Zählers KEIN neuer Wert kommt wird nach Ablauf der Entprellzeit geloggt.

          Wenn innerhalb der Entprellzeit ein neuer Wert kommt, gilt der letzte Wert als "Nicht stabil" und die Entprellzeit wird für den neuen Wert neugestartet.

          Wenn also bei 30 Sekunden Entprellzeit die Werte in Abständen von weniger als 30 Sekunden kommen würde nie was geloggt weil kein Wert in bezug auf "Entprellung" als Stabil gilt

          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
          • N Offline
            N Offline
            NightWatcher
            schrieb am zuletzt editiert von
            #10

            Das erklärt auch, wieso es nicht klappt. Oh man ja richtig. Ich habe falsch rum gedacht.

            Die Daten kommen alle Minute zyklisch neu. Bei denen, wo es funktionierte, sind die Daten recht stabil, deshalb hat es auch funktioniert.

            Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #11

              Prellen (im ursprünglichen Sinne) erfolgt nur unmittelbar nach einer Kontaktbetätigung bis nach einigen ms der Kontaktwiderstand (geschlossen oder offen) stabil ist. Deshalb erfolgt das Entprellen normalerweise so:

              • Wert kommt und Entprellzeit ist nicht aktiv, dann Wert loggen und Entprellzeit starten

              • Wert kommt und Entprellzeit ist aktiv, dann Wert ignorieren

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

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

                Da gab es in einem anderes Thread (http://forum.iobroker.net/viewtopic.php?f=36&t=5519 / http://forum.iobroker.net/viewtopic.php?p=57214#p57214) eine interessante Diskussion dazu … :-)

                Am Ende ist es eine Mischform geworden ...

                Man kann das Thema gern nochmal aufmachen?!

                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
                • fu_zhouF Offline
                  fu_zhouF Offline
                  fu_zhou
                  schrieb am zuletzt editiert von
                  #13

                  Ich würde das Thema nochmal gerne aufmachen, weil für mich nicht 100% klar ist, nach welchen Kriterien Daten aufgezeichnet werde. Ich benutze MySQL, mal ist die Entprellzeit nachvollziehbar, mal wird der selbe Wert mit nur wenigen Millisekunden Abstand geschrieben.
                  356_zwischenablage02.jpg
                  Dann ist mir auch noch nicht klar, was bei "gleiche Werte aufzeichnen" reinkommt. Ist das eine Sekundenangabe?

                  Gilt " Minimale Abweichung vom letzten Wert für Aufzeichnung" nur wenn "Nur Änderungen aufzeichnen" angehakt ist?

                  Synology DS920+ VM, S7-315 PN mit ET200S

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

                    @fu_zhou:

                    Ich würde das Thema nochmal gerne aufmachen, weil für mich nicht 100% klar ist, nach welchen Kriterien Daten aufgezeichnet werde. Ich benutze MySQL, mal ist die Entprellzeit nachvollziehbar, mal wird der selbe Wert mit nur wenigen Millisekunden Abstand geschrieben. `

                    Interessant. Mal Adapter in Debug laufen lassen und log schicken von so einem Zeitraum wo das doppelte Logging passiert ist.

                    Debug: Instanzen -> Expertenmodus -> Dann Loglevel ändern für die Instanz

                    @fu_zhou:

                    Dann ist mir auch noch nicht klar, was bei "gleiche Werte aufzeichnen" reinkommt. Ist das eine Sekundenangabe? `
                    Sind Sekunden

                    @fu_zhou:

                    Gilt " Minimale Abweichung vom letzten Wert für Aufzeichnung" nur wenn "Nur Änderungen aufzeichnen" angehakt ist? `
                    Ja, macht nur da sinn.

                    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
                    • fu_zhouF Offline
                      fu_zhouF Offline
                      fu_zhou
                      schrieb am zuletzt editiert von
                      #15

                      Die minimale Abweichung macht aus meiner Sicht auch Sinn, ohne dass "Nur Änderungen aufzeichnen" aktiv ist. Problem ist nämlich, dass Sollwerte, z.B. Raumtemperatur-Sollwerte, nie aufgezeichnet werden, wenn sie nicht mindestens einmal verändert werden. Mein "Wunsch" wäre es, dass man z.B. gleiche Werte alle halbe Stunde (parametrierbar ist es ja schon durch "gleiche Werte aufzeichnen") aufzeichnet und ein Wert als "nicht gleich" erkannt wird, wenn er mindestens um X abweicht (=minimale Abweichung vom letzten Wert). Der ungleiche Wert wird dann sofort geschrieben. eine Prozentangabe für die Abweichung wäre hier ganz hilfreich. Mein Luxmeter misst von 0 bis 100.000 Lux, da möchte ich nicht bei einer Abweichung von 0,5 Lux aufzeichnen, sondern eher bei 500 Lux, was ca. 2% ausmacht. Bei der Außentemperatur möchte ich auch 2% Abweichung aufzeichnen, was bei 25° dann 0,5 K entspricht. Die Prozentangabe bezieht sich immer auf den letzten Wert, d.h. bei niedrigen Werten ist die absolute Abweichung dann etwas geringer, als bei hohen Werten. Lässt sich da was machen?

                      Synology DS920+ VM, S7-315 PN mit ET200S

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

                        @fu_zhou:

                        Die minimale Abweichung macht aus meiner Sicht auch Sinn, ohne dass "Nur Änderungen aufzeichnen" aktiv ist. Problem ist nämlich, dass Sollwerte, z.B. Raumtemperatur-Sollwerte, nie aufgezeichnet werden, wenn sie nicht mindestens einmal verändert werden. Mein "Wunsch" wäre es, dass man z.B. gleiche Werte alle halbe Stunde (parametrierbar ist es ja schon durch "gleiche Werte aufzeichnen") aufzeichnet `
                        "Gleiche Werte aufzeichnen alle X Sekunden" sorgt dafür das auch ungeänderte Werte aufgezeichnet werden.

                        @fu_zhou:

                        und ein Wert als "nicht gleich" erkannt wird, wenn er mindestens um X abweicht (=minimale Abweichung vom letzten Wert). Der ungleiche Wert wird dann sofort geschrieben. eine Prozentangabe für die Abweichung wäre hier ganz hilfreich. Mein Luxmeter misst von 0 bis 100.000 Lux, da möchte ich nicht bei einer Abweichung von 0,5 Lux aufzeichnen, sondern eher bei 500 Lux, was ca. 2% ausmacht. Bei der Außentemperatur möchte ich auch 2% Abweichung aufzeichnen, was bei 25° dann 0,5 K entspricht. Die Prozentangabe bezieht sich immer auf den letzten Wert, d.h. bei niedrigen Werten ist die absolute Abweichung dann etwas geringer, als bei hohen Werten. Lässt sich da was machen? `

                        Ich habe mich damals gegen entschieden das Prozenuell zu machen weil auch das in genug Fällen nicht geht. Du kannst statt dessen die ganzen Grenzwerte auch damit auch die minimale-Log-Abweichung pro State einzeln festlegen. Also bei deinen Temperaturwerten schreibst Du 0.5 rein, beim Helligkeitssensor halt 500.

                        Ich denke mal drüber nach ob es irgendwie parallel geht …

                        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
                        • fu_zhouF Offline
                          fu_zhouF Offline
                          fu_zhou
                          schrieb am zuletzt editiert von
                          #17

                          Ja ist klar, so mach ich das jetzt auch (0.5, 500 etc.), die schöne Massenprojektierung geht halt dann nicht, man muss diese Werte dann einzeln anfassen. Ich habe ca. 220 Variablen, die ich aufzeichne…

                          Im Moment habe ich 1800 Sek bei "Gleiche Werte aufzeichnen". Eine halbe Stunde ist längst um, einige Werte sind nach 39 Minuten geschrieben worden, andere noch nicht. Woran kann das liegen?

                          Was schlägst du vor, um Werte erstmalig zu schreiben, bevor sie geändert werden (z.B. Sollwert Raumtemperatur, der bleibt sehr wahrscheinlich immer auf 21° stehen)

                          Synology DS920+ VM, S7-315 PN mit ET200S

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

                            Lass Adapter mal in Debug laufen und schau in die Logs bzw schicke die Logs … sollte an sich loggen. Das erste Logging für solche Werte ohne regelmäßige Änderungen erfolgt "per Zufall" verzögert für das erste mal ...

                            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
                            • frankjokeF Offline
                              frankjokeF Offline
                              frankjoke
                              schrieb am zuletzt editiert von
                              #19

                              Habe die Änderung auch bemerkt und musste die Entprellzeiten ändern.

                              Leider ist diese eher für digitale Signale ausgelegt (zum Entprellen…) aber nicht um analoge Signale zu verarbeiten.

                              Dafür wäre eigentlich ein Filter notwendig der höhere Frequenzen nicht durchlässt und dan bei Änderung um >=x alle t=Zeiteinheiten speichert .

                              Wollte schon mal son'en Filter in JS schreiben (in der Audio-Technologie werden sie ja zur Genüge eingesetzt, z.B- http://peabody.sapp.org/class/350.838/lab/biquad/) aber es war etwas Zeitraubend die Filterparameter zu setzten und ich hab's dann aufgegeben.

                              Hab dann einfachere Mittel verwendet, ohne Rückkopplung.

                              // bei der Initialisierung:
                              const factor = 0.05;
                              const round = 0.1; // eine Kommastelle, 0.01 wären 2 und 1 wäre ein int
                              var alterWert = neuerEingang;
                              
                              // bei neuen Werten
                              alterWert = neuerEingang/faktor + alterWert/(1-faktor); 
                              neuerAusgang = Match.round(alterWert/round)*round;
                              
                              

                              Damit konnte ich z.B. Daten die alle 20s ankamen und nur all 10min gespeichert werden sollen relativ gut und einfach filtern und nur einen Zwischenspeicher/ Datenpunkt verwendet.

                              Das könnte eigentlich auch gut in SQL-Routine eingebaut werden wenn die Faktoren für analoge Werte anders interpretiert werden könnten.

                              Frank,

                              NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                              Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                              1 Antwort Letzte Antwort
                              0
                              • fu_zhouF Offline
                                fu_zhouF Offline
                                fu_zhou
                                schrieb am zuletzt editiert von
                                #20

                                Ich war die Woche unterwegs und wollte jetzt nochmal an die Sache ran und da habe ich mit Erschrecken festgestellt, dass kein Objekt mehr als "aktiviert" gezeigt/ gekennzeichnet ist, die Aufzeichnung aber (zum Glück) noch weiter läuft - allerdings mit geänderten Zeiten, z.B. alle 15 Minuten anstatt alle 30 Minuten, wie einmal parametriert.

                                Wie kriege ich das behoben? Ich möchte die Objekte wieder als "aktiviert" sql.0 zugeordnet sehen.

                                Das scheint nach einem Reboot passiert zu sein…

                                Synology DS920+ VM, S7-315 PN mit ET200S

                                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

                                790

                                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