I have a rule setup to close (at sunset) and open (at sunrise) all the blinds, one doesnt work so i setup on another simple rule to run 1 min before still doesnt work. The device itself works fine just doesnt with the rule. How would i setup to repeat the actions until the device has opened or closed?
heres what i have so far, but it keeps repeating. I am trying to get it to repeat only if the blinds arent closed in the evening and if there not opened in the morning.
The biggest problem here is that "Repeat..." (as in "Repeat every...") and "END-REP" are supposed to enclose the block of actions you would like to repeat. In this rule, you have noting there. I assume you want to be be the "refresh"? Or maybe a refresh and another attempt at setting the position. Also of note, you need a way to stop repeating while the rule is running, otherwise it will keep going unless something (e.g., a "repeat n times") stops it instead. That's fine here because you do have with that simple conditional on the "Repeat" action; you don't need that last "Stop Repeating Actions," as it will never be reached while the repeating actions are running. You may also wish to cap this at a few retries or space them out a bit; in my experience, if it doesn't work on the first try, it doesn't usually work on the second unless you wait a few minutes, and if it doesn't work after that, they're probably hosed and need at least a restart. (My v2 units in particular are picky, but all seem to have been behaving well lately...)
Also a consideration, what generation of iBlinds are these (v2 or v3)? If v2, be careful about when you run "refresh"; if the blinds are still moving, they exhibit some odd behavior if you try to fetch their new position (I think moving all the way opened or closed instead). And what driver are you using? If it's my v2 driver, a "refresh" will get their new level, but one is scheduled automatically a few minutes after a "set level" (or "set position"--same thing); if you're using my v3 driver (and I think Hubitat's built-in one), it should wait for a report back from the device, which unless not configured to do so it should do on its own, so a refresh is unlikely to be necessary. If you are using iBlinds' driver from their site, you'd probably need this, as both their v2 and (last I checked) v3 drivers just change the position/level on Hubitat as soon as you send the command, regardless of what actually happens.
so would I have to run the rule like,
- Have the blinds close
- refresh blinds
- Repeat if not = to 0
- exit rule if = to o
I would suggest something like this:
I'm not sure the "refresh" is necessary (they should report back on their own), but aside from a negligible battery impact, it should be harmless on a v3 unit. I've capped the retries at 5, but you're free to take or leave that suggestion, and I've spaced the retries 30 seconds apart--again all things you can adjust as you see fit.
A final note on Rule Machine: there is no need to explicitly "exit" the rule here, as nothing more will happen when the repeat is stopped (either because the simple condition is no longer met or the number of retries is) given that there are no actions after the repeat. The explicit "Exit Rule" action is often overused in rules I see, or at least assumed to do things it does not (it will not exit a repeat, cancel a wait/delay/etc. or otherwise unschedule or unsubscribe from any timers or events--it just stops looking at additional actions in the rule after that point and would almost always be coupled with a conditional before additional actions to make sense in real use).
Perfect thank you so much!!