ioBroker install - Docker
With ioBroker different automation solutions or devices can be combined in one system. To address specific gateways or devices, different adapters are used in ioBroker;
Docker Basics
Docker allows applications to be launched by command in a so-called container.A container is an isolated environment independent of the operating system (OS):
When a container is first launched, Docker independently loads all the necessary sources
from the internet.
Docker can be installed on Windows, macOS or an Linux Distribution
Software | IoBroker |
---|---|
GitHub | https://github.com/ioBroker/ioBroker |
current version | 2023-10-13-2 |
found | 2023-10-14 |
Start ioBroker in Docker
To start ioBroker, I used the following command:
sudo docker run -d \
--net=host \
--hostname=iobroker \
--restart=always \
--name iobroker \
-v /opt/iobroker \
buanet/iobroker -p
The example uses Docker volumes and no Bind mounts for permanent storage of data. See: Docker data storage: Docker Volumes vs. Host Folders
The first connection to the web interface will launch a setup wizard:
Login password
To secure access to ioBroker, authentication must be enabled. If not done using the wizard, a password can be assigned via “User”:
The Authentication is used on instances, “admin.0”:
Connect adapter, as an example: deConz ZigBee.
For the control of ZigBee devices, Conbee has its own adapter,
After adding, the Phoscon GW of the ConBee stick must be set to “Authenticate app”. For information on commissioning ConBee, see: Conbee 2 Startup.
then: Create API Key and save:
If the connection to deCONZ works, the API key is automatically filled.
InfluxDB
The adapter “InfluxDB” makes it possible to write historical values into an Influx database, for setup, see: Docker InfluxDB.
After the setup, the Influx database can be stored in the settings of the adapter:
For recording meter readings, on objects and "Settings":
Activating it will write all status & changes to the database:
connect, control different devices
Direct control of devices via their objects is possible, but not really comfortable.The Objects menu is used to display all statuses and to test certain actions. In order to connect sensors or switches with certain devices, a certain logic is required, for this there are several possibilities in ioBroker. For simple links, the “Scenes” adapter can be used, while the “Script Engine” adapter offers somewhat more possibilities:
Scenes - react to specific values
A very simple variant to link certain triggers with certain actions is offered by the adapter “Scenes”. As an example, I control a dehumidifier via a controllable socket based on the displayed humidity of a sensor:
Script Engine - logical operations
The Script Engine adapter generates JavaScript code via visual elements (blockly).
The visual elements automatically generates a 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);
}
});
Conclusion
The ioBroker can connect a wide variety of smart home solutions with each other. A variety of adapters in ioBroker offers numerous connection and expansion options. Using Docker, it is also easy to run and connect containers outside of ioBroker but on the same hardware, for example a ZigBee gateway Conbee 2, a InfluxDB and Grafana for visualization. As an alternative to ioBroker, see also: Home-Assistant.

{{percentage}} % positive

THANK YOU for your review!
Top articles in this section
First of all a big thank you to the creators of the "AI-on-the-edge-device" digitizer. The project allows to digitize the water consumption of an analog water meter with a 10 € cheap ESP32 cam. I describe exactly how this works in this article.
Zigbee2MQTT is an open source Zigbee bridge which can be easily integrated into existing smart home solutions thanks to the MQTT network protocol. As an example, Zigbee2MQTT combined with MQTT broker Mosquitto and Home Assistant can collect, display, record and control data from Zigbee devices. The setup described here uses Docker as a base. Manufacturer's website: https://www.zigbee2mqtt.io
The well-known Signal Messenger can besides the app also be used via command line or from other systems. The signal-cli-rest-api, which is available in the form of a Docker container, offers a simple option for this. For the API to work, it has to be coupled via the Signal app beforehand.