Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Array in eigenen Datenpunkten erstellen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Array in eigenen Datenpunkten erstellen

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

      Hallo Leute,
      ich habe zwar schon nach "Array" im Forum gesucht, aber keines der Themen trifft mein Problem.
      Ich möchten gern unter Objekte - JavaSrcipt - eigene Datenpunkte ein Array erstellen.

      Ich komme einfach nicht drauf welchen Datentyp ich da nutzen muss bzw. wie ich dann die Felder eines Arrays beschreiben und lese.

      In meiner Programmierwelt werden Array Felder mit [int] angesprochen, wie es im iobroker funktioniert ist mir noch ein Rätsel.

      Vielen Dank für eure Hilfe 🙂

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

        @ichwersonst sagte:

        unter Objekte - JavaSrcipt - eigene Datenpunkte ein Array erstellen.

        createState(id, [],  {type: 'array'}); 
        

        @ichwersonst sagte in Array in eigenen Datenpunkten erstellen:

        wie ich dann die Felder eines Arrays beschreiben und lese.

        let arr = getState(id).val;
        arr[idx] = wert;
        setState(id, arr, true);
        
        I 1 Reply Last reply Reply Quote 0
        • I
          ichwersonst @paul53 last edited by

          @paul53

          Danke für die Antwort.
          Nur wo gebe ich die Kommandos ein? Bzw. geht das auch über den "einfachen" graphischen Weg?

          Grüße ...

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

            @ichwersonst sagte:

            Nur wo gebe ich die Kommandos ein?

            Im Javascript-Editor.

            @ichwersonst sagte in Array in eigenen Datenpunkten erstellen:

            geht das auch über den "einfachen" graphischen Weg?

            Was meinst Du damit ?

            1 Reply Last reply Reply Quote 0
            • I
              ichwersonst last edited by

              Ich meinte das so, ob ich die Variable auch in der Iobroker Oberfläche unter Objekte - JavaScript - EigeneDatenpunkte die Variable erstellen kann und wie ich sie in Blockly schreiben und lesen kann.

              Danke 🙂

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

                @ichwersonst sagte:

                in der Iobroker Oberfläche unter Objekte - JavaScript - EigeneDatenpunkte die Variable erstellen kann

                neuesArray.JPG

                @ichwersonst sagte in Array in eigenen Datenpunkten erstellen:

                wie ich sie in Blockly schreiben und lesen kann.

                Zum Schreiben und Lesen unter "System": "aktualisiere" bzw. "Wert von".
                Zum Bearbeiten: Blöcke unter "Listen".

                1 Reply Last reply Reply Quote 0
                • I
                  ichwersonst last edited by

                  @paul53
                  okay also ich habe es jetzt geschafft, mehrere Werte (in meinem Fall Uhrzeiten) in einer Variable vom Typ Feld zuschreiben.
                  Der Inhalt der Variable sieht es ca so aus:

                  16:11:25,16:11:30,16:11:54

                  Das sind die 3 Uhrzeiten.

                  Wie bekomme ich es jetzt in vis hin, dass ich die 3 Uhrzeiten einzeln an verschiedenen Stellen (Textfelder) angezeigt bekomme?

                  Grüße...

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

                    @ichwersonst sagte:

                    Wie bekomme ich es jetzt in vis hin, dass ich die 3 Uhrzeiten einzeln an verschiedenen Stellen (Textfelder) angezeigt bekomme?

                    Das ist ein anderes Thema, mit dem ich mich nicht auskenne. Eröffne dazu besser einen neuen Thread.

                    1 Reply Last reply Reply Quote 0
                    • A
                      aleks-83 last edited by aleks-83

                      Hi,
                      ich habe die gleiche Frage.

                      Und zwar schreibe ich mir ein Array mit Benzinpreisen.
                      ddfff2d5-b255-491f-9732-54a16311ce8a-image.png

                      In der letzten Zeile dieser Funktion beschreibe ich den Datenpunkt (Typ: Array) mit einem Text.
                      Im Log erhalte ich dann folgende Meldung:

                      warn: javascript.0 (2068) You are assigning a string to the state "javascript.0.Spritpreis.PreisBenzin_Array" which expects a array. Please fix your code to use a array or change the state type to string. This warning might become an error in future versions.
                      

                      Der Datenpunkt erwartet also den "typ array".
                      Ich finde im Blockly aber keine Möglichkeit einen Datentyp array zu schreiben.

                      Das Array funktioniert zwar, und ich kann es auch wie gewünscht auslesen und daraus minimal- oder maximalwerte auslesen.
                      Aber die Meldung im Log stört dann doch.

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @aleks-83 last edited by

                        @aleks-83 damit ist das Objekt welches unter “javascript.0.Spritpreis.PreisBenzin_Array” liegt. Unter Objekte das suchen unter auf dem Stiftsymbol auf bearbeiten klicken, da im ersten Tab unter common den Datentyp auf String bzw. Zeichenkette ändern.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          aleks-83 @Guest last edited by

                          @ciddi89
                          Achso, ja. In die Richtung gehts natürlich auch... 😬
                          Hatte gedacht dass der Datentyp array hier der richtige ist, weil ich es ja kommasepariert befülle.

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @aleks-83 last edited by

                            @aleks-83 Es gibt ja kein Zustandstyp "array" unter den Objekten, soweit ich weiss. Da bleibt ja nur Zeichenkette. 🙈 Steht ja auch in deinem Log was man machen kann um den Fehler zu korrigieren.

                            Please fix your code to use a array or change the state type to string.
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Guest last edited by

                              @ciddi89 sagte: Es gibt ja kein Zustandstyp "array"

                              Doch, es gibt den Datenpunkt-Typ "array".

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              727
                              Online

                              31.7k
                              Users

                              79.6k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              3479
                              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