Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Frage zu "getIdByName()

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Frage zu "getIdByName()

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User @paul53 last edited by

      @paul53

      .. habe es noch mal geprüft. Es ist wirklich so !

      "Echo-Buero" führt zur Warnung "State "undefined.Player.volume" not found"
      "EchoBuero" findet das Gerät und setzt volume.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Guest last edited by

        @muetzeheinrich
        Dann checke mal mit einem TestSkript, wenn der Name "Echo-Schlafzimmer" ist:

        log(getIdByName("Echo-Schlafzimmer"));
        
        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @paul53 last edited by

          @paul53 sagte in Frage zu "getIdByName():

          log(getIdByName("Echo-Schlafzimmer"));

          script.js.TEST.ss99: undefined

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Guest last edited by

            @muetzeheinrich sagte: script.js.TEST.ss99: undefined

            Das Objekt mit dem Namen "Echo-Schlafzimmer" existiert?

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @paul53 last edited by

              @paul53
              b5f531b4-a77f-4270-af9e-5f3acad9b23b-image.png

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Guest last edited by

                @muetzeheinrich
                Komisch: Ich habe es gerade mit einem Device-Namen "Echo-Schlafzimmer" getestet und es funktioniert.

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @paul53 last edited by

                  @paul53

                  "das gibst doch nicht" war meine erste Reaktion! Irgendwo muss aber ein Unterschied sein ..

                  {
                    "from": "system.adapter.alexa2.0",
                    "user": "system.user.admin",
                    "ts": 1613250245358,
                    "common": {
                      "name": "Echo-Schlafzimmer",
                      "read": true,
                      "write": false,
                      "icon": "icons/echo_dot3.png"
                    },
                    "native": {},
                    "acl": {
                      "object": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "_id": "alexa2.0.Echo-Devices.G090Xxxxxxxxxxxxx",
                    "type": "device"
                  }
                  

                  log(getIdByName("Echo-Schlafzimmer")); erzeugt :
                  22:35:01.450 info javascript.0 (25703) script.js.TEST.ss99: undefined

                  ich weis gerade nicht weiter .

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @Guest last edited by

                    @paul53

                    Versuch mit "EchoSchlafzimmer gibt die ID wieder..

                    25703) script.js.TEST.ss99: alexa2.0.Echo-Devices.G090XG1103xxxxxxx
                    
                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Guest last edited by paul53

                      @muetzeheinrich sagte: Versuch mit "EchoSchlafzimmer gibt die ID wieder..

                      Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu. Es ist offenbar ein Puffer-Problem.

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @paul53 last edited by A Former User

                        @paul53 sagte in Frage zu "getIdByName():

                        Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu.

                        javascript.0	2021-02-13 23:03:40.095	info	(13206) script.js.TEST.ss99: registered 0 subscriptions and 0 schedules
                        javascript.0	2021-02-13 23:03:40.094	info	(13206) script.js.TEST.ss99: undefined
                        javascript.0	2021-02-13 23:03:40.086	info	(13206) Start javascript script.js.TEST.ss99
                        
                        ? paul53 2 Replies Last reply Reply Quote 0
                        • ?
                          A Former User @Guest last edited by

                          @paul53

                          b5b61f27-9059-4a31-87dd-251f5d60131a-image.png

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Guest last edited by paul53

                            @muetzeheinrich sagte: script.js.TEST.ss99: undefined

                            Mit?

                            log(getIdByName("Echo-Schlafzimmer"));
                            

                            Ich habe "Echo-Schlafzimmer" in "Aussen / Garten" geändert und erst nach Neustart der Javascript-Instanz funktionierte

                            log(getIdByName('Aussen / Garten'));
                            
                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @paul53 last edited by A Former User

                              @paul53

                              ! zuerst mal für vielen Dank für deine Zeit.

                              Es ist so, wie du es geschrieben hast. Wenn die Javascript-Instanz nach umbennen von Namen neu gestartet wird, dann klappt es. Vielleicht wird ein cache neu erzeugt - habe es heute noch ein paar mal hin und her probiert. Sehr wahrscheinlich habe gestern die falsche JS-Instanz neu gestartet.

                              Das löst leider mein ursprüngliches Problem der mehrfach vorkommenden Gerätenamen nicht. Ich habe nur wenig Javascript Kenntnis, für if then else reicht es aber 🙂 .
                              Mit Versuch und Irrtum ist nun diese Blockly-Funktion entstanden , vielleicht geht es auch sicherer / einfacher

                              var arr = getIdByName(echodot);
                              
                              if (arr != null) {
                                  for (var i = 0; i < arr.length; i++) {
                                      if (arr[i].indexOf("Echo-Devices") > -1) {
                                          setState(arr[i] + '.Player.volume', volume)
                                      }
                                  }
                              } else { log ("Echo nicht vorhanden") }
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              850
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              2
                              18
                              521
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo