Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Diskussion zum Linux-Werkzeugkasten

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    945

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Diskussion zum Linux-Werkzeugkasten

Scheduled Pinned Locked Moved ioBroker Allgemein
107 Posts 18 Posters 15.4k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Thomas BraunT Thomas Braun

    Der kleine ioBroker/Linux-Werkzeugkasten

    Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

    root login

    Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

    sudo
    

    in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

    Test:

    Als Standarduser

    groups
    

    ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

    Fix:
    Als root

    usermod -aG sudo USERNAME
    

    und danach nie mehr als root einloggen!

    Falls es noch gar keinen Standard-User geben sollte:

    adduser username
    usermod -aG sudo username
    

    username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

    Terminal für Faule

    TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

    Man tippt da nur die ersten paar Buchstaben wie z. B.
    sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

    sudo systemctl status iobroker.service
    

    Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

    RunLevel 5 / graphische Oberfläche

    Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

    Test:
    who -r
    

    liefert RunLevel 3 zurück:

    pi@raspberrypi:~ $ who -r
             Runlevel 3   2021-03-03 22:01
    

    Für andere Systeme kann man das per

    echad@chet:~ $ systemctl get-default
    multi-user.target
    

    prüfen. Hier entspricht multi-user.target dem run level 3.

    Fix:

    Auf dem RaspberryPi am besten per

    sudo raspi-config
    

    in das Systemmenü gehen und dort die Menüpunkte

    1 System Options       Configure system settings
    S5 Boot / Auto Login   Select boot into desktop or to command line
    B1 Console             Text console, requiring user to login
    

    auswählen.
    Auf anderen Systemen stellt man das per

    sudo systemctl set-default multi-user.target
    

    ein.

    Systemupdate

    Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

    Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

    sudo apt update
    sudo apt dist-upgrade
    sudo reboot
    

    Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

    Test:
    sudo apt update
    

    sollte ungefähr so aussehen:

    pi@raspberrypi:~ $ sudo apt update
    Hit:1 http://deb.debian.org/debian bullseye InRelease
    Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
    Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
    Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
    Hit:5 https://repos.influxdata.com/debian bullseye InRelease
    Hit:6 https://packages.grafana.com/oss/deb stable InRelease
    Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
    InRelease
    Fetched 5,536 B in 2s (2,348 B/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
    

    Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

    Fix:
    Wenn dort ausstehende Updates angezeigt werden

    sudo apt update
    sudo apt full-upgrade
    sudo reboot
    

    NodeJS

    Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

    Test:
    type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
    

    schaut etwa so aus:

    pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
    /usr/bin/nodejs
    v14.16.0
    /usr/bin/node
    v14.16.0
    /usr/bin/npm
    6.14.11
    /usr/bin/npx
    6.14.11
    nodejs:
      Installiert:           14.16.0-1nodesource1
      Installationskandidat: 14.16.0-1nodesource1
      Versionstabelle:
     *** 14.16.0-1nodesource1 500
            500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
            100 /var/lib/dpkg/status
         12.21.0-1nodesource1 500
            500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
         10.24.0-1nodesource1 500
            500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
         10.24.0~dfsg-1~deb10u1 500
            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
    

    Wichtig und richtig ist:

    nodejs liegt in /usr/bin
    node liegt in /usr/bin
    npm liegt in /usr/bin

    und nicht in /usr/local/bin
    und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
    Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

    Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

    Fix:
    Bitte hier weiterlesen:
    https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

    ioBroker-Verwahrort

    Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

    Test
    iobroker repo list
    

    schaut etwa so aus

    pi@raspberrypi:~ $ iobroker repo list
    stable      : http://download.iobroker.net/sources-dist.json
    beta        : http://download.iobroker.net/sources-dist-latest.json
    live-beta   : http://iobroker.live/repo/sources-dist-latest.json
    live-stable : http://iobroker.live/repo/sources-dist.json
    
    Active repo: stable
    

    Fix:

    iobroker repo set stable
    

    ioBroker-Adapterupdate

    Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
    Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

    Test:
    iobroker update | grep -i updateable
    

    sieht so aus

    pi@raspberrypi:~ $ iobroker update | grep updateable
    pi@raspberrypi:~ $
    

    Fix:

    iobroker upgrade
    

    Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

    ioBroker Fixer

    Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

    iobroker stop
    iobroker fix
    iobroker restart
    

    Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
    Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

    Hilft alles nix

    Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
    Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

    iobroker logs --watch | uniq
    

    in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
    d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

    Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
    Sieht dann so aus:

    pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
    2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
    

    Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

    Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

    mrbungle64M Offline
    mrbungle64M Offline
    mrbungle64
    Developer
    wrote on last edited by
    #1

    @thomas-braun said in Der kleine ioBroker/Linux-Werkzeugkasten:

    Sehr gute Zusammenfassung :+1:

    der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden

    Diesen Abschnitt könnte man vielleicht noch in fett und/oder roter Farbe darstellen und darauf hinweisen, dass man von Github noch seltener und nur in wirklich begründeteten Fällen (z.B. Empfehlung vom Entwickler, weil ein gemeldeter Bug gefixt wurde) einen Adapter installieren oder akualisieren sollte.

    1 Reply Last reply
    2
    • Thomas BraunT Thomas Braun

      Der kleine ioBroker/Linux-Werkzeugkasten

      Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

      root login

      Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

      sudo
      

      in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

      Test:

      Als Standarduser

      groups
      

      ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

      Fix:
      Als root

      usermod -aG sudo USERNAME
      

      und danach nie mehr als root einloggen!

      Falls es noch gar keinen Standard-User geben sollte:

      adduser username
      usermod -aG sudo username
      

      username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

      Terminal für Faule

      TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

      Man tippt da nur die ersten paar Buchstaben wie z. B.
      sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

      sudo systemctl status iobroker.service
      

      Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

      RunLevel 5 / graphische Oberfläche

      Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

      Test:
      who -r
      

      liefert RunLevel 3 zurück:

      pi@raspberrypi:~ $ who -r
               Runlevel 3   2021-03-03 22:01
      

      Für andere Systeme kann man das per

      echad@chet:~ $ systemctl get-default
      multi-user.target
      

      prüfen. Hier entspricht multi-user.target dem run level 3.

      Fix:

      Auf dem RaspberryPi am besten per

      sudo raspi-config
      

      in das Systemmenü gehen und dort die Menüpunkte

      1 System Options       Configure system settings
      S5 Boot / Auto Login   Select boot into desktop or to command line
      B1 Console             Text console, requiring user to login
      

      auswählen.
      Auf anderen Systemen stellt man das per

      sudo systemctl set-default multi-user.target
      

      ein.

      Systemupdate

      Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

      Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

      sudo apt update
      sudo apt dist-upgrade
      sudo reboot
      

      Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

      Test:
      sudo apt update
      

      sollte ungefähr so aussehen:

      pi@raspberrypi:~ $ sudo apt update
      Hit:1 http://deb.debian.org/debian bullseye InRelease
      Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
      Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
      Hit:5 https://repos.influxdata.com/debian bullseye InRelease
      Hit:6 https://packages.grafana.com/oss/deb stable InRelease
      Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
      InRelease
      Fetched 5,536 B in 2s (2,348 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      All packages are up to date.
      

      Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

      Fix:
      Wenn dort ausstehende Updates angezeigt werden

      sudo apt update
      sudo apt full-upgrade
      sudo reboot
      

      NodeJS

      Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

      Test:
      type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
      

      schaut etwa so aus:

      pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
      /usr/bin/nodejs
      v14.16.0
      /usr/bin/node
      v14.16.0
      /usr/bin/npm
      6.14.11
      /usr/bin/npx
      6.14.11
      nodejs:
        Installiert:           14.16.0-1nodesource1
        Installationskandidat: 14.16.0-1nodesource1
        Versionstabelle:
       *** 14.16.0-1nodesource1 500
              500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
              100 /var/lib/dpkg/status
           12.21.0-1nodesource1 500
              500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
           10.24.0-1nodesource1 500
              500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
           10.24.0~dfsg-1~deb10u1 500
              500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
      

      Wichtig und richtig ist:

      nodejs liegt in /usr/bin
      node liegt in /usr/bin
      npm liegt in /usr/bin

      und nicht in /usr/local/bin
      und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
      Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

      Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

      Fix:
      Bitte hier weiterlesen:
      https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

      ioBroker-Verwahrort

      Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

      Test
      iobroker repo list
      

      schaut etwa so aus

      pi@raspberrypi:~ $ iobroker repo list
      stable      : http://download.iobroker.net/sources-dist.json
      beta        : http://download.iobroker.net/sources-dist-latest.json
      live-beta   : http://iobroker.live/repo/sources-dist-latest.json
      live-stable : http://iobroker.live/repo/sources-dist.json
      
      Active repo: stable
      

      Fix:

      iobroker repo set stable
      

      ioBroker-Adapterupdate

      Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
      Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

      Test:
      iobroker update | grep -i updateable
      

      sieht so aus

      pi@raspberrypi:~ $ iobroker update | grep updateable
      pi@raspberrypi:~ $
      

      Fix:

      iobroker upgrade
      

      Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

      ioBroker Fixer

      Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

      iobroker stop
      iobroker fix
      iobroker restart
      

      Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
      Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

      Hilft alles nix

      Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
      Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

      iobroker logs --watch | uniq
      

      in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
      d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

      Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
      Sieht dann so aus:

      pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
      2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
      

      Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

      Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

      O Away
      O Away
      oFbEQnpoLKKl6mbY5e13
      wrote on last edited by oFbEQnpoLKKl6mbY5e13
      #2

      @thomas-braun sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

      auf dem der ioBroker lebt

      Der Nebensatz muss in Kommata gefasst werden.

      Docker auf einer Synology

      Das ist bei QNAP nicht anders. Vermutlich grundsätzlich so.

      da gibt es zu meinem Leidwesen...

      Für jemanden, der Container verteufelt, leidest du aber ganz schön darunter. :stuck_out_tongue_winking_eye:

      W htreckslerH O 3 Replies Last reply
      0
      • O oFbEQnpoLKKl6mbY5e13

        @thomas-braun sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

        auf dem der ioBroker lebt

        Der Nebensatz muss in Kommata gefasst werden.

        Docker auf einer Synology

        Das ist bei QNAP nicht anders. Vermutlich grundsätzlich so.

        da gibt es zu meinem Leidwesen...

        Für jemanden, der Container verteufelt, leidest du aber ganz schön darunter. :stuck_out_tongue_winking_eye:

        W Online
        W Online
        Wildbill
        wrote on last edited by Wildbill
        #3

        @ofbeqnpolkkl6mby5e13 In Containern , z. B. LxC, ist man als ganz normaler User unterwegs. Nur mit Docker gibt es AFAIK die Ausnahme, dass man dort immer root ist.

        Gruß, Jürgen

        O 1 Reply Last reply
        0
        • W Wildbill

          @ofbeqnpolkkl6mby5e13 In Containern , z. B. LxC, ist man als ganz normaler User unterwegs. Nur mit Docker gibt es AFAIK die Ausnahme, dass man dort immer root ist.

          Gruß, Jürgen

          O Away
          O Away
          oFbEQnpoLKKl6mbY5e13
          wrote on last edited by
          #4

          @wildbill
          Ah, okay.

          1 Reply Last reply
          0
          • Thomas BraunT Thomas Braun

            Der kleine ioBroker/Linux-Werkzeugkasten

            Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

            root login

            Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

            sudo
            

            in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

            Test:

            Als Standarduser

            groups
            

            ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

            Fix:
            Als root

            usermod -aG sudo USERNAME
            

            und danach nie mehr als root einloggen!

            Falls es noch gar keinen Standard-User geben sollte:

            adduser username
            usermod -aG sudo username
            

            username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

            Terminal für Faule

            TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

            Man tippt da nur die ersten paar Buchstaben wie z. B.
            sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

            sudo systemctl status iobroker.service
            

            Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

            RunLevel 5 / graphische Oberfläche

            Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

            Test:
            who -r
            

            liefert RunLevel 3 zurück:

            pi@raspberrypi:~ $ who -r
                     Runlevel 3   2021-03-03 22:01
            

            Für andere Systeme kann man das per

            echad@chet:~ $ systemctl get-default
            multi-user.target
            

            prüfen. Hier entspricht multi-user.target dem run level 3.

            Fix:

            Auf dem RaspberryPi am besten per

            sudo raspi-config
            

            in das Systemmenü gehen und dort die Menüpunkte

            1 System Options       Configure system settings
            S5 Boot / Auto Login   Select boot into desktop or to command line
            B1 Console             Text console, requiring user to login
            

            auswählen.
            Auf anderen Systemen stellt man das per

            sudo systemctl set-default multi-user.target
            

            ein.

            Systemupdate

            Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

            Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

            sudo apt update
            sudo apt dist-upgrade
            sudo reboot
            

            Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

            Test:
            sudo apt update
            

            sollte ungefähr so aussehen:

            pi@raspberrypi:~ $ sudo apt update
            Hit:1 http://deb.debian.org/debian bullseye InRelease
            Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
            Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
            Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
            Hit:5 https://repos.influxdata.com/debian bullseye InRelease
            Hit:6 https://packages.grafana.com/oss/deb stable InRelease
            Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
            InRelease
            Fetched 5,536 B in 2s (2,348 B/s)
            Reading package lists... Done
            Building dependency tree... Done
            Reading state information... Done
            All packages are up to date.
            

            Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

            Fix:
            Wenn dort ausstehende Updates angezeigt werden

            sudo apt update
            sudo apt full-upgrade
            sudo reboot
            

            NodeJS

            Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

            Test:
            type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
            

            schaut etwa so aus:

            pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
            /usr/bin/nodejs
            v14.16.0
            /usr/bin/node
            v14.16.0
            /usr/bin/npm
            6.14.11
            /usr/bin/npx
            6.14.11
            nodejs:
              Installiert:           14.16.0-1nodesource1
              Installationskandidat: 14.16.0-1nodesource1
              Versionstabelle:
             *** 14.16.0-1nodesource1 500
                    500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
                    100 /var/lib/dpkg/status
                 12.21.0-1nodesource1 500
                    500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
                 10.24.0-1nodesource1 500
                    500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
                 10.24.0~dfsg-1~deb10u1 500
                    500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
            

            Wichtig und richtig ist:

            nodejs liegt in /usr/bin
            node liegt in /usr/bin
            npm liegt in /usr/bin

            und nicht in /usr/local/bin
            und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
            Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

            Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

            Fix:
            Bitte hier weiterlesen:
            https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

            ioBroker-Verwahrort

            Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

            Test
            iobroker repo list
            

            schaut etwa so aus

            pi@raspberrypi:~ $ iobroker repo list
            stable      : http://download.iobroker.net/sources-dist.json
            beta        : http://download.iobroker.net/sources-dist-latest.json
            live-beta   : http://iobroker.live/repo/sources-dist-latest.json
            live-stable : http://iobroker.live/repo/sources-dist.json
            
            Active repo: stable
            

            Fix:

            iobroker repo set stable
            

            ioBroker-Adapterupdate

            Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
            Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

            Test:
            iobroker update | grep -i updateable
            

            sieht so aus

            pi@raspberrypi:~ $ iobroker update | grep updateable
            pi@raspberrypi:~ $
            

            Fix:

            iobroker upgrade
            

            Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

            ioBroker Fixer

            Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

            iobroker stop
            iobroker fix
            iobroker restart
            

            Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
            Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

            Hilft alles nix

            Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
            Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

            iobroker logs --watch | uniq
            

            in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
            d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

            Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
            Sieht dann so aus:

            pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
            2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
            

            Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

            Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            wrote on last edited by OliverIO
            #5

            @thomas-braun
            Super.
            Sollte sowas nicht auch noch in einen Wiki landen?
            Dort wäre dann das gesammelte Wissen als Single source of truth zu iobroker.
            Forum ist super zum diskutieren. Anfänger finden solche Informationen aber nicht wenn man nicht die richtigen Suchbegriffe kennt oder findet Informationen die für vergangene Versionen Noch gegolten haben.
            Zuviele stickys oder links in den Kästen über/unter/neben dem Forum macht die informationserlangung auf Dauer auch nicht einfacher.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            Thomas BraunT HomoranH 2 Replies Last reply
            1
            • OliverIOO OliverIO

              @thomas-braun
              Super.
              Sollte sowas nicht auch noch in einen Wiki landen?
              Dort wäre dann das gesammelte Wissen als Single source of truth zu iobroker.
              Forum ist super zum diskutieren. Anfänger finden solche Informationen aber nicht wenn man nicht die richtigen Suchbegriffe kennt oder findet Informationen die für vergangene Versionen Noch gegolten haben.
              Zuviele stickys oder links in den Kästen über/unter/neben dem Forum macht die informationserlangung auf Dauer auch nicht einfacher.

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              wrote on last edited by
              #6

              @oliverio

              Ja, ich fände ein Wiki auch super. Aber das gab es wohl schon mal, ist dann eingestellt worden.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              O 1 Reply Last reply
              0
              • Thomas BraunT Thomas Braun

                @oliverio

                Ja, ich fände ein Wiki auch super. Aber das gab es wohl schon mal, ist dann eingestellt worden.

                O Away
                O Away
                oFbEQnpoLKKl6mbY5e13
                wrote on last edited by oFbEQnpoLKKl6mbY5e13
                #7

                @thomas-braun
                Bitte hinter "herum zu zicken" auch noch ein Komma.

                Wiki wäre sehr gut, dann könnte man solche Flüchtigkeitsfehler einfach schnell selbst korrigieren.

                1 Reply Last reply
                0
                • Thomas BraunT Thomas Braun

                  Der kleine ioBroker/Linux-Werkzeugkasten

                  Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

                  root login

                  Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

                  sudo
                  

                  in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

                  Test:

                  Als Standarduser

                  groups
                  

                  ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

                  Fix:
                  Als root

                  usermod -aG sudo USERNAME
                  

                  und danach nie mehr als root einloggen!

                  Falls es noch gar keinen Standard-User geben sollte:

                  adduser username
                  usermod -aG sudo username
                  

                  username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

                  Terminal für Faule

                  TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

                  Man tippt da nur die ersten paar Buchstaben wie z. B.
                  sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

                  sudo systemctl status iobroker.service
                  

                  Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

                  RunLevel 5 / graphische Oberfläche

                  Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

                  Test:
                  who -r
                  

                  liefert RunLevel 3 zurück:

                  pi@raspberrypi:~ $ who -r
                           Runlevel 3   2021-03-03 22:01
                  

                  Für andere Systeme kann man das per

                  echad@chet:~ $ systemctl get-default
                  multi-user.target
                  

                  prüfen. Hier entspricht multi-user.target dem run level 3.

                  Fix:

                  Auf dem RaspberryPi am besten per

                  sudo raspi-config
                  

                  in das Systemmenü gehen und dort die Menüpunkte

                  1 System Options       Configure system settings
                  S5 Boot / Auto Login   Select boot into desktop or to command line
                  B1 Console             Text console, requiring user to login
                  

                  auswählen.
                  Auf anderen Systemen stellt man das per

                  sudo systemctl set-default multi-user.target
                  

                  ein.

                  Systemupdate

                  Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

                  Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

                  sudo apt update
                  sudo apt dist-upgrade
                  sudo reboot
                  

                  Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

                  Test:
                  sudo apt update
                  

                  sollte ungefähr so aussehen:

                  pi@raspberrypi:~ $ sudo apt update
                  Hit:1 http://deb.debian.org/debian bullseye InRelease
                  Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
                  Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
                  Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
                  Hit:5 https://repos.influxdata.com/debian bullseye InRelease
                  Hit:6 https://packages.grafana.com/oss/deb stable InRelease
                  Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
                  InRelease
                  Fetched 5,536 B in 2s (2,348 B/s)
                  Reading package lists... Done
                  Building dependency tree... Done
                  Reading state information... Done
                  All packages are up to date.
                  

                  Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

                  Fix:
                  Wenn dort ausstehende Updates angezeigt werden

                  sudo apt update
                  sudo apt full-upgrade
                  sudo reboot
                  

                  NodeJS

                  Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

                  Test:
                  type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
                  

                  schaut etwa so aus:

                  pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
                  /usr/bin/nodejs
                  v14.16.0
                  /usr/bin/node
                  v14.16.0
                  /usr/bin/npm
                  6.14.11
                  /usr/bin/npx
                  6.14.11
                  nodejs:
                    Installiert:           14.16.0-1nodesource1
                    Installationskandidat: 14.16.0-1nodesource1
                    Versionstabelle:
                   *** 14.16.0-1nodesource1 500
                          500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
                          100 /var/lib/dpkg/status
                       12.21.0-1nodesource1 500
                          500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
                       10.24.0-1nodesource1 500
                          500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
                       10.24.0~dfsg-1~deb10u1 500
                          500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                  

                  Wichtig und richtig ist:

                  nodejs liegt in /usr/bin
                  node liegt in /usr/bin
                  npm liegt in /usr/bin

                  und nicht in /usr/local/bin
                  und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
                  Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

                  Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

                  Fix:
                  Bitte hier weiterlesen:
                  https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

                  ioBroker-Verwahrort

                  Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

                  Test
                  iobroker repo list
                  

                  schaut etwa so aus

                  pi@raspberrypi:~ $ iobroker repo list
                  stable      : http://download.iobroker.net/sources-dist.json
                  beta        : http://download.iobroker.net/sources-dist-latest.json
                  live-beta   : http://iobroker.live/repo/sources-dist-latest.json
                  live-stable : http://iobroker.live/repo/sources-dist.json
                  
                  Active repo: stable
                  

                  Fix:

                  iobroker repo set stable
                  

                  ioBroker-Adapterupdate

                  Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
                  Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

                  Test:
                  iobroker update | grep -i updateable
                  

                  sieht so aus

                  pi@raspberrypi:~ $ iobroker update | grep updateable
                  pi@raspberrypi:~ $
                  

                  Fix:

                  iobroker upgrade
                  

                  Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

                  ioBroker Fixer

                  Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

                  iobroker stop
                  iobroker fix
                  iobroker restart
                  

                  Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
                  Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

                  Hilft alles nix

                  Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
                  Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

                  iobroker logs --watch | uniq
                  

                  in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
                  d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

                  Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
                  Sieht dann so aus:

                  pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
                  2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
                  

                  Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

                  Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

                  wendy2702W Online
                  wendy2702W Online
                  wendy2702
                  wrote on last edited by
                  #8

                  @thomas-braun Sehr gut.

                  So sehen bei mir text files auf dem Rechnern aus....

                  Allerdings nur mit den Befehlen und nicht so schön erklärt.

                  Vielleicht nimmst du noch den Befehl zur neu installation JS-Controller mit in die Liste auf.

                  Bitte keine Fragen per PN, die gehören ins Forum!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  Thomas BraunT 1 Reply Last reply
                  0
                  • wendy2702W wendy2702

                    @thomas-braun Sehr gut.

                    So sehen bei mir text files auf dem Rechnern aus....

                    Allerdings nur mit den Befehlen und nicht so schön erklärt.

                    Vielleicht nimmst du noch den Befehl zur neu installation JS-Controller mit in die Liste auf.

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    wrote on last edited by
                    #9

                    @wendy2702 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                    Vielleicht nimmst du noch den Befehl zur neu installation JS-Controller mit in die Liste auf.

                    Da zöger ich. Das steht auch immer in den Ankündigungen zum js-controller drin. Und das ist mir zu 'heiß' hier ohne größeren Zusammenhang.

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    wendy2702W 1 Reply Last reply
                    0
                    • OliverIOO OliverIO

                      @thomas-braun
                      Super.
                      Sollte sowas nicht auch noch in einen Wiki landen?
                      Dort wäre dann das gesammelte Wissen als Single source of truth zu iobroker.
                      Forum ist super zum diskutieren. Anfänger finden solche Informationen aber nicht wenn man nicht die richtigen Suchbegriffe kennt oder findet Informationen die für vergangene Versionen Noch gegolten haben.
                      Zuviele stickys oder links in den Kästen über/unter/neben dem Forum macht die informationserlangung auf Dauer auch nicht einfacher.

                      HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #10

                      @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                      Sollte sowas nicht auch noch in einen Wiki landen?

                      Thema Wiki ist eine andere Baustelle, ebenso wie:

                      @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                      dann könnte man solche Flüchtigkeitsfehler einfach schnell selbst korrigieren.

                      Wäre aber bei einem Wiki mit redaktioneller "Kontrolle" schon nicht mal so eben.

                      @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                      Anfänger finden solche Informationen aber nicht

                      Mal sehen, ob und wo man das anpinnen könnte, auch wenn

                      @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                      Zuviele stickys oder links in den Kästen über/unter/neben dem Forum macht die informationserlangung auf Dauer auch nicht einfacher.

                      Da muss ich auch mal durchforsten, was weg könnte, damit es übersichtlich bleibt.

                      Es auf die Website in die Doku zu übernehmen wäre noch was, aber dann ist eine Editierung auch "nur noch" über pull requests möglich

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      O 1 Reply Last reply
                      0
                      • O oFbEQnpoLKKl6mbY5e13

                        @thomas-braun sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                        auf dem der ioBroker lebt

                        Der Nebensatz muss in Kommata gefasst werden.

                        Docker auf einer Synology

                        Das ist bei QNAP nicht anders. Vermutlich grundsätzlich so.

                        da gibt es zu meinem Leidwesen...

                        Für jemanden, der Container verteufelt, leidest du aber ganz schön darunter. :stuck_out_tongue_winking_eye:

                        htreckslerH Offline
                        htreckslerH Offline
                        htrecksler
                        Forum Testing
                        wrote on last edited by
                        #11

                        @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                        verteufelt, leides du

                        leidest wird mit "t" am Ende geschrieben.

                        Gruss Hermann

                        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                        O 1 Reply Last reply
                        0
                        • htreckslerH htrecksler

                          @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                          verteufelt, leides du

                          leidest wird mit "t" am Ende geschrieben.

                          O Away
                          O Away
                          oFbEQnpoLKKl6mbY5e13
                          wrote on last edited by
                          #12

                          @htrecksler
                          Richtig, wieder ein Flüchtigkeitsfehler...

                          1 Reply Last reply
                          0
                          • Thomas BraunT Thomas Braun

                            @wendy2702 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                            Vielleicht nimmst du noch den Befehl zur neu installation JS-Controller mit in die Liste auf.

                            Da zöger ich. Das steht auch immer in den Ankündigungen zum js-controller drin. Und das ist mir zu 'heiß' hier ohne größeren Zusammenhang.

                            wendy2702W Online
                            wendy2702W Online
                            wendy2702
                            wrote on last edited by
                            #13

                            @thomas-braun sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                            @wendy2702 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                            Vielleicht nimmst du noch den Befehl zur neu installation JS-Controller mit in die Liste auf.

                            Da zöger ich. Das steht auch immer in den Ankündigungen zum js-controller drin. Und das ist mir zu 'heiß' hier ohne größeren Zusammenhang.

                            Dann vielleicht verlinken wenn dein Beitrag hier angepinnt wird.

                            Bitte keine Fragen per PN, die gehören ins Forum!

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Reply Last reply
                            0
                            • HomoranH Homoran

                              @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                              Sollte sowas nicht auch noch in einen Wiki landen?

                              Thema Wiki ist eine andere Baustelle, ebenso wie:

                              @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                              dann könnte man solche Flüchtigkeitsfehler einfach schnell selbst korrigieren.

                              Wäre aber bei einem Wiki mit redaktioneller "Kontrolle" schon nicht mal so eben.

                              @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                              Anfänger finden solche Informationen aber nicht

                              Mal sehen, ob und wo man das anpinnen könnte, auch wenn

                              @oliverio sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                              Zuviele stickys oder links in den Kästen über/unter/neben dem Forum macht die informationserlangung auf Dauer auch nicht einfacher.

                              Da muss ich auch mal durchforsten, was weg könnte, damit es übersichtlich bleibt.

                              Es auf die Website in die Doku zu übernehmen wäre noch was, aber dann ist eine Editierung auch "nur noch" über pull requests möglich

                              O Away
                              O Away
                              oFbEQnpoLKKl6mbY5e13
                              wrote on last edited by
                              #14

                              @homoran sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                              Wäre aber bei einem Wiki mit redaktioneller "Kontrolle" schon nicht mal so eben.

                              Gibt es da dann nicht "Sichter", die nur noch freigeben oder eben nicht?

                              HomoranH 1 Reply Last reply
                              0
                              • O oFbEQnpoLKKl6mbY5e13

                                @homoran sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                                Wäre aber bei einem Wiki mit redaktioneller "Kontrolle" schon nicht mal so eben.

                                Gibt es da dann nicht "Sichter", die nur noch freigeben oder eben nicht?

                                HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #15

                                @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                                Gibt es da dann nicht "Sichter", die nur noch freigeben oder eben nicht?

                                Ja, den gäbe es.

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                O 1 Reply Last reply
                                0
                                • HomoranH Homoran

                                  @ofbeqnpolkkl6mby5e13 sagte in Der kleine ioBroker/Linux-Werkzeugkasten:

                                  Gibt es da dann nicht "Sichter", die nur noch freigeben oder eben nicht?

                                  Ja, den gäbe es.

                                  O Away
                                  O Away
                                  oFbEQnpoLKKl6mbY5e13
                                  wrote on last edited by
                                  #16

                                  @homoran
                                  Das muss ein Highlander sein?

                                  wendy2702W 1 Reply Last reply
                                  0
                                  • O oFbEQnpoLKKl6mbY5e13

                                    @homoran
                                    Das muss ein Highlander sein?

                                    wendy2702W Online
                                    wendy2702W Online
                                    wendy2702
                                    wrote on last edited by
                                    #17

                                    @ofbeqnpolkkl6mby5e13

                                    Vemüllt den Thread bitte nicht mit Off Topic sachen!

                                    Bitte keine Fragen per PN, die gehören ins Forum!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    HomoranH 1 Reply Last reply
                                    0
                                    • wendy2702W wendy2702

                                      @ofbeqnpolkkl6mby5e13

                                      Vemüllt den Thread bitte nicht mit Off Topic sachen!

                                      HomoranH Do not disturb
                                      HomoranH Do not disturb
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by
                                      #18

                                      @wendy2702
                                      Hab das mal abgetrennt

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      wendy2702W 1 Reply Last reply
                                      0
                                      • HomoranH Homoran

                                        @wendy2702
                                        Hab das mal abgetrennt

                                        wendy2702W Online
                                        wendy2702W Online
                                        wendy2702
                                        wrote on last edited by
                                        #19

                                        @homoran Danke.

                                        Irgendwie finde ich den Butten zum Trennen nicht mehr.

                                        Bitte keine Fragen per PN, die gehören ins Forum!

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        1 Reply Last reply
                                        0
                                        • Thomas BraunT Thomas Braun

                                          Der kleine ioBroker/Linux-Werkzeugkasten

                                          Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

                                          root login

                                          Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

                                          sudo
                                          

                                          in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

                                          Test:

                                          Als Standarduser

                                          groups
                                          

                                          ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

                                          Fix:
                                          Als root

                                          usermod -aG sudo USERNAME
                                          

                                          und danach nie mehr als root einloggen!

                                          Falls es noch gar keinen Standard-User geben sollte:

                                          adduser username
                                          usermod -aG sudo username
                                          

                                          username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

                                          Terminal für Faule

                                          TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

                                          Man tippt da nur die ersten paar Buchstaben wie z. B.
                                          sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

                                          sudo systemctl status iobroker.service
                                          

                                          Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

                                          RunLevel 5 / graphische Oberfläche

                                          Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

                                          Test:
                                          who -r
                                          

                                          liefert RunLevel 3 zurück:

                                          pi@raspberrypi:~ $ who -r
                                                   Runlevel 3   2021-03-03 22:01
                                          

                                          Für andere Systeme kann man das per

                                          echad@chet:~ $ systemctl get-default
                                          multi-user.target
                                          

                                          prüfen. Hier entspricht multi-user.target dem run level 3.

                                          Fix:

                                          Auf dem RaspberryPi am besten per

                                          sudo raspi-config
                                          

                                          in das Systemmenü gehen und dort die Menüpunkte

                                          1 System Options       Configure system settings
                                          S5 Boot / Auto Login   Select boot into desktop or to command line
                                          B1 Console             Text console, requiring user to login
                                          

                                          auswählen.
                                          Auf anderen Systemen stellt man das per

                                          sudo systemctl set-default multi-user.target
                                          

                                          ein.

                                          Systemupdate

                                          Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

                                          Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

                                          sudo apt update
                                          sudo apt dist-upgrade
                                          sudo reboot
                                          

                                          Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

                                          Test:
                                          sudo apt update
                                          

                                          sollte ungefähr so aussehen:

                                          pi@raspberrypi:~ $ sudo apt update
                                          Hit:1 http://deb.debian.org/debian bullseye InRelease
                                          Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
                                          Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
                                          Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
                                          Hit:5 https://repos.influxdata.com/debian bullseye InRelease
                                          Hit:6 https://packages.grafana.com/oss/deb stable InRelease
                                          Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
                                          InRelease
                                          Fetched 5,536 B in 2s (2,348 B/s)
                                          Reading package lists... Done
                                          Building dependency tree... Done
                                          Reading state information... Done
                                          All packages are up to date.
                                          

                                          Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

                                          Fix:
                                          Wenn dort ausstehende Updates angezeigt werden

                                          sudo apt update
                                          sudo apt full-upgrade
                                          sudo reboot
                                          

                                          NodeJS

                                          Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

                                          Test:
                                          type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
                                          

                                          schaut etwa so aus:

                                          pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
                                          /usr/bin/nodejs
                                          v14.16.0
                                          /usr/bin/node
                                          v14.16.0
                                          /usr/bin/npm
                                          6.14.11
                                          /usr/bin/npx
                                          6.14.11
                                          nodejs:
                                            Installiert:           14.16.0-1nodesource1
                                            Installationskandidat: 14.16.0-1nodesource1
                                            Versionstabelle:
                                           *** 14.16.0-1nodesource1 500
                                                  500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
                                                  100 /var/lib/dpkg/status
                                               12.21.0-1nodesource1 500
                                                  500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
                                               10.24.0-1nodesource1 500
                                                  500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
                                               10.24.0~dfsg-1~deb10u1 500
                                                  500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                                          

                                          Wichtig und richtig ist:

                                          nodejs liegt in /usr/bin
                                          node liegt in /usr/bin
                                          npm liegt in /usr/bin

                                          und nicht in /usr/local/bin
                                          und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
                                          Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

                                          Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

                                          Fix:
                                          Bitte hier weiterlesen:
                                          https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

                                          ioBroker-Verwahrort

                                          Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

                                          Test
                                          iobroker repo list
                                          

                                          schaut etwa so aus

                                          pi@raspberrypi:~ $ iobroker repo list
                                          stable      : http://download.iobroker.net/sources-dist.json
                                          beta        : http://download.iobroker.net/sources-dist-latest.json
                                          live-beta   : http://iobroker.live/repo/sources-dist-latest.json
                                          live-stable : http://iobroker.live/repo/sources-dist.json
                                          
                                          Active repo: stable
                                          

                                          Fix:

                                          iobroker repo set stable
                                          

                                          ioBroker-Adapterupdate

                                          Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
                                          Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

                                          Test:
                                          iobroker update | grep -i updateable
                                          

                                          sieht so aus

                                          pi@raspberrypi:~ $ iobroker update | grep updateable
                                          pi@raspberrypi:~ $
                                          

                                          Fix:

                                          iobroker upgrade
                                          

                                          Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

                                          ioBroker Fixer

                                          Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

                                          iobroker stop
                                          iobroker fix
                                          iobroker restart
                                          

                                          Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
                                          Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

                                          Hilft alles nix

                                          Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
                                          Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

                                          iobroker logs --watch | uniq
                                          

                                          in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
                                          d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

                                          Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
                                          Sieht dann so aus:

                                          pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
                                          2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
                                          

                                          Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

                                          Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

                                          mrbungle64M Offline
                                          mrbungle64M Offline
                                          mrbungle64
                                          Developer
                                          wrote on last edited by mrbungle64
                                          #20

                                          @thomas-braun said in Der kleine ioBroker/Linux-Werkzeugkasten:

                                          ioBroker-Adapterupdate
                                          Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
                                          Über 'die Katze' bzw. aus git werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

                                          Ich denke es ist besser GitHub (nicht "git") zu nennen - oder wenn dann zumindest beides. Git und GitHub sind ja nicht identisch.
                                          Sonst blicken die User für die der Werkzeugkasten am ehesten gedacht ist ja kaum noch durch, wenn man die Begriffe/Bezeichnungen abkürzt (wie z.B. auch in vielen Threads mit Java vs. Javascript)

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          484

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe