ZB-Shield connection and integration into OpenHab on RasPi4

I found the chip online and according to the corresponding site, this chip should also work with OpenHab.
has anyone integrated this in any of their projects and how did you succeed?

Hi Max,
Did you finally succeed in installing the sb-shield ? I’m also trying without success. Until now, I can’t find support neither from Popp nor from OpenHab community. I feel alone on earth…

Hi J-Y,

I contacted Popp and they confirmed that there is not a straight tutorial for this.

However they sent me an email containing a few strings which could be of help.

Just changed employer and I am a bit afraid I used that email address, and cannot find it right now.

The advice was based on code available in other automation environments for the same application, also given as examples on the Popp site.

As I’ve been to busy, I haven’t had time to see if it works. The project isn’t very high in priority.




This device looks like it should work fine. IT’s a standard EFR32 device which is well supported by the Zigbee binding. I’m not familiar with the Pi shield, but I guess it just connects via a serial port so it should be pretty standard. What problem are you having? You say you can’t find help anywhere but I’ve not seen any threads so maybe they aren’t well tagged or something?

+1 for having some issues with this module, there is a lack of instructions online - I have found a pdf to for setup with Home Assistant, not exactly what we need but has some hints in here…

However, I’m not able to connect - getting communication error. Anyone else got this working yet?

I’m using Openhabian 3.0 on an RPI 4.

My progress so far:

With the RPI:

  • Disabled the serial console and enabled UART Bluetooth overlay as described in above HA instructions (I actually used the Openhabian console to do this)
  • installed the ZB-Shield onto the right pins
  • rebooted the RPI

In Openhab:

  • Added Openhab Zigbee binding 3.0
  • Added a new thing Ember EM35x Coordinator
  • Updated the port on the thing to /dev/ttyS0
  • Set baud rate to 115200
  • Set flow control to None

The Thing status just flashes between ‘offline - communication error’ and ‘unknown’

I’ve also set the logging to debug for this binding. Will paste some of the log outputs shortly…

Any help appreciated!


Log file is saying that the serial port /dev/ttyS0 does not exist - is there a way to check if my config in Openhabian has disabled the /dev/ttyS0 serial console correctly?

2022-03-24 06:18:41.190 [DEBUG] [ng.zigbee.ember.handler.EmberHandler] - Initializing ZigBee Ember serial bridge handler.
2022-03-24 06:18:41.193 [DEBUG] [ng.zigbee.ember.handler.EmberHandler] - ZigBee Ember Coordinator opening Port:'/dev/ttyS0' PAN:f3d1, EPAN:DBB46620814F3408, Channel:11
2022-03-24 06:18:41.195 [DEBUG] [ng.zigbee.ember.handler.EmberHandler] - Ember end device poll timeout set to (169 * 2^9) = 86528 seconds
2022-03-24 06:18:41.196 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - Scheduling ZigBee start
==> /var/log/openhab/events.log <==
2022-03-24 06:18:41.199 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:coordinator_ember:11889e6fb7' changed from OFFLINE (COMMUNICATION_ERROR) to UNKNOWN
==> /var/log/openhab/openhab.log <==
2022-03-24 06:18:42.199 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - ZigBee network starting
2022-03-24 06:18:42.200 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - Initialising ZigBee coordinator
2022-03-24 06:18:42.202 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - Default: Set profile to ZigBeeTransactionProfile [maxOutstandingTransactions=1, interTransactionDelay=50, maxRetries=2]
2022-03-24 06:18:42.204 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - Broadcast: Set profile to ZigBeeTransactionProfile [maxOutstandingTransactions=2, interTransactionDelay=4000, maxRetries=0]
2022-03-24 06:18:42.204 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - Multicast: Set profile to ZigBeeTransactionProfile [maxOutstandingTransactions=3, interTransactionDelay=1200, maxRetries=0]
2022-03-24 06:18:42.205 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - ZigBeeNetworkManager initialize: networkState=UNINITIALISED
2022-03-24 06:18:42.207 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Network state is updated to INITIALISING
2022-03-24 06:18:42.208 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Dongle: Initialize with protocol ASH2.
2022-03-24 06:18:42.208 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - null: networkStateUpdated called with state=INITIALISING
2022-03-24 06:18:42.210 [DEBUG] [nding.zigbee.serial.ZigBeeSerialPort] - Connecting to serial port [/dev/ttyS0] at 115200 baud, flow control FLOWCONTROL_OUT_NONE.
2022-03-24 06:18:42.219 [ERROR] [nding.zigbee.serial.ZigBeeSerialPort] - Serial Error: Port /dev/ttyS0 does not exist.
2022-03-24 06:18:42.221 [ERROR] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Dongle: Unable to open serial port
2022-03-24 06:18:42.222 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Network state is updated to OFFLINE
2022-03-24 06:18:42.223 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - null: networkStateUpdated called with state=OFFLINE
==> /var/log/openhab/events.log <==
2022-03-24 06:18:42.226 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:coordinator_ember:11889e6fb7' changed from UNKNOWN to OFFLINE: Failed to open communications port
2022-03-24 06:18:42.227 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:coordinator_ember:11889e6fb7' changed from OFFLINE: Failed to open communications port to OFFLINE (COMMUNICATION_ERROR)

Bit of progress…looks like i was using the wrong port…am now using:


and am getting comms! However, now have a transport layer error:

2022-03-24 08:14:53.369 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - ZigBeeNetworkManager startup: reinitialize=false, networkState=INITIALISING
2022-03-24 08:14:53.369 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Dongle: Startup - reinitialize=false
2022-03-24 08:14:53.370 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Adding Endpoint: ProfileID=0104, DeviceID=0050
2022-03-24 08:14:53.371 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Adding Endpoint: Input Clusters   0000
2022-03-24 08:14:53.372 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP Adding Endpoint: Output Clusters  0000
2022-03-24 08:14:53.388 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspAddEndpointResponse [networkId=0, status=EZSP_SUCCESS]
2022-03-24 08:14:53.388 [DEBUG] [systems.zigbee.dongle.ember.EmberNcp] - EzspAddEndpointResponse [networkId=0, status=EZSP_SUCCESS]
2022-03-24 08:14:53.430 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspNetworkInitResponse [networkId=0, status=EMBER_NOT_JOINED]
2022-03-24 08:14:53.431 [DEBUG] [systems.zigbee.dongle.ember.EmberNcp] - EzspNetworkInitResponse [networkId=0, status=EMBER_NOT_JOINED]
2022-03-24 08:14:53.432 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - EZSP dongle initialize failed to join network
2022-03-24 08:14:53.432 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Network state is updated to OFFLINE
2022-03-24 08:14:53.433 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - null: networkStateUpdated called with state=OFFLINE
2022-03-24 08:14:53.435 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:coordinator_ember:11889e6fb7' changed from UNKNOWN to OFFLINE: Failed to startup ZigBee transport layer
2022-03-24 08:14:53.436 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:coordinator_ember:11889e6fb7' changed from OFFLINE: Failed to startup ZigBee transport layer to OFFLINE (COMMUNICATION_ERROR)

getting ‘failed to join network’ now. Not sure why? I thought the ZB-Sheild created the Zigbee network

UPDATE: Flashed the ZB-Shield with latest firmware - now all up and running :+1:t2::+1:t2: