AOYAN AY-204Z detected successfully but reports only null values
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
Two AOYAN AY-204Z motion sensors show exactly the same behavior.
The devices pair successfully, the interview completes successfully and Zigbee2MQTT reports that the devices are configured successfully.
However, they never report any sensor values.
The MQTT payload always contains:
- battery: null
- occupancy: null
- sensitivity: null
- keep_time: null
- linkquality: 255
Changing configuration values like keep_time works (for example null → 30), but the sensors never report occupancy, battery or illuminance.
After some time the devices become unavailable.
What did you expect to happen?
The sensors should report occupancy, battery level and illuminance after pairing. The values should be updated when motion is detected, as described in the Zigbee2MQTT documentation.
How to reproduce it (minimal and precise)
- Pair an AOYAN AY-204Z motion sensor with Zigbee2MQTT.
- Wait until the interview completes successfully.
- Verify that the device is configured successfully.
- Move in front of the sensor and wait for updates.
Result:
The device never reports occupancy, battery or illuminance. The MQTT payload only contains null values (except linkquality). Changing configuration values such as keep_time works, but no sensor data is ever received. After some time the device becomes unavailable.
Zigbee2MQTT version
2.12.1
Adapter firmware version
EmberZNet 7.4.4 GA
Adapter
Sonoff Zigbee Dongle E EmberZNet
Setup
Home Assistant OS 16.3 running as a virtual machine on Proxmox VE.
Zigbee2MQTT is installed as the official Home Assistant add-on.
Coordinator:
Sonoff Zigbee Dongle E
Adapter:
ember
Coordinator firmware:
EmberZNet 7.4.4 GA
Device database.db entry
No response
Debug log
[17.7.2026, 18:04:25] zh:controller: Interview for '0xa4c1384479f55b70' started
...
[17.7.2026, 18:04:35] z2m: Successfully interviewed '0xa4c1384479f55b70', device has successfully been paired
[17.7.2026, 18:04:35] z2m: Device '0xa4c1384479f55b70' is supported, identified as: AOYAN Luminance motion sensor (AY-204Z)
...
[17.7.2026, 18:04:35] z2m: Successfully configured '0xa4c1384479f55b70' (definition v0.0.0)
[17.7.2026, 18:04:53] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0xa4c1384479f55b70', payload '{"battery":null,"keep_time":null,"linkquality":152,"occupancy":null,"sensitivity":"medium"}'
[17.7.2026, 18:04:54] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0xa4c1384479f55b70', payload '{"battery":null,"keep_time":"30","linkquality":152,"occupancy":null,"sensitivity":"medium"}'
Notes
I found what appears to be a missing converter for the AY-204Z occupancy sensor.
The current device definition uses tuya.modernExtend.tuyaBase({dp: true}), which only registers the Tuya MCU datapoint converter.
However, my device reports occupancy through the IAS Zone cluster (ssIasZone) using commandStatusChangeNotification instead of Tuya datapoints.
Zigbee2MQTT correctly receives the IAS message but cannot process it because no IAS converter is attached to the device definition.
Debug log
Motion detected:
[2026-07-17 19:00:24] debug: zh:controller: Received payload:
clusterID=1280,
frame={
"payload":{
"zonestatus":1,
"extendedstatus":0,
"zoneID":0,
"delay":0
},
"command":{
"name":"statusChangeNotification"
}
}
[2026-07-17 19:00:24] debug:
z2m: Received Zigbee message from '0xa4c1384479f55b70',
type 'commandStatusChangeNotification',
cluster 'ssIasZone',
data '{"delay":0,"extendedstatus":0,"zoneID":0,"zonestatus":1}'
[2026-07-17 19:00:24] debug:
z2m: No converter available for 'AY-204Z'
with cluster 'ssIasZone'
and type 'commandStatusChangeNotification'
and data '{"delay":0,"extendedstatus":0,"zoneID":0,"zonestatus":1}'
Motion cleared:
[2026-07-17 19:00:40] debug:
z2m: Received Zigbee message from '0xa4c1384479f55b70',
type 'commandStatusChangeNotification',
cluster 'ssIasZone',
data '{"delay":0,"extendedstatus":0,"zoneID":0,"zonestatus":0}'
[2026-07-17 19:00:40] debug:
z2m: No converter available for 'AY-204Z'
with cluster 'ssIasZone'
and type 'commandStatusChangeNotification'
and data '{"delay":0,"extendedstatus":0,"zoneID":0,"zonestatus":0}'
While debugging, I verified that:
ias_occupancy_alarm_1 already exists in fromZigbee.js.
tuyaBase() only registers the Tuya MCU converter (manuSpecificTuya) and does not include an IAS Zone converter.
Therefore, the IAS messages are received but ignored for this device.
It looks like newer AY-204Z firmware reports occupancy through IAS Zone instead of Tuya datapoints.
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the AY-204Z device definition and the existing IAS occupancy converter in fromZigbee.js. Trace how ssIasZone commandStatusChangeNotification messages are matched for this device, then verify that motion and clear events produce occupancy updates instead of the reported “No converter available” result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100