debmatic Teil 1 – Die richtige Hardware – Intel NUC vorbereiten
Heute will ich Euch zeigen, wie Ihr einen Intel NUC mit der Linux Distribution ubunut aufsetzt und dort debmatic installiert bekommt. Ziel dieses kurzen Tutorials ist es, dass eine lauffähige CCU3 Software auf dem Intel NUC bedient werden kann. In den weiteren Tutorials zeige ich Euch dann, wie Ihr per Fernzugriff von einem Windows-System aus auf den Intel NUC zugreifen könnt. Dann folgen weitere Artikel zu OpenHAB und node-red. Doch zuerst zeige ich Euch, wie Ihr eine CCU3 auf einem X64-System betreiben könnt!
Also Grundlage verwende ich den Intel NUC mit der Modellbezeichnung BOXNUC6CAYH. Verbaut ist ein Intel Celeron J3455 mit 4×1,5GHz und 2 MB Cache. Das sollte für den Betrieb von debmatic und einigen anderen Erweiterung locker ausreichen. Spannender wird es jetzt beim Arbeitsspeicher. Wer schon die ein oder andere Erfahrung mit ioBroker gemacht hat, wird wissen, dass dieses System extrem viel Arbeitsspeicher frisst. Die WebUI ist da etwas sparsamer, doch beim RAM würde ich trotzdem nicht sparen. Da das von mir bestellte System ohne RAM und ohne HDD gekommen ist, habe ich zusätzlich noch 8 GB RAM verbaut. Ich hatte aus einem alten Notebook noch 2x 4 GB hier liegen, Ihr bekommt aber schon für 22 € einen 4 GB Riegel. Als Festplatte habe ich einen 240 GB von SanDisk eingesetzt (lag bei mir ebenfalls noch rum). Bei Dieser Konfiguration komme ich auf ca. 200€ für die Hardware. Dazu kommt natürlich noch das HM-Funkmodul und die HB-RF-USB Platine (bei uns im Shop).
Nachdem der RAM und die HDD eingebaut ist, können wir mit der Installation beginnen. Dazu wird der NUC über das beiligende Netzteil mit Spannung versorgt, zudem muss ein Netzwerkkabel, HDMI (oder VGA) und Tastatur/Maus angeschlossen werden.
In dieser Anleitung zeige ich Euch, wie Ihr das ganze mit einer ubuntu-Installation umsetzen könnt. Es können auch anderen Distributionen wie Debian usw.. verwendet werden. Um Linux auf dem NUC zu installieren benötigen wir zuerst einen bootfähigen USB-Stick, der ein aktuelles Linux Image beinhaltet. Um den Stick bootfähig zu machen, benötigen wir die Software Rufus. Diese ist kostenfrei erhältlich. Der Stick sollte mindestens 4 GB groß sein. Ein aktuelles Ubuntu-Image bekommt Ihr hier her. Nachdem Ihr das aktuelle Image heruntergeladen habt, starten wir Rufus.
Hier wählen wir nun bei Laufwerk unseren USB-Stick aus, auf dem das heruntergeladene Image gespeichert werden soll. Bei „Boot selection“ wählt Ihr „FreeDOS“ und über dem Button „Auswahl“ kann das entsprechende Image angewählt werden. Alle anderen Einstellungen bleiben unverändert. Mit einem Klick auf „Start“ wird das Image auf den USB-Stick geschrieben. Es müssen noch 1-2 Meldungen mit „okay“ bestätigt werden. Danach startet der Vorgang.
Nun kann der USB-Stick in einen freien Port des NUCs gesteckt werden und der Power Knopf kann betätigt werden. Auf dem Monitor sollte nach wenigen Momenten ein Intel NUC-Symbol erscheinen. Hier müsst Ihr nun auf der Tastatur F10 drücken, um ins Boot-Menü zu gelangen. Es sollten drei Auswahlmöglichkeiten angezeigt werden. Hier wählt Ihr Euren zuvor beschriebenen USB-Stick aus.
Die Installation startet mit einer grafischen Oberfläche. Während der Installation müssen diverse Einstellungen vorgenommen werden. Dazu gehört auch ein Benutzername und ein Passwort. Diese Kombination solltet Ihr Euch unbedingt merken. Alle anderen Schritte sind recht simpel und analog einer Windows Installation durchzuführen.
Nachdem die Installation durchgelaufen ist, findet Ihr Euch auf der KDE von Ubuntu wieder. Dieser Desktop sieht ähnlich wie bei Windows aus ;-) Jetzt wollen wir debmatic installieren. Dazu öffnen wir das Terminal. Das könnt Ihr entweder über die Tastenkombination „Strg“ + „Alt“ + „T“ machen oder aber über Programme —> Terminal.
Um debmatic zu installieren, müssen wir dem System erst einmal die Repositorie von Alexander bekannt machen. Das geht über folgenden Befehl:
wget -q -O - https://www.debmatic.de/debmatic/public.key | sudo apt-key add -
sudo bash -c 'echo "deb https://www.debmatic.de/debmatic stable main" > /etc/apt/sources.list.d/debmatic.list'
sudo apt update
Bei der aktuellen Version muss der Kernel Header nicht aktualisiert werden. Daher können wir das Kernel Modul über folgenden Befehl installieren:
sudo apt install pivccu-modules-dkms
Nach der Installation folgt zuerst ein Neustart:
sudo reboot
Nun kann endlich debmatic installiert werden:
sudo apt install debmatic
Zu diesem Zeitpunkt sollte Ihr das Homematic Funkmodul bereits per USB angeschlossen haben, damit es nach der Installation direkt erkannt wird. Rechts neben dem NUC seht Ihr das Gehäuse aus Acryl, welches nächste Woche (stand 12.04.2019) bei uns im Shop zusammen mit der Platine gelistet sein wird.
Nachdem die Installation abgeschlossen ist, wird die Kommunikation mit dem Funkmodul hergestellt. Die blaue_LED signalisiert, dass der NUC mit dem Internet verbunden ist und das Modul genutzt werden kann.
Für alle, die es noch nicht mitbekommen haben. Alexander Reinert hat eine Platine entwickelt, die es möglich macht, das Homematic Funkmodul per USB an X64-Systeme anzubinden. So kann die CCU3 Software (über debmatic) auch auf anderen Systemen außer Raspberry Pi und ASUS Tinker Board installiert werden. Das ermöglicht es, ein hochperformantes System einzusetzen, das neben der eigentlichen „Kommunikations-Schnittstelle“ auch Programme wie ioBroker, openHAB, node-red uvm… verwalten kann. Die Platine kann bei uns im Shop bestellt werden.
Es kann sowohl das „alte“ als auch das „neue“ Homematic-Funkmodul angeschlossen werden. Dieses wird über die Sockelleiste einfach auf die Platine gesteckt und dann per USB an das entsprechende Gerät angeschlossen. Die Platine kann auch am Raspberry Pi genutzt werden, um den Hin-Header für andere Funktionen zu nutzen.
In den nächsten Artikel will ich Euch zeigen, wie Ihr Euer neues Ubuntu-System so konfiguriert, dass es nicht automatisch in den Standby fährt, wie Ihr über das Programm X2Go per Remote den NUC verwalten könnt und ich zeige Euch zudem, wie Ihr openHAB installiert und neben debmatic nutzen könnt. Das System, welches ich Euch hier heute vorgestellt habe ist ein absolutes „low-cost“, einsteiger-System. Es gibt auch Intel NUC-Konfigurationen, die wesentlich leistungsfähiger sind, hier können dann auch diverse andere Server betrieben werden, die unter Linux laufen. Viel Spaß beim nachbauen ;-)
Hallo,
nachdem mittlerweile einige Monate vergangen sind, möchte ich gerne das Thema „debmatic im Docker-Container“ nochmal aufgreifen. Funktioniert das mittlerweile? Würde debmatic gerne auf meinem Synology NAS laufen lassen…
Michael
Servus,
wollte nachfragen ob schon abzusehen ist, wann der zweite Teil dieser spannenden Tutorial-Reihe erscheint :)
Hallo,
unwissend, dass debmatic aktuell in Proxmox nur in einer VM läuft (bis ich die Infos hier gefunden habe), habe ich es in einem Debian 10 LXC-Container unter Proxmox installiert. Die USB-Platine mit dem neuen Funkmodul habe ich an den Container durchgereicht. Mit lsusb wird das Gerät im Container auch angezeigt (Bus 001 Device 007: ID xxxx:xxxx Future Technology Devices International, Ltd HB-RF-USB)
Die Installation der Software lief fast problemlos durch (die fehlenden kernel headers werden angemeckert), dematic kann aber ohne weitere Fehlermeldungen über den Standardport 80 gestartet werden.
Allerdings habe ich den starken Verdacht, dass das Funkmodul eben doch nicht läuft, auch wenn es angezeigt wird. Einerseits kann ich in debmatic keine Geräte anlernen: Die Optionen werden gar nicht angezeigt. Andererseits leuchtet auch die Betriebs-LED des Duos Funkmodul und USB-Platine nicht.
Muss neben dem „Anstecken“ an den USB-Port noch irgend ein Treiber dafür installiert werden?
Kann das Fehler der Kernel Headers genau dieses Ergebnis haben oder sollte bei fehlenden Headers debmatic gar nicht startbar sein.
Da ich leider kein Linux-Experte bin, bin ich jetzt mit meinem Latein am Ende… Und bin für Tipps dankbar. Unabhängig davon werde ich natürlich noch versuchen, das ganze in einer echten VM zum Laufen zu bringen…
Gruß
Alex
Hi,
im Moment geht es nur in einer VM.
Viele Grüße
Alex
Hi zusammen,
kurze Frage: Im Artikel wurde debmatic ja nativ auf Debian installiert.
Ich würde gerne über Proxmox debmatic mit HM-MOD-RPI-PCB in einem LXC-Container verwenden.
Ist dies möglich oder benötige ich eine eigenständige Debian VM für debmatic?
Viele Grüße,
Stefan
Hi,
im Moment brauchst du noch zwingend eine VM, weil die notwendigen Kernel Module nicht innerhalb eines LXC Container geladen werden können.
Ich prüfe aber eine Möglichkeit, wie man die Kernel Module im Proxmox installiert und dann innerhalb eines LXC Containers nutzen kann. Das kann aber noch einige Tage dauern.
Viele Grüße
Alex
Hi Alex,
vielen Dank für deine schnelle Antwort.
Machst du den Test in naher Zukunft, so dass sich das Warten noch lohnt?
Wirst du deine Ergebnisse hier sicherlich posten oder?
Gruß Stefan
Hi,
super Geschichte. Nun ist es endlich möglich das ganze als HA Lösung zu betreiben – TOP! Was noch gut wäre, ist noch die Suspendmöglichkeit des GPIO Moduls im Linuxkernel. Dann gäbe es auch die Möglichkeit eine VM Live Migration zu machen.
(Running@ Debian, DRBD, GFS2, Xen Opensource )
Viele Grüße,
MW
Hi,
das mit dem Suspend ist leider in der Form nicht möglich: Die ganzen Binaries der CCU verlassen sich drauf, dass das Gerät dauerhaft angeschlossen ist und jederzeit ohne Unterbrechnung verfügbar ist. Aufgrund der USB Vorgaben, muss aber das Funkmodul bei einem Suspend abgeschaltet werden damit der Stromverbrauch auf die geforderten Werte kommt (und das passiert auch Hardware-mäßig auf der Platine). Dadurch wird das Funkmodul resettet und kann erst wieder nach einer Initialisierung betrieben werden, welche aber nicht erfolgt, weil die Binaries der CCU das eben nicht unterstützen. Und da diese Closed Source sind, kann man daran auch nichts ändern.
Viele Grüße
Alex
Hi,
Danke für die schnelle Antwort. Dann kann man wohl nichts machen. Workaround ist mit einem Pre Script debmatic/rfd/gpio zu stoppen und anschließend wieder zu starten…
Viele Grüße,
MW
Ich bin von der NUC-Lösung längst wieder abgerückt.
Wer zusätzlich IObroker mit der Anweseheiskennng Radar installieren will, wird keine Freude daran haben.
Der NUC kann leider keine BLE-Geräte auslesen.
Ich habe es auch nicht fertig gebracht einen zusätzlichen USB-Dongle zum Laufen zu bekommen, der dann BLE-Geräte wie den G-Tag oder Werarables findet.
Wer einen NUC als Desktop oder als Server zu hause hat, für den wird das bestimmt eine super Lösung sein.
Oder man wartet, bis man Debmatic/Raspberrymatic/pivccu als Docker laufen lassen kann. Dann kann man sich aber den NUC sparen und installiert dann gleich alles auf seiner Synology Disk Station.
Moin,
kann ich so nicht nachvollziehen.
Betreibe selber 2 NUCs (unterschiedliche) jeweils mit Proxmox und u.a. ioBroker und habe an beiden einen BTLE-USB-Dongle angesteckt und an die VM durchgereicht.
Gruß,
eric2905
Hi,
hast du BLE überhaupt irgendwo laufen? Ich höre von dir immer wieder Kommentare, dass du es auf irgendwelchen Systemen nicht zum Laufen bekommst und gefühlt sind da mittlerweile alle Systemme laut dir ungeeignet, wo man sich dann eher langsam fragen muss, ob du nicht eher etwas falsch machst, insb. weil andere ja berichten, dass sie es am Laufen haben.
Viele Grüße
Alex
Hallo Alex,
vielemn Dank für deinen zutreffenden Kommentar. MathiasZ ist auch im Forum unterwegs und ich habe das was du schreibst auch immer wieder gelesen.
Bei mir läuft es ähnlich wie bei Eric ohne Probleme.
Grüsse Birger
Hi,
schöner Artikel. Ein Hinweis von mir als Entwickler: debmatic läuft nicht nur auf x64 Hardware, es läuft auch problemlos auf diversen Single Board Computern, wie z.B. Raspberry Pi, Tinkerboard, etc. Je nach Anforderung ist das durchaus eine Alternative, wenn man nicht ganz so speicherhungrige Sachen zusätzlich installiert.
Viele Grüße
Alex