[BETA] Inovelli Blue mmWave Live Visualization

This is a community-developed web app that shows a live view of mmWave targets from an Inovelli Blue series mmWave switch (zigbee only). This is useful for testing/configuring the Inovelli mmWave parameters, including the detection zone dimensions as well as the interference area.

The app provides:

  • Live Plotly chart of target coordinates (X/Y) with target IDs
  • Target trail history (adjustable)
  • Table view of X / Y / Z / Doppler
  • Device selector (pulls device list from Maker API)
  • Occupancy indicator (motion: active = occupied / inactive = unoccupied)
  • Lux display (illuminance/lux attribute if available)

Runs locally and installs with Docker Desktop or Proxmox LXC.

GitHub:

Requirements:
Latest Inovelli Blue mmwave driver, as of Jan 30, 2026

Quick start:

  1. Enable Target Info Reporting in the Preferences of your Inovelli Blue Series mmWave switch (confirm targetInfo and targetCount attributes are populating when a target is present)
  2. Enable the device(s) in Maker API
  3. Clone the mmWave-Tracker repo to your local environment
  4. Edit .env with your Hubitat IP + Maker API app id + token
  5. Configure container
    a) (Docker) Install Docker Desktop and run docker compose up --build
    b) (Proxmox LXC) See install guide on GitHub
  6. Open: http://localhost:5000
  7. Configure/test your devices using the visualization tool
  8. After configuration/testing is complete, stop the container and disable Target Info Reporting in the device preferences (this is recommended only for configuring/testing device parameters, not for ongoing use, because it is resource intensive and taxes the zigbee network during use)

Thanks to @ericm for incorporating changes to the underlying driver to support this visualization tool.

12 Likes

this is amazing and works great! thank you!

1 Like

Can't wait to try this out. If you don't mind I will disassemble your docker file to run it native in a LXC container under Proxmox. If I get it to work I will post the instructions here.

Just exactly what I'm looking for. Can't wait to bring this up!

Edit: loaded everything up, added my switch to the maker API then fired up the tracker URL. It selected my switch and changed the state to "occupied" when I walked into the room but remained in a "no targets detected" state even though I had

  1. mmWave Target Info Report

set to enabled, preferences saved, and also ran a configure (all). Have 01-30-2026 driver. What am I missing?

Edit2: noticing that the switch targetcount state is also 0 when I'm in the room so maybe switch setting related? Sensor is definitely working properly however since room lighting controlled by my occupancy rule is triggering correctly.

When you look on the hubitat device page for your switch, do you see the attribute/state variable called "targetInfo" populating as you move around in the room? If not, then the issue is on the driver/switch side, as this app simply graphs that attribute as it changes.

roger. Figured that. I have the most current driver 01-30-2026 and firmware v1.0 loaded on the switch.

So you don't see that attribute populating? But you do see the targetCount?

I see them both but they don't change from 0 even when the room is occupied:

Thanks got it to work in a LXC container. Just a bit of configuration stuff and it looks great. Once it get it to startup with systemd service and the Environment variables in the service file I will post my configuration steps.

1 Like

any errors in the logs? seems like your not getting the zigbee binding needed on Cluster 0xFC32.

no, just getting what appear to be info level logs from target info reporting:


I'm going to bring this up on the VZM32 enhancement/bugs topic on the Inovelli community and also take a quick look at the driver code. I will lyk what I uncover.

yeah it's not getting the needed zigbee binding, since you aren't receiving any of the coordinates from the switch on the mmWave cluster. I believe the driver is supposed to do this for you when you enable the target info reporting. But you could try to manually do it if you know how. See here.

You need to Bind to EP1 Cluster 0xFC32

The Bind command on the device seems like it would work for this perhaps, though I haven't looked at how the driver parses the command


There's also other ways to do this in HE if you search the forums

1 Like

Well, there are apparently ppl out there where this is working so that pretty much eliminates firmware since Hubitat hasn't posted v1.01 and that's the only way we can upgrade. It also demonstrates that the driver is able to bind EP1 to the mmWave cluster. So I'm thinking a parameter combo is exposing a driver bug somewhere where this specific endpoint binding doesn't happen when parameter 107 is set. In my case, I have the mmWave sensor decoupled from the switch for example.

Perhaps, but I'm a bit skeptical of that theory - I have the mmwave sensor decoupled from the switch as well (Light On Presence parameter = disabled). I think you're going to need to provide more detailed info about your device configuration (screenshot of device preferences), your zigbee network (what's your zigbee table look like?), and a full log readout with trace, info, and debug logging enabled showing the log when you (a) set the value of the Report Info log parameter to Enabled and click Save; and (b) click Configure (All).

1 Like

I opened a support ticket on this with Inovelli. Their support bot also thinks its a binding issue.
Also, they dragged my writeup on the inovelli VZM32 bugs/enhancement thread to a new topic that features your app.

Yes, I saw that. I don't think it's a "bug" on Inovelli's side. You're of course welcome to pursue Inovelli directly, but I suspect you are likely to reach a speedier resolution by posting more detailed logs here or in a DM. I helped write the driver code that does the binding anyway....

Ok. I didn't think you really wanted to dig into the Inovelli side of this since it appears that this app is working correctly.

Well, it's pretty interconnected to the code I wrote in the driver (the part that populates the targetInfo attribute), so I'm happy to do so as part of making sure the code I wrote in the driver is working as intended.

1 Like

Ok, I guess we can go through prefs first then. Here's the full preferences settings for the switch:








My zigbee table is somewhat large (76 devices). How would you like to see that? Full screenshot of details in zigbee table or only certain columns? We could also switch to DM or a new topic if you'd rather not clutter up this one.

I also have two more mmWave switches showing up today. It might be interesting to fire one up out of the box to see if its working. I was planning on using this app to assist with zone mapping anyway.