Been off the forum for several years, returning home. Have a relatively easy problem I can’t resolve; my skills are rusty. I first dug through posts looking for a solution, but with each, there was some variable that didn’t fit my scenario:
Roll-Up door on a remote metal outbuilding. It has a cheap PRC aftermarket motor that’s not compatible with any US Vendors. I was able to automate it using an Arduino R3 with an Ethernet Hat.
Arduino Setup:
-Door Closure Warning Sequence (15 secs): When triggered for a door closure, Pin 3 sends a pulsating 5VDC to a buzzer and an LED flasher.
- Closing Door Trigger Sequence: At expiration of a ‘warning sequence’, Pin 5 sends a dry contact closure (5 seconds) to the motor control panel, closing the door.
- A magnetic sensor at the bottom of the door sets pin 2 to high, the Arduino sends a MQTT message to HA declaring “Closed” status
- Opening Door Trigger Sequence: Virtually the same, except there is no warning period. Once the door bottom clears the mag sensor, the Arduino sends an MQTT “Open” status message.
HA Setup:
- MQTT listening for Door Status messages, and sending trigger messages.
- A simple door icon is set up with a trigger; when the icon is pressed, it sends an MQTT trigger message to the Arduino. When door status messages (High or Low) are received, the status is flipped, and the Icon’s color and shape change. Nothing fancy, and it works
My Problem: There is no immediate change to the button when it is pressed. The gap can be as long as 40 seconds before the proper status updates and changes occur, so other family members are mashing the button repeatedly, thinking the button is stuck or not responding.
What I need: A transitory “DOOR MOVING” state that provides a visual confirmation that the door was triggered and is moving. I’ve tried various solutions, including dumb timers, but nothing works. Since the Arduino only sends two states, there is no actual “movement” state to use as a condition between open and closed.
I can post my coding (Arduino & HA) if needed, but it’s a very basic setup.
Sending Appreciation in advance for any assistance. I recruited an AI engineer initially to help; it screwed up my code so bad it took two days to get back to baseline. Thanks … Brian (Seabass)


