Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. JSON Objekte in Liste

    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

    JSON Objekte in Liste

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @legro last edited by

      @legro Ja man muss das verstehen - hat bei mir auch länger gedauert. Mit der Formel unten sollte aber Dein Ziel zu erreichen sein. Wir können das ja mal durchgehen, wenn Du willst. Aber natürlich nur wenn Du willst.

      L 1 Reply Last reply Reply Quote 0
      • L
        legro @mickym last edited by

        @mickym

        Oh ja, sehr gerne. Ich melde mich mit meinen Versuchen.

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @legro last edited by mickym

          @legro Du sollst es einfach in dem JSONATA try Fenster machen - da Du sofort das Ergebnis siehst. Wenn dann alles stimmt brauchst Du den Code nur rauskopieren und im Blockly als JSONATA Ausdruck verwenden.

          Wie gesagt mit dem Code:

          $.Tarife.*.(Energiepreis * Intervall.Startwert / 1000) ~> $sum()
          

          hast Du alles was Du brauchst.

          Gib einfach mal nur das $ ein und schau was im Ergebnisfenster auftaucht, dann $.Tarife usw. - und wenn Du Dir die Ergebnisse erklären kannst ist gut, wenn nicht, dann sag Bescheid.

          Um das mit der Doku zu erklären. Das $ steht für das aktuelle Objekt - am Anfang als für alles:

          03842591-4034-4fe5-b212-872f6d5eb2f2-image.png

          Hier den Auszug aus der Doku:
          1414a6ff-e7ac-44ad-a3a0-5d8b89d507a0-image.png

          Dann probierst Du Tarife, also

          $.Tarife
          

          8458d247-6dd7-4ce7-aa77-8d8671e39f5d-image.png

          Du siehst also als Ergebnis das Array - im Ausgangsobjekt Anfang und Ende gelb markiert.

          Nun kommt der Stern - sprich wir wollen alle Tarife bzw. Objekte haben, egal wie sie heißen:

          $.Tarife.*
          

          fe260397-52a9-41e4-abce-a2a8926c4bdc-image.png

          Mit dem Stern hast Du eine Art Wildcard oder Joker - als Platzhalter. 😉

          f9239947-ff56-4496-9c64-4dc75508b3c2-image.png

          L 1 Reply Last reply Reply Quote 0
          • L
            legro @mickym last edited by

            @mickym

            In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @legro last edited by

              @legro

              @legro sagte in JSON Objekte in Liste:

              @mickym

              In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

              Du kannst Dein Fenster teilen:

              c1e53840-946c-453f-8ba9-dc16cf42e800-image.png

              L 1 Reply Last reply Reply Quote 0
              • L
                legro @mickym last edited by

                @mickym

                Vielen Dank. Du warst schneller. Ich hatte es mittlerweile auch gefunden.

                Hier ist mein neuester Versuch: neue Struktur

                mickym 2 Replies Last reply Reply Quote 0
                • mickym
                  mickym Most Active @legro last edited by

                  @legro Ja das Problem ist, dass Du einmal Wert und einmal Stand hast. Bist Du dafür verantwortlich und kannst das vereinheitlichen oder müssen wir das ändern?

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    legro @mickym last edited by

                    @mickym

                    Hier mein erster Versuch einer Auswertung.

                    Das Ergebnis ist nicht das gewünschte. Es müssten die Differenzen in den aufeinanderfolgenden Zählerständen (Wert) gebildet werden.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @legro last edited by

                      @legro sagte in JSON Objekte in Liste:

                      @mickym

                      Vielen Dank. Du warst schneller. Ich hatte es mittlerweile auch gefunden.

                      Hier ist mein neuester Versuch: neue Struktur

                      Als erstes interessieren Dich ja nur die Stände:

                      Also erweitern

                      $.ZählerStände.Stände
                      

                      Ergebnis siehst Du ja

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @legro last edited by

                        @legro sagte in JSON Objekte in Liste:

                        @mickym

                        Hier mein erster Versuch einer Auswertung.

                        Das Ergebnis ist nicht das gewünschte. Es müssten die Differenzen in den aufeinanderfolgenden Zählerständen (Wert) gebildet werden.

                        Ja das ist schon klar - aber Du musst erst mal Deine Eigenschaften vereinheitlichen - mal hast Du Wert mal Stand.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          legro @mickym last edited by

                          @mickym

                          Ich habe bereits die Summe gebildet.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @legro last edited by

                            @legro Ja aber das hilft Dir doch nichts. Du willst doch Differenzen und dann die Summen bilden.

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              legro @mickym last edited by legro

                              @mickym

                              Ja, das schrieb ich ja hier auch und weiß nicht weiter.

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @legro last edited by

                                @legro Und nochmal Du musst erst Wert und Stände vereinheitlichen

                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  legro @mickym last edited by

                                  @mickym sagte in JSON Objekte in Liste:

                                  @legro Und nochmal Du musst erst Wert und Stände vereinheitlichen

                                  Was meinst du damit?

                                  Ich habe das Gefühl, ich will wohl - zumindest für den Anfang - zu viel auf einmal.

                                  Ich habe in diesem JSON drei ARRAYs für Daten zu Bezug, Verkauf und Erzeugt zu erfassen. Die für Bezug referierte Summenbildung will ich natürlich später für alle drei Felder realisieren.

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @legro last edited by mickym

                                    @legro Ich muss auch tüfteln - das ist nicht banal. 😉 Aber ich versuchs mal. 😉 . Wie gesagt das doofe ist erst mal dass Du Stände und Wert hast.

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      legro @mickym last edited by legro

                                      @mickym

                                      $sum($.ZählerStände.Stände.(Energiepreis*Wert/1000))

                                      Wir müssen hier wohl mit Indizes arbeiten. Schließlich ist der nachfolgende Zählerstand um den vorausgegangenen zu verringern. Oder wir bauen eine Redundanz ein: In jedem Datensatz arbeite ich mit Start- und Endwert, wobei der Startwert der vorausgegangene Endwert ist.

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @legro last edited by

                                        @legro sagte in JSON Objekte in Liste:

                                        @mickym

                                        $sum($.ZählerStände.Stände.(Energiepreis*Wert/1000))

                                        Wir müssen hier wohl mit Indizes arbeiten. Schließlich ist der nachfolgende Zählerstand um den vorausgegangenen zu verringern.

                                        Nochmal Du hast Wert und Stand und das ist Mist oder sogar gemischt:
                                        ae90b36e-49c8-4e41-837a-b9197037cdb1-image.png

                                        Aber ich versuchs mal

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          legro @mickym last edited by

                                          @mickym

                                          Oh je, das hatte ich nicht gesehen. Natürlich wollte ich das alles gleich halten. Ich ändere dies umgehend.

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @legro last edited by

                                            @legro sagte in JSON Objekte in Liste:

                                            @mickym

                                            Oh je, das hatte ich nicht gesehen. Natürlich wollte ich das alles gleich halten. Ich ändere dies umgehend.

                                            Na dann wird es viel einfacher - auf sowas musst Du natürlich achten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            944
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            94
                                            4624
                                            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