A piston for the morning is failing by going off at night


#1
  1. Give a description of the problem
    This piston seems to ignore the time condition of between 7am - 11am

1 What is the expected behavior?
I’ve created a piston designed to perform a series of functions when either (a) the time is 7:00 am and there is school or; (b) there is no school, the time is between 7-11am and, my wife gets out of bed.
2 What is happening/not happening?

The piston went off at 10:22 pm last night when my wife got out of bed.

  1. Post a Green Snapshot of the pistonimage

  1. Attach any logs (From ST IDE and by turning logging level to Full)

    9/5/2017, 10:17:33 PM +783ms
    +1ms ╔Received event [Helen’s Heater].contact = open with a delay of 193ms
    +235ms ║RunTime Analysis CS > 21ms > PS > 59ms > PE > 155ms > CE
    +245ms ║Runtime (48762 bytes) successfully initialized in 59ms (v0.2.0e6.20170830) (242ms)
    +246ms ║╔Execution stage started
    +266ms ║║Comparison (boolean) false is (boolean) false = true (3ms)
    +268ms ║║Condition #68 evaluated true (11ms)
    +284ms ║║Comparison (time) 80254052 is_between (time) 25200000 … (time) 39600000 = false (10ms)
    +286ms ║║Condition #82 evaluated false (17ms)
    +287ms ║║Condition group #67 evaluated false (state did not change) (31ms)
    +289ms ║║Condition group #61 evaluated false (state did not change) (34ms)
    +301ms ║║Comparison (boolean) false is (boolean) true = false (3ms)
    +303ms ║║Condition #106 evaluated false (9ms)
    +305ms ║║Condition group #84 evaluated false (state did not change) (11ms)
    +309ms ║╚Execution stage complete. (63ms)
    +323ms ╚Event processed successfully (322ms)


#2

The Piston fired because of Contact Sensor 11 (Helen’s Heater?) contact was opened. Because everything else was false, nothing happened.

Reading this might help - Triggers


#3

Since there is a subscription on the contact sensor (note the lightning bolt) the piston will evaluate whenever that contact sensor has an event. It will also evaluate everyday at 7 am.

Even though a piston is evaluating does not mean it is going outside of any restrictions. Unless you are saying that it performed the actions in that first IF?

If this is the same screenshot for when it evaluated then you can see the trace bars. The red shows that those statements overall evaluated to false. Green would have been true. Blue shows what was evaluated in whole.


#4

So it would seem the solution would be to restrict the ‘Actions’ to performing only between 7:00 a.m. and 11:00 a.m. as such below?


#5

You might not have to do that. Please reply to this question posed earlier.


#6

I apologize, yes. It performed the actions in that first IF. When School was false and contact sensor changed to open BUT the time was NOT between 7am - 11am the action still triggered.


#7

Was your logging level full when you copied those logs? Because I don’t see any actions getting executed. And this shows it evaluated the time correctly as false:

Then it showed the group as a whole is false:

But there is nothing in the logs about changing the mode or sending a push or opening a dimmer??