Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter lokal entwickeln und betreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Adapter lokal entwickeln und betreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bannsaenger
      Bannsaenger last edited by

      Hallo zusammen,
      ich bin gerade dabei einen bzw. mehrere Adapter zu entwickeln. Dazu habe ich mir ein Template mit dem Generator erstellt.
      Dann ein lokales Verzeichnis in meiner iobroker Instanz angelegt "iobroker.adapter-name" und dort alle Template Dateien reinkopiert.
      Mit "npm install" in der Kommandozeile in dem Verzeichnis konnte ich auch den Adapter in VS Code entwickeln, debuggen etc.
      Es ist mit jetzt schon hin und wieder passiert, leider weiss ich nicht wann genau, dass plötzlich das Verzeichnis des Adapters komplett oder manchmal auch nur größtenteils leer war.
      Die Instanz lief noch, konnte aber natürlich nicht mehr neu gestartet werden, da keine Files mehr da waren.
      Backup reinkopieren -> npm install und alles ist wieder ok. Nur weiss ich nicht wie lange.
      Ich habe jetzt gerade begonnen meine Adapter in Gitlab zu halten. Hoffentlich ist dann diese Verhalten weg.
      Ach ja, es passiert unter Windows wie auch unter Linux.
      Ich muss jetzt dann den iobroker auch offline betrieben, da ich nicht immer bei allen Installationen Internetanbindung habe.
      Daher auch die Frage: Ist es möglich den iobroker, wenn er mal installiert ist, dann auch offline weiter zu betreiben ?
      Dazu müsste natürlich das vorher genannte Verhalten abstellbar sein. Auch ein offline Adapterupdate wäre dann wichtig.
      Vielen Dank schon mal.

      UncleSam 1 Reply Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @Bannsaenger last edited by

        @Bannsaenger Die einfachste Lösung ist mit npm link zu arbeiten. Damit entwickelst du in deinem Verzeichnis und die Dateien sind dann "magisch" auch immer gleich im ioBroker Verzeichnis.

        Die zweite Variante ist npm pack damit machst du ein tgz das du dann mit dem iobroker Kommando installieren kannst.

        Beides musst du ja nur machen, wenn du etwas an Admin GUI änderst, denn zum debuggen startest du den Adapter einfach mit -debug in deinem Verzeichnis und er "hängt" sich selber an den laufenden ioBroker.

        Die weitaus schönste Variante ist Devcontainer.

        Wenn du zu einer oder mehreren Varianten noch mehr Infos brauchst: einfach fragen.

        Übrigens: weshalb verwendest du Gitlab und nicht Github?!

        Asgothian Bannsaenger 2 Replies Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @UncleSam last edited by Asgothian

          @UncleSam sagte in Adapter lokal entwickeln und betreiben:

          Die einfachste Lösung ist mit npm link zu arbeiten. Damit entwickelst du in deinem Verzeichnis und die Dateien sind dann "magisch" auch immer gleich im ioBroker Verzeichnis.

          Frage: Funktioniert das auch über "Rechnergrenzen" hinweg ?

          Ich arbeite im Moment sehr altbacken:

          • Entwicklung auf meinem Mac (kein iobroker installiert)
          • Atom als Editor (Atom.io) mit sftp und GitHub Integration)
          • Manuelle Synchronisation per sftp mit dem Adapterverzeichnis
          • Manuelles Stage/commit zu GitHub

          A.
          Nachtrag: DevContainer hab ich versucht - geht auf dem Mac so nicht - ich bekomme es nicht stabil zu laufen. Schon das Einrichten des Containers geht in die Hose.
          Nachtrag 2: Ich kenne mich mit Docker und so weiter überhaupt nicht aus. Ich habe versucht den Container nach den vorhandenen Anleitungen anzulegen, stolpere aber schon bei der Einrichtung des Netzwerkes, da die Netzwerknamen in der Form nicht passen.

          UncleSam 1 Reply Last reply Reply Quote 0
          • UncleSam
            UncleSam Developer @Asgothian last edited by

            @Asgothian sagte in Adapter lokal entwickeln und betreiben:

            @UncleSam sagte in Adapter lokal entwickeln und betreiben:

            Die einfachste Lösung ist mit npm link zu arbeiten. Damit entwickelst du in deinem Verzeichnis und die Dateien sind dann "magisch" auch immer gleich im ioBroker Verzeichnis.

            Frage: Funktioniert das auch über "Rechnergrenzen" hinweg ?

            Nein, npm link geht nur auf demselben System, man könnte etwas mit mounts machen, aber das ist ein Gebastel.

            Nachtrag: DevContainer hab ich versucht - geht auf dem Mac so nicht - ich bekomme es nicht stabil zu laufen. Schon das Einrichten des Containers geht in die Hose.

            Da wäre interessant zu wissen, was schief geht. Wenn du DevContainer nutzen willst, musst du nur Docker und VS Code installieren. Alles andere sollte dann VS Code machen.

            Nachtrag 2: Ich kenne mich mit Docker und so weiter überhaupt nicht aus. Ich habe versucht den Container nach den vorhandenen Anleitungen anzulegen, stolpere aber schon bei der Einrichtung des Netzwerkes, da die Netzwerknamen in der Form nicht passen.

            Da hast du wahrscheinlich etwas falsch verstanden. Wenn du ioBroker als Container auf deinem Mac laufen lassen willst, musst du nur den Container starten; mit Netzwerk etc. solltest du gar nichts zu tun haben. Wenn Docker sauber installiert ist, genügt der folgende Befehl um einen leeren ioBroker zu starten, den du mit localhost:8081 erreichen kannst (das sollte man dann aber nicht produktiv so nutzen!):

            docker run --name mein-iobroker -p 8081:8081 -it buanet/iobroker
            
            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @UncleSam last edited by

              @UncleSam sagte in Adapter lokal entwickeln und betreiben:

              Da hast du wahrscheinlich etwas falsch verstanden. Wenn du ioBroker als Container auf deinem Mac laufen lassen willst, musst du nur den Container starten; mit Netzwerk etc. solltest du gar nichts zu tun haben. Wenn Docker sauber installiert ist, genügt der folgende Befehl um einen leeren ioBroker zu starten, den du mit localhost:8081 erreichen kannst (das sollte man dann aber nicht produktiv so nutzen!):
              docker run --name mein-iobroker -p 8081:8081 -it buanet/iobroker

              Das probier ich heute Abend noch einmal. Ich hatte mich entlang der Anleitung des Erstellers dieses Containers versucht durch zu hangeln, der das ganze mit einer Wartungsoberfläche nutzt. Dabei konnte ich aber kein Netzwerk einrichten, da die Oberfläche zwingend ein ethX oder wlanY als Netzwerkname haben will, während ich nur enX bieten kann.

              UncleSam 1 Reply Last reply Reply Quote 0
              • UncleSam
                UncleSam Developer @Asgothian last edited by

                @Asgothian sagte in Adapter lokal entwickeln und betreiben:

                das ganze mit einer Wartungsoberfläche nutzt

                Wenn du die neuste Version von Docker Desktop für Mac hast, ist dort auch das Dashboard dabei. Dort kann man einige Sachen einfacher machen als per Kommandozeile. Aber solch einfache Befehle wie oben kannst du einfach im Terminal eingeben.

                1 Reply Last reply Reply Quote 0
                • Bannsaenger
                  Bannsaenger @UncleSam last edited by

                  @UncleSam Vielen Dank für die schnelle Antwort.

                  Ich werde die Varianten mal probieren. Ggf. komme ich noch mal auf dich zurück.

                  Das mit Gitlab hatte ich aus einer Anleitung von [Michael Herwig](Link https://herwig.de/anleitungen/entwicklung/gitlab/workflow-vscode-git-gitlab.html).

                  Dann steige ich mal auf Github um.
                  Danke.

                  UncleSam 1 Reply Last reply Reply Quote 0
                  • UncleSam
                    UncleSam Developer @Bannsaenger last edited by

                    @Bannsaenger Der Grund ist, dass ioBroker und alle anderen Adapter bei GitHub sind. Du machst dir nur mehr Arbeit, wenn du auch noch GitLab benutzen willst.

                    Wenn du übrigens Ideen brauchst zum Entwickeln von Adaptern, dann schau dir mal andere Adapter an. Beispiele:

                    • https://github.com/iobroker-community-adapters/ (die sind nicht alle in gutem Zustand!)
                    • https://github.com/AlCalzone/ioBroker.tradfri
                    • https://github.com/UncleSamSwiss/ioBroker.loxone

                    ... und sonst ist das Forum natürlich immer dein Freund! 😃

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    706
                    Online

                    31.9k
                    Users

                    80.2k
                    Topics

                    1.3m
                    Posts

                    adapter entwicklung lokale daten löschen
                    3
                    8
                    1012
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo