This works, but not quickly. Even if the luminance changes, it might take 1/2 hour for the if statement to run again. Is there a ways of writing this, so it happens immediately after any change? Or is the IF statement not used for this?
The rule looks pretty good as is. Can you check your Illuminance events coming from Hue to see if they report more frequently than every 30 minutes or so?
To see those, go to:
Device -> Events
Also, if you want to see what your rule is doing, you can turn on the logging options for the rule (found on the first screen at the bottom).
I don't think it's affecting anything, but you have an unused "Else" in your rule - I'd remove that.
When I make a rule, I try to minimize how often it gets called as much as possible -- just in an effort to help reduce hub traffic where I can... So in a rule like this with triggers like lux and temp reports that could be happening a lot, I'd use a Required Expression and/or other bumpers to help reduce how often this rule gets called on to run.
Making the "Between times" condition a Reqd Expression would help a little at least.
Thinking about this more, I'd make 2 rules here -- one for opening and one for closing.
Assuming not crazy weather conditions (dark storm, drastic cold front etc), I'm guessing the opening-vs-closing events are pretty much each a once-a-day sorta thing, is that a fair generalization?
If so, I'd design my 2 rules with that intent in mind... In particular, doing 2 rules allows you to leverage a buffer for each rule's corresponding lux and temp values such that you don't end up ping-ponging back-&-forth during a fast-changing weather event due to a single static temp or lux value.
I have 2 rules that manage some lights in my house when the weather gets dark during the day... To turn those lights on with the first rule, I use a pretty dark lux value. But to reset it all in the other rule, I pad that lux value quite a bit to mitigate ping-ponging as the storm eventually dissipates.
Using 2 rules gives you more freedom to leverage unique Reqd Expressions and other bumpers to help minimize how often the rules are called too.
ETA -- rules are free, and there is no prize for stuffing as much as possible into a single rule. The more I do rules, the more I've come to appreciate that multiple simpler rules are better performing (and easier to manage!) than one big rule.
I completely agree with @hydro311's suggestion of using two rules. Additionally, I would probably simplify them using Required Expressions and Conditional Triggers. Something like the following for opening:
Required Expression
Between two Times
Patio doors are closed
Triggers
Illuminance (only when temperature is above set point)
or
Temperature (only when illuminance is above a specific level)
Actions
Open patio doors
The rule above would only run once and open the doors. You would have a companion second rule to close the doors based on the same factors. If you didn't want to have a padding, you could use Private Booleans to limit each instance, but have the opposite rule control it. Basically, the opening rule would have a required expression of the Private Boolean being true. The first action would set it false. In your closing rule, you could put a wait for event--elapsed time before setting the opening rule's Boolean to true. This would also help with the ping-pong affect.
Thank you all for your responses, I will try doing two rules. But I do want to fire more than one during the day. This controls my blinds and I want to keep the heat out during the summer months, so when the sun hits those windows and itβs a certain temperature at the Blinds will close. Then when it starts cooling down at night, the blinds will open back up. Once again, thank you all for your help.