Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. json datei für Chart aus vorhandenen DP's erstellen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    json datei für Chart aus vorhandenen DP's erstellen

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

      @mickym

      sourceanalytix.0.0_userdata__0__mqtt__shellies__Pro3_EM__events__rpc__params__em:0__total_act_power.currentYear.consumed.01_currentDay
      
      

      einfach der heutige Verbrauch als Inhalt.

      5,922
      
      1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active last edited by mickym

        Ok bin fertig:

        Einfach diese 3 Nodes noch einfügen.

        9c2e60c2-49e5-48fa-8b9c-c6284f281956-image.png

        [
           {
               "id": "bd6eca790986a04a",
               "type": "change",
               "z": "5a7d3179c5870381",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "date",
                       "pt": "msg",
                       "to": "$moment().format(\"DD.MM.\")",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 920,
               "y": 640,
               "wires": [
                   [
                       "247b31bbef072b30"
                   ]
               ]
           },
           {
               "id": "a507d81536b10e6d",
               "type": "change",
               "z": "5a7d3179c5870381",
               "name": "Ergänze Graph",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$.payload~>|$|{\"axisLabels\":$append($$.date,axisLabels)}| ~>|$.graphs|{\"data\":$append($$.val_today,data)}|",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1320,
               "y": 640,
               "wires": [
                   [
                       "f1e2f69ae8e15d75",
                       "2de45b53a28dc5d2"
                   ]
               ]
           },
           {
               "id": "247b31bbef072b30",
               "type": "ioBroker get",
               "z": "5a7d3179c5870381",
               "name": "Verbrauch heute",
               "topic": "0_userdata.0.Test.dos-1973.-2_Tage.Verbrauch-2",
               "attrname": "val_today",
               "payloadType": "value",
               "errOnInvalidState": "nothing",
               "x": 1120,
               "y": 640,
               "wires": [
                   [
                       "a507d81536b10e6d"
                   ]
               ]
           }
        ]
        

        In der get-Node "Verbrauch heute" halt noch den richtigen Pfad zum Datenpunkt einfügen.

        0ee585d4-a6a8-44d7-aac7-65a14bbe38fe-image.png

        Und zum Schluß kann ich immer nur wieder sagen, lernt JSONATA mit diesem Tool - so erstelle ich ja meine Ausdrücke auch, in dem ich diese Stück für Stück zusammensetze. Hier kannst Du ausprobieren, welche Teile welche Auswirkungen haben: https://try.jsonata.org/Dcmx04fzH

        D 1 Reply Last reply Reply Quote 0
        • D
          dos1973 @mickym last edited by

          @mickym

          soweit stimmt es, nur steht der Wert an falscher stelle

          Bildschirmfoto 2023-11-09 um 22.59.33.png

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

            Ok - verstehe zwar wieder nicht warum aber dann tausch einfach in der letzten Change Node (Ergänze Graph) die beiden Parameter in der append Funktion.

            $.payload~>|$|{"axisLabels":$append(axisLabels,$$.date)}|
            ~>|$.graphs|{"data":$append(data,$$.val_today)}|
            

            Also in der letzten Node.

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

              Ich denke, wenn Du es mir kurz bestätigst, dass ich dann alles wieder löschen kann?

              D 1 Reply Last reply Reply Quote 0
              • D
                dos1973 @mickym last edited by

                @mickym

                Perfekt!

                Bildschirmfoto 2023-11-09 um 23.08.53.png

                D mickym 2 Replies Last reply Reply Quote 0
                • D
                  dos1973 @dos1973 last edited by

                  @dos1973

                  das große Problem war nicht das json, sonder die Art wie ich die Daten aufgebaut habe, richtig?

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

                    @dos1973 sagte in json datei für Chart aus vorhandenen DP's erstellen:

                    @mickym

                    Perfekt!

                    Bildschirmfoto 2023-11-09 um 23.08.53.png

                    Super

                    @dos1973 sagte in json datei für Chart aus vorhandenen DP's erstellen:

                    @dos1973

                    das große Problem war nicht das json, sonder die Art wie ich die Daten aufgebaut habe, richtig?

                    Auch - das hat einiges zusätzliches Kopfzerbrechen gekostet, und mir ist auch trotzdem nicht klar wieso der letzte Punkt nun da oder dort ist. Aber egal.
                    Und doch mit Blockly hast du ein Problem - da sind ja mit den schwarzen Balken die Formatierung verschütt gegangen. Und das liegt daran, dass Du nicht mit Objekten arbeitest, sondern mit Strings versuchst Objekte zu basteln.

                    Ich kann davon nur abraten. Trotzdem Du den Code nicht jetzt verstehst - kannst es ja mal versuchen 😉 - ist das 10 mal praktischer als Objekte mit Strings zu erstellen:

                    65a0b265-64b3-494c-a3c4-5a7442cbc5de-image.png

                    Da dreht sich mir nur der Magen um - und Blockly kann das einfach nicht. Dann musst halt mit Javascript programmieren - brauchst aber 10 mal soviel Code wie mit JSONATA und NodeRed.

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

                      Aber nochmal - darf ich nun wieder löschen??? 😀 😀 😀

                      1 Reply Last reply Reply Quote 0
                      • D
                        dos1973 @mickym last edited by dos1973

                        @mickym

                        das ist mir ja voher nicht bekannt - und ich starte und kämpf nicht durch. Ich bin eben kein Enwickler.

                        Dir ein Riesen Dankeschön, für deine Mühe.

                        Ja, hau weg die Daten ...

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

                          @dos1973 Noch ein Tipp - Du kannst auch den Graph nur einmal am Tag erstellen und nur den vorhanden Graph wenn Du ihn in einem anderen Datenpunkt speicherst dann immer mit den aktuellen Daten ergänzen. Musst du aber wissen. Dann musst Du jedenfalls nicht alle 10 Minuten alle alten Datenpunkte auslesen, sondern nur noch einmal am Tag und dann lässt Du den current Datenpunkt triggern. Das finde ich 10 mal besser, als immer diese zyklischen Abfragen.

                          Ich bin auch kein Entwickler - Du siehst ja ich brauche ja auch immer meiner Zeit.

                          Danke für die Rückmeldung - ich werde nun alles wieder löschen. 😉

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            dos1973 @mickym last edited by

                            @mickym
                            Du hast Recht, hört sich sinnvoll an. Ich löse das mit RAM 😂

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

                              @dos1973 Na das hat weniger mit RAM zu tun - sondern Du beschäftigst Deinen Rechner halt unnötig wobei das auch nicht so tragisch ist. Du liest halt alle 10 Minuten - sprich 120 mal am Tag die gleichen 10 Datenpunkte ein, die sich nicht verändern.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                dos1973 @mickym last edited by

                                @Dirk-4

                                anbei gewünscht das script, wie im Thread erkennbar - nicht voll funktionsfähig

                                strom_json.txt

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                724
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                2
                                80
                                3174
                                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