[Released] Rule 4.0


I like that as it is kind of a END-IF but for repeating so I expect people will understand that more due to the similaritys.


Not for me. Maybe it's the receiver. I can't have tried receiving it via IFTTT and via WebCoRE on ST. The only thing that doesn't work is anything to do with time.

Here's another url i tried and got nothing:

https://graph.api.smartthings.com/api/token/TOKEN/smartapps/installations/HUBID/ifttt/test?msg=7:19 PM

If i substitute in TIME for the actual time it is received no problem. If i remove the colon, it is received no problem. If i format with no space, it is no problem. But when I add the space it doesn't work. And that is the way that HE is formatting the time that is being sent to me 07:27 PM. So, when it is passed to the URL encoder, is the space removed?


It looks like this in the string: 04:08 PM. I don't know what the URL encoder does with it, but I will look into it.

You can test all of this with global variables. Put in the strings you want to test with into string gv.

Also, you can use this to see what's being sent: http://ptsv2.com


@bravenel I think I have found a bug with editing conditional statements

If you go to edit a IF condition, when you have selected the condition to edit, the first part before the new AND is wiped out. But if you then save the edit and come out and back to top level rule, the new change you added isn’t there in the rule anymore (the condition that disappeared but back):

This is on


This is an ambiguous statement. Are you referring to editing an IF-THEN action, or editing the Conditions? If the former, what editing did you do? All you can do when editing an IF-THEN action is to add more terms to it.

There is some problem here, with editing IF-THEN. Hard to describe it. I will investigate. It seems to work under some circumstances and not others.

If you go to edit an IF-THEN, and you don't get this below, then something is off the rails.


Sorry, it’s editing an action when trying to add a new AND statement


I'm going to continue to dig into this. I thought it was working correctly in all circumstances, but something can throw it off...


I’ve taken a video but can’t upload to here. It’s 30 seconds long and the big is repeatable each time I try the same thing


Delete the IF-THEN, and re-insert it. See if it still blows the same error when you try to edit it (as shown in your screenshot above).

Of course, the work-around for this problem is to just delete the IF-THEN, and add it back the way you need it to be, without editing it. I know something is wonky, but it's subtle and I haven't figured it out yet. This one part of Rule-4.0 (editing an expression) is tricky, to say the least. I only got it working a few days ago, and must have missed something.


The workaround is fine and not causing the error. Seems to be only when editing actions. Just wanted to report it.
I’ve managed to upload the video to the Facebook group if you want to take a look



When I use %device% in this rule, the announcement is Hey Triggered... Not Hey Rick or Hey Tammy as I would have expected.

Any workaround?

Edit: I just checked another rule from earlier today, It inserted the device name as expected.


I believe the problem is that %device% relies on the associated device being the trigger. Since this rule is triggered by a certain time only, it won't work.

The work around would be to use a a conditional action specific to each presence device, so you'd have to actions one for Tammy, and one for Rick, and possibly a third with both included.


Hey @halfrican.ak

Yes I think you are right, I just ran into this in another rule, will need to investigate this more, TY



OK, I may be lost but I think we're missing an option... With RM3.0 I could set a rule to be "True" if any of my selected presence devices were "present". Now in RM4.0 the only choices are changed, arrives and departs.

My old rule will turn on my office fan if the office temp is above 81 but only if someone, anyone, is present. Seems like with RM4.0 I can only have it to turn on the fans if anyone arrives or leaves. What if "everyone" is already here?

My RM3.0 Rule:


For an event, the words are "arrived" and "departed". For a condition the words are "present" and "not present". So it depends on the context which word you will see. Both sets refer to the same underlying capability.

See this post above:


Thanks! I'll def try that tool.

@bravenel So, I tried that tool. When I have %now% in the link, it receives nothing. When I have just text in the link, it works perfectly. The link I'm sending info to is:


And that doesn't give me anything. Just sending text works.

However, it formats it correctly when I send it in a POST message. I set HE to send "message=%now%" in the body of a POST encoded for forms data and it pulls out the 10:31 PM correctly as a value for message. I will see if I can get it set up to send via POST to IFTTT instead of using GET. I have a feeling that IFTTT only supports receiving GET messages though.


Got it! Just had to think slower. lol



At message 119, @dan.t suggested the repeat was needed prior to the notice and the end repeat after. Well this never ends even after the contact was closed

It repeats like clockwork until I paused the rule

Edit: Here is another log which show an error which I think might be related to the constant repeat.

Edit: It almost seems like once the contact is open, it just keep looping through the actions and never reconsiders the state of the trigger. Is it necessary to also put the trigger in the IF statement to ensure it is considered on each pass through?

Edit: Nope that didn't work, still repeating until I pause the rule. I even put in an Else before the End repeating and notice in the log above, it is skipping the else and the end repeating

Edit: This works just fine in RM 3



Part of the problem is that you are using "open" as a trigger, thus closing it doesn't cause the rule to be re-evaluated.

The proper trigger would be "changed"

The actions need to be if xx open then repeat "whatever" (with stop option selected)

else stop repeat actions

This doesn't guarantee the errors go away, but at least you won't have the continuous repeats.


I can't seem to find running a custom command as an action. I see "Run Custom Action" but my custom commands aren't listed there.

I just want to do a simple switch turns on, custom command runs.