[RELEASE] Inovelli White Series VTM31-SN Matter Community Driver

I’m pleased to announce the initial public release of my community driver package for the Inovelli White Series VTM31-SN Matter dimmer.

Supported device

  • Inovelli White Series Dimmer, model VTM31-SN

  • The dimmer’s built-in RGB notification bar, represented automatically as a separate Hubitat child device

Why I built this

I built this driver with two major goals in mind: to provide comprehensive and natural access to the VTM31-SN’s Matter functionality from Hubitat, and to make that experience feel polished, dependable, and ready for everyday use.

Natural, comprehensive control. The package was designed from the outset around two coordinated devices:

  1. The primary dimmer and load

  2. The built-in RGB notification bar

The primary driver keeps the on/off and dimmer controls uncluttered while automatically exposing the LED bar as a useful automation device in its own right.

Quiet reliability. The driver is designed to stay out of the user’s way: to install cleanly, maintain an accurate understanding of the device’s state, recover gracefully when necessary, and otherwise leave the user free to focus on building automations.

The result is intended as a full-featured, production-quality driver package rather than something experimental. When installed or reconnected, it performs a deterministic synchronization so that its displayed state and preferences accurately reflect the device’s existing configuration without repeated refreshes or manual intervention. It also automatically narrows its Matter subscriptions to only the data it needs, helping it initialize and recover quickly while minimizing unnecessary network traffic during normal operation.

Highlights

The initial v1.0.0 release includes:

  • Full switch and dimmer control for the primary load

  • Independent control of the built-in RGB notification bar through an automatically managed child device

  • On/off, level, color, and color-temperature control for the notification bar

  • Access to the device’s built-in notification and LED effects

  • Button and multi-tap event support

  • Power and energy monitoring

  • Comprehensive access to the VTM31-SN’s Matter configuration settings

  • Device preferences organized into functional groups so related settings are easy to find and configure together

  • Automatic synchronization with the device’s existing settings and current state

  • Fast, efficient initialization and recovery with automatically optimized Matter subscriptions

  • Automatic driver selection and setup when commissioning a supported device to Hubitat

  • Easy installation and updates through Hubitat Package Manager

The driver is built specifically around the Matter implementation of the White Series VTM31-SN rather than being adapted from an existing Z-Wave or Zigbee driver.

Known Matter platform limitation: button-event latency

The driver supports the VTM31-SN’s button and multi-tap events, but Hubitat currently does not provide a way for a Matter driver to request urgent delivery of those events.

As a result, button events—including double-tap and multi-tap events—may sometimes be delayed before reaching the driver. This is a limitation of Hubitat’s current Matter driver API, not of the switch or this driver.

A feature request and technical discussion are available here:

https://community.hubitat.com/t/expose-matter-eventpathib-isurgent-for-low-latency-device-events/163953

Normal load control, notification-bar control, configuration, and attribute reporting are unaffected.

Installation

The recommended installation method is Hubitat Package Manager.

Search HPM for:

Inovelli Dimmer White Series VTM31-SN by Kevin Kahl

The package can also be found under the Matter, Lights & Switches, and Energy Monitoring tags.

Manual installation is available through the production bundle attached to the latest GitHub release:

https://github.com/kahlkevin/hubitat-casarita-inovelli_vtm31sn/releases/latest

The complete source repository, documentation, build system, and issue tracker are available here:

https://github.com/kahlkevin/hubitat-casarita-inovelli_vtm31sn

Testing and contributing

For users interested in testing or contributing, the project also provides production, prerelease, and development build flavors. Downloadable installation bundles for each flavor are available through the project’s GitHub releases.

What’s next

One area I’m exploring for future development is a more powerful notification model: user-created child devices that each represent a complete notification, including its color, effect, priority, and on/off state.

The primary driver could then arbitrate among active notifications, display the highest-priority one, and automatically restore the next applicable notification when the current one finishes or is cleared.

The design is still evolving, so ideas and real-world use cases are welcome.

Community driver and support

This is an independent, community-developed driver. It is not an official Inovelli or Hubitat product, and neither company is responsible for supporting it.

Questions, bug reports, test results, and feature suggestions are welcome in this thread. Confirmed software issues may also be submitted through the GitHub issue tracker.

This is the first public release, so feedback from installations beyond my own environment will be particularly valuable.

Enjoy!

4 Likes

I’m happy to give this a spin and see how it works. One feature to consider in the future is to make the subscription to EP 7 (Power Monitoring) as optional in the preferences. I only use mine in Smart Bulb Mode and do not care about energy tracking at all.

As for your idea for what’s next, that might be better as a companion app rather than built into the driver. If you take your idea to its logical conclusion, what is the difference between the LED bar and just a RGB Light? I think there is some interesting ideas around an app that selects a light, user inputted sensors, light colors, and priority for notifications. I’m not sure if make the driver “more” would be helpful.

1 Like

I’m really liking this driver as it is very well done! Another feature suggestion is related to unchanged logging. Because this switch constants renews its subscriptions, it generates a ton of logging. You might want filter out unchanged values at initialization so that they do not log. This helps keep the descriptive logging clean to only value/event changes.

Everything else seems to be working: button taps (pushed; double tapped), load control, RGB color changes, and Mode Select modifications. One thing to note is that the switch is technically capable of up to 5 taps per button like their Zigbee and Zwave versions. To get it working, the switch will send the number of counts and this number needs to be mapped onto a virtual button. With their Zigbee switch, they setup a five button scheme for Up and Down. Up (EP 3) button numbers get mapped to buttons 1-5 as pushed. Down (EP 4) button numbers get mapped as buttons 1-5 held. The config (EP 5) are buttons 8-12 based on push.

I’ve also seen a number scheme where odd button numbers are UP (EP 3) and even numbers are Down (EP 4). Config (EP 5) then takes 11-15 and everything is based on push.