Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Installation Ubuntu/Debian: Fehler bei ./iobroker setup

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Installation Ubuntu/Debian: Fehler bei ./iobroker setup

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

      Guten Tag,

      neuer Nutzer und schon nur Probleme. Sorry.

      Habe versucht, iobroker unter Ubuntu zu installieren. beim Aufruf von ./iobroker setup blieb das Programm hängen. Habe mehrere Versuche mit jeweils neuem Ubuntu (Ubuntu Server 14.04 LTS) unternommen. Verschiede node.js Versionen ausprobiert (sowohl Distro als auch neueste Versionen), hat aber keine Änderung gebracht. Da ich zwischenzeitlich auch Ubuntu im Verdacht gehabt habe, habe ich es auch mit Debian probiert. Auch hier dasselbe. Es scheint also nicht mit Ubuntu direkt zusammen zu hängen.

      Um den Problem auf die Schliche zu kommen, habe ich versucht nachzuvollziehen, warum das Programm hängen bleibt:

      Beim Start von ./iobroker setup wird → node /opt/iobroker/lib/setup.js mit dem Argutemnt „setup“ ausgeführt – ok

      setup.js wertet als erstes die Argumente aus. Es wird das Argument „setup“ korrekt erkannt und es wird die Funktion setup() aufgerufen. Hierzu später.

      Eigentlich sollte durch den Aufruf der Funktion setup auch anschließend das Programm beendet werden. Setup wird eine entsprechende Funktion übergeben. Da diese wohl nicht ausgeführt wird, wird die case-Struktur mit dem break-Statement unterbrochen und das Programm landet in einer Endlosschleife: Hier sollte drigend nachgebessert werden, indem nach dem Aufruf der Funktion setup() noch ein Hinweis auf den Fehler per console.log gegeben wird und anschließend das Programm mit process.exit beendet wird. Deshalb bleibt das Programm hängen.

      Nun weiter zum Ablauf des Programms:

      Aufruf der Funktion setup()

      Der Funktion setup wird als Parameter eine Funktion übergeben, die einen einzigen Funktionsaufruf enthält: process.exit();

      Zunächst wird die iobroker.json erzeugt, sofern noch nicht vorhanden.

      Diese sieht bei mir so aus:

      {"network":{"IPv4":true,"IPv6":true,"bindAddress":null},"couch":{"host":"127.0.0.1","port":5984,"user":"","pass":""},"redis":{"host":"127.0.0.1","port":6379,"options":{"auth_pass":null,"retry_max_delay":15000}},"log":{"level":"info","transport":{"syslog1":{"type":"syslog","enabled":false,"host":"127.0.0.1","port":"514","protocol":"udp4","facility":"local0"},"file1":{"type":"file","enabled":true,"filename":"log/iobroker.log","maxsize":null,"maxFiles":null}}}}
      
      

      Dann wird die io-package.json eingelesen nach iopkg. Wegen der Länge der Datei, habe ich diese nicht eingefügt.

      Dann wird dbConnect aufgerufen. Als Parameter wird „dbSetup(iopkg, callback);“ übergeben.

      Was hier gemacht wird, habe ich nicht verstanden. Die Funktion dbSetup() wird jedenfalls nicht aufgerufen. Falls mir jemand erklären könnte, was hier die Funktion machen sollte, komme ich vielleicht auch selber weiter.

      In couchdb sind keine Einträge vorhanden. Webinterface funktioniert.

      Ich hoffe, das hilft für einen Tip. Da andere wohl auch an dieser Stelle gescheitert sind, könnte es spannend werden.

      Nur um einen Mecker vorzubeugen: Habe neuen Thread eröffnet und nicht im Ubuntu Thread gepostet, da das Problem nicht zwingen Ubuntu spezifisch ist.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Hallo gst und Willkommen im Forum,

        Bis du zu einem neuen User wirst wird es noch etwas dauern 😉

        ioBroker ist noch in der Entwicklung und (wahrscheinlich) nicht mal (oder gerade so eben) in der Beta-Phase.

        Zu Ubuntu gibt es bereits einen Thread http://forum.iobroker.org/viewtopic.php?f=8&t=217.

        Leider kenne ich mich mit Ubuntu nicht aus, dort scheinen aber die Pfade anders zu liegen als bei wheezy. Daher läuft es nicht mit der "normalen" Einstellung.

        Was couchDB angeht, ist diese seit der letzten Umstrukturierung NICHT mehr notwendig. http://forum.iobroker.org/viewtopic.php?f=8&t=236#p1526

        Ich bin gerade dabei die Anleitung anzupassen.

        Da es aber in der letzten Zeit wegen der Umstrukturierung sehr viele Änderungen gegeben und ich diese gerne auf "allen" Plattformen testen möchte bevor ich die Anleitung freigebe, kann das noch etwas dauern

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • G
          gst last edited by

          Ist mir klar, dass die Entwicklung noch ein wenig andauern wird. Habe auch keine überspannten Erwartungen und freue mich, wenn ich vielleicht auch etwas Beitragen kann.

          Den Ubuntu Thread habe ich gesehen, hat aber leider nicht geholfen. Unter Debian (amd64) habe ich wie gesagt dasselbe Problem.

          Schön (zumindest zur Zeit) das CouchDB nicht verwendet wird. Damit ist eine Fehlerquelle ausgeschlossen. Mein Verdacht ist, dass die Verbindung zu der Dankenbank nicht klappt. Leider verstehe ich den Code nicht:

          objects = new Objects({
                  logger: {
                      debug: function (msg) { },
                      info:  function (msg) { },
                      warn:  function (msg) {
                          console.log(msg);
                      },
                      error: function (msg) {
                          console.log(msg);
                      }
                  },
                  connected: function () {
                      if (typeof callback === 'function') callback();
                      // restore all objects
                  }
              });
          
          

          Vielleicht könntest Du mir einen kleinen Wink mit der Zaunlatte geben. Debugge ich wieder ein bischen weiter. Ist das die Stelle, an der die Verbindung zu der Datenbank hergestellt wird?

          Gerne bringe ich mich auch in das Projekt etwas ein. Zum Beispiel könnte ich ich auch etwas an der Doku schreiben, wenn ich das Ding zum Laufen gebracht habe. Javascript ist nicht ganz mein Fall. C oder C++ oder x86-Assembler eher. Halt Gruftie.

          Herzlichen Gruß

          Gerhard

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Hallo Gerhard,
            @Homoran:

            Vielleicht könntest Du mir einen kleinen Wink mit der Zaunlatte geben. `

            Danke für die Blumen, aber ich kann kein javascript und auch kein Linux, ich hacke mich da auch immer wieder rein und trage mein Scherflein mit meinen bescheidenen Mitteln dazu bei.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • G
              gst last edited by

              Jetzt habe ich den Grund gefunden, warum kein Kontakt zu einer Datenbank hergestellt wird. Neben CouchDB wurde auch Redis entfernt (vgl. https://github.com/ioBroker/ioBroker.js … ANGELOG.md). Anscheinend werden alle Zustände zur Zeit intern gespeichert.

              Dann ist also frohes Weitersuchen angesagt.

              Gruß Gerhard

              1 Reply Last reply Reply Quote 0
              • G
                gst last edited by

                Interessantes Ergebnis:

                Eben habe ich einfach das System gestartet mit "./iobroker start". Danach war ich abgelenkt und habe vergessen, das System zu beenden und habe mich wieder an das Ausführen von dem Setup gemacht. und es … ging. Die anderen Schritte auch. Werde spätestens im nächsten Jahr dieses noch mal prüfen. Vielleicht wird bei setup.js eine wichtige funktion nicht gestartet. Ich vermute, dass dieses Problem dem Umstand geschuldet ist, dass die Datenbanklen deinstalliert wurden. Bei chouchdb scheint diese aber wieder integriert zu sein, da das log-File eine Verbindung zu chouchdb protokolliert hat.

                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

                1.1k
                Online

                31.7k
                Users

                79.7k
                Topics

                1.3m
                Posts

                2
                6
                2338
                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