Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Eigener Adapter] Alten Wert aus State auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Eigener Adapter] Alten Wert aus State auslesen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
adapter entwicklungstate auslesenstate id
6 Beiträge 3 Kommentatoren 500 Aufrufe 3 Watching
  • Ä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.
  • S Offline
    S Offline
    scripz
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • S scripz

      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 Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

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

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      S 1 Antwort Letzte Antwort
      0
      • M MCU

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

        S Offline
        S Offline
        scripz
        schrieb am zuletzt editiert von scripz
        #3

        @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 Antwort Letzte Antwort
        1
        • S 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 Online
          M Online
          MCU
          schrieb am zuletzt editiert von
          #4

          @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)

          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          1 Antwort Letzte Antwort
          0
          • LoredoL Offline
            LoredoL Offline
            Loredo
            Developer
            schrieb am zuletzt editiert von
            #5

            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?

            LoredoL 1 Antwort Letzte Antwort
            0
            • LoredoL Loredo

              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?

              LoredoL Offline
              LoredoL Offline
              Loredo
              Developer
              schrieb am zuletzt editiert von
              #6

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

              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

              364

              Online

              32.4k

              Benutzer

              81.4k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe