Modify Ramp Rate on GE (Jasco) Dimmers

Is it possible to change the default behavior of these dimmers as well? I’d like my lights to go all the way to 100% whenever I hit up on the dimmer. Right now the default behavior is to go back up to your last highest dim level.

2 Likes

@chrisdrackett would you mind sharing the entire code for your device type? I can’t seem to get this to work and not sure what I’m doing wrong.

1 Like

This worked for me. Thank you. Stlll doesn’t behave the way I would expect. I want it to jump to the dim level without ramping. You would think “1 step” would mean jump but it still ramps. Anyway, thanks for the code.

@pablo, Would you mind sharing the entire code for your device type?

@ultrazero I don’t mind, I’ll link it in a second, but because I’m lazy and this is a 1-off thing let me explain the hacky thing I did.

  1. I added the accompanying code as a “my device type” (i cloned the dimmer switch and added the 2 functions that @chrisdrackett originally posted)
  2. (here’s the hacky party) I modified the two methods for changing the light status.
    2a) I made “indicatorNever” also call "listCurrentParams()"
    2b) I made "indicatorWhenOff() also call “updateRamp()”
  3. I saved /published the device type
  4. I went to a dimmer in “my devices”, clicked “Edit” and switched the Device Type to the device type I created
  5. I pulled up the Logs interface on the web UI
  6. on my phone, I brought up the device, I toggled through the indicator light modes and watched the log interface for updates. I saw the initial default values, then when I cycled through again, i saw the updated values from updateRamp()

That’s pretty much it. The code listing in its entirety:

2 Likes

Just to be clear, did anyone actually get this to fully work? I am having the same issue with needing the lights to turn on and off instantly with no ramp up

Although @pablo mercifully provided his full code (thanks Pablo!) I was still unable to get it to work. Wish I had a bigger update!

I was able to get it to work using Pablo’s code. I had to make a new device type in the IDE. I then went to my dimmer switch and changed the device type to the one I just made. Now here is where the un-intuitive part comes in. You need to toggle through the indicator light modes on your phone for your dimmer switch. After completely cycling through all the modes, the updated ramp values should have been sent to the dimmer. After the dimmer is working like you want, then change your dimmer device type back to regular device type. The dimmer retains its settings regardless of the device type you use. And if you want different values for the ramp rate other than one and one, you have to manually edit code to what you want in the device type, then run again. But one and one works exactly the way I would like it to. Not instantly 100% but they come on to 100% very quickly. So they still have a very slight dim on effect. Hope this helps!

1 Like

Wally, before you invest too much time making this work, know that even with this parameter change, there is still a ramp, although it’s (maybe) faster than before, it’s not instant like I would like. This is very frustrating to me, because logically if you say “we are doing this in 1 step” it should be 1 step between 0 and 100%, but it still ramps. I don’t really get what the X steps at Y interval does beside make the ramp slower, which isn’t what we want.

For anyone interested, I took what @chrisdrackett and @pablo did and added a tile (button) for the device type called ‘Fix ramp rate’ to decouple it from the led on/off mode. It’s just a simple button for the device that speeds up the ramp time. Like others have mentioned it just speeds the fade in/out, it doesn’t eliminate it. Here’s the code:


/pajaroblanco/SmartThingsPublic/blob/master/devicetypes/pajaroblanco/enhanced-dimmer-switch/enhanced-dimmer-switch.groovy

(Had to split the link since the forum wouldn’t let me post “more than two links” ???)

2 Likes

Thanks for fixing my laziness! : )

you guys ROCK- I’ve been using vera for years and while it was unstable and i couldn’t stand it anymore it did natively allow you to set any parameter on any zwave device.

I actually wanted to enable the load sensing feature on the ge/jasco/act/schlage/etc plug in lamp modules and used your great work as a guide.

I just commented out the 4 actual lines for dimming and added a line to set the load sensing bit and presto chango- i’m all set.

def fixRampRate() {
log.debug(“Fixing ramp rate”)
delayBetween([
// zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 7, size: 1).format(),
// zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 8, size: 1).format(),
// zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 9, size: 1).format(),
// zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 10, size: 1).format()
zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 29, size: 1).format()
], 500)
}

and then i got crazy and relabled the tile to do it too- laughing.

You guys are great - i love this community!

2 Likes

Heads up folks-

if you changed to a custom device to futz with the ramp rate (or load sensing or whatever)- make sure you put it back to the built in device type if you have a V2 hub and want to take advantage of local processing at the current time:

seems only the smarthings supplied devices are able to run locally.

1 Like

Hi @pajaroblanco. I’ve installed your device type and I think it’s working. But I’m confused on how the Fix Ramp Rate button works.

By pressing it does it change the ramp rate in increments? I get no feedback when I push it. Thanks.

@ultrazero, Yeah it’s not that clear. You only need to click it once to speed up the ramp rates. There is no feedback. It would be good to light the button or something to let you know it completed. It could also use a button to reverse it but I just took what others did and applied it to a separate button.

I too was able to get this working using pajaroblanco’s code, made a device type titled dimmer modifier, after I updated the set ramp rate for each dimmer switch I converted back the device type in ide.smartthings to the default dimmer switch type. Dramatic improvement.

Hey guys, thanks for the code! I just got around to trying it out. Worked like a charm and definitely saved me some time.

It’s been awhile since I read this whole thread, but one thing I don’t think was mentioned is that increasing the number of steps actually makes it dim faster.

My assumption is that the “number of steps” is supposed to represent how many steps (out of 100 for full on to off?) are taken in the configured time period. So with steps at 1 and timing at 1, I think you’re moving 1 step per 1 * 10ms (interval stated in the manual). This means to go 100 steps (turn on completely), it would take 100 * 10ms = 1000ms or 1 second.

All I know for sure is that increasing the value of the steps parameters (parameter 7 and 9, value from 1-99) made it turn on and off faster for me. I’m using it on halogens—which have some natural ramp on/off—so I can’t tell exactly how fast the dimmer is ramping, but trying it with a value of 99 it seems near-instant. Given my assumption, that would equate to ~10ms, so it seems logical. It’s faster than I want, but might help some of the readers who posted about wanting an instantaneous on/off.

4 Likes

Can you guys help me get this working? I’m really new to this whole ST thing, but I’m trying to fix couple things that are annoying me. So far I got how to install Button Controller+ which is great, now I though that this would be the same way but I’m getting the following error:
“No signature of method: script14566865776341135838551.metadata() is applicable for argument types: (script14566865776341135838551$_run_closure1) values: [script14566865776341135838551$_run_closure1@151be53] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)”

What I’m doing wrong? Thank you.

By the way I’m getting this error after going to, My smartapps, new smartapp, from code.

this is a custom device type, not a smartapp.

when you experience an error, try searching for the error text, e.g. “No signature of method: script” - don’t get too specific.

Hi @leandroestacio,

You’ve tried to install the code as a SmartApp instead of a device handler, so that’s an easy fix!

If you need help with the code, just shout.