ioBroker installieren - Docker

Mit ioBroker können verschiedene Automatisierungslösungen oder Geräte in einem System zusammengefasst werden. Um bestimmte Gateways oder Geräte ansprechen zu können, werden in ioBroker verschiedene Adapter verwendet.   

Docker Basics
Docker ermöglicht es, Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabhängige isolierte Umgebung:
Das OS spielt also keine Rolle, vorausgesetzt Docker lässt sich installieren.
Beim ersten Start eines Containers, lädt Docker selbstständig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Für einen kurzen Überblick, wie sich ioBroker im SmartHome einfügt, siehe auch: Smart-Home-Plattform: Systeme

Als Voraussetzung für das Einrichten des ioBrokers wird für die hier vorgestellte Variante ein Docker-Setup vorausgesetzt, siehe: Docker.

ioBroker in Docker starten

Falls nicht bereits geschehen, sollte ein eigenes Netzwerk angelegt werden. Das Netzwerk kann auch für andere Smart-Home-Container verwendet werden, damit diese Daten untereinander leichter austauschen können. 

docker network create smart-home

Um ioBroker dann in dem angelegten Netzwerk zu starten, habe ich den folgenden Befehl verwendet:

mkdir -p /docker
mkdir -p /docker/iobroker
docker run -d \
  --network=smart-home \
  -p 8081:8081 \
  -p 8081:8081/udp \
  -p 8082:8082 \
  -p 8083:8083  \
  -p 1882:1882 \
  -p 8091:8091 \
  --hostname=iobroker \
  --restart=always  \
  --name iobroker  \
  -v /docker/iobroker/:/opt/iobroker  \
  buanet/iobroker -p

Die erste Verbindung auf die Weboberfläche führt uns zu den Haupteinstellungen:

Anmeldung-Passwort

Um den Zugriff auf ioBroker abzusichern, muss die Authentifizierung eingeschaltet werden. Zuvor kann über "Benutzer" ein Passwort vergeben werden:

 

Für das Einschalten der Authentifizierung, auf Instanzen, "admin.0":

Adapter, als Beispiel: deConz ZigBee, verbinden

Für die Steuerung der ZigBee-Geräte gibt es für Conbee einen eigenen Adapter,

Nach dem Hinzufügen, muss noch das Phoscon-GW des ConBee-Sticks auf "App verbinden" gesetzt werden. Informationen zur Inbetriebnahme von ConBee, siehe: Conbee 2 Inbetriebnahme.

dann: Erstelle API Key und speichern:

Wenn die Verbindung zu deCONZ funktioniert, wird der API-Key automatisch befüllt.

InfluxDB

Der Adapter "InfluxDB" ermöglicht es historische Werte in eine Influx-Datenbank zu schreiben, für das Setup, siehe: Docker InfluxDB.

Nach dem Setup kann die Influx Datenbank in den Einstellungen des Adapters hinterlegt werden:

Für das Erfassen der Zählerstände, auf Objekte und "Einstellungen":

Durch das Aktivieren werden alle Status-Änderungen in die Datenbank geschrieben: 

An dieser Stelle kann auch die Vorhaltezeit definiert werden.

verschiedene Geräte verbinden, steuern

Das direkte Steuern der Geräte über deren Objekte ist zwar möglich, aber nicht wirklich komfortabel. Der Menüpunkt Objekte dient vielmehr um alle Stati anzuzeigen und um bestimmte Aktionen zu testen. Um Sensoren oder Schalter mit bestimmten Geräten zu verknüpfen, wird eine bestimmte Logik benötigt, dazu gibt es in ioBroker mehrere Möglichkeiten. Für einfache Verknüpfungen kann der Adapter "Szenen" verwendet werden, etwas mehr Möglichkeiten bietet der Adapter "Script Engine":

Szenen - auf bestimmte Werte reagieren

Eine sehr einfache Variante bestimmte Trigger mit bestimmten Aktionen zu verknüpfen bietet der Adapter "Szenen". Als Beispiel steuere ich einen Luftentfeuchter über eine steuerbare Steckdose anhand der angezeigten Luftfeuchtigkeit eines Sensors:

Die Steckdose wird dabei bei einem Wert über 65 über die Szenenzustände eingeschaltet. Ein zweiter Ablauf schaltet den Luftentfeuchter bei einem Wert kleiner 60 dann wieder aus.

Script Engine - logische Abläufe

Das Beispiel mit dem Luftentfeuchters kann mit dem Adapater "Script Engine" wie folgt umgesetzt werden:

Der Adapter Script Engine erzeugt über visuelle Elemente (blockly) einen JavaScript-Code.

Das hier vorgestellte Beispiel erzeugt automatisch folgenden JavaScript-Block:

on({id: 'deconz.0.Sensors.10.humidity', change: "ne"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if (getState("deconz.0.Sensors.10.humidity").val >= '65') {
    setStateDelayed("deconz.0.Lights.7.on"/*Smart plug 7 on*/, true, 600000, false);
  }
  if (getState("deconz.0.Sensors.10.humidity").val < '60') {
    setState("deconz.0.Lights.7.on"/*Smart plug 7 on*/, false);
  }
});

Fazit

Der ioBroker kann verschiedenste Smart-Home-Lösungen miteinander verbinden. Eine Vielzahl an Adaptern im ioBroker bietet zahlreiche Anbindungs- und Erweiterungsmöglichkeiten. Mit Hilfe von Docker können zudem einfach Container außerhalb von ioBroker, aber auf der selben Hardware, betrieben und angebunden werden, zum Beispiel ein ZigBee Gateway Conbee 2, eine InfluxDB und Grafana für die Visualisierung.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


Top-Artikel in diesem Bereich

Preview Smart-Home-Plattform - Systeme: ioBroker vs. Home-Assistant

Smart-Home-Plattform - Systeme: ioBroker vs. Home-Assistant

geändert: 05.05.2021 von Bernhard (Erstveröffentlichung: 05.11.2020)

Für die Heim-Automatisierung gibt es neben zahlreichen verschiedenen Standards eine große Menge an verschiedenen Plattformen. Open Source Plattformen bieten dabei oft die Möglichkeit verschiedene Automatisierungs-Standards miteinander zu verbinden. Als Beispiel könnte ein kleiner Mini-Computer, ein Raspberry Pi oder eine NAS, ausgestattet mit mehreren Empfängern, verschiedene Automatisierungs-Lösungen über eine Plattform steuern. ... weiterlesen

Preview Conbee 2: Phoscon deCONZ - Docker Inbetriebnahme | Review

Conbee 2: Phoscon deCONZ - Docker Inbetriebnahme | Review

geändert: 01.08.2021 von Bernhard (Erstveröffentlichung: 20.08.2020)

Mit dem kleinen USB-Stick Conbee2 habe ich meine NAS um ein Zigbee-Gateway erweitert. Conbee2 kann auf Raspbian, Ubuntu, Docker oder Windows installiert werden. ... weiterlesen

Preview Home-Assistant Docker und deCONZ

Home-Assistant Docker und deCONZ

geändert: 08.11.2021 von Bernhard (Erstveröffentlichung: 06.11.2020)

Dank zahlreicher Integrationsmöglichkeiten ist Home-Assistant eine einfache Plattform für das Steuern verschiedenster Smart-Home Geräte. Im Vergleich zu ioBroker ist mir der Start mit Home Assistant wesentlich einfacher gefallen. Während ich für ioBroker noch am Suchen war, welches Frontend ich für meine Dashboards verwenden könnte, hatte ich mit Home-Assistant Out of the box ein fertig eingerichtetes System. Die Lovelance Dashboards von Home Assistant kön... ... weiterlesen


Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
erstellt am 30.06.2021 20:06
Moin,

kannst du mir Verraten wie ich den Docker updaten kann und wofür die ganzen Ports gut sind?

✍anonym
erstellt am 07.03.2021 15:03
Hallo,
Du erwähnst in dem Befehl viele Ports. Wofür sind sie bzw. welche sind denn tatsächlich nötig ?

Grüße
Martin

✍Tobias
erstellt am 21.01.2021 09:01
ioBroker in Docker starten

Hallo Bernhard, ich lese mit Interesse deine Beiträge und versuche derzeit von meinem PI auf meinem Windows 10PRO Rechner mit ioBroker umzuziehen.
- mit Linux und Docker bin ich natürlich noch nicht so sattelfest
- WIN10PRO
- Docker Desktop mit WSL2 läuft mit Adminrechten als User A_Tobias
- Netzwerk smart-home eingerichtet
- Ordner mkdir -p /docker/iobroker auf Windows Partition LW:C im Root angelegt und testweise unter C/User/A_Tobias (ist das für das Binding und die peristenten Daten richtig? Funktioniert bei mir nicht)
- ist der host eigentlich die WSL Umgebung mit Linux oder ist der host Windows mit seiner Verzeichnisstruktur?

- Container gestartet mit deinen Angaben
docker run -d --network=smart-home -p 8081:8081 -p 8081:8081/udp -p 8082:8082 -p 8083:8083 -p 1882:1882 -p 8091:8091 --hostname=iobroker --restart=always --name iobroker -v /docker/iobroker/:/opt/iobroker buanet/iobroker -p

- über localhost:8081 kann ich iobroker starten, die Daten bleiben aber nicht erhalten, da die Daten aus welchem Grund auch immer nicht vom Container ins host Verzeichnis /docker/iobroker gespeichert werden
- lt. buanet-block kann man auch eine backitup-Datei in den Ordner /opt/iobroker bzw. /docker/iobroker legen um die vorhandene Konfiguration auf das neue System aufzuspielen
- kannst du mir hierzu ein paar Tipps geben oder meine Gedankenfehler ausräumen?
- bedanke mir vorab für deine Unterstützung

Gruß Tobias
✍Bernhard
erstellt am 21.01.2021 12:01
Hallo Tobias, 
damit iobroker persistent wird, ist zumindest in Linux der Paramter -v /docker/iobroker/:/opt/iobroker verantwortlich: 
der lokale Ordner /docker/iobroker soll im Container unter /opt/iobroker verwendet werden.
Ich kann mir vorstellen, dass in Windows der Ordner dann ev. entsprechend auch einen Laufwerksbuchstaben braucht? sowas wie: 
-v c:\temp\docker:/opt/iobroker

erstellt von Bernhard
✍Tobias
erstellt am 22.01.2021 09:01
Hallo Bernhard,

danke für die Rückmeldung.
Wo wurden denn bei Dir die Ordner /docker/iobroker angelegt?

Du arbeitest doch auch mit Docker Desktop für Windows.

VG Tobias

erstellt von Tobias
✍Bernhard
erstellt am 22.01.2021 09:01
Hallo Tobias, 

ich arbeite mit einem Linux-Rechner, dort gibt es keine Laufwerkbuchstaben, nur einen Mountpoint, in dem Fall /docker/iobroker, was in der Windows-Welt sowas wie c:\docker\iobroker ist ...

erstellt von Bernhard

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.