Jump to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

apostolakisl

Members
  • Joined

  • Last visited

  1. The whole purpose of having the light status in there is because CHANGES in light status will then retrigger the program. That is what you want, as soon as any of the 4 lights finishes its countdown it will change the light status and then disable itself taking it out of the mix. But when its light changes status, it will retrigger the remaining programs that haven't finished and start them over. You will start with 4 programs running, then 3, then 2, then 1 then none. If you really want to be 100% sure this works, use two status clauses for each light since the light can't be two status' at the same time, it will always trigger true. ie If light x is not 1% or light x is not 0% The above if clause will always run true any time the status of light x changes. EDIT: Another way to do this is to use the true/false status as a retrigger. Have each program where the countdown runs to zero, run its own else clause to change it from true to false. Then the other programs will all retrigger on it. Program W If time is sunset or program x is true or prgram x is false or program y is true or program y is false or program z is ture or program z is false then wait 10 seconds repeat while $iW is > 0 $iW = $iW - 1 wait 1 second repeat 1 time turn on light w run else program W Else disable program w So the above program would be duplicated changing out the variables as appropriate for each of the 4 (or more) lights. All 4 programs would run at sunset. The program that finishes first will become false and disable itself. The other 3 will retrigger when this program turns false. Then the process repeats starting with the 3 remaining programs . . .then 2 . . then the last one. EDIT: I actually wrote the program in ISY and copied it to here. Program W - [ID 0001][Parent 0093] If Time Is Sunset Or Program 'Program X' is False Or Program 'Program X' is True Or Program 'Program Y' is False Or Program 'Program Y' is True Or Program 'Program Z' is False Or Program 'Program Z' is True Then Wait 10 seconds Repeat While $i.zW > 0 $i.zW -= 1 Wait 1 second Repeat 1 times Set 'Light W' On Run Program 'Program W' (Else Path) Else Disable Program 'Program W' The above program will run at sunset (making itself true). wait 10 seconds, count down the variable, turn on its light, change itself to false, and disable itself. UNLESS, one of the other 3 programs beats it, in which case the other program will turn false before this finishes. That will re-trigger this program and it will start all over from the beginning.
  2. I wrote this program and can confirm it works. Every time I do a "run then" command on it, the 4 variables get randomly assigned a 1,2,3,or 4 with no two being the same. I used 4 here because it proves it works. But you can just as easily make it 30 or whatever. Since you already get the countdown method, then that shouldn't be an issue. Regarding the time allotted. Just figure out what the max possible is. So for example wait 10 plus some random amount between 0 and 30, then the max for each run is roughly 40 times 4 or 160 seconds. So give yourself 3 minutes. Finally, you need a program to do a "run then" on the program "Random" I wrote below. Like If time is sunset minus 10, run then program Random. Random - [ID 0089][Parent 0093] If $i.zW is $i.zX Or $i.zW is $i.zY Or $i.zW is $i.zZ Or $i.zX is $i.zY Or $i.zX is $i.zZ Or $i.zY is $i.zZ Then $i.zW = Random 4 $i.zX = Random 4 $i.zY = Random 4 $i.zZ = Random 4 Run Program 'Random' (If) Else - No Actions - (To add one, press 'Action')
  3. I did think of a way to eliminate the risk of two lights coming on at same time, but it is involved. You would need 4 variables. Set the 4 to random values. Then you would need to compare the values to make sure none are equal and if so regenerate values. Once all 4 are different you use those values in the above programs. However, a wait can not be assigned a variable. You need to use "repeat while variable greater than 0" and a 1 second wait. Each repeat subtracts 1 from the variable until it hits 0 at which point the program continues.
  4. The following would generate a random order of lights turning on with each turning on between 10 and 40 seconds apart. There is a 1 in 30 chance that two lights will turn on at the same time the way I wrote it, otherwise always a min of 10 seconds, max of 40 seconds and always random order. I don't know a way to stop this. If you increase your random wait time portion, you reduce the chance of two being the same. This is for 4 lights (w, x, y, z) 1) put the 4 programs in a folder that is only active for the time that this is happening (ie sunset minus 1 to sunset plus 4 minutes) 2) create 4 programs, one for each light, as follows but make the obvious changes Program w If time is sunset or if status of light x is not some percentage that it would never be on (ie not the percent you have it set to default come on to) <the point of this status line is to use the change in status to reset the program when one of the others turns on> or if status of light y . . . or if status of light z. . . . then wait 10 seconds wait 30 second random turn on light w disable program w 3) finally, a 5th program that re-enables all of these programs shortly before the run time. If time is sunset minus 30 seconds then enable program w enable program x enable program y enable program z
  5. I think you are doing both ways (Alexa voice to isy, isy back to Alexa via a variable triggering a routine. I am pretty sure a voice command can directly trigger a scene though, so not sure you would need to have Alexa use a routine on that at all. I have a number of voice commands that directly trigger Insteon devices without need for a routine. I opened a ticket with UD since my variable changes are not being seen by Alexa and thus my routines are not running.
  6. @PB11 You are talking about a different thing here. This is ISY telling Alexa to do something, not Alexa telling ISY to do something. And yes, I have tried deleting variables, and I have added additional variables and exposed them to Alexa. But Alexa, as can be seen from the screenshot, says the device is not responding or sometimes it says the server isn't responding (whose server I don't know). Of course ISY is working with Alexa in the other direction, I can tell Alexa to do something with ISY and indeed ISY does whatever. And I am not using switches or a program at all to change the variable state. I am manually changing the variable, so I know it is changing.
  7. @Guy Lavoie I think you are referring to status update. I am speaking of syncing the devices themselves (adding/removing/etc), not their current status. But in my case, I'm not noticing any difference in status populating upon opening. When I open the app, things populate like popcorn, sorting of randomly about.
  8. @Mr B @ISY4Me Yes, this is what I am experiencing. I also have noticed that doing a sync is nothing like it used to be. It is taking very little time, not going through anywhere near all the flashing names of stuff that it used to, and when it "finishes" it isn't giving me the usual finished screen with the option to delete unused values.
  9. Alexa and ISY are communicating fine for all of my voice commands to Alexa. I can't imagine that my configuration in the portal is wrong. Not a whole lot to do wrong. I chose "2" as the detected value, but I also tried 1.
  10. I looked at both the variables I added to Alexa as a contact closure and motion sensor. Changing the value of the variables in ISY is not changing the state Alexa reports. Contact closure for example always reports "closed" in Alexa whether the value is 1or 0. And motion variable always says no motion detected. And both say "device unresponsive" in a banner across the top. Screen shot EDIT: Now it says "server unresponsive" in the banner.
  11. I have recently added some state variables. After syncing UD mobile, the variables show up, but are listed by number, not the name I gave them in isy when I created them.
  12. Contact closure as mentioned in opening post. And I used 0,1 for that. Contact closure was what @bmercier had suggested in a different thread. I believe the two are equivalent. The both don't work equally for me. I have also switched out the action taken between Alexa actions and Insteon (via isy) actions. Checking the Alexa activity history indicates the routine is not running when triggered by isy variables.
  13. I tried for the first time using a variable to trigger an Alexa Routine. It doesn't work. I set it up 3 days ago. The variable is set as a contact closure and is set to be "closed" at a value of 1. Alexa discovered the "contact" just fine and I was able to put it into a routine. But nothing happens. I set it to 1, nothing, I set it to 0, nothing. I have tried periodically going back and forth, leaving it in one state or the other for a while (hours) and nothing. I have not updated to Alexa+ I don't know about this. Seems like everyone has issues with it. UD either needs to fix whatever the issue is or remove the feature. A flaky feature is far worse than no feature. I also just tried adding a variable as a "motion sensor" with 2 as motion, still no triggering of a routine.
  14. @Guy Lavoie As mentioned. Uncheck daily and then you pick specific dates. But the issue with that is you would need to go through and set every Christmas (or whatever) for every year going forward. Using the plugin for dates let you use wildcards. In other words, you can set it for every December 25 and the year can be wildcard. Or you can do every other day, or every just about anything you can think of, perhaps requiring some thinking to convert it to what you want, but really nothing can't be done. Many years ago, prior to plugins existing, I wrote a whole series of programs that does the same thing. In fact, I continue to use those programs because they work and why would I go through and re-write a bunch of programs that aren't broken that use the series of date programs. But if I were starting over, I would just use the plugin.
  15. What is it you are trying to do? One button seems to cover it. Not sure what you mean by "lock down programs". No programs need to be locked down or I guess disabled if that is what you mean.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.