Controller for Zigbee smart lights throughout a house, written in Java. It interfaces with zigbee2mqtt and provides state machines for several rooms, interacting with zigbee buttons.
Eventually I'd like to package this into a general purpose library for use in arbitraty home configurations. The extendable LightController class would be the core of the library.