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. Visualisierung
  4. neue Visualisierung "webui" (alternative zu vis & vis-2)

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

neue Visualisierung "webui" (alternative zu vis & vis-2)

Geplant Angeheftet Gesperrt Verschoben Visualisierung
1.1k Beiträge 21 Kommentatoren 351.2k Aufrufe 19 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.
  • B Blockmove

    @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

    @blockmove

    jo, sehe ich auch. ich schaus mir an wo das passiert.
    Kannsts ja im moment in der Quellcode ansicht löschen.

    Löschen hilft nicht. Es kommt wieder. Ich glaub wenn man in die Preview und wieder zurück wechselt.

    jogibear9988J Offline
    jogibear9988J Offline
    jogibear9988
    schrieb am zuletzt editiert von
    #417

    @blockmove

    ja schon klar. löschen und speichern.
    es kommt immer wieder bis ich es gefixt hab

    Check my ioBroker webui - a vis alternative
    see: https://github.com/iobroker-community-adapters/ioBroker.webui

    B 1 Antwort Letzte Antwort
    0
    • jogibear9988J jogibear9988

      @blockmove

      ja schon klar. löschen und speichern.
      es kommt immer wieder bis ich es gefixt hab

      B Offline
      B Offline
      Blockmove
      schrieb am zuletzt editiert von
      #418

      @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

      @blockmove

      es kommt immer wieder bis ich es gefixt hab

      :grinning: :grinning: :grinning:

      The difference beetween Man and Boys:
      The price of their toys 😀

      jogibear9988J 1 Antwort Letzte Antwort
      0
      • B Blockmove

        @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

        @blockmove

        es kommt immer wieder bis ich es gefixt hab

        :grinning: :grinning: :grinning:

        jogibear9988J Offline
        jogibear9988J Offline
        jogibear9988
        schrieb am zuletzt editiert von
        #419

        @blockmove

        ist gefixt, neue version kommt aber erst wenn ich das mit den subfoldern fertig habe. dauert noch bisschen, denk noch 1-2 tage, bin grad bissl bussy

        Check my ioBroker webui - a vis alternative
        see: https://github.com/iobroker-community-adapters/ioBroker.webui

        B 1 Antwort Letzte Antwort
        1
        • jogibear9988J jogibear9988

          @blockmove

          ist gefixt, neue version kommt aber erst wenn ich das mit den subfoldern fertig habe. dauert noch bisschen, denk noch 1-2 tage, bin grad bissl bussy

          B Offline
          B Offline
          Blockmove
          schrieb am zuletzt editiert von
          #420

          @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

          @blockmove

          ist gefixt, neue version kommt aber erst wenn ich das mit den subfoldern fertig habe. dauert noch bisschen, denk noch 1-2 tage, bin grad bissl bussy

          Passt schon. Lass dich nicht Stressen!

          The difference beetween Man and Boys:
          The price of their toys 😀

          1 Antwort Letzte Antwort
          0
          • B Blockmove

            @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

            Mach doch im Binding ein Split...

            __0.split(';').map(x => '<option>' + x + '</option>')
            

            oder so

            __0.split(';').map(x => `<option>${x}</option>`)
            

            Hallo Jochen,
            ich probiere gerade mit dem select. Dabei ist mir Folgendes beim Editor aufgefallen:
            Die Texte der options aus der Binding werden in den Quellcode übernommen.

            <select bind-content:html="0_userdata.0.Test.stateHTML" bind-prop:value='{"signal":"0_userdata.0.Test.stateZahl","twoWay":true,"type":"number"}' style="position:absolute;left:143px;top:91px;transform-origin:40.675px 11px;">MontagDienstag</select>
            
            

            In dem Fall also MontagDienstag

            select 2024-01-08_155716.png

            Das selbe passiert auch, wenn ich dein Beispiel mit dem split verwende. Da stehen dann alle Räume vor dem </select>.
            webui Version 0.23.3

            VG
            Dieter

            Smilie108S Offline
            Smilie108S Offline
            Smilie108
            schrieb am zuletzt editiert von
            #421

            @blockmove @jogibear9988
            wie machst du das dann mit dem value von dem select? oder passt dir der name als value ?
            weil :

            __0.split(';').map(x => '<option>' + x + '</option>')

            Kann man das eigentlich auch 2 dimensonal wenn ich zb 1,test1;2,test2,3,test3 habe
            kann man das auch so eufteilen mit split das am ende
            <option value="1">test1</option>
            <option value="2">test2</option>
            <option value="3">test3</option>
            rauskommt ?
            Kann ich das per formula write back so hinbiegen das er das value in eine andere varibel schreibt ?

            sorry wenn die frage etwas blöd klingt geht aber darum auswahllisten zu erstellen die in das control gehen und unterschiedliche bezeichnungen haben ich aber als rückmeldung gerne eine zahl bekommen würde die ich dann zb für graphana als id weiterverwenden kann ohne das ich das groß umändern wieder muss und zurückentschlüsseln muss.
            Da die Namen der einzellenen graphen natülich unterschiedlich sind wäre das toll wenn ich das im Klartext anschreiben kann und nicht nur so wie bissher
            <option value="1">Kurve 1</option>
            <option value="2">Kurve 2</option>
            <option value="3">Kurve 3</option>
            <option value="4">Kurve 4</option>
            <option value="5">Kurve 5</option>
            so benennen muss
            Hoffe das war verständlich
            ;) gruß Tom

            Smilie108S B 2 Antworten Letzte Antwort
            0
            • Smilie108S Smilie108

              @blockmove @jogibear9988
              wie machst du das dann mit dem value von dem select? oder passt dir der name als value ?
              weil :

              __0.split(';').map(x => '<option>' + x + '</option>')

              Kann man das eigentlich auch 2 dimensonal wenn ich zb 1,test1;2,test2,3,test3 habe
              kann man das auch so eufteilen mit split das am ende
              <option value="1">test1</option>
              <option value="2">test2</option>
              <option value="3">test3</option>
              rauskommt ?
              Kann ich das per formula write back so hinbiegen das er das value in eine andere varibel schreibt ?

              sorry wenn die frage etwas blöd klingt geht aber darum auswahllisten zu erstellen die in das control gehen und unterschiedliche bezeichnungen haben ich aber als rückmeldung gerne eine zahl bekommen würde die ich dann zb für graphana als id weiterverwenden kann ohne das ich das groß umändern wieder muss und zurückentschlüsseln muss.
              Da die Namen der einzellenen graphen natülich unterschiedlich sind wäre das toll wenn ich das im Klartext anschreiben kann und nicht nur so wie bissher
              <option value="1">Kurve 1</option>
              <option value="2">Kurve 2</option>
              <option value="3">Kurve 3</option>
              <option value="4">Kurve 4</option>
              <option value="5">Kurve 5</option>
              so benennen muss
              Hoffe das war verständlich
              ;) gruß Tom

              Smilie108S Offline
              Smilie108S Offline
              Smilie108
              schrieb am zuletzt editiert von
              #422

              @jogibear9988
              Wenn ich ein control erstellt habe das aber noch javascript und ein paar datenpunkte in io braucht wie sollten ich das den Ablegen oder soll ich eine Webseite machen für download für erweiterungen wo das ablegbar ist ? (eventuell mit erklärung der Handhabung)

              1 Antwort Letzte Antwort
              0
              • Smilie108S Smilie108

                @blockmove @jogibear9988
                wie machst du das dann mit dem value von dem select? oder passt dir der name als value ?
                weil :

                __0.split(';').map(x => '<option>' + x + '</option>')

                Kann man das eigentlich auch 2 dimensonal wenn ich zb 1,test1;2,test2,3,test3 habe
                kann man das auch so eufteilen mit split das am ende
                <option value="1">test1</option>
                <option value="2">test2</option>
                <option value="3">test3</option>
                rauskommt ?
                Kann ich das per formula write back so hinbiegen das er das value in eine andere varibel schreibt ?

                sorry wenn die frage etwas blöd klingt geht aber darum auswahllisten zu erstellen die in das control gehen und unterschiedliche bezeichnungen haben ich aber als rückmeldung gerne eine zahl bekommen würde die ich dann zb für graphana als id weiterverwenden kann ohne das ich das groß umändern wieder muss und zurückentschlüsseln muss.
                Da die Namen der einzellenen graphen natülich unterschiedlich sind wäre das toll wenn ich das im Klartext anschreiben kann und nicht nur so wie bissher
                <option value="1">Kurve 1</option>
                <option value="2">Kurve 2</option>
                <option value="3">Kurve 3</option>
                <option value="4">Kurve 4</option>
                <option value="5">Kurve 5</option>
                so benennen muss
                Hoffe das war verständlich
                ;) gruß Tom

                B Offline
                B Offline
                Blockmove
                schrieb am zuletzt editiert von Blockmove
                #423

                @smilie108

                Hallo Tom,
                das Thema <option value="1">test1</option> will ich mir Morgen auch anschauen.
                map kann auch den internen index als 2. Parameter ausgeben. Damit sollte es "irgendwie" funktionieren.

                Also so was in der Art (noch ungetestet):

                __0.split(';').map((x, y) => '<option value='+ y + '>' + x + '</option>'))
                

                Vor vielen Jahren musste ich mich mal mit Perl beschäftigen ... Irgendwie erinnern mich diese Binding-Einzeiler daran. :confused:

                The difference beetween Man and Boys:
                The price of their toys 😀

                B 1 Antwort Letzte Antwort
                0
                • jogibear9988J Offline
                  jogibear9988J Offline
                  jogibear9988
                  schrieb am zuletzt editiert von
                  #424

                  Das erste split nach ; dann steht ja im map in der variable x der text mit komma, nun nimmst im value x.split(",")[0] und später [1] im element…

                  Check my ioBroker webui - a vis alternative
                  see: https://github.com/iobroker-community-adapters/ioBroker.webui

                  1 Antwort Letzte Antwort
                  0
                  • jogibear9988J Offline
                    jogibear9988J Offline
                    jogibear9988
                    schrieb am zuletzt editiert von
                    #425

                    In formula können nicht nur einzeiler stehen, sondern auch komplexere scripte

                    Check my ioBroker webui - a vis alternative
                    see: https://github.com/iobroker-community-adapters/ioBroker.webui

                    1 Antwort Letzte Antwort
                    0
                    • jogibear9988J Offline
                      jogibear9988J Offline
                      jogibear9988
                      schrieb am zuletzt editiert von
                      #426

                      baue gerade die bindings UI auch noch um, dann geht auch folgendes:

                      598a4052-7687-44d1-998a-47dca6d25f71-image.png

                      also, das geht auch jetzt schon, ihr könnt solche binding expressions eingeben, nur den editor im moment nicht vergrößern und auch bekommt ihr kein syntax highlightning.
                      Mit der nächsten version geht das.

                      Check my ioBroker webui - a vis alternative
                      see: https://github.com/iobroker-community-adapters/ioBroker.webui

                      1 Antwort Letzte Antwort
                      1
                      • B Blockmove

                        @smilie108

                        Hallo Tom,
                        das Thema <option value="1">test1</option> will ich mir Morgen auch anschauen.
                        map kann auch den internen index als 2. Parameter ausgeben. Damit sollte es "irgendwie" funktionieren.

                        Also so was in der Art (noch ungetestet):

                        __0.split(';').map((x, y) => '<option value='+ y + '>' + x + '</option>'))
                        

                        Vor vielen Jahren musste ich mich mal mit Perl beschäftigen ... Irgendwie erinnern mich diese Binding-Einzeiler daran. :confused:

                        B Offline
                        B Offline
                        Blockmove
                        schrieb am zuletzt editiert von
                        #427

                        @Smilie108

                        Hallo Tom,
                        ich hab mich jetzt mit dem Binding beschäftigt.
                        So funktioniert es:

                        __0.split(';').map((x,y) => '<option value =' + y + '>' + x + '</option>') 
                        

                        Kurze Erklärung:
                        Im Datenpunkt stehen die einzelnen Räume getrennt durch ein ';'

                        EG_Bad;EG_Kueche;EG_EZ;EG_SZ;EG_AK;EG_Az;EG_Flur;EG_WC;OG_WZ;OG_Az;OG_KiZ;OG_Flur;OG_Abstell;OG_EZ
                        

                        Der split Befehl entfernt die ';'. Das Ergebnis steht in nun in einem Array.
                        map ist eine Art schweizer Messer für Arrays. Die Array-Inhalte werden durch die Funktion

                         '<option value =' + y + '>' + x + '</option>'
                        

                        bearbeitet. x ist der Inhalt des Array-Elements und y ist der aktuelle Indexzähler des Array-Elements.
                        Somit kannst du y für option value verwenden.
                        Wenn dein Datenpunkt bereits als Array vorliegt, kannst den split weglassen. Liegt er als JSON vor, dann kannst du mit JSON.parse arbeiten.

                        Über den value des select kannst über ne twowaybinding einen numerischen Datenpunkt anbinden.

                        select value 2024-01-09.png

                        VG
                        Dieter

                        The difference beetween Man and Boys:
                        The price of their toys 😀

                        jogibear9988J 1 Antwort Letzte Antwort
                        1
                        • B Blockmove

                          @Smilie108

                          Hallo Tom,
                          ich hab mich jetzt mit dem Binding beschäftigt.
                          So funktioniert es:

                          __0.split(';').map((x,y) => '<option value =' + y + '>' + x + '</option>') 
                          

                          Kurze Erklärung:
                          Im Datenpunkt stehen die einzelnen Räume getrennt durch ein ';'

                          EG_Bad;EG_Kueche;EG_EZ;EG_SZ;EG_AK;EG_Az;EG_Flur;EG_WC;OG_WZ;OG_Az;OG_KiZ;OG_Flur;OG_Abstell;OG_EZ
                          

                          Der split Befehl entfernt die ';'. Das Ergebnis steht in nun in einem Array.
                          map ist eine Art schweizer Messer für Arrays. Die Array-Inhalte werden durch die Funktion

                           '<option value =' + y + '>' + x + '</option>'
                          

                          bearbeitet. x ist der Inhalt des Array-Elements und y ist der aktuelle Indexzähler des Array-Elements.
                          Somit kannst du y für option value verwenden.
                          Wenn dein Datenpunkt bereits als Array vorliegt, kannst den split weglassen. Liegt er als JSON vor, dann kannst du mit JSON.parse arbeiten.

                          Über den value des select kannst über ne twowaybinding einen numerischen Datenpunkt anbinden.

                          select value 2024-01-09.png

                          VG
                          Dieter

                          jogibear9988J Offline
                          jogibear9988J Offline
                          jogibear9988
                          schrieb am zuletzt editiert von jogibear9988
                          #428

                          @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                          __0.split(';').map((x,y) => '<option value =' + y + '>' + x + '</option>')

                          Perfekt erklärt :-)

                          Und in der neuen webUi sieht die formel dann noch verständlicher aus, der stylatx highlightning und klammern farbig :-)

                          783aeb9b-984a-4de4-8c22-c1f25ea02ad2-image.png

                          wobei, ich finds mit templateStrings noch übersichtlicher:

                          07099577-90b8-4390-b85d-2baef23f9b39-image.png

                          hoffe ich schaff das heute freizugeben...

                          Check my ioBroker webui - a vis alternative
                          see: https://github.com/iobroker-community-adapters/ioBroker.webui

                          B 1 Antwort Letzte Antwort
                          1
                          • jogibear9988J Offline
                            jogibear9988J Offline
                            jogibear9988
                            schrieb am zuletzt editiert von
                            #429

                            eigene namen für die variablen gehen dann in bindings auch:

                            d0cdbfc2-e8ad-4e5b-8206-d5ccef09f919-image.png

                            Check my ioBroker webui - a vis alternative
                            see: https://github.com/iobroker-community-adapters/ioBroker.webui

                            1 Antwort Letzte Antwort
                            1
                            • jogibear9988J jogibear9988

                              @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                              __0.split(';').map((x,y) => '<option value =' + y + '>' + x + '</option>')

                              Perfekt erklärt :-)

                              Und in der neuen webUi sieht die formel dann noch verständlicher aus, der stylatx highlightning und klammern farbig :-)

                              783aeb9b-984a-4de4-8c22-c1f25ea02ad2-image.png

                              wobei, ich finds mit templateStrings noch übersichtlicher:

                              07099577-90b8-4390-b85d-2baef23f9b39-image.png

                              hoffe ich schaff das heute freizugeben...

                              B Offline
                              B Offline
                              Blockmove
                              schrieb am zuletzt editiert von
                              #430

                              @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                              wobei, ich finds mit templateStrings noch übersichtlicher:

                              07099577-90b8-4390-b85d-2baef23f9b39-image.png

                              Naja, Ich hab es nicht so mit den Backticks (ˋ).
                              Sprich ich vergesse immer, dass man die Dinger bei den Templatestrings braucht. 🤪

                              The difference beetween Man and Boys:
                              The price of their toys 😀

                              1 Antwort Letzte Antwort
                              0
                              • Smilie108S Offline
                                Smilie108S Offline
                                Smilie108
                                schrieb am zuletzt editiert von
                                #431

                                @jogibear9988 @Blockmove

                                Danke für eure ausführungen bin grad 3 tage komplett flach gelegen seit heute nachmittag wieder etwas besser. Deshalb erst so spät die Antwort.
                                Super werde ich dann gleich mal ausprobieren ;)
                                Da graphana ja im gleichen Verzeichniss die dashboards durchnummerriert kann mann die url relativ leicht zusammenbauen. Erklärungen folgen wenn Control Fertig.

                                ;) Danke

                                1 Antwort Letzte Antwort
                                0
                                • jogibear9988J jogibear9988

                                  @smilie108

                                  oder es liegt an meinem meta tag:

                                  <meta name="viewport"
                                  content="width=device-width, initial-scale=1.0, shrink-to-fit=no, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
                                  

                                  ist in der runtime.html.
                                  Wir haben in einer visu selbst zoomen implementiert, und das funktioniert ohne das meta tag nicht. Wenn es stört kann ich das meta tag aber einstellbar machen.

                                  Vlt. mach ich irgendwann auch noch ein zoom control.

                                  Smilie108S Offline
                                  Smilie108S Offline
                                  Smilie108
                                  schrieb am zuletzt editiert von
                                  #432

                                  @jogibear9988 sagte in neue Visualisierung "webui" (alternative zu vis):

                                  <meta name="viewport"

                                  mhm sorry wenn ich das nochmal aufgreife aber könntest du das eventuell irgendwie in "Grundeinstellungen" oder so einbauen ?
                                  Dann könnte man es sich aktivieren oder auch nicht. ;)

                                  jogibear9988J 1 Antwort Letzte Antwort
                                  0
                                  • Smilie108S Offline
                                    Smilie108S Offline
                                    Smilie108
                                    schrieb am zuletzt editiert von
                                    #433

                                    @jogibear9988
                                    welchen pfad muss ich verwenden um auf die userfiles im iobroker zugreifen zu können ? oder geht das nicht.
                                    Hätte den vorteil das man Zentral alle Bilder usw verwalten kann auch mit Unterordnerern usw.
                                    Danke für die info
                                    Gruß Tom

                                    jogibear9988J 1 Antwort Letzte Antwort
                                    0
                                    • Smilie108S Smilie108

                                      @jogibear9988 sagte in neue Visualisierung "webui" (alternative zu vis):

                                      <meta name="viewport"

                                      mhm sorry wenn ich das nochmal aufgreife aber könntest du das eventuell irgendwie in "Grundeinstellungen" oder so einbauen ?
                                      Dann könnte man es sich aktivieren oder auch nicht. ;)

                                      jogibear9988J Offline
                                      jogibear9988J Offline
                                      jogibear9988
                                      schrieb am zuletzt editiert von
                                      #434

                                      @smilie108

                                      kommt mit dem release, zieht sich leider noch ein bisschen

                                      Check my ioBroker webui - a vis alternative
                                      see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                      1 Antwort Letzte Antwort
                                      0
                                      • Smilie108S Smilie108

                                        @jogibear9988
                                        welchen pfad muss ich verwenden um auf die userfiles im iobroker zugreifen zu können ? oder geht das nicht.
                                        Hätte den vorteil das man Zentral alle Bilder usw verwalten kann auch mit Unterordnerern usw.
                                        Danke für die info
                                        Gruß Tom

                                        jogibear9988J Offline
                                        jogibear9988J Offline
                                        jogibear9988
                                        schrieb am zuletzt editiert von
                                        #435

                                        @smilie108

                                        was für userfiles? du kannst bilder in webui ablegen und dann reinziehen, dann siehst den pfad.

                                        Wenn du außerhalb von webui zugreifen willst, einfach webui als prefix entfernen

                                        Check my ioBroker webui - a vis alternative
                                        see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                        Smilie108S 1 Antwort Letzte Antwort
                                        0
                                        • jogibear9988J jogibear9988

                                          @smilie108

                                          was für userfiles? du kannst bilder in webui ablegen und dann reinziehen, dann siehst den pfad.

                                          Wenn du außerhalb von webui zugreifen willst, einfach webui als prefix entfernen

                                          Smilie108S Offline
                                          Smilie108S Offline
                                          Smilie108
                                          schrieb am zuletzt editiert von Smilie108
                                          #436

                                          @jogibear9988
                                          Im Iobrokerbaum unter /0_userdata.0/User1/ kann man ja sachen ablegen mit unterordneren.
                                          wenn ich zb im webui.0.data/config/images/ einen unterordner anlege wird der zwar angezeigt aber der Inhalt dann nicht mehr.
                                          Wäre zum sortieren für die einzelnene Gewerke hilfreich anstatt einen Riesenbaum zu haben. Oder lieg ich da falsch geht das anders weil ordner erstellen geht ja von webui aus nicht.
                                          Gruß tom

                                          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

                                          938

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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