Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Frage] Subscription bei gleichem Werten vom Adapter?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Frage] Subscription bei gleichem Werten vom Adapter?

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

      Ich glaube man muss mich komplett neu anlernen 🙂

      Ich möchte ein Subscription ausführen, wenn vom Parser Adapter ein Wert neu im Objekt abgelegt wurde, auch wenn der Wert identisch ist mit dem vorherigen.

      D.h. auf Änderung change: 'any' reagieren.

      Der Code:

      on({id: idParser, change: "any"}, function (obj) {
          // irgendetwas 
      }
      
      

      reagiert allerdings nur, wenn sich der Wert geändert hat.

      Wenn man History für das Objekt aktiviert, sieht man, dass im eingestellten Zyklus vom Parser Adapter immer der gleiche Wert ins Objekt geschrieben wird.

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

        @ruhr70:

        on({id: idParser, change: "any"}, function (obj) {
            // irgendetwas
        }
        

        reagiert allerdings nur, wenn sich der Wert geändert hat. `
        Ändert sich der Zeitstempel (ts) des Datenpunktes ?

        Wenn ja, sollte getriggert werden.

        Mein Test:

        on({id: "javascript.1.Test.Checkbox"/*Test.Checkbox*/}, function(dp) {
            log(dp.state.val + ' ' + dp.state.ts);
        });
        
        
        21:27:33.810	[info]	javascript.1 script.js.common.Tests: registered 1 subscription and 0 schedules
        21:27:53.320	[info]	javascript.1 script.js.common.Tests: false 1513196873320
        21:28:20.503	[info]	javascript.1 script.js.common.Tests: false 1513196900503
        21:33:08.224	[info]	javascript.1 script.js.common.Tests: false 1513197188220
        
        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          @paul53:

          Ändert sich der Zeitstempel (ts) des Datenpunktes ?

          Wenn ja, sollte getriggert werden. `

          Der Zeitstempel ändert sich nicht.

          Nach jedem Abfragezyklus taucht aber ein neuer Wert im History auf. D.h. vom Adapter kommt was.

          327_2017-12-13_history.png

          Irgendetwas mit ACK oder von wo was kommt (vom Adapter) noch in der Subscription ergänzen?

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

            @paul53:

            Mein Test:

            on({id: "javascript.1.Test.Checkbox"/*Test.Checkbox*/}, function(dp) {
                log(dp.state.val + ' ' + dp.state.ts);
            });
            
            ```` `  
            

            Bei Skripten funktioniert es bei mir auch.

            Ich habe eine Abfrage (Version Navigations-SW) vom Skript auf den Parser Adapter umgestellt (nur eine Zeile statt ein Skript. Keine Gefahr, dass beim Fehler im Skript der Javascript-Adapter neu startet). Vorher beim Skript hat das auch einwandfrei funktioniert, wie in zig anderen Skripten auch. Beim Adapter bin ich drüber gestolpert, dass es nicht funktioniert.

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

              @ruhr70:

              Der Zeitstempel ändert sich nicht. `
              Solange der Zeitstempel konstant bleibt wird in <u>keinem Fall</u> getriggert.
              @ruhr70:

              Nach jedem Abfragezyklus taucht aber ein neuer Wert im History auf. D.h. vom Adapter kommt was. `
              Das kommt kommt bestimmt nicht vom Parser-Adapter. Die Zeiteinträge nimmt der History-Adapter vor.
              @ruhr70:

              Irgendetwas mit ACK oder von wo was kommt (vom Adapter) noch in der Subscription ergänzen? `
              Wenn irgend etwas am state des Datenpunktes verändert wird, wird auch der Zeitstempel aktualisiert.

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

                @paul53:

                Solange der Zeitstempel konstant bleibt wird in <u>keinem Fall</u> getriggert.
                @ruhr70:

                Nach jedem Abfragezyklus taucht aber ein neuer Wert im History auf. D.h. vom Adapter kommt was. Das kommt kommt bestimmt nicht vom Parser-Adapter. Die Zeiteinträge nimmt der History-Adapter vor.

                Hallo Paul, wie immer für Dein Engagement dankbar!

                Anders formuliert. Das der History Adapter einen Eintrag vornimmt, inkl. Zeit, macht er meiner Meinung nach nur, wenn er auch einen Wert empfängt.

                Ich bin der ganzen Sache noch nicht im Reinen. Das Verhalten Objekt und History passt nicht zusammen.

                Ich glaube auch nicht, dass der History-Adapter vorher prüft, ob genau der Wert, der gerade von ihm ausgelesen wurde schon im Objekt steht und dann nicht wieder den gleichen Wert schreibt. Wie bei den anderen Adaptern sollte einfach wieder der gleiche Wert ins Objekt geschrieben werden.

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

                  Wenn Du in der History-Konfiguration des Datenpunktes unter "gleiche Werte aufzeichnen(s)" einen Wert ungleich 0 eingetragen hast, erzeugt History die Einträge. Dein Bild sieht so aus, als wäre eine 4 eingetragen.

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

                    @paul53:

                    Wenn Du in der History-Konfiguration des Datenpunktes unter "gleiche Werte aufzeichnen(s)" einen Wert ungleich 0 eingetragen hast, erzeugt History die Einträge. Dein Bild sieht so aus, als wäre eine 4 eingetragen. `

                    ups… :roll:

                    Danke Paul. Dann habe ich diese Einstellung beim History-Adapter mal endlich verstanden 😮

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      @ruhr70:

                      Dann habe ich diese Einstellung beim History-Adapter mal endlich verstanden `

                      @[url=http://www.iobroker.net/docu/?page_id=144⟨=de#Default_Einstellungen_fuer_Zustaende:

                      Doku"]gleiche Werte aufzeichnen

                      sollen bei gleichem Wert von Zeit zu Zeit trotzdem diese (unveränderten) Werte gespeichert werden, kann hier eine Zeitspanne in Sekunden festgelegt werden, wie häufig dieses geschehen soll. Dementsprechend bedeutet die Eingabe 0, dass kein doppelter Wert gespeichert werden soll. `

                      Gruß

                      Rainer

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      795
                      Online

                      31.7k
                      Users

                      79.8k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      827
                      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