SkyConnect & Zigbee2Mqtt

I’m having trouble starting Z2M 1.30.0 on a SkyConnect.
I’ve stopped the Silicon Labs Multiprotocol Add-on, configured the serial path, set adapter to ezsp.
The result is a seemingly working Z2M add-on, but when I try to open the WebUI I get an error msg 502: Bad Gateway. It could be a proxy issue, but I suspect Z2M is not running. Here’s the log output with debugging enabled:

[12:32:08] INFO: Preparing to start...
[12:32:08] INFO: Socat not enabled
[12:32:08] INFO: Zigbee Herdsman debug logging enabled
[12:32:09] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:debug 2023-02-04 12:32:12: Loaded state from file /config/zigbee2mqtt/state.json
Zigbee2MQTT:info  2023-02-04 12:32:12: Logging to console and directory: '/config/zigbee2mqtt/log/2023-02-04.12-32-12' filename: log.txt
Zigbee2MQTT:info  2023-02-04 12:32:12: Starting Zigbee2MQTT version 1.30.0 (commit #unknown)
Zigbee2MQTT:info  2023-02-04 12:32:12: Starting zigbee-herdsman (0.14.89)
Zigbee2MQTT:debug 2023-02-04 12:32:12: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/config/zigbee2mqtt/coordinator_backup.json","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","databasePath":"/config/zigbee2mqtt/database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"adapter":"ezsp","path":"/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_60699211f256ed11ba4e4eca5720eef3-if00-port0"}}'
2023-02-04T10:32:13.187Z zigbee-herdsman:adapter Failed to validate path: 'Error: spawn udevadm ENOENT'
2023-02-04T10:32:13.188Z zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[1,3,5,7,9,11,13,15,0,2,4,6,8,10,12,13],"panID":6754,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"path":"/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_60699211f256ed11ba4e4eca5720eef3-if00-port0","adapter":"ezsp"},"databasePath":"/config/zigbee2mqtt/database.db","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","backupPath":"/config/zigbee2mqtt/coordinator_backup.json","adapter":{"disableLED":false,"concurrent":null,"delay":null}}'
2023-02-04T10:32:13.191Z zigbee-herdsman:adapter:ezsp:uart Opening SerialPort with {"path":"/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_60699211f256ed11ba4e4eca5720eef3-if00-port0","baudRate":115200,"rtscts":false,"autoOpen":false}
2023-02-04T10:32:13.212Z zigbee-herdsman:adapter:ezsp:uart Serialport opened
2023-02-04T10:32:13.213Z zigbee-herdsman:adapter:ezsp:uart Uart reseting
2023-02-04T10:32:13.214Z zigbee-herdsman:adapter:ezsp:uart --> Write reset
2023-02-04T10:32:13.215Z zigbee-herdsman:adapter:ezsp:uart --> [1ac038bc7e]

I also noticed that Silicion Labs Multiprotocol is re-spawning form time to time, although I’ve disabled the start on boot flag.
Any ideas?

1 Like

Something similar happened to me a few days ago (with a Zigate, not a Skyconnect though).
I tried restarting Z2M without success (same respawning as you) and finally ended-up restarting the full HA which fixed the problem
Hope this helps

By the way I have received my Skyconnect and have a dummy question : When you connect the Skyconnect I guess this is detected in the list of integrations right? If you intend to use it with Z2M and not ZHA, do you have to configure anything in the integration panel? If not, I guess you just need to retrieve the serial port and change it in Z2M but in this case how are you going to receive the Skyconnect firmware updates?
Thanks!

Seems there are some issues with multi-protocol. Being not successful to migrate z2m from ConBee II, I tried to at least get ZHA running with SkyConnect. Neither the “normal” port nor the “by-id” led to success. I just came across a post in a german Facebook-Group showing the same phenomenon.I’ll give deactivating Multiprotocol a try.

Hi, I tried many ways to flash (GitHub - NabuCasa/silabs-firmware: Silicon Labs firmware for Yellow and SkyConnect) and configure my skyconnect. Nothing works really. Homeassistant launch a new website with good infos and a working solution for flashing the stick. https://skyconnect.home-assistant.io/ And how to migrate your old zigbee network and the limitations.

Although I don’t use Zigbee yet (other than Philips Hue/Hub), I am hoping to use Zigbee2MQTT in the not too distant future, and hoping to use it with multi-pan on SkyConnect. I have a SkyConnect, so I have been playing around and doing some research with it some so I thought I would share just a little bit of what I have learned (most of this you may already know)…

  • Out of the box, SkyConnect comes loaded with firmware EmberZNet version: 7.1.1.0. This is an NCP type which means the Zigbee stack resides on the SkyConnect and communicates with the applications using EmberZNet Serial Protocol (EZSP). So out of the box, the SkyConnect should work with “regular” ZHA, and Zigbee2mqtt (although Zigbee2MQTT caveats that EZSP is experimental).
  • Multiprotocol Add-On: If you install this add-on, it will automatically replace the EmberZNet firmware on SkyConnect with entirely new firmware that supports multi-PAN (both Zigbee and Thread).
    • Zigbee protocol stack no longer runs on the SkyConnect and instead runs as a daemon inside the multiprotocol Add-On container. It communicates with applications using a network socket.
    • For ZHA or Zigbee2mqtt to talk to the Zigbee stack, it has to connect to it using a tcp socket://<ipaddress>:9999 and from what I can tell, this runs EZSP over this socket.
    • A couple of new HA integrations are used with the multiprotocol Add-On to provide an auto-discovery of a “SkyConnect Multi-PAN” ZHA integration. This particular type of ZHA is “regular” ZHA that has been initialized to use the socket for communication with the Zigbee Stack on the Multiprotocol Add-On. So there is no USB device to be configured.
    • Zigbee2MQTT would also have to connect using the TCP socket. I am totally new to Zigbee2MQTT, but I did give it a try using the following:
  port: tcp://172.30.32.1:9999
  adapter: ezsp

where 172.30.32.1 is the docker ip address of the multi-protocol Docker Add-On.
So this ended up not working. The socket connection was successful, and some data was exchanged, but it gave up in the end. Looking at the zigbee-herdsman code, which handles the EZSP for Zigbee2MQTT, it appears to support ezsp over a socket, so not sure why this didn’t work. Anyway I thought it was worth a try.

1 Like

I was able to get zigbee2mqtt working by using the following.

port: tcp://core-silabs-multiprotocol:9999
adapter: ezsp

I am not using docker though. This is using Home Assistant OS. I did also have to reboot the host after enabling the multi-pan before it worked.

6 Likes

Thanks…I played with this some more, including your suggestion, and it now works :slight_smile:

1 Like

Also recommend read and follow this very related discussion about migrating between different adapters in Zigbee2MQTT → https://github.com/Koenkk/zigbee2mqtt/discussions/16478

Is the config for your multi-pan set to the defaults?
I’m unable to get it working, also on Home Assistant OS. So was wondering besides a reboot, is there anything else you’ve done.

Yeah, I think the only setting I changed was that I toggled on the “Enable OpenThread Border Router web interface” setting but I don’t think that would have made a difference.

Baudrate is set to 115200 which I’m pretty sure is the default. You made sure the silicon labs addon is running and that the host name for it matches what you are using in the z2m config?

Yup, it’s picking the connection up in the multipan addon logs, but zigbeed eventually crashes and restarts when z2m makes the initial call. :frowning:

My multipan addon config seems to be the same as yours. Any other config on z2m side for you?
If all else fails, it could just be an issue when the device is passed through my VM.

1 Like

Not really, I think the only real setting change in z2m from the defaults was changing the channel to 20.

I did also have everything setup and working originally using the factory firmware and setting the adapter to ezsp and the port to the skyconnect usb path. It was only after everything was setup and working fine that way that I enabled the multi-pan and changed the port in the config and then rebooted everything. Also, most of my devices didn’t show back up on their own but repairing them did the trick.

Hmm same config as you have here. It might really be due to VM passthrough. I’ll try when I get hands on some new hardware and when the family is out. :laughing:

Thank you so much btw!

1 Like

Hiya guys

Love the community and the assist. Recently jumped into the HA world. Only had a wifi plug till now.

I ordered Skyconnect stick and finally got it. The goal is to keep everything local but trying to learn HA, integrations and addons is doing my head in. Installed HASS on my new 13th gen build using VirtualBox.

I had a major headache setting up skyconnect without any idea how things worked. As I understand there are three crucial standards I would like to deal with Zigbee, Wifi and Bluetooth maybe
I was thinking of buying zigbee only devices from now on to keep it local and not having to flash anything but thinking I might not be understanding smart stuff since I only recently started looking into things.

Please note - Goal - keep everything local since somehow got Zigbee2Mqtt Siliconlabs Multi protocol working and have some questions if may…
do sticks like sonoff and skyconnect need to be flashed? If so why?
do zigbee devices need to be flashed for any reason?
I was reading a while ago most wifi devices(sensors, switches etc) can be flashed until tuya updated the firmware. How would I know if something is flashable before I buy?

I can say that I have successfully migrated my Zigbee network over to SkyConnect (Multiprotocol) and Zigbee2mqtt. I am running HA supervised via docker. It requires you to remove your previous configuration.yaml in the zigbee2mqtt folder (rename it with a .bak extension so you don’t lose it all). In the Zigbee2mqtt Addon configuration, under serial, add the following:
port: tcp://core-silabs-multiprotocol:9999
adapter: ezsp

Restart the addon, and poof, it ought to load.

You can then drop the entity contents of your configuration.yaml.bak file into the configuration.yaml file. When you re-pair your devices, they will repopulate with their friendly names and any associated settings previously established.

I am running Philips Hue outdoor lights, Philips Hue indoor and outdoor motion sensors, and Aqara temperature/humidity sensors. They all paired promptly and without issue.

Hope this helps!

4 Likes

I am trying to get this working on HA Truecharts. I am following this guide, but Zigbee2Mqtt won’t deploy. The logs show this:

Using '/data' as data directory
Zigbee2MQTT:info  2023-02-26 17:04:01: Logging to console and directory: '/data/log/2023-02-26.17-04-01' filename: log.txt
Zigbee2MQTT:info  2023-02-26 17:04:02: Starting Zigbee2MQTT version 1.30.1 (commit #eb878d3)
Zigbee2MQTT:info  2023-02-26 17:04:02: Starting zigbee-herdsman (0.14.89)
Zigbee2MQTT:error 2023-02-26 17:04:02: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2023-02-26 17:04:02: Failed to start zigbee
Zigbee2MQTT:error 2023-02-26 17:04:02: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2023-02-26 17:04:02: Exiting...
Zigbee2MQTT:error 2023-02-26 17:04:02: Error: Error while opening serialport 'Error: Error: Is a directory, cannot open /dev/ttyUSB0'
at SerialPort.<anonymous> (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
at SerialPort._error (/app/node_modules/@serialport/stream/dist/index.js:76:22)
at /app/node_modules/@serialport/stream/dist/index.js:112:18

Any ideas? I am slightly new to Linux and can’t find configuration.yaml to add the “adapter: ezsp” to it, but I am not even sure if that’s the solution to my problem.

I just upgraded to 1.30.2 and now can no longer get it to work with multipan. I wanted to ask if anyone else is having this problem?

[UPDATE} I just downgraded to 1.30.1 and it works again.

1 Like

was working perfectly and now its broken after update for me too.

I just received my Skyconnect and want to setup a new Z2M network (multipan) while maintaining my ZHA (Conbee 2). The challenge is now: how to get my hands on zigbee2mqtt 1.30.1?

I can’t save this entry, because of the message when I try to save the addon-configuration:

“… does not match regular expression ^zstack|deconz|zigate$…”