[SOLVED] Looking for Ideas on Garage door Solution

I couldn’t say, but it is consistent with the garage door icons as well. From a purely mechanical perspective, the only difference between a rollershutter and a typical garage door is size. So I can see why one would want to use that representation. But I agree, it does somewhat ignore how these openers actually work.

If you just translate any command you send to GA as a button press, you can end up with situations like:

  • Garage door is opening → “Close the garage door” → Garage door stops
  • Garage door is open → “Open the garage door” → Garage door starts to close.
  • Garage door is stopped → “Stop the garage door” → Garage door starts to move

and so on. To get a consistent behavior you would need to know the state of the garage door and issue the zero to two button presses that is appropriate to get the door headed towards the stated goal.

No, the garage door opener already knows when to stop for fully open/closed. And you have sensors to tell you when it is fully open or closed. That marks your end points where you recalibrate the percentage to 0 or 100 as appropriate. When the door is in motion you need to use the time to estimate the percentage.

Not really, all the timing is being used for is to estimate the current position of the door, or to set the door to a specific percentage open. If it’s off by a few percent does it really matter? Remember, as soon as a sensor says the door is fully open/closed you will short circuit the calculation and reset it as appropriate and cancel the timer.

See Design Pattern: Looping Timers as this will be the what you need to do. For JSR223 I’ve written a countdown timer which might be applicable to this with some minor modifications.