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. Entwicklung
  4. writeFile / readFile (gelöst)

NEWS

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

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

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

writeFile / readFile (gelöst)

Scheduled Pinned Locked Moved Entwicklung
writefilezigbee
19 Posts 3 Posters 1.2k Views 4 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.
  • OliverIOO OliverIO

    @asgothian

    aber solange du die in der dokumentation beschriebenen funktionen verwendest, muss du dich doch um die unterscheidung dateisystem/redis nicht kümmern. das macht der iobroker für dich.

    wenn du bspw eine datei schreibst und der benutzer hat redis nicht aktiviert, dann landet die datei im verzeichnis, wenn er redis aktiviert hat, landet die datei in der redis-datenbank
    genauso beim lesen. für dich ist das aber unerheblich.

    um abzugleichen ob bereits eine bestimmte anzahl von dateien da sind, kannst du entweder mit await this.readDirAsync(_adapter, path, options);
    ein ganzes verzeichnis deines storage brereichs einlesen und abgleichen

    oder einzeln mit await this.fileExistsAsync

    beispiele habe ich hier gefunden
    https://github.com/ioBroker/ioBroker.cameras/blob/939aa16d253f5365c8e6ee3280cb0aebfe6b458b/src/main.ts#L572
    das storage objekt wurde hier deklariert
    https://github.com/ioBroker/ioBroker.cameras/blob/939aa16d253f5365c8e6ee3280cb0aebfe6b458b/io-package.json#L197

    oder

    https://github.com/ioBroker/ioBroker.vis-2/blob/c965f7123b098d5341231efd71b34542d4fc363b/packages/iobroker.vis-2/src/main.ts#L844

    hier wird das metaobjekt dynamisch im code deklariert
    https://github.com/ioBroker/ioBroker.vis-2/blob/c965f7123b098d5341231efd71b34542d4fc363b/packages/iobroker.vis-2/src/main.ts#L1044

    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    wrote on last edited by Asgothian
    #6

    @oliverio Das Problem ist das ich auf ein vom System definiertes Storage-Objekt zugreifen will - das welches das Admin-Interface des Zigbee-Adapters nutzt, nicht eines welches ich selber definiert habe.

    Und da sind wir dann wieder bei der Frage aus dem ersten Post - was muss ich da angeben.

    Sobald ich auf die Funktionen aus dem Adapter-Objekt zurückgreifen kann ist es kein problem die eigentliche Abfrage zu machen - nur komme ich damit bisher nicht weiter.

    Ich habe kein selbst-definiertes Meta-Objekt. Und wenn ich eines habe, dann wird das durch 'iob upload zigbee' nicht genutzt, sprich da landen die Daten nicht. Und aus der Admin-Obefläche komme ich an die Bilder in dem Objekt auch nicht ran (zumindest soweit ich das bisher testen konnte)

    A.

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    OliverIOO 1 Reply Last reply
    0
    • AsgothianA Asgothian

      @oliverio Das Problem ist das ich auf ein vom System definiertes Storage-Objekt zugreifen will - das welches das Admin-Interface des Zigbee-Adapters nutzt, nicht eines welches ich selber definiert habe.

      Und da sind wir dann wieder bei der Frage aus dem ersten Post - was muss ich da angeben.

      Sobald ich auf die Funktionen aus dem Adapter-Objekt zurückgreifen kann ist es kein problem die eigentliche Abfrage zu machen - nur komme ich damit bisher nicht weiter.

      Ich habe kein selbst-definiertes Meta-Objekt. Und wenn ich eines habe, dann wird das durch 'iob upload zigbee' nicht genutzt, sprich da landen die Daten nicht. Und aus der Admin-Obefläche komme ich an die Bilder in dem Objekt auch nicht ran (zumindest soweit ich das bisher testen konnte)

      A.

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by
      #7

      @asgothian

      ok, das kommt nicht so deutlich heraus das du nicht der zigbee adapter bist

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      AsgothianA 1 Reply Last reply
      0
      • OliverIOO OliverIO

        @asgothian

        ok, das kommt nicht so deutlich heraus das du nicht der zigbee adapter bist

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        wrote on last edited by Asgothian
        #8

        @oliverio Ich bin schon der Zigbee Adapter 🙂
        Aber im Zigbee-Adapter ist nicht explizit ein meta-Objekt für die Bilder im Admin Interface definiert. Zumindest nicht an einer Stelle wo ich es gefunden habe. Ich denke dieses Objekt ist generell bei jedem Adapter vorhanden. Allerdings ist unklar ob auf dieses Objekt mit den entsprechenden Funktionen zugegriffen werden kann.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        OliverIOO 1 Reply Last reply
        0
        • AsgothianA Asgothian

          @oliverio Ich bin schon der Zigbee Adapter 🙂
          Aber im Zigbee-Adapter ist nicht explizit ein meta-Objekt für die Bilder im Admin Interface definiert. Zumindest nicht an einer Stelle wo ich es gefunden habe. Ich denke dieses Objekt ist generell bei jedem Adapter vorhanden. Allerdings ist unklar ob auf dieses Objekt mit den entsprechenden Funktionen zugegriffen werden kann.

          A.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by OliverIO
          #9

          @asgothian

          also ich interpretiere hier nur noch. ich hab das jetzt nicht selber ausprobiert. auch gibt es wahrscheinlich da nicht soviele beispiele.

          ich würde davon ausgehen, das du im zigbee adapter kein meta objekt für einen anderen adapter defnierst oder solltest.

          wenn man im admin adapter nachschaut findet man diese stelle
          https://github.com/ioBroker/ioBroker.admin/blob/b8f54c7774a59b3f1b33c48c67ea0f27413465fa/packages/admin/io-package.json#L473

          hier ist ein meta objekt definiert mit dem hilfetext
          Benutzerdateien und Bilder für den Hintergrund

          theoretisch müsstest du darüber dann auch vom zigbee-adapter reinschauen können um irgendwie zu prüfen ob alles da ist


          besser wäre aber:
          hab jetzt nicht noch weiter reingeschaut, ob es noch andere gibt, die dynamisch erzeugt werden.

          so ganz hab ich deinen usecase noch nicht verstanden.
          aber soweit für den zigbeeadapter werden eine gewisse anzahl von dateien benötigts (wahrscheinlich in einem bestimmten format) ansonsten läuft der nicht oder nur teilweise.

          da würde mir eigentich am besten sowas einfallen:
          Bei jsonConfig gibt es diese Komponente
          https://github.com/ioBroker/ioBroker.admin/blob/b8f54c7774a59b3f1b33c48c67ea0f27413465fa/packages/jsonConfig/src/JsonConfigComponent/ConfigImageUpload.tsx
          Wenn es das nicht nur für Bilder sondern für allgemeine Dateien gäbe, dann könnte der Anwender im AdminDialog deines Adapers lle Dateien bereitstellen, bei Upload kannst du auch gleich prüfen ob die Dateien in sich gültig sind und nur bei Erfolg dann die Config speichern und den Adapter starten.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          AsgothianA 1 Reply Last reply
          0
          • OliverIOO OliverIO

            @asgothian

            also ich interpretiere hier nur noch. ich hab das jetzt nicht selber ausprobiert. auch gibt es wahrscheinlich da nicht soviele beispiele.

            ich würde davon ausgehen, das du im zigbee adapter kein meta objekt für einen anderen adapter defnierst oder solltest.

            wenn man im admin adapter nachschaut findet man diese stelle
            https://github.com/ioBroker/ioBroker.admin/blob/b8f54c7774a59b3f1b33c48c67ea0f27413465fa/packages/admin/io-package.json#L473

            hier ist ein meta objekt definiert mit dem hilfetext
            Benutzerdateien und Bilder für den Hintergrund

            theoretisch müsstest du darüber dann auch vom zigbee-adapter reinschauen können um irgendwie zu prüfen ob alles da ist


            besser wäre aber:
            hab jetzt nicht noch weiter reingeschaut, ob es noch andere gibt, die dynamisch erzeugt werden.

            so ganz hab ich deinen usecase noch nicht verstanden.
            aber soweit für den zigbeeadapter werden eine gewisse anzahl von dateien benötigts (wahrscheinlich in einem bestimmten format) ansonsten läuft der nicht oder nur teilweise.

            da würde mir eigentich am besten sowas einfallen:
            Bei jsonConfig gibt es diese Komponente
            https://github.com/ioBroker/ioBroker.admin/blob/b8f54c7774a59b3f1b33c48c67ea0f27413465fa/packages/jsonConfig/src/JsonConfigComponent/ConfigImageUpload.tsx
            Wenn es das nicht nur für Bilder sondern für allgemeine Dateien gäbe, dann könnte der Anwender im AdminDialog deines Adapers lle Dateien bereitstellen, bei Upload kannst du auch gleich prüfen ob die Dateien in sich gültig sind und nur bei Erfolg dann die Config speichern und den Adapter starten.

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            wrote on last edited by Asgothian
            #10

            @oliverio ich zeig einfach mal worum es geht:

            im Zigbee Adapter gibt es eine Seite wo die ganzen Geräte dargestellt werden, und eine Steuerung erlauben. Die gleichen Bilder werden auch im Objektbaum benutzt um die Devices leichter auffindbar zu machen

            Screenshot 2025-02-23 at 09.43.02.png
            Screenshot 2025-02-23 at 09.42.46.png

            Das Problem ist das diese Bilder nicht Bestandteil des Adapter-Codes sind, sondern beim 1. Start / Integrieren eines neuen Gerätes aus dem Netz herunter geladen werden. Nachdem sie herunter geladen wurden befinden sie sich da wo alle 'image' assets für das Admin interface liegen (/opt/iobroker/node_modules/iobroker.zigbee/admin/img)

            Der Screenshot vom Zigbee-Tab ist ohne Upload. Wenn ich jetzt ein Upload (und reload der Seite) mache sieht das ganze so aus:
            Screenshot 2025-02-23 at 09.47.54.png

            Das Problem ist das je nach Situation / Aktion des Benutzers dieses Upload nach einem Update des Adapters nach dem ersten Start nochmal erfolgen muss. Automatisch ausführen kann ich das nicht - selbst ein 'exec iob upload zigbee' vom Zigbee-Adapter aus aufgerufen klappt nicht - der Adapter wird vom JS Controller beendet.

            Ich suche also eine Möglichkeit festzustellen ob der Upload erfolgt ist. Wenn nicht will ich das dem Nutzer darstellen:
            Screenshot 2025-02-23 at 09.54.15.png .

            Anbei ein Beispiel von dem Entwicklungssystem welches nicht auf Redis setzt. Da kann ich schauen ob alle Bilder erfolgreich übertragen wurden.

            Ich hoffe jetzt wird klarer worum es mir geht.

            Ich hatte das mit @arteck diskutiert - insbesondere weil ich eigentlich die Bilder direkt im Adapter an die 'richtige' stelle legen wollte - das hatte @arteck schon mal probiert und auch mit Ingo diskutiert - das geht aktuell nicht.

            A.
            Nachtrag: ich kann leider nicht einfach verifizieren ob alle von den Kacheln benötigten Bilder ladbar sind, da es durchaus sein kann das ein Bild nicht existiert. Ich muss schon den Abgleich zu den theoretisch verfügbaren Bildern machen. Nur dann kann ein Upload das fehlende Bild bereitstellen.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            T 1 Reply Last reply
            0
            • AsgothianA Asgothian

              @oliverio ich zeig einfach mal worum es geht:

              im Zigbee Adapter gibt es eine Seite wo die ganzen Geräte dargestellt werden, und eine Steuerung erlauben. Die gleichen Bilder werden auch im Objektbaum benutzt um die Devices leichter auffindbar zu machen

              Screenshot 2025-02-23 at 09.43.02.png
              Screenshot 2025-02-23 at 09.42.46.png

              Das Problem ist das diese Bilder nicht Bestandteil des Adapter-Codes sind, sondern beim 1. Start / Integrieren eines neuen Gerätes aus dem Netz herunter geladen werden. Nachdem sie herunter geladen wurden befinden sie sich da wo alle 'image' assets für das Admin interface liegen (/opt/iobroker/node_modules/iobroker.zigbee/admin/img)

              Der Screenshot vom Zigbee-Tab ist ohne Upload. Wenn ich jetzt ein Upload (und reload der Seite) mache sieht das ganze so aus:
              Screenshot 2025-02-23 at 09.47.54.png

              Das Problem ist das je nach Situation / Aktion des Benutzers dieses Upload nach einem Update des Adapters nach dem ersten Start nochmal erfolgen muss. Automatisch ausführen kann ich das nicht - selbst ein 'exec iob upload zigbee' vom Zigbee-Adapter aus aufgerufen klappt nicht - der Adapter wird vom JS Controller beendet.

              Ich suche also eine Möglichkeit festzustellen ob der Upload erfolgt ist. Wenn nicht will ich das dem Nutzer darstellen:
              Screenshot 2025-02-23 at 09.54.15.png .

              Anbei ein Beispiel von dem Entwicklungssystem welches nicht auf Redis setzt. Da kann ich schauen ob alle Bilder erfolgreich übertragen wurden.

              Ich hoffe jetzt wird klarer worum es mir geht.

              Ich hatte das mit @arteck diskutiert - insbesondere weil ich eigentlich die Bilder direkt im Adapter an die 'richtige' stelle legen wollte - das hatte @arteck schon mal probiert und auch mit Ingo diskutiert - das geht aktuell nicht.

              A.
              Nachtrag: ich kann leider nicht einfach verifizieren ob alle von den Kacheln benötigten Bilder ladbar sind, da es durchaus sein kann das ein Bild nicht existiert. Ich muss schon den Abgleich zu den theoretisch verfügbaren Bildern machen. Nur dann kann ein Upload das fehlende Bild bereitstellen.

              T Do not disturb
              T Do not disturb
              ticaki
              wrote on last edited by
              #11

              @asgothian

              Das hier liest sich aber anders - Zitat von @apollon77

              Ich denke das einfachste ist wen der Adapter nach dem Download die files einfach in den Admin Store des Adapters schreibt per Adapter.writeFile. Dann brauchst du so einen Upload Hack nicht.

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              AsgothianA 1 Reply Last reply
              0
              • T ticaki

                @asgothian

                Das hier liest sich aber anders - Zitat von @apollon77

                Ich denke das einfachste ist wen der Adapter nach dem Download die files einfach in den Admin Store des Adapters schreibt per Adapter.writeFile. Dann brauchst du so einen Upload Hack nicht.

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                wrote on last edited by
                #12

                @ticaki sagte in writeFile / readFile:

                @asgothian

                Das hier liest sich aber anders - Zitat von @apollon77

                Ich denke das einfachste ist wen der Adapter nach dem Download die files einfach in den Admin Store des Adapters schreibt per Adapter.writeFile. Dann brauchst du so einen Upload Hack nicht.

                Nach genau so einer Option habe ich lange gesucht - bisher habe ich dazu keine Möglichkeit gefunden. (Siehe auch 1. Post). Nebenbei: wo ist das Zitat her ?

                Es kann sein das ich die Aussage von Arthur fälschlicherweise Ingo zugeordnet habe. Über 2 Ecken, alter Kopf, löchriges Gedächtnis. Wenn dem so sein sollte, dann tut mir das leid.

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                T 1 Reply Last reply
                0
                • AsgothianA Asgothian

                  @ticaki sagte in writeFile / readFile:

                  @asgothian

                  Das hier liest sich aber anders - Zitat von @apollon77

                  Ich denke das einfachste ist wen der Adapter nach dem Download die files einfach in den Admin Store des Adapters schreibt per Adapter.writeFile. Dann brauchst du so einen Upload Hack nicht.

                  Nach genau so einer Option habe ich lange gesucht - bisher habe ich dazu keine Möglichkeit gefunden. (Siehe auch 1. Post). Nebenbei: wo ist das Zitat her ?

                  Es kann sein das ich die Aussage von Arthur fälschlicherweise Ingo zugeordnet habe. Über 2 Ecken, alter Kopf, löchriges Gedächtnis. Wenn dem so sein sollte, dann tut mir das leid.

                  A.

                  T Do not disturb
                  T Do not disturb
                  ticaki
                  wrote on last edited by
                  #13

                  @asgothian

                  Hat er um ca. 9:40 im telegram dev-chat geschrieben.

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  AsgothianA 1 Reply Last reply
                  0
                  • T ticaki

                    @asgothian

                    Hat er um ca. 9:40 im telegram dev-chat geschrieben.

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    wrote on last edited by
                    #14

                    @ticaki Ah.. danke. Telegramm und ich spielen nicht miteinander 🙂

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    T 1 Reply Last reply
                    0
                    • AsgothianA Asgothian

                      @ticaki Ah.. danke. Telegramm und ich spielen nicht miteinander 🙂

                      T Do not disturb
                      T Do not disturb
                      ticaki
                      wrote on last edited by ticaki
                      #15

                      @asgothian
                      dann discord? Edit - nachricht ist auch im discord, beim ersten mal lesen nicht erkannt 🙂 Bildschirmfoto 2025-02-23 um 11.24.56.png

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      AsgothianA 1 Reply Last reply
                      0
                      • T ticaki

                        @asgothian
                        dann discord? Edit - nachricht ist auch im discord, beim ersten mal lesen nicht erkannt 🙂 Bildschirmfoto 2025-02-23 um 11.24.56.png

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        wrote on last edited by
                        #16

                        @ticaki Danke - gefunden. Und auch schon was geschrieben

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        1 Reply Last reply
                        0
                        • OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by OliverIO
                          #17

                          @asgothian

                          Dann Bau dir doch deinen eigenen Upload ein.
                          Der Upload von io Broker verwendet die gleichen Befehle, die du auch verwenden kannst

                          Dann musst du nicht darauf vertrauen, ob der Benutzer etwas richtig oder vielleicht auch falsch machst. Dann ist das besser automatisiert und mehr Komfort für deinen Nutzer

                          https://github.com/ioBroker/ioBroker.js-controller/blob/e38b2adfe0354339b6f5b0a49b10e94fb0b9b7ca/packages/cli/src/lib/setup/setupUpload.ts#L319

                          Hast du denn diese Befehle schon verwendet?
                          Kommen Fehlermeldungen?

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          AsgothianA 1 Reply Last reply
                          0
                          • OliverIOO OliverIO

                            @asgothian

                            Dann Bau dir doch deinen eigenen Upload ein.
                            Der Upload von io Broker verwendet die gleichen Befehle, die du auch verwenden kannst

                            Dann musst du nicht darauf vertrauen, ob der Benutzer etwas richtig oder vielleicht auch falsch machst. Dann ist das besser automatisiert und mehr Komfort für deinen Nutzer

                            https://github.com/ioBroker/ioBroker.js-controller/blob/e38b2adfe0354339b6f5b0a49b10e94fb0b9b7ca/packages/cli/src/lib/setup/setupUpload.ts#L319

                            Hast du denn diese Befehle schon verwendet?
                            Kommen Fehlermeldungen?

                            AsgothianA Offline
                            AsgothianA Offline
                            Asgothian
                            Developer
                            wrote on last edited by
                            #18

                            @oliverio sagte in writeFile / readFile:

                            Hast du denn diese Befehle schon verwendet?
                            Kommen Fehlermeldungen?

                            Siehe 1. Post.

                            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                            AsgothianA 1 Reply Last reply
                            0
                            • AsgothianA Asgothian

                              @oliverio sagte in writeFile / readFile:

                              Hast du denn diese Befehle schon verwendet?
                              Kommen Fehlermeldungen?

                              Siehe 1. Post.

                              AsgothianA Offline
                              AsgothianA Offline
                              Asgothian
                              Developer
                              wrote on last edited by Asgothian
                              #19

                              Die Lösung:

                              this.writeFile(`${this.name}.admin`, 'test.txt', 'test data', (err) => this.log.warn(err ? 'error writing file '+ JSON.stringify(err) : 'success'));
                              

                              wirft keinen Fehler und erzeugt die Datei.

                              Vielen Dank für die Hilfe. Damit komm ich erst einmal weiter

                              A.

                              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

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


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              641

                              Online

                              32.4k

                              Users

                              81.4k

                              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