ioBroker ist ein System für den Smarthome Bereich, welches oft im privaten Umfeld verwendet wird. Aus diesem Grund will ich in diesem Artikel zeigen, wie man ioBroker auf einem CentOS System installiert. Dabei spielt es keine Rolle, ob das CentOS auf einem Raspberry Pi, auf einem Intel NUC oder ein anderen linuxfähigen Hardware installiert ist.
Für diesen Artikel wird ein CentOS in der Version 7 verwendet.
nodejs und npm
Bevor mit der eigentlichen Installation von ioBroker begonnen werden kann, muss auf dem System nodejs und npm installiert werden.
Dafür fügt man als erstes das Repository für nodejs auf dem System hinzu.
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
Danach kann nodejs mit dem folgenden Befehl installiert werden.
sudo yum install -y nodejs
Nach der Installation von nodejs und npm sollten noch die Versionen geprüft werden.
node --version
v10.19.0
npm --version
6.13.4
Zum Zeitpunkt der Artikelerstellung sollte die node Version > 8.12 und die npm Version > 6.4.1 sein. Sollten sich da was ändern, kann das ganze auf der GitHub Seite von ioBroker nachgelesen werden.
Installation von ioBroker
Die Installation von ioBroker ist sehr einfach. Man kann dafür das vorgefertigte Installationsskript verwenden und einfach über curl aufrufen, ähnlich wie bei dem hinzufügen des Repositories für nodejs.
curl -sL https://iobroker.net/install.sh | bash -
Während das Installationsskript läuft, werden die folgenden vier Schritte ausgeführt:
- Creating ioBroker directory (1/4)
- Downloading installation files (2/4)
- Installing ioBroker (3/4)
- Finalizing installation (4/4)
Am Ende der Installation bekommt man eine URL angezeigt, mit der man das Frontend von ioBroker im Browser aufrufen kann.
ioBroker lässt sich nicht im Browser aufrufen
Keine Panik falls nach dem kopieren der URL in den Browser kein Frontend angezeigt wird. Wahrscheinlich ist die Firewall auf dem System aktiv und das ist auch erstmal nichts schlechtes.
Prüfen kann man das wie folgt:
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mo 2020-02-10 14:05:37 CET; 2h 38min ago
Docs: man:firewalld(1)
Main PID: 17321 (firewalld)
CGroup: /system.slice/firewalld.service
└─17321 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Feb 10 14:05:37 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Feb 10 14:05:37 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 10 14:05:37 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Steht hier active (running) ist die Firewall aktive und wir müssen eine entsprechende Freigabe für ioBroker hinzufügen. Dafür kann der folgende Befehl verwendet werden.
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload
Lizenzvereinbarungen
Beim Ersten aufrufen des Frontends muss man die Lizenzvereinbarungen aktizeptieren. Dafür muss man leider den Haken bei dem Punkt bzgl. sammlen von Daten setzten, da ansonsten der Einverstanden Button nicht erscheint.
Wie aber in dem Text schon beschrieben, kann man das ganze wieder in den Einstellungen wieder deaktivieren. Wie das geht will ich an dieser Stelle auch direkt zeigen. Ob ihr das ganze dann deaktiviert oder nicht, ist jedem selbst überlassen.
Zum deaktivieren der Statistik muss man auf das Schraubenschlüsselsymbole in der oberen Leiste klicken.
In den Einstellungen die sich nun öffnen, muss man den Reiter Statistik ganz rechts auswählen.
Auf der Seite die wir jetzt sehen, finden wir ein Dropdown Menü. In diesem kann man den Grad der Daten die gesendet werden bestimmen. Will man das keine Informationen gesendet werden, dann wählt man hier die Option nichts aus.
Anschließend muss man noch auf Speichern klicken.
Damit ist das senden von Daten deaktiviert.
Passwortschutz für ioBroker aktivieren
Damit der Zugriff auf das Frontend etwas sicherer wird, sollte man den Admin Benutzer mit einem Passwort versehen. Dafür muss als erstes der Menüpunkt für die Benutzerverwaltung aktiviert werden.
Dafür klickt man in der oberen linken Ecke auf das Dreieck und setzt den Haken für Benutzer.
Nun wird im linken Menü der Menüpunkt Benutzer angezeigt. Dieser wird als nächstes ausgewählt. Bei dem admin Benutzer muss anschließend auf den Stift geklickt werden, um die Benutzerspezifischen Einstellungen aufzurufen.
In der Maske die sich jetzt öffnet muss das Passwort zweimal eingegeben werden. Das ganze wird mit einem Klick auf Ändern bestätigt.
Damit haben wir erfolgreich das Passwort für den Admin Account gesetzt.
Neuen Benutzer mit Leserechten anlegen?
Um Informationen aus ioBroker auf Displays anzeigen zu lassen, wie zum Beispiel einen Magic Mirror oder ein Dashboard, ist es sinnvoll einen User anzulegen mit dem an keine Änderungen an dem System vornehmen kann. Man will ja nicht, dass jeder Besucher an den mühsam getroffenen Einstellungen Änderungen vornehmen kann.
Dafür ist es sinnvoll eine eigene Gruppe anzulegen, welche nur Leserechte besitzt und einen neuen Benutzer anzulegen, der dann dieser Gruppe zugeordnet wird.
Wir starten mit dem Anlegen der Gruppe. Dafür wird im linken Menü wieder der Punkt Benutzer ausgewählt. Auf der Übersichtsseite wird anschließend auf den Button zum Anlegen einer neuen Gruppe geklickt.
Im ersten Tab werden ein paar allgemeine Informationen für die Gruppe hinterlegt wie zum Beispiel der Gruppenname und die Beschreibung. Passen die Einstellungen wechseln wir auf den Tab Zugriffsrechte.
Hier werden in allen Bereichen die Punkte read oder list aktiviert. Anschließend kann die Gruppe mit einem Klick auf den Button Erzeugen angelegt werden.
Hier werden die entsprechenden Angaben für den Benutzer angegeben und der Benutzer über einen Klick auf den Button Erzeugen angelegt.
Jetzt muss unser neuer Benutzer noch der zuvor angelegten Gruppe zugeordnet werden. Dafür wird der Benutzer mit einem Linksklick auf die Gruppe gezogen (Drag & Drop).
Damit haben wir im nun ioBroker auf einem linuxbasierten System installiert und einen neuen Benutzer angelegt, der nur Leseberechtigung auf die Daten im ioBroker hat.
Falls es Probleme bei der Installation gibt, lasst mir doch einfach ein kurzes Kommentar dar. Mich würde auch interessieren, welche Themen ihr besonders interessant im Zusammenhang mit ioBroker findet.
Du kannst den Abschnitt „nodejs und npm“ komplett löschen. Um die Installation kümmert sich auch der Installer.