CoRE and Piston Rules Engine, first design steps

Tried it, no luck…

Maybe I didnt insert the last command at the right place…

Just to double check, you’re modifying the device type handler’s code and not CoRE’s code, right?

As it turns out, the DTH code is published in the ST db but not public, so he can’t really modify that DTH because he does not have the code…

Gotcha, bummer!

This is suppose to be a smart humidifier.

Anyone see anything wrong with it? It didn’t turn on the humidifier at 7:00pm even though the humidity was below 45%.

You used a trigger for the But If which makes the other conditions not subscribe to events anymore. Why not just get rid of the but if and just use a Simple piston where you use the ELSE Turn off?

IF
   Time is betwen whatever
   AND
   Humidity > x
THEN
  Using Humidifier...
      > Turn on
ELSE
  Using Humidifier...
      > Turn off

OK, how about this?

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?
http://docs.smartthings.com/en/latest/capabilities-reference.html?highlight=switch#thermostat

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!
-Jason

@jbrown

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

4 Likes

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!
Joern

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?

Thanks

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?