SkyConnect - silabs multiprotocol and docker

I also got it working on my raspberry, but am still facing some issues.
Did you get it working with the OTBR integration as well?
I’m still having trouble connecting to the REST API. When I navigate to port 8081 in the browser, I get a 404 error.

Yes I have the web ui for otbr, but it is not the 8081 port (which is the one of the boarder router to enter in HA integration).
The port of the web ui is set for me on 8086 as you can see in my last post :slight_smile:

I am doing a new image that will be able to run with docker-compose and environment variables file (with s6-overlay but without bashio).

Web-UI is also working for me on port 8086, but I am talking about connecting home assistant with the otbr via the integration for OTBR ( Open Thread Border Router - Home Assistant (home-assistant.io)).
Connecting to port 8081 (which should be hosting the REST-API), I receive following response:

{
	"ErrorCode":	404,
	"ErrorMessage":	"404 Not Found"
}

If I correctly read the otbr-agent-rest-discovery script, the integration should be setup with port 8081.

I figured it out now, i had to form a thread network via the web-ui and then could connect it via http://IP-ADDRESS:8081

1 Like

Finally got a clean way to set up all this mess haDOCKERaddons/silabs-multiprotocol/dockerCustom at master · nervousapps/haDOCKERaddons · GitHub :space_invader:

3 Likes

After a bit of struggle, I have successfully paired all my nanoleaf essentials bulbs on the thread network created via otbr.

What I needed to do is :

Now I can see the topology of my thread network via the otbr web ui

3 Likes

You should not use those environment variables any more. They were temporary, everything is turned on by default now.

1 Like

I’m getting

 The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested
1 Like

@nervousapps @marcokreeft87

I was also having the same issue :

However, I edited the “DockerFile” file to call for :

FROM homeassistant/amd64-addon-silabs-multiprotocol:latest

and had also previously tried editing the docker-compose.yml:

image

I think that it is somewhat working…need to figure out from above posts the other important details.

My USB dongle is running firmware for MultiPan RCP on ZB-GW04 v1.2 @ 230400 Baud
from here: Silabs Firmware Flasher | Web based flasher for ZB-GW04 and ZBDongle-E. MultiPAN RCP firmware enables these devices to be used with Silabs Multiprotocol Addon in Home Assistant. Allow Zigbee and Thread to co-exist on the same dongle. Get ahead of the tech an experiment with Matter!
after reading this post: https://smarthomescene.com/guides/how-to-enable-thread-and-matter-support-on-sonoff-zbdongle-e/#zigbee2mqtt

I did edit the “.env” file to match like so:

# OCPD environment variables
DEVICE="/dev/ttyUSB0"
#MultiPAN RCP - Zigbee + Thread for Silabs Multiprotocol Addon - Baudrate 460800 (230400 for ZB-GW04)
#BAUDRATE="460800"
BAUDRATE="230400"

CPCD_TRACE="true"

#Easyiot ZB-GW04 Revision v1.2 - Hardware flow control
FLOW_CONTROL="true"
NETWORK_DEVICES=0 #"false"

# OTBR-AGENT environment variables
OTBR_ENABLE=1 #true
BACKBONE_IF="eth2"
OTBR_LOG_LEVEL="debug"
OTB_FIREWALL=1 #"true"
OTBR_REST_LISTEN_PORT="8081"

# OTBR-WEB environment variables
OTBR_WEB_PORT="8086"

# SOCAT environment variables
NETWORK_DEVICE=

# ZIGBEED environment variables
EZSP_LISTEN_PORT="20108"

# UNIVERSAL FLASHER variables
#AUTOFLASH_FIRMWARE=1 #"false"
AUTOFLASH FIRMWARE=0 #"false"
# Firmware needs to be in /root
#FIRMWARE="NabuCasa_SkyConnect_RCP_v4.2.3_rcp-uart-hw-802154_460800.gbl"
#FIRMWARE="rcp-uart-802154-v4.2.3-zb-gw04-1v2-230400.gbl"

Please help!
I have “exec /init: exec format error” in the log and it repeats endlessly and neither Zigbee nor Thread work. :sob: :sob: :sob:
I’m not a Docker wizard, so I’d appreciate a step-by-step guide. :roll_eyes: For example, I’m not sure what to do with the rootfs directory? Does it download by itself or do I have to download it and copy it somewhere? :worried:

exec /init: exec format error”

mean you run an arm64 image on another architecture, like amd64

as you can see here
https://registry.hub.docker.com/r/homeassistant/aarch64-addon-silabs-multiprotocol/tags
and here
Docker!

use the correct image for your architecture

I’ve already managed to get a little ahead. Now there is no longer one error message endlessly, but many different ones. :crazy_face:

s6-rc: info: service banner: starting
curl: (6) Could not resolve host: supervisor
[20:42:39] ERROR: Something went wrong contacting the API
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[20:42:39] INFO: The selected serial port is not a USB device.
[20:42:39] WARNING: No firmware found for the selected device, assuming firmware is installed.
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd-config: starting
[20:42:39] FATAL: No serial port device set!

“The selected serial port is not a USB device.”
I don’t understand why this is. ls /dev/tty* shows my device as ttyACM0 and I can also see this device in the /dev/serial/by-id folder as “@usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_2023…-if00”

Do you have a driver for your dongle? Because under DSM is not loaded by default and you need to load them “manually” on restart of OS. In your case I think it is “ch343.ko”.

I honestly don’t know. I followed the instructions on the internet, but I don’t think there was any mention of driver installation. Anyway, it works as a Zigbee Dongle with the Zigbee firmware. (I don’t know if this answers your question)

1 Like

It depends how do you connect it into HA. If you have HAOS then it use HAOS drivers, bud if you use docker container (Silabs-Multiprotocol) it use driver from base OS in that case Synology DSM OS drivers for example.

I have Debian 10 and I tried to run HA, Z2MQTT and this (Silabs-multiprotocol) in Docker as well.
I won’t fight it anymore. I put the Zigbee firmware back on it, now at least my Zigbee network works. Maybe I’ll try again later, when there are more how-tos on the net.

1 Like

Im waiting for a solution to this too.

So I got it to start and work in that the openboarder thread web site comes up and I can add a network and that appears to work.

But I can’t figure out how to get the zigbee stuff to also work with the socket stuff.

I tried following your install and got the container started but it gives these errors in the log. I am not sure where to go from here. Docker runs on Synology NAS.

/etc/s6-overlay/scripts/otbr-enable-check.sh: line 5: /etc/bashlog/log.sh: No such file or directory
/etc/s6-overlay/scripts/otbr-enable-check.sh: line 12: log: command not found
s6-rc-compile: fatal: during resolution of bundle user: undefined service name @eaDir