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. JavaScript-Methode für das Auslesen des Objekt-Namens

NEWS

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

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

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

JavaScript-Methode für das Auslesen des Objekt-Namens

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 4 Kommentatoren 558 Aufrufe 2 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.
  • G Offline
    G Offline
    GombersIOB
    schrieb am zuletzt editiert von
    #1

    Ich habe ein neues ZigBee Objekt. Dem habe ich einen Namen vergeben.
    Ich möchte nun aus einem JavaScript heraus auf diesen Namen zugreifen. Kann mir jemand eine HInweis geben, wie der Name verfügbar ist?

    let zigbeeSensorPath: string = "zigbee.0.00124b002e510dce";
    let sensorName:string = **irgendwas mit zigbeeSensorPath**
    

    Was setze ich für "irgendwas mit zigbeeSensorPath" ein?

    Der Objektpfad sieht so aus:
    51dc7b60-1f88-478a-be61-c4173d205f44-grafik.png

    mickymM 1 Antwort Letzte Antwort
    0
    • G GombersIOB

      Ich habe ein neues ZigBee Objekt. Dem habe ich einen Namen vergeben.
      Ich möchte nun aus einem JavaScript heraus auf diesen Namen zugreifen. Kann mir jemand eine HInweis geben, wie der Name verfügbar ist?

      let zigbeeSensorPath: string = "zigbee.0.00124b002e510dce";
      let sensorName:string = **irgendwas mit zigbeeSensorPath**
      

      Was setze ich für "irgendwas mit zigbeeSensorPath" ein?

      Der Objektpfad sieht so aus:
      51dc7b60-1f88-478a-be61-c4173d205f44-grafik.png

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @gombersiob Du lässt Dir das Objekt ausgeben.

      let obj= getObject("zigbee.0.00124b002e510dce");
      let name=obj.common.name;
      

      oder falls gewünscht kannst Du auch die IDs anhand des Namens mit

      getIdByName(name);
      

      ermitteln.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      G 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @gombersiob Du lässt Dir das Objekt ausgeben.

        let obj= getObject("zigbee.0.00124b002e510dce");
        let name=obj.common.name;
        

        oder falls gewünscht kannst Du auch die IDs anhand des Namens mit

        getIdByName(name);
        

        ermitteln.

        G Offline
        G Offline
        GombersIOB
        schrieb am zuletzt editiert von
        #3

        @mickym
        Danke, das wars:

        let zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
        let zigBeeSensorObj: any = getObject(zigBeeSensorPath);
        console.info("Sensorname=" + zigBeeSensorObj.common.name)
        
        javascript.0	20:46:21.084	info	Compiling TypeScript source script.js.common.Alarm.Watchdogs.MainDoor
        javascript.0	20:46:21.285	info	script.js.common.Alarm.Watchdogs.MainDoor: TypeScript compilation successful
        javascript.0	20:46:21.294	info	script.js.common.Alarm.Watchdogs.MainDoor: Sensorname=Schlafzimmer
        
        T 1 Antwort Letzte Antwort
        0
        • G GombersIOB

          @mickym
          Danke, das wars:

          let zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
          let zigBeeSensorObj: any = getObject(zigBeeSensorPath);
          console.info("Sensorname=" + zigBeeSensorObj.common.name)
          
          javascript.0	20:46:21.084	info	Compiling TypeScript source script.js.common.Alarm.Watchdogs.MainDoor
          javascript.0	20:46:21.285	info	script.js.common.Alarm.Watchdogs.MainDoor: TypeScript compilation successful
          javascript.0	20:46:21.294	info	script.js.common.Alarm.Watchdogs.MainDoor: Sensorname=Schlafzimmer
          
          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von
          #4

          @gombersiob

          Ich würde
          a) den Typ weg lassen, dann bekommt die Variable den Rückgabetyp (auch wenn der da sehr nahe an any ist) :D
          b) getObject kann auch undefined (und/oder null) zurück liefern, daher erst checken dann weiter machen :)

          let zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
          let zigBeeSensorObj = getObject(zigBeeSensorPath);
          if (zigBeeSensorObj) {
              console.info("Sensorname=" + zigBeeSensorObj.common.name)
          }
          

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          paul53P G 2 Antworten Letzte Antwort
          0
          • T ticaki

            @gombersiob

            Ich würde
            a) den Typ weg lassen, dann bekommt die Variable den Rückgabetyp (auch wenn der da sehr nahe an any ist) :D
            b) getObject kann auch undefined (und/oder null) zurück liefern, daher erst checken dann weiter machen :)

            let zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
            let zigBeeSensorObj = getObject(zigBeeSensorPath);
            if (zigBeeSensorObj) {
                console.info("Sensorname=" + zigBeeSensorObj.common.name)
            }
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @ticaki sagte: getObject kann auch undefined (und/oder null) zurück liefern

            ... zusammen mit einer Warnung, deshalb

            const zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
            if (existsObject(zigBeeSensorPath)) {
                console.info("Sensorname=" + getObject(zigBeeSensorPath).common.name)
            }
            

            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
            1
            • T ticaki

              @gombersiob

              Ich würde
              a) den Typ weg lassen, dann bekommt die Variable den Rückgabetyp (auch wenn der da sehr nahe an any ist) :D
              b) getObject kann auch undefined (und/oder null) zurück liefern, daher erst checken dann weiter machen :)

              let zigBeeSensorPath: string = "zigbee.0.00124b002e510dce";
              let zigBeeSensorObj = getObject(zigBeeSensorPath);
              if (zigBeeSensorObj) {
                  console.info("Sensorname=" + zigBeeSensorObj.common.name)
              }
              
              G Offline
              G Offline
              GombersIOB
              schrieb am zuletzt editiert von
              #6

              @ticaki said in JavaScript-Methode für das Auslesen des Objekt-Namens:

              b) getObject kann auch undefined (und/oder null) zurück liefern, daher erst checken dann weiter machen

              das ist sicher richtig und ist auch die sauberere Implementierung. Und es zwingt einen sich zu überlegen, was passiert, wenn dieser Fehlerfall tatsächlicht eintritt. Das war jetzt nur ein Muster für meine Überwachung. In der Endausbaustufe werde ich auch über die verschiedenen Objekte iterieren um sie zu finden. Ich will pro Sensor eine Regel in den User-Objekten hinterlegen (die Adresse des Sensors selber in den Objekten, wie lange die offen sein dürfen, wie der Alarmtext lauten soll, wie wichtig der Alarm ist usw).
              Statt für jeden Sensor ein eigenes Script zu definieren wird nur eine eigene Regel hinzugefügt und damit ist er in der Überwachung.

              T 1 Antwort Letzte Antwort
              0
              • G GombersIOB

                @ticaki said in JavaScript-Methode für das Auslesen des Objekt-Namens:

                b) getObject kann auch undefined (und/oder null) zurück liefern, daher erst checken dann weiter machen

                das ist sicher richtig und ist auch die sauberere Implementierung. Und es zwingt einen sich zu überlegen, was passiert, wenn dieser Fehlerfall tatsächlicht eintritt. Das war jetzt nur ein Muster für meine Überwachung. In der Endausbaustufe werde ich auch über die verschiedenen Objekte iterieren um sie zu finden. Ich will pro Sensor eine Regel in den User-Objekten hinterlegen (die Adresse des Sensors selber in den Objekten, wie lange die offen sein dürfen, wie der Alarmtext lauten soll, wie wichtig der Alarm ist usw).
                Statt für jeden Sensor ein eigenes Script zu definieren wird nur eine eigene Regel hinzugefügt und damit ist er in der Überwachung.

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #7

                @gombersiob

                Kannst dir ja mal das angucken, ist schon etwas länger her das ich es geschrieben habe. nutze ich aber noch immer:

                https://github.com/ticaki/iobroker-skript-sammlung/blob/main/SensorWatchdog.ts

                EDIT: für das Skript braucht man auch das hier in global: https://github.com/ticaki/iobroker-skript-sammlung/blob/main/GlobaleCreateFunktionen.js

                Würde ich heute auch anders machen, aber geht also finger weg :D

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                G 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @gombersiob

                  Kannst dir ja mal das angucken, ist schon etwas länger her das ich es geschrieben habe. nutze ich aber noch immer:

                  https://github.com/ticaki/iobroker-skript-sammlung/blob/main/SensorWatchdog.ts

                  EDIT: für das Skript braucht man auch das hier in global: https://github.com/ticaki/iobroker-skript-sammlung/blob/main/GlobaleCreateFunktionen.js

                  Würde ich heute auch anders machen, aber geht also finger weg :D

                  G Offline
                  G Offline
                  GombersIOB
                  schrieb am zuletzt editiert von
                  #8

                  @ticaki
                  Danke dafür. Das sieht sehr interessant aus. Ich werde wohl auch noch Einiges an Syntax von JS/TS lernen. Ich schau es mir nächste Woche im Detail an - diese Woche komme ich nicht mehr dazu

                  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

                  947

                  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