UBC's SkySpark IoT platform, managed by UBC Energy and Water Services (EWS), collects data on weather and UBC buildings every 15 minutes. The Urban Data Lab (UDL) is streaming the SkySpark data into an InfluxDB instance to increase its accessibility and usability.
Public users (read permissions only) can log in to our InfluxDB 2.0 User Interface with the following credentials
- Username:
public02
- Password: contact UDL ([email protected]) to request password
Public users can also access this InfluxDB instance from InfluxDB command line interface or InfluxDB API client libraries using an authorization token - Please contact UDL ([email protected]) to request a token.
The Python tutorial demonstrates querying the InfluxDB database using the influxdb-client
Python module. Please contact UDL if you have any questions.
The SKYSPARK
database is a hitorical copy of the SkySpark data in 2020, and the live streaming has been terminated. Please refer to the diagram below for its structure.
Currently, UDL is developing the database SKYSPARK2
which will provide cleaner data on more buildings.
InfluxDB concepts: database, point, measurement, tag, field, timestamp
- For each data point on SkySpark, the
id
inPOINT
is the same as theuniqueID
inREADINGS
. - A SkySpark data point can have up to 155 tags (recorded in the
POINT
measuremt). Each data point usually has the following tagging information so we also record these tags inREADINGS
to simplify queries.- siteRef: a site is a facility (usually a building)
- groupRef: a group refers to a system or a floor in a building
- typeRef: type of the data point
- equipRed: information on the equipment
- navName: information interpreted and added by SkySpark managers
- unit: the unit of the reading value
- Each data point has the reading values stored in one of the following fields in
READINGS
:- val_num: float values
- val_bool: boolean values
- val_str: string values
- val_unk: value format unknown and stored as string
- Timestamps are in UTC on InfluxDB:
time
inREADINGS
is the time the reading values are recorded, andtime
inPOINT
is a constant value to allow overwriting the existing data (this happens at 2am daily).