Rule Machine Feature Requests

I got excited after reading this. For now im using the smartapp “Smart Humidity Fan” and it does pretty much what your looking for. It would be nice to see something like this implemented into rule machine, but its easy enough just using the smart app. Well have to wait and see what Bruce has up his sleeve, I cant even imagine the work involved in this. Its pretty amazing watching the evolution of rule machine, its seems every week im able to get rid of another smartapp.

Also just getting caught up with this thread and I noticed on post #153 from @sgoncalves, he mentions a feature request for dimming over a period of time. Have you given any thought on this? I just found your “Slow Dimmer” and it works great as bedtime light for my son. Would It be hard to implement this into rule machine? Thanks for all your hard work and dedication to this community Bruce.

3 Likes

To grow off of this thought, would it be just dim over time? Or can a completion action be added as well. i.e. Fade nightstand from 99% to 0% over 10 minutes and upon completion turn x switch off.

Heck it could even cancelled, if motion from x is detected cancel dimming state. (Dreaming would allow the dim over time command to be either paused or restarted)

Just spitballing to see what sticks.

The first thing that would be needed is an adjust dimmer action, that changes the dimmer level by some +/- number. That’s the basic building block. I suspect that with that feature alone, one could construct a gradual dimmer out of rules and triggers. It wouldn’t be elegant, like a custom smartapp, but that could work.

I will look at adding the adjust dimmer action. Then we can go from there…

1 Like

Any way to add functionality for a trigger that fires every X minutes? Since the cloud is sporadic at best, it would be nice to set a trigger to evaluate one of my other condition rules say every 15 minutes. This way when ST cloud hicups during a truth change on one of my RM condition rules, it will come back and get it the next time. In case of time collisions on the cloud or whatever happens back on their servers that I have no clue what’s going on…lol

I’m interested in having a “musicPlayer” play a select-able track as an action. I’m currently using a custom command for each track I’d like to play, as I’ve outlined here.

@bravenel - I noticed a post from 17 days ago in the other thread, Rule Machine - Programming the Logic Sequence Assistance, where you mentioned there is no current way of capturing the current dimmer level within Rule Machine. Has there been any further thought adding this type of functionality?

My formal feature request would be something like this:

  • Being able to set the dimmer level of one or many dimmers equal to the dimmer level of a single dimmer

I can only imagine this isn’t as simple as I’m thinking but it could provide a lot of value to people with lots of dimmers. Also utilizing a virtual dimmer switch you could capture the original/ultimate dimmer level and return to this value after a period of time.

If I’ve missed other posts on this topic in one of the three different Rule Machine threads I apologize in advance!

Yes, I have thought about it. This is the function of the SmartApp called Dim and Dimmer. My own custom lighting app has the function as well. It allows one dimmer to cause others to be set to the same level.

I’ll look at the code and see if it’s reasonable to do…

This has now been implemented. See the main thread:

In the same way that in the expert features you have action “slots” - it may be useful to have this for normal actions - this way you’d be able to compound multiple actions that use the same device type without having to make multiple rules

Bruce, do you have any news about my request for the noise meter in the netatmo base device, whuch is using a Noise attribute. Or not worth doing because it’s not a specific capability

No, I don’t have much of an update. But, I do have an idea about a way to solve this. Give me a day or two. Remind me if you don’t hear back. There may be a way…

Thanks, will keep an eye out and remind you in a few days, much appreciated

1 Like

Its in the to do q, technically possible, we’re in the scheming phase.

How about a date range. I wrote a smartapp to
control a heat coil on a roof and made it come on between certain temps and a date range. The dates are entered in the format yyyymmdd so that you can convert to an integer to do comparison. I could use a rule and get rid of the app if it had that feature.

1 Like

I’m contemplating goal-seeking behavior in a Rule, and wondering if we could insert simple arithmetic in a set-level. Just + and - for integers, nothing overly complicated.
The thought was to be able to have a rule that manages a Vent (as Dimmer) that says something like IF Temp1 < 72 THEN Set Vent1 = + 10
i.e. open the dimmer to 10 more than the current value. This would allow the Vent to self-set the appropriate opening, and has other applications for lighting, etc.
Or have I missed a feature that’s already in this incredibly useful program?

It’s already there: Adjust dimmer.

ST does not have a way to input dates, so it would be a text input. I’m not doing it.

actually it is integer
and you could put an error block to warn if it is the wrong format.
but it is your smartapp so your call

}
section("Start after Date format (yyyymmdd)..."){
	input "startDate", "number", title: "Date?"
}
section("End after Date format (yyyymmdd)..."){
	input "endDate", "number", title: "Date?"
}

def today = new Date();

	def ltf = new java.text.SimpleDateFormat("yyyyMMdd")
	ltf.setTimeZone(TimeZone.getTimeZone("GMT${tzOffset}"))
	 
     String date1 = ltf.format(today);
     int intdate = Integer.parseInt(date1)
     def currSwitches = outlets.currentSwitch
     def onOutlets = currSwitches.findAll { switchVal ->
     switchVal == "on" ? true : false }
     
     if  (((intdate >= startDate) && (intdate <= endDate))
        && ((currenttemp > onSetPoint) && (currenttemp < offSetPoint)))
       {

Yes, you could do it with integers. I’m still not doing it.

Thanks - missed that one.
6^)