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. ioBroker Allgemein
  4. iobroker stellt keine Systemvariablen dar

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    333

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

iobroker stellt keine Systemvariablen dar

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
hm-rega variablen
51 Beiträge 6 Kommentatoren 4.2k Aufrufe 4 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.
  • T Thomas06308

    @foxriver76 Im Script Executor kommt Invalid JSON, wie von Dir vermutet.
    Direkt auf der CCU kommt die Ausgabe lt. Anlage. Beides allerdings schon wieder mit der Produktivkonfiguration. Von der resetteten CCU kann ich es aber auch liefern wenn benötigt.Scriptausgabe1.txt

    foxriver76F Offline
    foxriver76F Offline
    foxriver76
    Developer
    schrieb am zuletzt editiert von
    #15

    @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:
    Scriptausgabe1.txt

    Also das ist die Ausgabe wenn das Skript auf der CCU ausgeführt wird? Das passt und ist valide. Genau dieses Skript führt der Rega Adapter auf der CCU aus - merkwürdig die Ergebnisse dürften sich nicht unterscheiden. Und rega Adapter ist auf 2.5.2?

    Videotutorials & mehr

    Hier könnt ihr mich unterstützen.

    T 1 Antwort Letzte Antwort
    0
    • foxriver76F foxriver76

      @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:
      Scriptausgabe1.txt

      Also das ist die Ausgabe wenn das Skript auf der CCU ausgeführt wird? Das passt und ist valide. Genau dieses Skript führt der Rega Adapter auf der CCU aus - merkwürdig die Ergebnisse dürften sich nicht unterscheiden. Und rega Adapter ist auf 2.5.2?

      T Offline
      T Offline
      Thomas06308
      schrieb am zuletzt editiert von
      #16

      @foxriver76 Genau, der Rega-Adapter ist auf 2.5.2 und die Script-Ausgabe stammt aus "Skript ausführen" direkt auf der CCU.

      1 Antwort Letzte Antwort
      0
      • T Thomas06308

        @foxriver76 Im Script Executor kommt Invalid JSON, wie von Dir vermutet.
        Direkt auf der CCU kommt die Ausgabe lt. Anlage. Beides allerdings schon wieder mit der Produktivkonfiguration. Von der resetteten CCU kann ich es aber auch liefern wenn benötigt.Scriptausgabe1.txt

        foxriver76F Offline
        foxriver76F Offline
        foxriver76
        Developer
        schrieb am zuletzt editiert von
        #17

        @Thomas06308 Sau merkwürdig..

        Wir können mal noch folgendes probieren - importiere das angehängte Javascript Skript in ioBroker mit und poste davon mal die Ausgabe.

        debug.json

        Videotutorials & mehr

        Hier könnt ihr mich unterstützen.

        T 1 Antwort Letzte Antwort
        0
        • foxriver76F foxriver76

          @Thomas06308 Sau merkwürdig..

          Wir können mal noch folgendes probieren - importiere das angehängte Javascript Skript in ioBroker mit und poste davon mal die Ausgabe.

          debug.json

          T Offline
          T Offline
          Thomas06308
          schrieb am zuletzt editiert von
          #18

          @foxriver76 ja, sau merkwürdig. Ich hoffe, ich habe es richtig gemacht: unter Scripte importiert.
          Scriptausgabe2.txt

          foxriver76F 1 Antwort Letzte Antwort
          0
          • T Thomas06308

            @foxriver76 ja, sau merkwürdig. Ich hoffe, ich habe es richtig gemacht: unter Scripte importiert.
            Scriptausgabe2.txt

            foxriver76F Offline
            foxriver76F Offline
            foxriver76
            Developer
            schrieb am zuletzt editiert von foxriver76
            #19

            @Thomas06308 Jop, passt so und da ist auch alles da. Puh also sau komisch.. wir können mal noch die Datei anschauen die bei dir lokal liegt. Und mach einmal sicherheitshalber iob u hm-rega auf der Konsole und starte mal neu.

            Falls das nicht hilft, (du sagst ja es läuft auf keinem deiner Systeme) cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn im Terminal ausführen.

            Videotutorials & mehr

            Hier könnt ihr mich unterstützen.

            T 1 Antwort Letzte Antwort
            0
            • foxriver76F foxriver76

              @Thomas06308 Jop, passt so und da ist auch alles da. Puh also sau komisch.. wir können mal noch die Datei anschauen die bei dir lokal liegt. Und mach einmal sicherheitshalber iob u hm-rega auf der Konsole und starte mal neu.

              Falls das nicht hilft, (du sagst ja es läuft auf keinem deiner Systeme) cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn im Terminal ausführen.

              T Offline
              T Offline
              Thomas06308
              schrieb am zuletzt editiert von
              #20

              @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

              cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

              Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.
              Zwischenzeitlich habe ich mal meine alte CCU1 rausgekramt - dort werden die Variablen angezeigt!!
              Vielen Dank für Deine engagierte Unterstützung!!!

              foxriver76F 1 Antwort Letzte Antwort
              0
              • T Thomas06308

                @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

                cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

                Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.
                Zwischenzeitlich habe ich mal meine alte CCU1 rausgekramt - dort werden die Variablen angezeigt!!
                Vielen Dank für Deine engagierte Unterstützung!!!

                foxriver76F Offline
                foxriver76F Offline
                foxriver76
                Developer
                schrieb am zuletzt editiert von
                #21

                @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:

                @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

                cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

                Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.

                Ne, das passt. Wollte wissen ob es 1 zu 1 übereinstimmt. Kannst es ja mal hier rein kopieren. Allerdings scheint das Verhalten ja eher durch die CCU2 verursacht zu werden. Ist die Firmware da die aktuellste?

                Videotutorials & mehr

                Hier könnt ihr mich unterstützen.

                T 3 Antworten Letzte Antwort
                0
                • foxriver76F foxriver76

                  @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:

                  @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

                  cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

                  Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.

                  Ne, das passt. Wollte wissen ob es 1 zu 1 übereinstimmt. Kannst es ja mal hier rein kopieren. Allerdings scheint das Verhalten ja eher durch die CCU2 verursacht zu werden. Ist die Firmware da die aktuellste?

                  T Offline
                  T Offline
                  Thomas06308
                  schrieb am zuletzt editiert von
                  #22

                  @foxriver76 Anbei die Ausgabe der Kommandozeile.
                  Auf meiner CCU2 ist nicht die aktuellste Firmware, aber die vorletzte Version, die bei mir sehr stabil läuft. Aufgefallen ist mir das Problem nur, weil ich meine iobroker-Installation auf einem anderen System neu aufgesetzt und nur die Visualisierungen importiert habe. Möglicherweise besteht es tatsächlich schon länger und ist nur nicht aufgefallen, weil ich keine neuen Variablen angelegt habe. Eigenartigerweise funktioniert auch die Visualisierung von Datenpunkten, die auf Variablen basieren, nur werden sie im iobroker eben nicht angezeigt und können damit auch nicht in sql übernommen werden.
                  Sehr mysteriös !
                  Ich werde mal auf die aktuellste CCU-Firmware aktualisieren und melde mich in den nächsten Tagen nochmal.
                  Vielen Dank für´s erste !!! :-)

                  1 Antwort Letzte Antwort
                  0
                  • foxriver76F foxriver76

                    @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:

                    @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

                    cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

                    Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.

                    Ne, das passt. Wollte wissen ob es 1 zu 1 übereinstimmt. Kannst es ja mal hier rein kopieren. Allerdings scheint das Verhalten ja eher durch die CCU2 verursacht zu werden. Ist die Firmware da die aktuellste?

                    T Offline
                    T Offline
                    Thomas06308
                    schrieb am zuletzt editiert von
                    #23

                    @foxriver76 Scriptausgabe3.txt

                    1 Antwort Letzte Antwort
                    0
                    • foxriver76F foxriver76

                      @Thomas06308 sagte in iobroker stellt keine Systemvariablen dar:

                      @foxriver76 sagte in iobroker stellt keine Systemvariablen dar:

                      cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn

                      Irgendwas mache ich falsch: bei cat /opt/iobroker/node_modules/iobroker.hm-rega/regascripts/variablesInv.fn wird mir Dein Script angezeigt.

                      Ne, das passt. Wollte wissen ob es 1 zu 1 übereinstimmt. Kannst es ja mal hier rein kopieren. Allerdings scheint das Verhalten ja eher durch die CCU2 verursacht zu werden. Ist die Firmware da die aktuellste?

                      T Offline
                      T Offline
                      Thomas06308
                      schrieb am zuletzt editiert von
                      #24

                      @foxriver76 : So, habe nun doch gleich die CCU auf die aktuellste Firmware 2.49.18 aktualisiert, RPC und hm-rega neu einlesen lassen, erfolglos :-( Keine Variablen da.
                      Dein Script wirft als Ergebnis weiterhin Invalid JSON aus.
                      Hmmm, sehr eigenartig.

                      1 Antwort Letzte Antwort
                      0
                      • BlackmikeB Offline
                        BlackmikeB Offline
                        Blackmike
                        schrieb am zuletzt editiert von
                        #25

                        hab ihr mal .State() anstatt von .Value () probiert ?in dem Script ?

                        die Wahrheit ist ein Chor aus Wind

                        foxriver76F 1 Antwort Letzte Antwort
                        0
                        • BlackmikeB Blackmike

                          hab ihr mal .State() anstatt von .Value () probiert ?in dem Script ?

                          foxriver76F Offline
                          foxriver76F Offline
                          foxriver76
                          Developer
                          schrieb am zuletzt editiert von
                          #26

                          @Blackmike kann man mal probieren, sollte in diesem Szenario kein Unterschied machen.

                          Videotutorials & mehr

                          Hier könnt ihr mich unterstützen.

                          T 2 Antworten Letzte Antwort
                          0
                          • foxriver76F foxriver76

                            @Blackmike kann man mal probieren, sollte in diesem Szenario kein Unterschied machen.

                            T Offline
                            T Offline
                            Thomas06308
                            schrieb am zuletzt editiert von
                            #27

                            @foxriver76 Probiere ich heute Abend mal aus, bin gerade unterwegs.

                            1 Antwort Letzte Antwort
                            0
                            • foxriver76F foxriver76

                              @Blackmike kann man mal probieren, sollte in diesem Szenario kein Unterschied machen.

                              T Offline
                              T Offline
                              Thomas06308
                              schrieb am zuletzt editiert von
                              #28

                              @foxriver76 Hallo Ihr beiden,

                              ich habe wieder getestet. Das Script Value() statt .State() brachte keine Änderung - immer noch Invalid JSON und keine Variablenanzeige im iobroker, obwohl vorhandene Variablenwerte weiterhin aktualisiert werden.
                              Hab dann die CCU-Logigschicht von Modus Standard auf Kompatibilitätsmodus ungestellt und erneut getestet - absolut keine Änderung :-(
                              Im HM Script Executor kommt INVALID JSON, direkt auf der CCU Script ausführen bringt Scriptausgabe4.txt
                              Was immer Euch hilft das Problem herauszufinden, ich teste es!

                              foxriver76F 1 Antwort Letzte Antwort
                              0
                              • T Thomas06308

                                @foxriver76 Hallo Ihr beiden,

                                ich habe wieder getestet. Das Script Value() statt .State() brachte keine Änderung - immer noch Invalid JSON und keine Variablenanzeige im iobroker, obwohl vorhandene Variablenwerte weiterhin aktualisiert werden.
                                Hab dann die CCU-Logigschicht von Modus Standard auf Kompatibilitätsmodus ungestellt und erneut getestet - absolut keine Änderung :-(
                                Im HM Script Executor kommt INVALID JSON, direkt auf der CCU Script ausführen bringt Scriptausgabe4.txt
                                Was immer Euch hilft das Problem herauszufinden, ich teste es!

                                foxriver76F Offline
                                foxriver76F Offline
                                foxriver76
                                Developer
                                schrieb am zuletzt editiert von foxriver76
                                #29

                                @Thomas06308 Ja, anscheinend wirft nur das initiale Skript den Fehler, das polling Skript scheint dann zu funktionieren, weshalb die States korrekt aktualisiert werden, nur das Objekt dazu fehlt, da er aus dem ersten Skript die Objekte in iob anlegen würde.

                                Tritt dieser Fehler: Cannot parse answer for functions ... eigentlich auch noch auf?

                                Videotutorials & mehr

                                Hier könnt ihr mich unterstützen.

                                T 1 Antwort Letzte Antwort
                                0
                                • foxriver76F foxriver76

                                  @Thomas06308 Ja, anscheinend wirft nur das initiale Skript den Fehler, das polling Skript scheint dann zu funktionieren, weshalb die States korrekt aktualisiert werden, nur das Objekt dazu fehlt, da er aus dem ersten Skript die Objekte in iob anlegen würde.

                                  Tritt dieser Fehler: Cannot parse answer for functions ... eigentlich auch noch auf?

                                  T Offline
                                  T Offline
                                  Thomas06308
                                  schrieb am zuletzt editiert von
                                  #30

                                  @foxriver76 Ja, nach Neustart des rega-adapters tritt es auf
                                  hm-rega.0-log.txt

                                  foxriver76F 1 Antwort Letzte Antwort
                                  0
                                  • T Thomas06308

                                    @foxriver76 Ja, nach Neustart des rega-adapters tritt es auf
                                    hm-rega.0-log.txt

                                    foxriver76F Offline
                                    foxriver76F Offline
                                    foxriver76
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #31

                                    @Thomas06308 Hm dann stimmt allerdings noch was net.. Kannst du das mal noch via Skript testen ausführen - villt gibt das ja noch irgendeinen Hinweis:

                                    !# functions.fn 1.3
                                    !#
                                    !# Dieses Script gibt eine Liste der Gewerke als JSON String aus
                                    !#
                                    !# 6'2013-7'2014 bluefox, hobbyquaker
                                    !#
                                    
                                    object  oFunction;
                                    string  sFunctionId;
                                    string  sChannelId;
                                    boolean bFirst       = true;
                                    boolean bFirstSecond = true;
                                    
                                    Write("{");
                                    foreach (sFunctionId, dom.GetObject(ID_FUNCTIONS).EnumUsedIDs()) {
                                        if (bFirst == false) {
                                          WriteLine(',');
                                        } else {
                                          bFirst = false;
                                        }
                                        oFunction = dom.GetObject(sFunctionId);
                                    	Write('"' # sFunctionId # '": ');
                                        Write('{"Name": "');
                                        WriteURL(oFunction.Name());
                                        Write('","TypeName":"' # oFunction.TypeName() # '_FUNCTIONS');
                                        Write('", "EnumInfo": "');
                                        WriteURL(oFunction.EnumInfo());
                                        Write('", "Channels": [');
                                    	bFirstSecond = true;
                                        foreach(sChannelId, oFunction.EnumUsedIDs()) {
                                    		if (bFirstSecond == false) {
                                    		  Write(',');
                                    		} else {
                                    		  bFirstSecond = false;
                                    		}
                                            string sIfaceId = dom.GetObject(sChannelId).Interface();
                                            string sIface = dom.GetObject(sIfaceId).Name();
                                            Write('{"Address":"' # dom.GetObject(sChannelId).Address() # '",');
                                            Write('"Interface":"' # sIface # '"}');
                                        }
                                        Write(']}');
                                    }
                                    Write('}');
                                    

                                    Videotutorials & mehr

                                    Hier könnt ihr mich unterstützen.

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • foxriver76F foxriver76

                                      @Thomas06308 Hm dann stimmt allerdings noch was net.. Kannst du das mal noch via Skript testen ausführen - villt gibt das ja noch irgendeinen Hinweis:

                                      !# functions.fn 1.3
                                      !#
                                      !# Dieses Script gibt eine Liste der Gewerke als JSON String aus
                                      !#
                                      !# 6'2013-7'2014 bluefox, hobbyquaker
                                      !#
                                      
                                      object  oFunction;
                                      string  sFunctionId;
                                      string  sChannelId;
                                      boolean bFirst       = true;
                                      boolean bFirstSecond = true;
                                      
                                      Write("{");
                                      foreach (sFunctionId, dom.GetObject(ID_FUNCTIONS).EnumUsedIDs()) {
                                          if (bFirst == false) {
                                            WriteLine(',');
                                          } else {
                                            bFirst = false;
                                          }
                                          oFunction = dom.GetObject(sFunctionId);
                                      	Write('"' # sFunctionId # '": ');
                                          Write('{"Name": "');
                                          WriteURL(oFunction.Name());
                                          Write('","TypeName":"' # oFunction.TypeName() # '_FUNCTIONS');
                                          Write('", "EnumInfo": "');
                                          WriteURL(oFunction.EnumInfo());
                                          Write('", "Channels": [');
                                      	bFirstSecond = true;
                                          foreach(sChannelId, oFunction.EnumUsedIDs()) {
                                      		if (bFirstSecond == false) {
                                      		  Write(',');
                                      		} else {
                                      		  bFirstSecond = false;
                                      		}
                                              string sIfaceId = dom.GetObject(sChannelId).Interface();
                                              string sIface = dom.GetObject(sIfaceId).Name();
                                              Write('{"Address":"' # dom.GetObject(sChannelId).Address() # '",');
                                              Write('"Interface":"' # sIface # '"}');
                                          }
                                          Write(']}');
                                      }
                                      Write('}');
                                      
                                      T Offline
                                      T Offline
                                      Thomas06308
                                      schrieb am zuletzt editiert von
                                      #32

                                      @foxriver76 Diesmal gab es keine Fehlermeldung :-)
                                      Sowohl im HM-Executor als auch auf der CCU unter Script testen" gab es diese Ausgabe.
                                      Scriptausgabe5.txt

                                      foxriver76F 1 Antwort Letzte Antwort
                                      0
                                      • T Thomas06308

                                        @foxriver76 Diesmal gab es keine Fehlermeldung :-)
                                        Sowohl im HM-Executor als auch auf der CCU unter Script testen" gab es diese Ausgabe.
                                        Scriptausgabe5.txt

                                        foxriver76F Offline
                                        foxriver76F Offline
                                        foxriver76
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #33

                                        @Thomas06308 Nur da endet die Ausgabe abrupt, genau da wo dann auch etwas fehlt wenn die Daten in Rega ankommen. In Enum 1221 (Taster) kommt MEQ0046137:8, danach fehlt irgendetwas und dann kommt HUEFX001:2 das war in dem Rega Log am Anfang so - jetzt in diesem endet die Ausgabe abrupt nach MEQ0046137:8. Auf der einen Seite kann ich mir nicht vorstellen, dass die beiden Fehler zusammenhängen, auf der anderen ist es schon ein merkwürdiger Zufall..

                                        Videotutorials & mehr

                                        Hier könnt ihr mich unterstützen.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • foxriver76F foxriver76

                                          @Thomas06308 Nur da endet die Ausgabe abrupt, genau da wo dann auch etwas fehlt wenn die Daten in Rega ankommen. In Enum 1221 (Taster) kommt MEQ0046137:8, danach fehlt irgendetwas und dann kommt HUEFX001:2 das war in dem Rega Log am Anfang so - jetzt in diesem endet die Ausgabe abrupt nach MEQ0046137:8. Auf der einen Seite kann ich mir nicht vorstellen, dass die beiden Fehler zusammenhängen, auf der anderen ist es schon ein merkwürdiger Zufall..

                                          T Offline
                                          T Offline
                                          Thomas06308
                                          schrieb am zuletzt editiert von
                                          #34

                                          @foxriver76 Hmm, was würde Dir zur weiteren Analyse helfen?
                                          Soll ich das ganze nochmal mit einer auf Werkszustand zurückgesetzten CCU testen, um eine vermurkste Konfiguration auszuschließen?

                                          foxriver76F 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          411

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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