Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter device-reminder V 1.x

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Test Adapter device-reminder V 1.x

Scheduled Pinned Locked Moved Tester
adapterdevice-remindergeräteüberwachungtest
626 Posts 76 Posters 182.1k Views 69 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • RoboCopR RoboCop

    @xenon said in Test Adapter device-reminder V 1.x:

    @robocop welches widget nutzt du dafür?

    Ich bin später am Rechner, baue dir dann wohl erstmal paar Zeilen zusammen jnd veröffentliche sie dann. Damit kannst du dann erstmal arbeiten

    ich wollte es mit JSON Table nutzen...

    XenonX Offline
    XenonX Offline
    Xenon
    Forum Testing Developer
    wrote on last edited by
    #278

    @robocop Mist, ich sehe grade, das ich einen Fehler in der JSON habe......

    wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

    RoboCopR 1 Reply Last reply
    0
    • XenonX Xenon

      @robocop Mist, ich sehe grade, das ich einen Fehler in der JSON habe......

      RoboCopR Offline
      RoboCopR Offline
      RoboCop
      wrote on last edited by
      #279

      @xenon said in Test Adapter device-reminder V 1.x:

      @robocop Mist, ich sehe grade, das ich einen Fehler in der JSON habe......

      also bin ich nicht zu dumm gewesen...grins
      [ Klammer ] und das "VAL" weg?

      XenonX 1 Reply Last reply
      0
      • RoboCopR RoboCop

        @xenon said in Test Adapter device-reminder V 1.x:

        @robocop Mist, ich sehe grade, das ich einen Fehler in der JSON habe......

        also bin ich nicht zu dumm gewesen...grins
        [ Klammer ] und das "VAL" weg?

        XenonX Offline
        XenonX Offline
        Xenon
        Forum Testing Developer
        wrote on last edited by Xenon
        #280

        @robocop ich hab mal auf die Schnelle ein kleines Script gemacht, welches dir die Sachen konvertiert.

        Am Adapter selber werde ich die nächsten Wochen nicht arbeiten, außer es treten gravierende Bugs auf ;)

        Einfach ein neues TypeScript erstellen, den Code einfügen und deine Pfade in arrPath anpassen (direkt in Zeile 1 zu finden) Da stehen aktuell meine Geräte drin. Solltest du weniger Geräte haben einfach den Rest rauslöschen, es dürfen nur deine tatsächlichen Pfade drin stehen!
        Sollten beim Erststart Fehler auftreten einfach Script nochmal neu starten. Die konvertierten JSON liegen unter "0_userdata.0.device-reminder.0.XXX.last operations"

        Auf die Schnelle nicht anders machbar, sorry :) er zeigt die wahrscheinlich [object Object] an, in Wahrheit steckt da aber

        [{'0':{'start':'18.05.2021 15:56:29','end':'18.05.2021 18:52:30','runtime':'02:55:50'},'1':{'start':'19.05.2021 15:06:43','end':'19.05.2021 17:07:44','runtime':'02:00:50'}}]
        

        hinter und sollte funktionieren

        Hier der Code:

        const arrPath: string[] = [
            'device-reminder.0.Computer.last operations',
            'device-reminder.0.Geschirrspüler.last operations',
            'device-reminder.0.Wama.last operations',
            'device-reminder.0.Trockner.last operations',
            'device-reminder.0.Heizung.last operations'
        ];
        
        const pathNew: string = '0_userdata.0';
        
        async function createJSON(path: string, pathNew: string) {
            let objTemp: object = {};
        
            let result: string = await replaceAll(await replaceAll((await getStateAsync(path)).val, '},{', '}#{'), 'startVal', 'start');
        
            async function replaceAll(str: string, find: string, replace: string): Promise<string> {
                return str.replace(new RegExp(find, 'g'), replace);
            };
        
            const arr: object = result.split('#');
        
            for (const i in arr) {
                const strTemp: string = arr[i];
                objTemp[i] = JSON.parse(strTemp);
            };
        
            setStateAsync(pathNew, [objTemp], true);
        
        };
        
        // start
        for (const i in arrPath) {
            const name: string = arrPath[i];
            const path: string = `${pathNew}.${name}`
        
            createStateAsync(path, JSON.parse('{"name": "History as JSON","type": "json","role": "history","read": true}'), () => {
            });
        
            createJSON(name, path);
        
            on({ id: name, change: 'any', ack: true }, async () => {
                createJSON(name, path);
            });
        };
        

        wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

        RoboCopR 2 Replies Last reply
        0
        • XenonX Xenon

          @robocop ich hab mal auf die Schnelle ein kleines Script gemacht, welches dir die Sachen konvertiert.

          Am Adapter selber werde ich die nächsten Wochen nicht arbeiten, außer es treten gravierende Bugs auf ;)

          Einfach ein neues TypeScript erstellen, den Code einfügen und deine Pfade in arrPath anpassen (direkt in Zeile 1 zu finden) Da stehen aktuell meine Geräte drin. Solltest du weniger Geräte haben einfach den Rest rauslöschen, es dürfen nur deine tatsächlichen Pfade drin stehen!
          Sollten beim Erststart Fehler auftreten einfach Script nochmal neu starten. Die konvertierten JSON liegen unter "0_userdata.0.device-reminder.0.XXX.last operations"

          Auf die Schnelle nicht anders machbar, sorry :) er zeigt die wahrscheinlich [object Object] an, in Wahrheit steckt da aber

          [{'0':{'start':'18.05.2021 15:56:29','end':'18.05.2021 18:52:30','runtime':'02:55:50'},'1':{'start':'19.05.2021 15:06:43','end':'19.05.2021 17:07:44','runtime':'02:00:50'}}]
          

          hinter und sollte funktionieren

          Hier der Code:

          const arrPath: string[] = [
              'device-reminder.0.Computer.last operations',
              'device-reminder.0.Geschirrspüler.last operations',
              'device-reminder.0.Wama.last operations',
              'device-reminder.0.Trockner.last operations',
              'device-reminder.0.Heizung.last operations'
          ];
          
          const pathNew: string = '0_userdata.0';
          
          async function createJSON(path: string, pathNew: string) {
              let objTemp: object = {};
          
              let result: string = await replaceAll(await replaceAll((await getStateAsync(path)).val, '},{', '}#{'), 'startVal', 'start');
          
              async function replaceAll(str: string, find: string, replace: string): Promise<string> {
                  return str.replace(new RegExp(find, 'g'), replace);
              };
          
              const arr: object = result.split('#');
          
              for (const i in arr) {
                  const strTemp: string = arr[i];
                  objTemp[i] = JSON.parse(strTemp);
              };
          
              setStateAsync(pathNew, [objTemp], true);
          
          };
          
          // start
          for (const i in arrPath) {
              const name: string = arrPath[i];
              const path: string = `${pathNew}.${name}`
          
              createStateAsync(path, JSON.parse('{"name": "History as JSON","type": "json","role": "history","read": true}'), () => {
              });
          
              createJSON(name, path);
          
              on({ id: name, change: 'any', ack: true }, async () => {
                  createJSON(name, path);
              });
          };
          
          RoboCopR Offline
          RoboCopR Offline
          RoboCop
          wrote on last edited by
          #281

          @xenon ok.. Danke, werde es gleich mal ausprobieren und schaun was passiert...

          1 Reply Last reply
          0
          • XenonX Xenon

            @robocop ich hab mal auf die Schnelle ein kleines Script gemacht, welches dir die Sachen konvertiert.

            Am Adapter selber werde ich die nächsten Wochen nicht arbeiten, außer es treten gravierende Bugs auf ;)

            Einfach ein neues TypeScript erstellen, den Code einfügen und deine Pfade in arrPath anpassen (direkt in Zeile 1 zu finden) Da stehen aktuell meine Geräte drin. Solltest du weniger Geräte haben einfach den Rest rauslöschen, es dürfen nur deine tatsächlichen Pfade drin stehen!
            Sollten beim Erststart Fehler auftreten einfach Script nochmal neu starten. Die konvertierten JSON liegen unter "0_userdata.0.device-reminder.0.XXX.last operations"

            Auf die Schnelle nicht anders machbar, sorry :) er zeigt die wahrscheinlich [object Object] an, in Wahrheit steckt da aber

            [{'0':{'start':'18.05.2021 15:56:29','end':'18.05.2021 18:52:30','runtime':'02:55:50'},'1':{'start':'19.05.2021 15:06:43','end':'19.05.2021 17:07:44','runtime':'02:00:50'}}]
            

            hinter und sollte funktionieren

            Hier der Code:

            const arrPath: string[] = [
                'device-reminder.0.Computer.last operations',
                'device-reminder.0.Geschirrspüler.last operations',
                'device-reminder.0.Wama.last operations',
                'device-reminder.0.Trockner.last operations',
                'device-reminder.0.Heizung.last operations'
            ];
            
            const pathNew: string = '0_userdata.0';
            
            async function createJSON(path: string, pathNew: string) {
                let objTemp: object = {};
            
                let result: string = await replaceAll(await replaceAll((await getStateAsync(path)).val, '},{', '}#{'), 'startVal', 'start');
            
                async function replaceAll(str: string, find: string, replace: string): Promise<string> {
                    return str.replace(new RegExp(find, 'g'), replace);
                };
            
                const arr: object = result.split('#');
            
                for (const i in arr) {
                    const strTemp: string = arr[i];
                    objTemp[i] = JSON.parse(strTemp);
                };
            
                setStateAsync(pathNew, [objTemp], true);
            
            };
            
            // start
            for (const i in arrPath) {
                const name: string = arrPath[i];
                const path: string = `${pathNew}.${name}`
            
                createStateAsync(path, JSON.parse('{"name": "History as JSON","type": "json","role": "history","read": true}'), () => {
                });
            
                createJSON(name, path);
            
                on({ id: name, change: 'any', ack: true }, async () => {
                    createJSON(name, path);
                });
            };
            
            RoboCopR Offline
            RoboCopR Offline
            RoboCop
            wrote on last edited by
            #282

            @xenon
            sorry aber ich bekomme die Daten nur zu sehen wenn das
            json in folgenden Format ist:

            [{"start":"18.05.2021 15:56:29","end":"18.05.2021 18:52:30","runtime":"02:55:50"},{"start":"19.05.2021 15:06:43","end":"19.05.2021 17:07:44","runtime":"02:00:50"}] 
            

            ohne die '0' und '1' vermutlich Zähler und anstelle von ' Hochkomma, " Anführungszeichen.

            XenonX 1 Reply Last reply
            0
            • RoboCopR RoboCop

              @xenon
              sorry aber ich bekomme die Daten nur zu sehen wenn das
              json in folgenden Format ist:

              [{"start":"18.05.2021 15:56:29","end":"18.05.2021 18:52:30","runtime":"02:55:50"},{"start":"19.05.2021 15:06:43","end":"19.05.2021 17:07:44","runtime":"02:00:50"}] 
              

              ohne die '0' und '1' vermutlich Zähler und anstelle von ' Hochkomma, " Anführungszeichen.

              XenonX Offline
              XenonX Offline
              Xenon
              Forum Testing Developer
              wrote on last edited by
              #283

              @robocop dann müsstest du dir das selber formatieren. Meins ist ein originales json Format, bei vis inventwo gibt's zb ein widget was genau dieses Format nutzt.
              Deins benötigt anscheinend, warum auch immer, so ein spezielles Format?

              wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

              RoboCopR 1 Reply Last reply
              0
              • XenonX Xenon

                @robocop dann müsstest du dir das selber formatieren. Meins ist ein originales json Format, bei vis inventwo gibt's zb ein widget was genau dieses Format nutzt.
                Deins benötigt anscheinend, warum auch immer, so ein spezielles Format?

                RoboCopR Offline
                RoboCopR Offline
                RoboCop
                wrote on last edited by
                #284

                @xenon said in Test Adapter device-reminder V 1.x:

                @robocop dann müsstest du dir das selber formatieren. Meins ist ein originales json Format, bei vis inventwo gibt's zb ein widget was genau dieses Format nutzt.
                Deins benötigt anscheinend, warum auch immer, so ein spezielles Format?

                Nutze diese Widget aber bei mir funktioniert es nicht device_JSON.png

                oder ich weiß nicht wie ich es mit deiner formatierung einsetzen muss

                XenonX 1 Reply Last reply
                0
                • RoboCopR RoboCop

                  @xenon said in Test Adapter device-reminder V 1.x:

                  @robocop dann müsstest du dir das selber formatieren. Meins ist ein originales json Format, bei vis inventwo gibt's zb ein widget was genau dieses Format nutzt.
                  Deins benötigt anscheinend, warum auch immer, so ein spezielles Format?

                  Nutze diese Widget aber bei mir funktioniert es nicht device_JSON.png

                  oder ich weiß nicht wie ich es mit deiner formatierung einsetzen muss

                  XenonX Offline
                  XenonX Offline
                  Xenon
                  Forum Testing Developer
                  wrote on last edited by
                  #285

                  @robocop höö.. Ich spreche mal mit den Jungs und melde mich wieder 😊

                  wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

                  RoboCopR 1 Reply Last reply
                  0
                  • XenonX Xenon

                    @robocop höö.. Ich spreche mal mit den Jungs und melde mich wieder 😊

                    RoboCopR Offline
                    RoboCopR Offline
                    RoboCop
                    wrote on last edited by
                    #286

                    @xenon said in Test Adapter device-reminder V 1.x:

                    @robocop höö.. Ich spreche mal mit den Jungs und melde mich wieder 😊

                    OK... schönes WE

                    1 Reply Last reply
                    1
                    • XenonX Offline
                      XenonX Offline
                      Xenon
                      Forum Testing Developer
                      wrote on last edited by
                      #287

                      gab zwei bugs, die erst durch den neuen JS-Controller aufgefallen sind, Update sollte im Laufe des Tages angezeigt werden

                      @RoboCop : der JSON-Fix ist noch nicht drin, warte da auf Rückmeldung von den inventwo Jungs ;) Hab ich aber aufm Zettel

                      wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

                      RoboCopR 1 Reply Last reply
                      0
                      • XenonX Xenon

                        gab zwei bugs, die erst durch den neuen JS-Controller aufgefallen sind, Update sollte im Laufe des Tages angezeigt werden

                        @RoboCop : der JSON-Fix ist noch nicht drin, warte da auf Rückmeldung von den inventwo Jungs ;) Hab ich aber aufm Zettel

                        RoboCopR Offline
                        RoboCopR Offline
                        RoboCop
                        wrote on last edited by
                        #288

                        @xenon said in Test Adapter device-reminder V 1.x:

                        gab zwei bugs, die erst durch den neuen JS-Controller aufgefallen sind, Update sollte im Laufe des Tages angezeigt werden

                        @RoboCop : der JSON-Fix ist noch nicht drin, warte da auf Rückmeldung von den inventwo Jungs ;) Hab ich aber aufm Zettel

                        :+1:
                        alles Gut....

                        XenonX 1 Reply Last reply
                        0
                        • RoboCopR RoboCop

                          @xenon said in Test Adapter device-reminder V 1.x:

                          gab zwei bugs, die erst durch den neuen JS-Controller aufgefallen sind, Update sollte im Laufe des Tages angezeigt werden

                          @RoboCop : der JSON-Fix ist noch nicht drin, warte da auf Rückmeldung von den inventwo Jungs ;) Hab ich aber aufm Zettel

                          :+1:
                          alles Gut....

                          XenonX Offline
                          XenonX Offline
                          Xenon
                          Forum Testing Developer
                          wrote on last edited by Xenon
                          #289

                          @robocop so habs jetzt gefixt. Problem ist aber, du musst den Datenpunkt manuell löschen und den Adapter dann neustarten ... anders ist das nicht machbar.

                          Ich schreibs auch so in den changelog. Update wird die 1.2.4

                          wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

                          RoboCopR 1 Reply Last reply
                          0
                          • XenonX Xenon

                            @robocop welches widget nutzt du dafür?

                            Ich bin später am Rechner, baue dir dann wohl erstmal paar Zeilen zusammen jnd veröffentliche sie dann. Damit kannst du dann erstmal arbeiten

                            David G.D Online
                            David G.D Online
                            David G.
                            wrote on last edited by David G.
                            #290

                            @xenon

                            Wäre es nicht evtl. sinnvoll, anstatt einer json-Tabelle eine reguläre HTML-Tabelle zu generieren?

                            Diese würde man in so ziemlich jede Visualisierung eingebunden bekommen.
                            Ich zb nutze Lovelace. Dort klappt es mit json nicht.

                            Zeigt eure Lovelace-Visualisierung klick
                            (Auch ideal um sich Anregungen zu holen)

                            Meine Tabellen für eure Visualisierung klick

                            XenonX 1 Reply Last reply
                            1
                            • David G.D David G.

                              @xenon

                              Wäre es nicht evtl. sinnvoll, anstatt einer json-Tabelle eine reguläre HTML-Tabelle zu generieren?

                              Diese würde man in so ziemlich jede Visualisierung eingebunden bekommen.
                              Ich zb nutze Lovelace. Dort klappt es mit json nicht.

                              XenonX Offline
                              XenonX Offline
                              Xenon
                              Forum Testing Developer
                              wrote on last edited by
                              #291

                              @david-g sagte in Test Adapter device-reminder V 1.x:

                              @xenon

                              Wäre es nicht evtl. sinnvoll, anstatt einer json-Tabelle eine reguläre HTML-Tabelle zu generieren?

                              Diese würde man in so ziemlich jede Visualisierung eingebunden bekommen.
                              Ich zb nutze Lovelace. Dort klappt es mit json nicht.

                              kann ich mit in die 2.0 aufnehmen, wie bereits weiter oben geschrieben wird die 1.x nicht mehr weiter entwickelt, nur bugs behoben

                              Machst du dazu ein enhancement issue auf github auf? Dann vergesse ich es nicht :)

                              wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

                              da_WoodyD 1 Reply Last reply
                              0
                              • XenonX Xenon

                                @robocop so habs jetzt gefixt. Problem ist aber, du musst den Datenpunkt manuell löschen und den Adapter dann neustarten ... anders ist das nicht machbar.

                                Ich schreibs auch so in den changelog. Update wird die 1.2.4

                                RoboCopR Offline
                                RoboCopR Offline
                                RoboCop
                                wrote on last edited by
                                #292

                                @xenon said in Test Adapter device-reminder V 1.x:

                                @robocop so habs jetzt gefixt. Problem ist aber, du musst den Datenpunkt manuell löschen und den Adapter dann neustarten ... anders ist das nicht machbar.

                                Ich schreibs auch so in den changelog. Update wird die 1.2.4

                                so Update eingespielt ....
                                jetzt muss Frauchen nur noch eines der Geräte benutzen....
                                dann werde ich sehen was passiert...
                                Aber erstmal Danke für deine Mühen..
                                LG Robbie

                                1 Reply Last reply
                                0
                                • XenonX Xenon

                                  @david-g sagte in Test Adapter device-reminder V 1.x:

                                  @xenon

                                  Wäre es nicht evtl. sinnvoll, anstatt einer json-Tabelle eine reguläre HTML-Tabelle zu generieren?

                                  Diese würde man in so ziemlich jede Visualisierung eingebunden bekommen.
                                  Ich zb nutze Lovelace. Dort klappt es mit json nicht.

                                  kann ich mit in die 2.0 aufnehmen, wie bereits weiter oben geschrieben wird die 1.x nicht mehr weiter entwickelt, nur bugs behoben

                                  Machst du dazu ein enhancement issue auf github auf? Dann vergesse ich es nicht :)

                                  da_WoodyD Online
                                  da_WoodyD Online
                                  da_Woody
                                  wrote on last edited by
                                  #293

                                  @xenon ich habs getan! :D
                                  https://github.com/Xenon-s/ioBroker.device-reminder/issues/89

                                  gruß vom Woody
                                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                  XenonX 1 Reply Last reply
                                  2
                                  • da_WoodyD da_Woody

                                    @xenon ich habs getan! :D
                                    https://github.com/Xenon-s/ioBroker.device-reminder/issues/89

                                    XenonX Offline
                                    XenonX Offline
                                    Xenon
                                    Forum Testing Developer
                                    wrote on last edited by
                                    #294

                                    @da_woody danke 😁

                                    wenn euch mein Beitrag geholfen hat, bewertet ihn bitte unten rechts :)

                                    da_WoodyD RoboCopR 2 Replies Last reply
                                    0
                                    • XenonX Xenon

                                      @da_woody danke 😁

                                      da_WoodyD Online
                                      da_WoodyD Online
                                      da_Woody
                                      wrote on last edited by
                                      #295

                                      @xenon 2.0 dann 2024? biglol.gif
                                      ne, gern geschehn. ich weis, wie schnell man sachen vergisst... Cheerlie.gif

                                      gruß vom Woody
                                      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                      1 Reply Last reply
                                      0
                                      • XenonX Xenon

                                        @da_woody danke 😁

                                        RoboCopR Offline
                                        RoboCopR Offline
                                        RoboCop
                                        wrote on last edited by
                                        #296

                                        @xenon said in Test Adapter device-reminder V 1.x:

                                        @da_woody danke 😁

                                        und klappt....
                                        c34733b1-96c8-4ee7-8c63-5ac5eaca0657-grafik.png

                                        JB_SullivanJ da_WoodyD XenonX 3 Replies Last reply
                                        0
                                        • RoboCopR RoboCop

                                          @xenon said in Test Adapter device-reminder V 1.x:

                                          @da_woody danke 😁

                                          und klappt....
                                          c34733b1-96c8-4ee7-8c63-5ac5eaca0657-grafik.png

                                          JB_SullivanJ Offline
                                          JB_SullivanJ Offline
                                          JB_Sullivan
                                          wrote on last edited by
                                          #297

                                          @robocop

                                          könntest du die Widgets (oder eins) bitte als Export zur Verfügung stellen?

                                          ioBroker (since 2018) auf Intel Core i3-5005U NUC und Windwos10 Pro

                                          RoboCopR 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          684

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe