CoRE - Get peer assistance here with setting up Pistons

Need help adding a delay before this Piston speaks as the Speaker is getting clipped so only part of the sentence is heard. Unless there is a way to modify the sentence to make it delayed in the beginning. Below is my Piston.

sorry but can you please explain what you mean by adding a cancel?

Any ideas would be helpful, the clipping is annoying. Is there a symbol that would not be read by the speak command that I can add in front of the sentence to gain a delay?

The cancel on piston state or condition change would basically cancel the tasks if the condition or piston state that originally scheduled them changes.

So in your case in the BUT IF section of the piston if it is between sunset and sunrise and the camera changes to active then your lights will turn up to 100% and then after 5 minutes they will go down to 20%.

Now if you do not want them to turn down because motion may still be active then you would cancel on piston state or condition change so this would not happen.

After re-reading the suggested piston it will need to be reworked in order work correctly with my suggested canceling. So when you get your Arlo give that a try. If it does not work as you want then come back in and we can work up a new suggestion.

@joelw135 Have you tried anything?

I have tried to find a way to add the delay, but haven’t found a way. I would hate to build a whole new Piston. I was hoping there is some figures to add to the sentence that would be interpreted as a delay without being read. I tried !!! but it actually spoke that symbol.

Maybe try using periods or commas. I know I have seen this problem appear before. I want to say they solved it by adding something to the beginning like “Attention, Attention, whatever the message was”. So you might try that and then the clipping wont cut off important details.

OK I will give periods a try. It is really annoying. Thanks.

My wife often forgets to turn off our A/V receiver when she leaves the house or goes to bed for the night and I was wondering if there was someway to automate turning the receiver off, such as with a Goodnight routine or using our presence sensors (phone/fob). I am using the Yamaha Network Receiver smartapp and device handlers. Thanks!

No periods don’t work, it doesn’t speak at all. Any more ideas this is frustrating.

Space comma?

Hey all,

Morning Lights Piston hasn’t worked all week.
I did a rebuild in Core, refreshed it in the IDE, resaved it…

Any thoughts on this error in live logging?
6:35:01 AM: debug ║ Subscribing app 88654dfe-a9d6-4494-970e-64a1fe65da39 to recovery in about 3629 seconds
6:33:05 AM: info Waiting on events…

Thanks Rick

Thanks, I do have the My Contacts setup but don’t see in Core where I can push to just one device.

Please confirm. Do you mean a space or spaces. Or commas or both?

A space and then a comma, see if that works.

Edit, i looked at one of my pistons and I see that I had added a wait of 1 sec before the actual speak and resume task.

[quote=“eibyer, post:7420, topic:50187, full:true”]
A space and then a comma, see if that works.
[/quote

OK the space and comma seems to work. But time will tell as delays are common with Wifi speakers. Thanks.

Thanks for the response anyway :slight_smile:

I have managed to get it(Fibaro Dimmer 2) working by turning on expert mode in CoRE and now I have created a piston that is looking for a Scene number, and then acting on that.

Now is my next challenge - when I create logic such as

IF (BedroomDimmer2 Scene = 16 AND BedroomDimmer2 Switch = OFF) THEN (BedroomOutlet Switch = On AND BedroomDimmer2 Switch = On).

I then have a simlar logic for turning it off.

I have two issues here now:

  1. For S1 I seem to only get scene 13 & 12 firing, and only occasionally do I get 16.
  2. In my logic above, when I am looking for ‘Scene 16’, I need to find a way to stop it from firing again and again as the scene number might stay as 16.

Any help would be greatly appreciated.

You should see an option titled “Send notification to contacts” Then you will have the option to send via text or push and to which contact.

Wow!! How did I not see that…thanks!

I’m still pretty new and trying to figure out how to set up a piston to turn a light on randomly x number of times in a week. So, I’d have it turn on 3 random days throughout the week. Any help on how to do that?

Follow up to this issue. It didn’t make sense to me that I couldn’t have multiple triggers in the rule as long as I didn’t AND them together (I understand why multiple triggers can be an issue). I looked at some of my other Pistons and as I thought I have several Pistons that have multiple triggers that work flawlessly. What I did determine after multiple rebuilds of the Piston, tinkering with the actual CoRE code, etc. is that there are a couple of bugs related to DateTime conditions. I am not very proficient in Groovy and I have been pretty busy so I don’t know exactly where the bugs are or have a suggested fix.

The first bug happens while building the rule, when defining actions that set a variable not only does it have a tendency to change the value of the variable (which shouldn’t happen in my mind) but at least for DateTime variables (not sure about other types) it tends to also change the type from DateTime to String which causes any condition screens using the variable to crash because it tries to evaluate the condition so it can show the current result and it can’t because it expects a DateTime and gets a String.

The second bug is somewhere in the code for running the Piston. If there are DateTime variables involved things start getting flaky. I tried both local and global variables but that didn’t seem to matter. For example this simple Piston never works right sometimes the variable gets set but the trigger to turn it off never happens and other times the variable never even gets set.:

So the end result is that I rewrote the Piston using counters instead of DateTime variables (which bugs me because the time trigger is always counting down and firing every minute regardless of the state of the light and tends to show as “Past Due” a lot). I know the simpler way to do this is to simply do a wait (which is how I have other Pistons controlling lights working) but as stated earlier I want to be able to add “on” time using a double tap and if the light is already set to be on for a longer time I don’t want one of the triggers (garage door or presence) resetting it back to a shorter time. So here is my new Piston that has been working perfectly for about a week: