, , , , , , ,

Projekt Teil 08 – ioBroker auf Intel NUC als VM installieren – All in One mit RaspberryMatic

In diesem Artikel möchte ich euch beschreiben wie ihr ioBroker in einer virtuellen Maschine auf dem Intel NUC installieren könnt. Damit könnt ihr endlich eine „All in One Smart Home Zentrale“ aufbauen, welche von der Hardware Ausstattung nicht so schnell an die Grenzen kommt, wie ein Raspberry Pi oder Asus Tinker Board. Die Installation hat sehr gut und problemlos funktioniert und die zusätzliche virtuelle Maschine auf meinem Proxmox Server läuft rasend schnell und hat genügend Speicher (RAM und Festplatte), um auch große ioBroker Installation zu betreiben. Mit dieser Lösung kann ich dann bereits zwei meiner Raspberry Pi 4 Systeme abschalten. Die Verwaltung von RaspberryMatic und ioBroker im Proxmox ist komfortabel und professionell. Nachfolgend beschriebe ich euch, wie ihr die Debian Plattform, sowie ioBroker mit der neuen Installations-Routine aufbauen könnt.

Allgemeines

Das Ziel des Gesamtprojektes „RaspberryMatic und ioBroker auf einem Intel NUC“ waren, die beiden Raspberry Pi4 abschalten zu können. Zusätzlich eine schnellere und deutlich flexiblere Plattform nutzen zu können. Jetzt wo auch ioBroker innerhalb von Proxmox auf dem Intel NUC läuft, kann ich bestätigen, dass sich der bisherige Aufwand gelohnt hat. Das Gesamtsystem läuft sehr stabil und man hat als Admin nur noch eine Plattform zu betreuen. Auch die Geschwindigkeitsvorteile sind gravierend. Genauso wie die Möglichkeit, innerhalb von Proxmox die Hardware Komponenten für eine beliebige VM anzupassen. So habe ich die VM für ioBroker mit 8 GB RAM und 32 GB Festplattenspeicher definiert. Sollte das irgendwann nicht mehr ausreichen, ist man in der Lage, diese Komponenten anzupassen, ohne eine Neuinstallation durchführen zu müssen. Ich bin mir jetzt schon sicher, das noch weitere virtuelle Maschinen folgen werden, wie beispielsweise meine Steuerung von SONOS, welche aktuell ebenfalls noch auf einem Raspberry Pi läuft. Auch Node Red ist eine Möglichkeit, da ja das Red Matic AddOn auf einer x86 Platform nicht mehr kommen wird (Aussage von Sebastian Raff). Genauso macht auf ein ioBroker AddOn aus meiner Sicht keinen Sinn mehr, weil sowohl die heute verfügbaren Raspberry Pis oder Asus Tinker Boards dazu nicht ausreichend Ressourcen zur Verfügung stellen.

Debian Plattform für ioBroker

Um ioBroker in einer virtuellen Maschine innerhalb von Proxmox zu installieren, muss als erstes die aktuelle Debian Version installiert werden. Diese Installation unterscheidet sich nicht wesentlich von einer Installation auf einem Raspberry Pi und beschreibe ich euch im ersten Schritt. Nach der Debian Installation werden wir gemeinsam die Voraussetzungen im Debian für die Installation von ioBroker herstellen. Dies lässt sich mit wenigen Befehlen umsetzen. Dann, als Letzen Schritt werden wir über das neue Installations-Skript ioBroker in der virtuellen Maschine installieren.

Debian ISO-Image herunterladen und auf Intel NUC übertragen

Als erstes müssen wir die aktuelle Debian Version als ISO-File herunterladen. Unter dem folgenden Link könnt ihr diese Version finden. Ich habe mich für die AMD64 Version entschieden. Der Intel NUC hat zwar keinen AMD Prozessor, aber ich wollte zum einen eine 64 Bit Version haben und habe mit dieser ISO-Datei gute Erfahrungen gemacht. Der oberste Link ist die Website zum Debian Download. Der untere Link ist der Download Link der AMD64 Version.

Nun müssen wir die gerade herunter geladene ISO-Datei auf den Intel NUC kopieren/transferieren. Ich verwende dazu gerne WINSCP, weil man mit diesem Tool nicht nur Dateien zwischen dem Windows PC und dem Intel NUC/Raspberry Pi hin- und herschieben kann, sondern ähnlich wie im Datei-Explorer einen Überblick über die Verzeichnis Struktur bekommt, Dateien anlege, editieren und löschen kann, ohne Linux Befehle zu kennen. Zusätzlich kann auch ein Terminal geöffnet werden, um wie beispielsweise mit PUTTY Kommandos abzusetzen.

Der nachfolgende Screenshot zeigt, wie das Hochladen auf den Intel NUC funktioniert. Auf der rechten Seite findet ihr das Zielverzeichnis „/var/lib/vz/template/iso/„. Hier müssen alle ISO-Images hochgeladen werden, damit sie später gefunden werden können. Auf der linken Seite seht ihr das Verzeichnis auf dem Windows Rechner, wo ich die Datei nach dem Download gespeichert habe. Über einen „Mausklick rechts“ könnt ihr dann die Funktion „Hochladen“ auswählen.

Neue virtuelle Maschine (VM) erzeugen

In diesem Artikel möchte ich mal die Funktion „Diashow“ verwenden. Zum einen beschreibe ich euch Schritt für Schritt die Aktionen, welche durchgeführt werden müssen. Um das Ganze zu Virtualisieren, könnt ihr dann die entsprechenden Screenshots in der Diashow anschauen. Dabei stimmen die Schritt Nummern mit der Reihenfolge der Bilder in der Diashow überein.

  1. Im Hauptmenü von Proxmox oben rechts „Erstelle VM“ anklicken, um eine virtuelle Maschine zu erstellen;
  2. Unter Allgemein den Knoten „PVE“, die VM ID „200“ und den Namen der VM „ioBroker“ eingeben;
  3. Unter OS im Feld „ISO Image“ die herunter geladene ISO Datei auswählen;
  4. Unter SYSTEM können die Einstellungen beibehalten werden;
  5. Unter LAUFWERK die „Disk-Größe (GiB) eingeben, in meinem Fall „32“;
  6. Unter CPU die Anzahl der Sockets und der Cores, bei mir „4“ auswählen;
  7. Unter SPEICHER den gewünschten RAM Speicher in MiB angeben, bei mir „8192“, also 8 GB;
  8. Unter NETZWERK können die Einstellungen beibehalten werden;
  9. Unter BESTÄTIGUNG alles kontrollieren und mit Abschließen die VM erstellen.

DEBIAN in der VM installieren

Im nächsten Schritt werden wir nun in der gerade erstellen virtuellen Maschine (VM) die vorher herunter geladene Debian Version installieren.

  1. Im Proxmox Hauptmenü bitte die gerade neu erstellte VM „ioBroker“ auswählen und mit Mausklick rechts ein Pulldown Menü öffnen, und dort dann „Start“ auswählen. Damit startet die Debian Installation.
  2. Um die Installation durchzuführen, bitte auf Konsole klicken und im ersten Menü „Install“ auswählen und ENTER drücken;
  3. In dem nächsten Bildschirm „Select a language“ als Sprache „GERMAN“ auswählen;
  4. Im nächsten Bildschirm „Auswählen des Standortes“ als Land „DEUTSCHLAND“ auswählen;
  5. Im Bildschirm „Tastatur konfigurieren“ als Layout „Deutsch“ auswählen;
  6. Als nächsten unter „Netzwerk einrichten“ den Rechnernamen eingeben. Ich habe „ioBroker“ gewählt;
  7. Nun könnt ihr im nächsten Schritt einen Domain-Namen eingeben. Ich habe nichts eingegeben;
  8. Im nächsten Bildschirm das „Root-Passwort“ eingeben und gut merken;
  9. Nun müsst ihr das gewählte „Root-Passwort“ wiederholen;
  10. Jetzt kann ein zusätzlicher Benutzer angelegt werden. Ich habe hier meinen Namen eingegeben;
  11. Im nächsten Schirm ist der „Benutzername“ einzugeben;
  12. Nun wieder das „Passwort“ für den neuen Benutzer eingeben:
  13. … und auch noch einmal wiederholen;
  14. Im Bildschirm „Festplatte partitionieren“ die Option „Geführt – vollständige Festplatte verwenden“ wählen;
  15. Wenn ihr wie ich in eurem System nur eine Festplatte habt, die Vorgabe durch „ENTER“ bestätigen;
  16. Im nächsten Bildschirm ist meine Empfehlung „Alle Dateien auf eine Partition …“ zu wählen;
  17. Nun können wir die „Partitionierung beenden und Änderunegn übernehmen„;
  18. Die nächste Abfrage mit „Ja“ bestätigen;
  19. Da wir keine CD haben, die Abfrage mit „Nein“ bestätigen;
  20. Beim Paketmanager wählen wir wieder „Deutschland“ aus;
  21. … und bestätigen die Vorgabe „deb.debian.org„;
  22. Das Feld für den „HTTP-Proxy“ lassen wir leer und bestätigen mit „Weiter„;
  23. Eine „Paketverwendungserfassung“ möchte ich nicht, also „Nein„;
  24. Softwareauswahl – meine Empfehlung wäre „SSH Server“ und „Standard-Systemwerkzeuge„;
  25. Die Installation des „GRUB-Bootloaders“ mit „Ja“ bestätigen;
  26. Als Gerät für die Bootloader-Installation die Vorgabe auswählen;
  27. Zum guten Schluss mit „Weiter“ die Installation abschließen;
  28. Nachdem alles installiert ist, bootet das System neu und wir bekommen den Anmeldebildschirm;

Nun verlassen wir die Konsole von Proxmox. Wir haben damit die Installation von Debian in der virtuellen Maschine beendet. Für die Vorbereitung und Installation von ioBroker stellen wir nun über PUTTY eine Verbindung mit dem neuen System her. Dazu schaut ihr auf eurem Router nach der IP-Adresse von ioBroker und stellt mit PUTTY eine SSH Verbindung her. Wie das zu tun ist und alle weiteren Schritte folgen im nächsten Absatz.

ioBroker Installation

Im nächsten Schritt werden wir nun der gerade installierten virtuellen Maschine (VM) mit Debian, noch ein paar Voraussetzungen und Programme installieren, um dann ioBroker zu installieren.

  1. Nachdem das System oben ist, stellen wir über PUTTY eine SSH Verbindung her und melden uns mit der persönlichen Benutzerkennung und nicht mit „root“ an. Wenn ihr angemeldet seid, gebt ihr „su“ ein, um dann das Passwort des „Root-Benutzers“ einzugeben. Dann unbedingt noch „cd /“ eingeben, um in das Stammverzeichnis zu wechseln, weil dort wollen wir installieren.
  2. nun mit dem Befehl apt-get update && apt-get upgrade das System auf den aktuellen Stand bringen. Eventuell findet er nichts zum Aktualisieren. Auch gut;
  3. Jetzt mit dem folgenden Befehl sudo installieren: apt-get install sudo
  4. Nun noch curl installieren: apt-get install curl
  5. Dann noch gnupg2 installieren: apt-get install gnupg2
  6. Nun können wir noch die weiteren Voraussetzungen installieren: curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
  7. Jetzt noch nodejs installieren: apt-get install nodejs
  8. … und zu guter Letzt npm installieren: npm install -g npm
  9. nachdem das erledigt ist, das System mit dem folgenden Befehl neu booten: sudo reboot
  10. Nachdem das System wieder oben ist, stellen wir über PUTTY eine SSH Verbindung her und melden uns mit der persönlichen Benutzerkennung und nicht mit „root“ an. Wenn ihr angemeldet seid, gebt ihr „su“ ein, um dann das Passwort des „Root-Benutzers“ einzugeben. Dann unbedingt noch „cd /“ eingeben, um in das Stammverzeichnis zu wechseln.
  11. Jetzt sind wir soweit, dass wir mit dem neuen Installations-Skript den ioBroker installieren können. Das macht ihr mit dem Befehl: curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash –
  12. Dieser Installations-Prozess beinhalte 4 Schritte, welche ihr auf der Konsole angezeigt bekommt. Am Ende sollte in grüner Schrift stehen „ioBroker was installed successfully“, sowie der Hinweis, wie ihr in einem Browser Fenster über den angegebenen Befehl ioBroker starten könnt.
  13. Die weiteren Screen-Shots zeigen die Anfangskonfiguration vom ioBroker. In einem späteren Artikel beschreibe ich was ihr am besten einstellt.

Abschluss

Damit ist nun auch der ioBroker in einer virtuellen Maschine auf unserem NUC installiert worden. Wenn ihr noch keinen ioBroker im Einsatz hattet, könnt ihr euch nun auf dem System ein wenig umschauen. Habt ihr bereits einen ioBroker verwendet und auch schon den ein oder anderen Adapter installiert und benutzt, müsst ihr diese nun vom „alten System“ auf das „neue System“ umziehen.

Fazit

Bei mir läuft auch der ioBroker nun schon einige Zeit auf dem Intel NUC in der VM auf dem gleichen System wie RaspberryMatic und ich habe zwischenzeitlich die beiden Raspberry PIs für ioBroker und RaspberryMatic abgeschaltet. Damit ist das Hauptziel des Projektes erreicht.

Wie das aber immer so ist, sind dadurch weitere Wünsche geweckt worden. Ich werde in späteren Artikel erklären, wie ihr mit Hilfe von ioBroker sehr einfach den Backup der RaspberryMatic auf einer Synology NAS durchführen könnt. Genauso sicher ich zwischenzeitlich auch den ioBroker selbst auf meiner Synology NAS, sowie die Sicherungen der VMs aus dem Proxmox heraus. Damit habe ich die höchstmögliche Sicherheit meiner Daten erreicht, weil auf meinem NAS System eine Spiegelung stattfindet.

Was kommt noch?

Ich habe vor längerer Zeit in drei Teilen beschrieben, wie man das SONOS Soundsystem mit HomeMatic steuern kann. Auch dafür läuft bei mir noch ein weiterer Raspberry Pi. Ich möchte versuchen, dies ebenfalls durch eine virtuelle Maschine auf dem Intel NUC abzulösen.

20 Kommentare
  1. Beat Wüthrich
    Beat Wüthrich sagte:

    Hallo Werner,

    genial Deine Blogs mit den Anleitungen. Habe in 10 Std. Arbeit Proxmox aufgesetzt, ioBroker und Deconz rüber migriert. Und alles läuft wie geschmiert und besser! Einzig beim Update vom ConbeeII Stick hatte ich Probleme. Das habe ich unter Proxmox nicht geschafft. Das wäre evtl. noch ein Blog wert?

    Auf jeden Fall ganz herzlichen Dank für die tolle Arbeit. Nun kann ich wieder ruhig in meinem Smart-Home schlafen!

    Viele Grüsse

    Beat

    Antworten
  2. starfish
    starfish sagte:

    VIS bleibt stehen mit „Verbinde mit dem Server …. Lade Werte ….“ offenbar weiss es die ganze Welt, mich kostete es einige Stunden Suche und Tests. Für alle anderen, denen es gleich geht wie mir: bei IOBroker muss bei den Adaptern in den Einstellungen (Gabelschlüssel) der aktive Verwahrungsort auf „latest“ gestellt werden, damit wirklich die zum neuesten Debian passenden Adapter auch angezeigt und (manuell) geladen werden können. Da ist die default-Einstellung leider unpassend.

    Antworten
  3. Frank
    Frank sagte:

    Hallo,

    erstmal fettes Lob für Deine Arbeit hier – Danke!

    Ich weiß nicht ob ich es übersehen habe – aber was für Hardware verwendest Du für die Funkanbindung?

    In meinem Raspi habe ich für die Homematic anbindung ein Funkmodul von ELV (https://de.elv.com/elv-homematic-komplettbausatz-funkmodul-fuer-raspberry-pi-hm-mod-rpi-pcb-fuer-smart-home-hausautomation-142141?utm_source=google&utm_medium=cpc&refid=GShopping?Gads_Shopping_CSS&gclid=EAIaIQobChMIzqrH0_jY6gIVUuh3Ch0u5wLDEAYYASABEgJDIfD_BwE)

    Was verwendest Du für Deinen NUC? Jeweils für HM und Z-Wave?

    Danke und Grüße

    Frank

    Antworten
  4. Timmy
    Timmy sagte:

    Hallo und auch von meiner Seite vielen Dank für die Serie!

    Inspiriert davon habe ich mir zusätzlich zu der hier erwähnten HW noch einen ConBee II gekauft.

    Wo ich zur Zeit allerdings hänge ist die Verbindung zwischen dem ioBroker hm-rpc und der RaspberryMatic.
    Haben Sie da eine spezielle Einstellung in der hm-rpc instanz oder der Firewall im RaspberryMatic vorgenommen?

    Zwei Instanzen habe ich erstellt – einmal mit Daemon HomeMatic IP Protokoll XML-RPC Port 2010
    und mit Daemon rfd Protokoll XML-RPC Port 2001

    Die Ports und die IP vom ioBroker habe ich in der Firewall des RaspberryMatic freigeschaltet.

    Antworten
    • Timmy
      Timmy sagte:

      Nachdem ich die VM deaktiviert und die alte CCU3 wieder aktiviert habe und hiermit die Verbindung über hm-rpc funktioniert habe ich die Vermutung, dass es an der HW liegen könnte (das Funkmodul oder die Platine, die die USB-Verbindung herstellt) – im Teil vier dieser Serie habe ich mein anderes Problem geschildert (Das Gerät mit der Seriennummer ‚XXXXXXXXXX‘ vom Interface ‚HmIP-RF‘ konnte nicht abgefragt werden!) wenn keine Kommunikation darüber geht, dann wird auch die hm-rpc Verbindung nicht funktionieren…
      Also werde ich in dieser Richtung nun debuggen. Überlest meine Nachricht hier einfach…

      Antworten
  5. Andreas
    Andreas sagte:

    Hallo Werner,
    zunächst erst einmal besten Dank für die top Serie für einen NUC. Auf Grund dieses Projektes bin ich auch vom Tinkerboard S auf einen NUC umgezogen. Ich habe ioBroker mit Ubuntu im LXC laufen. Meine Frage: Hat es einen besonderen Grund dass ioBroker bei Ihnen in einer VM läuft?

    Grüße
    Andreas

    Antworten
    • Werner
      Werner sagte:

      Hallo Andreas,

      freut mich das dir die Serie gefällt und dich sogar zum Umstieg inspiriert hat. Ich hoffe du bist mit dem Intel NUC ähnlich zufrieden wie ich.

      Es gibt keinen besonderen Grund warum ich eine VM gewählt habe. Es gibt neben der VM ja noch die von dir gewählte Möglichkeit mit einem Container oder auch mittels Docker. Alle drei Varianten funktionieren einwandfrei. Ähnlich wie beim Autokauf habe ich mich subjektiv für das Modell VM entschieden :-)

      Grüße
      Werner

      Antworten
    • Thomas
      Thomas sagte:

      Hallo Andreas,
      Wie unterscheidet sich die Installation von ioBroker in LXC zu VM?
      Ich würde auch lieber den ioBroker im Container laufen lassen…
      Gruss Thomas

      Antworten
  6. Erik
    Erik sagte:

    Schöner Artikel – habe gerade auch iobroker im docker in Betrieb genommen und einen erfolgreichen Umzug hintermir.
    Kann zur Verwaltung von Docker Portainer.io emfehlen, als unix Unterbau habe ich jedoch auf esx und auf photon os gesetzt.

    Antworten
    • Werner
      Werner sagte:

      Hallo PhUser,

      ich habe in Summe 23 GB auf dem Intel NUC und wollte im ioBroker mal mit 8 GB starten, auch wenn das am Anfang sicher ein wenig hochgegriffen ist. Wenn sich zeigt, dass diese Einstellung zu groß ist, kann man innerhalb von Proxmox ja noch reduzieren. Bis dahin teste ich das mal in dieser Konstellation.

      Gruss
      Werner

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert