SkyConnect & Zigbee2Mqtt

I got my Skyconnect in the mail yesterday and was going to replace my sonoff stick in Z2M. I’ve changed the port and I know it is correct but I can’t get Z2M to start up!

error 2022-12-22 18:27:42: Error while starting zigbee-herdsman
error 2022-12-22 18:27:42: Failed to start zigbee
error 2022-12-22 18:27:42: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
error 2022-12-22 18:27:42: Exiting...
error 2022-12-22 18:27:43: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:103:27)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
    at Zigbee.start (/app/lib/zigbee.ts:58:27)
    at Controller.start (/app/lib/controller.ts:101:27)
    at start (/app/index.js:107:5)

I’ve double and triple checked under hardware and it’s the correct port, doesn’t it work with Z2M yet?

1 Like

EZSP support is still considered beta more or less. It looks like your z2m instance is still trying to use the TI Zstack protocol, not EZSP. If the existing stick is cc2652p or equivalent, you will be better served in z2m by the TI stick than the SkyConnect.

If you wish to proceed with the SkyConnect:

  1. Make sure you are on the latest z2m version.
  2. Realize network restore is not supported in z2m for EZSP yet. If you proceed you will be starting from scratch and re-pairing everything.
  3. Be really sure you’re OK with #2, make backups, then delete or rename the coordinator_backup.json file.
  4. Add adapter: ezsp directly underneath your port entry. ie:
serial:
  port: /dev/ttyACM0
  adapter: ezsp
  1. Restart z2m.

I would suggest starting with a separate z2m instance for testing first.

EDIT: I don’t have SkyConnect. Above steps tested with another ezsp adapter, but should be the same for SkyConnect.

11 Likes

I have the same exact problem. Did you solve it?

This worked for me ! Atleast I was able to start Zigbee2mqtt with skyconnect as my dongle
!

1 Like

i wasn‘t, did you do anything else, other than adding the adapter setting in the config?

I went back to my sonoff dongle for now. When matter get’s more releases I might look into changing again ;D

No, all I did was to put these lines in zigbee2mqtt config (in UI) and start zigbee2mqtt:

serial:
port: /dev/ttyUSB0
adapter: ezsp

I was able to start zigbee2mqtt, pair devices, check logs, check OTA updates etc… perfectly fine !

Also I had to do

ha hardware info

on ssh terminal to find out where my sky connect dongle is! It’s on ttyUSB0.

Also I am using an intel celeron NUC (mini pc) for my home assistant. It was a windows 11 os with HA running on virtual box VM ! I had ensure usb filtering is on and sky connect dongle is selected in the VM as the first step ! Then check the port on ssh terminal as stated above. Finally put in the above stated config and started zigbee2mqtt !

Well also before all of that I ensured I disabled ZHA !

2 Likes

After rebooting the raspberry pi a few times, it eventually worked for me too, but z2m with the SkyConnect is extremely unreliable, with devices constantly disconnecting.

Thanks for your help, i think i‘ll order a Sonoff plus and use the SkyConnect as a thread radio once that functionality is available.

1 Like

Well hold off before you buy sonoff ! Z2M is working for you now with sky connect which is good news ! Disconnection issues might be two fold :

  1. Are you sure you using usb cable that came with sky connect ? Because it’s known that any device attached to usb 3.0 port causes interference on WiFi 2.4ghz frequency ! Also zigbee and WiFi both work on 2.4 ghz and will have inference !

Solution is :

  • use usb cable to connect sky connect dongle to your PI hosting HA or if that doesn’t work for you

  • buy a long usb 2.0 cable or usb 2.0 hub. When you connect the cable or hub to usb 3.0 port then it works on usb 2.0 speeds ! That means you will not have issue of usb 3 port inducing noise on WiFi spectrum. Also atleast 50 cm long cable / hub keeps the interference of zigbee and WiFi to a minimum !

  1. Another reason might be your signal strength ! Use zigbee plugs or anything’s that plugs into wall socket placed evenly across your house to form a zigbee mesh ! That will increase strength and helps preventing disconnection ! In my house I have sky connect dongle connected to usb 2.0 cable to my Intel NUC (HA host) in corner room upstairs. In the adjacent bedroom I used a Frient zigbee plug ! And in downstairs hallyway I kept a cheap zigbee plug. In main living room in the corner I kept one more zigbee plug for my TV! I had good strength throughout with this planning !

Thank you for your suggestions.

  1. Yes, i am using the included usb extension and even tried a longer one, but the result is the same. The same is true regardless of whether I plug into the USB 2.0 or 3.0 ports on the RPi.

  2. In regards to signal strength, we are in a 100m2 apartment and I used 3x Ikea Tradfri repeaters and 4x Hue Lights/Bulbs, when connecting my devices I made sure to connect all routers/repeaters from closest to the coordinator, to furthest - then repeated the process with my end devices. According to the generated map, this gave me a very strong network, with most devices reporting a signal strength between 150 and 200, with my lowest device at about 125.

Still, some of my devices keep disconnecting, and at this point all my routers/repeaters have been disconnected for about 24h.

I’m getting a Sonoff Plus today and hopefully that will be my solution for Zigbee. That being said, I’m still happy I got the SkyConnect, it directly supports Nabu Casa and thus the Home Assistant developers + I’ll eventually be able to use it as a Thread coordinator.

2 Likes

I’m having the same experience.

Exact same setup but facing drop off issues with the SkyConnect which I did not have with the Conbee II and Nordtek HUBZ-1. :frowning:

May not be the best moment in time to test.

What z2m version(s) are in use?

Looks like 1.29.x may be a bad release with a non-ezsp specific device dropping issue, see https://github.com/Koenkk/zigbee2mqtt/issues/15856.

Supposedly a fix is in the dev branch.

I haven’t had any issue, but am still at 1.28.4.

Yeah, on 1.29.1 right now.
I did some testing and re-pairing yesterday - no much changes.

I found the SkyConnect is really sensitive to positioning.
There’s a sweet spot in my room that gives it the best signal, any other spots it drops to 180 lqi max even if device is on the other side of thin wall.

P.S. Love the title of that Github issue.

1 Like

hi guys, i have my skyconnect , but on the begining i tried Z2M and it droped all devices a lot of issues , how is the update for EZSP on 1.30.0 ??

Anyone got his working without issues ??

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