Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ioBroker Installation macOS Mojave

    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

    ioBroker Installation macOS Mojave

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

      Hallo und guten Abend.

      Ich habe heute mal versucht eine ioBroker Instanz auf meinem MacMini mit macOS Mojave zu installieren und bin bisher nach mehreren Versuchen kläglich gescheitert.

      Anscheinend gibt es seit wenigen Tagen eine neue Installationsroutine für ioBroker auf Apples Betriebssystem. Hier mal der Link, den ich nach Ewigkeiten neben den "gängigen" Anleitungen hier im Forum und im Wiki zufällig im Logtext der npm-Installation gefunden habe, nachdem ich das Terminal nach Fehlern abgesucht habe.

      https://github.com/ioBroker/ioBroker/wiki/Installation

      Allerdings ist dies, wenn denn auch der neue Weg ioBroker auf den Mac zu bekommen, nicht von Erfolg gekrönt, da ioBroker nicht wie erwartet startet und auch in der Konsole nicht gestartet werden kann. Irgendwas fehlt anscheinend.

      Hat dies schon jemand durchgespielt und hat hier mal eine überschaubare Doku dazu? Es ist überaus verwirrend, wenn mittlerweile 3 völlig überalterte Installations-Anleitungen rumschwirren und selbst die neueste nicht funktioniert.

      Homebrew und Xcode sind installiert, Node habe ich sowohl die 10, als auch die 8er Version probiert, npm war bisher jedesmal 6.4.1
      Zum guten Schluß habe sogar macOS neu aufgesetzt und ganz frisch von vorn begonnen. Keine Chance.
      Und ich weiß, dass ich es unter High Sierra bereits laufen hatte und nichts weiter machen musste, als über Homebrew Node zu installieren und anschließend über npm Install iobroker --unsafe-perm
      iobroker in den selbst angelegten Ordner nachgeschossen habe. "iobroker start" und schon lief es.

      Mit dem curl Befehl und der Installation in 4 Schritten aus dem Link wird nun zwar der Ordner erstellt, aber anscheinend funktioniert es nicht bei mir.

      Wie gesagt, wenn da mal jemand das schon durchgespielt hat, gerne auch mit der Installation von Node über Homebrew, der möge sich mir bitte erbarmen. 😉

      1 Reply Last reply Reply Quote 0
      • M
        mehrwiedu last edited by mehrwiedu

        Habe den ganzen Weg nun noch einmal durchlaufen, wobei ich meinen Benutzer zum Admin gemacht habe. Hier funktioniert die Installation.
        Allerdings ist das kein schöner Weg, denn den Mac Admin mag ich weder angemeldet haben, noch will ich mit diesem Benutzerkonto arbeiten. Ich teste das gleich mal aus, was passiert, wenn ich den Admin, der nun die ioBroker Instanz im Bauch hat abmelde und mit einem neuen Standardbenutzer das Webinterface von ioBroker öffnen möchte.

        Allerdings, auch bei dieser Installation über System-Admin.

        Enabling autostart...
        bash: line 766: /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
        /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
        Autostart enabled!
        

        Das ist meiner Meinung nach auch die falsche Library. LaunchAgents und die plist darin liegen nicht in der Benutzer-Library, sondern eine Ebene höher, denn ich will ja den Prozess bei jedem Systemstart gestartet haben und nicht nur, wenn ein bestimmter Benutzer angemeldet ist.

        Bildschirmfoto 2019-02-17 um 22.59.57.png

        Daher bekomme ich natürlich bei einem Konsolenstart auch diese Fehlermeldung.

        Bildschirmfoto 2019-02-17 um 23.05.33.png

        Es geht dann mit "iobroker restart".
        Nun läuft die Instanz erstmal, aber schön ist halt anders.
        Problem ist aber auch noch, dass reinstall.sh nicht ausführbar sind und ich den Host nicht geändert bekomme. Die Fehlermeldungen hänge ich gleich mal hier aus dem ioBroker Admin an, wenn ich meine Sicherung eingespielt habe.

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

          Danke für die Hinweise. Mangels OSX konnte ich den neuen Installer nicht selbst auf OSX testen und bin daher auf solche Tips angewiesen. Der Autostart unter OSX wurde als PR von einem User bereitgestellt. Scheinbar ist da Korrekturbedarf.

          Ich stehe da vor folgender Problematik: Unter Linux legen wir einfach einen dedizierten User für ioBroker an, der genau das darf, was wir ihm erlauben. Unter OSX würde der laut meiner Info aber in der Benutzeranmeldung erscheinen, deswegen wollten wir das vermeiden. Als Folge wird ioBroker als der User ausgeführt, der ihn installiert hat.

          Da ich mich mit OSX nicht auskenne, wäre es vllt. gut, wenn du kurz die Benutzer-Struktur erklärst.

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

            Ich habe mal ein Issue erstellt. Wenn du weitere Ideen hast, bitte posten:
            https://github.com/ioBroker/ioBroker/issues/127

            AlCalzone created this issue in ioBroker/ioBroker

            open Rework OSX installer #127

            M 1 Reply Last reply Reply Quote 0
            • M
              mehrwiedu @AlCalzone last edited by

              @AlCalzone

              Ich werde vermutlich heute (spätestens aber morgen) Abend noch einmal die ganze Prozedur durchlaufen und versuchen an den Stellen zu dokumentieren wo es hakt, bzw. was man nachträglich tun muss, damit die Prozedur so durchläuft wie von Euch gewünscht.
              Ich bin leider nicht fit genug, um selbst einen Installer zu generieren, aber ich denke, wenn Ihr die Hinweise habt, was systemseitig an macOS nachträglich gemacht werden muss, könnt Ihr das vielleicht ableiten.

              Unschön ist eben vornehmlich die Tatsache, dass man Admin sein muss um überhaupt einrichten zu können und die Instanz laufen lassen zu können. Das mag vielleicht vielen macOS Nutzern nicht bewusst sein, aber das Admin-Konto sollte kein produktives Arbeitskonto sein und auch eher abgemeldet sein. macOS bietet die Möglichkeit von jedem anderen Standard-User aus Benutzer und Passwort des Admin zur Verifizierung z. B. von Systemänderungen eingeben zu können und somit braucht man eigentlich überhaupt keinen angemeldeten Admin.

              Mit den plist ist es zumindest bei mir so, dass ich ja Installationen aus dem Standard-Benutzer tätige und mit dem Admin nur die Erlaubnis gebe. Somit installiere ich Programme, Dienste, Treiber etc. nicht ausschließlich für einen Benutzer, sondern für alle Benutzer. Damit landen die plist eben auch in der übergeordneten Library und nicht in der Benutzer-Library. Hier ist entweder ein Denkfehler von mir, oder aber der bereitgestellte Autostart kann bei fremden Systemen nicht angelegt werden.

              Momentan habe ich auch noch ein Problem mit dem Restore eines Backups von meiner Docker Installation. Die Fehlermeldung habe ich nicht parat, aber über die Konsole kann ich es selbst als Admin nicht einspielen, weil (und jetzt weiß ich es nicht genau) das extrahierte File unter Files in einer Backup json nicht gefunden wurde.
              Ich vermute, dass dieser Ordner in /usr/local/iobroker keine entsprechenden Rechte hat, um die Backup.tar.gz zu entpacken.
              Mit dem backitup Adapter erstellte Backups aus der neuen Instanz, lassen sich hingegen problemlos in der Konsole über "iobroker restore X" zurückspielen.
              Da habe ich gestern aber nicht mehr weiter forschen können und es erstmal vertagt.

              AlCalzone 1 Reply Last reply Reply Quote 0
              • M
                mehrwiedu @AlCalzone last edited by mehrwiedu

                @AlCalzone said in ioBroker Installation macOS Mojave:

                Ich habe mal ein Issue erstellt. Wenn du weitere Ideen hast, bitte posten:
                https://github.com/ioBroker/ioBroker/issues/127

                Habe mir das Dokument von Apple gerade mal angeschaut. Durchlesen und verstehen kann ich es auch erst heute Abend. 😉
                Was mir aber direkt durch den Kopf geschossen ist, Ihr legt einen Benutzer "ioBroker" an um die Prozesse zu generieren. Ich habe aber schon einen Benutzer "ioBroker" auf der Maschine, mit dem ich außerhalb meines Standardbenutzers, der permanent angemeldet ist um die ioBroker Instanz und weitere Dienste (iCal, iTunes-Server, Mamp, Mailserver, FTP-Server usw.) bereitzustellen und außerhalb des Admins, der nie angemeldet ist, meine VIS auf einem Touchscreen Monitor realisieren möchte. Der hat bis auf einen geführten Zugriff auf die Webseite der VIS keinerlei Berechtigungen. Da beißt sich wahrscheinlich auch etwas.

                Spätestens morgen Abend bin ich aber schlauer und kann Dich hoffentlich tatkräftig (und eigennützig) unterstützen. 🙂

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

                  @mehrwiedu sagte in ioBroker Installation macOS Mojave:

                  Unschön ist eben vornehmlich die Tatsache, dass man Admin sein muss um überhaupt einrichten zu können und die Instanz laufen lassen zu können.

                  Das ist so nicht gedacht. Unter Linux führt der Installer an den entsprechenden Stellen die Befehle per sudo aus, um temporär Admin-Rechte zu erlangen. Ich habe jedoch gelesen, dass das auf OSX von einem normalen User aus nur geht, wenn er Admin-Rechte hat?!

                  Damit landen die plist eben auch in der übergeordneten Library und nicht in der Benutzer-Library. Hier ist entweder ein Denkfehler von mir, oder aber der bereitgestellte Autostart kann bei fremden Systemen nicht angelegt werden.

                  Macht auch Sinn, daher mein Kommentar im verlinkten Issue.

                  Ich vermute, dass dieser Ordner in /usr/local/iobroker keine entsprechenden Rechte hat, um die Backup.tar.gz zu entpacken.

                  Aktuell ist es so, dass der User mit dem installiert wurde, als Owner für diesen Ordner gesetzt wird.

                  Da beißt sich wahrscheinlich auch etwas.

                  Da müsste man entsprechend die Rechte erhöhen auf das nötigste zum Ausführen von ioBroker. Auch da ist mir aber noch nicht klar, wie es genau geht.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    mehrwiedu @AlCalzone last edited by

                    @AlCalzone said in ioBroker Installation macOS Mojave:

                    Ich habe jedoch gelesen, dass das auf OSX von einem normalen User aus nur geht, wenn er Admin-Rechte hat?!

                    Richtig. der Benutzer muss in der Sudoer Liste auftauchen, damit man sudo ausführen kann. Man kann sich aber von jedem Benutzer aus im Terminal mit dem Admin anmelden und dann damit die Befehle ausführen. Auf Berechtigungsebene ist dann allerdings der Admin der Owner und vom Standardbenutzer ist dann der Prozess nicht ausführbar.

                    Aktuell ist es so, dass der User mit dem installiert wurde, als Owner für diesen Ordner gesetzt wird.

                    Damit wird klar, dass ein Standardbenutzer nichts in Ordner schreiben darf. Bei mir ist es allerdings so, dass ich meinen Standardbenutzer "netzwerkzugriff" zum zusätzlichen Admin gemacht habe und dennoch nach der Erstellung der Ordner in "usr/local/ioBroker" wahrscheinlich nicht schreiben darf. Das muss ich aber klären. Es kann genauso gut sein, dass zum Restore des im Docker erstellten Backup über backitup etwas nicht in Ordnung ist. Ich habe das nur herauskopiert und in den Ordner backups von der neuen Instanz kopiert. Über "iobroker restore 0" findet er es auch anstandslos, startet den Restore auch, kann es aber dann anscheinend nicht entpacken.
                    Die fehelende Berechtigung war jetzt nur geraten. Ich habe auch die Fehlermeldung aus dem Terminal nicht genau im Kopf. Nachher poste ich sie hier und dann kann ich auch zu den Berechtigungen genaues sagen.

                    1 Reply Last reply Reply Quote 0
                    • M
                      mehrwiedu last edited by mehrwiedu

                      Hier mal wie versprochen, der Weg den ich gegangen bin und die Hindernisse, auf die ich stoße.

                      Anbei das Terminal-Log während der Installation von ioBroker mit einem Benutzer mit Admin Rechten

                      MacMinis-Mini:/ netzwerkzugriff$ curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash -
                      
                      ==========================================================================
                      
                          Welcome to the ioBroker installer!
                          Installer version: 2019-02-15
                          
                          You might need to enter your password a couple of times.
                      
                      ==========================================================================
                      
                      
                      ==========================================================================
                          Installing prerequisites (1/4)
                      ==========================================================================
                      
                      
                      ==========================================================================
                          Creating ioBroker user and directory (2/4)
                      ==========================================================================
                      
                      Password:
                      Directory /usr/local/iobroker created
                      
                      ==========================================================================
                          Installing ioBroker (3/4)
                      ==========================================================================
                      
                      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                      NPM 5 is currently NOT supported!
                      Please use "npm install -g npm@4" to downgrade npm to 4.x and try again.
                      You need to make sure to downgrade again with the above command after you
                      installed an update to nodejs/npm!
                      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                      npm ERR! code ELIFECYCLE
                      npm ERR! errno 1
                      npm ERR! iobroker@1.0.8 install: `node lib/setup.js`
                      npm ERR! Exit status 1
                      npm ERR! 
                      npm ERR! Failed at the iobroker@1.0.8 install script.
                      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /Users/netzwerkzugriff/.npm/_logs/2019-02-18T16_01_31_492Z-debug.log
                      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                      NPM 5 is currently NOT supported!
                      Please use "npm install -g npm@4" to downgrade npm to 4.x and try again.
                      You need to make sure to downgrade again with the above command after you
                      installed an update to nodejs/npm!
                      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                      npm ERR! code ELIFECYCLE
                      npm ERR! errno 1
                      npm ERR! iobroker@1.0.8 install: `node lib/setup.js`
                      npm ERR! Exit status 1
                      npm ERR! 
                      npm ERR! Failed at the iobroker@1.0.8 install script.
                      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /Users/netzwerkzugriff/.npm/_logs/2019-02-18T16_01_45_906Z-debug.log
                      
                      ==========================================================================
                          Finalizing installation (4/4)
                      ==========================================================================
                      
                      Enabling autostart...
                      bash: line 766: /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      Autostart enabled!
                      
                      ==========================================================================
                      
                          ioBroker was installed successfully
                          Open http://192.168.xxx.xxx:8081 in a browser and start configuring!
                      
                      ==========================================================================
                      
                      
                      You need to re-login before doing anything else on the console!
                      
                      MacMinis-Mini:/ netzwerkzugriff$ 
                      

                      Hier muss ich anschließend über das Terminal in den neu erstellten Ordner unter /usr/local/iobroker gehen und iobroker mit "restart" starten. "Start" gibt folgende Fehlermeldung aus:

                      MacMinis-Mini:/ netzwerkzugriff$ cd /usr/local/iobroker
                      MacMinis-Mini:iobroker netzwerkzugriff$ iobroker start
                      /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      MacMinis-Mini:iobroker netzwerkzugriff$ 
                      

                      Mit "restart" geht es aber und dann habe ich eine jungfräuliche iobroker Installation auf dem Mac. Zwar noch ohne Autostart, aber immerhin.

                      Nun möchte ich mein Backup der zweiten Instanz einspielen.
                      Dazu kopiere ich das Backup in den Ordner /usr/local/iobroker/backups

                      Bildschirmfoto 2019-02-18 um 17.11.43.png

                      Die Datei 2019_02_17-23-23... ist von dem in der neuen Instanz angefertigten Backup aus dem Backitup Adapter und lässt sich sowohl über "iobroker Restore" im Terminal, wie auch über den Backitup Adapter problemlos wieder zurückspielen.
                      Die zweite Datei mit "Total..." am Anfang ist die kopierte Datei von der NAS. Diese lässt sich weder über den Backitup Adapter, noch über das Terminal zurückspielen.

                      Folgende Ausgabe im Terminal:

                      MacMinis-Mini:iobroker netzwerkzugriff$ iobroker stop
                      /Users/netzwerkzugriff/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      Stopping iobroker controller daemon...
                      iobroker controller daemon stopped.
                      Password:
                      Exit code for "killall.sh": 0
                      MacMinis-Mini:iobroker netzwerkzugriff$ iobroker restore
                      Please specify one of the backup names:
                      total_2019_02_17-14_27_57_backupiobroker.tar.gz or total_2019_02_17-14_27_57 or 0
                      2019_02_17-23_23_26_backupiobroker.tar.gz or 2019_02_17-23_23_26 or 1
                      MacMinis-Mini:iobroker netzwerkzugriff$ iobroker restore 0
                      host.MacMinis-Mini.fritz.box Using backup file total_2019_02_17-14_27_57_backupiobroker.tar.gz
                      host.MacMinis-Mini.fritz.box Cannot find extracted file from file "/usr/local/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json"
                      MacMinis-Mini:iobroker netzwerkzugriff$ 
                      

                      Der Backitup Adapter sagt gar nichts, sondern bleibt im Zustand "gestartet" einfach stehen.

                      Ok, eine laufende Instanz bekomme ich so hin, ein Backup nicht.

                      Nun einmal die Variante, wenn der Benutzer am Mac kein Admin ist:

                      MacMinis-Mini:~ iobroker$ curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash -
                      
                      ==========================================================================
                      
                          Welcome to the ioBroker installer!
                          Installer version: 2019-02-15
                          
                          You might need to enter your password a couple of times.
                      
                      ==========================================================================
                      
                      
                      ==========================================================================
                          Installing prerequisites (1/4)
                      ==========================================================================
                      
                      
                      ==========================================================================
                          Creating ioBroker user and directory (2/4)
                      ==========================================================================
                      
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      bash: line 418: cd: /usr/local/iobroker: No such file or directory
                      Directory /usr/local/iobroker created
                      
                      ==========================================================================
                          Installing ioBroker (3/4)
                      ==========================================================================
                      
                      
                      ==========================================================================
                          Finalizing installation (4/4)
                      ==========================================================================
                      
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      bash: line 526: /usr/local/iobroker/iobroker: No such file or directory
                      Password:
                      iobroker is not in the sudoers file.  This incident will be reported.
                      Enabling autostart...
                      bash: line 766: /Users/iobroker/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      /Users/iobroker/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                      Autostart enabled!
                      
                      ==========================================================================
                      
                          ioBroker was installed successfully
                          Open http://192.168.xxx.xxx:8081 in a browser and start configuring!
                      
                      ==========================================================================
                      
                      
                      You need to re-login before doing anything else on the console!
                      
                      MacMinis-Mini:~ iobroker$ 
                      


                      Es wird hierbei kein Ordner erstellt und auch nichts installiert, weil der Benutzer kein sudo kann und die Installationsroutine das Passwort vom Admin nicht akzeptiert.
                      Ich habe gestern halt noch Dateien von ioBroker gehabt, weil ich vorher ja den "alten" Weg gegangen bin über npm Install.

                      Ich hoffe, Du kannst damit etwas anfangen.

                      1 Reply Last reply Reply Quote 0
                      • M
                        mehrwiedu last edited by mehrwiedu

                        @AlCalzone
                        Ich habe nochmal eine Variante hinterher geschoben.
                        Da gibt es jetzt ein wenig Entwarnung, wenn man das so nennen darf.

                        Ich habe nun allen meinen Benutzern mal die Adminrechte entzogen und nur noch das Admin-Konto "MacMini" belassen, welches noch nie angemeldet war.

                        Eine Installation mit curl.... gelingt klaglos, wenn man unter dem Standardbenutzer in macOS im Terminal den Admin anmeldet.

                        Terminal öffnen und anschließend "login Adminkonto" eingeben. Dann wird das Passwort verlangt und man benutzt das Terminal als Admin.

                        Hier das Log von der Installation. Lediglich der Autostart funktioniert nicht, da er immer noch in die Benutzer-Library schreiben will. Allerdings sieht hier die Fehlermeldung etwas anders aus als vorhin. Hier heißt es jetzt "Could not find domain for.."

                        Last login: Mon Feb 18 18:32:03 on console
                        Restored session: Mo 18 Feb 2019 18:29:15 CET
                        MacMinis-Mini:~ iobroker$ login MacMini
                        Password:
                        Last login: Sun Feb 17 20:53:13 on ttys000
                        MacMinis-Mini:~ macmini$ node -v       
                        v8.15.0
                        MacMinis-Mini:~ macmini$ curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash -
                        
                        ==========================================================================
                        
                            Welcome to the ioBroker installer!
                            Installer version: 2019-02-15
                            
                            You might need to enter your password a couple of times.
                        
                        ==========================================================================
                        
                        
                        ==========================================================================
                            Installing prerequisites (1/4)
                        ==========================================================================
                        
                        
                        ==========================================================================
                            Creating ioBroker user and directory (2/4)
                        ==========================================================================
                        
                        Password:
                        Directory /usr/local/iobroker created
                        
                        ==========================================================================
                            Installing ioBroker (3/4)
                        ==========================================================================
                        
                        
                        ==========================================================================
                            Finalizing installation (4/4)
                        ==========================================================================
                        
                        Enabling autostart...
                        bash: line 766: /Users/MacMini/Library/LaunchAgents/org.ioBroker.LaunchAtLogin.plist: No such file or directory
                        Could not find domain for 
                        Autostart enabled!
                        
                        ==========================================================================
                        
                            ioBroker was installed successfully
                            Open http://192.168.xxx.xxx:8081 in a browser and start configuring!
                        
                        ==========================================================================
                        
                        
                        You need to re-login before doing anything else on the console!
                        

                        Die Instanz lässt sich dann aber auch wieder mit "iobroker restart" starten und läuft auch. Habe bereits Adapter installiert und Einstellungen geändert, etc.
                        Restore probiere ich nachher auch mal.

                        (Was hier stand war Blödsinn)

                        Bleibt also nur noch der Autostart als eigentliches Problem, denn ich habe keinen Admin angemeldet und arbeite in ioBroker mit einem beschnittenen Standardbenutzer.

                        Demnach müsste man also erstmal nur der Doku hinzufügen, dass man zur Installation entweder nur einen Benutzer unter macOS haben darf und dieser entsprechend auch Admin sein muss, was er ja als einziger Benutzer zwangsläufig ist.
                        Oder man muss sich im Terminal vom Standardbenutzer vorher mit dem Admin anmelden über "login Adminname".

                        Das war ja eine schwere Geburt. 😉

                        Meine Gedanken zum Autostart bleiben aber immer noch dabei, dass die falsche Library genutzt wird. Es gibt eine im Benutzerordner
                        Bildschirmfoto 2019-02-18 um 18.58.27.png

                        und eine im Systemordner auf der obersten Ebene
                        Bildschirmfoto 2019-02-18 um 18.59.36.png

                        Und darin befinden sich auch die plist im Ordner LaunchAgents. In meinem Fall z. B. die Touch-Base Treiber für den Touchscreen. Die habe ich für alle Benutzer installiert und die sollen dementsprechend auch bei jedem Benutzer automatisch geladen werden.
                        Bildschirmfoto 2019-02-18 um 19.02.21.png

                        Hoffe, wir können das Strukturproblem damit lösen. 🙂

                        1 Reply Last reply Reply Quote 0
                        • M
                          mehrwiedu last edited by

                          Für das Restore Problem habe ich nun auch eine Erklärung.
                          Normale Backups werden ja auch zurückgespielt, aber komplette Backups nicht.
                          Die Erklärung habe ich in der Adapterbeschreibung vom Backitup Adapter gefunden.

                          Dort steht, dass komplette Backups ins root/ Verzeichnis kopiert werden sollen und von dort mit entsprechendem Befehl:

                          sudo tar -xzvf Backupname.tar.gz -C /
                          

                          wieder zurückgespielt werden. Klingt logisch, da ja das gesamte ioBroker Verzeichnis wiederhergestellt wird. Jetzt meine Frage. Was ist für mich in macOS das root-Verzeichnis, wenn iobroker unter Volume/usr/local/iobroker liegt?

                          Und die noch bessere Frage: Brauche ich bei dem Umzug ein komplettes Backup, oder tut es auch das "normale" Backup? Was passiert genau nach dem zurückspielen? Muss ich erst in der Instanz die Adapter alle installieren, oder kommen die automatisch mit? Was ist mit VIS? Sind die Views auch gesichert?

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

                            Die Backup-Fragen kann dir wohl nur @simatec beantworten. Bei den Launch-Agents bin ich deiner Meinung. Irgendwie sollte man das auch hinbekommen, dass es systemweit ausgeführt wird mit einem dedizierten User (iobroker).

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              mehrwiedu @AlCalzone last edited by

                              @AlCalzone said in ioBroker Installation macOS Mojave:

                              Die Backup-Fragen kann dir wohl nur @simatec beantworten. Bei den Launch-Agents bin ich deiner Meinung. Irgendwie sollte man das auch hinbekommen, dass es systemweit ausgeführt wird mit einem dedizierten User (iobroker).

                              Das Backup-Thema ist schon sehr komplex, denn es kommt hier wirklich darauf an, welcher Benutzer das Backup erstellt hat, denn der Ordner Backups und auch die übergeordneten Ordner in /usr/local haben für andere Benutzer als den Ersteller nur Leserechte.
                              Mein Problem ist es momentan noch, dass ich kein komplettes Backup, sprich den Austausch des gesamten iobroker Ordners hinkriege.

                              Das liegt aber an meiner Vorgehensweise bei der Installation. Für brew und die anschliessende Installation von node benötigt man keine Adminrechte. Das habe ich also unter dem Standardbenutzer eingerichtet. Für den curl Befehl zur Installation von iobroker braucht es allerdings wieder Adminrechte und das habe ich ja gestern mit dem Adminlogin im Terminal vom Standardbenutzer durchgeführt. Damit hat aber wiederum nur der Admin die Berechtigung, in dem /usr/local/iobroker Ordner etwas zu ändern.

                              Wenn man nun iobroker mit dem Standardbenutzer bedient liegen die normalen Backups ja im Backups Ordner und sind völlig unkritisch, weil die über den Adapter auch wieder zurückgespielt werden können. Ein komplettes Backup hingegen muss über die Konsole zurückgespielt werden und da ist eben der Adapter für eine macOS Installation unbrauchbar, weil iobroker eben nicht in /opt liegt, sondern in /usr/local.
                              Abgesehen vom Rechteinhaber, wird also immer ein /opt Ordner zusätzlich erstellt und man muss händisch die Verzeichnisse hin und her kopieren. Und wenn nun noch der Besitzer von usr/local/iobroker der Admin ist und der Besitzer der Backupdaten der Standardbenutzer, ist das Chaos perfekt, weil keiner von beiden die jeweilige Berechtigung hat die Datei überhaupt zu entpacken oder die entpackten Files nicht in den Ordner schieben darf. 😉

                              Da breche ich mir gerade noch die Finger, denn ich will ja erstmal nur ein einziges komplettes Backup meiner alten Instanz über die neue bügeln. Das geht eben grad noch nicht, weil node über den Standardnutzer kam und iobroker über den Admin kommen musste. Daher funktioniert auch bei mir kein "host this", weil der Admin das nicht ausführen darf.
                              Wenn ich das raus habe, wie das funktioniert, mache ich eine Doku fertig. Ich gehe jetzt erstmal davon aus, dass alle Vorbereitungen (brew, node, npm und iobroker) über den Admin laufen müssen und man anschließend die Bedienung (inkl. normaler Backups über den Adapter) dann mit dem Standardbenutzer machen kann.

                              1 Reply Last reply Reply Quote 0
                              • simatec
                                simatec Developer Most Active @mehrwiedu last edited by

                                @mehrwiedu

                                Ich würde für ein neues System immer das Standard Backup nehmen.
                                Das total ist eher als Notfallsystem gedacht.

                                Ich muss die Doku noch fixen.

                                Wenn du das total per Konsole wiederherstellen willst, muss es im iobroker Ordner bereits liegen.
                                Also Standard /opt/iobroker

                                Dort auch den Befehl ausführen ...

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  mehrwiedu last edited by mehrwiedu

                                  So, nun habe ich es erstmal geschafft und würde ab hier eine Anleitung bereitstellen, wie man ioBroker auf einem aktuellen macOS inkl. Backup vom Altsystem zum Laufen bringt.

                                  Installation von ioBroker inkl. Xcode, Homebrew und nodejs auf dem Mac (vorerst ohne Autostart) Stand: 19.02.2019

                                  Wichtig: Man muss die gesamte Installation inkl. brew, nodejs, npm und ioBroker von einem Adminbenutzer in macOS tätigen. Es reicht nicht aus, einen Standardbenutzer temporär für die Installation zum Admin zu machen, da die ioBroker Instanz später unter dem Admin gestartet werden muss, der es installiert hat. Andernfalls kommt es früher oder später zu Problemen, bzw. die Instanz startet erst gar nicht aufgrund von Berechtigungsproblemen. Wer nur einen Benutzer unter macOS hat, der braucht dies nicht zu berücksichtigen, alle anderen, deren Admin nur ein unkonfiguriertes Benutzerkonto wie bei mir ist, müssen darauf achten, mit dem Admin während der Installation angemeldet zu sein.

                                  1. Xcode installieren
                                  Um nachher mit Homebrew nodejs installieren zu können, benötigt man Xcode. Dies ist ein Entwicklertools von Apple und kostenlos im MacAppStore erhältlich. https://itunes.apple.com/de/app/xcode/id497799835?mt=12
                                  Für Mac User mit einem Standardbenutzer ist dies die einzige Installation, die man mit dem Standardbenutzer tätigen kann, um dem Admin nicht unnötig iCloud Anmeldedaten oder Zugriff auf den Appstore geben zu müssen.
                                  Xcode aus dem Appstore laden, installieren und einmal ausführen, so dass die Nutzungsbedingungen akzeptiert werden und die Software einsatzbereit ist.
                                  Anschließend unbedingt wieder darauf achten, mit dem Admin angemeldet zu sein. Homebrew und somit auch nodejs lassen sich nämlich auch problemlos ohne Adminrechte installieren.

                                  2. Homebrew installieren
                                  Homebrew ist ein Paketmanager, der eine Installation von z. B. nodejs sehr einfach durchführbar macht und auch die Möglichkeit bietet, sämtliche über ihn getätigten Installationen rückstandslos wieder zu entfernen. Aus diesem Grund habe ich mich für Homebrew entschieden, weil mir damit ein späteres Update von nodejs am Mac einfacher gemacht wird. Es gibt sicherlich auch andere Wege und für Linux-Experten sicherlich auch bessere, aber wer so eine Installation nur einmal im Jahr macht, der freut sich über ein wenig Einfachheit.
                                  Infos zu Homebrew finden sich hier: https://brew.sh/index_de

                                  Zur Installation einfach das Terminal öffnen und

                                  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
                                  

                                  eingeben. Anschließend werdet Ihr bis zum Abschluss der Installation begleitet. Man kann also nichts verkehrt machen.

                                  3. nodejs installieren
                                  Es gibt natürlich viele Wege nodejs auf den Mac zu installieren. Eine davon wäre der ganz normale macOS-Installer(pkg) von der Internetseite https://nodejs.org/en/download/. Allerdings beinhaltet dieser immer das letzte LTS oder eben die Current Version.
                                  Aktuell ist das glaube ich node 11.x
                                  Auch deshalb habe ich mich für Homebrew entschieden, weil ich hier festlegen kann, welche Version installiert werden soll.

                                  Sobald Homebrew also mit seiner eigenen Installation fertig ist, kann man den Befehl zur Installation von nodejs geben.
                                  Hierzu im noch geöffneten Terminalfenster

                                  brew install node
                                  

                                  eingeben. Bei diesem Befehl wird allerdings auch die letzte LTS installiert.

                                  brew install node@8
                                  

                                  installiert z. B. die letzte 8er Version 8.15.0

                                  4. node verlinken
                                  Mit der reinen Installation von node ist es aber noch nicht getan, denn die Version muss noch verlinkt werden. Vorher kann man auch noch gar nicht die Versionsinfo

                                  node -v
                                  

                                  abrufen.
                                  Auch hier hilft Homebrew ohne wirkliche Vorkenntnisse prima weiter. Das ermöglicht z. B. auch, mehrere node Versionen parallel auf dem Mac laufen zu haben, wovon nur eine verlinkt ist. So kann man vor einem Update auch erst mal testen. 😉

                                  brew link node@8 --force
                                  

                                  wäre hier der Befehl, der im Terminal direkt nach der Installation von node 8.15.0 ausgeführt werden muss.
                                  Mit nodejs kommt auch automatisch npm mit, dessen Version man nach der Verlinkung von node sehen kann. Mit der 8er, sowie der 10er node Version kommt npm 6.4.1 mit.

                                  5. ioBroker installieren
                                  Um nun ioBroker auf den Rechner zu bekommen, im immer noch geöffneten Terminal

                                  curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash -
                                  

                                  eingeben. Die Installation erfolgt in 4 Schritten, wobei der entsprechende Ordner, in den ioBroker kopiert wird, automatisch angelegt wird. Alle anderen Anleitungen, bei denen unter Dokumente oder sonst wo auf der Festplatte ein Ordner namens "ioBroker" angelegt werden soll, kann man ignorieren. Die führen nicht mehr zum Ziel.
                                  Die Installation quittiert später mit dem Hinweis, dass man nun den Host:8081 aufrufen kann.
                                  Das stimmt zum jetzigen Zeitpunkt leider noch nicht. Die Autostart plist werden nämlich vom Installer noch nicht angelegt. ioBroker muss manuell gestartet werden. Dies kann man, sofern man nicht noch ein Backup einspielen will, sowohl vom Admin, als auch vom Standardbenutzer tun.
                                  Wer also nur ioBroker als neue, frische Instanz installieren wollte, ist hier fertig und kann im Adminkonto im Terminal

                                  cd /usr/local/iobroker
                                  iobroker start
                                  

                                  eingeben. Sollte iobroker start nicht funktionieren und mit einer Fehlermeldung enden, gebt stattdessen iobroker restart ein. Das funktioniert in jedem Fall.
                                  Wer iobroker nun erst mit dem Standardbenutzer einrichten will, der meldet den Admin ab und meldet sich mit seinem Standardbenutzer an und öffnet dort das Terminal. Hier muss man allerdings den Startbefehl mit dem Adminkonto geben und deshalb lautet hier der Befehl

                                  login Admin-Benutzername
                                  Passwort eingeben
                                  cd /usr/local/iobroker
                                  iobroker start oder iobroker restart
                                  

                                  6. Nach der Installation ein komplettes Backup einspielen (ioBroker Umzug)
                                  Das ist jetzt leider nicht so einfach, denn ein komplettes Backup kann nicht wie in vielen Anleitungen geschrieben einfach in den Backup-Ordner von ioBroker installiert werden. Das komplette Backup beinhaltet den gesamten gepackten Ordner "iobroker" und muss an der Stelle wieder entpackt werden.
                                  Das hat mich zwar die meiste Zeit gekostet, aber am Ende war es auch mit die logischste Geschichte.

                                  Zunächst müssen wir das ganze aber wieder unter dem Adminkonto am Mac machen, weil die Berechtigungen der Ordner uns sonst ein Schnippchen schlagen. Zudem muss das Backup vom Altsystem so gemacht werden, dass der /opt Ordner, wenn man von einem Linux System kommt, nicht im Restore wiederhergestellt wird, denn den gibt es auf dem Mac nicht.

                                  Also Backup am Altsystem

                                  cd /opt
                                  tar -cf /opt/iobroker_backup.tar iobroker/
                                  

                                  Hier wird eine tar-Datei in den Ordner /opt des Altsystems geschrieben, die den darin befindlichen Ordner /iobroker mit all seinen Unterordnern packt. Diese Datei auf gewünschtem Weg auf den Mac ins Adminkonto kopieren.

                                  Dort dann das Terminal aufrufen, iobroker stoppen, falls es läuft und mit

                                  tar -vxf <Ordner-und Dateiname der tar-Datei> -C /usr/local
                                  

                                  entpacken. Hier den Zielpfad /iobroker definitiv weglassen, denn sonst wird er im vorhandenen /usr/local/iobroker nochmal angelegt.

                                  Anschließend noch

                                  cd /usr/local/iobroker
                                  iobroker host this
                                  

                                  eingeben und die Instanz über den Admin oder auch den Standardbenutzer mit angemeldetem Admin im Terminal wieder starten.

                                  Thats it! Relativ einfach, aber bei mir zumindest ein holpriger Weg bis dahin. Falls anschließend Instanzen nicht starten, diese löschen und neu anlegen. Das ist mir lediglich mit dem Tradfri Adapter passiert. Alle anderen Adapter liefen direkt einwandfrei und auch alle Views, Skripte und Datenpunkte waren wieder da. Alexa muss dann noch einmal nach neuen Geräten suchen, falls die Anbindung an Alexa vorher bestanden hat, aber das war es. 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mehrwiedu @simatec last edited by mehrwiedu

                                    @simatec said in ioBroker Installation macOS Mojave:

                                    Wenn du das total per Konsole wiederherstellen willst, muss es im iobroker Ordner bereits liegen.
                                    Also Standard /opt/iobroker

                                    Hallo @simatec.
                                    Danke für Deine Antwort. Ich habe mit dem Adapter wirklich sehr lange herum experimentiert und er war für eine Wiederherstellung auf macOS leider nicht zu gebrauchen. Ich vermute, so wie ich es bereits im vorhergehenden Beitrag in der Anleitung geschrieben habe, dass wie es unter Linux üblich ist, der Adapter das komplette Backup mit dem Ordner /opt macht und diesen gibt es eben nicht auf dem Mac. ioBroker wird hier in /usr/local geschrieben. Im gelindesten Fall hat man nach dem Restore in /local noch einen /opt Ordner, den man dann manuell wieder kopieren muss. Dabei gehen aber die node-module den Bach runter, wie es bei mir zumindest der Fall war.

                                    Der Adapter ist zumindest unter macOS, außerhalb einer Linux-Umgebung tatsächlich wie Du schreibst, nur für einfache "minimale" Backups zu nutzen. Heißt aber auch, dass man ein bereits eingerichtetes, gehostetes ioBroker benötigt. 😉
                                    Ich wollte aber komplett umziehen. Vielleicht ist das auch ein Hinweis für alle macOS User, die bisher mit dem Adapter fleißig komplette Backups gemacht haben. Die sind aus meiner Sicht alle unbrauchbar. Zumindest um damit von einem Linux auf ein macOS oder umgekehrt umziehen zu wollen.
                                    Ich mache später auf dem Mac mal ein komplettes Backup mit dem Adapter und schaue mal, was da dann drin steht.

                                    Zumindest kann ich mir vorstellen, dass es Probleme mit den Dateiberechtigungen gibt, wenn man auf dem Mac, so wie ich einen Admin und einen Standardbenutzer hat, der dann die Backups macht und ablegt. Die Dateiberechtigungen werden dann nicht mehr zu den Ordnerberechtigungen passen und damit gibt es Murks beim Restore. Das teste ich aber mal in einer ruhigen Minute aus. Bis dahin wird wohl hoffentlich kein macOS Nutzer in die Verlegenheit kommen, dass sein Leben davon abhängt. 😉
                                    Ich habe es ja auch irgendwie am Ende geschafft von macOS zum Raspberry, vom Raspberry auf einen OMV Server, von Debian in einen Docker auf der Synology und von dort aus nun wieder zu macOS zu wechseln, ohne großartig Daten (wenn auch viel Zeit) zu verlieren. 😉

                                    simatec 1 Reply Last reply Reply Quote 0
                                    • simatec
                                      simatec Developer Most Active @mehrwiedu last edited by

                                      @mehrwiedu

                                      Nei der Adapter ist mit flexiblen Pfad programmiert.
                                      Es wird nicht star das standardverzeichnis /opt/iobroker genommen.

                                      Stelle die Instanz von backitup mal auf debug und poste hier deinen Log.

                                      So sehen wir mehr ...

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      964
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      iobroker startet nicht macos mojave node10
                                      3
                                      17
                                      6398
                                      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