Skip to main content

Blue Series mmWave Presence Sensing Dimmer • Advanced mmWave Configuration

The VZM32-SN uses a custom Zigbee cluster (0xFC32) to provide advanced control and monitoring of its mmWave radar system.

Eric Maycock avatar
Written by Eric Maycock
Updated yesterday

Note: This article explains the advanced functionality of the mmWave sensor on the VZM32-SN Zigbee mmWave switch. Most users will likely only need to perform basic configuration described in this article: mmWave Switch Configuration Guide | Inovelli Help Center

This cluster enables configuration of detection, interference, stay, and Z-axis range zones, giving precise control over where the sensor should detect motion and where it should ignore movement.

For example, interference zones can be used to exclude regions such as moving fans, vents, or reflective surfaces that might otherwise cause false presence triggers.


Cluster ID: 0xFC32

Direction Key

  • S → C: Server (mmWave Sensor) to Client (Controller)

  • C → S: Client (Controller) to Server (mmWave Sensor)


Server → Client Commands

Note: To get reports from this cluster you need to 1) Bind to EP1 Cluster 0xFC32, and 2) Enable "Target Info Report" Attribute 107. Take note, this will cause 0x01 Report Target Info reports up to every 1 second when a target is detected.

0x00 – Anyone In The Reporting Area

Purpose: Indicates presence detection across up to four predefined sub-areas.

Field

Data Type

Description

area1

uint8

0x00 – No target
0x01 – Target present

area2

uint8

0x00 – No target
0x01 – Target present

area3

uint8

0x00 – No target
0x01 – Target present

area4

uint8

0x00 – No target
0x01 – Target present


0x01 – Report Target Info

Purpose: Reports real-time location and movement data of detected targets.

Field

Data Type

Description

target_num

uint8

Number of detected targets (maximum 4)

x

int16

X-axis coordinate (cm)

y

int16

Y-axis coordinate (cm)

z

int16

Z-axis coordinate (cm)

dop

int16

Target velocity (Doppler)

id

int16

Target ID

...

...

When N targets exist,

N x, y, z, dop, target_id also exist

When multiple targets exist, each target includes its own x, y, z, dop, id set of data fields.


0x02 – Report Interference Area

Purpose: Reports the configured interference zones.
Up to four zones can be defined. When a target is within one of these zones, it will not be reported for presence detection.

Field

Data Type

Description

x_min

int16

Minimum X-coordinate of the zone (cm)

x_max

int16

Maximum X-coordinate of the zone (cm)

y_min

int16

Minimum Y-coordinate of the zone (cm)

y_max

int16

Maximum Y-coordinate of the zone (cm)

z_min

int16

Minimum Z-coordinate of the zone (cm)

z_max

int16

Maximum Z-coordinate of the zone (cm)

...

...

...

This message reports configured interference zones, not detected noise.
Targets within these zones are ignored for presence reporting.


0x03 – Report Detection Area

Purpose: Reports the coordinates of the configured detection zones.
Up to four detection zones can be defined, representing regions where the sensor actively monitors presence and movement.

Field

Data Type

Description

x_min

int16

Minimum X-coordinate of the zone (cm)

x_max

int16

Maximum X-coordinate of the zone (cm)

y_min

int16

Minimum Y-coordinate of the zone (cm)

y_max

int16

Maximum Y-coordinate of the zone (cm)

z_min

int16

Minimum Z-coordinate of the zone (cm)

z_max

int16

Maximum Z-coordinate of the zone (cm)

...

...

...

Up to four detection areas may be reported.


0x04 – Report Stay Area

Purpose: Reports the coordinates of the configured stay zones.
Stay zones define regions used for detecting stationary presence (e.g., someone sitting or lying still).

Field

Data Type

Description

x_min

int16

Minimum X-coordinate of the zone (cm)

x_max

int16

Maximum X-coordinate of the zone (cm)

y_min

int16

Minimum Y-coordinate of the zone (cm)

y_max

int16

Maximum Y-coordinate of the zone (cm)

z_min

int16

Minimum Z-coordinate of the zone (cm)

z_max

int16

Maximum Z-coordinate of the zone (cm)

...

...

...

Up to four stay areas may be reported.


Client → Server Commands

0x00 – Control Instruction

Purpose: Sends control commands to manage mmWave module behavior.

Control ID

Action

0x00

Restore mmWave module to factory configuration

0x01

Auto-generate interference area

0x02

Obtain interference and detection regions

0x03

Clear interference areas

0x04

Reset detection areas

0x05

Clear stay areas


0x01 – Set Interference Area

Purpose: Manually defines the coordinates of an interference area, which is an ignored zone where targets are not reported as present.
Up to four zones (area_id 0–3) can be defined.

Field

Data Type

Description

area_id

uint8

Range: 0–3. The mmWave module can store up to four interference zones.

x_min

int16

Minimum X-coordinate (–600 to 600 cm)

x_max

int16

Maximum X-coordinate (–600 to 600 cm)

y_min

int16

Minimum Y-coordinate (–600 to 600 cm)

y_max

int16

Maximum Y-coordinate (–600 to 600 cm)

z_min

int16

Minimum Z-coordinate (–600 to 600 cm)

z_max

int16

Maximum Z-coordinate (–600 to 600 cm)

Note: Executing the “Auto-generate interference area” control instruction (Control ID = 0x01) will automatically configure Interference Area ID 0.
This is useful for quickly excluding common sources of noise or reflections without manually defining coordinates.


0x02 – Set Detection Area

Purpose: Defines one or more active detection zones where the sensor reports movement or occupancy.
Up to four detection zones (area_id 0–3) can be set.

Field

Data Type

Description

area_id

uint8

Range: 0–3. The mmWave module can store up to four detection zones.

x_min

int16

Minimum X-coordinate (–600 to 600 cm)

x_max

int16

Maximum X-coordinate (–600 to 600 cm)

y_min

int16

Minimum Y-coordinate (–600 to 600 cm)

y_max

int16

Maximum Y-coordinate (–600 to 600 cm)

z_min

int16

Minimum Z-coordinate (–600 to 600 cm)

z_max

int16

Maximum Z-coordinate (–600 to 600 cm)

Note: Editing attributes 101-106 will configure Set Detection Area ID 0.


0x03 – Set Stay Area

Purpose: Defines one or more stay areas where stationary presence should still be detected.
Up to four stay zones (area_id 0–3) can be configured.

Field

Data Type

Description

area_id

uint8

Range: 0–3. The mmWave module can store up to four stay zones.

x_min

int16

Minimum X-coordinate (–600 to 600 cm)

x_max

int16

Maximum X-coordinate (–600 to 600 cm)

y_min

int16

Minimum Y-coordinate (–600 to 600 cm)

y_max

int16

Maximum Y-coordinate (–600 to 600 cm)

z_min

int16

Minimum Z-coordinate (–600 to 600 cm)

z_max

int16

Maximum Z-coordinate (–600 to 600 cm)


Practical Example: Zone Configuration Flow

  1. Initialization
    Send Control ID = 0x00 to restore the mmWave module to factory defaults.

  2. Configure Zones

    • Use Set Interference Area (0x01) to define up to four ignored areas (e.g., near a fan or vent).

      • Targets inside these areas will not trigger presence.

      • The Auto-generate interference area command automatically configures area_id 0.

    • Use Set Detection Area (0x02) to define up to four active detection zones.

      • The attributes 101-106 configure dection area_id 0.

    • Use Set Stay Area (0x03) for areas where stationary presence (e.g., someone sitting) should be detected.

  3. Verification
    Send the Control ID = 0x02 command to query current interference and detection area configurations.
    The sensor will respond with Report Interference Area and Report Detection Area messages.

  4. Monitor Activity
    Listen for Anyone In The Reporting Area (0x00) and Report Target Info (0x01) messages to receive real-time presence and target position data.


Summary

The VZM32-SN mmWave cluster (0xFC32) provides advanced configuration options for fine-tuning detection zones, excluding interference areas, and managing vertical range.
By leveraging these features, integrators can optimize detection accuracy, reduce false triggers, and tailor sensing behavior to complex room layouts.

Did this answer your question?