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 @dos1973 last edited by mickym

      @dos1973 Ok dann weiß ich Bescheid . ich bastle mal was und Du musst ggf die Pfade noch anpassen. Musst aber bissi Geduld haben. 😉 - Ich muss ja selbst ein paar datenpunkte erstellen

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

        @mickym
        🙂 nur kein Stress... Danke Dir vielmals

        die dp verändern nur axisLabels, also das Datum und die "data" Werte. Die Data werden 2x im json geschrieben, einmal für Kurve und einmal für die Balken

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

          @dos1973 Ja habe ich inzwischen alles kapiert - ich erstell mal die Datenpunkte und Du bestätigst kurz ob das so passt.

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

            @mickym
            was noch offen war, ist das Heutige Datum... ich habe ja alle Tage rückwirkend, aber für die Heutige Messung fehlt der, da wusst ich nicht wo ich den hernehmen kann.

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            728
                                            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