Seeing an InvokerInvocationException in the logs when trying to use the 'setLevel' command for an Aeotec Smart Switch 7 (B plug)

Hey there,

I have several "Aeotec Smart Switch 7 (B plug)" Z-Wave smart switches connected to my Hubitat and the annoying thing about those are, that their On/Off LED is on by default. They do however offer different options / commands to change that (Parameter 81 in their documentation) but I have no idea how I could send them that command.

One other thing I've tried was changing the dim level of the LED to 0, however when I try to do that (set Level)... nothing happens BUT the logs for the device show this:

2021-04-14 21:02:54.781 [error] org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.util.ArrayList, java.math.BigDecimal) values: [[600D000226010001, 600D00022602], 2000]

Am I missing something - I mean I am sure I do - but has anyone an idea how to disable the LED on one of these and / or send that config parameter + value and/or use the Set Level functionality?

Any idea / help would be highly appreciated oh and - I am a total novice with all of this, so please be nice :wink:

Thanks,
-J

I'm not sure how you're trying to send the "Set Level" command, but it sounds like you have a switch, and that command is generally only available on dimmers (things they let you set a level--brightness). It's also unlikely to work for this purpose in any case (though a custom driver could if it were written that way).

Assuming your driver doesn't provide any options, since you know the parameter number and have the manual handy (you'll also need the parameter size and desired value), I'd use the Basic Z-Wave Tool to do this. Just install that driver, temporarily switch to it, make the change, then switch back:

And hit Configure after each driver switch.

That shouldn't be necessary in this case: the Basic Z-Wave Tool doesn't implement that command, and you might want to avoid running it after you switch back in case the stock driver uses it to overwrite any custom parameter values you set with the tool. But in general, good advice! (You'd normally want to do this if you switch drivers.)

2 Likes

I am trying this because aeotec's support said this:

There is one easy way that you can do this, the Smart Switch 7 has the dimmer class supported which can be used to control the output of the LEDs of your Smart Switch 7.

  • Change the driver to any generic Z-Wave Dimmer driver

  • Set the Dim level to 0%

  • Change the driver back to the usual SS7 driver.

That's interesting! But then I guess that should work. What was the name of the driver you were using? "Generic Z-Wave Dimmer" would be my first choice, though any one with a similar name would probably function similarly for this command (but I'd avoid the CentralScene one if the built-in hub version matches the example driver Hubitat has provided on their GitHub). The "Inovelli Bulb Multi-Color" might also work--I found the manual, and it sounds like you can use both the Z-Wave Switch Mutli Level command class to set the level of the light and the Switch Color command class to set the color, which are the same commands the Inovelli LZW42 (RGBW bulb) driver likely uses for "Set Color" and "Set Level."

You may still need the Basic Z-Wave Tool, above; that is how you would set parameter 81 to the desired value, though in the manual I found it's already at the desired and default value of 2. Your model may be different, since I'm not sure how much the different regional variations differ here. But after that, it looks like the rest can be set with "standard" (non-configuration) Z-Wave command classes, which is pretty neat if not a little unusual.

Unfortunately, I don't actually have one of these. I've thought about it (to get more 700-series devices in my network) but didn't know it had a controllable LED. If I can every find one for a reasonable price in the US, I'll consider it more strongly now. :smiley:

1 Like