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.3k

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

  • 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

    @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 Online
      mickymM Online
      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 Online
          mickymM Online
          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 Online
              mickymM Online
              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 Online
                mickymM Online
                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
                    • D dos1973

                      @mickym

                      Perfekt!

                      Bildschirmfoto 2023-11-09 um 23.08.53.png

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #74

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

                      @mickym

                      Perfekt!

                      Bildschirmfoto 2023-11-09 um 23.08.53.png

                      Super

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

                      @dos1973

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

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

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

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

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

                      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 Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #75

                        Aber nochmal - darf ich nun wieder löschen??? :grinning: :grinning: :grinning:

                        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 mickym

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

                          @mickym

                          Perfekt!

                          Bildschirmfoto 2023-11-09 um 23.08.53.png

                          Super

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

                          @dos1973

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

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

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

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

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

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

                          @mickym

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

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

                          Ja, hau weg die Daten ...

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • D dos1973

                            @mickym

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

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

                            Ja, hau weg die Daten ...

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #77

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

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

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

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

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

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

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

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

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • D dos1973

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

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #79

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

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

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

                                  @Dirk-4

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

                                  strom_json.txt

                                  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

                                  316

                                  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