ShopMon is a system for showing occupancy at Pumping Station: One in real-time. The publicly-accessable front end to the system is this web page. The system uses passive IR sensors to detect motion and puts all the information on an MQTT topic which others can read.
Because the system uses passive IR sensors, it is not capable of determining who is in a specific location, only that someone is there.
Each component has its own README for more details.
The code that reads the sensor data from the main panel and sends to an MQTT topic.
This is an intermediary program to allow other components (e.g. the website) to have more fine-grained control over sensor activity.
A Slack-based bot that maintains a list of areas and the last time anyone was in them. In an homage to its IRC roots, invoke it using !area
.
All the code for the public website.