CoRE - Get peer assistance here with setting up Pistons

One way to do this…

In the first if, since each trigger/condition is separated by an or, use individual actions.

Go to each condition, scroll down to when true, and put the notification there. You will then only get the notification when that particular condition is true.

That may lower the number of them… I’m thinking here.

Which ones are you getting the most? Open or close?

It seemed like it was notifying repeatedly. I.E. the open condition would be true, and I’d get notifications every few minutes (like every 10/15 minutes). I’d have to unpause and rewrite the piston (because of course now it’s 65 and raining!) Ideally, I just want one when any are true and no others, but understand the potential gotcha with how I’ve written the piston.

1 Like

Ok… Hold on

Are you getting multiple opens in a row? Or is it…

Open close open close open close?

Was mostly multiple opens. I had one or two open close open close, but figured that was temperatures butting heads.

Ok, try this… Not positive it’s perfect… But ad the variables, put the first IF in a group, add the +2, ahs out a range on the temps.

Sorry about the pic. Pressed for time today.

@wipeout944

1 Like

I don’t think I understand the actions in Core for thermostats.

*heatingSetpointUp() seemed like a winner that would increase the heating set point. But as below, nothing is happening.

When I choose that option it asks for a Parameter. I had hoped this would be the indicator of how much to adjust it. I tried both Number and Decimal as the type, and gave it a Parameter Value of 1. thus hoping it would bump the set point by 1 degree.

So wrong action? Or is there something else amiss in this piston? Thanks!

No worries, the pic makes sense. Recreating my piston real quick…

You don’t need to initialize it. Goo to set variable and your the name @temp

Fit the first if condition, as a group and put the conditions in that… Do not use the trigger, make then ask conditions. Our the and variable outside of the group.

Eventually that came to me. Playing with it now…[quote=“bamarayne, post:2271, topic:50187, full:true”]

You don’t need to initialize it. Goo to set variable and your the name @temp

Fit the first if condition, as a group and put the conditions in that… Do not use the trigger, make then ask conditions. Our the and variable outside of the group.
[/quote]

1 Like

Hi all,

I need some quick advice setting up a routine that happens every other week on Wednesday. We’ve got a cleaning crew that comes to clean the house every 2 weeks and I want to prepare the house for their arrival with a routine.

Right now, I have a piston set up for every Wednesday between sunrise and sunset when presence sensors are absent to trigger a cleaning mode, but I need to make it every other Wednesday. Do I need to set up some sort of custom variable?

use time trigger happens at custom time (or any predefined time for that matter), then instead of every day, choose every number of weeks, choose 2 and select the day of the week Wednesday. Voila!

1 Like

Thanks @ady624 - exactly what I was looking for! I did see this option, but never selected it to see that I could also select the day of the week. Thanks for the quick reply! :grinning:

2 Likes

I’m having a problem understanding the groups and how to set them up properly. I end up getting lost when I get a couple groups deep.

Here is what I want to accomplish:

If Garage Door is open
Then

  • Fan Off
  • Wait 3 Min
  • Garage Thermostat Off

Else IF
If Garage Door is closed
AND
(Garage Temp is less than 35F

Then 

  • Set Garage Thermostat to Heat
  • Wait 10 Seconds
  • Set Garage Thermostat setpoint to 40F
  • Fan On)

OR

(Garage Temp is greater than or equal to 40F

Then

  • Set Garage Thermostat to Heat
  • Wait 10 Seconds
  • Set Garage Thermostat setpoint to 35F
  • Fan Off)

Here is what I have so far.

1 Like

Thanks…this is appearing to work. I added an OR to the first IF group for if my weather station is, well, wet (who wants their windows open when it’s raining!). That just fired, with no additional alerts. I’ll keep an eye on it as the weather is moving around the next few days, but I think that solved for it. I knew there was a way, just not how to do it!

1 Like

As well all know, @ady624, is a god! I now have it all working with the following.

*heatingSetpointUp() - No parameter just bumps it up by 1 degree.
*heatingSetpointDown() - No parameter just bumps it down by 1 degree.
*levelUpDown (also just Up and just Down) - one parameter, the temp delta (positive to go up, negative to go down)
1. If parameter set to Number it bumps it up or down 1/2 a degree
2. If parameter set to Decimal it bumps it up or down 1 a degree

1 Like

how does the “Stays away from” functionality work. ex i want to change the mode if after a routine runs and there is motions within a specific time so i was going to do this.

If Goodbye runs
And
Any MOTIONSENSOR stays away from inactive for 20 mins
then
Change Mode

end goal
If me and my wife leave and goodbye runs it turns the thermostat up, after that if we have left a kid home and there is motion i want it to change the mode and turn the thermostat back down to a comfortable level

I think my problem was the platform being poky the day I reprogrammed everything. I turned off command optimizations for my thermostats (they run long for sure, un-optimized DTH) and things are much better. @ady624, ignore my chatter about TOS and restrictions, I think I understand my issue, and it was my issue. :smiley:

Ok, now it never starts the 5 min count down.

I changed it to latching only when state change.

Ok, you have it as a latching… What’s the other half?

Looking at this, make it a simple or basic piston. Place the THEN under when true in the new piston.

Looking at this, the latching piston will not flip flop therefore it never does anything.