Command Optimization Question


#1

I have a general question about how command optimization works…

Does webCoRE remember the details of previous command sent, or does it look at the reported status of the device?

Here’s an example: I have Keen adjustable vents. If I tell them to “open to 100%,” sometimes they open to 99%. If command optimization is turned on, would webCoRE send the “open to 100%” command again if the vent is currently reporting it’s at 99%? Or would it recognize that it’s already told it to open to 100%, so it won’t send that command again?


#2

It is looking for the attribute to match the requested setting.

so if you send 100, but later the device reports 99, it should be sent again.

If you know the device wants 99, send 99 so that it reports back 99.


#3

Thank you!

I don’t know for sure, but I think the vents probably use an encoder to determine their position. So when it tries to set to number x, a feedback loop probably allows it to get within dx of x. I have several vents, and setting to 100 has yielded 99, 96, 99, 97, and 99 on the five opens vents now.

So now I’m setting them by iterating over the vents and setting each device with the “Only if switch is…” condition with an expression: abs([$device : level] - setting) > 5, for example. I’m hoping this will only update the level if it’s at least 5 percent away from the set point. I don’t know where the documentation is for the syntax of this expression (I’m assuming it must evaluate to true to execute?), and the expressions usually give me an expression error in the Add a new task window… But it looks like it’s working.