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

      ich nutze nur node red nur die funktionen die du mir gezeigt hast...
      mit nodered würde ich nicht bis hierher kommen 😉 ich finds toll - aber ich kann damit nicht denken. wenn du etwas baust kann ich das nachbauen aber start geht nicht...
      bei Dir easy und klar, bei mir ???

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

        @dos1973 Na dann fangen wir halt mal an. 😉

        Wie gesagt Blockly kann nicht mit Objekten umgehen - mit Nodered ist das easy.

        Wenn ich dein obiges Objekt einfach in eine Inject Node kopiere hast Du doch schon das Objekt

        3ad39c94-6188-4f93-9913-d5269f8d0040-image.png

        Im x-axis Label kommen die Label Deiner X-Achse rein.

        Im Graphs Objekt hast Du mehrer - ich weiß allerdings nicht warum. Zum einen die Daten und zum anderen die Farbformatierung. Ahh ich verstehe das 1. Objekt ist die Linie und im 2. Objekt sind die Balken. OK - Du brauchst also nur ein neues Datum und einen neun Wert einfügen und einen alten Löschen???

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

          @mickym

          ich muss mir die Daten für mein datum und den Verbrauch aber aus meine bestehenden DP rausholen

          Bildschirmfoto 2023-11-09 um 17.41.57.png

          Bildschirmfoto 2023-11-09 um 17.42.06.png

          DP liegen hier

          0_userdata.0.Wohnung.Status.Strom.3_EM.Diagramm.-_1_Tage
          

          und das mach ich 9x um die letzten 10 Tag inkl. Heute als Balken darzustellen
          Bildschirmfoto 2023-11-09 um 17.44.36.png

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

            @dos1973 Und wie schauen die Datenpunkte aus?

            Also steht im Datum zum Beispiel Datum-1 : 9.11. ?

            und im Verbrauch - 1: 9.777

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

              @mickym

              ja, das baue ich mir mit einem anderen scriot zusammen...

              Bildschirmfoto 2023-11-09 um 17.50.00.png

              das ist gestern( -1 tag) verbrauch das entsprechende datum und Verbrauch, und so gehts immer weiter, kann 3o Tage zurück 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            725
                                            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