Der Umstieg von OpenHAB 2 auf 3 wird kein einfacher – soviel ist klar! Die 1.x Bindings entfallen und die Standard-Rule-Engine wird getauscht.
Ich mache mir bereits intensive Gedanken, wie die Umstellung gelingt, und soviel ist bereits klar: beide Versionen müssen eine ganze Weile parallel laufen – auf einem Raspberry Pi!

Wie das mit nur einem RPi-4 zu schaffen ist lest ihr im Beitrag.

Eine gute Voraussetzung für den parallelen Betrieb ist Docker, da hiermit die einzelnen Instanzen voneinander getrennt sind. Das verhindert Probleme beim Abhängigkeitsmanagement und die Verwaltung der Ports etc ist ebenfalls einfach zu handhaben.

Der docker-run Befehl zum Start von OH 3.0 als eigene isolierte Instanz mit eigenen Ports

Wir starten eine OH3 Instanz parallel zu einer laufenden OH2 Instanz.

Die Ports (8080, 8443, 8101, 5007) werden auf eigene Ports der Maschine gemappt. Der Einfacheit halber habe ich hier einfach überall die “3” vorgestellt.

Wichtig: die Verzeichnisse für OH3 müssen eigene Verzeichnisse sein. Ihr dürft auf keinen Fall die selben Verzeichnisse der OH2 verwenden. Wer eine Migration versuchen möchte, kann die OH2 Verzeichnisse kopieren.

Verzeichnisstruktur ist identisch zu OH2

Wie ihr seht, habe ich mir ein neues Verzeichnis für OH3 angelegt, und den Docker run-Befehl zusammen mit stop und remove in ein Script ausgelagert. Das erleichtert das updaten auf neue OH3 Releases! Die Unterverzeichnisse addons, conf und userdata sind identisch zu OH2 und werden nach dem ersten Start automatisch angelegt und befüllt.

Das Port-Mapping nach dem Start

Hier nochmal ein Blick auf das Port-Mapping nach dem Start. OH3 ist nun auf Port 38080 der RPi-IP erreichbar.

Der Login / Register Dialog nach dem ersten Start

OpenHAB 3.0 kommt mit einer ganz neuen Oberfläche die Habmin und Papper-UI vollständig ersetzt. Und mit neuen Sicherheits-Features. So gibt es nun User / Admin Accounts. Und nach dem ersten Start – egal ob Migration oder neu aufgesetzt – wird der Admin-Account angelegt.

Die neue UI wirkt modern, aufgeräumt, umfangreich und durchdacht

Hier mal ein Screenshot der UI nach dem Login. Alles an einem Platz. Neben dieser gibt es nur noch zwei weitere Oberflächen, soweit ich das verstanden habe: Die Basic-UI zur Anzeige und ebenso das schöne HABPanel.

Jede Menge Einstellungen – alles an einer Stelle

Nun, damit haben wir OpenHAB 3.0 parallel zur 2.5 am laufen. Das Erkunden der Neuerungen und Möglichkeiten kann beginnen.

Ich mache mir derzeit Gedanken darüber, wie ein Umstieg möglichst Wertvoll sein kann. Ich möchte nicht einfach nur migrieren, sondern dabei gleich ein paar “Schulden” abbauen und neue Ideen und Ansätze einfließen lassen.

Halt euch auf dem Laufenden!

Habt ihr schon Pläne für die Migration? Ideen? Ansätze? Erfahrungen? Schreibt in die Kommentare!

Zum Kopieren, hier mein docker-run Script:

docker stop openhab3
docker rm openhab3

docker run \
	--name openhab3 \
	-v /etc/localtime:/etc/localtime:ro \
	-v /etc/timezone:/etc/timezone:ro \
	-v /opt/openhab3-krug/conf:/openhab/conf \
	-v /opt/openhab3-krug/userdata:/openhab/userdata \
	-v /opt/openhab3-krug/addons:/openhab/addons \
	-d \
	-e USER_ID=1000 \
	-e GROUP_ID=1000 \
	-e LANG=de_DE.UTF-8 \
	-e LANGUAGE=de_DE.UTF-8 \
	-e LC_ALL=de_DE.UTF-8 \
	-e EXTRA_JAVA_OPTS="-Xmx1024m" \
	--restart=always \
	--device=/dev/ttyACM0 \
	-m 1024m \
	-p 38080:8080 \
	-p 38443:8443 \
	-p 38101:8101 \
	-p 35007:5007 \
	openhab/openhab:3.0.0-snapshot

docker start openhab3

Tags:

3 Responses

  1. Zum Kopieren, hier mein docker-run Script:

    docker stop openhab3
    docker rm openhab3

    docker run \
    –name openhab3 \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    -v /opt/openhab3-krug/conf:/openhab/conf \
    -v /opt/openhab3-krug/userdata:/openhab/userdata \
    -v /opt/openhab3-krug/addons:/openhab/addons \
    -d \
    -e USER_ID=1000 \
    -e GROUP_ID=1000 \
    -e LANG=de_DE.UTF-8 \
    -e LANGUAGE=de_DE.UTF-8 \
    -e LC_ALL=de_DE.UTF-8 \
    -e EXTRA_JAVA_OPTS=”-Xmx1024m” \
    –restart=always \
    –device=/dev/ttyACM0 \
    -m 1024m \
    -p 38080:8080 \
    -p 38443:8443 \
    -p 38101:8101 \
    -p 35007:5007 \
    openhab/openhab:3.0.0-snapshot

    docker start openhab3

    • Hi Martin, das ist leicht erklärt und eine sehr nützliche Sache:

      Der Parameter -e EXTRA_JAVA_OPTS=”-Xmx1024m” setzt den maximalen Java-Speicherbedarf auf 1 GB. D.h. die Java-Runtime darf nicht mehr als 1 GB nutzen.
      Der Parameter -m 1024m teilt docker mit, dass dieser Container nicht mehr ais 1 GB nutzen darf.

      Somit sind docker und java gleich eingestellt.

Schreibe einen Kommentar zu andre Antworten abbrechen

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

Kategorien
Produktplatzierungen

In diesem Beitrag befinden sich Produktplatzierungen. Dabei handelt es sich um Produkte, welche ich aus eigener Motivation heraus gekauft und selbstverständlich bezahlt habe. Für die Platzierung in meinen Beiträgen erhalte ich keinerlei Gegenleistung von Seiten des Herstellers.
Die verlinkten Produkte sind zum überwiegenden Teil provisioniert, d.h. ich erhalte beim Verkauf eine kleine Provision.