Live 2D presence tracking and interference zone configuration for Inovelli Smart Switches in Home Assistant.
Decodes Zigbee2MQTT payloads to visualize real-time MQTT data and configure detection, interference, and stay zones via MQTT commands. Built because I had a need for this when I was setting up my own mmWave Switches.
- 📡 Live 2D Radar Tracking: See up to 3 simultaneous targets moving in real-time with historical comet tails.
- 📏 Dynamic Zone Configuration: Visually define your detection room limits (Width, Depth, and Height).
- 🚫 Interference Management: View, Auto-Config, and Clear interference zones directly from the UI to filter out moving fans, vents, and curtains.
- 🔄 Live Sensor Data: streams Global Occupancy and Illuminance states via MQTT.
- 🧱 Multi-Zone Support: Configure up to 4 areas per zone type.(Please update to latest version on Z2M)
- ✨ Vibe: AI assisted in the design of this app
- Navigate to Settings > Add-ons in your Home Assistant dashboard.
- Click the ADD-ON STORE button in the bottom right corner.
- Click the Three Dots (⋮) in the top right corner and select Repositories.
- Paste the URL of this GitHub repository and click Add.
- Close the dialog. "Inovelli mmWave Visualizer" will now appear at the bottom of the Add-on store.
Before starting the add-on, navigate to the Configuration tab. You need to connect the visualizer to the MQTT broker that Zigbee2MQTT uses.
| Option | Description | Default |
|---|---|---|
mqtt_broker |
The hostname of your MQTT Broker | core-mosquitto |
mqtt_port |
The port your broker uses | 1883 |
mqtt_username |
Your MQTT username (if applicable) | "" |
mqtt_password |
Your MQTT password (if applicable) | "" |
Note: If you use the standard Home Assistant Mosquitto broker add-on, the default settings will usually work out of the box.
- You will need to bind "manuSpecificInovelliMMWave" to Source endpoint 1. You can do this under the switch’s device page in Z2M and then go to the "Bind" tab.
- Click the Clusters dropdown and add "manuSpecificInovelliMMWave".
- Then Click Bind. Should see a Green Bind Success message.
- Lastly go to the Exposes tab and Enable "MmWaveTargetInfoReport". I would recommend disabling this when you don’t need it as it floods the ZigBee network when there is a target detected.
- Select Switch: Use the top-left dropdown to select your device. It may take a moment to populate as it waits for an MQTT message.
- Edit Zones:
- Open the Zone Editor sidebar.
- Select a Target Zone (e.g., "Detection Area 1").
- Click Draw / Edit.
- Drag the box on the map or type exact coordinates (including Height/Z-axis) in the sidebar.
- Click Apply Changes to save to the switch.
- You can always click Force Sync to reload the state from the switch and make sure everything was sent to the switch correctly.
- Map Settings: Use Visualizer Settings to hide specific zones, toggle labels, or adjust the map boundaries (e.g., expand X/Y for large rooms).
- Auto-Config: To mask fans/curtains, clear the room, turn on the moving object, and click Auto-Config Interference. Red zone should appear if sucsesful
Detection Area (Green/Blue): This defines the active boundary of the sensor. The sensor only looks for motion inside this box. Anything happening outside these coordinates is completely ignored.
Interference Area (Red): This defines an exclusion zone. Any motion detected inside this box is discarded. This is used to mask out constant motion sources like ceiling fans, oscillating vents, or curtains blowing in the wind.
Stay Area (Orange): This defines a high-sensitivity zone specifically for stationary presence. It is intended for areas where people sit or lie down (e.g., a sofa, bed, or desk) to ensure the lights stay on even if you are moving very little (breathing/typing).
- Radar Objects: It is important to understand that the switch does not send an all clear when there is no motion. Instead it will just stop sending location data. This means that the last tracked object will stay on the radar map indefinitely after its gone. To tell its all clear you need to refer to the Occupancyy status or just note the packet age(it will be many seconds between packets when no objects in view).
- Network Glitches: If your zigbee network is slow you make see wierd glitches when you draw and save a new zone. The app will Transmit the drawn zone via mqtt but occasionally the network may fail to sent it to the switch, Causing the drawn zone to disapear.
Known Issues
- Stay areas invert width when applyed. Just reapply to fix. This seems to be a z2m or switch issue as it happens in Z2M if you configure the zones manually.
Please open issues if you run into any bugs in the app. I will try and update the app in due time. I try and test as much as I can but I am limited by time.
- Home Assistant OS or Supervised.
- Zigbee2MQTT V2.8.0 or higher (ZHA is not supported).
- At least one Inovelli mmWave Smart Switch.
GNU General Public License v3.0