CoRE and Piston Rules Engine, first design steps

With 30 second reporting interval, it seems to be within 30 seconds.

Would ā€œpower stays above 10W for 1 minuteā€ correctly identify when the computer is on? Also, wouldn’t the monitor being on automatically ā€œhintā€ that the iMac is on? Wouldn’t the monitor auto-shut off if iMac is shut down?

This is the issue I’ve come across, above xxW for x minutes keeps resetting with every power reading, even if the value didn’t change, range worked, like 0-100w for not in use and 101-3000 for in use. That seems stable with two different pistons I’m using right now. I haven’t had time to log this while testing though. And one of my power meter’s works perfectly fine with just less than xxW even if it takes readings between actions.

Edit: ie I think it’s related to how the DTH’s report or something…

1 Like

You’ve just given me an idea to conduct some more tests with the motion sensor. Maybe place a conditional on whether or not the motion sensor has been active in the past * minutes.

As far as conditionals go. Do you suggest it is best to separate different scenarios into different pistons? Or combine them into a single piston? Using Aeon MultiSensor 6, the firing of the piston seems to be just a tad slower than using the Smart Light app.

I tried setting up pistons for that as well, but for whatever reason it was still activating the lights when the iMac decides to do its background thing…I think they marketed it as Power Nap.

I’m also having issues with setting my Blink Camera’s to enable and disable with mode changes

If i create a single Piston, some of the cameras do not change state. I have to create one piston for each camera

thanks

I’ve not revisited this and am using @StrykerSKS code in the interim. To be clear it does not have SHM capability but it does have Mode or Routine capability.

I would like to directly drive from CoRE and plan to take another look at this soon. If I get it going i’ll send you a PM

thanks… i’m using the official ecobee integration, but can switch to the other code if needed…

With Rule Machine no longer available, what are people using in place of it? I was planning my ST automation around Rule Machine so now that it’s gone I’m unsure how to get the functionality I was planning on it providing. I looked at IFTTT but it was way to unreliable in terms of not triggering when it should And even then it would be very limited (for instance only allowing on trigger and one action). Thanks!

You are literally commenting on the thread which is the answer to your own question :wink:

6 Likes

Start with thread title.

1 Like

I was just about to answer that, was just looking for something witty…

Well, that’s embarrassing. :flushed: I reviewed all the links at the top of this thread, but I could not find any info/guide/notes on getting started, how to install it, how to build the rules etc. Is this information summarized or posted somewhere so folks do not have to read through thousands of posts? Thanks I’m excited to hear there is a community alternative!

Install the code from GitHub and get your feet wet with simple pistons (rules), then check out CoRE - Get peer assistance here with setting up Pistons for help in creating more complex ones.

Aaah, I don’t like this change they made to the forum navigation. Grrrr I can’t tell what it is but something changed lol.

Edit: Here’s the GitHub link: https://github.com/ady624/CoRE

Main thread is here [OBSOLETE] [BETA MILESTONE 1] CoRE (Community's own Rules Engine)

@ady624 you may have posted this already, so I may have missed it, but could you please explain the logic behind the TCP and Cancel on piston change. I know what the four TCP are and kind of guess when to apply them but not really. And being a new thing, I am having hard time wrapping my head around it.

FYI, if you are having technical difficulties, here is why, in case you didn’t get the memo:

Investigating
Some users in North America are unable to access the SmartThings mobile app and Developer Tools, https://graph.api.smartthings.com/. We are working to address the issue and will provide updates on our progress here.

Thanks! I got the code from the GitHub. But in looking through the threads, I don’t see any information on what I am supposed to do with it. ST is down right now, but I am guessing I log in via a web browser and can create my own SmartApp with this code? Then once I do that, what’s the next step? Is there a guide or any info that explains how to create rules, their syntax etc?

TCP (Task Cancellation Policy) works in conjunction with the piston state. Individual actions will eventually get a TCP of ā€œCancel on condition state changeā€. This feature allows a task to be cancelled if the truth state that led to the task being scheduled changes. For instance:

IF condition is true
THEN reset the world

TCP would have absolutely no effect on the above example, because the task is scheduled and executed immediately, so by the time the piston state may change, there is no task to cancel. But consider this:

IF condition is true
THEN wait 10 minutes, reset the world

The world now waits 10 minutes before it gets reset. If TCP is enabled and the piston flips states (aka condition is false), then the now pending task to reset the world will be cancelled. If TCP is set to None, nothing happens to the ā€œreset the worldā€ task and it will eventually execute when the 10 minutes have passed. TCP is set to None by default.

In contrast, TOS (Task Override Scope) will cancel the ā€œreset the worldā€ task only if and when it asks something else of the world:

IF condition is true
THEN wait 10 minutes, reset the world
ELSE save the world

If the piston turns true, reset the world is scheduled in 10 minutes. If within these 10 minutes the piston turns false, the ā€œsave the worldā€ action is executed. If TOS is set to Local or Global, the ā€œsave the worldā€ action will cancel the ā€œreset the worldā€ action because they both want something from the same device, world in this case. If you set the TOS to ā€œActionā€, then the scope of the override is limited to only the same action. That is, if the piston turns to false and back to true during the same 10 minutes, then the original reset the world task is cancelled and a new one is scheduled in the next 10 minutes. TOS is set to Local by default, which means that when an action is scheduled, all tasks for the same device(s), regardless of which action has scheduled them, gets cancelled and replaced with the new tasks. If you want the tasks to add to the existing ones, set TOS to None.

Hope this helps.

#documentation

5 Likes

This thread explains how to install it…