Functions? Creating a Radio Hub

If you want the door state to update on the screen in real time then you need to write to it periodically, perhaps by calling the CoopDoor() function but only when screen 2 is being displayed.

Suggestions:

Add a variable that holds an indication of the screen currently on display
At the end of loop() use millis() to determine whether the required screen refresh period has passed since the previous iteration of loop() and, if screen 2 is currently being displayed call the CoopDoor function to update the screen.

If you are not familiar with using millis() for timing then read Using millis() for timing. A beginners guide, Several things at the same time and look at the BlinkWithoutDelay example in the IDE.