Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. json datei für Chart aus vorhandenen DP's erstellen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    965

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben Blockly
80 Beiträge 2 Kommentatoren 6.5k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @mickym Warte hab den Fehler.

    payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? val, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? val}
    

    Ich hab unten immer xaxisLabels geschrieben.

    D Offline
    D Offline
    dos1973
    schrieb am zuletzt editiert von
    #54

    @mickym
    es wird wärmer ;-)
    es muss aber andersherum... und der 30.10/ 31.10 sind auch nicht in der richtigen reihenfolge.

    lässt sich das nicht hardcoden, dp-10, dp-9...

    Bildschirmfoto 2023-11-09 um 21.18.39.png

    mickymM 1 Antwort Letzte Antwort
    0
    • D dos1973

      @mickym
      es wird wärmer ;-)
      es muss aber andersherum... und der 30.10/ 31.10 sind auch nicht in der richtigen reihenfolge.

      lässt sich das nicht hardcoden, dp-10, dp-9...

      Bildschirmfoto 2023-11-09 um 21.18.39.png

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #55

      @dos1973 Ich bin dran. ;) Wie gesagt das Dumme ist dass Du -1 und -10 gemacht hast und damit wird es nach Zeichenketten sortiert und da kommt nun mal 1 und 10 vor 2.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      D 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @dos1973 Ich bin dran. ;) Wie gesagt das Dumme ist dass Du -1 und -10 gemacht hast und damit wird es nach Zeichenketten sortiert und da kommt nun mal 1 und 10 vor 2.

        D Offline
        D Offline
        dos1973
        schrieb am zuletzt editiert von dos1973
        #56

        @mickym
        Ja, Anfänger Fehler

        Ich hätte -001, 002 Tage machen sollen, richtig?

        mickymM 1 Antwort Letzte Antwort
        0
        • D dos1973

          @mickym
          Ja, Anfänger Fehler

          Ich hätte -001, 002 Tage machen sollen, richtig?

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #57

          @dos1973 Eigentlich
          -00, -01, etc. - aber ich wandle es nun in Zahlen um. Dauert halt bissi.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          D 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @dos1973 Eigentlich
            -00, -01, etc. - aber ich wandle es nun in Zahlen um. Dauert halt bissi.

            D Offline
            D Offline
            dos1973
            schrieb am zuletzt editiert von
            #58

            @mickym

            brauche ich wirklich ein Blockly mit cronjob,
            dass meinen DP triggert, damit das nodeRed zb alle 10min läuft :-)
            suche noch ein 10min Trigger

            mickymM 1 Antwort Letzte Antwort
            0
            • D dos1973

              @mickym

              brauche ich wirklich ein Blockly mit cronjob,
              dass meinen DP triggert, damit das nodeRed zb alle 10min läuft :-)
              suche noch ein 10min Trigger

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #59

              @dos1973 Einfach die Injectnode triggern lassen - da brauchst kein blockly

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              1
              • mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #60

                So damit sollte es nun gehen:

                payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id > $r.id}),"data":$sort(data,function($l,$r){$l.id > $r.id})}|
                ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                D 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  So damit sollte es nun gehen:

                  payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                  "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                  ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id > $r.id}),"data":$sort(data,function($l,$r){$l.id > $r.id})}|
                  ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                  
                  D Offline
                  D Offline
                  dos1973
                  schrieb am zuletzt editiert von dos1973
                  #61

                  @mickym

                  fast :-)

                  Bildschirmfoto 2023-11-09 um 22.10.37.png

                  von links nach rechts aufsteigend.

                  manchmal kann ich ja code "interpretieren" aber hier sehe ich nur Bahnhof.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • D dos1973

                    @mickym

                    fast :-)

                    Bildschirmfoto 2023-11-09 um 22.10.37.png

                    von links nach rechts aufsteigend.

                    manchmal kann ich ja code "interpretieren" aber hier sehe ich nur Bahnhof.

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #62

                    @dos1973 Dann dreh einfach mal das größer Zeichen um - keine Ahnung - warum das so ist.

                    payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                    "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                    ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id < $r.id}),"data":$sort(data,function($l,$r){$l.id < $r.id})}|
                    ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                    

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    D 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @dos1973 Dann dreh einfach mal das größer Zeichen um - keine Ahnung - warum das so ist.

                      payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                      "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                      ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id < $r.id}),"data":$sort(data,function($l,$r){$l.id < $r.id})}|
                      ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                      
                      D Offline
                      D Offline
                      dos1973
                      schrieb am zuletzt editiert von
                      #63

                      @mickym welches?

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • D dos1973

                        @mickym welches?

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #64

                        @dos1973 Ich hab den Code nochmal gepostet

                        
                        payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                        "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                        ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id < $r.id}),"data":$sort(data,function($l,$r){$l.id < $r.id})}|
                        ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                        

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        D 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @dos1973 Ich hab den Code nochmal gepostet

                          
                          payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, 
                          "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data}
                          ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id < $r.id}),"data":$sort(data,function($l,$r){$l.id < $r.id})}|
                          ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
                          
                          D Offline
                          D Offline
                          dos1973
                          schrieb am zuletzt editiert von
                          #65

                          @mickym

                          YES!!!
                          Bildschirmfoto 2023-11-09 um 22.15.00.png

                          nur noch der aktuelle Tag.

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • D dos1973

                            @mickym

                            YES!!!
                            Bildschirmfoto 2023-11-09 um 22.15.00.png

                            nur noch der aktuelle Tag.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #66

                            @dos1973 Ok dann sag nochmal woher Du den holst und wie sieht der vom value her aus.

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

                            Bzw. muss ich eigentlich nicht wissen - Du holst einfach einen Zahlenwert irgendwoher?

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            D 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @dos1973 Ok dann sag nochmal woher Du den holst und wie sieht der vom value her aus.

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

                              Bzw. muss ich eigentlich nicht wissen - Du holst einfach einen Zahlenwert irgendwoher?

                              D Offline
                              D Offline
                              dos1973
                              schrieb am zuletzt editiert von
                              #67

                              @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 Antwort Letzte Antwort
                              0
                              • mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #68

                                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

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                D 1 Antwort Letzte Antwort
                                0
                                • mickymM 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 Offline
                                  D Offline
                                  dos1973
                                  schrieb am zuletzt editiert von
                                  #69

                                  @mickym

                                  soweit stimmt es, nur steht der Wert an falscher stelle

                                  Bildschirmfoto 2023-11-09 um 22.59.33.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #70

                                    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.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    1 Antwort Letzte Antwort
                                    0
                                    • mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #71

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

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

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

                                        D Offline
                                        D Offline
                                        dos1973
                                        schrieb am zuletzt editiert von
                                        #72

                                        @mickym

                                        Perfekt!

                                        Bildschirmfoto 2023-11-09 um 23.08.53.png

                                        D mickymM 2 Antworten Letzte Antwort
                                        0
                                        • D dos1973

                                          @mickym

                                          Perfekt!

                                          Bildschirmfoto 2023-11-09 um 23.08.53.png

                                          D Offline
                                          D Offline
                                          dos1973
                                          schrieb am zuletzt editiert von
                                          #73

                                          @dos1973

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

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          712

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe