Digital Buildings

repository·master·Indexed 19 days ago

https://github.com/google/digitalbuildings

A project providing a standardized, semantic schema and tools for modeling building equipment and infrastructure data. It includes the Internal Building Representation (IBR) file format, the ibr-sdk rendering library built on THREE.js, a png-parser for converting bitmap floor plans to IBR, and an RDF ontology for managing building topology and telemetry data using tools like OLGA, RDF4J, and SPARQL.

Tokens
41.3K
Snippets
95
Records
163
Agent score
66%

What's inside google-digitalbuildings

  1. What is ABEL?

    master

    ABEL (Automated Building Entity Loader) is a Python command-line tool designed to help systems integrators and DBO users manage Building Configuration YAML files using spreadsheets.

    Building configuration files are concrete instances of the ontology that define equipment, devices, and spaces (including device types, I/O points, and relationships). Because these files can contain thousands of entities, ABEL provides a spreadsheet-based workflow to avoid manual YAML editing errors.

    Key Features:

    • Spreadsheet to YAML: Create or edit a Google Sheet (using the ABEL Spreadsheet Template) and export it to a building configuration file.
    • Validation: Run an Instance Validator (with optional telemetry validation) during the conversion process to catch errors before onboarding.
    • YAML to Spreadsheet: Convert an existing building configuration file back into a Google Sheet for easier editing.
  2. Overview of the Internal Building Representation (IBR) File Format

    master

    The Internal Building Representation (IBR) is a single-file format designed to combine disparate building data verticals—such as spatial data, assets, and ontology—into a meaningful, portable structure. It is designed to be extensible without breaking changes, allowing developers to add new data types (like location mapping or space class relations) as their use cases evolve.

    Key components of the IBR ecosystem include:

    • Data Messages: Uses structures like Objects for asset tracking and Layers for spatial/mapping data.
    • ibr-sdk: A rendering library built on THREE.js used to create custom UIs for visualizing and editing IBR data.
    • png-parser: A parser that converts bitmap floor plans into IBR format by extracting outer boundaries and embedding the original bitmap into a visualization layer.
  3. Overview of the Digital Buildings Project

    master
    The Digital Buildings project provides an open-source, Apache-licensed schema and toolset for representing structured information about buildings and building-installed equipment. It aims to enable portable management applications and analyses by using semantically-expressive abstract modeling, a configuration language, and validation tools. The project is designed for human and machine readability, composability, dimensional analysis, and correctness validation.
  4. Overview of Digital Buildings Tools

    master

    The Digital Buildings ecosystem includes several specialized tools for working with the Digital Buildings Ontology (DBO) and Building Configuration files:

    • ABEL: Converts between Google Sheets spreadsheets and Building Configuration YAML files.
    • Explorer: Used to browse ontology types and their associated fields.
    • Instance Validator: Validates concrete building configuration files. It includes a sub-function for validating telemetry messages for reporting entities.
    • Ontology Validator: Validates local YAML ontology files when they are changed or extended.
  5. Overview of the ABEL Spreadsheet

    master

    The ABEL Spreadsheet is a user-friendly interface designed to help users create a Building Configuration file from scratch.

    Key Constraints:

    • Greenfield Only: ABEL currently only supports 'greenfield' building scenarios (onboarding a building for the first time) using the initialize operation.
    • No Updates: ABEL does not currently support update operations for existing Building Config files.
  6. Understand Subfields in the Digital Buildings Ontology

    master

    Subfields are the basic units of meaning in the ontology, analogous to 'tags' in other systems like Brick or Haystack. They are typically defined in a global namespace and must be unique within that namespace.

    Key characteristics:

    • Case Insensitivity: Subfield names may be camelCased for readability but are not case sensitive.
    • No Namespacing: You cannot refer to a subfield with a namespace identifier (e.g., HVAC/subfield is invalid).
    • Global Preference: Most subfields should be global. Defining a subfield locally prevents any field using it from being elevated to the global namespace.

    Subfields are categorized to dictate how they combine to form fields:

    <table>
      <tr
       <td class="strong">Category</strong></td
       <td class="strong">Description</strong></td
       <td class="strong">Examples</strong></td
       <td class="strong">Allowed Per Field</strong></td
       <td class="strong">Required</strong></td
      </tr>
      <tr>
       <td>Aggregation Descriptor</td>
       <td>Modifies aggregations to differentiate temporal (e.g., daily max) from spatial aggregation.</td>
       <td>daily, fivesecond, fivesecondrolling</td>
       <td>1</td>
       <td>Optional (Required if Aggregation is used)</td>
      </tr>
      <tr>
       <td>Aggregation</td>
       <td>Spatial aggregation (e.g., max of 3 sensors).</td>
       <td>Average, Max, Min</td>
       <td>1</td>
       <td>Optional</td>
      </tr>
      <tr>
       <td>Descriptor</td>
       <td>General purpose modifier (e.g., Discharge, Return, Zone).</td>
       <td>Discharge, Return, Zone, Primary, Chilled etc...</td>
       <td>10</td>
       <td>Optional</td>
      </tr>
      <tr>
       <td>Component</td>
       <td>Specific subcomponent (e.g., fan of a fan-coil unit).</td>
       <td>Valve, fan, damper...</td>
       <td>10</td>
       <td>Optional</td>
      </tr>
      <tr>
       <td>Measurement Descriptor</td>
       <td>Adds context to measurement (e.g., differential vs absolute pressure).</td>
       <td>Differential, relative, static</td>
       <td>1</td>
       <td>Optional</td>
      </tr>
      <tr>
       <td>Measurement</td>
       <td>The type of measurement (e.g., temperature). Required for numeric fields (except `count`).</td>
       <td>Temperature, flowrate, flowvolume</td>
       <td>1</td>
       <td>Optional</td>
      </tr>
      <tr>
       <td>Point Type</td>
       <td>Defines directionality, reading type, and telemetric vs static nature. **Required for every field.**</td>
       <td>Sensor, Setpoint, Status, Command, Count, Accumulator</td>
       <td>1</td>
       <td>Required</td>
      </tr>
    </table>
  7. Understand Building Configuration Modes (v1 Alpha vs v1 Beta)

    master

    Building configuration files operate in different modes depending on the version of the ontology being used:

    v1 Alpha (Current)

    • Interdependencies among entities are not allowed.
    • You are limited to at most 2 different operations across all entities in a single configuration; one of these must be EXPORT.
    • The Instance Validator will reject configurations that specify more than 2 operations if EXPORT is not present.

    v1 Beta

    • Interdependencies among entities are allowed.
    • There are no constraints on the number of operations used for entities within a configuration.
  8. Understand the hierarchy of Digital Buildings HVAC Types

    master

    The HVAC model uses a layered approach to define equipment and systems:

    1. General Types: Broad classifications used to group equipment with similar holistic functions (e.g., AHU, CH, PMP). These are applied based on the physical device, not just its telemetry.
    2. Abstract Types (Analysis Types): Functional groups that define how data points relate to control strategies. They are categorized into:
      • MONITORING: Fields that monitor current state (e.g., sensors, valve positions).
      • OPERATIONAL: Holds operating conditions, always including a sensor and setpoint pair.
      • CONTROLS: Fields necessary to analyze control system performance.
    3. Functional Types: Abstract groups (like functional groups) that are not applied directly to devices but are combined to create canonical types.

    When modeling, if a device has incomplete telemetry (e.g., a setpoint is missing), you should still apply the correct type and mark the unavailable fields as MISSING rather than creating a new, incomplete abstract type.

  9. Differentiate between Namespace-Aware and Namespace-Agnostic components

    master

    Components in the ontology behave differently regarding how they handle namespaces:

    Namespace-Aware Components

    These components carry an explicit namespace qualifier (e.g., HVAC/zone_temperature_sensor) unless they are elevated to the global namespace.

    • Fields, EntityTypes, and MultiStates are namespace-aware.
    • Due to Namespace Elevation, states in field files and fields in entity type files can often be written with the namespace omitted. A namespace is only strictly required when referencing a non-elevated field located in a different namespace.

    Namespace-Agnostic Components

    These components do not carry namespace qualifiers and behave as follows:

    • Subfields: These are not namespace-aware. They are used verbatim. If defined in a non-global namespace, they are only available within that namespace. A local subfield definition will override a global one for any fields defined in that specific namespace. It is best practice to define subfields in the global namespace.
    • Units and Connections: These are always defined globally.
  10. Use of optional fields in the DB model

    master

    Optional fields are used for "nice-to-have" information that does not impact core analysis but provides additional context (e.g., a secondary sensor used only for monitoring).

    Adding these fields as optional to a General Type or Functional Group helps reduce the total number of unique types required without complicating the primary data model.

  11. Understand Fan Coil Unit (FCU) type requirements

    master

    In the Digital Buildings Ontology, a Fan Coil Unit (FCU) is an air-side device used for space conditioning. To be classified as an FCU, a device must meet the following criteria:

    • It must have a fan.
    • It must condition the air in some way.
    • It must not handle outside air directly (it must only recirculate air).
    • It must handle return air from the space.

    Note that FCUs are not differentiated from heat pumps by type, unless the heat pump handles outside air directly or fails one of the requirements above. Space type (e.g., server room vs. office) is not part of the FCU definition; instead, the FCU should be connected to a ZONE with the appropriate space type designation.