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.
    • mickym
      mickym Most Active last edited by mickym

      Stimmt die Datenstruktur so?

      a4094d37-b0a4-45d7-9c72-ba4c6c354d90-image.png

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

        @mickym
        yes, genauso.

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

          @dos1973 So der Flow ist simple

          dbac352f-74d3-4faf-bc49-d34c18828e17-image.png

          Du musst nur das übergeordnete Verzeichnis in Deine List Node eintragen:

          ae56d5bc-48f0-40d2-8db9-a43d53484a75-image.png

          Also wie auf dem Bild unten siehst Du ja dass ich bei den Objekten ein Verzeichnis dos-1973 erstellt habe.

          Hier der Flow:

          [
             {
                 "id": "7f416d63e5ece5a5",
                 "type": "ioBroker list",
                 "z": "5a7d3179c5870381",
                 "name": "",
                 "topic": "0_userdata.0.Test.dos-1973.*",
                 "objType": "state",
                 "regex": "",
                 "asArray": "true",
                 "onlyIDs": "false",
                 "withValues": "true",
                 "x": 360,
                 "y": 940,
                 "wires": [
                     [
                         "bd4ad0d8a225e159"
                     ]
                 ]
             },
             {
                 "id": "f297aa12a709d590",
                 "type": "inject",
                 "z": "5a7d3179c5870381",
                 "name": "Trigger",
                 "props": [
                     {
                         "p": "payload"
                     },
                     {
                         "p": "topic",
                         "vt": "str"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "",
                 "payloadType": "date",
                 "x": 150,
                 "y": 940,
                 "wires": [
                     [
                         "7f416d63e5ece5a5"
                     ]
                 ]
             },
             {
                 "id": "bd4ad0d8a225e159",
                 "type": "change",
                 "z": "5a7d3179c5870381",
                 "name": "Analyse",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.{\"axisLabels\":$contains(_id,\"Datum\") ? val,\"data\": $contains(_id,\"Verbrauch\") ? val}",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 580,
                 "y": 940,
                 "wires": [
                     [
                         "86fca619786d1e49"
                     ]
                 ]
             },
             {
                 "id": "86fca619786d1e49",
                 "type": "change",
                 "z": "5a7d3179c5870381",
                 "name": "Erstelle Graph",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "{\t   \"axisLabels\":payload.axisLabels,\t   \"graphs\":[\t       {\t           \"type\":\"line\",\t           \"data\":payload.data,\t           \"yAxis_id\":0,\t           \"yAxis_zeroLineWidth\":0.1,\t           \"yAxis_zeroLineColor\":\"black\",\t           \"barIsStacked\":true,\t           \"line_pointSize\":0,\t           \"line_Thickness\":4,\t           \"datalabel_show\":true,\t           \"datalabel_maxDigits\":2,\t           \"datalabel_minDigits\":2,\t           \"datalabel_fontFamily\":\"OpenSans-CondLight\",\t           \"datalabel_fontSize\":16,\t           \"datalabel_borderRadius\":6,\t           \"datalabel_offset\":-10,\t           \"datalabel_backgroundColor\":\"#3E4765\",\t           \"datalabel_color\":\"#f5f5f5\",\t           \"color\":\"#ff9900\",\t           \"line_UseFillColor\":false,\t           \"yAxis_gridLines_show\":false,\t           \"use_gradient_color\":true,\t           \"gradient_color\":[\t               {\"value\":8.5,\"color\":\"#d43e3a\"},\t               {\"value\":6,\"color\":\"#ff9900\"},\t               {\"value\":3,\"color\":\"#4f6765\"}\t           ],\t           \"yAxis_appendix\":\" kw/h\"\t       },\t       {\t           \"type\":\"bar\",\t           \"barIsStacked\":true,\t           \"data\":payload.data,\t           \"yAxis_id\":0,\t           \"barStackId\":0,\t           \"datalabel_show\":false,\t           \"color\":\"#000000\",\t           \"datalabel_color\":\"#FFFFFF\",\t           \"datalabel_align\":\"start\",\t           \"use_gradient_color\":true,\t           \"yAxis_show\":false,\t           \"yAxis_min\":0,\t           \"yAxis_maxSteps\":4,\t           \"yAxis_gridLines_border_show\":false,\t           \"yAxis_gridLines_ticks_show\":false,\t           \"yAxis_gridLines_show\":false,\t           \"gradient_color\":[\t               {\"value\":9.1,\"color\":\"#ED97A8\"},\t               {\"value\":5.5,\"color\":\"#F3D8A5\"},\t               {\"value\":-5,\"color\":\"#7CA27E\"}\t           ]\t       }\t   ]\t}",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 760,
                 "y": 940,
                 "wires": [
                     [
                         "f1e2f69ae8e15d75"
                     ]
                 ]
             },
             {
                 "id": "f1e2f69ae8e15d75",
                 "type": "debug",
                 "z": "5a7d3179c5870381",
                 "name": "fertig",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 950,
                 "y": 940,
                 "wires": []
             }
          ]
          

          Ich werde diese Blockly-Quälerei NIE verstehen!!!!

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

            @mickym

            moment, ich schau mal...

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

              @dos1973
              Wenn Du den flow triggerst (also die Inject Node drückst) brauchst ja nur den Wert raus zu kopieren, um zu sehen, ob es passt

              4d933dfe-9ce6-4331-bf9a-7da673289b4f-image.png

              Wenn Du das ganze in einem Datenpunkt haben willst - einfach noch eine JSON Node und eine iobroker-Out Node dahinter machen. Falls Du es über einen Datenpunkt triggern willst - zum Beispiel über VIS dann halt noch eine iobroker-IN Node mit dem Datenpunkt triggern.

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

                @mickym

                scheint zu passen. wenn ich das manuell in den DP kopiere siehts gut aus.

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

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

                  @mickym

                  scheint zu passen. wenn ich das manuell in den DP kopiere siehts gut aus.

                  Na dann ist ja alles gut - dann kann ich meine Datenpunkte zum Testen und den Flow wieder löschen? Oder brauchst Du noch Hilfe zum externen triggern und um das Objekt in einem Datenpunkt zu schreiben?

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

                    @mickym
                    warte noch mit löschen 🙂

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

                      @dos1973 Wenn Du was am Graphen ändern willst, dann kannst Du das direkt einfach in der 2. Change Node machen:

                      3038fe7a-bca6-4fdd-9c6e-1f842b29f861-image.png

                      also Farben oder was Du sonst noch so einstellen willst.

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

                        @mickym
                        puhh... ich schaffs nicht den kram in den DP zu schreiben. irgendwas mache ich, aber es zerschiesst mir dann den chart

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

                          @dos1973 keine Ahnung was Du machst - wenn es mit direktem kopieren geklappt hat:

                          f167cc98-39a3-455e-978c-dbbf2e9732ec-image.png

                          einfach nur eine JSON und eine iobroker-Out Node dranhängen:

                          [
                             {
                                 "id": "2de45b53a28dc5d2",
                                 "type": "json",
                                 "z": "5a7d3179c5870381",
                                 "name": "",
                                 "property": "payload",
                                 "action": "",
                                 "pretty": false,
                                 "x": 950,
                                 "y": 600,
                                 "wires": [
                                     [
                                         "da9c29a8ea6ad983"
                                     ]
                                 ]
                             },
                             {
                                 "id": "da9c29a8ea6ad983",
                                 "type": "ioBroker out",
                                 "z": "5a7d3179c5870381",
                                 "name": "",
                                 "topic": "0_userdata.0.Test.dos-1973.Graph",
                                 "ack": "true",
                                 "autoCreate": "false",
                                 "stateName": "",
                                 "role": "",
                                 "payloadType": "",
                                 "readonly": "",
                                 "stateUnit": "",
                                 "stateMin": "",
                                 "stateMax": "",
                                 "x": 1200,
                                 "y": 600,
                                 "wires": []
                             }
                          ]
                          

                          Dann hast Du doch ein JSON Objekt in Deinem iobroker Datenpunkt?

                          6ca99b7d-4452-4aaa-9c06-67cb9400100c-image.png

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

                            @mickym
                            deins geht auch nicht

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

                              @dos1973 Was geht denn nicht? Siehst Du keinen JSON? Ist an dem was verkehrt ? Ich hab den JSON genommen, den Du am Anfang gepostet hast und Du hast doch gerade gesagt, wenn Du den Wert manuell kopierst geht das.

                              Hast Du den Datenpunkt auch auf String oder JSON eingestellt?

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

                                @mickym
                                ja, das stimmt. wenn ich es aus dem dem debug kopiere gehts.
                                wenn ich es über node red triggere gehts nicht.

                                Bildschirmfoto 2023-11-09 um 19.47.08.png

                                das steht dann im DP - da fehlen die daten und datum

                                {"graphs":[{"type":"line","yAxis_id":0,"yAxis_zeroLineWidth":0.1,"yAxis_zeroLineColor":"black","barIsStacked":true,"line_pointSize":0,"line_Thickness":4,"datalabel_show":true,"datalabel_maxDigits":2,"datalabel_minDigits":2,"datalabel_fontFamily":"OpenSans-CondLight","datalabel_fontSize":16,"datalabel_borderRadius":6,"datalabel_offset":-10,"datalabel_backgroundColor":"#3E4765","datalabel_color":"#f5f5f5","color":"#ff9900","line_UseFillColor":false,"yAxis_gridLines_show":false,"use_gradient_color":true,"gradient_color":[{"value":8.5,"color":"#d43e3a"},{"value":6,"color":"#ff9900"},{"value":3,"color":"#4f6765"}],"yAxis_appendix":" kw/h"},{"type":"bar","barIsStacked":true,"yAxis_id":0,"barStackId":0,"datalabel_show":false,"color":"#000000","datalabel_color":"#FFFFFF","datalabel_align":"start","use_gradient_color":true,"yAxis_show":false,"yAxis_min":0,"yAxis_maxSteps":4,"yAxis_gridLines_border_show":false,"yAxis_gridLines_ticks_show":false,"yAxis_gridLines_show":false,"gradient_color":[{"value":9.1,"color":"#ED97A8"},{"value":5.5,"color":"#F3D8A5"},{"value":-5,"color":"#7CA27E"}]}]}
                                
                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @dos1973 last edited by mickym

                                  @dos1973 na das ist doch klar - wenn das aus dem Debug kommt - dann ist es ja auch ein JSON - ein Objekt in dem Datenpunkt ist es aber nur ein String - den musst Du wieder zum Objekt wandeln.

                                  Bei mir fehlt das nicht:

                                  e31da551-2d68-48f0-910e-08aefa5b90a6-image.png

                                  Wenn ich den Wert aus den iobroker-Objekten kopiere - ist alles da:

                                  {"axisLabels":["30.10.","31.10.","01.11.","02.11.","03.11.","04.11.","05.11.","06.11.","07.11.","08.11."],"graphs":[{"type":"line","data":[9.489,7.709,5.883,7.404,5.454,6.69,9.776,7.608,6.662,7.655],"yAxis_id":0,"yAxis_zeroLineWidth":0.1,"yAxis_zeroLineColor":"black","barIsStacked":true,"line_pointSize":0,"line_Thickness":4,"datalabel_show":true,"datalabel_maxDigits":2,"datalabel_minDigits":2,"datalabel_fontFamily":"OpenSans-CondLight","datalabel_fontSize":16,"datalabel_borderRadius":6,"datalabel_offset":-10,"datalabel_backgroundColor":"#3E4765","datalabel_color":"#f5f5f5","color":"#ff9900","line_UseFillColor":false,"yAxis_gridLines_show":false,"use_gradient_color":true,"gradient_color":[{"value":8.5,"color":"#d43e3a"},{"value":6,"color":"#ff9900"},{"value":3,"color":"#4f6765"}],"yAxis_appendix":" kw/h"},{"type":"bar","barIsStacked":true,"data":[9.489,7.709,5.883,7.404,5.454,6.69,9.776,7.608,6.662,7.655],"yAxis_id":0,"barStackId":0,"datalabel_show":false,"color":"#000000","datalabel_color":"#FFFFFF","datalabel_align":"start","use_gradient_color":true,"yAxis_show":false,"yAxis_min":0,"yAxis_maxSteps":4,"yAxis_gridLines_border_show":false,"yAxis_gridLines_ticks_show":false,"yAxis_gridLines_show":false,"gradient_color":[{"value":9.1,"color":"#ED97A8"},{"value":5.5,"color":"#F3D8A5"},{"value":-5,"color":"#7CA27E"}]}]}
                                  
                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    dos1973 @mickym last edited by

                                    @mickym
                                    wo holst/ liest du denn die DP ein?

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

                                      @dos1973 Mit der list Node - lese ich alles ein, was darunter ist und am einlesen liegt es doch nicht, sonst würdest Du im Debug Fenster doch nicht das gesamte Objekt mit den Daten sehen. Wenn Du hier alles siehst - dann ist doch alles eingelesen:

                                      3460623f-0483-47e3-8f67-3660258ab878-image.png

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

                                        @mickym
                                        aber du sagst doch irgendwoe - lese datum-1, datum-2.... wo passiert das.

                                        hier braucht es meinen ordner wo die ganzen DP drunter liegen, korrekt?
                                        Bildschirmfoto 2023-11-09 um 20.01.29.png

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

                                          @dos1973 Nein das mache ich nicht - Wenn das alles unter einem Ast ist - werden sämtliche Datenpunkte gelesen mit der List. Node. Über das Sternchen werden ALLE Datenpunkte gelesen.

                                          Wenn Du eine Debug Node hinter der List NODE machst siehst Du ALLE Datenpunkte!!!

                                          Wie gesagt Du würdest im Debug Fenster nicht sehen!

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

                                            @dos1973 Ja den gesamten übergeordneten Pfad.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

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