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
    #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

                            336

                            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