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. Adapter für mehrere RPI

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

Adapter für mehrere RPI

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
23 Beiträge 4 Kommentatoren 4.2k Aufrufe
  • Ä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.
  • E Offline
    E Offline
    e-i-k-e
    schrieb am zuletzt editiert von
    #8

    @Stabilostick:

    So eine Meldung hatte ich, als ich „aus versehen" 'socket.io 2.1.1' inklusive 'engine-io 3.2.0' installiert hatte, ohne den 'socket.io-client' auf @latest upzudaten (passiert alles im '/opt/iobroker/node_modules'-Ordner).

    War bei mir (echt, keine Kopie Deiner Meldung), wenn der Admin starten sollte:

    undefined Error: server error
        at Socket.onPacket (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\socket.js:445:19)
        at XHR. <anonymous>(C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\socket.js:268:10)
        at XHR.Emitter.emit (C:\dev\iobroker\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20)
        at XHR.Transport.onPacket (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transport.js:145:8)
        at callback (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling.js:144:10)
        at Object.exports.decodePayload (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-parser\lib\index.js:309:18)
        at XHR.Polling.onData (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling.js:148:10)
        at Request. <anonymous>(C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling-xhr.js:126:10)
        at Request.Emitter.emit (C:\dev\iobroker\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20)
        at Request.onData (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling-xhr.js:296:8)</anonymous></anonymous>
    

    100% gleich!

    Vorschlag so als Anregung & Verdacht zur Ausführung im /opt/iobroker-Ordner zum Versionsprüfen:

    >npm ls socket.io
    >npm ls engine.io
    >npm ls socket.io-client
    >npm ls engine.io-client
    

    socket.io sollte v1.7.2 und engine.io v1.8.2 sein. Mit socket.io v2.1.1 ist ggf. noch nicht gut Kirschen essen, auch wenn der uWS in engine.io als default herausgenommen wurde.

    Wenn Version zu hoch: (Vorsicht!) engine-io und socket.io im /opt/iobroker-Ordner mit npm ohne '-g' deinstallieren und mit stable wieder herstellen.

    Zu technisch von mir? [emoji53] `

    So siehts bei mir aus.

    root@raspberrypi-display1:~# npm ls socket.io
    iobroker.inst@1.1.2 /root
    ├─┬ iobroker.admin@3.4.7
    │ └── socket.io@1.7.2
    └─┬ iobroker.js-controller@1.2.3
      └── socket.io@1.7.4
    
    
    root@raspberrypi-display1:~# npm ls engine.io
    iobroker.inst@1.1.2 /root
    ├─┬ iobroker.admin@3.4.7
    │ └─┬ socket.io@1.7.2
    │   └── engine.io@1.8.2
    └─┬ iobroker.js-controller@1.2.3
      └─┬ socket.io@1.7.4
        └── engine.io@1.8.5
    
    
    root@raspberrypi-display1:~# npm ls socket.io-client
    iobroker.inst@1.1.2 /root
    ├─┬ iobroker.admin@3.4.7
    │ └─┬ socket.io@1.7.2
    │   └── socket.io-client@1.7.2
    └─┬ iobroker.js-controller@1.2.3
      ├─┬ socket.io@1.7.4
      │ └── socket.io-client@1.7.4  deduped
      └── socket.io-client@1.7.4
    
    
    root@raspberrypi-display1:~# npm ls engine.io-client
    iobroker.inst@1.1.2 /root
    ├─┬ iobroker.admin@3.4.7
    │ └─┬ socket.io@1.7.2
    │   └─┬ socket.io-client@1.7.2
    │     └── engine.io-client@1.8.2
    └─┬ iobroker.js-controller@1.2.3
      └─┬ socket.io-client@1.7.4
        └── engine.io-client@1.8.5
    
    
    1 Antwort Letzte Antwort
    0
    • StabilostickS Offline
      StabilostickS Offline
      Stabilostick
      schrieb am zuletzt editiert von
      #9

      Hmm, schaut ganz gut aus. Ich habe mir gestern einen RPI mit ioBroker selbst installiert und habe die gleichen Versionen drauf wie Du, außer jeweils beim js-controller. Der hat bei mir zwar die gleiche Version 1.2.3, habe aber bei socket.io(-client) die 1.7.2 und bei engine.io(-client) die 1.8.2

      Ob das aber etwas ausmacht, weiß ich leider nicht. Vieleicht bin ich hier auch auf der falschen Fährte und das Ganze weist einfach auf ein Kommunikationsproblem mit dem Master hin…

      Trotzdem: Was sagten die Befehle von oben auf dem Master ausgeführt?

      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        e-i-k-e
        schrieb am zuletzt editiert von
        #10

        Beim Master sieht es wie folgt aus.

        pi@sudoraspi-config:~ $ npm ls socket.io
        iobroker.inst@1.1.2 /home/pi
        ├─┬ iobroker.admin@2.0.9
        │ └── socket.io@1.7.4
        └─┬ iobroker.js-controller@1.2.3
          └── socket.io@1.7.4  deduped
        
        
        pi@sudoraspi-config:~ $ npm ls engine.io
        iobroker.inst@1.1.2 /home/pi
        └─┬ iobroker.admin@2.0.9
          └─┬ socket.io@1.7.4
            └── engine.io@1.8.5
        
           ╭─────────────────────────────────────╮
           │                                     │
           │   Update available 5.8.0 → 6.2.0    │
           │       Run npm i npm to update       │
           │                                     │
           ╰─────────────────────────────────────╯
        
        
        pi@sudoraspi-config:~ $ npm ls socket.io-client
        iobroker.inst@1.1.2 /home/pi
        ├─┬ iobroker.admin@2.0.9
        │ └─┬ socket.io@1.7.4
        │   └── socket.io-client@1.7.4  deduped
        └─┬ iobroker.js-controller@1.2.3
          └── socket.io-client@1.7.4
        
        
        pi@sudoraspi-config:~ $ npm ls engine.io-client
        iobroker.inst@1.1.2 /home/pi
        └─┬ iobroker.js-controller@1.2.3
          └─┬ socket.io-client@1.7.4
            └── engine.io-client@1.8.5
        
        

        ______________________________________________________________________________________________________-

        Ist das normal?

        (Slave)

        ` > root@raspberrypi-display1:~# cd /opt/iobroker

        root@raspberrypi-display1:/opt/iobroker# iobroker list instances

        undefined server error

        undefined Error: server error

        at Socket.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:445:19)

        at XHR. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:268:10)

        at XHR.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)

        at XHR.Transport.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:145:8)

        at callback (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:144:10)

        at Object.exports.decodePayload (/root/node_modules/engine.io-parser/lib/index.js:309:18)

        at XHR.Polling.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:148:10)

        at Request. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:126:10)

        at Request.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)

        at Request.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:296:8)</anonymous></anonymous> `

        1 Antwort Letzte Antwort
        0
        • StabilostickS Offline
          StabilostickS Offline
          Stabilostick
          schrieb am zuletzt editiert von
          #11

          Auch gut. Das npm-Update brauchst Du nicht zu machen. Die Version 5.8.0 ist in Ordnung.

          Jetzt weiß ich nicht mehr weiter. Wenn du den RPI wieder zum Master machst, geht alles? Nach welcher Anleitung gehst Du beim Verbinden vor?

          1 Antwort Letzte Antwort
          0
          • StabilostickS Offline
            StabilostickS Offline
            Stabilostick
            schrieb am zuletzt editiert von
            #12

            Und: Nutzt Du Redis?

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              e-i-k-e
              schrieb am zuletzt editiert von
              #13

              Ich bin nach dieser Anleitung vorgegangen.

              http://www.iobroker.net/docu/?page_id=3068&lang=de

              Redis habe ich zum Testen aktiviert.

              iobroker setup custom
              type of states DB [file, redis], default [file] : redis
              

              Zuvor habe ich die ip unter geändert.

              nano /etc/redis/redis.conf
              bind 0.0.0.0
              

              Habe es danach aber wieder auf default gestellt.

              Ob file oder redis, brachte keine Verbesserung.

              Was mir aber aufgefallen ist, unter:

              Host of objects DB(file), default[127.0.0.1]
              

              wird keine andere IP Adresse (Master: 0.0.0.0, Slave: 192.168.178.35) übernommenen/gespeichert.

              1 Antwort Letzte Antwort
              0
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #14

                Sollte aber.

                Woran machst du das fest?

                Beim nächsten Aufruf steht da erst einmal der default Wert.

                Da musst du in der iobrojer.conf (?) Nachsehen.

                Gruß Rainer

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • StabilostickS Offline
                  StabilostickS Offline
                  Stabilostick
                  schrieb am zuletzt editiert von
                  #15

                  Datei /opt/iobroker/iobroker-data/iobroker.json

                  Bei lokaler DB:

                  {
                    "system": {
                      "memoryLimitMB": 0,
                      "hostname": ""
                    },
                    "multihostService": {
                      "enabled": false,
                      "secure": true
                    },
                    "network": {
                      "IPv4": true,
                      "IPv6": true,
                      "bindAddress": null,
                      "useSystemNpm": true
                    },
                    "objects": {
                      "type": "file",
                      "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
                      "host": "127.0.0.1",
                      "port": 9001,
                      "user": "",
                      "pass": "",
                      "noFileCache": false,
                      "connectTimeout": 2000
                    },
                    "states": {
                      "type": "file",
                      "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
                      "host": "127.0.0.1",
                      "port": 9000,
                      "maxQueue": 1000,
                      "options": {
                        "auth_pass": null,
                        "retry_max_delay": 15000
                      }
                    },
                  [...]
                  
                  1 Antwort Letzte Antwort
                  0
                  • E Offline
                    E Offline
                    e-i-k-e
                    schrieb am zuletzt editiert von
                    #16

                    Das ist auch alles merkwürdig. :|

                    Die IP wurde richtig übernommen.

                    Anbei der Code vom Master

                      "system": {
                        "memoryLimitMB": 0,
                        "hostname": ""
                      },
                      "multihostService": {
                        "enabled": true,
                        "secure": true,
                        "password": "muster"
                      },
                      "network": {
                        "IPv4": true,
                        "IPv6": true,
                        "bindAddress": null,
                        "useSystemNpm": true
                      },
                      "objects": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$
                        "memoryLimitMB": 0,
                        "hostname": ""
                      },
                      "multihostService": {
                        "enabled": true,
                        "secure": true,
                        "password": "muster"
                      },
                      "network": {
                        "IPv4": true,
                        "IPv6": true,
                        "bindAddress": null,
                        "useSystemNpm": true
                      },
                      "objects": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$
                        "host": "0.0.0.0",
                        "port": 9001,
                     "pass": "",
                        "noFileCache": false,
                        "connectTimeout": 2000
                      },
                      "states": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379$
                        "host": "0.0.0.0",
                        "port": 9000,
                        "maxQueue": 1000,
                        "options": {
                          "auth_pass": null,
                          "retry_max_delay": 15000
                        }
                      },
                      "log": {
                        "level": "info",
                        "maxDays": 7,
                        "noStdout": true,
                         "file1": {
                            "type": "file",
                            "enabled": true,
                            "filename": "log/iobroker",
                            "fileext": ".log",
                            "maxsize": null,
                            "maxFiles": null
                          },
                          "syslog1": { "enabled": false,
                            "host": "localhost",
                            "host_comment": "The host running syslogd, defaults to localhost.",
                            "port_comment": "The port on the host that syslog is running on, defaul$
                            "protocol": "udp4",
                            "protocol_comment": "The network protocol to log over (e.g. tcp4, udp4,$
                            "path_comment": "The path to the syslog dgram socket (i.e. /dev/log or $
                            "facility_comment": "Syslog facility to use (Default: local0).",
                            "localhost": "iobroker",
                    
                    $ng from (Default: localhost).",
                            "sysLogType_comment": "The type of the syslog protocol to use (Default:$
                            "app_name_comment": "The name of the application (Default: process.titl$
                            "eol_comment": "The end of line character to be added to the end of the$
                          }
                        }
                      },
                      "dataDirComment": "Always relative to iobroker.js-controller/",
                      "dataDir": "../../iobroker-data/"
                    }
                    
                    

                    Vom Slave

                      "system": {
                        "memoryLimitMB": 0,
                        "hostname": ""
                      },
                      "multihostService": {
                        "enabled": false,
                        "secure": true
                      },
                      "network": {
                        "IPv4": true,
                        "IPv6": true,
                        "bindAddress": null,
                        "useSystemNpm": true
                      },
                      "objects": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$ "port": 9001,
                        "user": "",
                        "pass": "",
                        "noFileCache": false,
                        "connectTimeout": 2000
                      },
                      "states": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379$
                        "host": "192.168.178.35",
                        "port": 9000,
                        "maxQueue": 1000,
                        "options": {
                          "auth_pass": null,
                          "retry_max_delay": 15000
                        }
                      },
                      "log": {
                        "level": "info",  
                        "maxDays": 7,
                        "noStdout": true,
                        "transport": {
                          "file1": {
                            "type": "file",
                            "enabled": true,
                            "filename": "log/iobroker",
                            "fileext": ".log",
                            "maxsize": null,
                            "maxFiles": null
                     "syslog1": {
                            "type": "syslog",
                            "enabled": false,
                            "host": "localhost",
                            "host_comment": "The host running syslogd, defaults to localhost.",
                            "port_comment": "The port on the host that syslog is running on, defaul$
                            "protocol": "udp4",
                            "protocol_comment": "The network protocol to log over (e.g. tcp4, udp4,$
                            "path_comment": "The path to the syslog dgram socket (i.e. /dev/log or $
                            "facility_comment": "Syslog facility to use (Default: local0).",
                            "localhost": "iobroker",
                            "localhost_comment": "Host to indicate that log messages are coming fro$
                            "sysLogType_comment": "The type of the syslog protocol to use (Default:$
                            "app_name_comment": "The name of the application (Default: process.titl$
                            "eol_comment": "The end of line character to be added to the end of the$
                          }
                        }
                      },
                      "dataDirComment": "Always relative to iobroker.js-controller/",
                     "dataDir": "../../iobroker-data/"
                    }
                    
                    
                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #17

                      Gib mal beim slave unter iobroker setup custom

                      Auch bei Objects die IP des masters ein

                      Gruß Rainer

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • E Offline
                        E Offline
                        e-i-k-e
                        schrieb am zuletzt editiert von
                        #18

                        Ich habe die IP Adresse neu eingegeben.

                        Nun wird sie unter /opt/iobroker/iobroker-data/iobroker.json auch angezeigt.

                        Ich bin mir aber sicher, dass ich diese IP bereits eingegeben hatte. :?


                        Habe versucht, einen Adapter auf dem Slave hinzuzufügen.

                        Bekomme immer wieder die gleiche Meldung.

                        $ ./iobroker add hilink 
                        undefined server error
                        undefined Error: server error    at Socket.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:445:19)
                            at XHR. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:268:10)
                            at XHR.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                            at XHR.Transport.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:145:8)
                            at callback (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:144:10)
                            at Object.exports.decodePayload (/root/node_modules/engine.io-parser/lib/index.js:309:18)
                            at XHR.Polling.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:148:10)
                            at Request. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:126:10)
                            at Request.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                            at Request.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:296:8)</anonymous></anonymous>
                        

                        Anschließend habe ich die Verbindung zum Master getrennt und mich direkt auf den ioBroker angemeldet.

                        Hier kann die Adapter ohne Probleme installieren.


                        Nachtrag: Habe bei PI gerade komplett neu aufgesetzt.

                        Nun funktioniert alles!

                        Es ist aber trotzdem merkwürdig, dass es vorher nicht funktionierte! :?

                        1 Antwort Letzte Antwort
                        0
                        • StabilostickS Offline
                          StabilostickS Offline
                          Stabilostick
                          schrieb am zuletzt editiert von
                          #19

                          Glückwunsch. Prima das es jetzt funktioniert. Darf ich noch fragen, welche npm-Version du jetzt nutzt und ob der Autostart auf dem PI sofort geklappt hat?

                          1 Antwort Letzte Antwort
                          0
                          • E Offline
                            E Offline
                            e-i-k-e
                            schrieb am zuletzt editiert von
                            #20

                            Danke! ;)

                            Aktuell ist NPM 5.8.0 drauf.

                            Wobei ich auch bei dieser Neuinstallation das Problem hatte, dass NPM nicht vorhanden war bzw. mit installiert worden ist.

                            Ich habe mich an die folgende Anleitung gehalten. http://www.iobroker.net/docu/?page_id=5106&lang=de

                            Somit musste ich über > sudo apt-get install npm npm installieren, anschließend habe ich habe ich die Version 5.8.0 über > sudo npm install -g npm@5 eingespielt.

                            Der Autostart hat auch nicht geklappt, da die Datei iobroker.sh. fehlte.

                            :lol: :mrgreen:

                            1 Antwort Letzte Antwort
                            0
                            • StabilostickS Offline
                              StabilostickS Offline
                              Stabilostick
                              schrieb am zuletzt editiert von
                              #21

                              Sie fehlte im /etc/init.d-Ordner?

                              1 Antwort Letzte Antwort
                              0
                              • E Offline
                                E Offline
                                e-i-k-e
                                schrieb am zuletzt editiert von
                                #22

                                Korrekt.

                                /etc/init.d/iobroker.sh

                                Gibt es eigentlich noch mit der NPM Version 5.8.0 Probleme?

                                1 Antwort Letzte Antwort
                                0
                                • StabilostickS Offline
                                  StabilostickS Offline
                                  Stabilostick
                                  schrieb am zuletzt editiert von
                                  #23

                                  Das schaut man sich gerade an. Bei mir ging es mit npm 4.6.1 inkl. der automatischen init.d-Anpassung. Alles wird besser…

                                  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

                                  927

                                  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