Upgrade / Update ioBroker auf Raspberry Pi

  • Hallo zusammen,

    ich möchte mein Wissen mit euch teilen :)
    Oft stand ich vor dem Problem der richtigen Befehle und deren Reihenfolge zur Aktualisierung des Raspberry Pi.
    Zum einen betreibe ich aktuell mehrere Applikationen auf einem Rapsberry Pi und zusätzlich möchte man sich da ja nichts zerschießen.

    Zunächst: Vor jeder Aktualisierung gilt es ein Backup zu erstellen.
    Sowohl vom Raspberry Pi selbst als auch von den einzelnen Applikationen.
    Ich nutze hierfür im ioBroker Backitup zur Sicherung meiner CCU sowie des ioBrokers selbst.

    Dann gehen wir zur Aktualisierung des ioBrokers wie folgt vor:

    1. Verbindung SSH herstellen und mit dem entsprechenden User verbinden (bei mir User: pi)

      pasted-from-clipboard.png
    2. Stop ioBroker

      cd /opt/iobroker
      sudo iobroker stop


    3. Dann aus dem Verzeichnis zurück in die Hauptstruktur.

      cd

    4. Aktualisierung des Raspberry Pi selbst

      sudo apt-get update && sudo apt-get upgrade
    5. Aktualisierung ioBroker

      cd /opt/iobroker
      sudo iobroker update
      sudo iobroker upgrade self

    6. Danach könnt ihr euren ioBroker wieder starten

      sudo iobroker start


    Aktualisierung node.js wie folgt:

    1. Stoppen des ioBroker:

      iobroker stop
    2. Aktualisierung des Repository für die aktuellen Versionen:
      Immer überprüfen, welche Version aktuell als stable vom ioBroker anerkannt wird.
      Aktuell befinden wir uns bei der Version 12.19.0. / 12.19.1. Dies kann über die Information im ioBroker nachgeprüft werden. Durch das anpassen der Datei nodesource.list holen wir uns die aktuellen Hauptversionen. Die Datei kann inhaltlich angepasst werden sodass die einzelnen node-Pakete zur Installation zur Verfügung stehen. Wer z.B. node 10.x. nicht benötigt, kann diesen Eintrag auch entfernen. WICHTIG: Bitte den Dateinamen nicht verändern :) Danke an Eulhofer für das Feedback!

      sudo nano /etc/apt/sources.list.d/nodesource.list

      Die Datei sollte ungefähr so aussehen:
      pasted-from-clipboard.png
      Die Datei kann einfach angepasst werden (gem. dem Screenshot) und mit STRG+E gespeichert werden. Alternativ kann man die Datei auch mit STRG+O speichern oder beim Schließen der Datei mit STRG+X die Änderungen speichern (Danke an Eulhofer für die Rückmeldung) Wichtig: Die letzte Zeile muss einen Umbruch enthalten!

      Zum Abschluss in diesem Schritt noch folgenden Befehl ausführen:

      sudo apt update
    3. Die verfügbaren Versionen kann man dann über folgenden Befehl überprüfen:

      apt policy nodejs

      pasted-from-clipboard.png

    4. Dann wählen wir die entsprechende Version zum Update aus:

      sudo apt install nodejs=12.x.x-1nodesource1
      (Hier bitte die x.x. durch die zu installierende Version ersetzen) - Danke an Eulhofer für das Feedback!


      Überprüfung der Installation: which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs

    5. Wir führen dann noch einen ioBroker fix durch damit alles "rund" läuft:

      iobroker fix

      pasted-from-clipboard.png
    6. Anschließend kann der ioBroker wieder gestartet werden:

      iobroker start

    Aktualisierung npm auf aktuelle Version

    sudo npm cache clean -f

    sudo npm update npm -g

    sudo npm install -g n

    sudo n stable


    Solltet ihr mal Probleme bei der Installation der node-js-Versionen haben könnt ihr auch jederzeit in diesen Versionen zurückspringen. Dies passiert, wenn man die neueste Version von node.js installiert, der ioBroker allerdings als empfohlene Version z.B. node.js 12.x.x. ausgibt.

    1. Prüfe, welche Version vorhanden ist:

    apt policy nodejs

    pasted-from-clipboard.png

    2. Auswahl und Installation einer alternativen node.js Version:

    sudo apt install nodejs=12.x.x-1nodesource1 (hier wieder die x.x. durch die entsprechende Version austauschen)

    Wichtig: wenn die neue entsprechend gewünschte Version installiert wurde, müssen z.B. die neueren Versionen 14.x.x in der nodesource.list auskommentiert werden ( mit einem einfachen #) weil sonst bei einem Update wieder die neueste Version installiert wird.

    Nun sollte sichergestellt sein, dass die Aktualisierung sauber verläuft und die neuesten Versionen eingespielt sind :)

    Viel Spaß damit!

    Danke und beste Grüße,

    Patrick

    ___________________________________________

    Habe diverse Homematic Geräte und Shelly-Aktoren im Einsatz:

    Raspberrymatic Raspberry Pi 3 B+

    Raspberry PI 4 für Unifi Ubiquiti (2 GB)

    Raspberry PI 4 für ioBroker (8 GB)

    Alexa Sprachsteuerung (lokal über ioBroker)

    11 - Rolladenaktor Homematic | 2 - Lichtsensor Homematic | Fußbodenheizung und Steuerung mit Homematic | 2 x Türsensor Homematic | 4 x Shelly 1PM | 2 x Shelly 1 | 1 x Shelly Duo | 5 x Shelly Dimmer 2

    6 Mal editiert, zuletzt von represend (17. November 2020 um 09:44)

  • Zur hilfreichsten Antwort springen
  • Edit: Anleitung wurde im initialen Post angepasst!

    Mit folgenden Befehlen klappts dann auch bzgl. npm und node.js Update:

    Code
    sudo npm cache clean -f
    sudp npm update npm -g
    sudo npm install -g n
    sudo n stable

    Danke und beste Grüße,

    Patrick

    ___________________________________________

    Habe diverse Homematic Geräte und Shelly-Aktoren im Einsatz:

    Raspberrymatic Raspberry Pi 3 B+

    Raspberry PI 4 für Unifi Ubiquiti (2 GB)

    Raspberry PI 4 für ioBroker (8 GB)

    Alexa Sprachsteuerung (lokal über ioBroker)

    11 - Rolladenaktor Homematic | 2 - Lichtsensor Homematic | Fußbodenheizung und Steuerung mit Homematic | 2 x Türsensor Homematic | 4 x Shelly 1PM | 2 x Shelly 1 | 1 x Shelly Duo | 5 x Shelly Dimmer 2

    3 Mal editiert, zuletzt von represend (9. November 2020 um 18:22)

  • Hallo represend,

    vielen Dank für Deine Mühe/Info...

    Mir als Anfänger fallen da gleich ein paar Details auf:

    Bei 3. fehlt der Befehl, wie man "zurück in die Hauptstruktur" kommt...

    Für dich wahrscheinlich augenverdrehend einfach... für Anfänger eine echte "Klippe"...

    Bei 4. sind die beiden Befehlszeilen identisch...

    Ist das korrekt... warum 2x?

    Und die && verbinden die Befehle?

    Ich kenne das nur getrennt/nacheinander....

    Beim Update node.js und npm habe ich bisher gelesen, dass beide erst komplett deinstalliert werden müssen/sollen, bevor man die aktuelleren Versionen installiert ... ist das nicht (mehr) nötig?

    Viele Grüße,

    Wolfgang

    .Nach einem Job mit viel Kurzarbeit, dann Corona bin ich seit einiger Zeit wieder in meinem erlernten Beruf als Elektriker in der boomenden PV-Branche gelandet. Da bleibt kaum noch Zeit mich um die eigenen Smarthome-Ideen zu kümmern... Naja - nicht mehr lange... der Ruhestand winkt schon am Ende des Jahres 2025...

    • Hilfreichste Antwort

    Hi Wolfgang,

    gerne beantworte ich dir deine Fragen:

    Bei 3. fehlt der Befehl, wie man "zurück in die Hauptstruktur" kommt...

    Für dich wahrscheinlich augenverdrehend einfach... für Anfänger eine echte "Klippe"...

    mit dem einfachen Befehl cd kommst du zurück zur Hauptstruktur :-).

    Habe das in der Anleitung ergänzt.

    Bei 4. sind die beiden Befehlszeilen identisch...

    Ist das korrekt... warum 2x?

    da habe ich mich tatsächlich vertan, braucht es nur einmal - ist angepasst :)

    Und die && verbinden die Befehle?

    Ich kenne das nur getrennt/nacheinander....

    korrekt, damit verbindest du die beiden Befehle und kannst Sie direkt nacheinander ausführen.

    Beim Update node.js und npm habe ich bisher gelesen, dass beide erst komplett deinstalliert werden müssen/sollen, bevor man die aktuelleren Versionen installiert ... ist das nicht (mehr) nötig?

    Ich habe das so und so mitbekommen. Mein beschriebener Weg ist in der ioBroker Community ein Standardweg, welcher auch so vorgeschlagen wird. Ich persönlich finde den Weg der Deinstallation und Neuinstalltion immer etwas umständlich. Vielleicht kann hier ein Kollege mal den alternativen Weg beschreiben :-).

    Danke und Grüße,
    Patrick

    Danke und beste Grüße,

    Patrick

    ___________________________________________

    Habe diverse Homematic Geräte und Shelly-Aktoren im Einsatz:

    Raspberrymatic Raspberry Pi 3 B+

    Raspberry PI 4 für Unifi Ubiquiti (2 GB)

    Raspberry PI 4 für ioBroker (8 GB)

    Alexa Sprachsteuerung (lokal über ioBroker)

    11 - Rolladenaktor Homematic | 2 - Lichtsensor Homematic | Fußbodenheizung und Steuerung mit Homematic | 2 x Türsensor Homematic | 4 x Shelly 1PM | 2 x Shelly 1 | 1 x Shelly Duo | 5 x Shelly Dimmer 2

  • Edit noch zu meiner Anleitung:

    • Aufgrund meines Update-Mechanismus habe ich Probleme bei der Installation von Adaptern. Habe dahingegen die Anleitung angepasst auf die aktuelle Node.JS Version.
    • Zusätzlich habe ich noch den Fix laufen lassen bei der ioBroker Instanz.
    • Zusätzlich habe ich noch die Überprüfung der Node.JS Version hinzugefügt.

    Danke und beste Grüße,

    Patrick

    ___________________________________________

    Habe diverse Homematic Geräte und Shelly-Aktoren im Einsatz:

    Raspberrymatic Raspberry Pi 3 B+

    Raspberry PI 4 für Unifi Ubiquiti (2 GB)

    Raspberry PI 4 für ioBroker (8 GB)

    Alexa Sprachsteuerung (lokal über ioBroker)

    11 - Rolladenaktor Homematic | 2 - Lichtsensor Homematic | Fußbodenheizung und Steuerung mit Homematic | 2 x Türsensor Homematic | 4 x Shelly 1PM | 2 x Shelly 1 | 1 x Shelly Duo | 5 x Shelly Dimmer 2

  • Dieses Thema enthält 10 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.