I got a new Zibee USB Stick, the Conbee 2 and try to setup everything. If I install the integration in HA it asks for a host address, with google I found that the Is an add-on for Hass.io. But I do not use hass.io but the home assistant docker version. How can I get Deconz work here without hass.io add-on?
Just follow the official instructions for a docker install. HA should discover it and prompt you to set up the integration… if its on the same subnet with broadcasts enabled. And the host address is just wherever your deconz installation is at.
I personally use ipvlan to bridge all my docker services to a dedicated “Services” VLAN, with each service getting a fixed ip on the subnet, so most of that works out for me.
Here’s my deconz docker-compose file as an example. You’d omit the network options and use network_mode: host if you want to use host networking.
version: "2.4" networks: services: external: name: services_network services: deconz: image: marthoc/deconz container_name: deconz restart: always networks: services: ipv4_address: 10.0.0.30 volumes: - "/etc/localtime:/etc/localtime:ro" - "./data:/root/.local/share/dresden-elektronik/deCONZ" environment: - "TZ=Asia/Kuala_Lumpur" devices: - "/dev/ttyAMA0:/dev/ttyAMA0"
You do not need to run Deconz in a Home assistant addon. The Conbee with its software Deconz/Phoscon is a product sold by Dresden Elektronik to be used either as a complete stand alone system or paired with any home control hubs. The control interface is a REST API and that part is in open source. Dresden Elektronik offers the Deconz software as a Debian package that installs easily in Debian or any Ubuntu flavour. It exists in two versions that both gets installed. Either a daemon without the graphical user interface. Or a Graphical user interface software that requires that you have a desktop environment. You cannot run both at the same time. If the GUI version runs it does the same as the daemon plus the user interface.
Both with daemon and with the GUI you have the web interface called Phoscon. The GUI is really only needed to do very advanced stuff. In normal every day use the daemon and the Phoscon interface is all you need.
The Home Assistant Addon is a Docker image that contains the Deconz software and it actually runs the GUI version with a minimal desktop environment which is accessible via VNC. And the Home Assistant Addon is most of the time based on the beta version (which is normally very stable).
Dresden Elektronik sell their product as a hardware solution based on a Raspberry Pi.
Seen from Home Assistant, HA has an integration which connects to the API of Deconz and for this all it needs is the IP address of the Deconz machine, a port number, and an application password which is gets via the API by enable this mode from a “button press” in Phoscon.
The huge advantage of the Addon is that it is a one click installation (in Home Assistant installations with the Supervisor) and one click upgrades when there is a new version. And you get access to the Phoscon app via Ingress in HA.
For most people that are not well into installing deb packages with apt or apt-get the HA Addon is a blessing.
But it also has its problems. There is a still a bug in the Addon that it does not work reliably with by-id device links. This becomes a problem if you have two USB sticks that both present themselves as ttyACM0 and ttyACM1 because you never know which becomes what after a boot. Then you use a symlink that is predictable. Unfortunately the addon does not always create these inside the container.
If you have only one ttyACM0 device then this is no problem to worry about. You just use /dev/ttyACM0 in the config for the Conbee stick
When you install Deconz in a Debian/Ubuntu without having it run in a Docker container you do not need to think about devices. Deconz probes the devices and find the Conbee automatically.
By default Phoscon and the API is presented on port 80 so you cannot run a website with Apache or Nginx on same machine without tinkering with the configuration of Deconz to chose alternative port. You have to know what you are doing when you install by this method.
For both the Addon and the “bare metal” you have to disable Modem Manager service in the mother OS. It disturbs not only Deconz but many different products that uses a USB serial device. Who uses a serial modem anyway these days?
There also exists Deconz as a standalone Docker container. And again this will work the same way. You just need to know which IP address and port it uses when you pair it with the integration in home assistant. And you need to know how to run Docker stuff.
The only requirement is that Home Assistant has to be able to directly address the IP address that runs the Deconz software. If you install Deconz on a different computer or on same machine as HA… HA will discover it and then it is easy to add the integration.
Also there is nothing that prevents multiple devices to connect to Deconz. So if someone plays with Home Assistant and maybe Hubitat or OpenHab you can run the two in parallel. What I like about the Deconz platform and solution is that it has a proper open API, and supports devices from many different brands. And all local. No cloud needed. And if I one day get tired of Home Assistant then I can just switch to something else and still keep my running Deconz. I like to know that I have this freedom.
I switched from the Addon to “bare metal” because of the ttyACM issue but now I am not turning back even if it gets fixed because I like the feeling of not being locked in. I can upgrade or downgrade Deconz whenever I want. I can move it to a different machine. It runs even if HA barfs during a dodgy upgrade.
But it takes some effort. When I want to use the GUI I have to manually write systemctl stop deconz and open the GUI from a desktop. And systemctl start deconz when I am done with GUI.
Keeping it up to date is part of normal apt update && apt upgrade that you do anyway. You have to be a little bit of a geek to run it this way.
But then - most people that chose Home Assistant are a bit geeky. That is why you chose that route instead of SmartThings or similar.