Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [Projekt] ioGo # Smarthome to go

NEWS

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

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

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

[Projekt] ioGo # Smarthome to go

Scheduled Pinned Locked Moved Tester
iogoappandroid
1.1k Posts 61 Posters 363.4k Views 20 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.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #253

    hoffentlich verstehe ich die frage richtig:

    mit zuordnung meinst du in den enums - ich habe jeden datenpunkt(states) im enum zugewiesen - die "ordner" (devices) nicht

    müßte das auch gehen - also alles was unter einem ordener (device) ist auf einmal einbinden ?
    4447_raum.png

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #254

      Frage war so gemeint.

      Ja, du kannst auch nur das Device zuordnen. Dann in der App "sync children State" aktiveren und schon werden alle States mitgenommen die zu solchen devices gehören.

      1 Reply Last reply
      0
      • liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by
        #255

        hab es schon ausprobiert - selbes verhalten - kann die states darin ändern - aber die scripts dahinter werden nicht getriggert

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Reply Last reply
        0
        • liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          wrote on last edited by
          #256

          etwas neues:

          habe mehrere datenpunkt über device(also alle ) eingebunden - einer hat keine role und enthält zahlen. ändere ich diesen - werden auch die scripts gestartet - hab extra ein teststcript angelegt

          ! {
          ! "from": "system.adapter.admin.0",
          ! "ts": 1523784556703,
          ! "common": {
          ! "name": "BADTuerZaehler",
          ! "role": "",
          ! "type": "number",
          ! "desc": "Manuell erzeugt",
          ! "unit": "",
          ! "min": 0,
          ! "max": 100,
          ! "def": 0,
          ! "read": true,
          ! "write": true
          ! },
          ! "native": {},
          ! "acl": {
          ! "object": 1636,
          ! "owner": "system.user.admin",
          ! "ownerGroup": "system.group.administrator",
          ! "state": 1636
          ! },
          ! "_id": "controll-own.0.MOTION.BADTuerZaehler",
          ! "type": "state"
          ! }

          aber nur dieser - die anderen z.b switch gehen nicht !

          der hier geht nicht: wird zwar gesetzt - triggert aber nicht

          ! {
          ! "from": "system.adapter.admin.0",
          ! "ts": 1528792070421,
          ! "common": {
          ! "name": "BootSetting",
          ! "role": "switch",
          ! "type": "boolean",
          ! "desc": "Manuell erzeugt",
          ! "read": true,
          ! "write": true,
          ! "def": false
          ! },
          ! "native": {},
          ! "acl": {
          ! "object": 1636,
          ! "owner": "system.user.admin",
          ! "ownerGroup": "system.group.administrator",
          ! "state": 1636
          ! },
          ! "_id": "controll-own.0.MOTION.BootSetting",
          ! "type": "state"
          ! }

          vielleicht hilft das

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Reply Last reply
          0
          • liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #257

            noch was:

            habe nun einen der datenpunkte auf state in der role geändert - dieser enthält auch zahlen - der funktioniert auch. ändere ich die zahl wird ein script ausgeführt.

            ändere ich luefter1 auf state in role - ist der schalter weg und es steht false dafür - ändere ich das auf true wird das luefter script nicht gestartet - wenn ich aber 0 oder 1 eingebe startet der lüfter !!!!

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Reply Last reply
            0
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #258

              @liv-in-sky:

              noch was:

              habe nun einen der datenpunkte auf state in der role geändert - dieser enthält auch zahlen - der funktioniert auch. ändere ich die zahl wird ein script ausgeführt.

              ändere ich luefter1 auf state in role - ist der schalter weg und es steht false dafür - ändere ich das auf true wird das luefter script nicht gestartet - wenn ich aber 0 oder 1 eingebe startet der lüfter !!!! `

              Ich blick nicht ganz durch… Wie genau funktioniert dein Trigger für die Skripte?

              Kann es sein dass dort der Fehler liegt, irgendwie geht es bei dir mit Zahlen aber mit true/false nicht.

              Poste mal bitte ein snippet von deinem Trigger.

              Habe auch nachgeschaut, die App setzt kein ACK=true. Somit sollte es als command ausgewertet werden.

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #259

                Neue Version 0.24.x als Beta verfügbar:

                Für eine weitere Verbreitung der Push-Benachritigung muss nun ein Useraccount angelegt werden.

                Damit wird sichergestellt, dass niemand böswillig Nachrichten an fremde Devices schicken kann.

                Es wird der Adapter ioBroker.iogo in der aktuellen Version 0.0.7 oder neuer benötigt.

                Useraccounts können in den Einstellungen angelegt werden:
                2986_screenshot_1536963596.png

                1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #260

                  Leider wird die Push Funktion nicht ewig for free bleiben können.

                  Es sind nur eine limitierte Anzahl kostenfrei verfügbar pro Monat.

                  Was wäre hier ein gangbarer Weg die Kosten für die Feature zu deckeln? (Kann leider nicht alles sponsorn)

                  1 Reply Last reply
                  0
                  • ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #261

                    @NightWatcher:

                    Die Pushnotification funktionieren bei mir auf Anhieb thumbs up

                    Hast du für dich eine Featureliste, was damit noch umgesetzt werden soll? `

                    Featureliste ist im Kopf bei mir…

                    Ich würde die App dahingegend erweitern, dass es spezielle Visualisierungen für einzelne Adapter geben wird (z.B. daswetter, dwd, ...)

                    Das ergibt dann unendlich weitere Möglichkeiten auch für die Push-Messages (z.B. bei Auslösung einer Alarmanlage)

                    @NightWatcher:

                    EDIT: Evtl. kannst du mal schauen, wieso er bei deiner Pushbenachrichtigung nicht anzeigt, wie lange es her ist, dass die Nachricht kam. Alle anderen Pushnofitications zeigen z.b. (vor 5min) `
                    Schau ich mir an

                    1 Reply Last reply
                    0
                    • liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by
                      #262

                      ist seltsam - dieses verhalten ist mir schon mal aufgefallen - bin mir nicht mehr sicher wo dies war, aber ich glaube es war in nodered oder tasker(httpget) - auch dort konnte ich nicht mit true oder false arbeiten sondern nur mit 0 und 1 oder ich mußte mit true/false als string arbeiten. in der vis ist es egal, ob ich beim schalter-widgert bei min/max 0/1 oder false/true setze - es funktioniert dort immer

                      sorry - es scheint nicht an deiner app zu liegen, aber vielleicht hast du trotzdem eine idee dazu, ich habe leider zu wenig ahnung um solche fehler zu korrigieren.

                      hier mal der datenpunkt:

                      ! {
                      ! "_id": "controll-own.0.Luefter1",
                      ! "type": "state",
                      ! "common": {
                      ! "name": "Luefter1",
                      ! "role": "switch",
                      ! "type": "boolean",
                      ! "desc": "Manuell erzeugt",
                      ! "read": true,
                      ! "write": true,
                      ! "def": false,
                      ! "smartName": {
                      ! "de": "lüfter 1, lüfter bett, lüfter 1"
                      ! }
                      ! },
                      ! "native": {},
                      ! "from": "system.adapter.admin.0",
                      ! "ts": 1515444294048,
                      ! "acl": {
                      ! "object": 1636,
                      ! "owner": "system.user.admin",
                      ! "ownerGroup": "system.group.administrator",
                      ! "state": 1636
                      ! }
                      ! }

                      und das script

                      ! on({id: "controll-own.0.Luefter1"/Luefter1/, change: "ne"}, function (obj) {
                      ! var value = obj.state.val;
                      ! var oldValue = obj.oldState.val;
                      ! if (getState("controll-own.0.Luefter1").val == true) {
                      ! setState("broadlink.0.learnedSignals.REVOLT1EIN"/REVOLT1EIN/, true);
                      ! } else if (getState("controll-own.0.Luefter1").val == false) {
                      ! setState("broadlink.0.learnedSignals.REVOLT1AUS"/REVOLT1AUS/, true);
                      ! }
                      ! });
                      4447_script-luefter.png

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        NightWatcher
                        wrote on last edited by
                        #263

                        Was genau machst du denn?

                        du schaltest mit seiner app den datenpunkt luefter1 und nichts passiert?

                        hast du mal mit log() in deinem script protokolliert, was in iobroker ankommt? Da du mit == prüfst, sollte dein Script auch auf 1 und 0 reagieren, denn dann ist der Variablentyp egal.

                        Ich denke eher, dass er gar nicht in die on Funktion springt.

                        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                        1 Reply Last reply
                        0
                        • liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          wrote on last edited by
                          #264

                          ich hab mal mit anderen datgenpunkten gespielt

                          mit sonoff adapter: kann eingeschaltet werden - beim versuch auszuschalten springt der schalter in der app wieder zurück auf an - ausschalten nicht möglich

                          ! {
                          ! "_id": "sonoff.0.Sonoff12.POWER",
                          ! "common": {
                          ! "type": "boolean",
                          ! "role": "switch",
                          ! "read": true,
                          ! "write": true,
                          ! "storeMap": true,
                          ! "name": "Sonoff12 POWER"
                          ! },
                          ! "native": {},
                          ! "type": "state",
                          ! "from": "system.adapter.sonoff.0",
                          ! "ts": 1530877175850,
                          ! "acl": {
                          ! "object": 1636,
                          ! "state": 1636
                          ! }
                          ! }

                          und mit broadlink

                          funktioniert - sind aber sowas wie taster

                          ! {
                          ! "type": "state",
                          ! "common": {
                          ! "name": "REVOLT1EIN",
                          ! "type": "boolean",
                          ! "role": "button",
                          ! "read": false,
                          ! "write": true
                          ! },
                          ! "native": {
                          ! "code": "b20e34000b1d0b1d1e0a0b1d1e0a1e0a1e0a1e0a0b1d1e0a0b1d1e0a1e0a0b1d0b1d1e0a1e0a0b1d0b1d0b1d1e0a1e0a1e0a1e0a0b00013b00000000"
                          ! },
                          ! "from": "system.adapter.broadlink.0",
                          ! "ts": 1515415687245,
                          ! "_id": "broadlink.0.learnedSignals.REVOLT1EIN",
                          ! "acl": {
                          ! "object": 1636,
                          ! "state": 1636,
                          ! "owner": "system.user.admin",
                          ! "ownerGroup": "system.group.administrator"
                          ! }
                          ! }

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Reply Last reply
                          0
                          • liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #265

                            @NightWatcher:

                            Was genau machst du denn?

                            du schaltest mit seiner app den datenpunkt luefter1 und nichts passiert?

                            hast du mal mit log() in deinem script protokolliert, was in iobroker ankommt? Da du mit == prüfst, sollte dein Script auch auf 1 und 0 reagieren, denn dann ist der Variablentyp egal.

                            Ich denke eher, dass er gar nicht in die on Funktion springt. `

                            doch es passiert schon etwas - der datenpunkt ändert sich im iobroker-admin - kann ich sehen - aber das script wird dadurch nicht gestartet. anders wenn ich die vis benutze - da wird der datenpunkt auch geändert und das script wird gestartet (getriggert) - beide male steht true im datenpunkt - aber noch besser - schalte ich in der app wird in der vis angezeigt, dass der lüfter an ist - wird grün bei mir - also die vis reagiert auf die app - nur das script nicht

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Reply Last reply
                            0
                            • liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              wrote on last edited by
                              #266

                              alle meine eigen angelegten datenpunkte wollen in der app nicht funktionieren !

                              alles unter controll-own - ich weiß - ist falsch geschrieben 😞
                              4447_all.png

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              1 Reply Last reply
                              0
                              • N Offline
                                N Offline
                                NightWatcher
                                wrote on last edited by
                                #267

                                Deswegen würde ich mal ein log() einbauen, ob die on Funktion überhaupt getriggert wird.

                                ob das in blockly geht, keine ahnung. Ich programmiere in Javascript direkt.

                                schreib vor````
                                var value = obj.state.val;

                                
                                einfach mal ein````
                                log('ich bin ein test');
                                

                                und schau mal, ob in deinem log Tab der Text erscheint, wenn du deinen luefter1 änderst. Alternativ kannst du das script auch in den debug Modus setzten, dann sollte die Ausgabe direkt in dem Fenster unter deinem script erscheinen.

                                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                1 Reply Last reply
                                0
                                • liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by
                                  #268

                                  hab das probiert - es wird getriggert - aber ob luefter=wahr oder falsch wird nicht erkannt - also wird nichts ausgeführt

                                  wenn ich im script nicht sonst falls sondern sonst eingeben wird reagiert und log geschrieben

                                  ! javascript.0 2018-09-15 10:54:51.404 error script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: true
                                  ! javascript.0 2018-09-15 10:54:51.404 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: getState(id=controll-own.0.Luefter1, timerId=94) => {"val":"true","ack":false,"ts":1537001691395,"q":0,"from":"system.adapter.socketio.0","lc":15370
                                  ! javascript.0 2018-09-15 10:54:51.404 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: getState(id=controll-own.0.Luefter1, timerId=94) => {"val":"true","ack":false,"ts":1537001691395,"q":0,"from":"system.adapter.socketio.0","lc":15370
                                  ! javascript.0 2018-09-15 10:54:51.404 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: getState(id=controll-own.0.Luefter1, timerId=94) => {"val":"true","ack":false,"ts":1537001691395,"q":0,"from":"system.adapter.socketio.0","lc":15370
                                  ! javascript.0 2018-09-15 10:54:51.402 error script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: Trigger
                                  4447_image_5.png

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  1 Reply Last reply
                                  0
                                  • liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    wrote on last edited by
                                    #269

                                    so sieht das log aus - wenn ich mit der vis schalte

                                    ! javascript.0 2018-09-15 10:58:31.985 warn script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: setForeignState(id=broadlink.0.learnedSignals.REVOLT1AUS, state=true) - was not executed, while debug mode is active
                                    ! javascript.0 2018-09-15 10:58:31.985 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: setForeignState(id=broadlink.0.learnedSignals.REVOLT1AUS, state=true)
                                    ! javascript.0 2018-09-15 10:58:31.985 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: getState(id=controll-own.0.Luefter1, timerId=100) => {"val":false,"ack":false,"ts":1537001911976,"q":0,"from":"system.adapter.web.0","lc":1537001911
                                    ! javascript.0 2018-09-15 10:58:31.985 info script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: getState(id=controll-own.0.Luefter1, timerId=100) => {"val":false,"ack":false,"ts":1537001911976,"q":0,"from":"system.adapter.web.0","lc":1537001911
                                    ! javascript.0 2018-09-15 10:58:31.984 error script.js.Armin_Schalter.LEDuLUEFTERuLAMPE.Lüfter1: Triggerr

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Reply Last reply
                                    0
                                    • N Offline
                                      N Offline
                                      NightWatcher
                                      wrote on last edited by
                                      #270

                                      ich habe dein Script bei mir mal eben nachgebaut, es funktioniert auf Anhieb über die APP einwandfrei. Es wird alles sauber in Javascript getriggert und ausgeführt.

                                      Irgendwas stimmt aber in deiner Ausgabe nicht. Er gibt im Log Trigerr aus (doppelt r) in deiner Grafik finde ich diesen log eintrag aber nicht.

                                      Was passiert denn in der logausgabe, wenn du per App schaltest?

                                      Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                      1 Reply Last reply
                                      0
                                      • liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        wrote on last edited by
                                        #271

                                        erstmal danke für deine mühe

                                        meinst du die logausgabe in der app ?

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        1 Reply Last reply
                                        0
                                        • liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          wrote on last edited by
                                          #272

                                          jetzt verstanden - das triggerr /2r kommt von einem eintrag der nicht mehr da ist - ich habe diesen text trigerr mit "wert von luefter1" ersetzt

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          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

                                          636

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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