{"id":168306,"date":"2025-01-25T16:28:16","date_gmt":"2025-01-25T15:28:16","guid":{"rendered":"https:\/\/clubcomputer.at\/?p=168306"},"modified":"2025-01-25T16:29:19","modified_gmt":"2025-01-25T15:29:19","slug":"diy-umzug-der-heimsteuerung-auf-unraid-server","status":"publish","type":"post","link":"https:\/\/clubcomputer.at\/2025\/01\/25\/diy-umzug-der-heimsteuerung-auf-unraid-server\/","title":{"rendered":"DIY: Umzug der Heimsteuerung auf unraid-Server"},"content":{"rendered":"
[et_pb_section fb_built=“1″ theme_builder_area=“post_content“ _builder_version=“4.27.4″ _module_preset=“default“ hover_enabled=“0″ sticky_enabled=“0″][et_pb_row _builder_version=“4.27.4″ _module_preset=“default“ column_structure=“2_5,3_5″ theme_builder_area=“post_content“ custom_padding=“||0px|||“ min_height=“288px“][et_pb_column _builder_version=“4.27.4″ _module_preset=“default“ type=“2_5″ theme_builder_area=“post_content“][et_pb_image src=“https:\/\/clubcomputer.at\/wp-content\/uploads\/sites\/6\/2025\/01\/2501-Heimsteuerung-auf-unraid-267×300.png“ _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ alt=“Dockeransicht auf unraid“ title_text=“2501 Heimsteuerung auf unraid“ hover_enabled=“0″ sticky_enabled=“0″][\/et_pb_image][\/et_pb_column][et_pb_column _builder_version=“4.27.4″ _module_preset=“default“ type=“3_5″ theme_builder_area=“post_content“][et_pb_text _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ hover_enabled=“0″ sticky_enabled=“0″]<\/p>\n
Bisher habe ich meine Haussteuerung (haupts\u00e4chlich Zigbee-Devices mit Programmierung \u00fcber Node-RED) auf einem Raspberry-400 (ein normaler RPi-4 war damals nicht zu bekommen) betrieben.
Aber irgendwie machte die Konfiguration immer Mucken, wenn sie mit einem pl\u00f6tzlichen Stromausfall konfrontiert war.
So super war der Einsatz auf SD-Karten halt nicht wirklich.<\/p>\n
Andererseits hatte ich vor einiger Zeit einen Unraid-Server in Betrieb genommen, der ohnehin unausgelastet war und zus\u00e4tzliche Aufgaben vertragen w\u00fcrde. Au\u00dferdem h\u00e4ngt der an einer USV.<\/p>\n
\u00a0<\/p>\n
[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=“1″ theme_builder_area=“post_content“ _builder_version=“4.27.4″ _module_preset=“default“ custom_padding=“3px||3px|||“ custom_margin=“-36px|||||“ min_height=“2196.1px“][et_pb_row _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ min_height=“465.4px“ custom_padding=“0px|||||“ custom_margin=“|auto|-24px|auto||“][et_pb_column _builder_version=“4.27.4″ _module_preset=“default“ type=“4_4″ theme_builder_area=“post_content“][et_pb_text _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ hover_enabled=“0″ sticky_enabled=“0″]<\/p>\n
Damit war einigerma\u00dfen klar, dass ich meine Haussteuerung auf diesen neuen Server umziehen will.<\/p>\n
Was an Software ben\u00f6tigt wird:<\/p>\n
* MQTT-Broker (Mosquitto)
* Zigbee2MQTT
* Node-RED
* eine exportierte Flow-Datei von der alten Installation<\/p>\n
Der Vorteil der neuen Variante ist, dass die einzelnen Komponenten sich in Docker-Containern befinden und daher rasch installiert und gewartet werden k\u00f6nnen.<\/p>\n
An Hardware wird von mir verwendet:<\/p>\n
* Ein MiniPC „HP-Elitedesk 800 G3 Tiny“ (Intel i3-6100, 16GB RAM) (war 2nd-hand um g\u00fcnstiges Geld) Also dann, gehen wir’s an…<\/p>\n [\/et_pb_text][et_pb_text _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ hover_enabled=“0″ sticky_enabled=“0″ custom_margin=“||-10px|||“]<\/p>\n Dazu eine Anleitung aus dem Netz: * In Unraid unter „APPS“ sucht man nach „Mosquitto“ und w\u00e4hlt die Containervorlage von „cmccambridge“<\/p>\n * Dockereinstellungen<\/strong> * Container starten<\/strong> * Konfigurationsdatei bearbeiten und die „Option 1“ aktivieren<\/strong> (unsichere Variante) * Den Docker Container „mosquitto“ starten<\/strong> Hinweis:<\/em> im jetzigen Zustand kann jeder Client mit dem MQTT-Broker v\u00f6llig ohne Passwort kommunzieren, was allerdings nicht empfehlenswert ist. * Username und Passwort erzeugen<\/strong> * Konfigurationsdatei nochmals bearbeiten und die „Option 2“ aktivieren<\/strong> (diesmal wollen wir das Passwort verwenden) * Jetzt den Mosquitto-Docker-Container neu starten und die Logs kontrollieren<\/strong> Gratulation an mich selbst… der erste Teil ist geschafft…<\/p>\n Hinweis an mich selbst…<\/em> Jetzt aber weiter zu Schritt 2…[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=“1″ theme_builder_area=“post_content“ _builder_version=“4.27.4″ _module_preset=“default“ custom_padding=“5px||0px|||“ min_height=“1641px“][et_pb_row _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ min_height=“524px“][et_pb_column _builder_version=“4.27.4″ _module_preset=“default“ type=“4_4″ theme_builder_area=“post_content“][et_pb_text _builder_version=“4.27.4″ _module_preset=“default“ theme_builder_area=“post_content“ hover_enabled=“0″ sticky_enabled=“0″ content_last_edited=“off|desktop“]<\/p>\n Jetzt wird der docker container „zigbee2mqtt“ von koenkk installiert.<\/p>\n Siehe folgende Links: Der schwierigste Teil ist, dass man aus dem container heraus, den USB-Funkstick ansprechen kann. Wichtig ist hier das „ttyUSB0“<\/b>.<\/p>\n Einerseits muss man den Stick in den Docker-Einstellungen und andererseits (neben anderen Parametern) in der configuration.yaml-Datei eintragen.<\/p>\n
* Bootstick mit Unraid-OS (ja, das geh\u00f6rt so…)
* Daran h\u00e4ngen dann 2 Stk. 4GB-Festplatten, die schon vorhanden waren
* Ein Zigbee-Adapter „Zigbee 3.0 USB Dongle Plus“, siehe sonoff-zigbee-3-0-usb-dongle-plus-e<\/a>
* Eine USV „EATON Ellipse ECO 650“<\/p>\nMosquitto installieren<\/h2>\n
\nhow-to-install-an-mqtt-broker-mosquitto-on-unraid\/<\/a><\/p>\n
\n** Port: 1883 (default belassen)
\n** Config directory: \/mnt\/user\/appdata\/mosquito (default belassen)<\/p>\n
\nEr wird sich zwar gleich wieder beenden, aber daf\u00fcr wird das File „mosquitto-unraid-default.conf“ angelegt.<\/p>\n
\nDazu \u00f6ffnet man das globale Terminal (icon rechts oben ‚>‘) und gibt dann folgende Kommandos ein:<\/p>\n----
\nnano \/mnt\/user\/appdata\/mosquitto\/mosquitto-unraid-default.conf
\n\/\/ Die #-Zeichen bei der Option 1 entfernen
\nlistener 1883
\nprotocol mqtt
\nallow_anonymous true
\n\/\/ jetzt noch die Datei sichern und schlie\u00dfen
\n\/\/ Ctrl-o und <Enter> f\u00fcr Schreiben
\n\/\/ Ctrl-x f\u00fcr Beenden
\n----<\/pre>\n
\nDamit ist die Datei vorbereitet und der Docker-Dienst sollte sich jetzt normal starten lassen.<\/p>\n
\nDaher wird in einem zweiten Schritt eine User-Passwort-Kombination erzeugt.
\nDen Schritt mit der _ungesch\u00fctzten_ Variante ist notwendig, weil wir das Kommando `mosquitto_passwd` ben\u00f6tigen, das allerdings nur verf\u00fcgbar ist, wenn mosquitto bereits l\u00e4uft (wieder einmal Henne-Ei…)<\/p>\n
\nWieder im Terminal:<\/p>\n----
\n\/\/ Erzeuge eine leere Passwort-Datei, soferne sie noch nicht existiert
\ndocker exec -it mosquitto touch \/mosquitto\/config\/passwd
\n\/\/ oder alternativ
\ntouch \/mnt\/user\/appdata\/mosquito\/passwd
\n\/\/ Lege einen neuen User an.
\n\/\/ Das Kommando verlangt dann gleich nach dem zu verwendenden Passwort.
\ndocker exec -it mosquitto mosquitto_passwd \/mosquitto\/config\/passwd user_name
\n----<\/pre>\n
\nD.h. wieder auf der Commandozeile\/Terminal die Konfigurationsdatei \u00f6ffnen und editieren<\/p>\n----
\nnano \/mnt\/user\/appdata\/mosquitto\/mosquitto-unraid-default.conf
\n\/\/ Die #-Zeichen bei der Option 1 wieder hinzuf\u00fcgen
\n# listener 1883
\n# protocol mqtt
\n# allow_anonymous true
\n\/\/ Daf\u00fcr aber die #-Zeichen bei der Option 2 entfernen
\nlistener 1883
\nprotocol mqtt
\npassword_file \/mosquitto\/config\/passwd
\n\/\/ Wieder die Datei sichern und schlie\u00dfen
\n\/\/ Ctrl-o und <Enter> f\u00fcr Schreiben
\n\/\/ Ctrl-x f\u00fcr Beenden
\n----<\/pre>\n
\nWenn die unterste Zeile folgenderma\u00dfen aussieht:<\/p>\n`1725780124: mosquitto version 2.0.18 running`<\/pre>\n
\nEs erscheinen noch 2 Warnungen. Um das werde ich mich irgendwann (vielleicht) k\u00fcmmern.<\/p>\nZigbee2MQTT installieren<\/h3>\n
\nhttps:\/\/www.zigbee2mqtt.io\/<\/a>
\nhttps:\/\/hub.docker.com\/r\/koenkk\/zigbee2mqtt\/<\/a><\/p>\n
\nDazu sieht man mittels Konsolenbefehl nach, wie dieser benannt ist.<\/p>\n----
\nls -l \/dev\/serial\/by-id
\n
\ntotal 0
\nlrwxrwxrwx 1 root root 13 Sep 7 08:39 usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_18ccaa8057c9eb119662914f1d69213e-if00-port0
\n-> ..\/..\/ttyUSB0
\n----<\/pre>\n