Rule machine - as per the app developer, this app is no longer available for new installs, distribution, or support

@bravenel is there a way to use a null value in a custom command? I’m moving over some of my custom apps, and to set a climate with @yvesracine ecobee device with a hold type, I need to send it:

setClimate("", home, [holdType:'indefinite'])

No idea, why that first null value is needed, but it is, and setting a blank string value for a parameter doesn’t seem to work in RM. Thanks!

Hi @swamplynx, the first value is the thermostat ID (serial #). If blank, the current thermostat is implied. So, you can replace the blank value by the thermostat ID when needed.



Ah! Got it. Thanks!

Let me heap some more praise for this wonderful app. I use it for nearly ALL my automation stuff and it works great.

Two questions, though – what would be the general procedure for a rule or condition for a motion sensor to turn the lights off if no motion for, say, 10 minutes after initial motion detected. I can’t seem to figure out how to program a delay test.

Second, is there a very general way to have a “slow dimming” effect? For my theater stuff I need to turn down four or five lights, but I’d rather they dim instead of suddenly go off. And the same for then they come back on. I can see how to do with with multiple logical switches and/or modes (and trigger one after another) but I was hoping there was an easier way.

Try this…

Condition - motion active
Rule - motion active
Actions for true - turn on light, pending off: cancellable: 10 minutes
Actions for false - leave blank

Here’s an example if a trigger for my office lights. Ignore the private Boolean part.

Slow dimming is a funny thing… The Switch Level capability (common to all dimmer switches) has a command setLevel(int,int) where the second parameter is the duration of the change. If that was the end of the story, it would be relatively easy to extend Rule Machine to pass an optional parameter for timed fades. Unfortunately, it’s not the end of the story. It seems that the duration feature is only supported by some dimmers (since it must be implemented in the device firmware) so it may or may not work for your application.

Perhaps @bravenel is feeling feisty and wants to add experimental support for this parameter, but I wouldn’t blame him if he wanted to avoid the potential for bug reports which he has no control over (though this wouldn’t be new… many thanks to Bruce for being patient and providing the “Killer App” ST has always needed, despite the problems outside his control!)

A totally different option for slow dimming is a custom smart app. Here is an example from a pretty cool developer which would work with any dimmer. I’d say that this approach is too complicated to embed directly in Rule Machine, but could be made to work with some effort.

You can play with this all you want using Custom Commands.


Good point! I had gotten stuck thinking custom commands are only for commands outside of normal capabilities… but that is certainly not the case. @Kelleytoons, I’d recommend you try making a custom command to poke at setLevel(int,int) on your dimmer and see if they support the timed fade. If it works, it’s probably the best way to accomplish your goal.

Can’t you just use periodic scheduling to adjust the dimmer x amount every x minutes until dim level = 0?

Take a look at my post above…

But here’s an edit. The post above caused the light to turn back on every minute. When you turn off a dimmer it doesn’t always set the dim level to zero. In my example I’m using a bulb.

The screenshot below added another condition. This way it only dims when the bulb is on. You can also add a virtual switch as another condition. That way you can use the light, but when the switch is on it will dim. Off, it would just be a bulb.

I’m not at home, but watching the activities feed on the bulb, this seems to work.

Okay, idiot me here can’t find where to enter Custom Commands (sigh – guys, I used to be a VERY good programmer, but that was back when dinosaurs ruled the earth, and in my retirement I feel SO old so many times).

It’s on the main page of Rule Machine (where all your rules are listed). Scroll down to Expert Features and create a custom command.

Oooookay, I see where I can assign the string parameters of “setLevel(100,50)” (say) to a virtual button, which I did. I do not see how to invoke this for any particular dimmer (there is the ability to “test” the command, which doesn’t really do anything).

I assume I’m missing some syntax as to how to actually structure this command to send it to a switch. Sorry for the idiocy on what is probably now OT but if you can even point me to another thread where this is more appropriate I’d appreciate it.

You could read the instructions in the first post above, for starters. It explains what to do.

Ops, I read what you were wanting and understood something else…

My bad…

But on a sidenote… What I posted above does work really well!

Adding a virtual switch to start and stop it would make a great dimming night light for the kids!

Okay, thanks, RTFM always helps.

Got it, but the bad news is my switches (all of which are GE dimmers) apparently don’t support that command). So back to the drawing board…

So, nothing in that’s new, but I’m starting to see Zigbee based bulbs (OSRAM Lightify) go wonky - ST platform claims they are controlling them, but zero control through RM, Smart Tiles, or the Android app.

Is anyone else seeing this?

1 Like

@guywmartin see Zigbee devices (bulbs, sensors, switches) randomly failing beginning March 2016

Thanks… checking that thread… tempted to replace all of those with Z-wave… but that may be a whole other set of issues… :frowning:

Yep, all z-wave device handlers use milliseconds for delayBetween. They broke that. They promised a fix first end of last week, then yesterday, now silence.

What was the email address again?