Unfortunately the garage door isn't always closed properly by those who use it, leaving the door open for quite a while. I therefore created a solution with an Arduino door monitor that monitors a reed switch. If the reed switch is opened it writes a status change to the serial output, which is picked up by its Java counterpart.
On a state change the Java part sends an MQTT message to the MQTT broker. The MQTT broker in turn notifies each MQTT client that has registered for the topic of the garage monitor. In the sample code the client uses the MQTT messages to display a led with the door status.
The board contains leds to indicate if the door is closed (green) or whether the door is open (blue). Outside of the door there is a yellow led, which will turn on if the door is opened, and if the door isn't closed within a few seconds it will start to flash.