Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter als Git-Repository

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Adapter als Git-Repository

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

      @Bluefox:

      Doch mit git funktioniert ziemlich gut. `

      Dafür scheint es noch eine weitere Voraussetzung zu geben: Der (neue) Adapter muß auch bereits im npm-repository existieren, lokal genügt nicht. Das ist bei meinem noch nicht der Fall.

      Mir bleibt also doch nichts anderes übrig, als den Adapter weiter "in-place" unter node_modules zu entwickeln und das Unterverzeichnis .git jedesmal wegzuverschieben, wenn irgendetwas anderes installiert/deinstalliert werden soll, wozu npm aufgerufen wird.

      Nebenbei: Der Versuch ging gründlich schief. Funktioniert hat der npm-Aufruf nämlich nicht wie geplant, aber das angelegte Verzeichnis /opt/iobroker/adapter.serviio gelöscht hat er trotzdem. Jetzt darf ich zusehen, wo ich ein Backup meiner letzten Änderungen herbekomme. 😞

      MfG

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Tip, nimm den Adapter creator!

        Der liefert die alles in richtiger struktur, package Daten ändern und deine x.js einpflegen.

        Bei weiteren Fragen melden, mache es auch erst seit 2 Monaten ist alles relatief einfach glaub mir.

        Siehe Resultat discovergy (mein erster) und source analytix (mein 2ter adapter)

        Sent from my iPhone using Tapatalk

        1 Reply Last reply Reply Quote 0
        • frankjoke
          frankjoke last edited by

          @Bluefox:

          Doch mit git funktioniert ziemlich gut.

          - /opt
                 /iobroker
                      | adapter.serviio   <= From git
                      | node_modules/blabla
          
          

          Dann schreibst du in /opt/iobroker

          npm i iobroker.serviio
          
          

          Und npm macht automatisch symlink zu /opt/iobroker/node_modules/iobroker.serviio => /opt/iobroker/iobroker.serviio

          Damit lässt sich alles entwickeln.

          … `

          Habe das grad probiert und funktioniert bei mir leider nicht (unter linux)!

          Ich sehe dass npm einen Link erzeugt hat aber nach````
          iobroker add xs1

          instance system.adapter.xs1.0 terminated with code 10 (Cannot find start file of adapter)

          
          übrigens, wie kann ich mich als iobroker user mittels su oder im ssh anmelden?
          
          Bei jetzigem Install hab ich zwar gelesen dass iobroker einen sodoer eintrag bekommen hat aber ich hab keine Ahnung wie ich als iobroker agieren kann!
          1 Reply Last reply Reply Quote 0
          • R
            rewenode last edited by

            @fsjoke:

            npm i iobroker.serviio `
            Muss da nicht der komplette lokale Pfad angegeben werden?

            Und aus /opt/iobroker (oder wo die package.json liegt) aufrufen.

            Jedenfalls tut es dann bei mir.

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              @fsjoke:

              übrigens, wie kann ich mich als iobroker user mittels su oder im ssh anmelden?

              Bei jetzigem Install hab ich zwar gelesen dass iobroker einen sodoer eintrag bekommen hat aber ich hab keine Ahnung wie ich als iobroker agieren kann! `
              Sollte nicht nötig sein, wofür brauchst du das? Der Eintrag ist dafür da, dass iobroker selbst Befehle mit erhöhten Rechten als dieser User absetzen kann.

              1 Reply Last reply Reply Quote 0
              • frankjoke
                frankjoke last edited by

                @rewenode,

                ich bin im Verzeichnis /opt/iobroker und da drinnen ist iobroker.xs1, dann mach ich dort````
                npm i iobroker.xs1

                
                npm mach auch den Link und ich sehe mit````
                ls node_modules/iobroker.xs1
                ````auch meine Dateien, darunter xs1.js das gestartet werden soll aber js-contriller findet es nicht :(
                
                @AlCalzone,
                
                ich möchte Befehle als iobroker-user durchführen!
                
                Ich kann zum Beispiel nicht mehr als user pi oder mit sude den iobroker stoppen, zumindest nicht mit````
                (sudo) iobroker stop
                ````.
                
                Ich krieg den Fehler````
                iobroker controller daemon is not running
                ````obwoh iobroker im hintergrund läuft (wurde bei Systemstart gestartet).
                
                Früher ist mit sudo immer gegangen, und ich hab auch als user pi alles mit iobroker machen können (nur 2-3 Kommandos brauchten sudo).
                1 Reply Last reply Reply Quote 0
                • R
                  rewenode last edited by

                  @fsjoke,

                  Hm, was Anderes mach ich auch nicht :? Wurde der Adapter in die dependencies der package.json eigetragen?

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    @fsjoke:

                    @AlCalzone,

                    ich möchte Befehle als iobroker-user durchführen!

                    Ich kann zum Beispiel nicht mehr als user pi oder mit sude den iobroker stoppen, zumindest nicht mit````
                    (sudo) iobroker stop

                    
                    Ich krieg den Fehler````
                    iobroker controller daemon is not running
                    ````obwoh iobroker im hintergrund läuft (wurde bei Systemstart gestartet).
                    
                    Früher ist mit sudo immer gegangen, und ich hab auch als user pi alles mit iobroker machen können (nur 2-3 Kommandos brauchten sudo). `  
                    

                    Dazu siehe auch die neueste Version des Installers ==> https://github.com/ioBroker/ioBroker/bl … staller.sh

                    und der umfangreiche PR, der dort hin geführt hat ==> https://github.com/ioBroker/ioBroker/pull/99

                    Einfach nur als User iobroker Befehle absetzen reicht nicht:

                    • Es müssen die richtigen Gruppenzugehörigkeiten gesetzt sein

                    • die ausführbare Datei iobroker im Systemverzeichnis muss mit systemd umgehen können

                    • Wenn von systemd gestartet, darf das im JS-Controller integrierte daemonize nicht verwendet werden

                    • In sudoers.d müssen bestimmte Befehle für passwordless sudo freigeschaltet sein.

                    Wenn du mit dem allerneuesten Installer installierst, sind die ganzen Probleme, die du nennst, Geschichte.

                    Für bestehende Installationen ist ein ähnlichen Skript geplant, dass diese auf den neuesten Stand bringst.

                    AlCalzone created this issue in ioBroker/ioBroker

                    closed Move linux part of the installer completely into shell script #99

                    1 Reply Last reply Reply Quote 0
                    • frankjoke
                      frankjoke last edited by

                      AlCalZone,

                      wie ich sonst wo schon erwähnt habe hab ich den neuen Installer verwendet aber daraif vertraut dass iobroker-Befehle (star,stop,restart) noch wie gewohnt arbeiten!

                      Sorry, aber wenn man nach 9 Monaten ohne ioBroker-HW-Kontakt neue Testsysteme installiert und diese dann ganz anders als die alten funktionieren glaubt man zuerst an einem Problem bei sich selbst 🙂

                      Mein eigenes System ist noch mit alter SW installiert worden und läuft - Gott sei Dank - nach 9 Monaten noch immer wie gewohnt!

                      Will meine (selbst programmierten) Adapter jetzt updaten und bemerke halt dass bei neuen Installationen nichts wie vorher funktioniert! Das reicht von der Installation und iobroker management bis zu dem Fact dass ich die Adapter umbauen muss um Befehle mit 'root'-Rechten ausführen zu können!

                      p.s.: Es wäge gut eine mailing-list für adapter-Programmierer zu erzeugen welche Neuerungen und Änderungen am js-controller/Admin oder für Adapter (wie der neue compact adapter mode) geschickt bekommen. Die emails sollten doch in den repos verfügbar sein?

                      1 Reply Last reply Reply Quote 0
                      • frankjoke
                        frankjoke last edited by

                        Ach ja, hab vergessen zu melden warum ich wissen will wie ich einen Process unter iobroker user starten kann:

                        Wenn ich Adapter debugge hab ich immer sowas aufgerufen:

                        sudo node --inspect=192.168.178.91:9229 /opt/iobroker/node_modules/iobroker.radar/radar.js --force --logs --nolazy
                        
                        

                        Nun läuft dieser dann als root und nicht als iobroker!

                        Wie mach ich das für iobroker?

                        p.s.: Hatte auch den Fall dass der Adapter wie oben gelaufen ist aber nicht in iobroker gestartet ist da einige Dateien die geändert wurden nicht zu iobroker gehörten!

                        1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer last edited by

                          Wie gesagt, mit dem neuen installer haben wir auf Änderungen in npm reagiert um die immer mehr auftauchenden rechteprobleme in den Griff zu bekommen. Dass dabei nicht alles sofort klappt, sollte klar sein. Mit dem allerneuesten installer (von vor 2-3 Tagen) sollten die von dir angesprochenen Probleme mit iobroker start/stop Geschichte sein.

                          Der debug Befehl ist natürlich eine legitime Anwendung. Probiere mal

                          sudo -u iobroker node...
                          

                          Gesendet von unterwegs

                          1 Reply Last reply Reply Quote 1
                          • AlCalzone
                            AlCalzone Developer last edited by

                            Um mit dem neuen installer befehle als root auszuführen, reicht es sudo davor zu schreiben. Um nicht grundsätzlich alles zu erlauben (sonst hätten wir uns das auch sparen können) sammeln wir die nötigen befehle hier: https://github.com/ioBroker/ioBroker/issues/96

                            Wenn du was vermisst, bitte eintragen

                            Gesendet von unterwegs

                            AlCalzone created this issue in ioBroker/ioBroker

                            closed Which commands should iobroker be allowed to execute as `sudo`? #96

                            1 Reply Last reply Reply Quote 0
                            • frankjoke
                              frankjoke last edited by

                              @AlCalzone:

                              sudo -u iobroker node...
                              ```` `  
                              

                              Danke, das funktioniert! Kann jetzt endlich wieder testen und die Adapter auf den neuesten Stand bringen!

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              872
                              Online

                              31.6k
                              Users

                              79.4k
                              Topics

                              1.3m
                              Posts

                              7
                              18
                              1309
                              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