Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Yahka script mit array geht nicht mehr...

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Yahka script mit array geht nicht mehr...

    This topic has been deleted. Only users with topic management privileges can see it.
    • Villarriba
      Villarriba last edited by Villarriba

      Bis vor kurzem habe ich die ChannelListe, die von meinem Sonos als array ([ "BR1","BR2", ...]) ausgegeben wird, ganz einfach in einem script in yahka dafür genutzt die einzelnen Kanäle in der HOME-App anzuzeigen und auszuwählen. Aber jetzt funktioniert das plötzlich nicht mehr. Anstelle des entsprechenden Listeneintrags wir jetzt nur noch der entsprechende Buchstabe in Reihenfolge des states ausgegeben. Also bei dem Beispiel oben [ "BR1","BR2", ...] kommt bei dem Aufruf "return value[5];" der Buchstabe "1" und nicht der 5. Listeneintrag so wie früher.

      Ich kann mich nicht erinnern ein yakah update gemacht zu haben, nach dem es nicht mehr funktionierte. Kann das auch mit dem JavaScript-Adapter zusammenhängen? Dafür gab es glaube ich ein update...
      Ich hab' schon ziemlich viel herumprobiert und absolut keine Lösung dafür gefunden.
      Hat nicht von euch jemand eine Idee, ob hier was geändert wurde oder wie ich die Listeneiträge wieder korrekt anzeigen kann?

      d0379c2f-8d75-4b59-b2be-b34fd444b1d1-image.png

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Villarriba last edited by

        @villarriba der State kann kein Array mehr beinhalten, sondern nur eine Zeichenkette. Wenn du den 2. Eintrag eines Arrays haben willst musst du das Array erst aus dem String erzeugen.

        A.

        Villarriba 1 Reply Last reply Reply Quote 0
        • Villarriba
          Villarriba @Asgothian last edited by Villarriba

          @asgothian
          Ok, ich dachte ein Array IST eine Zeichenkette mit entsprechenden Trennzeichen für die einzelnen Werte. ["0","1","2",...]

          Hast du eine Idee wie ich das dann umsetzen könnte?
          Das müsste ja dann in Yahka ein script sein, denn nach deiner Aussage kann ich keinen State mit einem Array anlegen und in Yahka aufrufen.

          Ich frag' mich nur, warum es vorher funktioniert hat und jetzt nicht mehr?!?
          Vielleicht nehme ich mal eine frühere Javascript-adapter-version.... könnte das was mit dem Update zu tun haben?!

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Villarriba last edited by Asgothian

            @villarriba Das hat etwas mit dem JS-Controller, nicht dem JavaScript adapter zu tun.

            Es einen Unterschied zwischen '["a","b","c"' und ["a","b","c"]

            Das erste ist ein Array als Zeichenkette dargestellt, das 2. ist ein Array.

            Seit dem Wechsel auf JS-Controller 3.3 (meine ich) sind in den Datenpunkten keine Objekte mehr erlaubt. Da in JS ein Array als Objekt verwaltet wird macht der JS-Controller bzw. der Adapter der das speichert daraus eine Zeichenkette.

            Du kannst versuchen ob du statt

            return value[5]
            

            mit

            return JSON.parse(value)[5]
            

            arbeiten kannst.

            A.

            Villarriba 1 Reply Last reply Reply Quote 1
            • Villarriba
              Villarriba @Asgothian last edited by Villarriba

              @asgothian
              Allererste Sahne!! Funktioniert!

              Lösung:

              return JSON.parse(value)[x];
              

              Super, danke für die gute Erklärung und die Hilfe!

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              753
              Online

              32.1k
              Users

              80.7k
              Topics

              1.3m
              Posts

              gelöst
              2
              5
              289
              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