This software infers occupancy patterns in buildings utilizing Wi-Fi device connection statistics. It inputs numerical counts of devices connected to the wireless access points within a building and outputs estimated periods of occupancy. This proof-of-concept application is implemented as a REST API tailored to perform inference on data fed to it from an Energy Management and Information System (EMIS). Sample application code is provided for the Skyspark platform.
Quick links
- Quick start instructions
- ORB API Reference
- ORB Functions
- Sample Skyspark client application
- Sample notebooks
- Project Website
This software was developed to provide an intuitive means for analyzing the operating schedules of building HVAC systems. Most HVAC systems operate on pre-determined time-of-day schedules, and many of these schedules remain unchanged for years. The COVID-19 pandemic has dramatically changed occupancy patterns in buildings as attempts at reducing occupant density lead to increased telework and modified shift schedules. Facility operators are increasing air exchange rates and lengthening operating schedules to accommodate public health concerns, often resulting in higher energy consumption for buildings with fewer occupants. Many HVAC systems lack the ability to sense whether a building is occupied or vacant, so a tool that can provide this information utilizing existing data sources is quite attractive for energy management purposes.
This repository was developed by Ryan Belfer, Clayton Monis, Laura Treider and Chris Weyandt as a Capstone project for the Masters of Information and Data Science (MIDS) degree program at the University of California, Berkeley. Please visit the official project webpage for additional information on our Capstone project.
The dataset used in this exploration was provided by Sustainable Berkeley Lab in a collaborative effort to develop inovative new tools for managing the energy performance of facilities at Lawrence Berkeley National Laboratory's campus in Berkeley, California, USA. The tools are actively deployed in dozens of buildings by SBL's Ongoing Commissioning team. All data sources were anonymized prior to analysis and remain unpublished for privacy reasons, however small samples of data are present throughout this repository. Explorations of the various data sources can be found in the examples/notebooks directory.
WiFi data collection is performed using the COUNT software developed by Lawrence Berkeley National Laboratory's Building Technologies & Urban Systems researchers. Data is collected every 5 minutes via SNMP queries to wireless access points, anonymized, and stored in a database for further analysis.
ORB Team - Ryan Belfer, Clayton Monis, Laura Treider, Chris Weyandt
Sustainable Berkeley Lab - John Elliott, Raphael Vitti
COUNT - Marco Pritoni, Anand Prakash, Marina Zafiris
LBL IT - Privacy analysis and implementation support
Fantom Factory - Temp License for afHttpClientExt
Concept:
- Alan Meier LBNL, UC Davis
- Marco Pritoni LBNL
- Bruce Nordman LBNL
- Zhe Wang LBNL
- David Blum LBNL
ORB is designed to be run entirely in docker. These instructions assume that docker has already been installed on the host system and is updated to the most current version.
Prerequisites:
git
docker
-
Clone the ORB repository from github:
git clone https://github.com/cweyandt/orb.git
-
Change directory to the repository:
cd orb
-
Build the docker images:
docker compose build
-
Start the docker containers in detached mode:
docker compose up -d
-
View container logs:
a.docker compose logs
- view existing logs for all containers
b.docker compose logs -f
- stream new logs for all containers (CTRL+C to exit)
c.docker compose logs -f orb
- stream logs for a specific container [orb, nginx, jupyter] -
Stop the ORB applications:
docker compose down
The following URLs are used to access ORB resources:
- http://localhost/ - Website
- http://localhost:8888/ - JupyterLab
- http://localhost/api/v1/docs - Swagger UI API Documentation
- http://localhost/api/v1/redoc - Redoc UI API Documentation
- http://localhost/api/v1 - API endpoint