Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Eigener Adapter] Alten Wert aus State auslesen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Eigener Adapter] Alten Wert aus State auslesen

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

      Hi zusammen,

      hab mich mal an einen eigenen Adapter gemacht. Jetzt habe ich eine frage zur onStateChange Funktion.
      Wenn ich mir den State ausgeben lasse, kommen ein paar Werte raus. Nur leider kein "oldValue" wie es z.B. bei den Javascript's funktioniert.

      Könnt ihr mir sagen, ob das überhaupt geht und wenn ja wie?

      Hintergrund ist, ich möchte einen Wert editieren und dann die Differenz zwischen altem und neuem Wert ausrechnen.

      Danke und Gruß

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @scripz last edited by

        @scripz Kannst du vielleicht einen Teil oder Alles vom Adapter zeigen, damit man sich ein wenig vorstellen, wie Du da programmiert hast?

        S 1 Reply Last reply Reply Quote 0
        • S
          scripz @MCU last edited by scripz

          @MCU
          Hey,

          viel Programmiert hab ich in der Hinsicht dann noch nicht. Template erstellt und in der onStateChange Funktion das hier:

          onStateChange(id, state) {
          		if (state) {
          			// The state was changed
          			if(id.includes(".fuel.carKilometres")){
          				this.log.info(JSON.stringify(state));
          **if(*oldval* < state.val){
          //Mache Sachen
          }**
          			}
          			
          		} else {
          			// The state was deleted
          			this.log.info(`state ${id} deleted`);
          		}
          	}
          

          Im endeffekt suche ich etwas um oldval zuzuweisen, also den alten Wert vom State zu vergleichen

          M 1 Reply Last reply Reply Quote 1
          • M
            MCU @scripz last edited by

            @scripz Also bei Zefau sieht es anders aus:

            https://github.com/Zefau/ioBroker.jarvis/blob/master/jarvis.js

            Zeile 171

            adapter.on('stateChange', function(id, state)

            1 Reply Last reply Reply Quote 0
            • Loredo
              Loredo Developer last edited by

              Konnte diese Frage jemals geklärt werden?

              Der Unterschied oben ist ja lediglich, dass der eine Adapter als ES6 Klasse entwickelt wurde und der andere nicht. Die Grundfrage, woher man korrekterweise den vorigen Wert bekommt, um Logiken analog zu den Möglichkeiten im JavaScript Adapter umzusetzen, stellt sich (mir) nach wie vor.

              Kann da jemand helfen?

              Loredo 1 Reply Last reply Reply Quote 0
              • Loredo
                Loredo Developer @Loredo last edited by

                Never mind. Ich schätze jeder Adapter muss seine eigene Historie aller Objekte pflegen 😞

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

                Support us

                ioBroker
                Community Adapters
                Donate

                698
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                adapter entwicklung state auslesen state id
                3
                6
                370
                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