Send SMS once, not every value change


#1

1) Give a description of the problem
When the wind speed changes it resends an SMS everytime.

2) What is the expected behavior?
I only want it to send me an SMS once with the wind speed when it is below the max threshold. Im ok with the repeated SMS when the wind speed is above its max mph.

3) What is happening/not happening?
the piston sends me an SMS everytime the wind speed changed. When the wind speed is below the max threshold, i only want it to send me 1 message.

4) Post a Green Snapshot of the piston

5) Attach logs after turning logging level to Full

10/14/2019, 8:55:56 AM +135ms
+0ms ╔Starting piston… (v0.3.10f.20190822)
+374ms ║╔Subscribing to devices…
+419ms ║║Subscribing to Halloween Interlock.switch…
+433ms ║║Subscribing to 1527 Cedar.:1f7f71fa4ad00137be8a9bf6970807be:.@WindSpeed
+443ms ║║Subscribing to 1527 Cedar.:1f7f71fa4ad00137be8a9bf6970807be:.@MaxWind
+510ms ║║Subscribing to Outdoor-4…
+511ms ║║Subscribing to Outdoor-5…
+512ms ║║Subscribing to Outdoor-1…
+513ms ║╚Finished subscribing (154ms)
+539ms ║Comparison (enum) on is (string) on = true (2ms)
+546ms ║Comparison (dynamic) 8 is_less_than (dynamic) 20 = true (1ms)
+552ms ║Comparison (string) October is (string) October = true (1ms)
+558ms ║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+622ms ║Comparison (time) 32156705 is_between (time) 1571093760000 … (time) 1571053500000 = false (13ms)
+627ms ║Cancelling statement #78’s schedules…
+637ms ║Requesting time schedule wake up at Mon, Oct 14 2019 @ 6:56:00 PM EDT
+658ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 6:56:00 PM EDT (in 36003.208s)
+672ms ╚Piston successfully started (672ms)
10/14/2019, 8:42:24 AM +868ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 69ms
+225ms ║RunTime Analysis CS > 20ms > PS > 154ms > PE > 51ms > CE
+228ms ║Runtime (41913 bytes) successfully initialized in 154ms (v0.3.10f.20190822) (227ms)
+229ms ║╔Execution stage started
+239ms ║║Comparison (enum) on is (string) on = true (1ms)
+241ms ║║Condition #37 evaluated true (7ms)
+241ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+246ms ║║Comparison (dynamic) 8 is_less_than (dynamic) 20 = true (1ms)
+248ms ║║Condition #15 evaluated true (4ms)
+253ms ║║Comparison (string) October is (string) October = true (1ms)
+254ms ║║Condition #22 evaluated true (5ms)
+258ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+260ms ║║Condition #27 evaluated true (4ms)
+261ms ║║Condition group #21 evaluated true (state did not change) (11ms)
+262ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+264ms ║║Cancelling statement #75’s schedules…
+270ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+271ms ║║Executed [Outdoor-4].on (4ms)
+277ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (3ms)
+278ms ║║Executed [Outdoor-5].on (5ms)
+321ms ║║Comparison (time) 31345149 is_between (time) 1571093760000 … (time) 1571053500000 = false (8ms)
+322ms ║║Condition #78 evaluated false (41ms)
+323ms ║║Cancelling statement #78’s schedules…
+331ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 6:56:00 PM EDT
+333ms ║║Condition group #77 evaluated false (state did not change) (52ms)
+335ms ║║Cancelling statement #79’s schedules…
+342ms ║║Skipped execution of physical command [Outdoor-1].off([]) because it would make no change to the device. (3ms)
+342ms ║║Executed [Outdoor-1].off (5ms)
+345ms ║╚Execution stage complete. (117ms)
+346ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 6:56:00 PM EDT (in 36814.786s)
+358ms ╚Event processed successfully (358ms)
10/14/2019, 8:12:24 AM +604ms
+1ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 73ms
+439ms ║RunTime Analysis CS > 21ms > PS > 363ms > PE > 54ms > CE
+441ms ║Runtime (41913 bytes) successfully initialized in 363ms (v0.3.10f.20190822) (440ms)
+442ms ║╔Execution stage started
+453ms ║║Comparison (enum) on is (string) on = true (1ms)
+455ms ║║Condition #37 evaluated true (8ms)
+456ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+461ms ║║Comparison (dynamic) 7 is_less_than (dynamic) 20 = true (1ms)
+462ms ║║Condition #15 evaluated true (4ms)
+467ms ║║Comparison (string) October is (string) October = true (1ms)
+469ms ║║Condition #22 evaluated true (5ms)
+473ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+475ms ║║Condition #27 evaluated true (5ms)
+475ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+476ms ║║Condition group #10 evaluated true (state did not change) (19ms)
+478ms ║║Cancelling statement #75’s schedules…
+485ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+486ms ║║Executed [Outdoor-4].on (4ms)
+491ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (1ms)
+492ms ║║Executed [Outdoor-5].on (3ms)
+535ms ║║Comparison (time) 29545099 is_between (time) 1571093760000 … (time) 1571053500000 = false (9ms)
+536ms ║║Condition #78 evaluated false (42ms)
+537ms ║║Cancelling statement #78’s schedules…
+545ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 6:56:00 PM EDT
+547ms ║║Condition group #77 evaluated false (state did not change) (53ms)
+549ms ║║Cancelling statement #79’s schedules…
+556ms ║║Skipped execution of physical command [Outdoor-1].off([]) because it would make no change to the device. (3ms)
+557ms ║║Executed [Outdoor-1].off (5ms)
+560ms ║╚Execution stage complete. (118ms)
+561ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 6:56:00 PM EDT (in 38614.836s)
+570ms ╚Event processed successfully (569ms)
10/14/2019, 7:47:24 AM +671ms
+0ms ╔Received event [1527 Cedar].execute = recovery with a delay of 78ms
+226ms ║RunTime Analysis CS > 21ms > PS > 153ms > PE > 51ms > CE
+228ms ║Runtime (41882 bytes) successfully initialized in 153ms (v0.3.10f.20190822) (227ms)
+229ms ║╔Execution stage started
+240ms ║║Comparison (enum) on is (string) on = true (2ms)
+241ms ║║Condition #37 evaluated true (8ms)
+242ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+248ms ║║Comparison (dynamic) 5 is_less_than (dynamic) 20 = true (1ms)
+249ms ║║Condition #15 evaluated true (5ms)
+255ms ║║Comparison (string) October is (string) October = true (1ms)
+256ms ║║Condition #22 evaluated true (6ms)
+261ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+262ms ║║Condition #27 evaluated true (5ms)
+263ms ║║Condition group #21 evaluated true (state did not change) (13ms)
+264ms ║║Condition group #10 evaluated true (state did not change) (20ms)
+266ms ║║Cancelling statement #75’s schedules…
+273ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+274ms ║║Executed [Outdoor-4].on (4ms)
+279ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (1ms)
+279ms ║║Executed [Outdoor-5].on (3ms)
+323ms ║║Comparison (time) 28044954 is_between (time) 1571093760000 … (time) 1571053500000 = false (9ms)
+324ms ║║Cancelling condition #78’s schedules…
+325ms ║║Condition #78 evaluated false (42ms)
+327ms ║║Cancelling statement #78’s schedules…
+335ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 6:56:00 PM EDT
+338ms ║║Cancelling condition #77’s schedules…
+339ms ║║Condition group #77 evaluated false (state changed) (57ms)
+341ms ║║Cancelling statement #79’s schedules…
+356ms ║║Executed physical command [Outdoor-1].off() (11ms)
+357ms ║║Executed [Outdoor-1].off (13ms)
+360ms ║╚Execution stage complete. (131ms)
+361ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 6:56:00 PM EDT (in 40114.968s)
+379ms ╚Event processed successfully (379ms)
10/14/2019, 7:12:24 AM +587ms
+1ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 75ms
+188ms ║RunTime Analysis CS > 29ms > PS > 109ms > PE > 50ms > CE
+191ms ║Runtime (41911 bytes) successfully initialized in 109ms (v0.3.10f.20190822) (188ms)
+192ms ║╔Execution stage started
+201ms ║║Comparison (enum) on is (string) on = true (1ms)
+202ms ║║Condition #37 evaluated true (7ms)
+203ms ║║Condition group #36 evaluated true (state did not change) (8ms)
+208ms ║║Comparison (dynamic) 5 is_less_than (dynamic) 20 = true (1ms)
+209ms ║║Condition #15 evaluated true (4ms)
+214ms ║║Comparison (string) October is (string) October = true (1ms)
+216ms ║║Condition #22 evaluated true (4ms)
+220ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+221ms ║║Condition #27 evaluated true (5ms)
+222ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+223ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+225ms ║║Cancelling statement #75’s schedules…
+231ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+232ms ║║Executed [Outdoor-4].on (4ms)
+236ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+237ms ║║Executed [Outdoor-5].on (4ms)
+276ms ║║Comparison (time) 25944827 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+277ms ║║Time restriction check passed
+279ms ║║Condition #78 evaluated true (39ms)
+280ms ║║Cancelling statement #78’s schedules…
+287ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+289ms ║║Condition group #77 evaluated true (state did not change) (50ms)
+291ms ║║Cancelling statement #81’s schedules…
+298ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+298ms ║║Executed [Outdoor-1].on (5ms)
+301ms ║╚Execution stage complete. (110ms)
+302ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 1955.111s)
+321ms ╚Event processed successfully (321ms)
10/14/2019, 5:12:24 AM +725ms
+1ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 67ms
+222ms ║RunTime Analysis CS > 21ms > PS > 150ms > PE > 51ms > CE
+224ms ║Runtime (41911 bytes) successfully initialized in 150ms (v0.3.10f.20190822) (223ms)
+225ms ║╔Execution stage started
+235ms ║║Comparison (enum) on is (string) on = true (1ms)
+237ms ║║Condition #37 evaluated true (8ms)
+238ms ║║Condition group #36 evaluated true (state did not change) (8ms)
+242ms ║║Comparison (dynamic) 7 is_less_than (dynamic) 20 = true (1ms)
+244ms ║║Condition #15 evaluated true (4ms)
+249ms ║║Comparison (string) October is (string) October = true (2ms)
+250ms ║║Condition #22 evaluated true (5ms)
+254ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+256ms ║║Condition #27 evaluated true (5ms)
+257ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+258ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+260ms ║║Cancelling statement #75’s schedules…
+266ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+267ms ║║Executed [Outdoor-4].on (3ms)
+272ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (3ms)
+273ms ║║Executed [Outdoor-5].on (4ms)
+317ms ║║Comparison (time) 18745001 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+318ms ║║Time restriction check passed
+319ms ║║Condition #78 evaluated true (43ms)
+320ms ║║Cancelling statement #78’s schedules…
+328ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+330ms ║║Condition group #77 evaluated true (state did not change) (55ms)
+332ms ║║Cancelling statement #81’s schedules…
+339ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+339ms ║║Executed [Outdoor-1].on (4ms)
+342ms ║╚Execution stage complete. (117ms)
+344ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 9154.932s)
+366ms ╚Event processed successfully (366ms)
10/14/2019, 4:42:24 AM +518ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 76ms
+273ms ║RunTime Analysis CS > 31ms > PS > 184ms > PE > 58ms > CE
+276ms ║Runtime (41911 bytes) successfully initialized in 184ms (v0.3.10f.20190822) (275ms)
+277ms ║╔Execution stage started
+289ms ║║Comparison (enum) on is (string) on = true (1ms)
+291ms ║║Condition #37 evaluated true (9ms)
+292ms ║║Condition group #36 evaluated true (state did not change) (10ms)
+298ms ║║Comparison (dynamic) 6 is_less_than (dynamic) 20 = true (1ms)
+300ms ║║Condition #15 evaluated true (5ms)
+306ms ║║Comparison (string) October is (string) October = true (2ms)
+308ms ║║Condition #22 evaluated true (6ms)
+313ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+315ms ║║Condition #27 evaluated true (6ms)
+316ms ║║Condition group #21 evaluated true (state did not change) (15ms)
+318ms ║║Condition group #10 evaluated true (state did not change) (23ms)
+320ms ║║Cancelling statement #75’s schedules…
+329ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (4ms)
+330ms ║║Executed [Outdoor-4].on (5ms)
+335ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+336ms ║║Executed [Outdoor-5].on (4ms)
+382ms ║║Comparison (time) 16944857 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+383ms ║║Time restriction check passed
+384ms ║║Condition #78 evaluated true (45ms)
+385ms ║║Cancelling statement #78’s schedules…
+393ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+395ms ║║Condition group #77 evaluated true (state did not change) (57ms)
+398ms ║║Cancelling statement #81’s schedules…
+404ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+405ms ║║Executed [Outdoor-1].on (4ms)
+408ms ║╚Execution stage complete. (131ms)
+410ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 10955.073s)
+420ms ╚Event processed successfully (420ms)
10/14/2019, 4:12:24 AM +540ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 72ms
+219ms ║RunTime Analysis CS > 20ms > PS > 148ms > PE > 52ms > CE
+222ms ║Runtime (41911 bytes) successfully initialized in 148ms (v0.3.10f.20190822) (220ms)
+222ms ║╔Execution stage started
+233ms ║║Comparison (enum) on is (string) on = true (1ms)
+235ms ║║Condition #37 evaluated true (8ms)
+236ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+241ms ║║Comparison (dynamic) 5 is_less_than (dynamic) 20 = true (1ms)
+242ms ║║Condition #15 evaluated true (4ms)
+247ms ║║Comparison (string) October is (string) October = true (1ms)
+249ms ║║Condition #22 evaluated true (5ms)
+253ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (2ms)
+254ms ║║Condition #27 evaluated true (5ms)
+255ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+256ms ║║Condition group #10 evaluated true (state did not change) (19ms)
+259ms ║║Cancelling statement #75’s schedules…
+265ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+266ms ║║Executed [Outdoor-4].on (4ms)
+271ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (1ms)
+272ms ║║Executed [Outdoor-5].on (3ms)
+314ms ║║Comparison (time) 15144815 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+315ms ║║Time restriction check passed
+317ms ║║Condition #78 evaluated true (42ms)
+318ms ║║Cancelling statement #78’s schedules…
+325ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+328ms ║║Condition group #77 evaluated true (state did not change) (53ms)
+330ms ║║Cancelling statement #81’s schedules…
+337ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (4ms)
+338ms ║║Executed [Outdoor-1].on (6ms)
+341ms ║╚Execution stage complete. (119ms)
+343ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 12755.118s)
+354ms ╚Event processed successfully (354ms)
10/14/2019, 3:12:24 AM +653ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 115ms
+219ms ║RunTime Analysis CS > 21ms > PS > 146ms > PE > 52ms > CE
+222ms ║Runtime (41911 bytes) successfully initialized in 146ms (v0.3.10f.20190822) (220ms)
+223ms ║╔Execution stage started
+232ms ║║Comparison (enum) on is (string) on = true (1ms)
+234ms ║║Condition #37 evaluated true (8ms)
+235ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+240ms ║║Comparison (dynamic) 6 is_less_than (dynamic) 20 = true (1ms)
+241ms ║║Condition #15 evaluated true (4ms)
+246ms ║║Comparison (string) October is (string) October = true (1ms)
+248ms ║║Condition #22 evaluated true (5ms)
+252ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (2ms)
+253ms ║║Condition #27 evaluated true (5ms)
+254ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+255ms ║║Condition group #10 evaluated true (state did not change) (19ms)
+257ms ║║Cancelling statement #75’s schedules…
+263ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+264ms ║║Executed [Outdoor-4].on (4ms)
+269ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+270ms ║║Executed [Outdoor-5].on (4ms)
+312ms ║║Comparison (time) 11544926 is_between (time) 1571093760000 … (time) 1571053500000 = true (8ms)
+313ms ║║Time restriction check passed
+314ms ║║Condition #78 evaluated true (41ms)
+315ms ║║Cancelling statement #78’s schedules…
+323ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+325ms ║║Condition group #77 evaluated true (state did not change) (53ms)
+327ms ║║Cancelling statement #81’s schedules…
+333ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+334ms ║║Executed [Outdoor-1].on (4ms)
+337ms ║╚Execution stage complete. (115ms)
+338ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 16355.01s)
+352ms ╚Event processed successfully (352ms)
10/14/2019, 2:42:24 AM +578ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 70ms
+227ms ║RunTime Analysis CS > 21ms > PS > 150ms > PE > 57ms > CE
+230ms ║Runtime (41910 bytes) successfully initialized in 150ms (v0.3.10f.20190822) (228ms)
+231ms ║╔Execution stage started
+241ms ║║Comparison (enum) on is (string) on = true (1ms)
+242ms ║║Condition #37 evaluated true (8ms)
+243ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+248ms ║║Comparison (dynamic) 4 is_less_than (dynamic) 20 = true (1ms)
+249ms ║║Condition #15 evaluated true (4ms)
+255ms ║║Comparison (string) October is (string) October = true (1ms)
+256ms ║║Condition #22 evaluated true (5ms)
+261ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+262ms ║║Condition #27 evaluated true (5ms)
+263ms ║║Condition group #21 evaluated true (state did not change) (13ms)
+264ms ║║Condition group #10 evaluated true (state did not change) (19ms)
+266ms ║║Cancelling statement #75’s schedules…
+272ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+273ms ║║Executed [Outdoor-4].on (4ms)
+279ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+280ms ║║Executed [Outdoor-5].on (4ms)
+321ms ║║Comparison (time) 9744861 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+322ms ║║Time restriction check passed
+324ms ║║Condition #78 evaluated true (42ms)
+325ms ║║Cancelling statement #78’s schedules…
+332ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+335ms ║║Condition group #77 evaluated true (state did not change) (52ms)
+337ms ║║Cancelling statement #81’s schedules…
+343ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+344ms ║║Executed [Outdoor-1].on (5ms)
+347ms ║╚Execution stage complete. (117ms)
+348ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 18155.074s)
+360ms ╚Event processed successfully (360ms)
10/14/2019, 2:12:24 AM +550ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 54ms
+180ms ║RunTime Analysis CS > 17ms > PS > 112ms > PE > 51ms > CE
+182ms ║Runtime (41910 bytes) successfully initialized in 112ms (v0.3.10f.20190822) (181ms)
+183ms ║╔Execution stage started
+193ms ║║Comparison (enum) on is (string) on = true (1ms)
+194ms ║║Condition #37 evaluated true (7ms)
+195ms ║║Condition group #36 evaluated true (state did not change) (8ms)
+200ms ║║Comparison (dynamic) 3 is_less_than (dynamic) 20 = true (1ms)
+201ms ║║Condition #15 evaluated true (4ms)
+206ms ║║Comparison (string) October is (string) October = true (1ms)
+207ms ║║Condition #22 evaluated true (4ms)
+212ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+213ms ║║Condition #27 evaluated true (5ms)
+214ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+215ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+217ms ║║Cancelling statement #75’s schedules…
+224ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+225ms ║║Executed [Outdoor-4].on (5ms)
+231ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+232ms ║║Executed [Outdoor-5].on (4ms)
+273ms ║║Comparison (time) 7944785 is_between (time) 1571093760000 … (time) 1571053500000 = true (8ms)
+274ms ║║Time restriction check passed
+275ms ║║Condition #78 evaluated true (40ms)
+276ms ║║Cancelling statement #78’s schedules…
+283ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+286ms ║║Condition group #77 evaluated true (state did not change) (50ms)
+288ms ║║Cancelling statement #81’s schedules…
+293ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (2ms)
+294ms ║║Executed [Outdoor-1].on (4ms)
+297ms ║╚Execution stage complete. (114ms)
+298ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 19955.152s)
+310ms ╚Event processed successfully (310ms)
10/14/2019, 1:42:24 AM +513ms
+1ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 78ms
+262ms ║RunTime Analysis CS > 25ms > PS > 175ms > PE > 61ms > CE
+264ms ║Runtime (41910 bytes) successfully initialized in 175ms (v0.3.10f.20190822) (263ms)
+265ms ║╔Execution stage started
+276ms ║║Comparison (enum) on is (string) on = true (1ms)
+277ms ║║Condition #37 evaluated true (8ms)
+278ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+283ms ║║Comparison (dynamic) 2 is_less_than (dynamic) 20 = true (1ms)
+284ms ║║Condition #15 evaluated true (4ms)
+289ms ║║Comparison (string) October is (string) October = true (1ms)
+291ms ║║Condition #22 evaluated true (5ms)
+295ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (2ms)
+296ms ║║Condition #27 evaluated true (5ms)
+297ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+298ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+301ms ║║Cancelling statement #75’s schedules…
+308ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+309ms ║║Executed [Outdoor-4].on (5ms)
+315ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+316ms ║║Executed [Outdoor-5].on (4ms)
+365ms ║║Comparison (time) 6144833 is_between (time) 1571093760000 … (time) 1571053500000 = true (8ms)
+366ms ║║Time restriction check passed
+367ms ║║Condition #78 evaluated true (47ms)
+368ms ║║Cancelling statement #78’s schedules…
+376ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+378ms ║║Condition group #77 evaluated true (state did not change) (59ms)
+380ms ║║Cancelling statement #81’s schedules…
+387ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (2ms)
+387ms ║║Executed [Outdoor-1].on (4ms)
+390ms ║╚Execution stage complete. (125ms)
+391ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 21755.096s)
+404ms ╚Event processed successfully (404ms)
10/14/2019, 1:12:24 AM +536ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 54ms
+180ms ║RunTime Analysis CS > 18ms > PS > 117ms > PE > 45ms > CE
+182ms ║Runtime (41910 bytes) successfully initialized in 117ms (v0.3.10f.20190822) (181ms)
+183ms ║╔Execution stage started
+193ms ║║Comparison (enum) on is (string) on = true (1ms)
+194ms ║║Condition #37 evaluated true (7ms)
+195ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+200ms ║║Comparison (dynamic) 3 is_less_than (dynamic) 20 = true (1ms)
+201ms ║║Condition #15 evaluated true (4ms)
+206ms ║║Comparison (string) October is (string) October = true (1ms)
+208ms ║║Condition #22 evaluated true (5ms)
+212ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (2ms)
+213ms ║║Condition #27 evaluated true (5ms)
+214ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+215ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+217ms ║║Cancelling statement #75’s schedules…
+223ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+224ms ║║Executed [Outdoor-4].on (5ms)
+230ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (3ms)
+230ms ║║Executed [Outdoor-5].on (4ms)
+269ms ║║Comparison (time) 4344769 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+270ms ║║Time restriction check passed
+271ms ║║Condition #78 evaluated true (38ms)
+272ms ║║Cancelling statement #78’s schedules…
+279ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+282ms ║║Condition group #77 evaluated true (state did not change) (48ms)
+284ms ║║Cancelling statement #81’s schedules…
+289ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (2ms)
+290ms ║║Executed [Outdoor-1].on (4ms)
+293ms ║╚Execution stage complete. (110ms)
+294ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 23555.17s)
+305ms ╚Event processed successfully (305ms)
10/14/2019, 12:42:24 AM +503ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 52ms
+172ms ║RunTime Analysis CS > 17ms > PS > 108ms > PE > 47ms > CE
+174ms ║Runtime (41909 bytes) successfully initialized in 108ms (v0.3.10f.20190822) (173ms)
+175ms ║╔Execution stage started
+185ms ║║Comparison (enum) on is (string) on = true (1ms)
+186ms ║║Condition #37 evaluated true (7ms)
+187ms ║║Condition group #36 evaluated true (state did not change) (8ms)
+192ms ║║Comparison (dynamic) 5 is_less_than (dynamic) 20 = true (1ms)
+193ms ║║Condition #15 evaluated true (4ms)
+198ms ║║Comparison (string) October is (string) October = true (1ms)
+200ms ║║Condition #22 evaluated true (4ms)
+204ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+205ms ║║Condition #27 evaluated true (5ms)
+206ms ║║Condition group #21 evaluated true (state did not change) (12ms)
+207ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+209ms ║║Cancelling statement #75’s schedules…
+215ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (3ms)
+216ms ║║Executed [Outdoor-4].on (4ms)
+221ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+221ms ║║Executed [Outdoor-5].on (4ms)
+260ms ║║Comparison (time) 2544727 is_between (time) 1571093760000 … (time) 1571053500000 = true (8ms)
+261ms ║║Time restriction check passed
+262ms ║║Condition #78 evaluated true (38ms)
+263ms ║║Cancelling statement #78’s schedules…
+270ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+272ms ║║Condition group #77 evaluated true (state did not change) (48ms)
+274ms ║║Cancelling statement #81’s schedules…
+280ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+281ms ║║Executed [Outdoor-1].on (5ms)
+284ms ║╚Execution stage complete. (109ms)
+285ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 25355.212s)
+297ms ╚Event processed successfully (297ms)
10/14/2019, 12:12:24 AM +560ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 73ms
+224ms ║RunTime Analysis CS > 21ms > PS > 149ms > PE > 54ms > CE
+227ms ║Runtime (41911 bytes) successfully initialized in 149ms (v0.3.10f.20190822) (225ms)
+228ms ║╔Execution stage started
+238ms ║║Comparison (enum) on is (string) on = true (1ms)
+240ms ║║Condition #37 evaluated true (8ms)
+241ms ║║Condition group #36 evaluated true (state did not change) (9ms)
+245ms ║║Comparison (dynamic) 6 is_less_than (dynamic) 20 = true (1ms)
+247ms ║║Condition #15 evaluated true (3ms)
+252ms ║║Comparison (string) October is (string) October = true (1ms)
+253ms ║║Condition #22 evaluated true (5ms)
+257ms ║║Comparison (integer) 14 is_less_than_or_equal_to (integer) 31 = true (1ms)
+259ms ║║Condition #27 evaluated true (4ms)
+260ms ║║Condition group #21 evaluated true (state did not change) (11ms)
+260ms ║║Condition group #10 evaluated true (state did not change) (18ms)
+262ms ║║Cancelling statement #75’s schedules…
+269ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+269ms ║║Executed [Outdoor-4].on (4ms)
+274ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (2ms)
+275ms ║║Executed [Outdoor-5].on (4ms)
+320ms ║║Comparison (time) 744838 is_between (time) 1571093760000 … (time) 1571053500000 = true (9ms)
+321ms ║║Time restriction check passed
+323ms ║║Condition #78 evaluated true (44ms)
+324ms ║║Cancelling statement #78’s schedules…
+331ms ║║Requesting time schedule wake up at Mon, Oct 14 2019 @ 7:45:00 AM EDT
+334ms ║║Condition group #77 evaluated true (state did not change) (55ms)
+336ms ║║Cancelling statement #81’s schedules…
+342ms ║║Skipped execution of physical command [Outdoor-1].on([]) because it would make no change to the device. (3ms)
+343ms ║║Executed [Outdoor-1].on (5ms)
+346ms ║╚Execution stage complete. (119ms)
+347ms ║Setting up scheduled job for Mon, Oct 14 2019 @ 7:45:00 AM EDT (in 27155.093s)
+359ms ╚Event processed successfully (359ms)
10/13/2019, 11:12:24 PM +581ms
+0ms ╔Received event [1527 Cedar].:1f7f71fa4ad00137be8a9bf6970807be: = @WindSpeed with a delay of 70ms
+234ms ║RunTime Analysis CS > 22ms > PS > 154ms > PE > 59ms > CE
+237ms ║Runtime (41911 bytes) successfully initialized in 154ms (v0.3.10f.20190822) (236ms)
+238ms ║╔Execution stage started
+249ms ║║Comparison (enum) on is (string) on = true (1ms)
+251ms ║║Condition #37 evaluated true (7ms)
+252ms ║║Condition group #36 evaluated true (state did not change) (10ms)
+257ms ║║Comparison (dynamic) 7 is_less_than (dynamic) 20 = true (1ms)
+259ms ║║Condition #15 evaluated true (4ms)
+264ms ║║Comparison (string) October is (string) October = true (1ms)
+266ms ║║Condition #22 evaluated true (6ms)
+271ms ║║Comparison (integer) 13 is_less_than_or_equal_to (integer) 31 = true (1ms)
+272ms ║║Condition #27 evaluated true (5ms)
+273ms ║║Condition group #21 evaluated true (state did not change) (13ms)
+274ms ║║Condition group #10 evaluated true (state did not change) (20ms)
+277ms ║║Cancelling statement #75’s schedules…
+283ms ║║Skipped execution of physical command [Outdoor-4].on([]) because it would make no change to the device. (2ms)
+284ms ║║Executed [Outdoor-4].on (4ms)
+290ms ║║Skipped execution of physical command [Outdoor-5].on([]) because it would make no change to the device. (3ms)
+291ms ║║Executed [Outdoor-5].on (5ms)

REMOVE BELOW AFTER READING
If a solution is found for your question then please mark the post as the solution.


#2

OK, don’t laugh, but the easiest way is simply to delete line 33. This way, the Turn on command is still sent, but your only notification will be when it is extra windy.

On the other hand, if you want a single notification when the wind is calm, you will first have to decide how often you want to receive those messages, and then use variables to control the SMS count.


Alternatively, you can delete line 33, and then make a new tiny piston saying:

IF Switch 34 changes to on
    Then Send SMS
END IF

#3

… and since there are many ways to skin a cat, alternatively you can change lines 29-34 to say:

IF any of Switch 34 and 47 are OFF
Then
    Turn on Switch 34 and Switch 47
    Send SMS
END IF

This method keeps it all in the same piston, and only sends a text when there is a change