Krusty66 Posted May 31, 2016 Posted May 31, 2016 Example: I have SceneA with Light1 and Light2 in it. I write code such that I use the "Adjust Scene" function to turn on Light1 to 80% and Light2 to 50% at X time of day: If time is 8pm then in scene "SceneA", Light1 80% (on level) in scene "SceneA", Light2 50% (on level) That code comes from using (in the Actions box), Adjust Scene, In Scene, Set. This worked fine when I first test it and set it up. Then after a couple days its gone dead. As soon as its time to execute (by time, or by me manually triggering the Then), I get the "system busy" warning box. It starts counting slowly upward toward 100%, but never gets there and never executes the Then. Why did it work briefly and why won't it work now?
stusviews Posted May 31, 2016 Posted May 31, 2016 You are setting the levels for devices in the scene, but you don't have a statement that turns the scene on.
Krusty66 Posted May 31, 2016 Author Posted May 31, 2016 OK, I added a line to turn on the scene and it works - sort of. The code does execute (the lights change to 80% and 50% as written). But it still goes into this long painful (like 2 minute) system busy mode. Apparently its trying to write to the two mini-remotes that are part of the scene. I can see that by looking at the Main page. Then, if I have another subsequent program (lets say at 11pm I now want the lights at 60% and 40%), it fails. I have tried it with and without the new code you suggested (turning the scene on before specifying each item in the scene). The scene is already turned on (from the previous program at 8pm) so it would not seem necessary to turn it on again. But either way (turn the scene on again, or don't), this new program fails. BTW, If I write separate programs to set each light where I want them, instead of using "adjust scene", the :"system busy" does not happen. Is the "adjust scene" just a bad way of doing this? If so, why does it exist?
stusviews Posted May 31, 2016 Posted May 31, 2016 The difficulty is the Mini Remotes. Battery powered devices need to be placed in linking mode to accommodate changes. Even though the remotes are not in linking mode, the ISY still attempts to write to them. If you won't be using the Mini Remotes after you adjust the scene, remove them from the scene, create a new scene with those remotes as controllers and the other devices as responders only.
Krusty66 Posted May 31, 2016 Author Posted May 31, 2016 Forgive my lack of knowledge, but I'm not quite following that. The remotes are already part of the scene. That is, ButtonA on Remote1 controls SceneA (left side of button turns SceneA off, right side turns it on 100%, or hold either button to dim up/down). When you say "if you won't be using the mini remotes after I adjust the scene...", well, I will. I need them to be able to turn the lights (scene) on/off/up/down as desired. In other words, the program kicks on at 8pm turning the scene on (80% Light1, 50% Light2). At 11pm it turns them down to 60% and 40%. If I decide between 8pm and 11pm that I want some different levels, I use the remote to change them.
LeeG Posted May 31, 2016 Posted May 31, 2016 (edited) Krusty66 The Adjust Scene function is changing the Responder On Level for Light1 and Light2. This value resides in the Responder (Light1 and Light2) so no Controller changes are made. If the ISY is trying to change the Mini Remote that is the result of some other pending update unrelated to the Adjust Scene function. EDIT: example of an Adjust Scene statement. Only the Responder is changed. Tue 05/31/2016 03:31:47 PM : [ Time] 15:31:57 4(0) Tue 05/31/2016 03:31:47 PM : [13 8 1B 1 ] Link 2 : 0FE8 [A29222800BFF1F01] Saving [..........FF....] Tue 05/31/2016 03:31:48 PM : [All ] Writing 1 bytes to devices Tue 05/31/2016 03:31:48 PM : [13 8 1B 1 ] Link 2 : 0FE8 [A29222800BFF1F01] Writing [..........FF....] Tue 05/31/2016 03:31:48 PM : [iNST-TX-I1 ] 02 62 13 08 1B 0F 28 0F Tue 05/31/2016 03:31:48 PM : [iNST-ACK ] 02 62 13.08.1B 0F 28 0F 06 SET-MSB(0F) Tue 05/31/2016 03:31:48 PM : [iNST-SRX ] 02 50 13.08.1B 22.80.0B 2B 28 0F SET-MSB(0F) Tue 05/31/2016 03:31:48 PM : [std-Direct Ack] 13.08.1B-->ISY/PLM Group=0, Max Hops=3, Hops Left=2 Tue 05/31/2016 03:31:48 PM : [iNST-TX-I1 ] 02 62 13 08 1B 0F 2B ED Tue 05/31/2016 03:31:48 PM : [iNST-ACK ] 02 62 13.08.1B 0F 2B ED 06 PEEK (ED) Tue 05/31/2016 03:31:49 PM : [iNST-SRX ] 02 50 13.08.1B 22.80.0B 2B 2B 00 PEEK (00) Tue 05/31/2016 03:31:49 PM : [std-Direct Ack] 13.08.1B-->ISY/PLM Group=0, Max Hops=3, Hops Left=2 Tue 05/31/2016 03:31:49 PM : [iNST-TX-I1 ] 02 62 13 08 1B 0F 29 FF Tue 05/31/2016 03:31:49 PM : [iNST-ACK ] 02 62 13.08.1B 0F 29 FF 06 POKE (FF) Tue 05/31/2016 03:31:49 PM : [iNST-SRX ] 02 50 13.08.1B 22.80.0B 2B 29 FF POKE (FF) Tue 05/31/2016 03:31:49 PM : [std-Direct Ack] 13.08.1B-->ISY/PLM Group=0, Max Hops=3, Hops Left=2 Edited May 31, 2016 by LeeG
Krusty66 Posted May 31, 2016 Author Posted May 31, 2016 The lengthy "system busy" only happens when I execute code with the "adjust scene" function in it. And it does it over and over again every time I do anything with "adjust scene". I've just bailed out on trying to use it. I'll created separate scenes with their own dim levels, or I'll just write code to control the dim level (at different times) for each light. Whatever "adjust scene" is doing, it isn't worth the problems that come with it. Thanks for the help.
Recommended Posts