Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] desc aus Datenpunk auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    770

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

[gelöst] desc aus Datenpunk auslesen

Scheduled Pinned Locked Moved JavaScript
11 Posts 5 Posters 636 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    iob69
    wrote on last edited by iob69
    #1

    Hallo,
    ich erstelle mir viele ähnliche Datenpunkte, welche ich mit "desc" näher beschreibe mit:

    createState(id, 0, false, {type: 'number', desc: dpDesc});
    

    aber beim lesen der Datenpunkte komme ich nicht mehr an "desc" ran:
    Da motzt der compiler.

    titles.each(function (id, i) {
       //let state = getState(id).common.desc; // compilerfehler bei ".common": Property 'common' does not exist on type 'State<any>
       let state = getState(id);
       console.log(state);
    

    Und wenn ich den state, den ich mit getState gekriegt hab ausdrucke bekomme ich auch kein desc:

    {
      val: 0,
      ack: true,
      ts: 1750006620561,
      q: 0,
      c: 'script.js.Eigene_Scripte.Run.Boerse.BoersenkurseSPI',
      from: 'system.adapter.javascript.0',
      user: 'system.user.admin',
      lc: 1750006620561
    }
    
    M 1 Reply Last reply
    0
    • I iob69

      Hallo,
      ich erstelle mir viele ähnliche Datenpunkte, welche ich mit "desc" näher beschreibe mit:

      createState(id, 0, false, {type: 'number', desc: dpDesc});
      

      aber beim lesen der Datenpunkte komme ich nicht mehr an "desc" ran:
      Da motzt der compiler.

      titles.each(function (id, i) {
         //let state = getState(id).common.desc; // compilerfehler bei ".common": Property 'common' does not exist on type 'State<any>
         let state = getState(id);
         console.log(state);
      

      Und wenn ich den state, den ich mit getState gekriegt hab ausdrucke bekomme ich auch kein desc:

      {
        val: 0,
        ack: true,
        ts: 1750006620561,
        q: 0,
        c: 'script.js.Eigene_Scripte.Run.Boerse.BoersenkurseSPI',
        from: 'system.adapter.javascript.0',
        user: 'system.user.admin',
        lc: 1750006620561
      }
      
      M Online
      M Online
      MCU
      wrote on last edited by
      #2

      @iob69

      let desc = getObject(id).common.name
      

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      I 1 Reply Last reply
      2
      • M MCU

        @iob69

        let desc = getObject(id).common.name
        
        I Offline
        I Offline
        iob69
        wrote on last edited by iob69
        #3

        @mcu
        Vielen Dank. Das funktioniert. 👍
        Nur zum Verständnis: Was ist der Unterschied zwischen getState und getObject.
        getState liefert doch auch ein "Objekt" oder zumindest was, das wie ein Objekt aussieht.
        Wenn ich die zwei vergleiche:

        getState:

        {
          val: 0,
          ack: true,
          ts: 1750006620561,
          q: 0,
          c: 'script.js.Eigene_Scripte.Run.Boerse.BoersenkurseSPI',
          from: 'system.adapter.javascript.0',
          user: 'system.user.admin',
          lc: 1750006620561
        }
        

        und getObject:

        {
          common: {
            type: 'number',
            desc: 'ZWM, Zwahlen & Mayr SA',
            name: '0_userdata.0.Boerse.SIX.SPI.Titles.ZWM',
            role: 'state'
          },
          native: {},
          type: 'state',
          from: 'system.adapter.javascript.0',
          user: 'system.user.admin',
          ts: 1750006619687
        }
        

        Dann sieht man im einen eine Teilmenge des jeweils anderen.
        Das heisst, in getObject ist nicht alles vorhanden, jedoch ein Teil von getState und Umgekehrt, aber jeder hat Teile des jeweils anderen?
        Wie muss man sich das Ganze vorstellen?
        Gibt es da ein Objekt welches alles beinhaltet?

        paul53P 1 Reply Last reply
        0
        • I iob69

          @mcu
          Vielen Dank. Das funktioniert. 👍
          Nur zum Verständnis: Was ist der Unterschied zwischen getState und getObject.
          getState liefert doch auch ein "Objekt" oder zumindest was, das wie ein Objekt aussieht.
          Wenn ich die zwei vergleiche:

          getState:

          {
            val: 0,
            ack: true,
            ts: 1750006620561,
            q: 0,
            c: 'script.js.Eigene_Scripte.Run.Boerse.BoersenkurseSPI',
            from: 'system.adapter.javascript.0',
            user: 'system.user.admin',
            lc: 1750006620561
          }
          

          und getObject:

          {
            common: {
              type: 'number',
              desc: 'ZWM, Zwahlen & Mayr SA',
              name: '0_userdata.0.Boerse.SIX.SPI.Titles.ZWM',
              role: 'state'
            },
            native: {},
            type: 'state',
            from: 'system.adapter.javascript.0',
            user: 'system.user.admin',
            ts: 1750006619687
          }
          

          Dann sieht man im einen eine Teilmenge des jeweils anderen.
          Das heisst, in getObject ist nicht alles vorhanden, jedoch ein Teil von getState und Umgekehrt, aber jeder hat Teile des jeweils anderen?
          Wie muss man sich das Ganze vorstellen?
          Gibt es da ein Objekt welches alles beinhaltet?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @iob69 sagte: Gibt es da ein Objekt welches alles beinhaltet?

          Siehe Doku.

          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

          I 1 Reply Last reply
          0
          • paul53P paul53

            @iob69 sagte: Gibt es da ein Objekt welches alles beinhaltet?

            Siehe Doku.

            I Offline
            I Offline
            iob69
            wrote on last edited by
            #5

            @paul53
            Da steig ich eben nicht ganz durch.
            Beim statischen Objekt vom Typ state stimmt das ja mit dem Resultat von getState überein mit ausnahme von "expire". Das ist wohl optional.

            Aber danach steht dort: "Attribute des statischen Objektes sind id, type = 'state', common, native"
            For common, native und type: ok,
            aber wo ist id?

            Und bei meinem Objekt finden sich auch noch "from", "user" und ts. ?

            Jey CeeJ paul53P 2 Replies Last reply
            0
            • I iob69

              @paul53
              Da steig ich eben nicht ganz durch.
              Beim statischen Objekt vom Typ state stimmt das ja mit dem Resultat von getState überein mit ausnahme von "expire". Das ist wohl optional.

              Aber danach steht dort: "Attribute des statischen Objektes sind id, type = 'state', common, native"
              For common, native und type: ok,
              aber wo ist id?

              Und bei meinem Objekt finden sich auch noch "from", "user" und ts. ?

              Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              wrote on last edited by
              #6

              @iob69 Der Unterschied ist das Objekt stellt den State dar bzw. beschreibt ihn und seine Funktion, während der State zwar auch ein Objekt ist das jedoch nur Informationen zum Wert speichert. Also wann wurde der Wert geschrieben, von wo wurde er geschrieben usw.

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              I 1 Reply Last reply
              2
              • Jey CeeJ Jey Cee

                @iob69 Der Unterschied ist das Objekt stellt den State dar bzw. beschreibt ihn und seine Funktion, während der State zwar auch ein Objekt ist das jedoch nur Informationen zum Wert speichert. Also wann wurde der Wert geschrieben, von wo wurde er geschrieben usw.

                I Offline
                I Offline
                iob69
                wrote on last edited by
                #7

                @jey-cee
                Ok, ich stell mir das so vor wie bei Objektorientierten Sprachen wie typescript die (statische) Klasse und das (dynamische) Objekt.
                Da sieht es aber so aus, dass hier offenbar das Objekt statisch ist? Ein bisschen verwirrend, aber ich glaub ich hab's so einigermassen begriffen.

                1 Reply Last reply
                0
                • I iob69

                  @paul53
                  Da steig ich eben nicht ganz durch.
                  Beim statischen Objekt vom Typ state stimmt das ja mit dem Resultat von getState überein mit ausnahme von "expire". Das ist wohl optional.

                  Aber danach steht dort: "Attribute des statischen Objektes sind id, type = 'state', common, native"
                  For common, native und type: ok,
                  aber wo ist id?

                  Und bei meinem Objekt finden sich auch noch "from", "user" und ts. ?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @iob69 sagte: wo ist id?

                  Ist doch als Teil des statischen Objektes beschrieben.

                  Attribute des statischen Objektes sind id, type = 'state', common, native.

                  getObject(id) zeigt die ID nicht an, da das Objekt über die ID adressiert wurde.

                  @iob69 sagte: finden sich auch noch "from", "user" und ts. ?

                  Das sind automatisch beim Erstellen des Objektes erzeugte Eigenschaften, die die Art und den Zeitpunkt der Erstellung anzeigen.

                  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

                  I 1 Reply Last reply
                  1
                  • paul53P paul53

                    @iob69 sagte: wo ist id?

                    Ist doch als Teil des statischen Objektes beschrieben.

                    Attribute des statischen Objektes sind id, type = 'state', common, native.

                    getObject(id) zeigt die ID nicht an, da das Objekt über die ID adressiert wurde.

                    @iob69 sagte: finden sich auch noch "from", "user" und ts. ?

                    Das sind automatisch beim Erstellen des Objektes erzeugte Eigenschaften, die die Art und den Zeitpunkt der Erstellung anzeigen.

                    I Offline
                    I Offline
                    iob69
                    wrote on last edited by iob69
                    #9

                    @paul53
                    @Jey-Cee
                    Danke für die Antworten. Ich komme so weiter.
                    Weiss jemand noch, ob man beim Erstellen eines Status diesen gleich in die history aufnehmen kann (programmatisch) und wenn ja, wie man die Parameter (wie geloggt wird) mitgeben kann?
                    Oder anders gesagt, kann man Datenpunkte programmatisch in die History einbinden, oder geht das nur per Hand mit dem "Zahnrad" in den Objekten?

                    Ah, ich glaub das geht mit dem "Aktivieren" in der Doku:
                    https://www.iobroker.net/#de/adapters/adapterref/iobroker.history/README.md

                    Jey CeeJ haus-automatisierungH 2 Replies Last reply
                    0
                    • I iob69

                      @paul53
                      @Jey-Cee
                      Danke für die Antworten. Ich komme so weiter.
                      Weiss jemand noch, ob man beim Erstellen eines Status diesen gleich in die history aufnehmen kann (programmatisch) und wenn ja, wie man die Parameter (wie geloggt wird) mitgeben kann?
                      Oder anders gesagt, kann man Datenpunkte programmatisch in die History einbinden, oder geht das nur per Hand mit dem "Zahnrad" in den Objekten?

                      Ah, ich glaub das geht mit dem "Aktivieren" in der Doku:
                      https://www.iobroker.net/#de/adapters/adapterref/iobroker.history/README.md

                      Jey CeeJ Online
                      Jey CeeJ Online
                      Jey Cee
                      Developer
                      wrote on last edited by
                      #10

                      @iob69 sagte in [gelöst] desc aus Datenpunk auslesen:

                      Oder anders gesagt, kann man Datenpunkte programmatisch in die History einbinden, oder geht das nur per Hand mit dem "Zahnrad" in den Objekten?

                      Du musst das Objekt entsprechend anpassen. Dafür gibt es Custom.
                      Hier mal ein Beispiel für ein Objekt bei dem SQL Aktiviert ist:

                      {
                        "type": "state",
                        "common": {
                          "name": "PIR Status",
                          "role": "sensor.motion",
                          "type": "boolean",
                          "read": true,
                          "write": false,
                          "custom": {
                            "sql.0": {
                              "enabled": true,
                              "storageType": "",
                              "counter": false,
                              "aliasId": "",
                              "changesOnly": true,
                              "debounce": 0,
                              "changesRelogInterval": "0",
                              "changesMinDelta": 0,
                              "retention": "63072000"
                            }
                          }
                        },
                        "native": {},
                        "_id": "enocean.0.0085230e.PIRS",
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        },
                        "from": "system.adapter.admin.0",
                        "user": "system.user.admin",
                        "ts": 1655843993485
                      }
                      

                      Persönlicher Support
                      Spenden -> paypal.me/J3YC33

                      1 Reply Last reply
                      1
                      • I iob69

                        @paul53
                        @Jey-Cee
                        Danke für die Antworten. Ich komme so weiter.
                        Weiss jemand noch, ob man beim Erstellen eines Status diesen gleich in die history aufnehmen kann (programmatisch) und wenn ja, wie man die Parameter (wie geloggt wird) mitgeben kann?
                        Oder anders gesagt, kann man Datenpunkte programmatisch in die History einbinden, oder geht das nur per Hand mit dem "Zahnrad" in den Objekten?

                        Ah, ich glaub das geht mit dem "Aktivieren" in der Doku:
                        https://www.iobroker.net/#de/adapters/adapterref/iobroker.history/README.md

                        haus-automatisierungH Offline
                        haus-automatisierungH Offline
                        haus-automatisierung
                        Developer Most Active
                        wrote on last edited by
                        #11

                        @iob69 sagte in [gelöst] desc aus Datenpunk auslesen:

                        Weiss jemand noch, ob man beim Erstellen eines Status diesen gleich in die history aufnehmen kann (programmatisch) und wenn ja, wie man die Parameter (wie geloggt wird) mitgeben kann?

                        Am einfachsten per sendTo an die History-Instanz: https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#verlaufsprotokollierung-über-javascript

                        Ich würde nicht direkt die custom Optionen auf dem Objekt setzen (ggf. bekommt das die Instanz dann gar nicht mit und würde das Objekt erst nach einem Neustart der Instanz berücksichtigen).

                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                        📚 Meine inoffizielle ioBroker Dokumentation

                        1 Reply Last reply
                        1

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        320

                        Online

                        32.8k

                        Users

                        82.7k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe