This piston does not subscribe to events


#1

I have another issue where my pistons keep going into a state where they do not see condition subscriptions. To fix the problem, I open the piston and save it. This works for 24 hours and after that, the piston goes back to a “The piston does not subscribe to events. Unless executed by other means, it will never run on its own”. The piston works totally fine when I edit, make no changes and save but after 24 hours, unless I do this again, the piston never runs.

I went so far as to change the if statement to “always subscribe” but didn’t make a difference. Here’s the screenshot of the piston clearly showing the condition subscribes to events and the error at the top of the page showing it doesn’t.


#2

Looking at what I can see from your piston it looks like it will only subscribe to the time event if the location mode is vacation.
Try either setting the location mode as a restriction or setting the subscription on the location mode to ALWAYS SUBSCRIBE instead of Auto.


#3

Thanks for the reply. Unfortunately this is happening with other pistons as well, this is only one example. I tried this first as a restriction and when that wasn’t working, I changed it to an “If” statement. I thought that due to the other post I made where Restrictions are not being properly processed, I’d try a different approach. I’ve left my location mode in vacation for over a week and events were never triggered unless I did the edit/save steps previously mentioned.


#4

Triggers should not be nested like that


#5

Have you tried it like this?


#6

Ok, I obviously posted the wrong example :wink:

How about this one? Looks pretty normal to me… (minus the error about not subscribing to events)


#7

Personally I would try this.

IF
Time Happens Daily…

THEN IF
Camera On
AND
Location is…

THEN
xxxxxxxxxx
DO
xxxxxxxxxx

Might work better.


#8

Do like @bobbles suggested.

Reason is the same as above. You shouldn’t have nested triggers. They should be the top level.


#9

I don’t see this as being a nested trigger. What I did was add a restriction at the top level of the piston. This seems to be the wrong approach and I should use “If and Then If” statements? I figured restrictions were the best approach as they would stop the trigger from firing. Using “If and Then If” statements will result in the piston firing and evaluating additional statements before terminating. Isn’t this less efficient/intuitive?


#10

Hello

I have the same issue. and cant resolve it.