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.
    • 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

                            851
                            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