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 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
                      • L
                        legro @mickym last edited by legro

                        @mickym

                        Oh je, schon wieder habe ich etwas falsch gemacht.

                        Ändere ich die Bezeichner Stand -> Wert, so summiert er über alle ARRAYs Bezug, Verkauf und Erzeugt. Das will ich doch gar nicht. Ich möchte in den einzelnen ARRAYs Bezug, .. usw. die Summen bilden. Es muss also eine Selektion auf ein einzelnes ARRAY rein, aber die habe keinen Namen, sondern bloß Felder mit den entsprechenden Namen.

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

                          @legro Welcher Energiepreis soll denn genommen werden, der Letzte?

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

                            @mickym

                            Jeweils für jedes ARRAY Bezug, Verkauf und Erzeugt soll die Summe getrennt gebildet werden.

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

                              @legro Schau mal ob das so passt:

                              https://try.jsonata.org/3Nf65MXg3

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

                                @mickym

                                Hier habe ich die ARRAYs umgearbeitet: https://try.jsonata.org/Pvw90D0hU

                                Mit $sum($.ZählerStände.Bezug.(Energiepreis*Wert/1000)) bekomme ich die Summe für Bezug. Auf diese Weise kann ich alle Summen getrennt bilden.

                                Bleibt nun noch die richtige Berechnung mit Differenzbildung innerhalb eines jeden ARRAYs.

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

                                  @legro sagte in JSON Objekte in Liste:

                                  @mickym

                                  Hier habe ich die ARRAYs umgearbeitet: https://try.jsonata.org/Pvw90D0hU

                                  Hast Du Dir meins angeschaut - also so bringt das nichts. Ich bin sonst fertig jetzt. Du musst schon auf meine Fragen antworten - ich habe jetzt den letzten Energiepreis genommen.

                                  Das ist jetzt meine finale Lösung: https://try.jsonata.org/4kMKZSd1n

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

                                    @mickym

                                    Um dies zu üben sollten wir die Aufgabenstellung vereinfachen. Im Prinzip wollen wir ja innerhalb eines ARRAY ..

                                    a = [0,2,4,7,9]

                                    die Unterschiede in den Zahlen aufsummieren.

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

                                      @legro Hast Du Dir meine Lösung denn überhaupt angeschaut????

                                      War noch ein Fehler drin (Punkt vor Strich).

                                      https://try.jsonata.org/ah7ovpn9-

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

                                        @mickym sagte in JSON Objekte in Liste:

                                        @legro Hast Du Dir meine Lösung denn überhaupt angeschaut????

                                        Ich bin doch noch dabei, das Ganze nachzuvollziehen. So schnell bin ich als blutiger Anfänger doch nicht. Ich benötige offenbar länger das zu verstehen als du zum Erstellen.😕

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

                                          @mickym

                                          Jetzt ist's auch mir klar. Ich musste erst einmal verdauen, dass du ein neues Objekt innerhalb der Berechnungen generieren lässt.

                                          Ich denke ich hab's kapiert.😊

                                          Vielen Dank für deine phantastische Hilfe.👍

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

                                            @legro sagte in JSON Objekte in Liste:

                                            @mickym sagte in JSON Objekte in Liste:

                                            @legro Hast Du Dir meine Lösung denn überhaupt angeschaut????

                                            Ich bin doch noch dabei, das Ganze nachzuvollziehen. So schnell bin ich als blutiger Anfänger doch nicht. Ich benötige offenbar länger das zu verstehen als du zum Erstellen.😕

                                            Nee darum gehts nicht, sondern ich hab Dir doch Links geschickt, wie es funktionieren könnte und Dich gefragt ob wir den letzten Energiepreis nehmen? Da kam halt nichts.

                                            Jetzt schau es Dir halt mal an: https://try.jsonata.org/U5Zi90lV2

                                            fa99b656-02fd-4941-80f1-b3fcb254ad67-image.png

                                            Ich habs so mal nachgerechnet.

                                            Beim Bezug: Verbrauch ist 482512-468303 = 14209 /1000 = kW
                                            Preis ist dann der letzte Preis also *0,3328

                                            Ergibt 4,7287552

                                            c62ab03f-6993-4776-bfa1-e10ff221551a-image.png

                                            Also insgesamt bekomme ich 32,91€ raus. 😉

                                            $.ZählerStände.{"Name":Name, "Verbrauch" : (Stände[1].Wert -Stände[0].Wert) / 1000 * Stände[1].Energiepreis }.Verbrauch~>$sum~>$round(2)
                                            

                                            Ich hab die 1000 Umrechnung in kW noch umgestellt. 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            952
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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