On this page

On this page

Zigbee2MQTT with an Inswift coordinator

Zigbee2MQTT usually exposes device features in more detail than ZHA. Inswift ships both TI and Silicon Labs chips — the important difference is adapter and how you write the port. Do not run ZHA and Zigbee2MQTT on the same coordinator at once.

Quick reference

ProductChipConnectionadapterPort
ETH-52P / ETH-52P7TI CC2652P / TI CC2652P7Ethernet / Wi-Fi / USBzstackNetwork: tcp://dongle.local:6638 or tcp://GATEWAY_IP:6638; USB: by-id
ETH-MG21 / ETH-MG24 (including PoE)EFR32MG21 / EFR32MG24Ethernet / Wi-Fi / USBember / ezspSame as above
ZBT-1PEFR32MG21USBember / ezsp/dev/serial/by-id/...
ZBM-MG21 / ZBM-MG24EFR32MG21 / EFR32MG24USBember / ezsp/dev/serial/by-id/...
  • Default Zigbee TCP port on ETH gateways: 6638
  • Default mDNS hostname: dongle.local
  • Common USB baud rate: 115200

ember vs ezsp (Silicon Labs)

For Silabs coordinators, adapter depends on Zigbee2MQTT version and NCP firmware (EZSP protocol):

WhenUse
Z2M 1.35 and olderezsp
Z2M 1.36.0 and later (including 2.x)prefer ember
Firmware EmberZNet 7.4.x or newer (EZSP v13+, including 8.x / 9.x)ember
Firmware EmberZNet before 7.4 (EZSP v12 and below)ezsp

ember landed in Z2M 1.36.0 and is now the official recommendation. ezsp is deprecated and kept for old firmware. If the log shows Adapter EZSP protocol version (12) is not supported by Host 13-16, Z2M is on ember but the firmware is still EZSP v12 — upgrade the coordinator firmware to 7.4 or newer, or temporarily switch back to ezsp.

The gateway web UI can copy USB or TCP snippets. The screenshot is the Zigbee2MQTT page on an ETH gateway (Silabs example, adapter: ember; use zstack on TI).

USB and TCP snippets on the ETH gateway web UI

Prefer dongle.local. If mDNS fails (Docker, VLAN, or networks that block multicast DNS), use the LAN IP. Open the web UI at http://dongle.local/ or http://GATEWAY_IP/. A steady green link LED usually means Zigbee2MQTT is connected.

On Home Assistant add-ons using a remote TCP adapter, set socat.enabled: false.

TI: ETH-52P / ETH-52P7

serial:
  port: tcp://dongle.local:6638
  # port: tcp://GATEWAY_IP:6638
  adapter: zstack
socat:
  enabled: false

Silabs: ETH-MG21 / ETH-MG24 (including PoE)

serial:
  port: tcp://dongle.local:6638
  # port: tcp://GATEWAY_IP:6638
  adapter: ember
  # adapter: ezsp
socat:
  enabled: false

ETH-MG running Zigbee router firmware is not a coordinator and must not be used as Z2M serial.port. Radio debug is Logs & Debug in the web UI: ETH-MG router web CLI. That CLI is separate from Zigbee TCP port 6638 used by Z2M / ZHA.

USB

Prefer a stable by-id path (Home Assistant → Settings → System → Hardware, or ls -l /dev/serial/by-id/). Avoid relying only on /dev/ttyUSB0 / /dev/ttyACM0 — those numbers can change after reboot.

Permission errors: add the Home Assistant user to dialout, or map the device into the container / add-on.

Silabs USB: ZBT-1P, ZBM-MG21, ZBM-MG24

serial:
  port: /dev/serial/by-id/usb-XXXX_YYYY-if00-port0
  baudrate: 115200
  adapter: ember

If the EZSP version mismatches, see ember vs ezsp above, or the FAQ.

TI over USB (ETH gateway in USB serial mode)

serial:
  port: /dev/serial/by-id/usb-XXXX_YYYY-if00-port0
  baudrate: 115200
  adapter: zstack

MQTT (first start)

Configure serial first, then MQTT to match Mosquitto:

mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://homeassistant.local:1883
  user: YOUR_MQTT_USER
  password: YOUR_MQTT_PASSWORD

Mosquitto and Zigbee2MQTT are meant to run together. Keep a single Zigbee2MQTT instance on the host.

Common issues

  • Wrong adapter after swapping TI ↔ Silabs: delete the old coordinator backup, or reinstall the add-on (FAQ)
  • fullchain.pem missing: local Mosquitto is usually non-TLS; remove cert / key under mqtt
  • Web UI connection refused: set frontend.enabled: true (see FAQ)
  • EZSP protocol version mismatch: see ember vs ezsp above

Flashing: Flash USB dongle firmware · Flash ETH host over USB · ETH-52P / ETH-52P7 web local upgrade ESP32 / Zigbee

ETH-52P / ETH-52P7 from another TI coordinator (copy IEEE): ETH-52P / ETH-52P7 change IEEE (coordinator migration)

ETH-MG from another Silabs coordinator (web IEEE): ETH-MG web change IEEE (coordinator migration)