Installation
June 25, 2026 ยท View on GitHub
The installation of the adapter requires some preparatory work. Here the basic installation including all requirements is described. Detailed information, instructions and settings can be found on the page of Zigbee2MQTT.
ATTENTION: If the coordinator has been used somewhere else before, it must be reset, otherwise errors will happen.
Installation
In our example Zigbee2MQTT is set up via Docker / Docker Compose. You can find more setup methods on the official documentation. As a prerequisite here is a submitted Docker server give!
-
edit existing or new Docker-Compose.yml and add the following entry. It is only important that these settings are adapted to your environment, e.g. the path to the USB antenna under "devices" or the path to the configuration file under "volumes".
zigbee2mqtt: container_name: zigbee2mqtt restart: unless-stopped image: koenkk/zigbee2mqtt ports: - 8080:8080 devices: - /dev/ttyUSB0:/dev/ttyUSB0 volumes: - /etc/localtime:/etc/localtime:ro - ./zigbee2mqtt/data:/app/data environment: - TZ=Europe/Berlin -
Next, a standard configuration should be built. Here you can use the official or the optimized version for ioBroker. Create the file configuration.yaml under ./zigbee2mqtt/data/ - values with "Your Data" must be adapted to your environment.
Original configuration:
# Let new devices join our zigbee network permit_join: true mqtt: base_topic: zigbee2mqtt server: mqtt://Your Data:Your Port (in the normal case the port is : 1885) # Zigbee Adapter path serial: port: /dev/ttyUSB0 # Enable the Zigbee2MQTT frontend frontend: port: 8080 # Let Zigbee2MQTT generate a new network key on first start advanced: network_key: GENERATEFor the adapter optimized and recommended version - values with "Your Data" must be adapted to your environment.
homeassistant: false permit_join: true frontend: port: 8080 host: 0.0.0.0 mqtt: base_topic: zigbee2mqtt server: mqtt://Your Data:Your Port (in the normal case the port is : 1885) serial: port: /dev/ttyACM0 advanced: pan_id: GENERATE ext_pan_id: [0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD] channel: 11 network_key: GENERATE last_seen: ISO_8601_local homeassistant_legacy_entity_attributes: false legacy_api: false legacy_availability_payload: false cache_state: false output: json transmit_power: 20 log_level: warn device_options: legacy: false availability: enabled: true active: timeout: 10 passive: timeout: 1100 -
As can be seen, an MQTT server is required, which currently has no function for this adapter, but is required for startup. For this purpose, one can be configured in the adapter in ioBroker or an additional Docker container (https://www.zigbee2mqtt.io/guide/getting-started/#_2-setup-and-start-zigbee2mqtt) can be used as in the original documentation.
-
Once all this is done, we can use
docker-compose up -dto take over the Docker configuration and design the container. After a short time we can then connect to the web interface of Zigbee2MQTT with http://Dockerhost-IP:8080. -
Installation of the Zigbee2MQTT adapter via the Adapter Tab in ioBroker
-
Configuration of the adapter See Adapter configuration
-
Now everything should run and the devices can be tuned in. Here is a detailed instruction: https://www.zigbee2mqtt.io/guide/usage/pairing_devices.html