Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Probleme mit sql logging (früher:Button Zustand bei Neustart einlesen)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Probleme mit sql logging (früher:Button Zustand bei Neustart einlesen)

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

      Hallo Dutchman,

      die Konfig für den Datenpunkt siehst Du im ersten Beitrag, da habe ich die JSON davon. Im Log passiert nichts. Identisches Verhalten, habe ich auch bei 2 anderen Knöpfen, da sieht das genauso aus. Wenn ich die Knöpfe subscribe, dann wird sowohl bei 0 als auch bei 1 ausgelöst. Wenn ich dann jedesmal in eine weitere (neue) Variable schreibe und diese ebenfalls mitprotokolliere im History-Adapter, dann tritt da auch dieser Effekt auf, daher dürfte es nicht mit den Buttons zu tun haben.

      Viele Grüße Gerd.

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

        naja, der "Debouce"- Wert ist leer, also wird das Default aus dem Adapter genommen. Was ist denn da eingestellt?

        Wie lange ist das auf dem anderen Zustand? Lang genug?

        Am Ende wäre eine Idee mal den sql-Adapter in "Debug" zu schalten und zu schauen was dann so über die Zeit im Log steht nachdem du mal hin- und her geschaltet hast

        1 Reply Last reply Reply Quote 0
        • G
          GerdSo last edited by

          @apollon77:

          naja, der "Debouce"- Wert ist leer, also wird das Default aus dem Adapter genommen. Was ist denn da eingestellt?

          Wie lange ist das auf dem anderen Zustand? Lang genug?

          Am Ende wäre eine Idee mal den sql-Adapter in "Debug" zu schalten und zu schauen was dann so über die Zeit im Log steht nachdem du mal hin- und her geschaltet hast `

          Danke für den Hinweis den SQL in Debug zu schalten, hätte ich auch mal drauf kommen können:

          2018-01-10 17:44:54.470  - [31merror[39m: Caught by controller[20]: 2018-01-10 17:44:35.656  - debug: sql.0 Min-Delta reached javascript.0.Badezimmer.E-Heizung-Zeitsteuerung, last-value=1, new-value=0, ts=1515602675657
          2018-01-10 17:44:54.470  - [31merror[39m: Caught by controller[25]: 2018-01-10 17:44:37.593  - debug: sql.0 Min-Delta reached javascript.0.Badezimmer.E-Heizung-Zeitsteuerung, last-value=0, new-value=1, ts=1515602677595
          
          

          Demnach hat er es erkannt und er sollte es speichern, lt. Tabelle des History-Adapters hat er es aber nicht gemacht.

          sql ist wie folgt eingestellt
          1154_snip_20180110175137.png

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

            Also denounce time von 10000 sind 10s innerhalb dessen der Wert sich nicht ändern darf. Ansonsten wird nur der „stabile“ =letzte wert geloggt. Also die 1

            Du schaltest also für die eingestellte debounce Zeit zu schnell. Setz mal den Wert runter.

            Ansonsten steht da noch mehr im log? Das „caught by js-controller“ weist auf nen Fehler hin bei irgendwas …

            1 Reply Last reply Reply Quote 0
            • G
              GerdSo last edited by

              Hallo apollon77,

              die Entprellzeit war es nicht, habe den Fehler jetzt aber gefunden. Die korrekte Lösung leider noch nicht!

              Ich habe beim Anlegen mit createState einen Defaultwert true mitgegeben. Der Schalter vom Typ tplFancyToggleswitch schickt aber 0 oder 1, also einen Zahlenwert.

              Es sieht also so aus, als ob der sql-Adapter jetzt nur Booleans loggen möchte und die 0 oder 1 Werte einfach ignoriert.

              Wenn ich auf die Variable subscribe und einfach nochmal bei 1 den Wert auf true setze und bei 0 auf false, wird alles korrekt protokolliert. In ioBroker ist der Variablen Typ auf misc gesetzt. Kann man in der mySQL nachträglich den Typ ändern oder ist diese Variable für "immer" mit dem falschen Typ verbunden? Ein Neuanlegen hat nichts gebracht.

              Viele Grüße Gerd.

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

                Wenn Du nicht in der DB den typ ändern willst dann kannst Du versuchen bei dem Datenopunkt in den SQL-EInstellungen den "Speichern als" Typ (im Standard leer) auf Boolean zu setzen. Dann sollte 0/1 in false/true umgewandelt werden beim Speichern.

                Versuch mal

                1 Reply Last reply Reply Quote 0
                • G
                  GerdSo last edited by

                  @apollon77:

                  Wenn Du nicht in der DB den typ ändern willst dann kannst Du versuchen bei dem Datenopunkt in den SQL-EInstellungen den "Speichern als" Typ (im Standard leer) auf Boolean zu setzen. Dann sollte 0/1 in false/true umgewandelt werden beim Speichern.

                  Versuch mal `
                  Hallo,

                  funktioniert leider nicht. Hab es auf "Logikwert" umgestellt und es wird nicht protokolliert. Zur Sicherheit habe ich noch javascript und sql neu gestartet, trotzdem kein Erfolg. Danach habe ich dann wieder meinen Workaround eingeschaltet und es hat geklappt.

                  Gibt es irgendwelche Möglichkeiten dieses "nicht protokollieren" per Script zu erkennen? Würde das dann bei mir einbauen, da ich immer mal wieder Variablen mit anderen Dingen/Typen fülle aufgrund von Änderungen im Script und da würde ich schon gerne sichergehen, dass der sql-Adapter dass auch ordentlich protokolliert. Die Überwachung müsste ja nur für eigene Variablen gemacht werden.

                  Viele Grüße Gerd.

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

                    naja ich denke nicht as er "Nicht "richtig arbeitet … er stellt ggf keine Änderung des wertes fest und loggt deswegen nichts .. also ist komplett korrekt.

                    Geht es wenn du "nur änderungen loggen" raus nimmst?

                    1 Reply Last reply Reply Quote 0
                    • G
                      GerdSo last edited by

                      @apollon77:

                      naja ich denke nicht as er "Nicht "richtig arbeitet … er stellt ggf keine Änderung des wertes fest und loggt deswegen nichts .. also ist komplett korrekt.

                      Geht es wenn du "nur änderungen loggen" raus nimmst? `
                      Leider nein, hatte ich auch schon probiert, dann funktioniert es auch nicht.

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

                        Ok, dann bleibt dir nur das fixen des Datentyps der ID direkt in der DB und potz. löschen falscher Daten und am besten immer an Datentypen halten :-))

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        786
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        3
                        14
                        1114
                        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