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. JavaScript
  5. gelöst Name im Datenpunkt ändern mit Variable als Name

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

gelöst Name im Datenpunkt ändern mit Variable als Name

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 2 Kommentatoren 500 Aufrufe 1 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.
  • F Offline
    F Offline
    flehmann1234
    schrieb am zuletzt editiert von flehmann1234
    #1

    Hallo Forum,

    ich komme nicht so recht weiter und hoffe hier nochmals auf Hilfe...

    die Variable "device_id" habe ich erstellt.

    Dann möchte ich einen Datenpunkt anlegen mit:

    createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: "ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
    

    Wie kann ich den Inhalt der Variable "device_id" vor den Namen "name" = "ALARM" stellen? irgendwie mit
    name: ".device_id +".ALARM"
    oder so... Ich bekomme es einfach nicht hin...

    Ziel ist, wenn ich in Node Red den Datenpunkt wähle, würde ich gern sehen, welches Device dahinter steckt ohne alles händisch ändern zu müssen.

    Tausend Dank!!!

    paul53P 1 Antwort Letzte Antwort
    1
    • F flehmann1234

      Hallo Forum,

      ich komme nicht so recht weiter und hoffe hier nochmals auf Hilfe...

      die Variable "device_id" habe ich erstellt.

      Dann möchte ich einen Datenpunkt anlegen mit:

      createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: "ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
      

      Wie kann ich den Inhalt der Variable "device_id" vor den Namen "name" = "ALARM" stellen? irgendwie mit
      name: ".device_id +".ALARM"
      oder so... Ich bekomme es einfach nicht hin...

      Ziel ist, wenn ich in Node Red den Datenpunkt wähle, würde ich gern sehen, welches Device dahinter steckt ohne alles händisch ändern zu müssen.

      Tausend Dank!!!

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @flehmann1234 sagte: Wie kann ich den Inhalt der Variable "device_id" vor den Namen "name" = "ALARM" stellen?

      Ist der Variablenbezeichner device_id oder Ordner (wie im Skript)?

      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

      F 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @flehmann1234 sagte: Wie kann ich den Inhalt der Variable "device_id" vor den Namen "name" = "ALARM" stellen?

        Ist der Variablenbezeichner device_id oder Ordner (wie im Skript)?

        F Offline
        F Offline
        flehmann1234
        schrieb am zuletzt editiert von flehmann1234
        #3

        @paul53

        Danke für die Antwort...

        5323f367-9664-4ab8-9d75-8fe8c15dba21-image.png

        ich habe mehrere Variablen defeniert. Die Variable "Order" bezeichnet den Ort des Datenpunktes:

        0_userdata.0.tnn.05.05-fenstersensoren.05-dg-re-sz-35.DOOR_OPEN_STATUS

        Die Variable device_id bezeichnet den Raum, in diesem FAll "05-dg-re-sz-35" diesen Teil bräuchte ich im Namen.
        c7546f4c-4523-44ce-a819-ef37c8022d17-image.png

        Vielleicht kann man diesen Teil auch aus der Variable "Order" herleiten....

        Bei den Homematic Sensoren wird es automatisch angelegt...
        581b609d-e80c-480f-995e-becbcea6f1f7-image.png

        Ich habe lange gesucht und propiert aber nichts gefunden.....

        Danke !

        paul53P 1 Antwort Letzte Antwort
        0
        • F flehmann1234

          @paul53

          Danke für die Antwort...

          5323f367-9664-4ab8-9d75-8fe8c15dba21-image.png

          ich habe mehrere Variablen defeniert. Die Variable "Order" bezeichnet den Ort des Datenpunktes:

          0_userdata.0.tnn.05.05-fenstersensoren.05-dg-re-sz-35.DOOR_OPEN_STATUS

          Die Variable device_id bezeichnet den Raum, in diesem FAll "05-dg-re-sz-35" diesen Teil bräuchte ich im Namen.
          c7546f4c-4523-44ce-a819-ef37c8022d17-image.png

          Vielleicht kann man diesen Teil auch aus der Variable "Order" herleiten....

          Bei den Homematic Sensoren wird es automatisch angelegt...
          581b609d-e80c-480f-995e-becbcea6f1f7-image.png

          Ich habe lange gesucht und propiert aber nichts gefunden.....

          Danke !

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @flehmann1234 sagte: 0_userdata.0.tnn.05.05-fenstersensoren.05-dg-re-sz-35.DOOR_OPEN_STATUS

          Das soll die ID eines Ziel-Datenpunktes sein? Die Variable Ordner also "tnn.05.05-fenstersensoren.05-dg-re-sz-35" enthalten? Dann enthält er doch die device-id am Ende.
          Wie sieht das JSON eines Trigger-Datenpunktes aus (bitte in code tags)?

          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

          F 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @flehmann1234 sagte: 0_userdata.0.tnn.05.05-fenstersensoren.05-dg-re-sz-35.DOOR_OPEN_STATUS

            Das soll die ID eines Ziel-Datenpunktes sein? Die Variable Ordner also "tnn.05.05-fenstersensoren.05-dg-re-sz-35" enthalten? Dann enthält er doch die device-id am Ende.
            Wie sieht das JSON eines Trigger-Datenpunktes aus (bitte in code tags)?

            F Offline
            F Offline
            flehmann1234
            schrieb am zuletzt editiert von flehmann1234
            #5

            @paul53

            Hallo paul53, die Lösung ist wahrscheinlich so einfach dass du zu kompliziert denkst...
            Wenn ich bei Node Red einen Datenpunkt auswähle, wird standardmäßig der Name ausgewählt. Das heiß, dass alle meine zig Sensoren "DOOR_OPEN_STATUS" heißen würden.

            6f10bea5-55c1-4847-a09f-d71942349c5f-image.png

            Wenn der Raumname mit im Namen stehen würde, wüsste ich wo sich der Sensor befindet.
            Die Variable mit dem Raumnamen gibt es ja schon: device_id. Doch die Frage ist, wie bekomme ich diese vor den Namen "DOOR_OPEN_STATUS" geschrieben.

            2dfe80d5-75f4-4b99-964e-993753deeb0d-image.png

            Wahrscheinlich muss man nur 'device_id'+"DOOR_OPEN_STATUS" oder so schreiben, damit der Raumname vor dem Wort DOOR_OPEN_STATUS steht... ??? Ich kenne nur die Syntax nicht dafür und bekomme es einfach nicht hin...

            createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: '$device_id'+"ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", });
            

            Danke vielmals und grüße

            Fabian

            paul53P 1 Antwort Letzte Antwort
            0
            • F flehmann1234

              @paul53

              Hallo paul53, die Lösung ist wahrscheinlich so einfach dass du zu kompliziert denkst...
              Wenn ich bei Node Red einen Datenpunkt auswähle, wird standardmäßig der Name ausgewählt. Das heiß, dass alle meine zig Sensoren "DOOR_OPEN_STATUS" heißen würden.

              6f10bea5-55c1-4847-a09f-d71942349c5f-image.png

              Wenn der Raumname mit im Namen stehen würde, wüsste ich wo sich der Sensor befindet.
              Die Variable mit dem Raumnamen gibt es ja schon: device_id. Doch die Frage ist, wie bekomme ich diese vor den Namen "DOOR_OPEN_STATUS" geschrieben.

              2dfe80d5-75f4-4b99-964e-993753deeb0d-image.png

              Wahrscheinlich muss man nur 'device_id'+"DOOR_OPEN_STATUS" oder so schreiben, damit der Raumname vor dem Wort DOOR_OPEN_STATUS steht... ??? Ich kenne nur die Syntax nicht dafür und bekomme es einfach nicht hin...

              createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: '$device_id'+"ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", });
              

              Danke vielmals und grüße

              Fabian

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @flehmann1234
              Du willst den Namen der schon bestehenden Datenpunkte um die "device_id" erweitern?

              // id = Datenpunkt-ID
              const device_id = id.split('.')[5];
              const dpName = getObject(id).common.name;
              if(!dpName.includes(device_id)) extendObject(id, {common: {name: dpName + ' ' + device_id}});
              

              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

              F 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @flehmann1234
                Du willst den Namen der schon bestehenden Datenpunkte um die "device_id" erweitern?

                // id = Datenpunkt-ID
                const device_id = id.split('.')[5];
                const dpName = getObject(id).common.name;
                if(!dpName.includes(device_id)) extendObject(id, {common: {name: dpName + ' ' + device_id}});
                
                F Offline
                F Offline
                flehmann1234
                schrieb am zuletzt editiert von
                #7

                @paul53 eigentlich noch einfacher, ich lösche alle Datenpunkte und würde diese neu anlegen lassen.

                das Script von oben gibt eine Fehlermeldung zurück.

                createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+"ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id.split('.')[5]+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                

                geht alles nicht, beim letzten wird ein undefined geschrieben...
                192e833c-8cc1-4daf-8315-14140d104fea-image.png reateState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", });

                kannst du nochmal bitte schauen, wo der fehler liegt?

                Danke !

                F paul53P 2 Antworten Letzte Antwort
                0
                • F flehmann1234

                  @paul53 eigentlich noch einfacher, ich lösche alle Datenpunkte und würde diese neu anlegen lassen.

                  das Script von oben gibt eine Fehlermeldung zurück.

                  createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+"ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                  createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                  createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id.split('.')[5]+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                  createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                  

                  geht alles nicht, beim letzten wird ein undefined geschrieben...
                  192e833c-8cc1-4daf-8315-14140d104fea-image.png reateState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", });

                  kannst du nochmal bitte schauen, wo der fehler liegt?

                  Danke !

                  F Offline
                  F Offline
                  flehmann1234
                  schrieb am zuletzt editiert von
                  #8

                  @flehmann1234
                  habe jetzt die Lösung:

                  createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                  
                  1 Antwort Letzte Antwort
                  0
                  • F flehmann1234

                    @paul53 eigentlich noch einfacher, ich lösche alle Datenpunkte und würde diese neu anlegen lassen.

                    das Script von oben gibt eine Fehlermeldung zurück.

                    createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+"ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                    createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                    createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: {device_id.split('.')[5]+".ALARM"}, unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                    createState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number",  });
                    

                    geht alles nicht, beim letzten wird ein undefined geschrieben...
                    192e833c-8cc1-4daf-8315-14140d104fea-image.png reateState("0_userdata.0."+ Ordner +".ALARM", 0,{ name: device_id.split('.')[5]+".ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", });

                    kannst du nochmal bitte schauen, wo der fehler liegt?

                    Danke !

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @flehmann1234 sagte: diese neu anlegen lassen.

                    Dann kann man die Tatsache verwenden, dass "Ordner" die "device-id" enthält.

                    createState("0_userdata.0."+ Ordner +".ALARM", 0, {name: Ordner.split('.')[3] + " ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", role: 'indicator.alarm'});
                    

                    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
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    833

                    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