CoRE and Piston Rules Engine, first design steps

That should work, as soon as time reaches 7pm and humidity is below 47%, or as soon as humidity drops below 47% during 7pm-5am…

The only issue is when the humidity gets too high, it doesn’t turn off.

How about this? Forgive me, I’m still learning. :slight_smile:

Would it be possible to write a custom driver for the thermostat and assign one of the capabilities the thermostat is not using to send the desired command?

Hello, looking for a little help with a rule idea. I searched for a while and either can find what one looking for in the forums or it doesn’t exist yet.

Is there a way to create a rule that monitors the “connection” between the device and the hub? What I am specifically trying to get to is a smartapp that will send me an alert if a device hasn’t “checked in” for a while. I have a bunch of open/close sensors on doors and windows. I went to check to see if a door was opened at a specific time and there was no recent activity. I looked in the ide and saw it hadn’t been active for 2 months I went to check it and found out the battery was dead. The app showed it at 100%, but virtually none of my device report the correct battery levels (usually 100% or 77%) except my door locks.

I’d love to have it check all these devices daily to see if they are active or connected and if not report which one didn’t check in. At least then I would know to check to see if a battery died etc.

Thanks in advance for any help!


Try this

1 Like

Thanks! I’ll try it this evening.

1 Like

CoRE is now technically able to send HTTP requests to local equipment in the same network as the hub, via HubAction. The “Make web request” task has become smarter, being able to detect local IP requests and redirect them to the hub instead of executing the web request from the cloud. There is a limitation however, local requests are not able to return data, as the request itself is asynchronous - which means the response can be listened for by CoRE, but the data will arrive at a later time, not during the actual request. So far, no data is returned by a local HTTP request.

v0.3.15a.20160928 - RC - Fix for internal web requests


One question and maybe this was discussed here before. I tried to search for it but didn’t find anything.

I have a lot of pistons to control my HVAC. All works fine.

Is there a way to save the temperature for the cool point and the heat point each in one variable?
From this variable I would like to read the stored temperature and set it as the default heating and cooling point. This would be much easier and maintainable as to change all the individual temperatures in each applicable piston.

I tried to figure out but it doesn’t work. Maybe I set the wrong variable type or used the wrong action.

Thanks for any input!

Save attribute to variable.

Choose the attribute and the variable to save it to. And for standard attributes, the reverse is load attribute from variable

I’m sorry but I have no idea how to define a variable. Sorry for that.
Do I have to define a Global Variable for example “cooltemp” with the value 76*?

And can I load the value from this variable as the set cooling point?

Is that possible?


Just use the Save attribute to variable task and enter a variable name of your choice. It will be automatically created. If you need to access it from other pistons too, prefix the name with @ to make it a “global” variable.

thanks will try it out.

What is the different between the “Save to attribute” way and the “Global Variables” under Application info in the main menu?

Save attr to variable is a task, an action that happens upon the evaluation of a piston. Global variables are “pockets” in which tasks can store information for later use.

what have I to choose for Aggregation?

Sorry for all the question?

Can “IFTTT” endpoint data be parsed from the URL itself (without headers/body)?

I’m able to store the value into a variable but unfortunately can’t read it out and set it as a new cooling set point. :-/ Don’t what’s going wrong

Load attribute from variable?

Yes I tried to save the current cooling set point into a global variable by using "save attribute ‘coolingSetpoint’ to variable @cooltemp

I checked and saw the correct value (76*) in the menu Global Variables.

Then I set the Cooling set point manually at the thermostat to another value (for example 80*) and tried to set it back by "Load attribute from Variable, coolingsetpoint, Load from variable “@cooltemp”.

But unfortunately it doesn’t work.

Hi @ady624
I’m tried to set customer color values in a piston for my Osram bulbs.

If I put in RGB values I get this error in Live Log under that device:
java.lang.NullPointerException: Cannot invoke method multiply() on null object @ line 143

If I try a HSL value, and I copy a value from your CoRE smartapp code for example “Light Sky Blue” with the values
h: 203, s: 92, l: 75, which is a copy paste from the code.
Putting those exact values into the 3 fields for HSL, the commands are never fired against the bulbs! Meaning the bulbs/devices are not even shown in the top af the Live Log as if they were not a part of my piston.

Just FYI, I have other bulbs being set to Light Sky Blue in the same Piston, so I know the Piston actually is fired.

Do you have any idea what I’m doing wrong?