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
    958

  • 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 So tausch mal in der Change Node Analyse den Code wie folgt:

    Dann sollten jetzt nur die Tage Datum-1 bis Datum-10 und Verbrauch-1 bis Verbrauch-10 ausgefiltert sein.

    Halt nein 20 und 30 sind jetzt auch drin- warte .... - (schlimm wenn man die Daten selbst nicht hat)

    So müsste es stimmen:

    payload.{"xasisLabels": [_id~>/(Datum-\d$|Datum-10$)/] ? val, "data" : [_id~>/(Verbrauch-\d$|Verbrauch-10$)/] ? val}
    
    D Offline
    D Offline
    dos1973
    schrieb am zuletzt editiert von dos1973
    #49

    @mickym : nicht ganz, es sind 12 Tage, heute fehlt... und die Reihenfolge ist nicht sortiert

    Bildschirmfoto 2023-11-09 um 20.55.33.png

    • edit:es sind auch nicht die letzten 10, da u.a. auch der 10.10 aufgeführt
    mickymM 1 Antwort Letzte Antwort
    0
    • D dos1973

      @mickym : nicht ganz, es sind 12 Tage, heute fehlt... und die Reihenfolge ist nicht sortiert

      Bildschirmfoto 2023-11-09 um 20.55.33.png

      • edit:es sind auch nicht die letzten 10, da u.a. auch der 10.10 aufgeführt
      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #50

      @mickym Wie gesagt mit dem heute - da muss der gesamte Flow noch ergänzt werden.

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

      Schau mal ob bis auf heute alles richtig ist - sortieren kommt gleich. Das Dumme ist das Du den 10. Datenpunkt 10 genannt hast. und nicht von 0-9

      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

        @mickym Wie gesagt mit dem heute - da muss der gesamte Flow noch ergänzt werden.

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

        Schau mal ob bis auf heute alles richtig ist - sortieren kommt gleich. Das Dumme ist das Du den 10. Datenpunkt 10 genannt hast. und nicht von 0-9

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

        @mickym

        ne das passt nicht.
        Bildschirmfoto 2023-11-09 um 21.05.07.png

        mickymM 1 Antwort Letzte Antwort
        0
        • D dos1973

          @mickym

          ne das passt nicht.
          Bildschirmfoto 2023-11-09 um 21.05.07.png

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

          @dos1973 Kannst Du einfach eine DebugNode hinter die list Node machen und mir die payload dann in Code-Tags hier reinkopieren?

          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 So tausch mal in der Change Node Analyse den Code wie folgt:

            Dann sollten jetzt nur die Tage Datum-1 bis Datum-10 und Verbrauch-1 bis Verbrauch-10 ausgefiltert sein.

            Halt nein 20 und 30 sind jetzt auch drin- warte .... - (schlimm wenn man die Daten selbst nicht hat)

            So müsste es stimmen:

            payload.{"xasisLabels": [_id~>/(Datum-\d$|Datum-10$)/] ? val, "data" : [_id~>/(Verbrauch-\d$|Verbrauch-10$)/] ? val}
            
            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #53

            @mickym Warte hab den Fehler.

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

            Ich hab unten immer xaxisLabels geschrieben.

            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

              @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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          701

                                          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