Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JavaScript
  5. Wie lege ich den Datenpunkt an?

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    2.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    4.7k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    4.0k

Wie lege ich den Datenpunkt an?

Geplant Angeheftet Gesperrt Verschoben JavaScript
23 Beiträge 9 Kommentatoren 696 Aufrufe 5 Beobachtet
  • Ä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.
  • KusselinK Offline
    KusselinK Offline
    Kusselin
    schrieb am zuletzt editiert von Kusselin
    #11

    Nee isses nicht..sonst würd ich doch nicht fragen....
    O.K. nochmal für mich...im Script ist das hier hinterlegt:

    // ── Jahres-Datenpunkte anlegen (falls nicht vorhanden) ─────────
    createState(DP_JAHR_KWH, {
        name: 'Einspeisung Jahr gesamt',
        type: 'number',
        role: 'value.energy',
        unit: 'kWh',
        read: true,
        write: true,
        def: 0
    });
    
    createState(DP_JAHR_EURO, {
        name: 'Einspeisung Jahr gesamt (€)',
        type: 'number',
        role: 'value.money',
        unit: '€',
        read: true,
        write: true,
        def: 0
    });
    

    das heisst doch aber das das Script den Datenpunkt schon automatisch anlegt...da muss ich doch nichts mehr in 0_userdata anlegen...oder?

    1 Antwort Letzte Antwort
    0
    • Ro75R Online
      Ro75R Online
      Ro75
      schrieb am zuletzt editiert von
      #12

      ja. Allerdings wirst du auf Dauer keinen Spaß haben, denn da wird ja jeden Tag mindestens ein weiterer Datenpunkt angelegt. Wenn du daraus eine Historie ableiten willst, völlig ungeeignet - wurde aber schon weiter oben angesprochen.

      Ro75.

      SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

      1 Antwort Letzte Antwort
      0
      • KusselinK Offline
        KusselinK Offline
        Kusselin
        schrieb am zuletzt editiert von
        #13

        o.k. danke für die Info

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt.

          Wie kommst du darauf?

          @Kusselin [sagte]: Datenpunkt "'Einspeisung Jahr gesamt'" und "'Einspeisung Jahr gesamt (€)'" anlegen muss

          Ändere common.write in false.

          Für die Ermittlung von Periodenwerten inkl. Kosten gibt es den Adapter Sourceanalytix.

          C Offline
          C Offline
          Chrunchy
          schrieb am zuletzt editiert von
          #14

          @paul53 sagte:

          @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt.
          

          Wie kommst du darauf?

          Hatt das hier (https://forum.iobroker.net/topic/75919/createstate-deprecated) so verstanden.

          Gruß Chrunchy

          T 1 Antwort Letzte Antwort
          0
          • C Chrunchy

            @paul53 sagte:

            @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt.
            

            Wie kommst du darauf?

            Hatt das hier (https://forum.iobroker.net/topic/75919/createstate-deprecated) so verstanden.

            T Offline
            T Offline
            ticaki
            schrieb am zuletzt editiert von
            #15

            @Chrunchy sagte:

            @paul53 sagte:

            @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt.
            

            Wie kommst du darauf?

            Hatt das hier (https://forum.iobroker.net/topic/75919/createstate-deprecated) so verstanden.

            Das eine ist Adapterentwicklung das andere Javascript-Adapter - ich benutze in beiden "extendObject" - für nicht Adapterentwickler ist createStates() aber besser.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            0
            • Rene55R Online
              Rene55R Online
              Rene55
              schrieb zuletzt editiert von
              #16

              Ich hoffe hier liest noch jemand mit. Ich versuche mit dem Javascript-Adapter (9.0.18) einen Datenpunkt für ein Objekt anzulegen. Dazu nutze ich 'await createStateAsync(name, initialValue, forceCreation, common, native);'. Das funktioniert auch soweit, dass der DP angelegt wird, aber der Wert mit '(null)' in rot dargestellt wird. Von dem übergebenen initialValue {} keine Spur. Bei allen anderen Datenpunkten funktioniert das so wie erwartet. Kennt das auch jemand und hat dazu eine Lösung?

              Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
              ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
              Wetterstation: Froggit WH3000SE V1.6.6

              paul53P 1 Antwort Letzte Antwort
              0
              • Rene55R Rene55

                Ich hoffe hier liest noch jemand mit. Ich versuche mit dem Javascript-Adapter (9.0.18) einen Datenpunkt für ein Objekt anzulegen. Dazu nutze ich 'await createStateAsync(name, initialValue, forceCreation, common, native);'. Das funktioniert auch soweit, dass der DP angelegt wird, aber der Wert mit '(null)' in rot dargestellt wird. Von dem übergebenen initialValue {} keine Spur. Bei allen anderen Datenpunkten funktioniert das so wie erwartet. Kennt das auch jemand und hat dazu eine Lösung?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb zuletzt editiert von paul53
                #17

                @Rene55 [sagte]: Von dem übergebenen initialValue {} keine Spur

                Initialvalue {} wird als leeres Common-Objekt interpretiert. Verwende def zu Initialisierung:

                createState(id, {name: 'neues Objekt', type: 'object', def: {}});
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                1 Antwort Letzte Antwort
                0
                • Rene55R Online
                  Rene55R Online
                  Rene55
                  schrieb zuletzt editiert von
                  #18

                  Danke @paul53 für den Versuch. Leider bekomme ich weiterhin ein " (null) " in rot. Darüber hinaus sehe ich im Objekt { "_id": "0_userdata.0.Test2.OBJ_3", "common": { "name": "0_userdata.0.Test2.OBJ_3", "role": "state", "type": "mixed" }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1784048742911, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }. Auffällig hier der Type 'mixed' obwohl ich 'object' vorgegeben habe.

                  Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                  ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                  Wetterstation: Froggit WH3000SE V1.6.6

                  OliverIOO paul53P 2 Antworten Letzte Antwort
                  0
                  • Rene55R Rene55

                    Danke @paul53 für den Versuch. Leider bekomme ich weiterhin ein " (null) " in rot. Darüber hinaus sehe ich im Objekt { "_id": "0_userdata.0.Test2.OBJ_3", "common": { "name": "0_userdata.0.Test2.OBJ_3", "role": "state", "type": "mixed" }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1784048742911, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }. Auffällig hier der Type 'mixed' obwohl ich 'object' vorgegeben habe.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb zuletzt editiert von OliverIO
                    #19

                    @Rene55

                    hat perfekt funktioniert.
                    einmal mit 0 und einmal mit def 1 probiert

                    createState("0_userdata.0.forum", {
                        name: 'Einspeisung Jahr gesamt',
                        type: 'number',
                        role: 'value.energy',
                        unit: 'kWh',
                        read: true,
                        write: true,
                        def: 1
                    });
                    

                    das funktioniert aber nur beim ersten mal falls der datenpunkt noch nicht existiert.
                    für das kontinuierliche schreiben von datenpunkte musst du setState verwenden
                    also

                    setState("0_userdata.0.forum",3);
                    

                    oder wenn du mit ack=true schreiben wills

                    setState("0_userdata.0.forum",3,true);
                    

                    ein datenpunkt besteht aus einem object und ein oder mehrere states, die beiden werden von iobroker separat verwaltet.

                    das siehst du auch in den datenpunkt einstellungen
                    b4346e84-a73b-4a25-82c5-612a71880ae0-image.jpeg
                    24a04663-ab37-4926-a996-07e4013138e1-image.jpeg

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • Rene55R Rene55

                      Danke @paul53 für den Versuch. Leider bekomme ich weiterhin ein " (null) " in rot. Darüber hinaus sehe ich im Objekt { "_id": "0_userdata.0.Test2.OBJ_3", "common": { "name": "0_userdata.0.Test2.OBJ_3", "role": "state", "type": "mixed" }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1784048742911, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }. Auffällig hier der Type 'mixed' obwohl ich 'object' vorgegeben habe.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb zuletzt editiert von paul53
                      #20

                      @Rene55 [sagte]: Type 'mixed' obwohl ich 'object' vorgegeben habe.

                      Hat du den Initialvalue weggelassen? Falls nicht, wird dieser als common interpretiert und erzeugt einen Standard-DP mit dem Typ "mixed".

                      EDIT: Ohne Initialvalue erzeugter Datenpunkt:

                      {
                        "_id": "0_userdata.0.Test.neues_Objekt",
                        "common": {
                          "name": "neues Objekt",
                          "type": "object",
                          "def": {},
                          "role": "state"
                        },
                        "native": {},
                        "type": "state",
                        "from": "system.adapter.javascript.0",
                        "user": "system.user.admin",
                        "ts": 1784037212795,
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        }
                      }
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                      1 Antwort Letzte Antwort
                      0
                      • Rene55R Online
                        Rene55R Online
                        Rene55
                        schrieb zuletzt editiert von
                        #21

                        Langsam komme ich dahinter. Laut Docu hat "await createStateAsync(name, initialValue, forceCreation, common, native);" diese Signatur. Ich habe alle Werte beim Aufruf mitgegeben. Bei allen anderen Typen funktioniert das mit initialValue und forceCreation. Nur eben bei object nicht. Nun habe ich die beiden Parameter weggelassen und jetzt gehts. Kann das nochmal jemand nachvollziehen - bevor ich hier einen Bug melden müsste. Zur Info: ich habe mir vorgeschaltet einen "commonBuider" gebaut der mir für das common das hier aufbereitet : "common = {"name":"Object3","type":"object","role":"state","read":true,"write":true,"def":{}}"

                        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                        Wetterstation: Froggit WH3000SE V1.6.6

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Rene55R Rene55

                          Langsam komme ich dahinter. Laut Docu hat "await createStateAsync(name, initialValue, forceCreation, common, native);" diese Signatur. Ich habe alle Werte beim Aufruf mitgegeben. Bei allen anderen Typen funktioniert das mit initialValue und forceCreation. Nur eben bei object nicht. Nun habe ich die beiden Parameter weggelassen und jetzt gehts. Kann das nochmal jemand nachvollziehen - bevor ich hier einen Bug melden müsste. Zur Info: ich habe mir vorgeschaltet einen "commonBuider" gebaut der mir für das common das hier aufbereitet : "common = {"name":"Object3","type":"object","role":"state","read":true,"write":true,"def":{}}"

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb zuletzt editiert von
                          #22

                          @Rene55 [sagte]: einen Bug melden müsste.

                          Da initialValue und forceCreation optional sind, ist es nicht möglich, initialValue als Objekt von einem common-Objekt zu unterscheiden. Will man einen DP vom Typ "object" erzeugen, muss man auf initialValue verzichten und statt dessen mit common.def initialisieren.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                          1 Antwort Letzte Antwort
                          0
                          • Rene55R Online
                            Rene55R Online
                            Rene55
                            schrieb zuletzt editiert von
                            #23

                            Danke @paul53 , dann mache ich das so. Ich konnte nicht erkennen, dass die beiden Parameter optional sind - ich hatte ja auch beide angegeben. Hat bei allen Typen funktioniert - außer bei object. Nochmals Danke und für mich erledigt.

                            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                            Wetterstation: Froggit WH3000SE V1.6.6

                            1 Antwort Letzte Antwort
                            0

                            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                            Registrieren Anmelden
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            240

                            Online

                            33.0k

                            Benutzer

                            83.4k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2026
                            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