Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. .push is not a function error

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    .push is not a function error

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

      Hi,

      ich hatte mir ein Logfile-Array erstellt, welches mir Meldungen die ich als Sprachausgabe ausgebe, auch in einen Array schreibt, welches ich dann in der vis darstelle. Das lief auch eine Zeit problemlos, bis mal wieder ein update rauskam. Seitdem wirft mir mein Javascript nun einen Fehler aus, mit dem ich nichts anfangen kann. Ich würde gerne verstehen, warum das nicht funktioniert.

      7c7b81be-07f5-42e9-a87f-f59559cb67fb-grafik.png

      10:46:03.722	error	javascript.0 (2304) script.js.Visualisierung.Sprachausgabe: TypeError: myjsonArray.push is not a function
      10:46:03.722	error	javascript.0 (2304) at Object.<anonymous> (script.js.Visualisierung.Sprachausgabe:25:17)
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @JoergH last edited by

        @joergh
        Es soll ein Array an ein Array angehängt werden?

        Blockly_temp.JPG

        Von welchem Typ ist der Datenpunkt "Sprachlog"?

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

          @paul53
          Eigentlich soll daraus ein JSON gebastelt werden, dass ich dann mit dem JSON Tabelle Widget in vis darstelle.

          Sprachlog ist vom Typ String.

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

            @joergh sagte: Sprachlog ist vom Typ String.

            Dann muss im Skript gewandelt werden.
            Die JSON-Liste für Vis kann nicht der gleiche Datenpunkt sein, wie der, um den die Liste erweitert wird.

            Blockly_temp.JPG

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

              @paul53
              Danke, das funktioniert prinzipiell. Vorher hat er mir aber auch die Datenfelder irgendwie benannt...?

              [{"zeit":"10:44:27","text":"Tesla laden gestartet"},
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @JoergH last edited by

                @joergh sagte: Vorher hat er mir aber auch die Datenfelder irgendwie benannt...?

                Nicht mit dem oben gezeigten Skript.

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

                  @paul53

                  Ich habe das lange nicht mehr angefasst. Kann sein, dass ich da mal ein anderes Skript hatte...

                  Wenn ich mehrere Elemente anfügen will, muss ich dann jedesmal den "in der Liste füge als letzte ein" nehmen, oder kann ich da nicht z.b. die Zeit und den Text mit den entsprechenden Bezeichnungen einfügen?

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

                    @joergh sagte: Zeit und den Text mit den entsprechenden Bezeichnungen einfügen?

                    Das ist in der Liste jeweils ein Objekt, das man mit einer JS-Funktion erzeugen kann. Inhalt der Funktion createObj(text):

                    return {zeit: formatDate(new Date(), 'hh:mm:ss'), text: text};
                    

                    Blockly_temp.JPG

                    Da die Länge der Liste nicht begrenzt ist, würde ich die neueste Meldung als erste (oben) einfügen.

                    1 Reply Last reply Reply Quote 0
                    • J
                      JoergH last edited by

                      @paul53 Super, danke! Das funktioniert prima. Wäre nie drauf gekommen, dass ich da eine JS Funktion zum erstellen eines Objektes nutzen muss...

                      Die Listenlänge begrenze ich noch, das kriege ich hin...:-)

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      601
                      Online

                      31.9k
                      Users

                      80.1k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      478
                      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