Default Template for LZW30/31 Switches in Hubitat's Dashboards

When I use a LZW30 or LZW31 with Hubitat’s default drivers, if I add a switch (or 38 switches at once) to a hubitat dashboard, it adds them using the template for “switches”, and this works.

When I change the driver to the Inovelli drivers, adding that switch to a dashboard makes it use the template for a “button” and it doesn’t work. To fix, it’s an arduous task to open up button after button and change them to switches.

I looked quickly through the driver, but didn’t see anything that told Hubitat what template to use.

I’ve also looked through Hubitat’s help and couldn’t find an answer there, either.

Does anyone know where to look for this?

How are you adding the devices to Dashboard? If you do it yourself, it should stick to whatever template you use and not change it, even if you switch drivers. If you add the device to the Dashboard while it’s using one of Inovelli’s drivers, I’m assuming Hubitat Dashboard just more or less randomly picks a template based on the device’s capabilities (presumably hard-coded into the hub firmware, maybe some predetermined hierarchy, or maybe something like alphabetical or whatever the first template with matching device capabilities is that it finds). In any case, there’s nothing a driver can do about this, so Inovelli wouldn’t be able to change anything (besides remove the button capabilities, entirely, I guess) to make this work differently.

Personally, when creating a Hubitat Dashboard, I always manually choose my devices, the template, and the tile location (i.e., I begin with an empty grid). It might seem like a bit more work up front, but for me, I think it’s a faster way to get the results I want compared to editing everything (position, template, whatever) later. I also prefer to choose (in the Dashboard child app for this dashboard) the specific devices I’m actually using rather than “use all devices,” which we’ve been told helps Dashboards load faster. If you haven’t tried one or both of these things, it might be worth doing.

Maybe not ideal, but I think there are lots of things people would change about Dashboard if they could, and maybe this would be one of them. :slight_smile: I wouldn’t count on it any time soon, though — the guy who seemed to be the primary dev for Dashboard left a while ago, and little has changed since. My guess is they are prioritzing other tasks right now (like development into the C-7 hub you may have just seen announced).

Thanks, that was helpful to know that at least I didn’t miss something obvious. And I’d say “button” certainly comes before “switch” in the alphabet. :slight_smile:

I have several other dashboards that are built by hand, adding individual items.

While I’m glad you included that in the answer so that others think about doing it by hand instead of letting it bulk-add all the devices, I asked specifically because, in addition to those hand-built dashboards I also as a backup just delete and recreate my ‘all the things’ dashboard after any major addition.

But that’s becoming untenable. Swapping 40 buttons with switches is just a pain in the patookus. :frowning:

A side question - the way you answered it made me wonder why there’s a “button” that can apply at all to these? Pressing the button doesn’t do anything, so why does it even have that functionality anyway? (I’m sure I’ll find the answer now that I’ve thought of the question, though, too). The only time I use buttons is for virtual groups, and I set them to “do a thing” like turn off that group. If you wanted a button for a single device, … why not just use a switch?

I haven’t checked out Inovelli’s driver lately, but the “Button” template on the Dashboard will send a push() command to that driver and specify the button number that you specify on that Dashboard tile (you might have to go in and fill that in with “1”; I’m not sure if it defaults to anything, and then it would probably do nothing at all — which it still will if the driver doesn’t have a “Push” command implemented, as you’ll see in the buttons on the top of the device page).

In most cases, I’d guess people would use this to “press” a virtual button (sounds like you might have some of those?). But most “real” button drivers I’ve seen (SmartThings Button, Pico remotes, Hubitat’s own Z-Wave Central Scene switch/dimmer drivers, etc.) also implement push() (and related commands like held() and whatever other actions they support), which you can use to simulate a real push in terms of providing an event (e.g., to trigger a rule) that Hubitat apps will respond to, but it’s not technically required that button devices do this. (It would probably make more sense not to default to this if another template/capability were available that matched, but again, I’m not sure how the automatic one is decided…)