Installation

Bastelecke > Smarthome > ioBroker > Installation

ioBroker benötigt als Basis ein Linux-Betriebssystem, auf dem er installiert werden kann. Es emfiehlt sich ein leeres, frisch aufgesetztes Debian-System in der Minimalinstallation zu verwenden um Systemfehler zu vermeiden, grundsätzlich lassen sich aber auch andere Distributionen auf Debian-Basis verwenden.

In den meisten Fällen dürfte es am einfachsten sein sich für den Start einen Raspberry Pi zu kaufen. Es muss nicht das neueste Modell sein, alles ab Version 3 ist hierfür erstmal leistungsfähig genug. Und wenn ihr doch irgendwann auf ein leistungsstärkeres System, oder in eine virtuelle Maschine "umziehen" wollt, ist das über das Backup-Plugin jederzeit problemlos möglich.

Wie auch immer ihr euch entscheidet, ich beginne diese Anleitung mit einen frisch installierten Debian-Betriebssystem, auf welches ihr euch mit SSH, oder ganz klassisch mit Bildschirm und Tastatur, anmeldet.

Hier meldet ihr euch mit dem Benutzer "root" (sowas wie "Administrator" unter Windows) und dem zuvor, bei der Installation festgelegten Passwort an. 

 

Raspbian auf dem Raspberry Pi

Solltet ihr ein Raspbian-System auf einem Raspberry nutzen, verwendet ihr die Zugangsdaten:

Benutzer: pi
Passwort: raspberry

Zunächst solltet ihr dann aber das Passwort ändern. Zwar ist euer ioBrokerr eigentlich erstmal nur lokal erreichbar, aber wenn dann doch mal jemand in euer W-LAN kommen sollte, wäre der Standard-Login eine Sicherheitslücke. Das Passwort ändert ihr mit dem Befehl:

passwd

Ihr werdet dann aufgefordert ein neues Passwort für den aktuell verwendeten Nutzeraccount zu vergeben.

Jetzt müsst ihr noch euer System auf den aktuellen Stand bringen und alle verfügbaren Systemupdates installieren. Dieses macht ihr mit:

sudo apt-get update && sudo apt-get upgrade -y

Anschließend könnt ihr direkt mit der Installation von ioBroker fortfahren. Ihr könnt dann also die nächsten zwei Abschnitte dieser Anleitung überspringen.

 

Debian virtuell auf x86-Hardware 

Möchte man ioBroker auf x86 Hardware einsetzen, empfehle ich erstmal Proxmox als Virtualisierungsumgebung zu installieren. Dann lassen sich später auch noch weitere Dienste parallel, auf dem gleiche Rechner, betreiben. Alles andere wäre absoluter Overkill.

Davon abgesehen bietet die Virtualisierung mit Proxmox noch viele weitere Vorteile. Dazu gehören automatische Backups und Speicherabbilder. Wenn ihr neue Updates einspielt, oder etwas ändern wollt, und ihr nicht wisst ob es klappt, lässt sich zuvor in Proxmox mit wenigen Klicks ein Speicherabbild erstellen und mit ebenso wenig Aufwand im Notfall alles wieder rückgängig machen. Des weiteren lassen sich Hochverfügbarkeitscluster erstellen. Hat man zwei Rechner mit Proxmox im eigenen Netz, kann man diese im Verbund zusammen arbeiten lassen und so einrichten, das wenn einer ausfällt, die virtuellen Maschinen nahtlos auf dem Anderen weiter laufen. Sie lassen sich beliebig zwischen den beiden Rechnern hin- und herschieben, so das ein Weiterbetrieb problemlos möglich ist, selbst wenn einer der Rechner ausfällt, für Arbeiten ausgeschaltet werden oder sogar ganz ersetzt werden muss. Und genau das hat mir und meiner Installation hier schon mehrmals "den Hintern" gerettet.

Einen Solo-Betrieb auf x86-Hardware kann ich nicht empfehlen, auch wenn es ebenso möglich wäre. Ist die Hardware zu leistungsschwach für Proxmox, sollte man auch vom Solo-Betrieb absehen. Umso älter und schwächer die Hardware, umso energiehungriger sind auch schon einfachste Rechenoperationen, da die CPU länger auf Volllast für deren Ausführung arbeitet. Der Stromverbrauch wäre einfach unverhältnismäßig hoch. 

Wie ihr Proxmox verwendet und einen neuen virtuellen Container erstellt, erfahrt ihr hier:

 

Nutzerkonto einrichten

Euer frisch eingerichtetetes Debian-Template hat zu Beginn nur ein einziges Benutzerkonto, nämlich den "root" Benutzer, mit dem ihr nun angemeldet seid. Das ist sicherheitstechnisch bedenklich, da alle Programme, die unter dem Nutzer ausgeführt werden dann auch vollen Systemzugriff haben. Jetzt könnte beispielsweise ein "böser Programmierer" ein Plugin für den ioBroker entwickeln welches ihm eine Hintertür öffnet und er hätte hier drüber dann vollen Systemzugriff. Könnte nach Belieben weitere Programme installieren und somit Zugriff auf euer gesamtes Netzwerk und all eure Daten erhalten. Daher legt euch zunächst einen Account mit Benutzerrechten an. In meinem Beispiel nenne ich den Nutzer "kv". Der Befehl hierzu lautet, wie soll es auch anders sein:

adduser kv

Wichtig: Verwendet hier auf keinen Fall den Benutzernamen "iobroker", da es sich dabei um einen Nutzer handelt, der später von der Installationsroutine automatisch generiert wird. Unter diesem Nutzernamen werden später die ioBroker Skripte ausgeführt. Vergebt ihr den jetzt schon, bekommt ihr später Probleme bei der Installation von ioBroker!

Die Fragen nach Name, Raum, Telefon, usw. könnt ihr alle leer lassen und mit "Enter" überspringen. 

Auch hier müsst ihr jetzt zunächst euer System auf den aktuellen Stand bringen und alle verfügbaren Updates installieren. Hierzu schreibt ihr den Befehl:

apt-get update && apt-get upgrade -y

Wichtig: Anders als bei Raspbian, auf dem Raspberry, lasst ihr hier das "sudo" weg. Auf Raspbian startet ihr bereits mit einem normalen Nutzeraccount und müsst zur Installation von Updates diesem Nutzer erst "root"-Rechte zuweisen. Dieses geschieht mit dem Befehl "sudo". Hier sind wir bereits als "root" angemeldet.

Das Update kann jetzt ein paar Minuten dauern, abhängig davon wie schnell eure Internetverbindung ist. Ihr seht mehrere Zeilen Code durchlaufen, die euch nicht weiter zu interessieren brauchen. Wenn alles fertig ist, erscheint wieder der Eingabe-Prompt:

Um Config-Dateien bearbeiten zu können, benötigen wir einen Texteditor. Ich bevorzuge "Vim", da dieser meiner Meinung nach besser für Terminalanwendung geeignet ist. Habt ihr aber schon Erfahrungen mit "Nano", und kommt damit besser klar, könnt ihr aber auch genausogut den verwenden.

Vim installiert ihr mit:

apt-get install vim -y

Jetzt müsst ihr eure "sudo"-Config anpassen. Diese findet ihr, wie die meisten Config-Dateien in Linux, im etc-Verzeichnis. Hier hin gelangt ihr mit dem Befehl:

cd /etc

Darin befindet sich die Datei "sudoers", welche eure Nutzer enthält, die root-Rechte bekommen dürfen. Diese editiert ihr mit:

vim sudoers

...und sucht mit den Cursortasten die Zeile mit den "User privilege specification":

Geht mit dem Cursor in die Zeile unter dem "root" und wechselt in den Einfügemodus durch Drücken der "Einfg"-Taste eurer Tastatur. Die rote Read-Only-Fehlermeldung am unteren Bildschirmrand, hinter dem "--INSERT--" könnt ihr ignorieren, darum kümmern wir uns später.

Dann schreibt ihr unter den root-User euren vorhin erstellten Nutzernamen. Wir erinnern uns, bei mir war es der Nutzer "kv". Dahinter drückt ihr "Tab" und schreibt dann die gleichen Rechte wie beim Nutzer "root" in der Zeile darüber:

Den Einfügemodus verlasst ihr durch Drücken der Taste "Esc". Dann verschwindet auch das "--INSERT--" wieder. Wir speichern und verlassen den Editor mit:

:wq!

Erläuterung: Doppelpunkt leitet einen Befehl ein, "w" steht für "write", "q" für "quit"  und mit dem Ausrufezeichen signalisiert ihr das ihr die Read-Only-Systemvorgabe ignorieren wollt. (Ihr erinnert euch, die rote Fehlermeldung)

Jetzt könnt ihr euch abmelden:

logout

...und mit eurem fertig eingerichteten Benutzer wieder anmelden.

 

Installation von ioBroker

Zunächst benötigt ihr das Programm "curl" um das Installationsscript direkt übers Internet ausführen zu können. Dieses installiert ihr nun mit dem Befehl:

sudo apt-get install curl -y

Ihr werdet feststellen das ihr jetzt aufgefordert werdet euer Nuterpasswort einzugeben. Das bewirkt der Befehl "sudo", der euch daraufhin root-Rechte verleiht. Ihr werdet danach auch immer nur das erste Mal in jeder Terminalsitzung gefragt, wenn ihr "sudo" verwendet. Durch das Anhängsel "-y" bestätigt ihr bereits im Vorfeld das ihr ohne weitere Zwischenfragen ("wollen Sie wirklich?") installieren wollt.

Jetzt fehlt nur noch der ioBroker selber. Diesen installiert ihr nun mit dem Befehl:

curl -sLf https://iobroker.net/install.sh | bash -

Dieses kann nun ein paar Minuten dauern. Das Script läuft komplett eigenständig durch und sollte auch keine Fehlermeldungen verursachen. Am Ende, wenn alles geklappt hat, bekommt ihr die Meldung unter welcher Adresse ihr von nun an das Admin-Panel des ioBroker im Browser erreichen könnt. Das Terminalfenster benötigt ihr nun nicht mehr. Es kann geschlossen werden.

 

Snapshot in Proxmox

Habt ihr euren ioBroker in einem LXC-Container in Proxmox installiert, würde ich euch jetzt empfehlen, an dieser Stelle, einen Snapshot zu erstellen. Solltet ihr gleich irgendwas falsch eingeben, oder aus irgend einem Grund die Installation "zerschießen", könnt ihr immer zu diesem Punkt zurück springen. 

Geht hierzu in Proxmox auf euren ioBroker und anschließend auf Snapshots:

Durch drücken von "Take Snapshot" erstellt ihr ein Speicherabbild. Das virtuelle System läuft dabei ungehindert weiter und bekommt von alledem nichts mit.

Vergebt nun einen Namen und eine Beschreibung und bestätigt nochmal mit "Take Snapshot", diesmal unten im Dialog.

Fertig ist das Speicherabbild und ihr könnt mit der Ersteinrichtung von ioBroker fortfahren.

 

Ersteinrichtung

Vom Installationsscript habt ihr die Adresse genannt bekommen, wie das Admin-Panel vom ioBroker im Browser erreichbar ist. Diese setzt sich immer zusammen aus der IP-Adresse und dem Port 8081. Wisst ihr die IP nicht mehr, könnt ihr auch in Proxmox nachsehen welche ihr vergeben habt. Oder läuft euer ioBroker auf einem Raspberry, könnt ihr auch in eurer Firewall (z. B. Fritzbox)  nachsehen welche zugewiesen wurde. Ich würde dann dringend empfehlen, bei der Gelegenheit, dort direkt einzustellen das fortan immer die selbe IP-Adresse zugewiesen wird. Sollte sich die IP-Adresse später ändern, hättet ihr nämlich ein Problem mit euren MQTT-Geräten, welche eigenständig auf den ioBroker zugreifen. 

In unserem Beispiel greife ich jedenfalls mit folgender Adresse auf den ioBroker zu:

http://192.168.179.173:8081/

Ersetzt hier einfach meine IP durch eure eigene.

http://<IP-Adresse>:8081/

Ihr bekommt folgendes angezeigt:

Ihr werdet nun aufgefordert die Lizenzbedingungen zu akzeptieren. 

Aus irgend einem Grund müsst ihr hier auch der Übersendung von Statistiken zustimmen, sonst könnt ihr nich fortfahren. Wenn ihr das nicht möchtet, könnt ihr dieses auch später in den Einstellungen wieder deaktivieren, um fortzufahren müsst ihr den Haken aber erstmal setzen.

Anschließend legt ihr ein Administratorpasswort fest:

Anschließend werdet ihr gefragt ob ihr das Admin-Panel mit dem Passwort schützen wollt:

Wenn ihr euren ioBroker über eine Portfreigabe, oder einen Reverse-Proxy im Internet zugänglich machen wollt, dann müsst ihr hier den Haken setzen und ein SSL-Zertifikat wählen. Andernfalls könnte jeder, der eure Adresse aufruft, euer gesamtes Smarthome steuern! Ich würde jedoch, für den Fernzugriff, eine VPN-Verbindung empfehlen. Diese lässt sich über die Fritzbox einfach einrichten oder über OpenVPN realisieren. Dann habt ihr hier auch nicht die Probleme mit der Einrichtung von SSL-Zertifikaten für eine verschlüsselte Verbindung.

Wenn ihr euch sicher seid das in eurem lokalen Netz niemand Unsinn treibt, dann könnt ihr hier auch den Haken weg lassen. Ihr spart euch dann die Passworteingabe bei jedem Aufruf des ioBroker-Adminbereichs.

Auch hier nochmal die Warnung: 

Benutzt keine Port-Freigabe um euren ioBroker aus dem Internet heraus erreichbar zu machen. Portfreigabe heißt immer Vollzugriff über den Port. Neben der offensichtlichen HTML-Anfrage, könnten auch andere TCP-IP Pakete über den Port übermittelt werden, die nicht gefiltert werden. Hier ließen sich ggf. Schwachstellen im Programmcode ausnutzen um Vollzugriff auf euer Netzwerk zu bekommen. Die Möglichkeit über eine VPN-Verbindung sicher darauf zuzugreifen habe ich bereits genannt. Seit einiger Zeit bietet auch ioBroker selbst eine eigene Cloud-Lösung an, diese ist jedoch kostenpflichtig.

Es folgen die geografischen Einstellungen:

Anhand der geografischen Position werden später auch Astrozeiten bestimmt, also die Uhrzeit für Sonnenaufgang, Sonnenuntergang, etc...

Nach Abschluss der Einrichtung bekommt ihr folgenden Assistenten gezeigt:

Hier könnt ihr automatisch nach Geräten suchen lassen. Wenn ihr jedoch nicht möchtet das eure Installation automatisch mit jeder Menge Dingen vollgekleistert werden soll, die ihr vielleicht überhaupt nicht braucht, dann könnt ihr den Dialog auch einfach schließen und die von euch benötigten Adapter später selber installieren.

Ich gratuliere, eure Installation ist nun abgeschlossen. Wenn ihr möchtet, könnt ihr euch in Proxmox nun wieder einen Snapshot erstellen, dann könnt ihr hier schonmal selbst nach Herzenslust rumklicken und ausprobieren. Solltet ihr also irgend ewas machen, was nicht funktioniert, könnt ihr jederzeit zu genau diesem Zustand zurück kehren, und müsst nicht alles wieder neu installieren.

Mit weiteren Funktionen, sowie den einzelnen Adaptern, werden wir uns in späteren Kapiteln ausführlich befassen.