Rule Machine - gradual dim issues

So, I’ve been using (successfully) the gradual dim rule structure (using a virtual momentary switch with a delay to reduce the dimmer down by a percentage every few minutes). It’s been working fine for many weeks, but starting yesterday it just runs a few cycles then falls off and stops decreasing the dimmer. If I recycle to momentary switch manually, it’ll pick up for a few more cycles, then fall off again. I refreshed (updated) the rule in IDE, as well as within the app, but the result is the same. Logging doesn’t give me anything other than the next cycle just doesn’t fire 2 minutes later like it’s supposed to, meaning the dimmer stalls where it is.

Anyone have any ideas why?

ST has been having serious platform schedule issues the last couple of days. I think they are working on new scheduling software, or their old stuff is breaking down even more. It’s been a problem for quite some time.

It’s not Rule Machine.

Update: after some more digging, it appears the rule runs three cycles each time before it quits. This doesn’t appear to be coincidental and is very consistent.

Who knows, things are squirrelly right now. I guarantee there is nowhere in Rule Machine where 3 is used, so this is a platform issue. Yet again.

1 Like

Oh goodie…

1 Like

I’ve been meaning to dig in and figure out how to do slow dimming/brightening. Is there already a thread out there to explain what you used or would you mind giving an overview of how you are using the momentary switch?

It’s pretty simple once you wrap your head around it. Basically, you’re creating the (dreaded) infinite loop, and using it to your advantage.

I kick off the process by having a routine (or whatever) trip a virtual momentary switch. This switch tells rule machine to dim the lights by xx%, then (with a delay) turn the virtual momentary switch on again, which starts the process over. So, if I request the lights dim by -4%, when the switch trips, the lights dim by 4%. If I set the delay for 2 minutes, then the switch trips again 2 minutes later, causing another drop in the light level by 4% and so on.

My dimmer seems to have no problem going through 0% and into the negative (the lights are off, but the sequence keeps running) so I put a safety condition in that the light level must be above 0%, the light must be on and I must be home, for the rule to be ‘true’, otherwise the ‘false’ action is to turn the light off.

This does a couple of things: my wife doesn’t want the gradual dimmer when I’m not home, so when she triggers the rule, it goes to ‘false’ and the light just goes off. To keep the gremlins from running the rule, I insist the light is on and above 0%. Should either of those fail, the light reverts to off.

Looks like this.

1 Like

Many thanks! I get it now, just hadn’t thought it through all the way.

Interesting update: I rebuilt my gradual dimmer rule that was stalling after three cycles, now it seems to be working correctly. But what’s really interesting is that I think I’ve found a coralation between a delay-off timer I have for a motion light in the bathroom and the gradual dimmer running in the bedroom. Anecdotally, when the two are both running, they both seem to stall. While I can’t imagine the two timers are trying to fire at exactly the same time, is it possible that the two timers running are just stepping on each other? Anyone know?

No, this isn’t the cause. ST has some major issues right now with timed events failing.

Ok, in the past week, my gradual dim rule has become almost non-functional. I opened up the delay period to 5 minutes hoping it would increase reliability, but it just hasn’t. Would using a Boolean loop make this functional again? How would I build that? I really like this feature, but it’s just not working any more!

The problem appears to be the platform’s inability to reliably schedule and execute scheduled jobs. This problem has gotten much worse over the past week, as far as I can tell. Things are failing left and right for me, all schedule related.

My entire system has a zero nines rating at this time. It is not reliable enough to be considered a product.

Does using a Boolean loop provide a fix to this? That is, with a manual trigger, would the Boolean loop keep the dimmer descending, or is it still a schedular issue?

Everything relies on ST’s platform, every delay of any type, including these loops.

Bummer, guess I’ve got to find another way…

For gradual dim at morning wake up, you would need to separate rules, correct?

Rule 1 to trigger momentary button based on time
Rule 2 to handle the gradual increase using momentary button

Yes, that is what I do.

1 Like

Well, up until recently, mine was working just fine with one rule.

Trigger: time (or whatever you want to use…rule truth change elsewhere, whatever) OR virtual dimmer switch (momentary)

Condition: lamp level > 0 (I do this because my dimmer runs away south of 0, so this is a way to make the condition false and stop the loop)

Action for True: Delay by Xmin, ON virtual dimmer switch, adjust dimmer -/+Y%.

Action for False: OFF lamp

This was working great for a while, but it sounds like the ST platform scheduling issues have caused havoc with it. It’ll run for a couple of loops, then fail… Hopefully some sort of resolution to the scheduling comes up, because I really like the gradual dimmer!

2 Likes

I don’t think it’s a single rule problem. I’m using two rules and it stops after a few cycles, and sometimes it works all the way through. Very inconsistent. Mine goes for 60 cycles with a 1 minute delay between

Then again, even a simple “Turn on light at X time, shut off light at X time” rule fails here and there. Can’t expect ST to work 60 times in a row

Ryan @Rigging65, I was using your screenshot of the RM as a guide.

Basically, I wanted a physical light to come on at sunset and brighten upto 20%. The steps are to turn on a light and set to 2% and adjust +2% every minute. However, it just does that one step in RM ie turned on, then dimmed to 2% and one adjustment (final) to 4%.

Is a creation of a virtual switch require for this to work?