core: Aeotec Z-Pi-7 not working with Z-Wave JS
The problem
Hello guys!
I am trying to get the Aeotec Z-Pi-7 working with Z-Wave JS, which from what I can tell it should be working fine, but unfortunately it is not at the moment.
I can get it added to the Z-WaveJS supervisor add-on without issue, and it is correctly detected as a “700 Series-based Controller”, the firmware is also correctly detected and the device status is alive:

However, when I go to actually add a device (door contact sensor), immediately I get the following lines in the logs:
2021-10-28T21:33:02.640Z CNTRLR Starting inclusion process with strategy Default...
2021-10-28T21:33:02.672Z DRIVER Dropping message because it contains invalid data
2021-10-28T21:33:03.675Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:33:04.200Z DRIVER Dropping message because it contains invalid data
2021-10-28T21:33:04.788Z CNTRLR Failed to execute controller command after 2/3 attempts. Scheduling next try i
n 1100 ms.
Z-Wave error ZWaveError: Timeout while waiting for an ACK from the controller
at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)
at ZWaveController.beginInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:918:21)
at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:16:57)
at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)
at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)
at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)
at WebSocket.emit (events.js:400:28)
at WebSocket.emit (domain.js:470:12)
at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20)
at Receiver.emit (events.js:400:28) {
code: 16,
context: undefined,
transactionSource: ' at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)\n' +
' at ZWaveController.beginInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:918:21)\n' +
' at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:16:57)\n' +
' at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)\n' +
' at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)\n' +
' at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)\n' +
' at WebSocket.emit (events.js:400:28)\n' +
' at WebSocket.emit (domain.js:470:12)\n' +
' at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20)\n' +
' at Receiver.emit (events.js:400:28)'
}
I have the following in the boot.txt config at the moment as per the Aeotec docs here:
enable_uart=1
dtoverlay=disable-bt
But I have also tried:
enable_uart=1
dtoverlay=miniuart-bt
Which gave the same issue. I have also tried updating the firmware from 7.11 which the device shipped with to 7.15 which is the current version.
Here is the full ZWaveJS supervisor logs from startup:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] config.sh: executing...
[22:30:50] INFO: Both 'network_key' and 's0_legacy_key' are set and match. All ok.
[cont-init.d] config.sh: exited 0.
[cont-init.d] structure.sh: executing...
[cont-init.d] structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[22:30:53] INFO: Successfully send discovery information to Home Assistant.
2021-10-28T21:30:56.006Z DRIVER ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ███████╗ ██╗ ███████╗
╚══███╔╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔════╝ ██║ ██╔════╝
███╔╝ ██║ █╗ ██║ ███████║ ██║ ██║ █████╗ █████╗ ██║ ███████╗
███╔╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝ ╚════╝ ██ ██║ ╚════██║
███████╗ ╚███╔███╔╝ ██║ ██║ ╚████╔╝ ███████╗ ╚█████╔╝ ███████║
╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚════╝ ╚══════╝
2021-10-28T21:30:56.015Z DRIVER version 8.4.1
2021-10-28T21:30:56.016Z DRIVER
2021-10-28T21:30:57.645Z CONFIG version 8.4.1
2021-10-28T21:30:59.207Z CNTRLR beginning interview...
2021-10-28T21:30:59.209Z CNTRLR querying version info...
2021-10-28T21:31:00.525Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:31:01.636Z CNTRLR Failed to execute controller command after 2/3 attempts. Scheduling next try i
n 1100 ms.
2021-10-28T21:31:03.767Z DRIVER Failed to initialize the driver: Timeout while waiting for an ACK from the con
troller
Error in driver ZWaveError: Failed to initialize the driver: Timeout while waiting for an ACK from the controller
at Immediate.<anonymous> (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:795:6) {
code: 5,
context: undefined,
transactionSource: undefined
}
[22:31:04] INFO: Successfully send discovery information to Home Assistant.
2021-10-28T21:31:07.003Z DRIVER ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ███████╗ ██╗ ███████╗
╚══███╔╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔════╝ ██║ ██╔════╝
███╔╝ ██║ █╗ ██║ ███████║ ██║ ██║ █████╗ █████╗ ██║ ███████╗
███╔╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝ ╚════╝ ██ ██║ ╚════██║
███████╗ ╚███╔███╔╝ ██║ ██║ ╚████╔╝ ███████╗ ╚█████╔╝ ███████║
╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚════╝ ╚══════╝
2021-10-28T21:31:07.013Z DRIVER version 8.4.1
2021-10-28T21:31:07.014Z DRIVER
2021-10-28T21:31:08.646Z CONFIG version 8.4.1
2021-10-28T21:31:10.035Z CNTRLR beginning interview...
2021-10-28T21:31:10.036Z CNTRLR querying version info...
2021-10-28T21:31:11.335Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:31:12.449Z CNTRLR Failed to execute controller command after 2/3 attempts. Scheduling next try i
n 1100 ms.
2021-10-28T21:31:14.576Z DRIVER Failed to initialize the driver: Timeout while waiting for an ACK from the con
troller
Error in driver ZWaveError: Failed to initialize the driver: Timeout while waiting for an ACK from the controller
at Immediate.<anonymous> (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:795:6) {
code: 5,
context: undefined,
transactionSource: undefined
}
[22:31:15] INFO: Successfully send discovery information to Home Assistant.
2021-10-28T21:31:17.641Z DRIVER ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ███████╗ ██╗ ███████╗
╚══███╔╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔════╝ ██║ ██╔════╝
███╔╝ ██║ █╗ ██║ ███████║ ██║ ██║ █████╗ █████╗ ██║ ███████╗
███╔╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝ ╚════╝ ██ ██║ ╚════██║
███████╗ ╚███╔███╔╝ ██║ ██║ ╚████╔╝ ███████╗ ╚█████╔╝ ███████║
╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚════╝ ╚══════╝
2021-10-28T21:31:17.651Z DRIVER version 8.4.1
2021-10-28T21:31:17.652Z DRIVER
2021-10-28T21:31:19.257Z CONFIG version 8.4.1
2021-10-28T21:31:20.557Z CNTRLR beginning interview...
2021-10-28T21:31:20.558Z CNTRLR querying version info...
2021-10-28T21:31:20.875Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:31:21.011Z CNTRLR received version info:
controller type: Bridge Controller
library version: Z-Wave 7.15
2021-10-28T21:31:21.011Z CNTRLR querying controller IDs...
2021-10-28T21:31:21.051Z CNTRLR received controller IDs:
home ID: 0xe4bc0e6a
own node ID: 1
2021-10-28T21:31:21.052Z CNTRLR querying controller capabilities...
2021-10-28T21:31:21.075Z CNTRLR received controller capabilities:
controller role: primary
is in other network: false
is SIS present: true
was real primary: true
is a SUC: true
2021-10-28T21:31:21.076Z CNTRLR querying API capabilities...
2021-10-28T21:31:21.104Z CNTRLR received API capabilities:
serial API version: 7.15
manufacturer ID: 0x00
product type: 0x04
product ID: 0x04
supported functions:
· GetSerialApiInitData (0x02)
· FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION (0x03)
· GetControllerCapabilities (0x05)
· SetSerialApiTimeouts (0x06)
· GetSerialApiCapabilities (0x07)
· FUNC_ID_SERIAL_API_SOFT_RESET (0x08)
· UNKNOWN_FUNC_UNKNOWN_0x09 (0x09)
· UNKNOWN_FUNC_UNKNOWN_0x0a (0x0a)
· SerialAPISetup (0x0b)
· SetRFReceiveMode (0x10)
· FUNC_ID_ZW_SEND_NODE_INFORMATION (0x12)
· SendData (0x13)
· SendDataMulticast (0x14)
· GetControllerVersion (0x15)
· SendDataAbort (0x16)
· FUNC_ID_ZW_GET_RANDOM (0x1c)
· GetControllerId (0x20)
· UNKNOWN_FUNC_MEMORY_GET_BYTE (0x21)
· UNKNOWN_FUNC_MEMORY_PUT_BYTE (0x22)
· UNKNOWN_FUNC_MEMORY_GET_BUFFER (0x23)
· UNKNOWN_FUNC_MEMORY_PUT_BUFFER (0x24)
· UNKNOWN_FUNC_FlashAutoProgSet (0x27)
· UNKNOWN_FUNC_UNKNOWN_0x28 (0x28)
· GetNVMId (0x29)
· ExtNVMReadLongBuffer (0x2a)
· ExtNVMReadLongByte (0x2c)
· undefined (0x2e)
· undefined (0x37)
· undefined (0x38)
· UNKNOWN_FUNC_ClearNetworkStats (0x39)
· UNKNOWN_FUNC_GetNetworkStats (0x3a)
· UNKNOWN_FUNC_GetBackgroundRSSI (0x3b)
· undefined (0x3c)
· UNKNOWN_FUNC_RemoveNodeIdFromNetwork (0x3f)
· GetNodeProtocolInfo (0x41)
· HardReset (0x42)
· FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE (0x44)
· FUNC_ID_ZW_REPLICATION_SEND_DATA (0x45)
· AssignReturnRoute (0x46)
· DeleteReturnRoute (0x47)
· RequestNodeNeighborUpdate (0x48)
· ApplicationUpdateRequest (0x49)
· AddNodeToNetwork (0x4a)
· RemoveNodeFromNetwork (0x4b)
· FUNC_ID_ZW_CONTROLLER_CHANGE (0x4d)
· undefined (0x4f)
· FUNC_ID_ZW_SET_LEARN_MODE (0x50)
· AssignSUCReturnRoute (0x51)
· FUNC_ID_ZW_REQUEST_NETWORK_UPDATE (0x53)
· SetSUCNodeId (0x54)
· DeleteSUCReturnRoute (0x55)
· GetSUCNodeId (0x56)
· UNKNOWN_FUNC_SEND_SUC_ID (0x57)
· UNKNOWN_FUNC_AssignPrioritySUCReturnRoute (0x58)
· FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION (0x5e)
· undefined (0x5f)
· RequestNodeInfo (0x60)
· RemoveFailedNode (0x61)
· IsFailedNode (0x62)
· ReplaceFailedNode (0x63)
· GetRoutingInfo (0x80)
· UNKNOWN_FUNC_LOCK_ROUTE_RESPONSE (0x90)
· UNKNOWN_FUNC_GET_PRIORITY_ROUTE (0x92)
· UNKNOWN_FUNC_SET_PRIORITY_ROUTE (0x93)
· UNKNOWN_FUNC_UNKNOWN_0x98 (0x98)
· FUNC_ID_SERIAL_API_SLAVE_NODE_INFO (0xa0)
· FUNC_ID_ZW_SEND_SLAVE_NODE_INFO (0xa2)
· FUNC_ID_ZW_SET_SLAVE_LEARN_MODE (0xa4)
· FUNC_ID_ZW_GET_VIRTUAL_NODES (0xa5)
· FUNC_ID_ZW_IS_VIRTUAL_NODE (0xa6)
· BridgeApplicationCommand (0xa8)
· SendDataBridge (0xa9)
· SendDataMulticastBridge (0xab)
· UNKNOWN_FUNC_GET_LIBRARY_TYPE (0xbd)
· UNKNOWN_FUNC_SEND_TEST_FRAME (0xbe)
· UNKNOWN_FUNC_GET_PROTOCOL_STATUS (0xbf)
· UNKNOWN_FUNC_UNKNOWN_0xD2 (0xd2)
· UNKNOWN_FUNC_UNKNOWN_0xD3 (0xd3)
· UNKNOWN_FUNC_UNKNOWN_0xD4 (0xd4)
· undefined (0xd6)
· undefined (0xd9)
· undefined (0xda)
· undefined (0xdb)
· undefined (0xdc)
· undefined (0xdd)
· undefined (0xde)
· undefined (0xdf)
· undefined (0xe7)
· undefined (0xe8)
2021-10-28T21:31:21.105Z CNTRLR querying serial API setup capabilities...
2021-10-28T21:31:21.136Z CNTRLR supported serial API setup commands:
· GetSupportedCommands
· SetTxStatusReport
· unknown (0x03)
· SetPowerlevel
· unknown (0x05)
· GetPowerlevel
· GetMaximumPayloadSize
· GetLRMaximumPayloadSize
· GetRFRegion
· SetRFRegion
· SetNodeIDType
2021-10-28T21:31:21.137Z CNTRLR Enabling TX status report...
2021-10-28T21:31:21.165Z CNTRLR Enabling TX status report successful...
2021-10-28T21:31:21.166Z CNTRLR finding SUC...
2021-10-28T21:31:21.207Z CNTRLR This is the SUC
2021-10-28T21:31:21.257Z CNTRLR querying node information...
2021-10-28T21:31:21.283Z CNTRLR received node information:
controller role: primary
controller is a SUC: true
controller is a slave: false
controller supports timers: false
nodes in the network: 1, 2
2021-10-28T21:31:21.327Z CNTRLR [Node 001] Embedded device config loaded
2021-10-28T21:31:21.343Z CNTRLR Interview completed
Starting server on port 3000
2021-10-28T21:31:21.376Z CNTRLR [Node 001] The node is alive.
2021-10-28T21:31:21.377Z CNTRLR [Node 001] The node is ready to be used
2021-10-28T21:31:21.380Z CNTRLR [Node 002] The node is asleep.
2021-10-28T21:31:21.385Z CNTRLR [Node 002] Beginning interview - last completed stage: ProtocolInfo
2021-10-28T21:31:21.387Z CNTRLR » [Node 002] querying node info...
ZwaveJS server listening on port 3000
Server listening on port 3000
New client
2021-10-28T21:33:02.640Z CNTRLR Starting inclusion process with strategy Default...
2021-10-28T21:33:02.672Z DRIVER Dropping message because it contains invalid data
2021-10-28T21:33:03.675Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:33:04.200Z DRIVER Dropping message because it contains invalid data
2021-10-28T21:33:04.788Z CNTRLR Failed to execute controller command after 2/3 attempts. Scheduling next try i
n 1100 ms.
Z-Wave error ZWaveError: Timeout while waiting for an ACK from the controller
at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)
at ZWaveController.beginInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:918:21)
at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:16:57)
at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)
at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)
at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)
at WebSocket.emit (events.js:400:28)
at WebSocket.emit (domain.js:470:12)
at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20)
at Receiver.emit (events.js:400:28) {
code: 16,
context: undefined,
transactionSource: ' at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)\n' +
' at ZWaveController.beginInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:918:21)\n' +
' at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:16:57)\n' +
' at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)\n' +
' at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)\n' +
' at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)\n' +
' at WebSocket.emit (events.js:400:28)\n' +
' at WebSocket.emit (domain.js:470:12)\n' +
' at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20)\n' +
' at Receiver.emit (events.js:400:28)'
}
2021-10-28T21:33:43.661Z CNTRLR stopping inclusion process...
2021-10-28T21:33:44.684Z CNTRLR Failed to execute controller command after 1/3 attempts. Scheduling next try i
n 100 ms.
2021-10-28T21:33:45.795Z CNTRLR Failed to execute controller command after 2/3 attempts. Scheduling next try i
n 1100 ms.
Z-Wave error ZWaveError: Timeout while waiting for an ACK from the controller
at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)
at ZWaveController.stopInclusionInternal (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:941:21)
at ZWaveController.stopInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:966:14)
at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:32:57)
at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)
at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)
at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)
at WebSocket.emit (events.js:400:28)
at WebSocket.emit (domain.js:470:12)
at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20) {
code: 16,
context: undefined,
transactionSource: ' at Driver.sendMessage (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:2772:23)\n' +
' at ZWaveController.stopInclusionInternal (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:941:21)\n' +
' at ZWaveController.stopInclusion (/usr/src/node_modules/zwave-js/src/lib/controller/Controller.ts:966:14)\n' +
' at Function.handle (/usr/src/node_modules/@zwave-js/server/dist/lib/controller/message_handler.js:32:57)\n' +
' at Object.controller (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:36:103)\n' +
' at Client.receiveMessage (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:93:99)\n' +
' at WebSocket.<anonymous> (/usr/src/node_modules/@zwave-js/server/dist/lib/server.js:46:45)\n' +
' at WebSocket.emit (events.js:400:28)\n' +
' at WebSocket.emit (domain.js:470:12)\n' +
' at Receiver.receiverOnMessage (/usr/src/node_modules/ws/lib/websocket.js:1022:20)'
}
If I can give any more information please let me know!
What version of Home Assistant Core has the issue?
2021.10.5
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Z-Wave JS
Link to integration documentation on our website
https://www.home-assistant.io/integrations/zwave_js/
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 22 (5 by maintainers)
Update, with @agners help, we figured that the Getty service was running on ttyAMA0 - with that disabled now it works great on the new ZwaveJS and Zwavejs2mqtt add-ons.
Thanks for help!
I wired up the Z-Pi 7 to a USB to Serial adapter and plugged it into Windows and ran Simplicity Studio to check if it is working correctly and still operational, after a little fumbling around I did manage to connect to it, and it confirms that the software and firmware is intact. I can even pair a device to it. So this is good to confirm that the hardware is not dead.
@EverythingSmartHome the recent add-on release 0.1.46 bump Z-Wave JS to 8.7.5, can you try that?