Zigbee2MQTT error: "devices must be object" *SOLVED*

Hello,
I am setting up zigbee2mqtt completely from scratch. There are no devices connected yet except for the coordinator.
I am using a Sonoff Dongle-E with the latest firmware (Zigbee 8.0.2) on a Raspberry Pi 4. I can also flash it using the SonoffFlasher add-on from Home Assistant, so it works in that regard.
However, when I start zigbee2mqtt, I get the following error:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            READ THIS CAREFULLY
Refusing to start because configuration is not valid, found the following errors:
- devices must be object
If you don't know how to solve this, read https://www.zigbee2mqtt.io/guide/configuration
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

My Z2M configuration (/homeassistant/zigbee2mqtt/configuration.yaml):

homeassistant:
  enabled: true
mqtt:
  server: mqtt://core-mosquitto:1883
  user: addons
  password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  base_topic: zigbee2mqtt
serial:
  port: >-
    /dev/serial/by-id/usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_b84d36d9cb73ef118f36e61e313510fd-if00-port0
  adapter: ember
  baudrate: 115200
  rtscts: false
frontend:
  enabled: true
  port: 8099
devices: null
advanced:
  log_syslog:
    app_name: Zigbee2MQTT
    eol: /n
    host: localhost
    localhost: localhost
    path: /dev/log
    pid: process.pid
    port: 514
    protocol: udp4
    type: '5424'
  last_seen: ISO_8601_local
  log_level: warning
availability:
  enabled: true
device_options: {}
version: 4

Thank you very much for your help.

remove the line

devices: null
1 Like

I manually removed the ‘zigbee2mqtt’ folder in the Home Assistant directory, cleaned up the configuration as much as possible, and reinstalled Z2M and Mosquito.
Yes, the ‘device’ statement was the problem. The error was then gone – thank you.
However, ZigBee still isn’t working. Is it due to the 8.0.2 firmware?

8.0.2 should work fine. What errors are in the log ?

Wow you are in real time :slightly_smiling_face: thanks.

Here the log:

[2025-07-27 12:00:53] info: 	z2m: Logging to console, file (filename: log.log)
[2025-07-27 12:00:53] info: 	z2m: Starting Zigbee2MQTT version 2.5.1 (commit #unknown)
[2025-07-27 12:00:54] info: 	z2m: Starting zigbee-herdsman (4.3.1)
[2025-07-27 12:00:54] info: 	zh:adapter:discovery: Matched adapter: {"path":"/dev/ttyUSB0","manufacturer":"Itead","serialNumber":"b84d36d9cb73ef118f36e61e313510fd","pnpId":"usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_b84d36d9cb73ef118f36e61e313510fd-if00-port0","vendorId":"10c4","productId":"ea60"} => ember: 4
[2025-07-27 12:00:54] info: 	zh:ember: Using default stack config.
[2025-07-27 12:00:54] info: 	zh:ember: ======== Ember Adapter Starting ========
[2025-07-27 12:00:54] info: 	zh:ember:ezsp: ======== EZSP starting ========
[2025-07-27 12:00:54] info: 	zh:ember:uart:ash: ======== ASH Adapter reset ========
[2025-07-27 12:00:54] info: 	zh:ember:uart:ash: RTS/CTS config is off, enabling software flow control.
[2025-07-27 12:00:54] info: 	zh:ember:uart:ash: Serial port opened
[2025-07-27 12:00:54] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2025-07-27 12:00:55] info: 	zh:ember:uart:ash: ======== ASH connected ========
[2025-07-27 12:00:55] info: 	zh:ember:uart:ash: ======== ASH started ========
[2025-07-27 12:00:55] info: 	zh:ember:ezsp: ======== EZSP started ========
[2025-07-27 12:00:55] info: 	zh:ember: Adapter EZSP protocol version (14) lower than Host. Switched.
[2025-07-27 12:00:55] info: 	zh:ember: Adapter version info: {"ezsp":14,"revision":"8.0.2 [GA]","build":397,"major":8,"minor":0,"patch":2,"special":0,"type":170}
[2025-07-27 12:00:56] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-07-27 12:00:56] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-07-27 12:00:56] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-07-27 12:00:57] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-07-27 12:00:58] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-07-27 12:01:02] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-07-27 12:01:02] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-07-27 12:01:02] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-07-27 12:01:02] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-07-27 12:01:06] error: 	z2m: Error while starting zigbee-herdsman
[2025-07-27 12:01:06] error: 	z2m: Failed to start zigbee-herdsman
[2025-07-27 12:01:06] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2025-07-27 12:01:06] error: 	z2m: Exiting...
[2025-07-27 12:01:06] error: 	z2m: Error: [INIT TC] Network init timed out after 10000ms
    at Object.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:283:23)
    at EmberOneWaitress.startWaitingForEvent (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:308:63)
    at EmberAdapter.initTrustCenter (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:869:36)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at processImmediate (node:internal/timers:453:9)
    at EmberAdapter.initEzsp (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:707:18)
    at EmberAdapter.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1547:24)
    at Controller.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:133:29)
    at Zigbee.start (/app/lib/zigbee.ts:68:27)
    at Controller.start (/app/lib/controller.ts:101:13)
[12:01:08] INFO: Preparing to start...
[12:01:08] INFO: Socat not enabled
[12:01:09] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
Onboarding page is available at http://0.0.0.0:8099/

The CRC errors …

usually means some other integration is using the serial port. Is Zigbee Home Automation (ZHA) enabled/running ?

I tested ZHA ‘ages ago’, but I’ve gone back to Z2M. I need to check if there are any remnants in any configuration somewhere – but there probably aren’t, it worked fine so far…

I marked the problem as ‘solved’ in this thread, even though the actual issue isn’t resolved. The thing with ‘devices: null’ doesn’t seem to be the problem. I completely reinstalled Z2M and intentionally reinserted this line. The error no longer occurred despite ‘devices: null’. For the next problem, I will open a new thread if I can’t find a solution here, otherwise the topic here wouldn’t be accurate…
Thank You for your support!