ederadan Posted December 6, 2018 Posted December 6, 2018 I'm newer to using the ISY 994 and really only doing basic stuff right now. I'll be having some guests for a couple weeks which will probably have issues using my media center and I'm trying to solve this by using the ISY. I have the ISY994 hooked up to PolyGlot running the HarmonyHub integration. I'm toying with the idea of using the ISY to force the correct tv settings, so if "Watch TV" activity is "True" from Harmony then if the "TV" gets changed to "HDMI 1" while "Watch TV" is still on "True" then a ISY program would see the state state change from "TV" and set it back to "TV Input". One route I'm currently testing is using two programs to force these settings: 1. Check Status If "Watch TV" Status is True Then Run Program "Enforce TV" 2. Enforce TV If "Watch TV" Status is True (To account for turning it off) Then <logic for making sure media center devices are in the right state> Wait 10 seconds Run Program "Enforce TV" If anyone has any general suggestions on forcing the media center states using the HarmonyHub integration through PolyGlot that would be awesome, but this part might be more experimentation than anything else. I'm also trying to find out how the ISY handles recursive programs. If I have a program that calls itself does the ISY terminate the first program or will it create child programs until it runs out of memory? Thank you!
paulbates Posted December 6, 2018 Posted December 6, 2018 Hi and welcome to the UDI Forums! I think you're on the right track. The plugin (which is great) aside, media device modes and states can be very specific to the equipment. Experimenting will help get you to the right place. For recursion: The ISY is a very simple and fast state machine. It runs one instance of a program. You can call a program from itself, and it will restart. You need to be careful in that the ISY is very unforgiving about "tight loops". If your program calls itself there is the opportunity it will use all of its processor as the program re runs itself over and over again. You'll want to put a wait 10 seconds statement when you first write the program because its tough to stop tight looped programs (right click on the program and pick Stop). Start simple. Also, for status, the program will run when the state changes. So Watch TV will only run when a change in state from true to false happens Paul 1
ederadan Posted December 6, 2018 Author Posted December 6, 2018 Thanks Paul! That's helpful. Conceptualizing a program for the ISY is a bit different than what I'm used to but so far it's been a lot of fun. 1
Recommended Posts