Raspberry Pi´s waren bisher immer das non plus ultra wenn es um SmartHome Server geht. In diesem Beitrag zeige ich Euch aber mit dem ACEMAGIC S1 eine super Alternative.
Amazon Link: https://amzn.to/42Gj2jV
Diesen will ich in Zukunft als “perfekten SmartHome Server” einsetzen. Darauf soll dann openHAB 4 als Windows Service, das Linux Subsystem mit Docker, ein MQTT Broker, Zigbee usw. installiert werden.
Hardware & Specs:
Als vergleich habe ich hier auch noch den Raspberry Pi 5 aufgelistet welcher in einer vergleichbaren Ausstattung also mit Netzteil, Gehäuse und 512GB SSD auch ca. 200€ kostet.
Beim ACEMAGIC S1 bietet die seitlich angebrachte magnetische Öffnung noch die Möglichkeit eine zweite m.2 SSD zu verbauen oder den Arbeitsspeicher zu ersetzen.
Lieferumfang & Verarbeitungsqualität:
Im Lieferumfang befindet sich natürlich der S1 MiniPC, ein magnetischer Standfuß, ein HDMI Kabel (2m), das Netzteil und die Bedienungsanleitung.
Die Verarbeitungsqualität des ACEMAGIC S1 gefällt mir sehr gut. Es wurde wie gewohnt von Acemagic ein hochwertiger Kunststoffmix verwendet der schon fast ein Aluminium Feeling aufkommen lässt. Der einzige Schwachpunkt ist meiner Meinung nach der glänzende/polierte Kunststoff neben dem LED Stripe, dieser ist sehr anfällig für Kratzer.
Display:
Was natürlich sofort ins Auge fällt ist der LCD Screen auf der Vorderseite des MiniPc´s. Dieser zeigt verschiedene Werte wie z.b. CPU Auslastung, RAM Auslastung, Stromverbrauch, Lüftergeschwindigkeit, Datum & Uhrzeit an. Das Design bzw. die Anordnung kann bequem über eine eigens dafür entwickelte Software konfiguriert werden.
Link zur aktuellen Software: https://drive.google.com/file/d/1nuZBZX2LPqIH6iQpY-rflB_NqvHv9gPk/view?usp=sharing
Hier kann man z.b. zwischen 4 vorinstallierten Themes wählen oder ganz einfach ein Custom Theme erstellen. Ebenso kann das Display bzw. die Anzeige um 90Grad gedreht werden, falls man den S1 horizontal hinlegen will.
Auch der LED Stripe unter dem Display kann bequem über die mitgelieferte Software eingestellt und konfiguriert werden. Leider gibt es aktuell noch keine Einstellmöglichkeit für eine statische Farbe. Ich denke das wird sich aber bald ändern 😉
Leistung & Benchmarks:
openHAB 4 Windows Installation:
Wie oben schon beschrieben will ich den ACEMAGIC S1 als “perfekten SmartHome Server” konfigurieren. Dazu beginne Ich natürlich mit der Installation von openHAB 4 als Windows Service.
Da openHAB 4 JAVA 17 voraussetzt müssen wir dieses erst installieren. Dazu verwende ich das Paket von Azul Zulu.
Nachdem der .msi Installer heruntergeladen wurde kann die Installation mit einem Doppelklick auf die Datei gestartet werden.
Im zweiten Schritt der Installation muss aufgepasst werden da hier die JAVA_HOME Variable mit installiert werden muss.
Nachdem die Installation abgeschlossen ist kann man überprüfen ob JAVA 17 erfolgreich installiert wurde. Dazu öffnet Ihr ein PowerShell und gebt dann diesen Befehl ein:
java -version
Fall Ihr hier eine Ausgabe bekommt können wir mit der openHAB 4 Installation beginnen.
Dazu öffnet Ihr diese Seite:
https://www.openhab.org/download/
Und wählt dort dann Windows als Betriebssystem und als Version die stable Version aus.
Nachdem der Download abgeschlossen ist müssen wir die .zip Datei entpacken. Wählt hier gleich den Ordner in welchen Ihr openHAB 4 installieren wollt. Ich erstelle mir dazu einen Ordner mit dem Namen openHAB im :C Verzeichnis.
Um jetzt die Erstinstallation zu beginnen öffnet Ihr einfach die start (Windows Batchdatei). Nun öffnet sich ein Terminal Fenster mit der openHAB Konsole.
Nach ein paar Minuten könnt Ihr dann im Browser überprüfen ob openHAB erfolgreich installiert wurde. Dazu gebt Ihr 127.0.0.1:8080 oder EUREIP:8080 im Browser ein. ACHTUNG die Konsole vorerst nicht schließen!!!
Nun solltet Ihr diese Ausgabe bekommen:
Nachdem das openHAB Setup abgeschlossen ist gehen wir zurück in die Konsole um den Windows Service anzulegen.
Zurück in der Konsole gebt Ihr dann diese zwei Zeilen ein:
feature:install service-wrapper
wrapper:install --name "openHAB" --display "openHAB" --description "openHAB Service"
Nun wurden die benötigten Dateien und Services angelegt und wir können mit dem Befehl
logout
openHAB herunterfahren bzw. stoppen.
Im nächsten Schritt muss jetzt die openHAB-wrapper.conf Datei verändert werden. Diese liegt bei mir unter C:\openHAB\userdata\etc\openHAB-wrapper.conf
Nachdem die Datei im z.b. im Notepad geöffnet wurde, können alle Zeilen gelöscht und durch diese Zeilen ersetzt werden:
#*******************************************************
# openHAB-wrapper.conf for Windows Service Installation
#*******************************************************
# openHAB installation dir (Euren Installationsverzeichnis anpassen)
set.default.OPENHAB_HOME=C:\openHAB
# Wrapper Properties
set.default.OPENHAB_CONF=%OPENHAB_HOME%\conf
set.default.OPENHAB_RUNTIME=%OPENHAB_HOME%\runtime
set.default.OPENHAB_USERDATA=%OPENHAB_HOME%\userdata
set.default.OPENHAB_LOGDIR=%OPENHAB_USERDATA%\logs
set.default.KARAF_LOG=%OPENHAB_USERDATA%\logs
set.default.KARAF_HOME=%OPENHAB_RUNTIME%
set.default.KARAF_BASE=%OPENHAB_USERDATA%
set.default.KARAF_DATA=%OPENHAB_USERDATA%
set.default.KARAF_ETC=%OPENHAB_USERDATA%\etc
set.default.PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
# Java Application
wrapper.working.dir=%KARAF_BASE%
wrapper.java.command=%JAVA_HOME%\bin\java
wrapper.java.mainclass=org.apache.karaf.wrapper.internal.service.Main
wrapper.java.classpath.1=%KARAF_HOME%\lib\boot\*.jar
wrapper.java.classpath.2=%KARAF_DATA%\lib\wrapper\*.jar
wrapper.java.classpath.3=%KARAF_HOME%\lib\jdk9plus\*.jar
wrapper.java.classpath.4=%KARAF_HOME%\lib\endorsed\*.jar
wrapper.java.library.path.1=%KARAF_DATA%\lib\wrapper\
# Java Parameters
wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
wrapper.java.additional.5=-Dcom.sun.management.jmxremote
wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
wrapper.java.additional.8=-Dopenhab.home="%OPENHAB_HOME%"
wrapper.java.additional.9=-Dopenhab.conf="%OPENHAB_HOME%\conf"
wrapper.java.additional.10=-Dopenhab.runtime="%OPENHAB_HOME%\runtime"
wrapper.java.additional.11=-Dopenhab.userdata="%OPENHAB_HOME%\userdata"
wrapper.java.additional.12=-Dopenhab.logdir="%OPENHAB_USERDATA%\logs"
wrapper.java.additional.13=-Dfelix.cm.dir="%OPENHAB_HOME%\userdata\config"
wrapper.java.additional.14=-Dorg.osgi.service.http.port=8080
wrapper.java.additional.15=-Dorg.osgi.service.http.port.secure=8443
wrapper.java.additional.16=-Djava.util.logging.config.file="%KARAF_ETC%\java.util.logging.properties"
wrapper.java.additional.17=-Dkaraf.logs="%OPENHAB_LOGDIR%"
wrapper.java.additional.18=-Dfile.encoding=UTF-8
wrapper.java.maxmemory=512
# Wrapper Logging Properties
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=%OPENHAB_USERDATA%\logs\wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=10m
wrapper.logfile.maxfiles=5
wrapper.syslog.loglevel=NONE
# Wrapper Windows Properties
wrapper.console.title=openHAB
wrapper.ntservice.name=openHAB
wrapper.ntservice.displayname=openHAB
wrapper.ntservice.description=openHAB Service
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false
Vorsicht hier muss gegebenfalls das OPENHAB_HOME Verzeichnis angepasst werden. Dann kann die Datei gespeichert werden.
Jetzt öffnet Ihr wieder ein PowerShell als Administrator und gebt dann folgende Zeilen ein:
C:\openHAB\userdata\bin\openHAB-service.bat install
net start "openHAB"
Das wars 😉 openHAB 4 wurde erfolgreich als Windows Service installiert.
Natürlich kann das dann auch noch überprüft werden. Dazu geht Ihr mit einem rechten Mausklick auf das Windows Symbol und wählt hier Ausführen.
Dann gebt Ihr folgende Zeile ein:
services.msc
Hier findet Ihr dann alle laufenden Dienste, unter anderem auch den openHAB Service.
openHAB 4 Update:
Eine sehr wichtige Funktion stellt das Updaten von openHAB unter Windows dar. Dazu verwenden wir ein Update Skript das auch schon fertig konfiguriert im openHAB Verzeichnis liegt.
Um dieses Skript auszuführen wird ein PowerShell als Administrator geöffnet. Als erstes müssen aber die execution policies geändert werden, da standardmäßig Windows das Ausführen solcher Skripte nicht erlaubt. Um das zu tun gebt Ihr einfach diese Zeile im PowerShell ein:
set-executionpolicy unrestricted
Das ganze wird dann mit A bestätigt. Dieser Vorgang muss auch nur einmal ausgeführt werden, bei allen darauf folgenden Updates ist dieser Schritt nicht notwendig.
Und jetzt kann dann auch schon mit dem Update begonnen werden. Dazu wechselt Ihr in euer openHAB Home Verzeichnis, bei mir
cd C:\openHAB
dann wird das Update Skript mit diesem Befehl gestartet:
. .\runtime\bin\update.ps1
Hier muss wieder bestätigt werden das dass Skript ausgeführt werden soll.
Darauf folgend muss dann das gewünschte Update mit dieser Zeile ausgeführt werden, achtet hier darauf die Version anzugeben zu der geupdatet werden soll ( in diesem Fall will ich auf Version 4.1.1 updaten)
Update-openHAB -OHVersion 4.1.1
und schon läuft das Update.
weitere Services:
to be continued….