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 paul53

      @muetzeheinrich
      Du übergibst an getIdByName(name) den Wert eines Datenpunktes, nicht den Namen des Gerätes. Besser so:

      Bild_2021-02-12_233550.png

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

        @paul53

        gestern Abend war das Brett vorm Kopf schon ziemlich dick 😵

        dde751e8-386e-4f0b-b43e-bd4aecfefbdd-image.png

        Ich möchte die Werte der beiden Datenpunkte der Funktion übergeben. Volume hier "56" und Dot ist "Echo-Buero".

        Erst als ich testweise auch mit deiner Variante Warnung erhalten habe ist mir aufgefallen, dass der Namen des Echos-Dot nicht eindeutig ist.
        Der kommt einmal unter "alexa2.0.Echo-Devices" und ein weiteres mal unter "alexa2.0.Smart-Home-Devices" vor.

        Schade - dann kann so nicht funktionieren. Bin mir auch unsicher, ob man den Namen unter "alexa2.0.Echo-Devices" manuell ändern kann - wird wahrscheinlich wieder überschrieben.

        LG

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

          @paul53

          ich bin leider immer noch mit dem Blockly zugange.

          Kann es sein das Namen kein ASCII 45 (-) enthalten sollte?

          "Echo-Schlafzimmer" führt zu State "undefined.Player.volume" not found

          "EchoSchlafzimmer" hingegen funktioniert.

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

            @muetzeheinrich sagte: Kann es sein das Namen kein ASCII 45 (-) enthalten sollte?

            Im Namen sind alle Zeichen möglich, das "-" sollte kein Problem sein.

            ? 1 Reply Last reply Reply Quote 0
            • ?
              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