[OBSOLETE] [BETA MILESTONE 1] CoRE (Community's own Rules Engine)

Can someone point me in the right direction that would allow me to vary the ‘on’ time of my boiler/central heating based on the temperature outside? (device=Smartweather). Basically, if it’s colder outside, the earlier I need the heating to come on for to reach the desired temperature (19 Celsius on Dining Motion Sensor)

If you can figure out a formula for delay, you can use Wait (variable). Something like one hour before desired time, set heat on, wait for 60 min - (desiredTemperature - outsideTemperature) * 3 min, set heat off.

FEATURE REQUEST: Add to dashboard… last time any action was taken for each piston.

Reason - I had my first issue with CoRE today since the beginning really. Two different pistons needed to be gone into and click DONE to get them working again.

I want to see if you can easily see which pistons haven’t fired recently.

Thanks - Kevin

1 Like

Hmmmmm… Anybody tenement when these problems started popping up with rule machine? ? ? ? ? ? ?

It’s been 3 months… ST is due for their quarterly meltdown!

I’m getting my popcorn… I love reading all of the lawsuit threads!


The threats of lawsuits get a bit over the top and the threads are entertaining, because you see the extreme of emotions on both sides. :slight_smile:

Either way, I can’t wait to rebuild and migrate to Core. Sort of looking for the time and motivation to do so. I won’t be looking forward to another such failure… if things keep going this way and not improving, I may never get over to Core… I want to, I just don’t want to deal with the frustration of investing so much time and care into engineering on my end only to have no control of the outcome.


Hi @ady624

Still got a problem with a piston I cannot remove. Getting red ST error when I try to access the Piston (which is working in the background) “you are not authorized to perform the requested operation” and in the logs :

Any suggestions please ?

I had exact same error when trying to remove a device from smartthings that wasn’t functioning properly. I had to create a ticket with smartthings and one of their team members was able to go in there and remove it for me. Other than that, I tried everything I could possibly think of to resolve the issue to no avail.

Yes. I had this with a device once and had to get ST support to clear it out but not experienced it with a CoRE Piston (or seen anyone else with the issue). Hoping Adrian can advise with simple fix or I’ll have to wipe everything and start again. That’s the delight of a Beta version :wink:
But we all have to thank @ady624 (and others) for their brilliant work on this engine. The power is amazing.

EDIT : Ady explained that you can remove a problematic piston from the IDE. Go to ‘Location’ then ‘installed smartapps’ then hit the ‘Edit’ just bvelow the Home pic and then scroll down to find your faulty Piston and remove it.

1 Like

Does not look like a CoRE error - CoRE gives a bit more details, as to which function failed. You can remove a piston if you drag left on the piston name, a Delete button appears…

Swiping doesn’t seem to work in Android app. Remove button does nothing in the Piston

@ady624 CoRe is really awesome! I’m playing with the restriction : Only execute if all switches are off and I think there is a problem.

I created a virtual Switch.
I created a piston with IF motion changes to active then open light, else wait 1 min, turn off. Restriction only execute if all switches are off.

I turn on the virtual switch and the light goes on and off after 1 min. It shouldnt. After 4-5 mins, it’s starting to work, so the light doesnt open. If you have any ideas…


1 Like

I just noticed that the “Set Track” task doesn’t allow you to specify the track String argument.

This is unrelated to the problem I reported above, but technically the Music Player capability doesn’t have that command anymore because ST decided to throw backwards compatibility out the window and remove some of the commands that have been in the documentation for 6+ months.

Instead of leaving the existing capability alone and creating a new music player related capability that has just the commands that they want, they removed them from the existing capability and added them to the new “Tracking Music Player” capability

In the latest version, there is an option at the bottom of restriction to prevent actions that have already been scheduled to execute during times when the piston is restricted. By default, if an action has been scheduled (during unrestricted runs) then it WILL execute when its time come.

Does documentation suggest a string parameter and I’m missing it? Must be a bug then…

Would it be possible to add presence as a rule restriction? I’m sure it’s possible to do this already, but could it also be at the bottom near the other “piston restrictions” that start with only if ?

I also understand i could create a simulated switch to follow presence state and do it now.


Set the track to be played (does not play the track)

@ady624. I made an action with 2 wait tasks… each one restricted by different modes. The current mode is day and it is showing the countdown timer as adding the two wait times together (93 minutes) instead of using only the unrestricted wait time (90min).

Hope you have a good extended weekend.

I’m wondering if I’m missing something as I remember an “I know algebra” toggle within the variables menu. Has this been moved/ enabled or removed completely?

I’m looking for a way to create a variable that is the result of an expression. Say AVG multiple temp transmitters or convert RH & temp to DP.


You can do operations when you set the variable.

1 Like

That seems like a great way to combine custom variables within a piston but what about already defined tags (variables)?

(Bedroom1.temp+familyroom.temp)/2=Temp.avg (Custom Global Variable name)

Using that expression to set the custom variable allows me to use the avg temp within any piston. This is especially useful as a condition.

CoRE in its self gives you an Intutive guided process to creating boolen expressions and it’s fantastic for that! What I’m saying is add a feature to create your own variables using expressions, like the one above.

Let me know if I’m not making any sense.