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. Skripten / Logik
  4. [erledigt]Objekt-Struktur on/subscribe()?

NEWS

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

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

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

[erledigt]Objekt-Struktur on/subscribe()?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 4 Kommentatoren 1.3k 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.
  • S Offline
    S Offline
    Stmiko
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe mal wieder ein kleines Verständnisproblem:

    Mit einem on/subscribe bekomme ich Zugriff auf Daten, die in der "normalen" Struktur des Objektes (im admin unter 'Objekte') nicht zu sehen sind.

    z.B. obj.oldState.ts oder obj.newState.ts

    Fragen:

    1.) Wo sind diese Daten gespeichert?

    2.) Wie kann ich ausserhalb eines subscribe auf diese Daten zugreifen?

    Konkret möchte ich in einem schedule folgendes machen:

    var obj = getObject('hm-rpc.0.hm...');
    var oldTimestamp = obj.oldState.ts;
    

    Das funktioniert leider nicht und gibt nur ein 'undefined' zurück?

    Vielen Dank für jede Hilfe!

    iobroker auf Intel NUC mit Proxmox LXC und Raspi3+

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @Stmiko:

      1.) Wo sind diese Daten gespeichert? `
      Bei Standardeinstellung in der Datei "iobroker-data/states.json".
      @Stmiko:

      2.) Wie kann ich ausserhalb eines subscribe auf diese Daten zugreifen? `
      Auf die newState-Werte mit (z.B. ts):

      var t = getState(id).ts;
      

      Die oldState-Werte sind nur per on() / subscribe() verfügbar.

      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
      • S Offline
        S Offline
        Stmiko
        schrieb am zuletzt editiert von
        #3

        Hallo Paul,

        ok, vielen Dank für die Klarstellung.

        Schade das man an die oldState nicht "normal" herankommt, aber es geht halt nicht alles :)

        iobroker auf Intel NUC mit Proxmox LXC und Raspi3+

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          Pman
          schrieb am zuletzt editiert von
          #4

          @Stmiko:

          Hallo Paul,

          ok, vielen Dank für die Klarstellung.

          Schade das man an die oldState nicht "normal" herankommt, aber es geht halt nicht alles :) `

          oldState kann es in dem Sinne ja nur bei einer Änderung geben. Was du meinst ist History, wo alte Werte dauerhaft gespeichert werden.

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #5

            @Stmiko:

            Hallo Paul,

            ok, vielen Dank für die Klarstellung.

            Schade das man an die oldState nicht "normal" herankommt, aber es geht halt nicht alles :) `
            Du kannst selbst oldValue implementieren:

            var oldValue = null;
            on('hm-rpc.0.hm...', function (obj) {
                 console.log('New value = ' + obj.state.val + ', old value = ' + oldValue);
                 oldValue = obj.state.val;
            });
            
            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              Wenn man unbedingt asynchron an die neuen und alten Zustände ran will, dann würde ich es so machen:

              var oldState = null;
              var newState = null;
              
              on('hm-rpc.0.hm...', function (obj) {
                   newState = obj.state;
                   oldState = obj.oldState;
              });
              

              Dann kann man nach der ersten Zustandsänderung (mit if(newState) prüfen !) jeweils mit .val, .ts oder .lc auf die Elemente zugreifen.

              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
              • S Offline
                S Offline
                Stmiko
                schrieb am zuletzt editiert von
                #7

                Vielen Dank für eure Hilfe.

                So wie von Paul beschrieben , habe ich es jetzt gemacht und es funktioniert wunderbar!

                iobroker auf Intel NUC mit Proxmox LXC und Raspi3+

                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

                909

                Online

                32.4k

                Benutzer

                81.5k

                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