From 9c63b78779311137e085f8fcf80e850ca241127b Mon Sep 17 00:00:00 2001 From: Auto Generated Date: Tue, 8 Oct 2024 22:53:18 +0000 Subject: [PATCH] Set .nuspec version to 1.0.1.136 --- Metadata/Willow.Ontology.DTDLv3.jsonld | 24709 +++++++++++------------ Metadata/Willow.Ontology.DTDLv3.nuspec | 2 +- 2 files changed, 12354 insertions(+), 12357 deletions(-) diff --git a/Metadata/Willow.Ontology.DTDLv3.jsonld b/Metadata/Willow.Ontology.DTDLv3.jsonld index 02e1b1d7..41e85c99 100644 --- a/Metadata/Willow.Ontology.DTDLv3.jsonld +++ b/Metadata/Willow.Ontology.DTDLv3.jsonld @@ -3446,914 +3446,847 @@ ] }, { - "@id": "dtmi:com:willowinc:EnergyRecoveryDevice;1", + "@id": "dtmi:com:willowinc:Event;1", "@type": "Interface", "displayName": { - "en": "Energy Recovery Device" + "en": "Event" }, "description": { - "en": "An asset component that transfers energy between two different streams of air." + "en": "A spatiotemporally indexed entity with participants (e.g., something which occurs somewhere, and that has or takes some time). We do not on this top level define the particulars of how to model space or time; that is left to the implementing subclasses. Thus, in a sense, this is just a cognitive clustering for human consumers of the ontology, a root class from which all different types of events derive." }, "extends": [], "contents": [ { - "@type": "Property", + "@type": "Relationship", + "name": "hasSettings", "displayName": { - "en": "nominal enthalpy recovery ratio (ERR)" + "en": "has settings" }, - "name": "nominalEnthalpyRecoveryRatio", - "schema": "double", - "writable": true + "description": { + "en": "Used to extend a twin\u0027s base properties with settings that can be used by applications or people to create functionality and experiences in the context of the twin." + }, + "target": "dtmi:com:willowinc:Settings;1" }, { - "@type": "Property", - "displayName": { - "en": "energy recovery method" + "@type": "Relationship", + "description": { + "en": "The entity responsible for generating or producing the event." }, - "name": "energyRecoveryMethod", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Sensible Energy Wheel", - "name": "SensibleEnergyWheel" - }, - { - "enumValue": "Enthalpy Wheel", - "name": "EnthalpyWheel" - }, - { - "enumValue": "DualWheel", - "name": "DualWheel" - }, - { - "enumValue": "Sensible Energy Core", - "name": "SensibleEnergyCore" - }, - { - "enumValue": "Enthalpy Core", - "name": "EnthalpyCore" - }, - { - "enumValue": "DualCoils", - "name": "DualCoils" - } - ], - "valueSchema": "string" + "displayName": { + "en": "Produced By" }, - "writable": true + "name": "producedBy" }, { - "@type": [ - "Property", - "Pressure" - ], + "@type": "Property", "displayName": { - "en": "supply cooling air pressure drop" + "en": "Created DateTime" }, - "name": "supplyCoolingAirPressureDrop", - "schema": "double", - "unit": "inchesOfWater" + "name": "createdDateTime", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", "displayName": { - "en": "supply cooling minimum airflow rating" + "en": "Updated DateTime" }, - "name": "supplyCoolingMinAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "name": "updatedDateTime", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", "displayName": { - "en": "supply cooling maximum airflow rating" + "en": "Cancelled DateTime" }, - "name": "supplyCoolingMaxAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "name": "cancelledDateTime", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", "displayName": { - "en": "supply cooling design eirflow" + "en": "Start DateTime" }, - "name": "supplyCoolingDesignAirflow", - "schema": "double", - "unit": "litrePerSecond" + "name": "startDateTime", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyCoolingDesignEnteringAirDryBulbTemperature", + "@type": "Property", "displayName": { - "en": "supply cooling design entering air dry bulb temperature" + "en": "End DateTime" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "endDateTime", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyCoolingDesignLeavingAirDryBulbTemperature", + "@type": "Property", "displayName": { - "en": "supply cooling design leaving air dry bulb temperature" + "en": "Custom Tags" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "customTags", + "schema": { + "@type": "Map", + "mapKey": { + "name": "tagName", + "schema": "string" + }, + "mapValue": { + "name": "tagValue", + "schema": "boolean" + } + }, + "writable": true }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyCoolingDesignEnteringAirWetBulbTemperature", + "@type": "Property", "displayName": { - "en": "supply cooling design entering air wet bulb temperature" + "en": "External IDs" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "externalIds", + "schema": { + "@type": "Map", + "mapKey": { + "name": "externalIdName", + "schema": "string" + }, + "mapValue": { + "name": "externalIdValue", + "schema": "string" + } + }, + "writable": true }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyCoolingDesignLeavingAirWetBulbTemperature", + "@type": "Property", "displayName": { - "en": "supply cooling design leaving air wet bulb temperature" + "en": "Mapped IDs" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "mappedIds", + "writable": true, + "schema": { + "@type": "Array", + "elementSchema": "dtmi:com:willowinc:EventMappedIdObject;1" + } }, { - "@type": [ - "Property", - "Pressure" - ], + "@type": "Property", + "name": "mappedConnectorId", "displayName": { - "en": "supply heating air pressure drop" + "en": "Mapped Connector ID" }, - "name": "supplyHeatingAirPressureDrop", - "schema": "double", - "unit": "inchesOfWater" + "description": { + "en": "The connector ID as created by Mapped and stored as the $dtid of a Connector Application twin for the connector which has defined and trends this Event." + }, + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", "displayName": { - "en": "supply heating minimum airflow rating" + "en": "name" }, - "name": "supplyHeatingMinAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "name": "name", + "schema": "string", + "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "name": "uniqueID", "displayName": { - "en": "supply heating maximum airflow rating" + "en": "Globally Unique ID" }, - "name": "supplyHeatingMaxAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "name": "externalID", "displayName": { - "en": "supply heating design eirflow" + "en": "External ID" }, - "name": "supplyHeatingDesignAirflow", - "schema": "double", - "unit": "litrePerSecond" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyHeatingDesignEnteringAirDryBulbTemperature", + "@type": "Property", + "name": "code", "displayName": { - "en": "supply heating design entering air dry bulb temperature" + "en": "Code" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyHeatingDesignLeavingAirDryBulbTemperature", + "@type": "Property", + "name": "description", "displayName": { - "en": "supply heating design leaving air dry bulb temperature" + "en": "Description" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyHeatingDesignEnteringAirWetBulbTemperature", + "@type": "Property", + "name": "siteID", "displayName": { - "en": "supply heating design entering air wet bulb temperature" + "en": "Site ID" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "supplyHeatingDesignLeavingAirWetBulbTemperature", + "@type": "Property", + "name": "connectorID", "displayName": { - "en": "supply heating design leaving air wet bulb temperature" + "en": "Connector ID" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string", + "comment": "Willow Connector identifier which manages the Capabiltiy" }, { - "@type": [ - "Property", - "Pressure" - ], + "@type": "Property", + "name": "alternateClassification", "displayName": { - "en": "exhaust cooling air pressure drop" + "en": "Alternate Classification" }, - "name": "exhaustCoolingAirPressureDrop", - "schema": "double", - "unit": "inchesOfWater" + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "projectHaystack", + "displayName": { + "en": "Project Haystack" + }, + "schema": "dtmi:com:willowinc:EventAlternateClassificationObject;1" + }, + { + "name": "brickSchema", + "displayName": { + "en": "Brick Schema" + }, + "schema": "dtmi:com:willowinc:EventAlternateClassificationObject;1" + } + ] + } }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "name": "customProperties", "displayName": { - "en": "exhaust cooling minimum airflow rating" + "en": "Custom Properties" }, - "name": "exhaustCoolingMinAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "schema": { + "@type": "Map", + "mapKey": { + "name": "sourceName", + "schema": "string" + }, + "mapValue": { + "name": "sourceProperties", + "schema": { + "@type": "Map", + "mapKey": { + "name": "propertyName", + "schema": "string" + }, + "mapValue": { + "name": "propertyValue", + "schema": "string" + } + } + } + } }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "name": "active", "displayName": { - "en": "exhaust cooling maximum airflow rating" + "en": "Active" }, - "name": "exhaustCoolingMaxAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "writable": true, + "schema": "boolean" + } + ], + "schemas": [ + { + "@id": "dtmi:com:willowinc:EventAlternateClassificationObject;1", + "@type": "Object", + "fields": [ + { + "name": "version", + "displayName": { + "en": "Version" + }, + "schema": "string" + }, + { + "name": "code", + "displayName": { + "en": "Code" + }, + "schema": "string" + } + ] }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], - "displayName": { - "en": "exhaust cooling design eirflow" + "@id": "dtmi:com:willowinc:EventMappedIdObject;1", + "@type": "Object", + "description": { + "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." }, - "name": "exhaustCoolingDesignAirflow", - "schema": "double", - "unit": "litrePerSecond" - }, + "fields": [ + { + "name": "exactType", + "displayName": { + "en": "Exact Type" + }, + "description": { + "en": "The type of Mapped identity such as ExternalIdentity, SpaceCode, or NameIdentity" + }, + "schema": "string" + }, + { + "name": "scope", + "displayName": { + "en": "Scope" + }, + "description": { + "en": "The scope of a Mapped identity such as BUILDING, CONNECTOR, or ORG." + }, + "schema": "string" + }, + { + "name": "scopeId", + "displayName": { + "en": "Scope ID" + }, + "description": { + "en": "The ID of the scope in Mapped. For a CONNECTOR, this is the ID of the source or destination connector." + }, + "schema": "string" + }, + { + "name": "value", + "displayName": { + "en": "Value" + }, + "description": { + "en": "The value of the identity as defined in the scope (i.e. Connector) and stored in Mapped." + }, + "schema": "string" + }, + { + "name": "dateCreated", + "displayName": { + "en": "Date Created" + }, + "description": { + "en": "The date the identity was created in Mapped." + }, + "schema": "dateTime" + } + ] + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Settings;1", + "@type": "Interface", + "displayName": { + "en": "Settings" + }, + "description": { + "en": "An abstract superclass for settings or properties that extend a twin\u0027s base properties." + }, + "extends": [], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Software;1", + "@type": "Interface", + "displayName": { + "en": "Software" + }, + "description": { + "en": "A set of instructions, data, and programs used to operate a computer or device and execute specific tasks." + }, + "extends": [], + "contents": [ { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustCoolingDesignEnteringAirDryBulbTemperature", + "@type": "Relationship", + "description": { + "en": "The coverage or impact area of a Software. For example: a connector application may serve several Buildings or an entire Land depending on the coverage of the system its communicating with. Inverse of: servedBy" + }, "displayName": { - "en": "exhaust cooling design entering air dry bulb temperature" + "en": "serves" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "serves" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustCoolingDesignLeavingAirDryBulbTemperature", + "@type": "Relationship", "displayName": { - "en": "exhaust cooling design leaving air dry bulb temperature" + "en": "hardware installed on" }, - "schema": "double", - "unit": "degreeCelsius" + "description": { + "en": "The physical hardware or device that the software is installed on." + }, + "name": "hardwareInstalledOn", + "target": "dtmi:com:willowinc:Asset;1" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustCoolingDesignEnteringAirWetBulbTemperature", + "@type": "Relationship", "displayName": { - "en": "exhaust cooling design entering air wet bulb temperature" + "en": "installed by" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "installedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustCoolingDesignLeavingAirWetBulbTemperature", + "@type": "Relationship", "displayName": { - "en": "exhaust cooling design leaving air wet bulb temperature" + "en": "serviced by" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "servicedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "Pressure" - ], + "@type": "Relationship", + "name": "hasDocument", "displayName": { - "en": "exhaust heating air pressure drop" + "en": "has document" }, - "name": "exhaustHeatingAirPressureDrop", - "schema": "double", - "unit": "inchesOfWater" + "target": "dtmi:com:willowinc:Document;1" }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Relationship", + "name": "hasSettings", "displayName": { - "en": "exhaust heating minimum airflow rating" + "en": "has settings" }, - "name": "exhaustHeatingMinAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "description": { + "en": "Used to extend a twin\u0027s base properties with settings that can be used by applications or people to create functionality and experiences in the context of the twin." + }, + "target": "dtmi:com:willowinc:Settings;1" }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Relationship", + "description": { + "en": "Property that defines the legal owner(s) of a given entity. Inverse of: owns" + }, "displayName": { - "en": "exhaust heating maximum airflow rating" + "en": "owned by" }, - "name": "exhaustHeatingMaxAirflowRating", - "schema": "double", - "unit": "litrePerSecond" + "name": "ownedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "name": "siteID", "displayName": { - "en": "exhaust heating design eirflow" + "en": "Site ID" }, - "name": "exhaustHeatingDesignAirflow", - "schema": "double", - "unit": "litrePerSecond" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustHeatingDesignEnteringAirDryBulbTemperature", + "@type": "Property", "displayName": { - "en": "exhaust heating design entering air dry bulb temperature" + "en": "name" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "name", + "schema": "string", + "writable": true }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustHeatingDesignLeavingAirDryBulbTemperature", + "@type": "Property", + "name": "uniqueID", "displayName": { - "en": "exhaust heating design leaving air dry bulb temperature" + "en": "Globally Unique ID" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustHeatingDesignEnteringAirWetBulbTemperature", + "@type": "Property", + "name": "description", "displayName": { - "en": "exhaust heating design entering air wet bulb temperature" + "en": "Description" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "Temperature" - ], - "name": "exhaustHeatingDesignLeavingAirWetBulbTemperature", + "@type": "Property", + "name": "externalIds", "displayName": { - "en": "exhaust heating design leaving air wet bulb temperature" + "en": "External IDs" }, - "schema": "double", - "unit": "degreeCelsius" + "schema": { + "@type": "Map", + "mapKey": { + "name": "externalIdName", + "schema": "string" + }, + "mapValue": { + "name": "externalIdValue", + "schema": "string" + } + } }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "supply cooling air pressure drop unit" + "en": "Mapped IDs" }, - "name": "supplyCoolingAirPressureDropUnit", - "annotates": "supplyCoolingAirPressureDrop", - "overrides": "unit", - "schema": "PressureUnit" + "name": "mappedIds", + "writable": true, + "schema": { + "@type": "Array", + "elementSchema": "dtmi:com:willowinc:SoftwareMappedIdObject;1" + } }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "customProperties", "displayName": { - "en": "supply cooling minimum airflow rating unit" + "en": "Custom Properties" }, - "name": "supplyCoolingMinAirflowRatingUnit", - "annotates": "supplyCoolingMinAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "schema": { + "@type": "Map", + "mapKey": { + "name": "sourceName", + "schema": "string" + }, + "mapValue": { + "name": "sourceProperties", + "schema": { + "@type": "Map", + "mapKey": { + "name": "propertyName", + "schema": "string" + }, + "mapValue": { + "name": "propertyValue", + "schema": "string" + } + } + } + } }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "alternateClassification", "displayName": { - "en": "supply cooling maximum airflow rating unit" + "en": "Alternate Classification" }, - "name": "supplyCoolingMaxAirflowRatingUnit", - "annotates": "supplyCoolingMaxAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "masterFormat", + "displayName": { + "en": "MasterFormat" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + }, + { + "name": "omniClass", + "displayName": { + "en": "OmniClass" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + }, + { + "name": "uniFormat", + "displayName": { + "en": "UniFormat" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + }, + { + "name": "uniclass", + "displayName": { + "en": "Uniclass" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + }, + { + "name": "projectHaystack", + "displayName": { + "en": "Project Haystack" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + }, + { + "name": "brickSchema", + "displayName": { + "en": "Brick Schema" + }, + "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + } + ] + } }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "version", "displayName": { - "en": "supply cooling design airflow unit" + "en": "Version" }, - "name": "supplyCoolingDesignAirflowUnit", - "annotates": "supplyCoolingDesignAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "description": { + "en": "Indicates the version number of the software." + }, + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "supply cooling design entering air dry bulb temperature unit" + "en": "installation date" }, - "name": "supplyCoolingDesignEnteringAirDryBulbTemperatureUnit", - "annotates": "supplyCoolingDesignEnteringAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "installationDate", + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "lastUpdatedDate", "displayName": { - "en": "supply cooling design leaving air dry bulb temperature unit" + "en": "Last Updated Date" }, - "name": "supplyCoolingDesignLeavingAirDryBulbTemperatureUnit", - "annotates": "supplyCoolingDesignLeavingAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "schema": "dateTime", + "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "enabled", "displayName": { - "en": "supply coolign design entering air wet bulb temperature unit" + "en": "Is Enabled" }, - "name": "supplyCoolingDesignEnteringAirWetBulbTemperatureUnit", - "annotates": "supplyCoolingDesignEnteringAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "writable": true, + "schema": "boolean" + } + ], + "schemas": [ + { + "@id": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1", + "@type": "Object", + "fields": [ + { + "name": "version", + "displayName": { + "en": "Version" + }, + "schema": "string" + }, + { + "name": "code", + "displayName": { + "en": "Code" + }, + "schema": "string" + } + ] }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "supply cooling design leaving air wet bulb temperature unit" + "@id": "dtmi:com:willowinc:SoftwareMappedIdObject;1", + "@type": "Object", + "description": { + "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." }, - "name": "supplyCoolingDesignLeavingAirWetBulbTemperatureUnit", - "annotates": "supplyCoolingDesignLeavingAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, + "fields": [ + { + "name": "exactType", + "displayName": { + "en": "Exact Type" + }, + "description": { + "en": "The type of Mapped identity such as ExternalIdentity, SpaceCode, or NameIdentity" + }, + "schema": "string" + }, + { + "name": "scope", + "displayName": { + "en": "Scope" + }, + "description": { + "en": "The scope of a Mapped identity such as BUILDING, CONNECTOR, or ORG." + }, + "schema": "string" + }, + { + "name": "scopeId", + "displayName": { + "en": "Scope ID" + }, + "description": { + "en": "The ID of the scope in Mapped. For a CONNECTOR, this is the ID of the source or destination connector." + }, + "schema": "string" + }, + { + "name": "value", + "displayName": { + "en": "Value" + }, + "description": { + "en": "The value of the identity as defined in the scope (i.e. Connector) and stored in Mapped." + }, + "schema": "string" + }, + { + "name": "dateCreated", + "displayName": { + "en": "Date Created" + }, + "description": { + "en": "The date the identity was created in Mapped." + }, + "schema": "dateTime" + } + ] + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Space;1", + "@type": "Interface", + "displayName": { + "en": "Space" + }, + "description": { + "en": "A contiguous part of the physical world that has a 3D spatial extent and that contains or can contain sub-spaces. E.g., a Region can contain many pieces of Land, which in turn can contain many Buildings." + }, + "extends": [], + "contents": [ { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "description": { + "en": "Indicates that a Space or Asset is served by some Sensor/Actuator or other Asset. For example: an entrance room might be served by (e.g., covered by) some camera equipment, or a conference room served by a CO2 sensor. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: serves" + }, "displayName": { - "en": "supply heating air pressure drop unit" + "en": "served by" }, - "name": "supplyHeatingAirPressureDropUnit", - "annotates": "supplyHeatingAirPressureDrop", - "overrides": "unit", - "schema": "PressureUnit" + "name": "servedBy", + "properties": [ + { + "@type": "Property", + "name": "connectorOnboardingStatus", + "displayName": { + "en": "Connector Onboarding Status" + }, + "description": { + "en": "The status of onboarding the twins and relationships for a connector that has been installed. Used to filter out data quality alerts for connectors that are not Complete." + }, + "writable": true, + "schema": "dtmi:com:willowinc:SpaceServedByConnectorOnboardingStatus;1" + } + ] }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "description": { + "en": "The coverage or impact area of a given Asset or Sensor/Actuator. For example: an air-treatment unit might serve several Rooms or a full Building. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: servedBy" + }, "displayName": { - "en": "supply heating minimum airflow rating unit" + "en": "serves" }, - "name": "supplyHeatingMinAirflowRatingUnit", - "annotates": "supplyHeatingMinAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "name": "serves" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "description": { + "en": "Indicates that two spaces are adjacent to each other." + }, "displayName": { - "en": "supply heating maximum airflow rating unit" + "en": "is adjacent to" }, - "name": "supplyHeatingMaxAirflowRatingUnit", - "annotates": "supplyHeatingMaxAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "name": "isAdjacentTo", + "target": "dtmi:com:willowinc:Space;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "description": { + "en": "Property that defines the legal owner(s) of a given entity. Inverse of: owns" + }, "displayName": { - "en": "supply heating design airflow unit" + "en": "owned by" }, - "name": "supplyHeatingDesignAirflowUnit", - "annotates": "supplyHeatingDesignAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "name": "ownedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "supply heating design entering air dry bulb temperature unit" - }, - "name": "supplyHeatingDesignEnteringAirDryBulbTemperatureUnit", - "annotates": "supplyHeatingDesignEnteringAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "supply heating design leaving air dry bulb temperature unit" - }, - "name": "supplyHeatingDesignLeavingAirDryBulbTemperatureUnit", - "annotates": "supplyHeatingDesignLeavingAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "supply coolign design entering air wet bulb temperature unit" - }, - "name": "supplyHeatingDesignEnteringAirWetBulbTemperatureUnit", - "annotates": "supplyHeatingDesignEnteringAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "supply heating design leaving air wet bulb temperature unit" - }, - "name": "supplyHeatingDesignLeavingAirWetBulbTemperatureUnit", - "annotates": "supplyHeatingDesignLeavingAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling air pressure drop unit" - }, - "name": "exhaustCoolingAirPressureDropUnit", - "annotates": "exhaustCoolingAirPressureDrop", - "overrides": "unit", - "schema": "PressureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling minimum airflow rating unit" - }, - "name": "exhaustCoolingMinAirflowRatingUnit", - "annotates": "exhaustCoolingMinAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling maximum airflow rating unit" - }, - "name": "exhaustCoolingMaxAirflowRatingUnit", - "annotates": "exhaustCoolingMaxAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling design airflow unit" - }, - "name": "exhaustCoolingDesignAirflowUnit", - "annotates": "exhaustCoolingDesignAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling design entering air dry bulb temperature unit" - }, - "name": "exhaustCoolingDesignEnteringAirDryBulbTemperatureUnit", - "annotates": "exhaustCoolingDesignEnteringAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust cooling design leaving air dry bulb temperature unit" - }, - "name": "exhaustCoolingDesignLeavingAirDryBulbTemperatureUnit", - "annotates": "exhaustCoolingDesignLeavingAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust coolign design entering air wet bulb temperature unit" - }, - "name": "exhaustCoolingDesignEnteringAirWetBulbTemperatureUnit", - "annotates": "exhaustCoolingDesignEnteringAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", "displayName": { - "en": "exhaust cooling design leaving air wet bulb temperature unit" + "en": "operated by" }, - "name": "exhaustCoolingDesignLeavingAirWetBulbTemperatureUnit", - "annotates": "exhaustCoolingDesignLeavingAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "operatedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust heating air pressure drop unit" + "@type": "Relationship", + "description": { + "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" }, - "name": "exhaustHeatingAirPressureDropUnit", - "annotates": "exhaustHeatingAirPressureDrop", - "overrides": "unit", - "schema": "PressureUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], "displayName": { - "en": "exhaust heating minimum airflow rating unit" + "en": "is part of" }, - "name": "exhaustHeatingMinAirflowRatingUnit", - "annotates": "exhaustHeatingMinAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "name": "isPartOf", + "target": "dtmi:com:willowinc:Space;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", "displayName": { - "en": "exhaust heating maximum airflow rating unit" + "en": "located in grid region" }, - "name": "exhaustHeatingMaxAirflowRatingUnit", - "annotates": "exhaustHeatingMaxAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" + "name": "locatedInGridRegion", + "target": "dtmi:com:willowinc:Space;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust heating design airflow unit" + "@type": "Relationship", + "description": { + "en": "Indicates that an entity is included in some Collection, e.g., a Building is included in a RealEstate, or a Room is included in an Apartment. Inverse of: includes" }, - "name": "exhaustHeatingDesignAirflowUnit", - "annotates": "exhaustHeatingDesignAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], "displayName": { - "en": "exhaust heating design entering air dry bulb temperature unit" + "en": "included in" }, - "name": "exhaustHeatingDesignEnteringAirDryBulbTemperatureUnit", - "annotates": "exhaustHeatingDesignEnteringAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "includedIn", + "target": "dtmi:com:willowinc:Collection;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", "displayName": { - "en": "exhaust heating design leaving air dry bulb temperature unit" + "en": "constructed by" }, - "name": "exhaustHeatingDesignLeavingAirDryBulbTemperatureUnit", - "annotates": "exhaustHeatingDesignLeavingAirDryBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "constructedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", "displayName": { - "en": "exhaust coolign design entering air wet bulb temperature unit" + "en": "architected by" }, - "name": "exhaustHeatingDesignEnteringAirWetBulbTemperatureUnit", - "annotates": "exhaustHeatingDesignEnteringAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "architectedBy", + "target": "dtmi:com:willowinc:Agent;1" }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "exhaust heating design leaving air wet bulb temperature unit" - }, - "name": "exhaustHeatingDesignLeavingAirWetBulbTemperatureUnit", - "annotates": "exhaustHeatingDesignLeavingAirWetBulbTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Event;1", - "@type": "Interface", - "displayName": { - "en": "Event" - }, - "description": { - "en": "A spatiotemporally indexed entity with participants (e.g., something which occurs somewhere, and that has or takes some time). We do not on this top level define the particulars of how to model space or time; that is left to the implementing subclasses. Thus, in a sense, this is just a cognitive clustering for human consumers of the ontology, a root class from which all different types of events derive." - }, - "extends": [], - "contents": [ { "@type": "Relationship", "name": "hasSettings", @@ -4367,58 +4300,11 @@ }, { "@type": "Relationship", - "description": { - "en": "The entity responsible for generating or producing the event." - }, - "displayName": { - "en": "Produced By" - }, - "name": "producedBy" - }, - { - "@type": "Property", - "displayName": { - "en": "Created DateTime" - }, - "name": "createdDateTime", - "schema": "dateTime", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "Updated DateTime" - }, - "name": "updatedDateTime", - "schema": "dateTime", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "Cancelled DateTime" - }, - "name": "cancelledDateTime", - "schema": "dateTime", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "Start DateTime" - }, - "name": "startDateTime", - "schema": "dateTime", - "writable": true - }, - { - "@type": "Property", + "name": "hasDocument", "displayName": { - "en": "End DateTime" + "en": "has document" }, - "name": "endDateTime", - "schema": "dateTime", - "writable": true + "target": "dtmi:com:willowinc:Document;1" }, { "@type": "Property", @@ -4467,29 +4353,107 @@ "writable": true, "schema": { "@type": "Array", - "elementSchema": "dtmi:com:willowinc:EventMappedIdObject;1" + "elementSchema": "dtmi:com:willowinc:SpaceMappedIdObject;1" } }, { "@type": "Property", - "name": "mappedConnectorId", "displayName": { - "en": "Mapped Connector ID" + "en": "name" + }, + "name": "name", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "occupiable" }, + "name": "occupiable", "description": { - "en": "The connector ID as created by Mapped and stored as the $dtid of a Connector Application twin for the connector which has defined and trends this Event." + "en": "A space designed for human occupancy in which individuals may remain for a period of time for rest, amusement, education, dining, shopping, employment, or other similar purposes." + }, + "schema": "boolean", + "writable": true + }, + { + "@type": "Component", + "name": "area", + "displayName": { + "en": "Area" + }, + "schema": "dtmi:com:willowinc:SpaceArea;1" + }, + { + "@type": "Component", + "name": "capacity", + "displayName": { + "en": "Capacity" + }, + "schema": "dtmi:com:willowinc:SpaceCapacity;1" + }, + { + "@type": "Component", + "name": "occupancy", + "displayName": { + "en": "Occupancy" + }, + "schema": "dtmi:com:willowinc:SpaceOccupancy;1" + }, + { + "@type": "Component", + "name": "temperature", + "displayName": { + "en": "Temperature" + }, + "schema": "dtmi:com:willowinc:SpaceTemperature;1" + }, + { + "@type": "Component", + "name": "humidity", + "displayName": { + "en": "Humidity" + }, + "schema": "dtmi:com:willowinc:SpaceHumidity;1" + }, + { + "@type": "Component", + "name": "CO2", + "displayName": { + "en": "CO2" + }, + "schema": "dtmi:com:willowinc:SpaceCO2;1" + }, + { + "@type": "Property", + "name": "geometryViewerID", + "displayName": { + "en": "Geometry Viewer ID" }, "writable": true, - "schema": "string" + "schema": "string", + "comment": "Reference for geometry rendering (i.e. ForgeViewerID)" }, { "@type": "Property", + "name": "geometrySpatialReference", "displayName": { - "en": "name" + "en": "Geometry Spatial Reference" }, - "name": "name", + "writable": true, "schema": "string", - "writable": true + "comment": "Reference for displaying in spatial context" + }, + { + "@type": "Property", + "name": "geometryExternalID", + "displayName": { + "en": "Geometry External ID" + }, + "writable": true, + "schema": "string", + "comment": "Reference to geometry source (i.e. Revit GUID)" }, { "@type": "Property", @@ -4538,13 +4502,13 @@ }, { "@type": "Property", - "name": "connectorID", + "name": "landId", "displayName": { - "en": "Connector ID" + "en": "Land ID" }, "writable": true, "schema": "string", - "comment": "Willow Connector identifier which manages the Capabiltiy" + "comment": "Reference of the land (i.e. campus, site, airport) to which the asset belongs. A Customer has one or many Lands. Land is considered the top-level entity for binding airport twins." }, { "@type": "Property", @@ -4556,19 +4520,47 @@ "schema": { "@type": "Object", "fields": [ + { + "name": "masterFormat", + "displayName": { + "en": "MasterFormat" + }, + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" + }, + { + "name": "omniClass", + "displayName": { + "en": "OmniClass" + }, + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" + }, + { + "name": "uniFormat", + "displayName": { + "en": "UniFormat" + }, + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" + }, + { + "name": "uniclass", + "displayName": { + "en": "Uniclass" + }, + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" + }, { "name": "projectHaystack", "displayName": { "en": "Project Haystack" }, - "schema": "dtmi:com:willowinc:EventAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" }, { "name": "brickSchema", "displayName": { "en": "Brick Schema" }, - "schema": "dtmi:com:willowinc:EventAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" } ] } @@ -4600,20 +4592,11 @@ } } } - }, - { - "@type": "Property", - "name": "active", - "displayName": { - "en": "Active" - }, - "writable": true, - "schema": "boolean" } ], "schemas": [ { - "@id": "dtmi:com:willowinc:EventAlternateClassificationObject;1", + "@id": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1", "@type": "Object", "fields": [ { @@ -4633,7 +4616,7 @@ ] }, { - "@id": "dtmi:com:willowinc:EventMappedIdObject;1", + "@id": "dtmi:com:willowinc:SpaceMappedIdObject;1", "@type": "Object", "description": { "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." @@ -4690,59 +4673,58 @@ "schema": "dateTime" } ] - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Settings;1", - "@type": "Interface", - "displayName": { - "en": "Settings" - }, - "description": { - "en": "An abstract superclass for settings or properties that extend a twin\u0027s base properties." - }, - "extends": [], - "contents": [], + }, + { + "@id": "dtmi:com:willowinc:SpaceServedByConnectorOnboardingStatus;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "enumValue": "InProgress", + "name": "InProgress", + "displayName": { + "en": "In Progress" + } + }, + { + "enumValue": "Complete", + "name": "Complete", + "displayName": { + "en": "Complete" + } + }, + { + "enumValue": "Retired", + "name": "Retired", + "displayName": { + "en": "Retired" + } + } + ] + } + ], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Software;1", + "@id": "dtmi:com:willowinc:Structure;1", "@type": "Interface", "displayName": { - "en": "Software" + "en": "Structure" }, "description": { - "en": "A set of instructions, data, and programs used to operate a computer or device and execute specific tasks." + "en": "An entity which is constructed." }, "extends": [], "contents": [ - { - "@type": "Relationship", - "description": { - "en": "The coverage or impact area of a Software. For example: a connector application may serve several Buildings or an entire Land depending on the coverage of the system its communicating with. Inverse of: servedBy" - }, - "displayName": { - "en": "serves" - }, - "name": "serves" - }, { "@type": "Relationship", "displayName": { - "en": "hardware installed on" - }, - "description": { - "en": "The physical hardware or device that the software is installed on." + "en": "commissioned by" }, - "name": "hardwareInstalledOn", - "target": "dtmi:com:willowinc:Asset;1" + "name": "commissionedBy", + "target": "dtmi:com:willowinc:Agent;1" }, { "@type": "Relationship", @@ -4779,6 +4761,80 @@ }, "target": "dtmi:com:willowinc:Settings;1" }, + { + "@type": "Relationship", + "name": "serviceResponsibility", + "displayName": { + "en": "Service Responsibilitly" + }, + "target": "dtmi:com:willowinc:Agent;1" + }, + { + "@type": "Relationship", + "displayName": { + "en": "located in" + }, + "name": "locatedIn", + "target": "dtmi:com:willowinc:Space;1" + }, + { + "@type": "Relationship", + "description": { + "en": "Indicates that an entity is included in some Collection, e.g., a Building is included in a RealEstate, or a Track is included in a Network. Inverse of: includes" + }, + "displayName": { + "en": "included in" + }, + "name": "includedIn", + "target": "dtmi:com:willowinc:Collection;1" + }, + { + "@type": "Relationship", + "displayName": { + "en": "constructed by" + }, + "name": "constructedBy", + "target": "dtmi:com:willowinc:Agent;1" + }, + { + "@type": "Relationship", + "displayName": { + "en": "architected by" + }, + "name": "architectedBy", + "target": "dtmi:com:willowinc:Agent;1" + }, + { + "@type": "Relationship", + "description": { + "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" + }, + "displayName": { + "en": "is part of" + }, + "name": "isPartOf", + "target": "dtmi:com:willowinc:Structure;1" + }, + { + "@type": "Relationship", + "description": { + "en": "Indicates that a Space or Asset is served by some Sensor/Actuator or other Asset. For example: an entrance room might be served by (e.g., covered by) some camera equipment, or a conference room served by a CO2 sensor. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset." + }, + "displayName": { + "en": "served by" + }, + "name": "servedBy" + }, + { + "@type": "Relationship", + "description": { + "en": "The coverage or impact area of a given Asset or Sensor/Actuator. For example: an air-treatment unit might serve several Rooms or a full Building. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: servedBy" + }, + "displayName": { + "en": "serves" + }, + "name": "serves" + }, { "@type": "Relationship", "description": { @@ -4801,21 +4857,50 @@ }, { "@type": "Property", + "name": "landId", "displayName": { - "en": "name" + "en": "Land ID" }, - "name": "name", + "writable": true, "schema": "string", - "writable": true + "comment": "Reference of the land (i.e. campus, site, airport) to which the twin belongs. A Customer has one or many Lands. Land is considered the top-level entity for binding construction twins." }, { "@type": "Property", - "name": "uniqueID", + "name": "coordinates", "displayName": { - "en": "Globally Unique ID" + "en": "Coordinates" }, "writable": true, - "schema": "string" + "schema": { + "@id": "dtmi:com:willowinc:StructureCoordinates;1", + "@type": "Object", + "fields": [ + { + "name": "latitude", + "displayName": { + "en": "Latitude" + }, + "schema": "double" + }, + { + "name": "longitude", + "displayName": { + "en": "Longitude" + }, + "schema": "double" + } + ] + } + }, + { + "@type": "Property", + "displayName": { + "en": "name" + }, + "name": "name", + "schema": "string", + "writable": true }, { "@type": "Property", @@ -4853,7 +4938,7 @@ "writable": true, "schema": { "@type": "Array", - "elementSchema": "dtmi:com:willowinc:SoftwareMappedIdObject;1" + "elementSchema": "dtmi:com:willowinc:StructureMappedIdObject;1" } }, { @@ -4899,89 +4984,170 @@ "displayName": { "en": "MasterFormat" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" }, { "name": "omniClass", "displayName": { "en": "OmniClass" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" }, { "name": "uniFormat", "displayName": { "en": "UniFormat" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" }, { "name": "uniclass", "displayName": { "en": "Uniclass" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" }, { "name": "projectHaystack", "displayName": { "en": "Project Haystack" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" }, { "name": "brickSchema", "displayName": { "en": "Brick Schema" }, - "schema": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1" + "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" } ] } }, { "@type": "Property", - "name": "version", + "name": "geometryViewerID", "displayName": { - "en": "Version" + "en": "Geometry Viewer ID" }, - "description": { - "en": "Indicates the version number of the software." + "writable": true, + "schema": "string", + "comment": "Reference for geometry rendering (i.e. ForgeViewerID)" + }, + { + "@type": "Property", + "name": "geometrySpatialReference", + "displayName": { + "en": "Geometry Spatial Reference" + }, + "writable": true, + "schema": "string", + "comment": "Reference for displaying in spatial context" + }, + { + "@type": "Property", + "name": "geometryExternalID", + "displayName": { + "en": "Geometry External ID" + }, + "writable": true, + "schema": "string", + "comment": "Reference to geometry source (i.e. Revit GUID)" + }, + { + "@type": "Property", + "name": "uniqueID", + "displayName": { + "en": "Globally Unique ID" }, "writable": true, "schema": "string" }, + { + "@type": "Property", + "displayName": { + "en": "commission date" + }, + "name": "commissionDate", + "schema": "date", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "expected end-of-life" + }, + "name": "expectedEndOfLife", + "schema": "date", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "expected life" + }, + "name": "expectedLife", + "schema": "duration", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "expected replacement cost" + }, + "name": "expectedReplacementCost", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "initial cost" + }, + "name": "initialCost", + "schema": "string", + "writable": true + }, { "@type": "Property", "displayName": { "en": "installation date" }, "name": "installationDate", - "schema": "dateTime", + "schema": "date", "writable": true }, { "@type": "Property", - "name": "lastUpdatedDate", "displayName": { - "en": "Last Updated Date" + "en": "maintenance interval" }, - "schema": "dateTime", + "name": "maintenanceInterval", + "schema": "duration", "writable": true }, { "@type": "Property", - "name": "enabled", "displayName": { - "en": "Is Enabled" + "en": "turnover date" }, - "writable": true, - "schema": "boolean" + "name": "turnoverDate", + "schema": "date", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "physical tag number" + }, + "name": "physicalTagNumber", + "schema": "string", + "writable": true } ], "schemas": [ { - "@id": "dtmi:com:willowinc:SoftwareAlternateClassificationObject;1", + "@id": "dtmi:com:willowinc:StructureAlternateClassificationObject;1", "@type": "Object", "fields": [ { @@ -5001,7 +5167,7 @@ ] }, { - "@id": "dtmi:com:willowinc:SoftwareMappedIdObject;1", + "@id": "dtmi:com:willowinc:StructureMappedIdObject;1", "@type": "Object", "description": { "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." @@ -5065,1356 +5231,1892 @@ ] }, { - "@id": "dtmi:com:willowinc:Space;1", + "@id": "dtmi:com:willowinc:Actuator;1", "@type": "Interface", "displayName": { - "en": "Space" + "en": "Actuator" }, "description": { - "en": "A contiguous part of the physical world that has a 3D spatial extent and that contains or can contain sub-spaces. E.g., a Region can contain many pieces of Land, which in turn can contain many Buildings." + "en": "An actuator takes some control input and executes some real-world action based on this input. Examples include setting dampers/valves in heating/cooling systems at certain configurations, opening or closing a smart lock, turning on or off an electric radiator, etc. REC does not provide semantics for every type of actuator you might find in a building; rather we here provide classes and properties that allows users to define their own actuator models, based on the systems they have, adhering to REC." }, - "extends": [], + "extends": [ + "dtmi:com:willowinc:Capability;1" + ], "contents": [ { "@type": "Relationship", "description": { - "en": "Indicates that a Space or Asset is served by some Sensor/Actuator or other Asset. For example: an entrance room might be served by (e.g., covered by) some camera equipment, or a conference room served by a CO2 sensor. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: serves" - }, - "displayName": { - "en": "served by" - }, - "name": "servedBy", - "properties": [ - { - "@type": "Property", - "name": "connectorOnboardingStatus", - "displayName": { - "en": "Connector Onboarding Status" - }, - "description": { - "en": "The status of onboarding the twins and relationships for a connector that has been installed. Used to filter out data quality alerts for connectors that are not Complete." - }, - "writable": true, - "schema": "dtmi:com:willowinc:SpaceServedByConnectorOnboardingStatus;1" - } - ] - }, - { - "@type": "Relationship", - "description": { - "en": "The coverage or impact area of a given Asset or Sensor/Actuator. For example: an air-treatment unit might serve several Rooms or a full Building. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: servedBy" - }, - "displayName": { - "en": "serves" - }, - "name": "serves" - }, - { - "@type": "Relationship", - "description": { - "en": "Indicates that two spaces are adjacent to each other." - }, - "displayName": { - "en": "is adjacent to" - }, - "name": "isAdjacentTo", - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": "Relationship", - "description": { - "en": "Property that defines the legal owner(s) of a given entity. Inverse of: owns" + "en": "Generic property indicating which sensors that are configured or designed to observe some feature, system, phenomenon, etc. Inverse of: observes" }, "displayName": { - "en": "owned by" + "en": "observed by" }, - "name": "ownedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, + "name": "observedBy", + "target": "dtmi:com:willowinc:Sensor;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportSpace;1", + "@type": "Interface", + "displayName": { + "en": "Airport Space" + }, + "description": { + "en": "A space that has a defined purpose to support the movement, management, and operations of people and vehicles at an airport." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AirportGateBlockEvent;1", + "@type": "Interface", + "displayName": { + "en": "Airport Gate Block Event" + }, + "description": { + "en": "An event at an airport gate related to a flight arriving (In-block) or departing (Off-block) at the gate." + }, + "extends": [ + "dtmi:com:willowinc:Event;1" + ], + "contents": [ { - "@type": "Relationship", + "@type": "Property", + "name": "flight", "displayName": { - "en": "operated by" + "en": "Flight" }, - "name": "operatedBy", - "target": "dtmi:com:willowinc:Agent;1" + "writable": true, + "schema": { + "@id": "dtmi:com:willowinc:BlockEventFlight;1", + "@type": "Object", + "fields": [ + { + "name": "flightNumber", + "displayName": { + "en": "Flight Number" + }, + "description": { + "en": "Callsign identifying the flight. Typically, ICAO airline code plus IATA/ticketing flight number, or the aircraft registration. (i.e. AAL1234)" + }, + "schema": "string" + }, + { + "name": "origin", + "displayName": { + "en": "Origin" + }, + "description": { + "en": "The departure airport code." + }, + "schema": "string" + }, + { + "name": "destination", + "displayName": { + "en": "Destination" + }, + "description": { + "en": "The arrival airport code." + }, + "schema": "string" + } + ] + } }, { - "@type": "Relationship", - "description": { - "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" - }, + "@type": "Property", + "name": "aircraft", "displayName": { - "en": "is part of" + "en": "Aircraft" }, - "name": "isPartOf", - "target": "dtmi:com:willowinc:Space;1" + "writable": true, + "schema": { + "@id": "dtmi:com:willowinc:BlockEventAircraft;1", + "@type": "Object", + "fields": [ + { + "name": "registration", + "displayName": { + "en": "Registration" + }, + "description": { + "en": "The tail number or registration of the aircraft (i.e. N7740A)" + }, + "schema": "string" + }, + { + "name": "typeDesignator", + "displayName": { + "en": "Type Designator" + }, + "description": { + "en": "The FAA or ICAO aircraft type designator which is a code for the manufacturer and model number (i.e. B3XM) " + }, + "schema": "string" + } + ] + } }, { - "@type": "Relationship", + "@type": "Property", + "name": "reportTime", "displayName": { - "en": "located in grid region" + "en": "Report Time" }, - "name": "locatedInGridRegion", - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": "Relationship", "description": { - "en": "Indicates that an entity is included in some Collection, e.g., a Building is included in a RealEstate, or a Room is included in an Apartment. Inverse of: includes" - }, - "displayName": { - "en": "included in" - }, - "name": "includedIn", - "target": "dtmi:com:willowinc:Collection;1" - }, - { - "@type": "Relationship", - "displayName": { - "en": "constructed by" - }, - "name": "constructedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "displayName": { - "en": "architected by" + "en": "Time the message was generated by the flight hardware in POSIX epoch format (i.e. 1596067258)" }, - "name": "architectedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "name": "hasSettings", - "displayName": { - "en": "has settings" - }, - "description": { - "en": "Used to extend a twin\u0027s base properties with settings that can be used by applications or people to create functionality and experiences in the context of the twin." - }, - "target": "dtmi:com:willowinc:Settings;1" - }, - { - "@type": "Relationship", - "name": "hasDocument", - "displayName": { - "en": "has document" - }, - "target": "dtmi:com:willowinc:Document;1" - }, + "writable": true, + "schema": "float" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Aisle;1", + "@type": "Interface", + "displayName": { + "en": "Aisle" + }, + "description": { + "en": "A passage that separates rows of assets such as seat sections in a theater or product displays in a store. Aisles are used when Rooms are too large to provide sufficient location context." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AisleSection;1", + "@type": "Interface", + "displayName": { + "en": "Aisle Section" + }, + "description": { + "en": "A part of an aisle that identifies a specific linear section where goods are displayed, a.k.a modular, MOD, plan-o-gram, or POG." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Application;1", + "@type": "Interface", + "displayName": { + "en": "Application" + }, + "description": { + "en": "A computer programed designed to carry out a specific task other than the operation of the computer itself, a.k.a. software application, application program, or app." + }, + "extends": [ + "dtmi:com:willowinc:Software;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ApplicationSettings;1", + "@type": "Interface", + "displayName": { + "en": "Application Settings" + }, + "description": { + "en": "Settings or properties used by an application for its functionality." + }, + "extends": [ + "dtmi:com:willowinc:Settings;1" + ], + "contents": [ { "@type": "Property", + "name": "applicationName", "displayName": { - "en": "Custom Tags" + "en": "Application Name" }, - "name": "customTags", - "schema": { - "@type": "Map", - "mapKey": { - "name": "tagName", - "schema": "string" - }, - "mapValue": { - "name": "tagValue", - "schema": "boolean" - } + "description": { + "en": "The name of the application which is storing and retreiving the settings for its functionality. This is used to filter all the collection of all application settings." }, - "writable": true + "writable": true, + "schema": "string" }, { "@type": "Property", + "name": "uiSettings", "displayName": { - "en": "External IDs" + "en": "UI Settings" + }, + "description": { + "en": "A collection of settings related to a twin for user interface components to leverage for functionality such as sorting, coloring, and placement." }, - "name": "externalIds", "schema": { "@type": "Map", "mapKey": { - "name": "externalIdName", + "name": "uiComponentName", + "description": { + "en": "The name of a user interface component for which properties are desired to be set (i.e. ArcGISWebMap, TimeSeriesViewer)." + }, "schema": "string" }, "mapValue": { - "name": "externalIdValue", + "name": "uiComponentSettings", + "description": { + "en": "The settings or properties stored as a JSON string for the user interface to deserialize (i.e. {\u0022zoom\u0022: 90, \u0022center\u0022: [10, 40]})." + }, "schema": "string" } - }, - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "Mapped IDs" - }, - "name": "mappedIds", - "writable": true, - "schema": { - "@type": "Array", - "elementSchema": "dtmi:com:willowinc:SpaceMappedIdObject;1" } - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ArchitecturalAsset;1", + "@type": "Interface", + "displayName": { + "en": "Architectural Asset" + }, + "extends": [ + "dtmi:com:willowinc:Asset;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ArchitecturalBuildingComponent;1", + "@type": "Interface", + "displayName": { + "en": "Architectural Building Component" + }, + "extends": [ + "dtmi:com:willowinc:BuildingComponent;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AssetCollection;1", + "@type": "Interface", + "displayName": { + "en": "Asset Collection" + }, + "extends": [ + "dtmi:com:willowinc:Collection;1" + ], + "contents": [ { - "@type": "Property", + "@type": "Relationship", + "name": "isFedBy", "displayName": { - "en": "name" + "en": "is fed by" }, - "name": "name", - "schema": "string", - "writable": true - }, + "properties": [ + { + "@type": "Property", + "name": "substance", + "displayName": { + "en": "Substance" + }, + "writable": true, + "schema": "dtmi:com:willowinc:AssetCollectionIsFedBySubstances;1" + } + ] + } + ], + "schemas": [ { - "@type": "Property", + "@id": "dtmi:com:willowinc:AssetCollectionIsFedBySubstances;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "enumValue": "MakeupWater", + "name": "MakeupWater" + }, + { + "enumValue": "Light", + "name": "Light" + }, + { + "enumValue": "IrrigationWater", + "name": "IrrigationWater" + }, + { + "enumValue": "HotWater", + "name": "HotWater" + }, + { + "enumValue": "HotDomesticWater", + "name": "HotDomesticWater" + }, + { + "enumValue": "GreaseExhaustAir", + "name": "GreaseExhaustAir" + }, + { + "enumValue": "Gasoline", + "name": "Gasoline" + }, + { + "enumValue": "FuelOil", + "name": "FuelOil" + }, + { + "enumValue": "Freight", + "name": "Freight" + }, + { + "enumValue": "ExhaustAir", + "name": "ExhaustAir" + }, + { + "enumValue": "Ethernet", + "name": "Ethernet" + }, + { + "enumValue": "DriveElec", + "name": "DriveElec" + }, + { + "enumValue": "Diesel", + "name": "Diesel" + }, + { + "enumValue": "DCElec", + "name": "DCElec" + }, + { + "enumValue": "CondenserWater", + "name": "CondenserWater" + }, + { + "enumValue": "Condensate", + "name": "Condensate" + }, + { + "enumValue": "ColdDomesticWater", + "name": "ColdDomesticWater" + }, + { + "enumValue": "ChilledWater", + "name": "ChilledWater" + }, + { + "enumValue": "BlowdownWater", + "name": "BlowdownWater" + }, + { + "enumValue": "Air", + "name": "Air" + }, + { + "enumValue": "ACElec", + "name": "ACElec" + }, + { + "enumValue": "NaturalGas", + "name": "NaturalGas" + }, + { + "enumValue": "NonPotableDomesticWater", + "name": "NonPotableDomesticWater" + }, + { + "enumValue": "OutsideAir", + "name": "OutsideAir" + }, + { + "enumValue": "People", + "name": "People" + }, + { + "enumValue": "RecircHotDomesticWater", + "name": "RecircHotDomesticWater" + }, + { + "enumValue": "Refrig", + "name": "Refrig" + }, + { + "enumValue": "ReturnAir", + "name": "ReturnAir" + }, + { + "enumValue": "SprinklerWater", + "name": "SprinklerWater" + }, + { + "enumValue": "Steam", + "name": "Steam" + }, + { + "enumValue": "StormDrainage", + "name": "StormDrainage" + }, + { + "enumValue": "SupplyAir", + "name": "SupplyAir" + }, + { + "enumValue": "TransferAir", + "name": "TransferAir" + }, + { + "enumValue": "WasteVentDrainage", + "name": "WasteVentDrainage" + }, + { + "enumValue": "Water", + "name": "Water" + } + ] + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AssetComponent;1", + "@type": "Interface", + "displayName": { + "en": "Asset Component" + }, + "description": { + "en": "A constituent part of a complete asset." + }, + "extends": [ + "dtmi:com:willowinc:Component;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:BasisOfDesign;1", + "@type": "Interface", + "displayName": { + "en": "Basis of Design" + }, + "extends": [ + "dtmi:com:willowinc:Document;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Bridge;1", + "@type": "Interface", + "description": { + "en": "A structure built to span a physical obstacle (such as a body of water, valley, road, or rail) without blocking the way underneath." + }, + "displayName": { + "en": "Bridge" + }, + "extends": [ + "dtmi:com:willowinc:Structure;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Building;1", + "@type": "Interface", + "displayName": { + "en": "Building" + }, + "description": { + "en": "A confined structure, usually with a roof and walls, built for permanent use." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [ + { + "@type": "Component", "displayName": { - "en": "occupiable" - }, - "name": "occupiable", - "description": { - "en": "A space designed for human occupancy in which individuals may remain for a period of time for rest, amusement, education, dining, shopping, employment, or other similar purposes." + "en": "address" }, - "schema": "boolean", - "writable": true + "name": "address", + "schema": "dtmi:com:willowinc:Address;1" }, { "@type": "Component", - "name": "area", "displayName": { - "en": "Area" + "en": "Electricity Price Rate" }, - "schema": "dtmi:com:willowinc:SpaceArea;1" + "name": "electricityPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" }, { "@type": "Component", - "name": "capacity", "displayName": { - "en": "Capacity" + "en": "Electricity Emission Factor" }, - "schema": "dtmi:com:willowinc:SpaceCapacity;1" + "name": "electricityEmissionFactor", + "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" }, { "@type": "Component", - "name": "occupancy", "displayName": { - "en": "Occupancy" + "en": "Natural Gas Price Rate" }, - "schema": "dtmi:com:willowinc:SpaceOccupancy;1" + "name": "naturalGasPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" }, { "@type": "Component", - "name": "temperature", "displayName": { - "en": "Temperature" + "en": "Chilled Water Price Rate" }, - "schema": "dtmi:com:willowinc:SpaceTemperature;1" + "name": "chilledWaterPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" }, { "@type": "Component", - "name": "humidity", "displayName": { - "en": "Humidity" + "en": "Steam Price Rate" }, - "schema": "dtmi:com:willowinc:SpaceHumidity;1" + "name": "steamPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" }, { "@type": "Component", - "name": "CO2", "displayName": { - "en": "CO2" + "en": "Domestic Water Price Rate" }, - "schema": "dtmi:com:willowinc:SpaceCO2;1" + "name": "domesticWaterPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" }, { "@type": "Property", - "name": "geometryViewerID", + "name": "type", "displayName": { - "en": "Geometry Viewer ID" + "en": "Type" }, "writable": true, - "schema": "string", - "comment": "Reference for geometry rendering (i.e. ForgeViewerID)" + "schema": "string" }, { "@type": "Property", - "name": "geometrySpatialReference", + "name": "cbecsBuildingType", "displayName": { - "en": "Geometry Spatial Reference" + "en": "CBECS Building Type" + }, + "description": { + "en": "The Building Type as defined in the Commercial Buildings Energy Consumption Survey (CBECS) which aligns with the principal building activity" }, "writable": true, - "schema": "string", - "comment": "Reference for displaying in spatial context" + "schema": "dtmi:com:willowinc:BuildingCBECSBuildingType;1" }, { "@type": "Property", - "name": "geometryExternalID", + "name": "energyStarPropertyType", "displayName": { - "en": "Geometry External ID" + "en": "ENERGY STAR Property Type" + }, + "description": { + "en": "The Property Type as defined by ENERGY STAR Portfolio Manager" }, "writable": true, - "schema": "string", - "comment": "Reference to geometry source (i.e. Revit GUID)" + "schema": "dtmi:com:willowinc:BuildingENERGYSTARPropertyType;1" }, { - "@type": "Property", - "name": "uniqueID", + "@type": "Component", + "name": "timeZone", "displayName": { - "en": "Globally Unique ID" + "en": "Time Zone" }, - "writable": true, - "schema": "string" + "schema": "dtmi:com:willowinc:TimeZone;1" }, { "@type": "Property", - "name": "externalID", + "name": "coordinates", "displayName": { - "en": "External ID" + "en": "Coordinates" }, "writable": true, - "schema": "string" + "schema": { + "@id": "dtmi:com:willowinc:BuildingCoordinates;1", + "@type": "Object", + "fields": [ + { + "name": "latitude", + "displayName": { + "en": "Latitude" + }, + "schema": "double" + }, + { + "name": "longitude", + "displayName": { + "en": "Longitude" + }, + "schema": "double" + } + ] + } }, { - "@type": "Property", - "name": "code", + "@type": [ + "Property", + "Length" + ], + "name": "elevation", "displayName": { - "en": "Code" + "en": "Elevation (Sea Level)" }, "writable": true, - "schema": "string" + "schema": "double", + "unit": "metre" }, { - "@type": "Property", - "name": "description", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Description" + "en": "elevation unit" }, - "writable": true, - "schema": "string" + "name": "elevationUnit", + "annotates": "elevation", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true }, { - "@type": "Property", - "name": "siteID", + "@type": [ + "Property", + "Length" + ], + "name": "height", "displayName": { - "en": "Site ID" + "en": "Height" }, "writable": true, - "schema": "string" + "schema": "double", + "unit": "metre" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "height unit" + }, + "name": "heightUnit", + "annotates": "height", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true }, { "@type": "Property", - "name": "landId", + "name": "constructionStartDate", "displayName": { - "en": "Land ID" + "en": "Construction Start Date" }, "writable": true, - "schema": "string", - "comment": "Reference of the land (i.e. campus, site, airport) to which the asset belongs. A Customer has one or many Lands. Land is considered the top-level entity for binding airport twins." + "schema": "date" }, { "@type": "Property", - "name": "alternateClassification", + "name": "constructionCompletionDate", "displayName": { - "en": "Alternate Classification" + "en": "Construction Completion Date" }, "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "masterFormat", - "displayName": { - "en": "MasterFormat" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - }, - { - "name": "omniClass", - "displayName": { - "en": "OmniClass" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - }, - { - "name": "uniFormat", - "displayName": { - "en": "UniFormat" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - }, - { - "name": "uniclass", - "displayName": { - "en": "Uniclass" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - }, - { - "name": "projectHaystack", - "displayName": { - "en": "Project Haystack" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - }, - { - "name": "brickSchema", - "displayName": { - "en": "Brick Schema" - }, - "schema": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1" - } - ] - } + "schema": "date" }, { "@type": "Property", - "name": "customProperties", + "name": "dateOpened", "displayName": { - "en": "Custom Properties" + "en": "Date Opened" }, - "schema": { - "@type": "Map", - "mapKey": { - "name": "sourceName", - "schema": "string" - }, - "mapValue": { - "name": "sourceProperties", - "schema": { - "@type": "Map", - "mapKey": { - "name": "propertyName", - "schema": "string" - }, - "mapValue": { - "name": "propertyValue", - "schema": "string" - } - } - } - } + "writable": true, + "schema": "date" } ], "schemas": [ { - "@id": "dtmi:com:willowinc:SpaceAlternateClassificationObject;1", - "@type": "Object", - "fields": [ + "@id": "dtmi:com:willowinc:BuildingCBECSBuildingType;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ { - "name": "version", - "displayName": { - "en": "Version" - }, - "schema": "string" + "enumValue": "Education", + "name": "Education" }, { - "name": "code", - "displayName": { - "en": "Code" - }, - "schema": "string" - } - ] - }, - { - "@id": "dtmi:com:willowinc:SpaceMappedIdObject;1", - "@type": "Object", - "description": { - "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." - }, - "fields": [ + "enumValue": "Food Sales", + "name": "FoodSales" + }, { - "name": "exactType", - "displayName": { - "en": "Exact Type" - }, - "description": { - "en": "The type of Mapped identity such as ExternalIdentity, SpaceCode, or NameIdentity" - }, - "schema": "string" + "enumValue": "Food Service", + "name": "FoodService" }, { - "name": "scope", - "displayName": { - "en": "Scope" - }, - "description": { - "en": "The scope of a Mapped identity such as BUILDING, CONNECTOR, or ORG." - }, - "schema": "string" + "enumValue": "Healthcare - Inpatient", + "name": "HealthcareInpatient" }, { - "name": "scopeId", - "displayName": { - "en": "Scope ID" - }, - "description": { - "en": "The ID of the scope in Mapped. For a CONNECTOR, this is the ID of the source or destination connector." - }, - "schema": "string" + "enumValue": "Healthcare - Outpatient", + "name": "HealthcareOutpatient" }, { - "name": "value", - "displayName": { - "en": "Value" - }, - "description": { - "en": "The value of the identity as defined in the scope (i.e. Connector) and stored in Mapped." - }, - "schema": "string" + "enumValue": "Lodging", + "name": "Lodging" }, { - "name": "dateCreated", - "displayName": { - "en": "Date Created" - }, - "description": { - "en": "The date the identity was created in Mapped." - }, - "schema": "dateTime" + "enumValue": "Mercantile - Retail other than mall", + "name": "MercantileRetailOtherThanMall" + }, + { + "enumValue": "Mercantile - Enclosed and strip malls", + "name": "MercantileEnclosed" + }, + { + "enumValue": "Office", + "name": "Office" + }, + { + "enumValue": "Public Assembly", + "name": "PublicAssembly" + }, + { + "enumValue": "Public Order and Safety", + "name": "PublicOrderAndSafety" + }, + { + "enumValue": "Religious Worship", + "name": "ReligiousWorship" + }, + { + "enumValue": "Service", + "name": "Service" + }, + { + "enumValue": "Warehouse and Storage", + "name": "WarehouseAndStorage" + }, + { + "enumValue": "Other", + "name": "Other" + }, + { + "enumValue": "Vacant", + "name": "Vacant" } ] }, { - "@id": "dtmi:com:willowinc:SpaceServedByConnectorOnboardingStatus;1", + "@id": "dtmi:com:willowinc:BuildingENERGYSTARPropertyType;1", "@type": "Enum", "valueSchema": "string", "enumValues": [ { - "enumValue": "InProgress", - "name": "InProgress", - "displayName": { - "en": "In Progress" - } + "enumValue": "Bank Branch", + "name": "BankBranch" }, { - "enumValue": "Complete", - "name": "Complete", - "displayName": { - "en": "Complete" - } + "enumValue": "Barracks", + "name": "Barracks" }, { - "enumValue": "Retired", - "name": "Retired", - "displayName": { - "en": "Retired" - } + "enumValue": "Convenience Store", + "name": "ConvenienceStore" + }, + { + "enumValue": "Courthouse", + "name": "Courthouse" + }, + { + "enumValue": "Data Center", + "name": "DataCenter" + }, + { + "enumValue": "Distribution Center", + "name": "DistributionCenter" + }, + { + "enumValue": "Financial Office", + "name": "FinancialOffice" + }, + { + "enumValue": "Hospital (General Medical \u0026 Surgical)", + "name": "Hospital" + }, + { + "enumValue": "Hotel", + "name": "Hotel" + }, + { + "enumValue": "K-12 School", + "name": "K12Schoold" + }, + { + "enumValue": "Medical Office", + "name": "MedicalOffice" + }, + { + "enumValue": "Multifamily Housing", + "name": "MultifamilyHousing" + }, + { + "enumValue": "Non-refrigerated Warehouse", + "name": "NonRefrigeratedWarehouse" + }, + { + "enumValue": "Office", + "name": "Office" + }, + { + "enumValue": "Refrigerated Warehouse", + "name": "RefrigeratedWarehouse" + }, + { + "enumValue": "Residence Hall/Dormitory", + "name": "ResidenceHallDormitory" + }, + { + "enumValue": "Retail Store", + "name": "RetailStore" + }, + { + "enumValue": "Single Family Home", + "name": "SingleFamilyHome" + }, + { + "enumValue": "Senior Living Community", + "name": "SeniorLivingCommunity" + }, + { + "enumValue": "Supermarket/Grocery Store", + "name": "SupermarketGroceryStore" + }, + { + "enumValue": "Vehicle Dealership", + "name": "VehicleDealership" + }, + { + "enumValue": "Wastewater Treatment Plant", + "name": "WastewaterTreatmentPlant" + }, + { + "enumValue": "Wholesale Club/Supercenter", + "name": "WholesaleClubSupercenter" + }, + { + "enumValue": "Worship Facility", + "name": "WorshipFacility" } ] } ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:BuildingOutdoorArea;1", + "@type": "Interface", + "displayName": { + "en": "Building Outdoor Area" + }, + "description": { + "en": "An outdoor area that is located in or adjacent to a building such as a rooftop area, balcony, or terrace." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Structure;1", + "@id": "dtmi:com:willowinc:CalendarEvent;1", "@type": "Interface", "displayName": { - "en": "Structure" + "en": "Calendar Event" }, "description": { - "en": "An entity which is constructed." + "en": "An event that is scheduled on a calendar of a person, a space, or both. This data model closely adheres to an Event in the Microsoft Graph." }, - "extends": [], + "extends": [ + "dtmi:com:willowinc:Event;1" + ], "contents": [ { "@type": "Relationship", + "name": "hasAttendee", "displayName": { - "en": "commissioned by" + "en": "has attendee" }, - "name": "commissionedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "displayName": { - "en": "installed by" + "description": { + "en": "A person or organization which has been invited to or planning to attend a calendar event." }, - "name": "installedBy", "target": "dtmi:com:willowinc:Agent;1" }, { "@type": "Relationship", + "name": "hasOrganizer", "displayName": { - "en": "serviced by" + "en": "has organizer" }, - "name": "servicedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "name": "hasDocument", - "displayName": { - "en": "has document" + "description": { + "en": "A person or organization which has organized a calendar event." }, - "target": "dtmi:com:willowinc:Document;1" + "target": "dtmi:com:willowinc:Agent;1" }, { "@type": "Relationship", - "name": "hasSettings", + "name": "hasLocation", "displayName": { - "en": "has settings" + "en": "has location" }, "description": { - "en": "Used to extend a twin\u0027s base properties with settings that can be used by applications or people to create functionality and experiences in the context of the twin." + "en": "A space where a calendar event is taking place." }, - "target": "dtmi:com:willowinc:Settings;1" + "target": "dtmi:com:willowinc:Space;1" }, { - "@type": "Relationship", - "name": "serviceResponsibility", + "@type": "Property", "displayName": { - "en": "Service Responsibilitly" + "en": "Is All Day" }, - "target": "dtmi:com:willowinc:Agent;1" + "name": "isAllDay", + "schema": "boolean", + "writable": true }, { - "@type": "Relationship", + "@type": "Property", + "name": "recurrence", "displayName": { - "en": "located in" + "en": "Recurrence" }, - "name": "locatedIn", - "target": "dtmi:com:willowinc:Space;1" + "writable": true, + "schema": "dtmi:com:willowinc:PatternedRecurrence;1" }, { - "@type": "Relationship", - "description": { - "en": "Indicates that an entity is included in some Collection, e.g., a Building is included in a RealEstate, or a Track is included in a Network. Inverse of: includes" - }, + "@type": "Property", + "name": "iCalUID", "displayName": { - "en": "included in" + "en": "iCal UID" }, - "name": "includedIn", - "target": "dtmi:com:willowinc:Collection;1" + "writable": true, + "schema": "string" }, { - "@type": "Relationship", + "@type": "Property", "displayName": { - "en": "constructed by" + "en": "Importance" }, - "name": "constructedBy", - "target": "dtmi:com:willowinc:Agent;1" + "name": "importance", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "low", + "name": "low" + }, + { + "enumValue": "normal", + "name": "normal" + }, + { + "enumValue": "high", + "name": "high" + } + ], + "valueSchema": "string" + }, + "writable": true }, { - "@type": "Relationship", + "@type": "Property", "displayName": { - "en": "architected by" + "en": "Estimated Attendee Count" }, - "name": "architectedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "description": { - "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" - }, - "displayName": { - "en": "is part of" - }, - "name": "isPartOf", - "target": "dtmi:com:willowinc:Structure;1" - }, - { - "@type": "Relationship", - "description": { - "en": "Indicates that a Space or Asset is served by some Sensor/Actuator or other Asset. For example: an entrance room might be served by (e.g., covered by) some camera equipment, or a conference room served by a CO2 sensor. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset." - }, - "displayName": { - "en": "served by" - }, - "name": "servedBy" - }, - { - "@type": "Relationship", - "description": { - "en": "The coverage or impact area of a given Asset or Sensor/Actuator. For example: an air-treatment unit might serve several Rooms or a full Building. Note that Assets can also service one another, e.g., an air-treatment Asset might serve an air diffuser Asset. Inverse of: servedBy" - }, - "displayName": { - "en": "serves" - }, - "name": "serves" - }, - { - "@type": "Relationship", - "description": { - "en": "Property that defines the legal owner(s) of a given entity. Inverse of: owns" - }, - "displayName": { - "en": "owned by" - }, - "name": "ownedBy", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Property", - "name": "siteID", - "displayName": { - "en": "Site ID" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "landId", - "displayName": { - "en": "Land ID" - }, - "writable": true, - "schema": "string", - "comment": "Reference of the land (i.e. campus, site, airport) to which the twin belongs. A Customer has one or many Lands. Land is considered the top-level entity for binding construction twins." - }, + "name": "estimatedAttendeeCount", + "schema": "integer", + "writable": true + } + ], + "schemas": [ { - "@type": "Property", - "name": "coordinates", - "displayName": { - "en": "Coordinates" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:StructureCoordinates;1", - "@type": "Object", - "fields": [ - { - "name": "latitude", - "displayName": { - "en": "Latitude" - }, - "schema": "double" + "@id": "dtmi:com:willowinc:PatternedRecurrence;1", + "@type": "Object", + "fields": [ + { + "name": "pattern", + "displayName": { + "en": "Pattern" }, - { - "name": "longitude", - "displayName": { - "en": "Longitude" - }, - "schema": "double" + "schema": { + "@id": "dtmi:com:willowinc:RecurrencePattern;1", + "@type": "Object", + "fields": [ + { + "name": "type", + "displayName": { + "en": "Type" + }, + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "daily", + "name": "daily" + }, + { + "enumValue": "weekly", + "name": "weekly" + }, + { + "enumValue": "absoluteMonthly", + "name": "absoluteMonthly" + }, + { + "enumValue": "relativeMonthly", + "name": "relativeMonthly" + }, + { + "enumValue": "absoluteYearly", + "name": "absoluteYearly" + }, + { + "enumValue": "relativeYearly", + "name": "relativeYearly" + } + ], + "valueSchema": "string" + } + }, + { + "name": "dayOfMonth", + "displayName": { + "en": "Day of Month" + }, + "schema": "integer" + }, + { + "name": "monthOfYear", + "displayName": { + "en": "Month of Year" + }, + "schema": "integer" + }, + { + "name": "daysOfWeek", + "displayName": { + "en": "Days of Week" + }, + "schema": { + "@type": "Array", + "elementSchema": "dtmi:com:willowinc:CalendarEventDayOfWeek;1" + } + }, + { + "name": "firstDayOfWeek", + "displayName": { + "en": "First Day of Week" + }, + "schema": "dtmi:com:willowinc:CalendarEventDayOfWeek;1" + }, + { + "name": "interval", + "displayName": { + "en": "Interval" + }, + "schema": "integer" + } + ] } - ] - } - }, - { - "@type": "Property", - "displayName": { - "en": "name" - }, - "name": "name", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "name": "description", - "displayName": { - "en": "Description" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "externalIds", - "displayName": { - "en": "External IDs" - }, - "schema": { - "@type": "Map", - "mapKey": { - "name": "externalIdName", - "schema": "string" }, - "mapValue": { - "name": "externalIdValue", - "schema": "string" + { + "name": "range", + "displayName": { + "en": "Range" + }, + "schema": { + "@id": "dtmi:com:willowinc:RecurrenceRange;1", + "@type": "Object", + "fields": [ + { + "name": "type", + "displayName": { + "en": "Type" + }, + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "endDate", + "name": "endDate" + }, + { + "enumValue": "noEnd", + "name": "noEnd" + }, + { + "enumValue": "numbered", + "name": "numbered" + } + ], + "valueSchema": "string" + } + }, + { + "name": "startDate", + "displayName": { + "en": "Start Date" + }, + "schema": "date" + }, + { + "name": "endDate", + "displayName": { + "en": "End Date" + }, + "schema": "date" + }, + { + "name": "numberOfOccurrences", + "displayName": { + "en": "Number of Occurrences" + }, + "schema": "integer" + } + ] + } } - } - }, - { - "@type": "Property", - "displayName": { - "en": "Mapped IDs" - }, - "name": "mappedIds", - "writable": true, - "schema": { - "@type": "Array", - "elementSchema": "dtmi:com:willowinc:StructureMappedIdObject;1" - } + ] }, { - "@type": "Property", - "name": "customProperties", - "displayName": { - "en": "Custom Properties" - }, - "schema": { - "@type": "Map", - "mapKey": { - "name": "sourceName", - "schema": "string" + "@id": "dtmi:com:willowinc:CalendarEventDayOfWeek;1", + "@type": "Enum", + "enumValues": [ + { + "enumValue": "sunday", + "name": "sunday" }, - "mapValue": { - "name": "sourceProperties", - "schema": { - "@type": "Map", - "mapKey": { - "name": "propertyName", - "schema": "string" - }, - "mapValue": { - "name": "propertyValue", - "schema": "string" - } - } + { + "enumValue": "monday", + "name": "monday" + }, + { + "enumValue": "tuesday", + "name": "tuesday" + }, + { + "enumValue": "wednesday", + "name": "wednesday" + }, + { + "enumValue": "thursday", + "name": "thursday" + }, + { + "enumValue": "friday", + "name": "friday" + }, + { + "enumValue": "saturday", + "name": "saturday" } - } - }, + ], + "valueSchema": "string" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:CapabilityComponent;1", + "@type": "Interface", + "displayName": { + "en": "Capability Component" + }, + "extends": [ + "dtmi:com:willowinc:Component;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CertificationDocument;1", + "@type": "Interface", + "displayName": { + "en": "Certification Document" + }, + "extends": [ + "dtmi:com:willowinc:Document;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CommissioningDocument;1", + "@type": "Interface", + "displayName": { + "en": "Commissioning Document" + }, + "extends": [ + "dtmi:com:willowinc:Document;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ContractDocument;1", + "@type": "Interface", + "displayName": { + "en": "Contract Document" + }, + "extends": [ + "dtmi:com:willowinc:Document;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ContractEvent;1", + "@type": "Interface", + "displayName": { + "en": "Contract Event" + }, + "extends": [ + "dtmi:com:willowinc:Event;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Currency;1", + "@type": "Interface", + "displayName": { + "en": "Currency" + }, + "description": { + "en": "The ISO 4217 currency codes and names." + }, + "extends": [ + "dtmi:com:willowinc:Component;1" + ], + "contents": [ { "@type": "Property", - "name": "alternateClassification", - "displayName": { - "en": "Alternate Classification" - }, + "name": "code", + "displayName": "Code", "writable": true, "schema": { - "@type": "Object", - "fields": [ + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ { - "name": "masterFormat", - "displayName": { - "en": "MasterFormat" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" + "name": "AED", + "displayName": "AED", + "description": "United Arab Emirates dirham", + "enumValue": "AED" }, { - "name": "omniClass", - "displayName": { - "en": "OmniClass" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" + "name": "ARS", + "displayName": "ARS", + "description": "Argentine peso", + "enumValue": "ARS" }, { - "name": "uniFormat", - "displayName": { - "en": "UniFormat" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" + "name": "AUD", + "displayName": "AUD", + "description": "Australian dollar", + "enumValue": "AUD" }, { - "name": "uniclass", - "displayName": { - "en": "Uniclass" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" + "name": "BOB", + "displayName": "BOB", + "description": "Boliviano", + "enumValue": "BOB" }, { - "name": "projectHaystack", - "displayName": { - "en": "Project Haystack" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" + "name": "BRL", + "displayName": "BRL", + "description": "Brazilian real", + "enumValue": "BRL" }, { - "name": "brickSchema", - "displayName": { - "en": "Brick Schema" - }, - "schema": "dtmi:com:willowinc:StructureAlternateClassificationObject;1" - } - ] - } - }, - { - "@type": "Property", - "name": "geometryViewerID", - "displayName": { - "en": "Geometry Viewer ID" - }, - "writable": true, - "schema": "string", - "comment": "Reference for geometry rendering (i.e. ForgeViewerID)" - }, - { - "@type": "Property", - "name": "geometrySpatialReference", - "displayName": { - "en": "Geometry Spatial Reference" - }, - "writable": true, - "schema": "string", - "comment": "Reference for displaying in spatial context" - }, - { - "@type": "Property", - "name": "geometryExternalID", - "displayName": { - "en": "Geometry External ID" - }, - "writable": true, - "schema": "string", - "comment": "Reference to geometry source (i.e. Revit GUID)" - }, - { - "@type": "Property", - "name": "uniqueID", - "displayName": { - "en": "Globally Unique ID" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "displayName": { - "en": "commission date" - }, - "name": "commissionDate", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "expected end-of-life" - }, - "name": "expectedEndOfLife", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "expected life" - }, - "name": "expectedLife", - "schema": "duration", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "expected replacement cost" - }, - "name": "expectedReplacementCost", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "initial cost" - }, - "name": "initialCost", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "installation date" - }, - "name": "installationDate", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "maintenance interval" - }, - "name": "maintenanceInterval", - "schema": "duration", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "turnover date" - }, - "name": "turnoverDate", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "physical tag number" - }, - "name": "physicalTagNumber", - "schema": "string", - "writable": true - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:StructureAlternateClassificationObject;1", - "@type": "Object", - "fields": [ - { - "name": "version", - "displayName": { - "en": "Version" + "name": "BZD", + "displayName": "BZD", + "description": "Belize dollar", + "enumValue": "BZD" }, - "schema": "string" - }, - { - "name": "code", - "displayName": { - "en": "Code" + { + "name": "CAD", + "displayName": "CAD", + "description": "Canadian dollar", + "enumValue": "CAD" }, - "schema": "string" - } - ] - }, - { - "@id": "dtmi:com:willowinc:StructureMappedIdObject;1", - "@type": "Object", - "description": { - "en": "An object which represents an identity in Mapped, typically sourced from a connector. The composite of all fields is unique for a given twin." - }, - "fields": [ - { - "name": "exactType", - "displayName": { - "en": "Exact Type" + { + "name": "CHF", + "displayName": "CHF", + "description": "Swiss franc", + "enumValue": "CHF" }, - "description": { - "en": "The type of Mapped identity such as ExternalIdentity, SpaceCode, or NameIdentity" + { + "name": "CLP", + "displayName": "CLP", + "description": "Chilean peso", + "enumValue": "CLP" }, - "schema": "string" - }, - { - "name": "scope", - "displayName": { - "en": "Scope" + { + "name": "COP", + "displayName": "COP", + "description": "Colombian peso", + "enumValue": "COP" }, - "description": { - "en": "The scope of a Mapped identity such as BUILDING, CONNECTOR, or ORG." + { + "name": "CRC", + "displayName": "CRC", + "description": "Costa Rican colon", + "enumValue": "CRC" }, - "schema": "string" - }, - { - "name": "scopeId", - "displayName": { - "en": "Scope ID" + { + "name": "CUP", + "displayName": "CUP", + "description": "Cuban peso", + "enumValue": "CUP" }, - "description": { - "en": "The ID of the scope in Mapped. For a CONNECTOR, this is the ID of the source or destination connector." + { + "name": "CZK", + "displayName": "CZK", + "description": "Czech koruna", + "enumValue": "CZK" }, - "schema": "string" - }, - { - "name": "value", - "displayName": { - "en": "Value" + { + "name": "DKK", + "displayName": "DKK", + "description": "Danish krone", + "enumValue": "DKK" }, - "description": { - "en": "The value of the identity as defined in the scope (i.e. Connector) and stored in Mapped." + { + "name": "DOP", + "displayName": "DOP", + "description": "Dominican peso", + "enumValue": "DOP" }, - "schema": "string" - }, - { - "name": "dateCreated", - "displayName": { - "en": "Date Created" + { + "name": "DZD", + "displayName": "DZD", + "description": "Algerian dinar", + "enumValue": "DZD" }, - "description": { - "en": "The date the identity was created in Mapped." + { + "name": "EGP", + "displayName": "EGP", + "description": "Egyptian pound", + "enumValue": "EGP" }, - "schema": "dateTime" - } - ] - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Actuator;1", - "@type": "Interface", - "displayName": { - "en": "Actuator" - }, - "description": { - "en": "An actuator takes some control input and executes some real-world action based on this input. Examples include setting dampers/valves in heating/cooling systems at certain configurations, opening or closing a smart lock, turning on or off an electric radiator, etc. REC does not provide semantics for every type of actuator you might find in a building; rather we here provide classes and properties that allows users to define their own actuator models, based on the systems they have, adhering to REC." - }, - "extends": [ - "dtmi:com:willowinc:Capability;1" - ], - "contents": [ - { - "@type": "Relationship", - "description": { - "en": "Generic property indicating which sensors that are configured or designed to observe some feature, system, phenomenon, etc. Inverse of: observes" - }, - "displayName": { - "en": "observed by" - }, - "name": "observedBy", - "target": "dtmi:com:willowinc:Sensor;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AirportSpace;1", - "@type": "Interface", - "displayName": { - "en": "Airport Space" - }, - "description": { - "en": "A space that has a defined purpose to support the movement, management, and operations of people and vehicles at an airport." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:AirportGateBlockEvent;1", - "@type": "Interface", - "displayName": { - "en": "Airport Gate Block Event" - }, - "description": { - "en": "An event at an airport gate related to a flight arriving (In-block) or departing (Off-block) at the gate." - }, - "extends": [ - "dtmi:com:willowinc:Event;1" - ], - "contents": [ - { - "@type": "Property", - "name": "flight", - "displayName": { - "en": "Flight" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:BlockEventFlight;1", - "@type": "Object", - "fields": [ { - "name": "flightNumber", - "displayName": { - "en": "Flight Number" - }, - "description": { - "en": "Callsign identifying the flight. Typically, ICAO airline code plus IATA/ticketing flight number, or the aircraft registration. (i.e. AAL1234)" - }, - "schema": "string" + "name": "EUR", + "displayName": "EUR", + "description": "Euro", + "enumValue": "EUR" }, { - "name": "origin", - "displayName": { - "en": "Origin" - }, - "description": { - "en": "The departure airport code." - }, - "schema": "string" + "name": "GBP", + "displayName": "GBP", + "description": "Pound sterling", + "enumValue": "GBP" }, { - "name": "destination", - "displayName": { - "en": "Destination" - }, - "description": { - "en": "The arrival airport code." - }, - "schema": "string" - } - ] - } - }, - { - "@type": "Property", - "name": "aircraft", - "displayName": { - "en": "Aircraft" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:BlockEventAircraft;1", - "@type": "Object", - "fields": [ + "name": "GTQ", + "displayName": "GTQ", + "description": "Guatemalan quetzal", + "enumValue": "GTQ" + }, { - "name": "registration", - "displayName": { - "en": "Registration" - }, - "description": { - "en": "The tail number or registration of the aircraft (i.e. N7740A)" - }, - "schema": "string" + "name": "HKD", + "displayName": "HKD", + "description": "Hong Kong dollar", + "enumValue": "HKD" }, { - "name": "typeDesignator", - "displayName": { - "en": "Type Designator" - }, - "description": { - "en": "The FAA or ICAO aircraft type designator which is a code for the manufacturer and model number (i.e. B3XM) " - }, - "schema": "string" - } - ] - } - }, - { - "@type": "Property", - "name": "reportTime", - "displayName": { - "en": "Report Time" - }, - "description": { - "en": "Time the message was generated by the flight hardware in POSIX epoch format (i.e. 1596067258)" - }, - "writable": true, - "schema": "float" - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Aisle;1", - "@type": "Interface", - "displayName": { - "en": "Aisle" - }, - "description": { - "en": "A passage that separates rows of assets such as seat sections in a theater or product displays in a store. Aisles are used when Rooms are too large to provide sufficient location context." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:AisleSection;1", - "@type": "Interface", - "displayName": { - "en": "Aisle Section" - }, - "description": { - "en": "A part of an aisle that identifies a specific linear section where goods are displayed, a.k.a modular, MOD, plan-o-gram, or POG." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Application;1", - "@type": "Interface", - "displayName": { - "en": "Application" - }, - "description": { - "en": "A computer programed designed to carry out a specific task other than the operation of the computer itself, a.k.a. software application, application program, or app." - }, - "extends": [ - "dtmi:com:willowinc:Software;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ApplicationSettings;1", - "@type": "Interface", - "displayName": { - "en": "Application Settings" - }, - "description": { - "en": "Settings or properties used by an application for its functionality." - }, - "extends": [ - "dtmi:com:willowinc:Settings;1" - ], - "contents": [ - { - "@type": "Property", - "name": "applicationName", - "displayName": { - "en": "Application Name" - }, - "description": { - "en": "The name of the application which is storing and retreiving the settings for its functionality. This is used to filter all the collection of all application settings." - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "uiSettings", - "displayName": { - "en": "UI Settings" - }, - "description": { - "en": "A collection of settings related to a twin for user interface components to leverage for functionality such as sorting, coloring, and placement." - }, - "schema": { - "@type": "Map", - "mapKey": { - "name": "uiComponentName", - "description": { - "en": "The name of a user interface component for which properties are desired to be set (i.e. ArcGISWebMap, TimeSeriesViewer)." + "name": "HNL", + "displayName": "HNL", + "description": "Honduran lempira", + "enumValue": "HNL" }, - "schema": "string" - }, - "mapValue": { - "name": "uiComponentSettings", - "description": { - "en": "The settings or properties stored as a JSON string for the user interface to deserialize (i.e. {\u0022zoom\u0022: 90, \u0022center\u0022: [10, 40]})." + { + "name": "HRK", + "displayName": "HRK", + "description": "Croatian kuna", + "enumValue": "HRK" }, - "schema": "string" - } - } - } - ], + { + "name": "HUF", + "displayName": "HUF", + "description": "Hungarian forint", + "enumValue": "HUF" + }, + { + "name": "IDR", + "displayName": "IDR", + "description": "Indonesian rupiah", + "enumValue": "IDR" + }, + { + "name": "ILS", + "displayName": "ILS", + "description": "Israeli new shekel", + "enumValue": "ILS" + }, + { + "name": "INR", + "displayName": "INR", + "description": "Indian rupee", + "enumValue": "INR" + }, + { + "name": "IQD", + "displayName": "IQD", + "description": "Iraqi dinar", + "enumValue": "IQD" + }, + { + "name": "IRR", + "displayName": "IRR", + "description": "Iranian rial", + "enumValue": "IRR" + }, + { + "name": "ISK", + "displayName": "ISK", + "description": "Icelandic kr\u00F3na\u00A0(plural: kr\u00F3nur)", + "enumValue": "ISK" + }, + { + "name": "JPY", + "displayName": "JPY", + "description": "Japanese yen", + "enumValue": "JPY" + }, + { + "name": "KES", + "displayName": "KES", + "description": "Kenyan shilling", + "enumValue": "KES" + }, + { + "name": "KHR", + "displayName": "KHR", + "description": "Cambodian riel", + "enumValue": "KHR" + }, + { + "name": "KRW", + "displayName": "KRW", + "description": "South Korean won", + "enumValue": "KRW" + }, + { + "name": "KWD", + "displayName": "KWD", + "description": "Kuwaiti dinar", + "enumValue": "KWD" + }, + { + "name": "LBP", + "displayName": "LBP", + "description": "Lebanese pound", + "enumValue": "LBP" + }, + { + "name": "LKR", + "displayName": "LKR", + "description": "Sri Lankan rupee", + "enumValue": "LKR" + }, + { + "name": "LRD", + "displayName": "LRD", + "description": "Liberian dollar", + "enumValue": "LRD" + }, + { + "name": "LYD", + "displayName": "LYD", + "description": "Libyan dinar", + "enumValue": "LYD" + }, + { + "name": "MAD", + "displayName": "MAD", + "description": "Moroccan dirham", + "enumValue": "MAD" + }, + { + "name": "MMK", + "displayName": "MMK", + "description": "Myanmar kyat", + "enumValue": "MMK" + }, + { + "name": "MNT", + "displayName": "MNT", + "description": "Mongolian t\u00F6gr\u00F6g", + "enumValue": "MNT" + }, + { + "name": "MXN", + "displayName": "MXN", + "description": "Mexican peso", + "enumValue": "MXN" + }, + { + "name": "MYR", + "displayName": "MYR", + "description": "Malaysian ringgit", + "enumValue": "MYR" + }, + { + "name": "NGN", + "displayName": "NGN", + "description": "Nigerian naira", + "enumValue": "NGN" + }, + { + "name": "NIO", + "displayName": "NIO", + "description": "Nicaraguan c\u00F3rdoba", + "enumValue": "NIO" + }, + { + "name": "NOK", + "displayName": "NOK", + "description": "Norwegian krone", + "enumValue": "NOK" + }, + { + "name": "NPR", + "displayName": "NPR", + "description": "Nepalese rupee", + "enumValue": "NPR" + }, + { + "name": "NZD", + "displayName": "NZD", + "description": "New Zealand dollar", + "enumValue": "NZD" + }, + { + "name": "OMR", + "displayName": "OMR", + "description": "Omani rial", + "enumValue": "OMR" + }, + { + "name": "PAB", + "displayName": "PAB", + "description": "Panamanian balboa", + "enumValue": "PAB" + }, + { + "name": "PEN", + "displayName": "PEN", + "description": "Peruvian sol", + "enumValue": "PEN" + }, + { + "name": "PGK", + "displayName": "PGK", + "description": "Papua New Guinean kina", + "enumValue": "PGK" + }, + { + "name": "PHP", + "displayName": "PHP", + "description": "Philippine peso", + "enumValue": "PHP" + }, + { + "name": "PKR", + "displayName": "PKR", + "description": "Pakistani rupee", + "enumValue": "PKR" + }, + { + "name": "PLN", + "displayName": "PLN", + "description": "Polish z\u0142oty", + "enumValue": "PLN" + }, + { + "name": "PYG", + "displayName": "PYG", + "description": "Paraguayan guaran\u00ED", + "enumValue": "PYG" + }, + { + "name": "QAR", + "displayName": "QAR", + "description": "Qatari riyal", + "enumValue": "QAR" + }, + { + "name": "RON", + "displayName": "RON", + "description": "Romanian leu", + "enumValue": "RON" + }, + { + "name": "RSD", + "displayName": "RSD", + "description": "Serbian dinar", + "enumValue": "RSD" + }, + { + "name": "CNY", + "displayName": "CNY", + "description": "Renminbi", + "enumValue": "CNY" + }, + { + "name": "RUB", + "displayName": "RUB", + "description": "Russian ruble", + "enumValue": "RUB" + }, + { + "name": "SAR", + "displayName": "SAR", + "description": "Saudi riyal", + "enumValue": "SAR" + }, + { + "name": "SEK", + "displayName": "SEK", + "description": "Swedish krona\u00A0(plural: kronor)", + "enumValue": "SEK" + }, + { + "name": "SGD", + "displayName": "SGD", + "description": "Singapore dollar", + "enumValue": "SGD" + }, + { + "name": "SVC", + "displayName": "SVC", + "description": "Salvadoran col\u00F3n", + "enumValue": "SVC" + }, + { + "name": "SYP", + "displayName": "SYP", + "description": "Syrian pound", + "enumValue": "SYP" + }, + { + "name": "THB", + "displayName": "THB", + "description": "Thai baht", + "enumValue": "THB" + }, + { + "name": "TND", + "displayName": "TND", + "description": "Tunisian dinar", + "enumValue": "TND" + }, + { + "name": "TRY", + "displayName": "TRY", + "description": "Turkish lira", + "enumValue": "TRY" + }, + { + "name": "TWD", + "displayName": "TWD", + "description": "New Taiwan dollar", + "enumValue": "TWD" + }, + { + "name": "UAH", + "displayName": "UAH", + "description": "Ukrainian hryvnia", + "enumValue": "UAH" + }, + { + "name": "USD", + "displayName": "USD", + "description": "United States dollar", + "enumValue": "USD" + }, + { + "name": "UYU", + "displayName": "UYU", + "description": "Uruguayan peso", + "enumValue": "UYU" + }, + { + "name": "VES", + "displayName": "VES", + "description": "Venezuelan bol\u00EDvar soberano", + "enumValue": "VES" + }, + { + "name": "VND", + "displayName": "VND", + "description": "Vietnamese \u0111\u1ED3ng", + "enumValue": "VND" + }, + { + "name": "YER", + "displayName": "YER", + "description": "Yemeni rial", + "enumValue": "YER" + }, + { + "name": "ZAR", + "displayName": "ZAR", + "description": "South African rand", + "enumValue": "ZAR" + }, + { + "name": "ZWL", + "displayName": "ZWL", + "description": "Zimbabwean dollar", + "enumValue": "ZWL" + } + ] + } + } + ], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ArchitecturalAsset;1", + "@id": "dtmi:com:willowinc:DistributionAsset;1", "@type": "Interface", "displayName": { - "en": "Architectural Asset" + "en": "Distribution Asset" }, "extends": [ "dtmi:com:willowinc:Asset;1" ], + "contents": [ + { + "@type": [ + "Property", + "Length" + ], + "displayName": { + "en": "length" + }, + "name": "length", + "schema": "double", + "unit": "metre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "length unit" + }, + "name": "lengthUnit", + "annotates": "length", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:DocumentCollection;1", + "@type": "Interface", + "displayName": { + "en": "Document Collection" + }, + "extends": [ + "dtmi:com:willowinc:Collection;1" + ], "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ArchitecturalBuildingComponent;1", + "@id": "dtmi:com:willowinc:Drawing;1", "@type": "Interface", "displayName": { - "en": "Architectural Building Component" + "en": "Drawing" }, "extends": [ - "dtmi:com:willowinc:BuildingComponent;1" + "dtmi:com:willowinc:Document;1" ], "contents": [], "@context": [ @@ -6422,13 +7124,84 @@ ] }, { - "@id": "dtmi:com:willowinc:AssetCollection;1", + "@id": "dtmi:com:willowinc:ElevatorTripEvent;1", "@type": "Interface", "displayName": { - "en": "Asset Collection" + "en": "Elevator Trip Event" }, "extends": [ - "dtmi:com:willowinc:Collection;1" + "dtmi:com:willowinc:Event;1" + ], + "contents": [ + { + "@type": "Property", + "name": "startLevelId", + "displayName": { + "en": "Start Level Id" + }, + "writable": true, + "schema": "string" + }, + { + "@type": "Property", + "name": "endLevelId", + "displayName": { + "en": "End Level Id" + }, + "writable": true, + "schema": "string" + }, + { + "@type": "Property", + "name": "currentLevelId", + "displayName": { + "en": "Current Level Id" + }, + "writable": true, + "schema": "string" + }, + { + "@type": "Property", + "name": "currentTripDirection", + "displayName": { + "en": "Current Trip Direction" + }, + "writable": true, + "schema": { + "@id": "dtmi:com:willowinc:ElevatorTripDirection;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "Up", + "displayName": { + "en": "Up" + }, + "enumValue": "Up" + }, + { + "name": "Down", + "displayName": { + "en": "Down" + }, + "enumValue": "Down" + } + ] + } + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Equipment;1", + "@type": "Interface", + "displayName": { + "en": "Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Asset;1" ], "contents": [ { @@ -6437,6 +7210,9 @@ "displayName": { "en": "is fed by" }, + "description": { + "en": "Indicates that a substance is being received from the target entity. Inverse of: feeds" + }, "properties": [ { "@type": "Property", @@ -6445,17 +7221,106 @@ "en": "Substance" }, "writable": true, - "schema": "dtmi:com:willowinc:AssetCollectionIsFedBySubstances;1" + "schema": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1" + } + ] + }, + { + "@type": "Relationship", + "name": "feeds", + "displayName": { + "en": "feeds" + }, + "description": { + "en": "Indicates that a substance is sent to the target entity. Inverse of: isFedBy" + }, + "properties": [ + { + "@type": "Property", + "name": "substance", + "displayName": { + "en": "Substance" + }, + "writable": true, + "schema": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1" } ] + }, + { + "@type": "Property", + "name": "standbyEquipment", + "displayName": { + "en": "Standby Equipment" + }, + "description": { + "en": "Indicates that a piece of equipment is designated as standby and will only operate in the event of a failure of duty equipment." + }, + "writable": true, + "schema": "boolean" } ], "schemas": [ { - "@id": "dtmi:com:willowinc:AssetCollectionIsFedBySubstances;1", + "@id": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1", "@type": "Enum", "valueSchema": "string", "enumValues": [ + { + "enumValue": "Water", + "name": "Water" + }, + { + "enumValue": "WasteVentDrainage", + "name": "WasteVentDrainage" + }, + { + "enumValue": "TransferAir", + "name": "TransferAir" + }, + { + "enumValue": "SupplyAir", + "name": "SupplyAir" + }, + { + "enumValue": "StormDrainage", + "name": "StormDrainage" + }, + { + "enumValue": "Steam", + "name": "Steam" + }, + { + "enumValue": "SprinklerWater", + "name": "SprinklerWater" + }, + { + "enumValue": "ReturnAir", + "name": "ReturnAir" + }, + { + "enumValue": "Refrig", + "name": "Refrig" + }, + { + "enumValue": "RecircHotDomesticWater", + "name": "RecircHotDomesticWater" + }, + { + "enumValue": "Propane", + "name": "Propane" + }, + { + "enumValue": "OutsideAir", + "name": "OutsideAir" + }, + { + "enumValue": "NonPotableDomesticWater", + "name": "NonPotableDomesticWater" + }, + { + "enumValue": "NaturalGas", + "name": "NaturalGas" + }, { "enumValue": "MakeupWater", "name": "MakeupWater" @@ -6472,6 +7337,10 @@ "enumValue": "HotWater", "name": "HotWater" }, + { + "enumValue": "HotWaterGlycolMix", + "name": "HotWaterGlycolMix" + }, { "enumValue": "HotDomesticWater", "name": "HotDomesticWater" @@ -6516,6 +7385,10 @@ "enumValue": "CondenserWater", "name": "CondenserWater" }, + { + "enumValue": "CondenserWaterGlycolMix", + "name": "CondenserWaterGlycolMix" + }, { "enumValue": "Condensate", "name": "Condensate" @@ -6539,62 +7412,6 @@ { "enumValue": "ACElec", "name": "ACElec" - }, - { - "enumValue": "NaturalGas", - "name": "NaturalGas" - }, - { - "enumValue": "NonPotableDomesticWater", - "name": "NonPotableDomesticWater" - }, - { - "enumValue": "OutsideAir", - "name": "OutsideAir" - }, - { - "enumValue": "People", - "name": "People" - }, - { - "enumValue": "RecircHotDomesticWater", - "name": "RecircHotDomesticWater" - }, - { - "enumValue": "Refrig", - "name": "Refrig" - }, - { - "enumValue": "ReturnAir", - "name": "ReturnAir" - }, - { - "enumValue": "SprinklerWater", - "name": "SprinklerWater" - }, - { - "enumValue": "Steam", - "name": "Steam" - }, - { - "enumValue": "StormDrainage", - "name": "StormDrainage" - }, - { - "enumValue": "SupplyAir", - "name": "SupplyAir" - }, - { - "enumValue": "TransferAir", - "name": "TransferAir" - }, - { - "enumValue": "WasteVentDrainage", - "name": "WasteVentDrainage" - }, - { - "enumValue": "Water", - "name": "Water" } ] } @@ -6604,47 +7421,55 @@ ] }, { - "@id": "dtmi:com:willowinc:AssetComponent;1", + "@id": "dtmi:com:willowinc:Furniture;1", "@type": "Interface", "displayName": { - "en": "Asset Component" - }, - "description": { - "en": "A constituent part of a complete asset." + "en": "Furniture" }, "extends": [ - "dtmi:com:willowinc:Component;1" + "dtmi:com:willowinc:Asset;1" ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BasisOfDesign;1", - "@type": "Interface", - "displayName": { - "en": "Basis of Design" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" + "contents": [ + { + "@type": "Property", + "name": "length", + "displayName": { + "en": "Length" + }, + "writable": true, + "schema": "float" + }, + { + "@type": "Property", + "name": "width", + "displayName": { + "en": "Width" + }, + "writable": true, + "schema": "float" + }, + { + "@type": "Property", + "name": "height", + "displayName": { + "en": "Height" + }, + "writable": true, + "schema": "float" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Bridge;1", + "@id": "dtmi:com:willowinc:Image;1", "@type": "Interface", - "description": { - "en": "A structure built to span a physical obstacle (such as a body of water, valley, road, or rail) without blocking the way underneath." - }, "displayName": { - "en": "Bridge" + "en": "Image" }, "extends": [ - "dtmi:com:willowinc:Structure;1" + "dtmi:com:willowinc:Document;1" ], "contents": [], "@context": [ @@ -6652,13 +7477,13 @@ ] }, { - "@id": "dtmi:com:willowinc:Building;1", + "@id": "dtmi:com:willowinc:Land;1", "@type": "Interface", "displayName": { - "en": "Building" + "en": "Land" }, "description": { - "en": "A confined structure, usually with a roof and walls, built for permanent use." + "en": "A piece of land upon which one or more buildings may be situated, a.ka. site." }, "extends": [ "dtmi:com:willowinc:Space;1" @@ -6729,38 +7554,6 @@ "writable": true, "schema": "string" }, - { - "@type": "Property", - "name": "cbecsBuildingType", - "displayName": { - "en": "CBECS Building Type" - }, - "description": { - "en": "The Building Type as defined in the Commercial Buildings Energy Consumption Survey (CBECS) which aligns with the principal building activity" - }, - "writable": true, - "schema": "dtmi:com:willowinc:BuildingCBECSBuildingType;1" - }, - { - "@type": "Property", - "name": "energyStarPropertyType", - "displayName": { - "en": "ENERGY STAR Property Type" - }, - "description": { - "en": "The Property Type as defined by ENERGY STAR Portfolio Manager" - }, - "writable": true, - "schema": "dtmi:com:willowinc:BuildingENERGYSTARPropertyType;1" - }, - { - "@type": "Component", - "name": "timeZone", - "displayName": { - "en": "Time Zone" - }, - "schema": "dtmi:com:willowinc:TimeZone;1" - }, { "@type": "Property", "name": "coordinates", @@ -6769,7 +7562,7 @@ }, "writable": true, "schema": { - "@id": "dtmi:com:willowinc:BuildingCoordinates;1", + "@id": "dtmi:com:willowinc:LandCoordinates;1", "@type": "Object", "fields": [ { @@ -6816,15 +7609,48 @@ "overrides": "unit", "schema": "LengthUnit", "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Level;1", + "@type": "Interface", + "displayName": { + "en": "Level" + }, + "description": { + "en": "The level of a building or other structure, a.k.a. storey, floor, etc." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [ + { + "@type": "Property", + "description": { + "en": "A number indicating the ordinal number of this level within the building. Note that the implementation of this numbering scheme and its starting point is implementation-specific; e.g., the fifth floor below ground may be 0 in some systems, and -5 in others." + }, + "displayName": { + "en": "level number" + }, + "name": "levelNumber", + "schema": "integer", + "writable": true }, { "@type": [ "Property", "Length" ], - "name": "height", + "name": "elevation", "displayName": { - "en": "Height" + "en": "Elevation (Sea Level)" }, "writable": true, "schema": "double", @@ -6837,216 +7663,41 @@ "Override" ], "displayName": { - "en": "height unit" + "en": "elevation unit" }, - "name": "heightUnit", - "annotates": "height", + "name": "elevationUnit", + "annotates": "elevation", "overrides": "unit", "schema": "LengthUnit", "writable": true }, { - "@type": "Property", - "name": "constructionStartDate", - "displayName": { - "en": "Construction Start Date" - }, - "writable": true, - "schema": "date" - }, - { - "@type": "Property", - "name": "constructionCompletionDate", + "@type": [ + "Property", + "Length" + ], + "name": "siteElevation", "displayName": { - "en": "Construction Completion Date" + "en": "Elevation (Site)" }, "writable": true, - "schema": "date" + "schema": "double", + "unit": "metre" }, { - "@type": "Property", - "name": "dateOpened", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Date Opened" + "en": "site elevation unit" }, - "writable": true, - "schema": "date" - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:BuildingCBECSBuildingType;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "enumValue": "Education", - "name": "Education" - }, - { - "enumValue": "Food Sales", - "name": "FoodSales" - }, - { - "enumValue": "Food Service", - "name": "FoodService" - }, - { - "enumValue": "Healthcare - Inpatient", - "name": "HealthcareInpatient" - }, - { - "enumValue": "Healthcare - Outpatient", - "name": "HealthcareOutpatient" - }, - { - "enumValue": "Lodging", - "name": "Lodging" - }, - { - "enumValue": "Mercantile - Retail other than mall", - "name": "MercantileRetailOtherThanMall" - }, - { - "enumValue": "Mercantile - Enclosed and strip malls", - "name": "MercantileEnclosed" - }, - { - "enumValue": "Office", - "name": "Office" - }, - { - "enumValue": "Public Assembly", - "name": "PublicAssembly" - }, - { - "enumValue": "Public Order and Safety", - "name": "PublicOrderAndSafety" - }, - { - "enumValue": "Religious Worship", - "name": "ReligiousWorship" - }, - { - "enumValue": "Service", - "name": "Service" - }, - { - "enumValue": "Warehouse and Storage", - "name": "WarehouseAndStorage" - }, - { - "enumValue": "Other", - "name": "Other" - }, - { - "enumValue": "Vacant", - "name": "Vacant" - } - ] - }, - { - "@id": "dtmi:com:willowinc:BuildingENERGYSTARPropertyType;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "enumValue": "Bank Branch", - "name": "BankBranch" - }, - { - "enumValue": "Barracks", - "name": "Barracks" - }, - { - "enumValue": "Convenience Store", - "name": "ConvenienceStore" - }, - { - "enumValue": "Courthouse", - "name": "Courthouse" - }, - { - "enumValue": "Data Center", - "name": "DataCenter" - }, - { - "enumValue": "Distribution Center", - "name": "DistributionCenter" - }, - { - "enumValue": "Financial Office", - "name": "FinancialOffice" - }, - { - "enumValue": "Hospital (General Medical \u0026 Surgical)", - "name": "Hospital" - }, - { - "enumValue": "Hotel", - "name": "Hotel" - }, - { - "enumValue": "K-12 School", - "name": "K12Schoold" - }, - { - "enumValue": "Medical Office", - "name": "MedicalOffice" - }, - { - "enumValue": "Multifamily Housing", - "name": "MultifamilyHousing" - }, - { - "enumValue": "Non-refrigerated Warehouse", - "name": "NonRefrigeratedWarehouse" - }, - { - "enumValue": "Office", - "name": "Office" - }, - { - "enumValue": "Refrigerated Warehouse", - "name": "RefrigeratedWarehouse" - }, - { - "enumValue": "Residence Hall/Dormitory", - "name": "ResidenceHallDormitory" - }, - { - "enumValue": "Retail Store", - "name": "RetailStore" - }, - { - "enumValue": "Single Family Home", - "name": "SingleFamilyHome" - }, - { - "enumValue": "Senior Living Community", - "name": "SeniorLivingCommunity" - }, - { - "enumValue": "Supermarket/Grocery Store", - "name": "SupermarketGroceryStore" - }, - { - "enumValue": "Vehicle Dealership", - "name": "VehicleDealership" - }, - { - "enumValue": "Wastewater Treatment Plant", - "name": "WastewaterTreatmentPlant" - }, - { - "enumValue": "Wholesale Club/Supercenter", - "name": "WholesaleClubSupercenter" - }, - { - "enumValue": "Worship Facility", - "name": "WorshipFacility" - } - ] + "name": "siteElevationUnit", + "annotates": "siteElevation", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true } ], "@context": [ @@ -7057,330 +7708,196 @@ ] }, { - "@id": "dtmi:com:willowinc:BuildingOutdoorArea;1", + "@id": "dtmi:com:willowinc:Organization;1", "@type": "Interface", "displayName": { - "en": "Building Outdoor Area" + "en": "Organization" }, "description": { - "en": "An outdoor area that is located in or adjacent to a building such as a rooftop area, balcony, or terrace." + "en": "An organization of any sort (e.g., a business, association, project, consortium, tribe, etc.)" }, "extends": [ - "dtmi:com:willowinc:Space;1" + "dtmi:com:willowinc:Agent;1" + ], + "contents": [ + { + "@type": "Property", + "description": { + "en": "URL link to an image/logo that represents the organization." + }, + "displayName": { + "en": "logo" + }, + "name": "logo", + "schema": "string", + "writable": true + }, + { + "@type": "Relationship", + "description": { + "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" + }, + "displayName": { + "en": "is part of" + }, + "name": "isPartOf", + "target": "dtmi:com:willowinc:Organization;1" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:CalendarEvent;1", + "@id": "dtmi:com:willowinc:OutdoorArea;1", "@type": "Interface", "displayName": { - "en": "Calendar Event" + "en": "Outdoor Area" }, "description": { - "en": "An event that is scheduled on a calendar of a person, a space, or both. This data model closely adheres to an Event in the Microsoft Graph." + "en": "An area on a land that is outside of a building." }, "extends": [ - "dtmi:com:willowinc:Event;1" + "dtmi:com:willowinc:Space;1" ], "contents": [ { - "@type": "Relationship", - "name": "hasAttendee", - "displayName": { - "en": "has attendee" - }, - "description": { - "en": "A person or organization which has been invited to or planning to attend a calendar event." - }, - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "name": "hasOrganizer", + "@type": "Property", + "name": "type", "displayName": { - "en": "has organizer" - }, - "description": { - "en": "A person or organization which has organized a calendar event." + "en": "Type" }, - "target": "dtmi:com:willowinc:Agent;1" - }, + "writable": true, + "schema": "string" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Parameter;1", + "@type": "Interface", + "displayName": { + "en": "Parameter" + }, + "description": { + "en": "A configuration setting" + }, + "extends": [ + "dtmi:com:willowinc:Capability;1" + ], + "contents": [ { "@type": "Relationship", - "name": "hasLocation", - "displayName": { - "en": "has location" - }, "description": { - "en": "A space where a calendar event is taking place." + "en": "The Capability that has this Parameter, i.e. High Limit or Low Limit for a Setpoint" }, - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": "Property", "displayName": { - "en": "Is All Day" + "en": "is parameter of" }, - "name": "isAllDay", - "schema": "boolean", - "writable": true - }, + "name": "isParameterOf", + "target": "dtmi:com:willowinc:Capability;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ParkingSpot;1", + "@type": "Interface", + "displayName": { + "en": "Parking Spot" + }, + "description": { + "en": "A location that is designated for parking a vehicle, a.k.a. parking space." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [ { "@type": "Property", - "name": "recurrence", + "name": "type", "displayName": { - "en": "Recurrence" + "en": "Type" }, "writable": true, - "schema": "dtmi:com:willowinc:PatternedRecurrence;1" + "schema": "string" }, { - "@type": "Property", - "name": "iCalUID", + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "iCal UID" + "en": "width" }, - "writable": true, - "schema": "string" + "name": "width", + "schema": "double", + "unit": "metre", + "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Importance" - }, - "name": "importance", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "low", - "name": "low" - }, - { - "enumValue": "normal", - "name": "normal" - }, - { - "enumValue": "high", - "name": "high" - } - ], - "valueSchema": "string" + "en": "width unit" }, + "name": "widthUnit", + "annotates": "width", + "overrides": "unit", + "schema": "LengthUnit", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "Estimated Attendee Count" + "en": "length" }, - "name": "estimatedAttendeeCount", - "schema": "integer", + "name": "length", + "schema": "double", + "unit": "metre", "writable": true - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:PatternedRecurrence;1", - "@type": "Object", - "fields": [ - { - "name": "pattern", - "displayName": { - "en": "Pattern" - }, - "schema": { - "@id": "dtmi:com:willowinc:RecurrencePattern;1", - "@type": "Object", - "fields": [ - { - "name": "type", - "displayName": { - "en": "Type" - }, - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "daily", - "name": "daily" - }, - { - "enumValue": "weekly", - "name": "weekly" - }, - { - "enumValue": "absoluteMonthly", - "name": "absoluteMonthly" - }, - { - "enumValue": "relativeMonthly", - "name": "relativeMonthly" - }, - { - "enumValue": "absoluteYearly", - "name": "absoluteYearly" - }, - { - "enumValue": "relativeYearly", - "name": "relativeYearly" - } - ], - "valueSchema": "string" - } - }, - { - "name": "dayOfMonth", - "displayName": { - "en": "Day of Month" - }, - "schema": "integer" - }, - { - "name": "monthOfYear", - "displayName": { - "en": "Month of Year" - }, - "schema": "integer" - }, - { - "name": "daysOfWeek", - "displayName": { - "en": "Days of Week" - }, - "schema": { - "@type": "Array", - "elementSchema": "dtmi:com:willowinc:CalendarEventDayOfWeek;1" - } - }, - { - "name": "firstDayOfWeek", - "displayName": { - "en": "First Day of Week" - }, - "schema": "dtmi:com:willowinc:CalendarEventDayOfWeek;1" - }, - { - "name": "interval", - "displayName": { - "en": "Interval" - }, - "schema": "integer" - } - ] - } - }, - { - "name": "range", - "displayName": { - "en": "Range" - }, - "schema": { - "@id": "dtmi:com:willowinc:RecurrenceRange;1", - "@type": "Object", - "fields": [ - { - "name": "type", - "displayName": { - "en": "Type" - }, - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "endDate", - "name": "endDate" - }, - { - "enumValue": "noEnd", - "name": "noEnd" - }, - { - "enumValue": "numbered", - "name": "numbered" - } - ], - "valueSchema": "string" - } - }, - { - "name": "startDate", - "displayName": { - "en": "Start Date" - }, - "schema": "date" - }, - { - "name": "endDate", - "displayName": { - "en": "End Date" - }, - "schema": "date" - }, - { - "name": "numberOfOccurrences", - "displayName": { - "en": "Number of Occurrences" - }, - "schema": "integer" - } - ] - } - } - ] }, { - "@id": "dtmi:com:willowinc:CalendarEventDayOfWeek;1", - "@type": "Enum", - "enumValues": [ - { - "enumValue": "sunday", - "name": "sunday" - }, - { - "enumValue": "monday", - "name": "monday" - }, - { - "enumValue": "tuesday", - "name": "tuesday" - }, - { - "enumValue": "wednesday", - "name": "wednesday" - }, - { - "enumValue": "thursday", - "name": "thursday" - }, - { - "enumValue": "friday", - "name": "friday" - }, - { - "enumValue": "saturday", - "name": "saturday" - } + "@type": [ + "Property", + "ValueAnnotation", + "Override" ], - "valueSchema": "string" + "displayName": { + "en": "length unit" + }, + "name": "lengthUnit", + "annotates": "length", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true } ], "@context": [ "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:CapabilityComponent;1", + "@id": "dtmi:com:willowinc:Pavement;1", "@type": "Interface", "displayName": { - "en": "Capability Component" + "en": "Pavement Structure" }, "extends": [ - "dtmi:com:willowinc:Component;1" + "dtmi:com:willowinc:Structure;1" ], "contents": [], "@context": [ @@ -7388,27 +7905,16 @@ ] }, { - "@id": "dtmi:com:willowinc:CertificationDocument;1", + "@id": "dtmi:com:willowinc:PerformanceIndicator;1", "@type": "Interface", "displayName": { - "en": "Certification Document" + "en": "Performance Indicator" }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CommissioningDocument;1", - "@type": "Interface", - "displayName": { - "en": "Commissioning Document" + "description": { + "en": "A metric which is calculated to indicate the performance of an entity. Performance indicators are used to evaluate and benchmark against an objective." }, "extends": [ - "dtmi:com:willowinc:Document;1" + "dtmi:com:willowinc:Capability;1" ], "contents": [], "@context": [ @@ -7416,528 +7922,159 @@ ] }, { - "@id": "dtmi:com:willowinc:ContractDocument;1", + "@id": "dtmi:com:willowinc:Person;1", "@type": "Interface", "displayName": { - "en": "Contract Document" + "en": "Person" }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ContractEvent;1", - "@type": "Interface", - "displayName": { - "en": "Contract Event" + "description": { + "en": "A natural person (i.e., an individual human being)." }, "extends": [ - "dtmi:com:willowinc:Event;1" + "dtmi:com:willowinc:Agent;1" + ], + "contents": [ + { + "@type": "Property", + "description": { + "en": "A person\u0027s last name (if they have one; this varies across cultural contexts)." + }, + "displayName": { + "en": "last name" + }, + "name": "lastName", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "URL link to an image that represents the person." + }, + "displayName": { + "en": "image" + }, + "name": "image", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "A person\u0027s personal, individual name." + }, + "displayName": { + "en": "given name" + }, + "name": "givenName", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "A gender designation for a Person." + }, + "displayName": { + "en": "gender" + }, + "name": "gender", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "A person\u0027s first name (if they have one; this varies across cultural contexts)." + }, + "displayName": { + "en": "first name" + }, + "name": "firstName", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "A person\u0027s family name." + }, + "displayName": { + "en": "family name" + }, + "name": "familyName", + "schema": "string", + "writable": true + }, + { + "@type": "Relationship", + "description": { + "en": "Indicates the Organization(s) that this Person is a member of." + }, + "displayName": { + "en": "is member of" + }, + "name": "isMemberOf", + "target": "dtmi:com:willowinc:Organization;1" + }, + { + "@type": "Property", + "name": "companyId", + "displayName": { + "en": "Company Id" + }, + "writable": true, + "schema": "string" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Currency;1", + "@id": "dtmi:com:willowinc:PersonAccessEvent;1", "@type": "Interface", "displayName": { - "en": "Currency" - }, - "description": { - "en": "The ISO 4217 currency codes and names." + "en": "Person Access Event" }, "extends": [ - "dtmi:com:willowinc:Component;1" + "dtmi:com:willowinc:Event;1" ], "contents": [ { "@type": "Property", - "name": "code", - "displayName": "Code", + "name": "accessReaderId", + "displayName": { + "en": "Access Reader Id" + }, "writable": true, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "AED", - "displayName": "AED", - "description": "United Arab Emirates dirham", - "enumValue": "AED" - }, - { - "name": "ARS", - "displayName": "ARS", - "description": "Argentine peso", - "enumValue": "ARS" - }, - { - "name": "AUD", - "displayName": "AUD", - "description": "Australian dollar", - "enumValue": "AUD" - }, - { - "name": "BOB", - "displayName": "BOB", - "description": "Boliviano", - "enumValue": "BOB" - }, - { - "name": "BRL", - "displayName": "BRL", - "description": "Brazilian real", - "enumValue": "BRL" - }, - { - "name": "BZD", - "displayName": "BZD", - "description": "Belize dollar", - "enumValue": "BZD" - }, - { - "name": "CAD", - "displayName": "CAD", - "description": "Canadian dollar", - "enumValue": "CAD" - }, - { - "name": "CHF", - "displayName": "CHF", - "description": "Swiss franc", - "enumValue": "CHF" - }, - { - "name": "CLP", - "displayName": "CLP", - "description": "Chilean peso", - "enumValue": "CLP" - }, - { - "name": "COP", - "displayName": "COP", - "description": "Colombian peso", - "enumValue": "COP" - }, - { - "name": "CRC", - "displayName": "CRC", - "description": "Costa Rican colon", - "enumValue": "CRC" - }, - { - "name": "CUP", - "displayName": "CUP", - "description": "Cuban peso", - "enumValue": "CUP" - }, - { - "name": "CZK", - "displayName": "CZK", - "description": "Czech koruna", - "enumValue": "CZK" - }, - { - "name": "DKK", - "displayName": "DKK", - "description": "Danish krone", - "enumValue": "DKK" - }, - { - "name": "DOP", - "displayName": "DOP", - "description": "Dominican peso", - "enumValue": "DOP" - }, - { - "name": "DZD", - "displayName": "DZD", - "description": "Algerian dinar", - "enumValue": "DZD" - }, - { - "name": "EGP", - "displayName": "EGP", - "description": "Egyptian pound", - "enumValue": "EGP" - }, - { - "name": "EUR", - "displayName": "EUR", - "description": "Euro", - "enumValue": "EUR" - }, - { - "name": "GBP", - "displayName": "GBP", - "description": "Pound sterling", - "enumValue": "GBP" - }, - { - "name": "GTQ", - "displayName": "GTQ", - "description": "Guatemalan quetzal", - "enumValue": "GTQ" - }, - { - "name": "HKD", - "displayName": "HKD", - "description": "Hong Kong dollar", - "enumValue": "HKD" - }, - { - "name": "HNL", - "displayName": "HNL", - "description": "Honduran lempira", - "enumValue": "HNL" - }, - { - "name": "HRK", - "displayName": "HRK", - "description": "Croatian kuna", - "enumValue": "HRK" - }, - { - "name": "HUF", - "displayName": "HUF", - "description": "Hungarian forint", - "enumValue": "HUF" - }, - { - "name": "IDR", - "displayName": "IDR", - "description": "Indonesian rupiah", - "enumValue": "IDR" - }, - { - "name": "ILS", - "displayName": "ILS", - "description": "Israeli new shekel", - "enumValue": "ILS" - }, - { - "name": "INR", - "displayName": "INR", - "description": "Indian rupee", - "enumValue": "INR" - }, - { - "name": "IQD", - "displayName": "IQD", - "description": "Iraqi dinar", - "enumValue": "IQD" - }, - { - "name": "IRR", - "displayName": "IRR", - "description": "Iranian rial", - "enumValue": "IRR" - }, - { - "name": "ISK", - "displayName": "ISK", - "description": "Icelandic kr\u00F3na\u00A0(plural: kr\u00F3nur)", - "enumValue": "ISK" - }, - { - "name": "JPY", - "displayName": "JPY", - "description": "Japanese yen", - "enumValue": "JPY" - }, - { - "name": "KES", - "displayName": "KES", - "description": "Kenyan shilling", - "enumValue": "KES" - }, - { - "name": "KHR", - "displayName": "KHR", - "description": "Cambodian riel", - "enumValue": "KHR" - }, - { - "name": "KRW", - "displayName": "KRW", - "description": "South Korean won", - "enumValue": "KRW" - }, - { - "name": "KWD", - "displayName": "KWD", - "description": "Kuwaiti dinar", - "enumValue": "KWD" - }, - { - "name": "LBP", - "displayName": "LBP", - "description": "Lebanese pound", - "enumValue": "LBP" - }, - { - "name": "LKR", - "displayName": "LKR", - "description": "Sri Lankan rupee", - "enumValue": "LKR" - }, - { - "name": "LRD", - "displayName": "LRD", - "description": "Liberian dollar", - "enumValue": "LRD" - }, - { - "name": "LYD", - "displayName": "LYD", - "description": "Libyan dinar", - "enumValue": "LYD" - }, - { - "name": "MAD", - "displayName": "MAD", - "description": "Moroccan dirham", - "enumValue": "MAD" - }, - { - "name": "MMK", - "displayName": "MMK", - "description": "Myanmar kyat", - "enumValue": "MMK" - }, - { - "name": "MNT", - "displayName": "MNT", - "description": "Mongolian t\u00F6gr\u00F6g", - "enumValue": "MNT" - }, - { - "name": "MXN", - "displayName": "MXN", - "description": "Mexican peso", - "enumValue": "MXN" - }, - { - "name": "MYR", - "displayName": "MYR", - "description": "Malaysian ringgit", - "enumValue": "MYR" - }, - { - "name": "NGN", - "displayName": "NGN", - "description": "Nigerian naira", - "enumValue": "NGN" - }, - { - "name": "NIO", - "displayName": "NIO", - "description": "Nicaraguan c\u00F3rdoba", - "enumValue": "NIO" - }, - { - "name": "NOK", - "displayName": "NOK", - "description": "Norwegian krone", - "enumValue": "NOK" - }, - { - "name": "NPR", - "displayName": "NPR", - "description": "Nepalese rupee", - "enumValue": "NPR" - }, - { - "name": "NZD", - "displayName": "NZD", - "description": "New Zealand dollar", - "enumValue": "NZD" - }, - { - "name": "OMR", - "displayName": "OMR", - "description": "Omani rial", - "enumValue": "OMR" - }, - { - "name": "PAB", - "displayName": "PAB", - "description": "Panamanian balboa", - "enumValue": "PAB" - }, - { - "name": "PEN", - "displayName": "PEN", - "description": "Peruvian sol", - "enumValue": "PEN" - }, - { - "name": "PGK", - "displayName": "PGK", - "description": "Papua New Guinean kina", - "enumValue": "PGK" - }, - { - "name": "PHP", - "displayName": "PHP", - "description": "Philippine peso", - "enumValue": "PHP" - }, - { - "name": "PKR", - "displayName": "PKR", - "description": "Pakistani rupee", - "enumValue": "PKR" - }, - { - "name": "PLN", - "displayName": "PLN", - "description": "Polish z\u0142oty", - "enumValue": "PLN" - }, - { - "name": "PYG", - "displayName": "PYG", - "description": "Paraguayan guaran\u00ED", - "enumValue": "PYG" - }, - { - "name": "QAR", - "displayName": "QAR", - "description": "Qatari riyal", - "enumValue": "QAR" - }, - { - "name": "RON", - "displayName": "RON", - "description": "Romanian leu", - "enumValue": "RON" - }, - { - "name": "RSD", - "displayName": "RSD", - "description": "Serbian dinar", - "enumValue": "RSD" - }, - { - "name": "CNY", - "displayName": "CNY", - "description": "Renminbi", - "enumValue": "CNY" - }, - { - "name": "RUB", - "displayName": "RUB", - "description": "Russian ruble", - "enumValue": "RUB" - }, - { - "name": "SAR", - "displayName": "SAR", - "description": "Saudi riyal", - "enumValue": "SAR" - }, - { - "name": "SEK", - "displayName": "SEK", - "description": "Swedish krona\u00A0(plural: kronor)", - "enumValue": "SEK" - }, - { - "name": "SGD", - "displayName": "SGD", - "description": "Singapore dollar", - "enumValue": "SGD" - }, - { - "name": "SVC", - "displayName": "SVC", - "description": "Salvadoran col\u00F3n", - "enumValue": "SVC" - }, - { - "name": "SYP", - "displayName": "SYP", - "description": "Syrian pound", - "enumValue": "SYP" - }, - { - "name": "THB", - "displayName": "THB", - "description": "Thai baht", - "enumValue": "THB" - }, - { - "name": "TND", - "displayName": "TND", - "description": "Tunisian dinar", - "enumValue": "TND" - }, - { - "name": "TRY", - "displayName": "TRY", - "description": "Turkish lira", - "enumValue": "TRY" - }, - { - "name": "TWD", - "displayName": "TWD", - "description": "New Taiwan dollar", - "enumValue": "TWD" - }, - { - "name": "UAH", - "displayName": "UAH", - "description": "Ukrainian hryvnia", - "enumValue": "UAH" - }, - { - "name": "USD", - "displayName": "USD", - "description": "United States dollar", - "enumValue": "USD" - }, - { - "name": "UYU", - "displayName": "UYU", - "description": "Uruguayan peso", - "enumValue": "UYU" - }, - { - "name": "VES", - "displayName": "VES", - "description": "Venezuelan bol\u00EDvar soberano", - "enumValue": "VES" - }, - { - "name": "VND", - "displayName": "VND", - "description": "Vietnamese \u0111\u1ED3ng", - "enumValue": "VND" - }, - { - "name": "YER", - "displayName": "YER", - "description": "Yemeni rial", - "enumValue": "YER" - }, + "schema": "string" + }, + { + "@type": "Property", + "name": "accessEventType", + "displayName": { + "en": "Access Event Type" + }, + "writable": true, + "schema": { + "@id": "dtmi:com:willowinc:AccessEventType;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ { - "name": "ZAR", - "displayName": "ZAR", - "description": "South African rand", - "enumValue": "ZAR" + "name": "Granted", + "displayName": { + "en": "Granted" + }, + "enumValue": "Granted" }, { - "name": "ZWL", - "displayName": "ZWL", - "description": "Zimbabwean dollar", - "enumValue": "ZWL" + "name": "Denied", + "displayName": { + "en": "Denied" + }, + "enumValue": "Denied" } ] } @@ -7948,59 +8085,44 @@ ] }, { - "@id": "dtmi:com:willowinc:DistributionAsset;1", + "@id": "dtmi:com:willowinc:Portfolio;1", "@type": "Interface", "displayName": { - "en": "Distribution Asset" + "en": "Portfolio" }, "extends": [ - "dtmi:com:willowinc:Asset;1" + "dtmi:com:willowinc:Collection;1" ], "contents": [ { - "@type": [ - "Property", - "Length" - ], + "@type": "Relationship", + "name": "operatedBy", "displayName": { - "en": "length" + "en": "operated by" }, - "name": "length", - "schema": "double", - "unit": "metre", - "writable": true + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "name": "ownedBy", "displayName": { - "en": "length unit" + "en": "owned by" }, - "name": "lengthUnit", - "annotates": "length", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "target": "dtmi:com:willowinc:Agent;1" } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DocumentCollection;1", + "@id": "dtmi:com:willowinc:Product_IOM_Manual;1", "@type": "Interface", "displayName": { - "en": "Document Collection" + "en": "Product IOM Manual" }, "extends": [ - "dtmi:com:willowinc:Collection;1" + "dtmi:com:willowinc:Document;1" ], "contents": [], "@context": [ @@ -8008,10 +8130,10 @@ ] }, { - "@id": "dtmi:com:willowinc:Drawing;1", + "@id": "dtmi:com:willowinc:ProductData;1", "@type": "Interface", "displayName": { - "en": "Drawing" + "en": "Product Data" }, "extends": [ "dtmi:com:willowinc:Document;1" @@ -8022,352 +8144,177 @@ ] }, { - "@id": "dtmi:com:willowinc:ElevatorTripEvent;1", + "@id": "dtmi:com:willowinc:Region;1", "@type": "Interface", "displayName": { - "en": "Elevator Trip Event" + "en": "Region" + }, + "description": { + "en": "An administrative geospatial unit larger than the individual real estate. For instance, \u0022Lombary\u0022, \u0022North America\u0022, \u0022The Back Bay\u0022, \u0022Eln\u00E4tsomr\u00E5de Syd\u0022, etc." }, "extends": [ - "dtmi:com:willowinc:Event;1" + "dtmi:com:willowinc:Space;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Room;1", + "@type": "Interface", + "displayName": { + "en": "Room" + }, + "description": { + "en": "A portion of space within a building that\u0027s usually enclosed and has its own walls, floor, and ceiling." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" ], "contents": [ { "@type": "Property", - "name": "startLevelId", - "displayName": { - "en": "Start Level Id" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "endLevelId", + "name": "type", "displayName": { - "en": "End Level Id" + "en": "Type" }, "writable": true, "schema": "string" }, { - "@type": "Property", - "name": "currentLevelId", + "@type": [ + "Property", + "Volume" + ], + "name": "volume", "displayName": { - "en": "Current Level Id" + "en": "Volume" }, "writable": true, - "schema": "string" + "schema": "double", + "unit": "cubicMetre" }, { - "@type": "Property", - "name": "currentTripDirection", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Current Trip Direction" + "en": "volume unit" }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:ElevatorTripDirection;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "Up", - "displayName": { - "en": "Up" - }, - "enumValue": "Up" - }, - { - "name": "Down", - "displayName": { - "en": "Down" - }, - "enumValue": "Down" - } - ] - } + "name": "volumeUnit", + "annotates": "volume", + "overrides": "unit", + "schema": "VolumeUnit", + "writable": true } ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Sensor;1", + "@type": "Interface", + "displayName": { + "en": "Sensor" + }, + "description": { + "en": "A status or feedback from a sensor" + }, + "extends": [ + "dtmi:com:willowinc:Capability;1" + ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Equipment;1", + "@id": "dtmi:com:willowinc:SpaceCollection;1", "@type": "Interface", "displayName": { - "en": "Equipment" + "en": "Space Collection" }, "extends": [ - "dtmi:com:willowinc:Asset;1" + "dtmi:com:willowinc:Collection;1" ], "contents": [ - { - "@type": "Relationship", - "name": "isFedBy", - "displayName": { - "en": "is fed by" - }, - "description": { - "en": "Indicates that a substance is being received from the target entity. Inverse of: feeds" - }, - "properties": [ - { - "@type": "Property", - "name": "substance", - "displayName": { - "en": "Substance" - }, - "writable": true, - "schema": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1" - } - ] - }, - { - "@type": "Relationship", - "name": "feeds", - "displayName": { - "en": "feeds" - }, - "description": { - "en": "Indicates that a substance is sent to the target entity. Inverse of: isFedBy" - }, - "properties": [ - { - "@type": "Property", - "name": "substance", - "displayName": { - "en": "Substance" - }, - "writable": true, - "schema": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1" - } - ] - }, { "@type": "Property", - "name": "standbyEquipment", "displayName": { - "en": "Standby Equipment" + "en": "occupiable" }, + "name": "occupiable", "description": { - "en": "Indicates that a piece of equipment is designated as standby and will only operate in the event of a failure of duty equipment." + "en": "A space designed for human occupancy in which individuals may remain for a period of time for rest, amusement, education, dining, shopping, employment, or other similar purposes." }, - "writable": true, - "schema": "boolean" + "schema": "boolean", + "writable": true } ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:EquipmentIsFedBySubstances;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "enumValue": "Water", - "name": "Water" - }, - { - "enumValue": "WasteVentDrainage", - "name": "WasteVentDrainage" - }, - { - "enumValue": "TransferAir", - "name": "TransferAir" - }, - { - "enumValue": "SupplyAir", - "name": "SupplyAir" - }, - { - "enumValue": "StormDrainage", - "name": "StormDrainage" - }, - { - "enumValue": "Steam", - "name": "Steam" - }, - { - "enumValue": "SprinklerWater", - "name": "SprinklerWater" - }, - { - "enumValue": "ReturnAir", - "name": "ReturnAir" - }, - { - "enumValue": "Refrig", - "name": "Refrig" - }, - { - "enumValue": "RecircHotDomesticWater", - "name": "RecircHotDomesticWater" - }, - { - "enumValue": "Propane", - "name": "Propane" - }, - { - "enumValue": "OutsideAir", - "name": "OutsideAir" - }, - { - "enumValue": "NonPotableDomesticWater", - "name": "NonPotableDomesticWater" - }, - { - "enumValue": "NaturalGas", - "name": "NaturalGas" - }, - { - "enumValue": "MakeupWater", - "name": "MakeupWater" - }, - { - "enumValue": "Light", - "name": "Light" - }, - { - "enumValue": "IrrigationWater", - "name": "IrrigationWater" - }, - { - "enumValue": "HotWater", - "name": "HotWater" - }, - { - "enumValue": "HotWaterGlycolMix", - "name": "HotWaterGlycolMix" - }, - { - "enumValue": "HotDomesticWater", - "name": "HotDomesticWater" - }, - { - "enumValue": "GreaseExhaustAir", - "name": "GreaseExhaustAir" - }, - { - "enumValue": "Gasoline", - "name": "Gasoline" - }, - { - "enumValue": "FuelOil", - "name": "FuelOil" - }, - { - "enumValue": "Freight", - "name": "Freight" - }, - { - "enumValue": "ExhaustAir", - "name": "ExhaustAir" - }, - { - "enumValue": "Ethernet", - "name": "Ethernet" - }, - { - "enumValue": "DriveElec", - "name": "DriveElec" - }, - { - "enumValue": "Diesel", - "name": "Diesel" - }, - { - "enumValue": "DCElec", - "name": "DCElec" - }, - { - "enumValue": "CondenserWater", - "name": "CondenserWater" - }, - { - "enumValue": "CondenserWaterGlycolMix", - "name": "CondenserWaterGlycolMix" - }, - { - "enumValue": "Condensate", - "name": "Condensate" - }, - { - "enumValue": "ColdDomesticWater", - "name": "ColdDomesticWater" - }, - { - "enumValue": "ChilledWater", - "name": "ChilledWater" - }, - { - "enumValue": "BlowdownWater", - "name": "BlowdownWater" - }, - { - "enumValue": "Air", - "name": "Air" - }, - { - "enumValue": "ACElec", - "name": "ACElec" - } - ] - } + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:SpaceComponent;1", + "@type": "Interface", + "displayName": { + "en": "Space Component" + }, + "extends": [ + "dtmi:com:willowinc:Component;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Furniture;1", + "@id": "dtmi:com:willowinc:Specification;1", "@type": "Interface", "displayName": { - "en": "Furniture" + "en": "Specification" }, "extends": [ - "dtmi:com:willowinc:Asset;1" + "dtmi:com:willowinc:Document;1" ], - "contents": [ - { - "@type": "Property", - "name": "length", - "displayName": { - "en": "Length" - }, - "writable": true, - "schema": "float" - }, - { - "@type": "Property", - "name": "width", - "displayName": { - "en": "Width" - }, - "writable": true, - "schema": "float" - }, - { - "@type": "Property", - "name": "height", - "displayName": { - "en": "Height" - }, - "writable": true, - "schema": "float" - } + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:State;1", + "@type": "Interface", + "displayName": { + "en": "State" + }, + "description": { + "en": "The state of the equipment" + }, + "extends": [ + "dtmi:com:willowinc:Capability;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Image;1", + "@id": "dtmi:com:willowinc:StructuralBuildingComponent;1", "@type": "Interface", "displayName": { - "en": "Image" + "en": "Structural Building Component" }, "extends": [ - "dtmi:com:willowinc:Document;1" + "dtmi:com:willowinc:BuildingComponent;1" ], "contents": [], "@context": [ @@ -8375,13 +8322,13 @@ ] }, { - "@id": "dtmi:com:willowinc:Land;1", + "@id": "dtmi:com:willowinc:SubBuilding;1", "@type": "Interface", "displayName": { - "en": "Land" + "en": "Sub-Building" }, "description": { - "en": "A piece of land upon which one or more buildings may be situated, a.ka. site." + "en": "A part of a larger building, e.g., a wing, a tower, or podium, which has a uniquely defined name and levels." }, "extends": [ "dtmi:com:willowinc:Space;1" @@ -8395,6 +8342,72 @@ "name": "address", "schema": "dtmi:com:willowinc:Address;1" }, + { + "@type": [ + "Property", + "Length" + ], + "name": "height", + "displayName": { + "en": "Height" + }, + "writable": true, + "schema": "double", + "unit": "metre" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "height unit" + }, + "name": "heightUnit", + "annotates": "height", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Substructure;1", + "@type": "Interface", + "displayName": { + "en": "Substructure" + }, + "description": { + "en": "A structure which is below ground level serving as the foundation for one or more buildings on a land above and has uniquely defined name and levels." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [ + { + "@type": "Property", + "name": "type", + "displayName": { + "en": "Type" + }, + "writable": true, + "schema": "string" + }, + { + "@type": "Component", + "name": "timeZone", + "displayName": { + "en": "Time Zone" + }, + "schema": "dtmi:com:willowinc:TimeZone;1" + }, { "@type": "Component", "displayName": { @@ -8443,15 +8456,6 @@ "name": "domesticWaterPriceRate", "schema": "dtmi:com:willowinc:UtilityRate;1" }, - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string" - }, { "@type": "Property", "name": "coordinates", @@ -8460,7 +8464,7 @@ }, "writable": true, "schema": { - "@id": "dtmi:com:willowinc:LandCoordinates;1", + "@id": "dtmi:com:willowinc:SubstructureCoordinates;1", "@type": "Object", "fields": [ { @@ -8485,9 +8489,9 @@ "Property", "Length" ], - "name": "elevation", + "name": "depth", "displayName": { - "en": "Elevation (Sea Level)" + "en": "Depth (Below Sea Level)" }, "writable": true, "schema": "double", @@ -8500,55 +8504,22 @@ "Override" ], "displayName": { - "en": "elevation unit" + "en": "depth unit" }, - "name": "elevationUnit", - "annotates": "elevation", + "name": "depthUnit", + "annotates": "depth", "overrides": "unit", "schema": "LengthUnit", "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Level;1", - "@type": "Interface", - "displayName": { - "en": "Level" - }, - "description": { - "en": "The level of a building or other structure, a.k.a. storey, floor, etc." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ - { - "@type": "Property", - "description": { - "en": "A number indicating the ordinal number of this level within the building. Note that the implementation of this numbering scheme and its starting point is implementation-specific; e.g., the fifth floor below ground may be 0 in some systems, and -5 in others." - }, - "displayName": { - "en": "level number" - }, - "name": "levelNumber", - "schema": "integer", - "writable": true }, { "@type": [ "Property", "Length" ], - "name": "elevation", + "name": "height", "displayName": { - "en": "Elevation (Sea Level)" + "en": "Height" }, "writable": true, "schema": "double", @@ -8561,224 +8532,40 @@ "Override" ], "displayName": { - "en": "elevation unit" + "en": "height unit" }, - "name": "elevationUnit", - "annotates": "elevation", + "name": "heightUnit", + "annotates": "height", "overrides": "unit", "schema": "LengthUnit", "writable": true }, - { - "@type": [ - "Property", - "Length" - ], - "name": "siteElevation", - "displayName": { - "en": "Elevation (Site)" - }, - "writable": true, - "schema": "double", - "unit": "metre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "site elevation unit" - }, - "name": "siteElevationUnit", - "annotates": "siteElevation", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Organization;1", - "@type": "Interface", - "displayName": { - "en": "Organization" - }, - "description": { - "en": "An organization of any sort (e.g., a business, association, project, consortium, tribe, etc.)" - }, - "extends": [ - "dtmi:com:willowinc:Agent;1" - ], - "contents": [ { "@type": "Property", - "description": { - "en": "URL link to an image/logo that represents the organization." - }, + "name": "constructionStartDate", "displayName": { - "en": "logo" + "en": "Construction Start Date" }, - "name": "logo", - "schema": "string", - "writable": true + "writable": true, + "schema": "date" }, - { - "@type": "Relationship", - "description": { - "en": "Indicates a super-entity of the same base type (i.e., Spaces only have Spaces as parents, Organizations only have Organizations, etc). Inverse of: hasPart" - }, - "displayName": { - "en": "is part of" - }, - "name": "isPartOf", - "target": "dtmi:com:willowinc:Organization;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:OutdoorArea;1", - "@type": "Interface", - "displayName": { - "en": "Outdoor Area" - }, - "description": { - "en": "An area on a land that is outside of a building." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ { "@type": "Property", - "name": "type", + "name": "constructionCompletionDate", "displayName": { - "en": "Type" + "en": "Construction Completion Date" }, "writable": true, - "schema": "string" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Parameter;1", - "@type": "Interface", - "displayName": { - "en": "Parameter" - }, - "description": { - "en": "A configuration setting" - }, - "extends": [ - "dtmi:com:willowinc:Capability;1" - ], - "contents": [ - { - "@type": "Relationship", - "description": { - "en": "The Capability that has this Parameter, i.e. High Limit or Low Limit for a Setpoint" - }, - "displayName": { - "en": "is parameter of" - }, - "name": "isParameterOf", - "target": "dtmi:com:willowinc:Capability;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ParkingSpot;1", - "@type": "Interface", - "displayName": { - "en": "Parking Spot" - }, - "description": { - "en": "A location that is designated for parking a vehicle, a.k.a. parking space." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ + "schema": "date" + }, { "@type": "Property", - "name": "type", + "name": "dateOpened", "displayName": { - "en": "Type" + "en": "Date Opened" }, "writable": true, - "schema": "string" - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "width" - }, - "name": "width", - "schema": "double", - "unit": "metre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "width unit" - }, - "name": "widthUnit", - "annotates": "width", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "length" - }, - "name": "length", - "schema": "double", - "unit": "metre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "length unit" - }, - "name": "lengthUnit", - "annotates": "length", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "schema": "date" } ], "@context": [ @@ -8789,13 +8576,16 @@ ] }, { - "@id": "dtmi:com:willowinc:Pavement;1", + "@id": "dtmi:com:willowinc:SystemSoftware;1", "@type": "Interface", "displayName": { - "en": "Pavement Structure" + "en": "System Software" + }, + "description": { + "en": "A type of software responsible for managing the hardware and basic functionality of the computer or device, i.e. operating system, device drivers, or firmware." }, "extends": [ - "dtmi:com:willowinc:Structure;1" + "dtmi:com:willowinc:Software;1" ], "contents": [], "@context": [ @@ -8803,16 +8593,13 @@ ] }, { - "@id": "dtmi:com:willowinc:PerformanceIndicator;1", + "@id": "dtmi:com:willowinc:TestReport;1", "@type": "Interface", "displayName": { - "en": "Performance Indicator" - }, - "description": { - "en": "A metric which is calculated to indicate the performance of an entity. Performance indicators are used to evaluate and benchmark against an objective." + "en": "Test Report" }, "extends": [ - "dtmi:com:willowinc:Capability;1" + "dtmi:com:willowinc:Document;1" ], "contents": [], "@context": [ @@ -8820,717 +8607,32 @@ ] }, { - "@id": "dtmi:com:willowinc:Person;1", + "@id": "dtmi:com:willowinc:TimeZone;1", "@type": "Interface", "displayName": { - "en": "Person" + "en": "Time Zone" }, "description": { - "en": "A natural person (i.e., an individual human being)." - }, - "extends": [ - "dtmi:com:willowinc:Agent;1" - ], - "contents": [ - { - "@type": "Property", - "description": { - "en": "A person\u0027s last name (if they have one; this varies across cultural contexts)." - }, - "displayName": { - "en": "last name" - }, - "name": "lastName", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "URL link to an image that represents the person." - }, - "displayName": { - "en": "image" - }, - "name": "image", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "A person\u0027s personal, individual name." - }, - "displayName": { - "en": "given name" - }, - "name": "givenName", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "A gender designation for a Person." - }, - "displayName": { - "en": "gender" - }, - "name": "gender", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "A person\u0027s first name (if they have one; this varies across cultural contexts)." - }, - "displayName": { - "en": "first name" - }, - "name": "firstName", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "A person\u0027s family name." - }, - "displayName": { - "en": "family name" - }, - "name": "familyName", - "schema": "string", - "writable": true - }, - { - "@type": "Relationship", - "description": { - "en": "Indicates the Organization(s) that this Person is a member of." - }, - "displayName": { - "en": "is member of" - }, - "name": "isMemberOf", - "target": "dtmi:com:willowinc:Organization;1" - }, - { - "@type": "Property", - "name": "companyId", - "displayName": { - "en": "Company Id" - }, - "writable": true, - "schema": "string" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PersonAccessEvent;1", - "@type": "Interface", - "displayName": { - "en": "Person Access Event" + "en": "As defined in the \u0027tz database\u0027, time zone is a national region where local clocks have all agreed since 1970 and are in the form \u0027Area/Location\u0027 (i.e. America/New_York)." }, "extends": [ - "dtmi:com:willowinc:Event;1" + "dtmi:com:willowinc:Component;1" ], "contents": [ { "@type": "Property", - "name": "accessReaderId", - "displayName": { - "en": "Access Reader Id" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "accessEventType", - "displayName": { - "en": "Access Event Type" - }, + "name": "name", + "displayName": "Name", "writable": true, "schema": { - "@id": "dtmi:com:willowinc:AccessEventType;1", "@type": "Enum", "valueSchema": "string", "enumValues": [ { - "name": "Granted", - "displayName": { - "en": "Granted" - }, - "enumValue": "Granted" - }, - { - "name": "Denied", - "displayName": { - "en": "Denied" - }, - "enumValue": "Denied" - } - ] - } - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Portfolio;1", - "@type": "Interface", - "displayName": { - "en": "Portfolio" - }, - "extends": [ - "dtmi:com:willowinc:Collection;1" - ], - "contents": [ - { - "@type": "Relationship", - "name": "operatedBy", - "displayName": { - "en": "operated by" - }, - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "name": "ownedBy", - "displayName": { - "en": "owned by" - }, - "target": "dtmi:com:willowinc:Agent;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Product_IOM_Manual;1", - "@type": "Interface", - "displayName": { - "en": "Product IOM Manual" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ProductData;1", - "@type": "Interface", - "displayName": { - "en": "Product Data" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Region;1", - "@type": "Interface", - "displayName": { - "en": "Region" - }, - "description": { - "en": "An administrative geospatial unit larger than the individual real estate. For instance, \u0022Lombary\u0022, \u0022North America\u0022, \u0022The Back Bay\u0022, \u0022Eln\u00E4tsomr\u00E5de Syd\u0022, etc." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Room;1", - "@type": "Interface", - "displayName": { - "en": "Room" - }, - "description": { - "en": "A portion of space within a building that\u0027s usually enclosed and has its own walls, floor, and ceiling." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string" - }, - { - "@type": [ - "Property", - "Volume" - ], - "name": "volume", - "displayName": { - "en": "Volume" - }, - "writable": true, - "schema": "double", - "unit": "cubicMetre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "volume unit" - }, - "name": "volumeUnit", - "annotates": "volume", - "overrides": "unit", - "schema": "VolumeUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Sensor;1", - "@type": "Interface", - "displayName": { - "en": "Sensor" - }, - "description": { - "en": "A status or feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:Capability;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:SpaceCollection;1", - "@type": "Interface", - "displayName": { - "en": "Space Collection" - }, - "extends": [ - "dtmi:com:willowinc:Collection;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "occupiable" - }, - "name": "occupiable", - "description": { - "en": "A space designed for human occupancy in which individuals may remain for a period of time for rest, amusement, education, dining, shopping, employment, or other similar purposes." - }, - "schema": "boolean", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:SpaceComponent;1", - "@type": "Interface", - "displayName": { - "en": "Space Component" - }, - "extends": [ - "dtmi:com:willowinc:Component;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Specification;1", - "@type": "Interface", - "displayName": { - "en": "Specification" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:State;1", - "@type": "Interface", - "displayName": { - "en": "State" - }, - "description": { - "en": "The state of the equipment" - }, - "extends": [ - "dtmi:com:willowinc:Capability;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:StructuralBuildingComponent;1", - "@type": "Interface", - "displayName": { - "en": "Structural Building Component" - }, - "extends": [ - "dtmi:com:willowinc:BuildingComponent;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:SubBuilding;1", - "@type": "Interface", - "displayName": { - "en": "Sub-Building" - }, - "description": { - "en": "A part of a larger building, e.g., a wing, a tower, or podium, which has a uniquely defined name and levels." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ - { - "@type": "Component", - "displayName": { - "en": "address" - }, - "name": "address", - "schema": "dtmi:com:willowinc:Address;1" - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "height", - "displayName": { - "en": "Height" - }, - "writable": true, - "schema": "double", - "unit": "metre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "height unit" - }, - "name": "heightUnit", - "annotates": "height", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Substructure;1", - "@type": "Interface", - "displayName": { - "en": "Substructure" - }, - "description": { - "en": "A structure which is below ground level serving as the foundation for one or more buildings on a land above and has uniquely defined name and levels." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Component", - "name": "timeZone", - "displayName": { - "en": "Time Zone" - }, - "schema": "dtmi:com:willowinc:TimeZone;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Electricity Price Rate" - }, - "name": "electricityPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Electricity Emission Factor" - }, - "name": "electricityEmissionFactor", - "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Natural Gas Price Rate" - }, - "name": "naturalGasPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Chilled Water Price Rate" - }, - "name": "chilledWaterPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Steam Price Rate" - }, - "name": "steamPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Domestic Water Price Rate" - }, - "name": "domesticWaterPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Property", - "name": "coordinates", - "displayName": { - "en": "Coordinates" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:SubstructureCoordinates;1", - "@type": "Object", - "fields": [ - { - "name": "latitude", - "displayName": { - "en": "Latitude" - }, - "schema": "double" - }, - { - "name": "longitude", - "displayName": { - "en": "Longitude" - }, - "schema": "double" - } - ] - } - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "depth", - "displayName": { - "en": "Depth (Below Sea Level)" - }, - "writable": true, - "schema": "double", - "unit": "metre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "depth unit" - }, - "name": "depthUnit", - "annotates": "depth", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "height", - "displayName": { - "en": "Height" - }, - "writable": true, - "schema": "double", - "unit": "metre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "height unit" - }, - "name": "heightUnit", - "annotates": "height", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": "Property", - "name": "constructionStartDate", - "displayName": { - "en": "Construction Start Date" - }, - "writable": true, - "schema": "date" - }, - { - "@type": "Property", - "name": "constructionCompletionDate", - "displayName": { - "en": "Construction Completion Date" - }, - "writable": true, - "schema": "date" - }, - { - "@type": "Property", - "name": "dateOpened", - "displayName": { - "en": "Date Opened" - }, - "writable": true, - "schema": "date" - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:SystemSoftware;1", - "@type": "Interface", - "displayName": { - "en": "System Software" - }, - "description": { - "en": "A type of software responsible for managing the hardware and basic functionality of the computer or device, i.e. operating system, device drivers, or firmware." - }, - "extends": [ - "dtmi:com:willowinc:Software;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:TestReport;1", - "@type": "Interface", - "displayName": { - "en": "Test Report" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:TimeZone;1", - "@type": "Interface", - "displayName": { - "en": "Time Zone" - }, - "description": { - "en": "As defined in the \u0027tz database\u0027, time zone is a national region where local clocks have all agreed since 1970 and are in the form \u0027Area/Location\u0027 (i.e. America/New_York)." - }, - "extends": [ - "dtmi:com:willowinc:Component;1" - ], - "contents": [ - { - "@type": "Property", - "name": "name", - "displayName": "Name", - "writable": true, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "AfricaCairo", - "displayName": "Africa/Cairo", - "description": "", - "enumValue": "Africa/Cairo" + "name": "AfricaCairo", + "displayName": "Africa/Cairo", + "description": "", + "enumValue": "Africa/Cairo" }, { "name": "AfricaCasablanca", @@ -10115,1312 +9217,27 @@ "enumValue": "Pacific/Auckland" }, { - "name": "PacificHonolulu", - "displayName": "Pacific/Honolulu", - "description": "Hawaii", - "enumValue": "Pacific/Honolulu" - } - ] - } - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:TrainingDocument;1", - "@type": "Interface", - "displayName": { - "en": "Training Document" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Tunnel;1", - "@type": "Interface", - "description": { - "en": "An underground passageway, dug through the surrounding soil/earth/rock and enclosed except for entrance and exit, commonly at each end" - }, - "displayName": { - "en": "Tunnel" - }, - "extends": [ - "dtmi:com:willowinc:Structure;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:UtilityAccount;1", - "@type": "Interface", - "displayName": { - "en": "Utility Account" - }, - "description": { - "en": "A customer account in which the service provided is the delivery of a utility such as electricity, natural gas, or water." - }, - "extends": [ - "dtmi:com:willowinc:Account;1" - ], - "contents": [ - { - "@type": "Relationship", - "displayName": { - "en": "has utility bill" - }, - "name": "hasUtilityBill", - "target": "dtmi:com:willowinc:UtilityBillEvent;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Emission Factor" - }, - "name": "emissionFactor", - "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:UtilityBillEvent;1", - "@type": "Interface", - "displayName": { - "en": "Utility Bill" - }, - "description": { - "en": "An event that occurs, typically monthly, when a utility company produces a bill for a utility account such as electric, gas, or water." - }, - "extends": [ - "dtmi:com:willowinc:Event;1" - ], - "contents": [ - { - "@type": "Property", - "description": { - "en": "The start and end dates for the bill\u0027s service period." - }, - "displayName": { - "en": "Billing Period" - }, - "name": "billingPeriod", - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "startDate", - "displayName": { - "en": "Start Date" - }, - "schema": "dateTime" - }, - { - "name": "endDate", - "displayName": { - "en": "End Date" - }, - "schema": "dateTime" - } - ] - } - }, - { - "@type": "Property", - "description": { - "en": "Date when the bill was sent to the customer." - }, - "displayName": { - "en": "Issued Date" - }, - "name": "issuedDate", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "Date when the bill is due to be paid by the customer." - }, - "displayName": { - "en": "Due Date" - }, - "name": "dueDate", - "schema": "date", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "Total Charge" - }, - "description": { - "en": "The total cost for the services provided this billing period." - }, - "name": "totalCharge", - "writable": true, - "schema": "dtmi:com:willowinc:UtilityBillEventChargest;1" - }, - { - "@type": "Property", - "displayName": { - "en": "Meter Data" - }, - "name": "meterData", - "writable": true, - "schema": { - "@type": "Array", - "elementSchema": { - "@type": "Object", - "fields": [ - { - "name": "meterId", - "displayName": { - "en": "Meter Id." - }, - "description": { - "en": "The meter Id as provided by the utility account provider." - }, - "schema": "string" - }, - { - "name": "measurementType", - "displayName": { - "en": "Measurement Type." - }, - "description": { - "en": "Defines whether the measurement is total consumption or a peak demand during the billing period." - }, - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "TotalConsumption", - "name": "TotalConsumption" - }, - { - "enumValue": "PeakDemand", - "name": "PeakDemand" - } - ], - "valueSchema": "string" - } - }, - { - "name": "serviceType", - "displayName": { - "en": "Service Type." - }, - "description": { - "en": "Defines the commodity or substance that is being measured by the meter." - }, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "enumValue": "Electricity", - "name": "Electricity" - }, - { - "enumValue": "PotableWater", - "name": "PotableWater" - }, - { - "enumValue": "ReclaimedWater", - "name": "ReclaimedWater" - }, - { - "enumValue": "NaturalGas", - "name": "NaturalGas" - } - ] - } - }, - { - "name": "charge", - "displayName": { - "en": "Charge" - }, - "description": { - "en": "The individual charge for the usage as measured by the meter." - }, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "amount", - "displayName": { - "en": "Amount" - }, - "schema": "double" - }, - { - "name": "currency", - "displayName": { - "en": "Currency" - }, - "schema": "string" - } - ] - } - }, - { - "name": "usage", - "displayName": { - "en": "Usage" - }, - "description": { - "en": "The amount of usage as measured by the meter" - }, - "schema": "dtmi:com:willowinc:UtilityBillEventChargest;1" - } - ] - } - } - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:UtilityBillEventChargest;1", - "@type": "Object", - "fields": [ - { - "name": "amount", - "displayName": { - "en": "Amount" - }, - "schema": "double" - }, - { - "name": "currency", - "displayName": { - "en": "Currency" - }, - "schema": "string" - } - ] - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:UtilityEmissionFactor;1", - "@type": "Interface", - "displayName": { - "en": "Utility Emission Factor" - }, - "extends": [ - "dtmi:com:willowinc:Component;1" - ], - "contents": [ - { - "@type": "Property", - "name": "co2", - "displayName": { - "en": "CO2" - }, - "description": { - "en": "The ratio of the amount CO2 emitted per energy generated by the utility." - }, - "schema": "double", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation" - ], - "name": "co2Unit", - "displayName": { - "en": "CO2 unit" - }, - "annotates": "co2", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "name": "co2e", - "displayName": { - "en": "CO2e" - }, - "description": { - "en": "The ratio of the amount CO2 equivalent emitted per energy generated by the utility." - }, - "schema": "double", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation" - ], - "name": "co2eUnit", - "displayName": { - "en": "CO2e unit" - }, - "annotates": "co2e", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "name": "n2o", - "displayName": { - "en": "N2O" - }, - "description": { - "en": "The ratio of the amount N2O emitted per energy generated by the utility." - }, - "schema": "double", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation" - ], - "name": "n2oUnit", - "displayName": { - "en": "N2O unit" - }, - "annotates": "n2o", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "name": "ch4", - "displayName": { - "en": "CH4" - }, - "description": { - "en": "The ratio of the amount CH4 emitted per energy generated by the utility." - }, - "schema": "double", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation" - ], - "name": "ch4Unit", - "displayName": { - "en": "CH4 unit" - }, - "annotates": "ch4", - "schema": "string", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:UtilityRate;1", - "@type": "Interface", - "displayName": { - "en": "Utility Rate" - }, - "extends": [ - "dtmi:com:willowinc:Component;1" - ], - "contents": [ - { - "@type": "Property", - "name": "fixedRate", - "displayName": { - "en": "Fixed Rate" - }, - "description": { - "en": "The rate which is charged for the consumption of the utility at all times of the day and each day of the year." - }, - "schema": "double", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation" - ], - "name": "fixedRateUnit", - "displayName": { - "en": "fixed rate unit" - }, - "annotates": "fixedRate", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "name": "timeOfUseRates", - "displayName": { - "en": "Time-of-Use Rates" - }, - "schema": { - "@type": "Array", - "elementSchema": { - "@type": "Object", - "fields": [ - { - "name": "startMonthDay", - "description": { - "en": "The month and day of the date in the calendar at which the rate starts in MM-DD format, i.e. 05-01 is May 1st." - }, - "schema": "string" - }, - { - "name": "endMonthDay", - "description": { - "en": "The month and day of the date in the calendar at which the rate ends in MM-DD format, i.e. 09-30 is September 30th." - }, - "schema": "string" - }, - { - "name": "startTime", - "description": { - "en": "The time within a day at which the rate starts in ISO 8601 time format." - }, - "schema": "time" - }, - { - "name": "endTime", - "description": { - "en": "The time within a day at which the rate ends in ISO 8601 time format." - }, - "schema": "time" - }, - { - "name": "rate", - "displayName": { - "en": "Rate" - }, - "description": { - "en": "The rate which is charged for the consumption of the utility at the time-of-use." - }, - "schema": "double" - }, - { - "name": "rateUnit", - "displayName": { - "en": "rate unit" - }, - "schema": "string" - } - ] - } - } - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Vehicle;1", - "@type": "Interface", - "displayName": { - "en": "Vehicle" - }, - "description": { - "en": "A mobile asset that is used to transport people and/or goods." - }, - "extends": [ - "dtmi:com:willowinc:Asset;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Warranty;1", - "@type": "Interface", - "displayName": { - "en": "Warranty" - }, - "extends": [ - "dtmi:com:willowinc:Document;1" - ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:WarrantyType;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "Product", - "displayName": { - "en": "Product" - }, - "enumValue": "Product" - }, - { - "name": "Parts", - "displayName": { - "en": "Parts" - }, - "enumValue": "Parts" - }, - { - "name": "Labor", - "displayName": { - "en": "Labor" - }, - "enumValue": "Labor" - } - ] - } - }, - { - "@type": "Property", - "name": "guarantor", - "displayName": { - "en": "Guarantor" - }, - "writable": true, - "schema": "string" - }, - { - "@type": "Property", - "name": "duration", - "displayName": { - "en": "Duration" - }, - "writable": true, - "schema": "duration" - }, - { - "@type": "Property", - "name": "startDate", - "displayName": { - "en": "Start Date" - }, - "writable": true, - "schema": "date" - }, - { - "@type": "Property", - "name": "endDate", - "displayName": { - "en": "End Date" - }, - "writable": true, - "schema": "date" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:WaterLeakEvent;1", - "@type": "Interface", - "displayName": { - "en": "Water Leak Event" - }, - "extends": [ - "dtmi:com:willowinc:Event;1" - ], - "contents": [ - { - "@type": [ - "Property", - "VolumeFlowRate" - ], - "displayName": { - "en": "leak rate" - }, - "name": "leakeRate", - "schema": "double", - "unit": "litrePerSecond", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "leak rate unit" - }, - "name": "leakRateUnit", - "annotates": "leakRate", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Zone;1", - "@type": "Interface", - "displayName": { - "en": "Zone" - }, - "description": { - "en": "An area within a building which has a purpose and extents defined by a system or sensors, e.g., HVAC zone, lighting zone, occupancy zone, security zone, etc." - }, - "extends": [ - "dtmi:com:willowinc:Space;1" - ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Address;1", - "@type": "Interface", - "displayName": { - "en": "Address" - }, - "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "region (state/province)" - }, - "name": "region", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "postal code" - }, - "name": "postalCode", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "country" - }, - "name": "country", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "city" - }, - "name": "city", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "address line 2" - }, - "name": "addressLine2", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "address line 1" - }, - "name": "addressLine1", - "schema": "string", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AircraftParkingSpot;1", - "@type": "Interface", - "displayName": { - "en": "Aircraft Parking Spot" - }, - "description": { - "en": "A space intended for parking an aircraft to enplane/deplane passengers, load or unload cargo. Also referred to as an Aircraft Parking Position (FAA)." - }, - "extends": [ - "dtmi:com:willowinc:ParkingSpot;1", - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AircraftStand;1", - "@type": "Interface", - "displayName": { - "en": "Aircraft Stand" - }, - "description": { - "en": "A designated area intended for parking an aircraft." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [ - { - "@type": "Property", - "name": "coordinates", - "displayName": { - "en": "Coordinates" - }, - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "latitude", - "displayName": { - "en": "Latitude" - }, - "schema": "double" - }, - { - "name": "longitude", - "displayName": { - "en": "Longitude" - }, - "schema": "double" - } - ] - } - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:Airfield;1", - "@type": "Interface", - "displayName": { - "en": "Airfield" - }, - "description": { - "en": "The portion of the airport intended to be used wholly or in part for the arrival, departure, and movement of aircraft." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:Airport;1", - "@type": "Interface", - "displayName": { - "en": "Airport" - }, - "description": { - "en": "A location where aircraft flight operations takes place that usually includes runways and maintenance facilities" - }, - "extends": [ - "dtmi:com:willowinc:Land;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AirportEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Airport Equipment" - }, - "extends": [ - "dtmi:com:willowinc:Equipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AirportGate;1", - "@type": "Interface", - "displayName": { - "en": "Gate" - }, - "description": { - "en": "An area in an airport terminal where passengers board the aircraft. Gates typically have a seated waiting area, counter, and doorway leading to the aircraft." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [ - { - "@type": "Property", - "name": "coordinates", - "displayName": { - "en": "Coordinates" - }, - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "latitude", - "displayName": { - "en": "Latitude" - }, - "schema": "double" - }, - { - "name": "longitude", - "displayName": { - "en": "Longitude" - }, - "schema": "double" - } - ] - } - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AirportTerminal;1", - "@type": "Interface", - "displayName": { - "en": "Airport Terminal" - }, - "description": { - "en": "A building at an airport where passengers transfer between ground transportation and the facilities that allow them to board and disembark from an aircraft." - }, - "extends": [ - "dtmi:com:willowinc:Building;1", - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:AirportVehicle;1", - "@type": "Interface", - "displayName": { - "en": "Airport Vehicle" - }, - "description": { - "en": "A vehicle at an aiport." - }, - "extends": [ - "dtmi:com:willowinc:Vehicle;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:Apron;1", - "@type": "Interface", - "displayName": { - "en": "Apron" - }, - "description": { - "en": "A defined area on an airfield to accommodate aircraft for purposes of loading or unloading passengers, mail or cargo, fueling, parking, or maintenance." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:Runway;1", - "@type": "Interface", - "displayName": { - "en": "Runway" - }, - "description": { - "en": "A defined rectangular area on an airfield prepared for the landing and takeoff of aircraft." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:airport:Taxiway;1", - "@type": "Interface", - "displayName": { - "en": "Taxiway" - }, - "description": { - "en": "A defined path on an airfield established for the taxiing of aircraft and intended to provide a link between one part of the airfield and another." - }, - "extends": [ - "dtmi:com:willowinc:airport:AirportSpace;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:AirportGateInBlockEvent;1", - "@type": "Interface", - "displayName": { - "en": "Airport Gate In-Block Event" - }, - "description": { - "en": "An event at an airport gate related to a flight arriving at the gate. (ICAO)" - }, - "extends": [ - "dtmi:com:willowinc:AirportGateBlockEvent;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:AirportGateOffBlockEvent;1", - "@type": "Interface", - "displayName": { - "en": "Airport Gate Off-Block Event" - }, - "description": { - "en": "An event at an airport gate related to a flight departing at the gate. (ICAO)" - }, - "extends": [ - "dtmi:com:willowinc:AirportGateBlockEvent;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ArchitecturalAssetCollection;1", - "@type": "Interface", - "displayName": { - "en": "Architectural Asset Collection" - }, - "extends": [ - "dtmi:com:willowinc:AssetCollection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:AsBuiltDrawing;1", - "@type": "Interface", - "displayName": { - "en": "As-Built Drawing" - }, - "extends": [ - "dtmi:com:willowinc:Drawing;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Balcony;1", - "@type": "Interface", - "displayName": { - "en": "Balcony" - }, - "description": { - "en": "An small enclosed area that is affixed to an upper level of building with typically a single access point." - }, - "extends": [ - "dtmi:com:willowinc:BuildingOutdoorArea;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BarrierAsset;1", - "@type": "Interface", - "displayName": { - "en": "Barrier Asset" - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" - ], - "contents": [ - { - "@type": "Relationship", - "displayName": { - "en": "to space" - }, - "name": "toSpace", - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": "Relationship", - "displayName": { - "en": "from space" - }, - "name": "fromSpace", - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "width" - }, - "name": "width", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "width unit" - }, - "name": "widthUnit", - "annotates": "width", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "thickness" - }, - "name": "thickness", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "thickness unit" - }, - "name": "thicknessUnit", - "annotates": "thickness", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "service" - }, - "name": "service", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Interior", - "name": "Interior" - }, - { - "enumValue": "Exterior", - "name": "Exterior" + "name": "PacificHonolulu", + "displayName": "Pacific/Honolulu", + "description": "Hawaii", + "enumValue": "Pacific/Honolulu" } - ], - "valueSchema": "string" - }, - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "material" - }, - "name": "material", - "schema": "string", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "height" - }, - "name": "height", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "height unit" - }, - "name": "heightUnit", - "annotates": "height", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "frame material" - }, - "name": "frameMaterial", - "schema": "string", - "writable": true - }, - { - "@type": [ - "TimeSpan", - "Property" - ], - "displayName": { - "en": "fire rating" - }, - "name": "fireRating", - "schema": "double", - "unit": "hour", - "writable": true + ] + } } ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:BarrierAssetHardware;1", - "@type": "Interface", - "displayName": { - "en": "Barrier Asset Hardware" - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BasementLevel;1", - "@type": "Interface", - "displayName": { - "en": "Basement Level" - }, - "description": { - "en": "A level of a building which is wholly or partially below ground level." - }, - "extends": [ - "dtmi:com:willowinc:Level;1" - ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:BathAccessory;1", + "@id": "dtmi:com:willowinc:TrainingDocument;1", "@type": "Interface", "displayName": { - "en": "Bath Accessory" - }, - "description": { - "en": "An device co-located with a bathtub or shower such as a towel holder or shower partition." + "en": "Training Document" }, "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" + "dtmi:com:willowinc:Document;1" ], "contents": [], "@context": [ @@ -11428,144 +9245,50 @@ ] }, { - "@id": "dtmi:com:willowinc:Bed;1", - "@type": "Interface", - "displayName": { - "en": "Bed" - }, - "extends": [ - "dtmi:com:willowinc:Furniture;1" - ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string", - "comment": "basic, adjustable-height" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BinaryActuator;1", + "@id": "dtmi:com:willowinc:Tunnel;1", "@type": "Interface", - "displayName": { - "en": "Binary Actuator" - }, "description": { - "en": "The Boolean command which sets the state of the equipment" + "en": "An underground passageway, dug through the surrounding soil/earth/rock and enclosed except for entrance and exit, commonly at each end" }, - "extends": [ - "dtmi:com:willowinc:Actuator;1" - ], - "contents": [ - { - "@type": "Property", - "name": "lastValue", - "displayName": { - "en": "Last Value" - }, - "writable": true, - "schema": "boolean" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BinaryState;1", - "@type": "Interface", "displayName": { - "en": "Binary State" - }, - "description": { - "en": "The Boolean state of the equipment" + "en": "Tunnel" }, "extends": [ - "dtmi:com:willowinc:State;1" - ], - "contents": [ - { - "@type": "Property", - "name": "lastValue", - "displayName": { - "en": "Last Value" - }, - "writable": true, - "schema": "boolean" - } + "dtmi:com:willowinc:Structure;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:BuildingOperationsArea;1", + "@id": "dtmi:com:willowinc:UtilityAccount;1", "@type": "Interface", "displayName": { - "en": "Building Operations Area" + "en": "Utility Account" }, "description": { - "en": "An area within a building designated as having a distinct maintainance and operations function or designated services." + "en": "A customer account in which the service provided is the delivery of a utility such as electricity, natural gas, or water." }, "extends": [ - "dtmi:com:willowinc:SpaceCollection;1" + "dtmi:com:willowinc:Account;1" ], "contents": [ { - "@type": "Component", - "name": "area", - "displayName": { - "en": "Area" - }, - "schema": "dtmi:com:willowinc:SpaceArea;1" - }, - { - "@type": "Component", - "name": "capacity", - "displayName": { - "en": "Capacity" - }, - "schema": "dtmi:com:willowinc:SpaceCapacity;1" - }, - { - "@type": "Component", - "name": "temperature", - "displayName": { - "en": "Temperature" - }, - "schema": "dtmi:com:willowinc:SpaceTemperature;1" - }, - { - "@type": "Component", - "name": "humidity", - "displayName": { - "en": "Humidity Average" - }, - "schema": "dtmi:com:willowinc:SpaceHumidity;1" - }, - { - "@type": "Component", - "name": "CO2", + "@type": "Relationship", "displayName": { - "en": "CO2" + "en": "has utility bill" }, - "schema": "dtmi:com:willowinc:SpaceCO2;1" + "name": "hasUtilityBill", + "target": "dtmi:com:willowinc:UtilityBillEvent;1" }, { "@type": "Component", - "name": "occupancy", "displayName": { - "en": "Occupancy" + "en": "Emission Factor" }, - "schema": "dtmi:com:willowinc:SpaceOccupancy;1" + "name": "emissionFactor", + "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" } ], "@context": [ @@ -11573,579 +9296,219 @@ ] }, { - "@id": "dtmi:com:willowinc:BuildingPodium;1", - "@type": "Interface", - "displayName": { - "en": "Building Podium" - }, - "description": { - "en": "A sub-building which forms the base of a building and may have one or more towers above." - }, - "extends": [ - "dtmi:com:willowinc:SubBuilding;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BuildingTerrace;1", - "@type": "Interface", - "displayName": { - "en": "Building Terrace" - }, - "description": { - "en": "A designated area for social gathering that is either adjacent to or attached to the main structure of a building, can have multiple access points, and is raised from its surroundings." - }, - "extends": [ - "dtmi:com:willowinc:BuildingOutdoorArea;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BuildingTower;1", - "@type": "Interface", - "displayName": { - "en": "Building Tower" - }, - "description": { - "en": "A sub-building which extends up from a podium and is generally set back from the podium boundary." - }, - "extends": [ - "dtmi:com:willowinc:SubBuilding;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:BuildingWing;1", + "@id": "dtmi:com:willowinc:UtilityBillEvent;1", "@type": "Interface", "displayName": { - "en": "Building Wing" + "en": "Utility Bill" }, "description": { - "en": "A sub-building which is subordinate to the main, central structure." - }, - "extends": [ - "dtmi:com:willowinc:SubBuilding;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Cable;1", - "@type": "Interface", - "displayName": { - "en": "Cable" - }, - "extends": "dtmi:com:willowinc:DistributionAsset;1", - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "material" - }, - "name": "material", - "schema": "string", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "diameter" - }, - "name": "diameter", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "diameter unit" - }, - "name": "diameterUnit", - "annotates": "diameter", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:CapabilityCommunication;1", - "@type": "Interface", - "displayName": { - "en": "Capability Communication" + "en": "An event that occurs, typically monthly, when a utility company produces a bill for a utility account such as electric, gas, or water." }, "extends": [ - "dtmi:com:willowinc:CapabilityComponent;1" + "dtmi:com:willowinc:Event;1" ], "contents": [ { "@type": "Property", - "name": "protocol", - "displayName": { - "en": "Protocol" - }, - "writable": true, - "schema": "dtmi:com:willowinc:CapabilityCommunicationProtocol;1" - }, - { - "@type": "Property", - "name": "API", - "displayName": { - "en": "API" - }, - "writable": true, - "schema": "dtmi:com:willowinc:APICapabilityProperties;1" - }, - { - "@type": "Property", - "name": "BACnet", - "displayName": { - "en": "BACnet" - }, - "writable": true, - "schema": "dtmi:com:willowinc:BACnetCapabilityProperties;1" - }, - { - "@type": "Property", - "name": "Modbus", - "displayName": { - "en": "Modbus" + "description": { + "en": "The start and end dates for the bill\u0027s service period." }, - "writable": true, - "schema": "dtmi:com:willowinc:ModbusCapabilityProperties;1" - }, - { - "@type": "Property", - "name": "OPCDA", "displayName": { - "en": "OPC DA" + "en": "Billing Period" }, + "name": "billingPeriod", "writable": true, - "schema": "dtmi:com:willowinc:OPCDACapabilityProperties;1" + "schema": { + "@type": "Object", + "fields": [ + { + "name": "startDate", + "displayName": { + "en": "Start Date" + }, + "schema": "dateTime" + }, + { + "name": "endDate", + "displayName": { + "en": "End Date" + }, + "schema": "dateTime" + } + ] + } }, { "@type": "Property", - "name": "OPCUA", - "displayName": { - "en": "OPC UA" + "description": { + "en": "Date when the bill was sent to the customer." }, - "writable": true, - "schema": "dtmi:com:willowinc:OPCUACapabilityProperties;1" - }, - { - "@type": "Property", - "name": "IoTHub", "displayName": { - "en": "IoT Hub" - }, - "writable": true, - "schema": "dtmi:com:willowinc:IoTHubCapabilityProperties;1" - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:CapabilityCommunicationProtocol;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "API", - "displayName": "API", - "enumValue": "API" - }, - { - "name": "BACnet", - "displayName": "BACnet", - "enumValue": "BACnet" - }, - { - "name": "Modbus", - "displayName": "Modbus", - "enumValue": "Modbus" - }, - { - "name": "OPCDA", - "displayName": "OPC DA", - "enumValue": "OPC DA" - }, - { - "name": "OPCUA", - "displayName": "OPC UA", - "enumValue": "OPC UA" - }, - { - "name": "KNX", - "displayName": "KNX", - "enumValue": "KNX" - }, - { - "name": "LonWorks", - "displayName": "LonWorks", - "enumValue": "LonWorks" - }, - { - "name": "DALI", - "displayName": "DALI", - "enumValue": "DALI" - }, - { - "name": "MBus", - "displayName": "M-Bus", - "enumValue": "M-Bus" - }, - { - "name": "SNMP", - "displayName": "SNMP", - "enumValue": "SNMP" - }, - { - "name": "MQTT", - "displayName": "MQTT", - "enumValue": "MQTT" - }, - { - "name": "IoTHub", - "displayName": "IoT Hub", - "enumValue": "IoT Hub" - } - ] + "en": "Issued Date" + }, + "name": "issuedDate", + "schema": "date", + "writable": true }, { - "@id": "dtmi:com:willowinc:APICapabilityProperties;1", - "@type": "Object", - "fields": [ - { - "name": "externalID", - "displayName": { - "en": "External ID" - }, - "schema": "string" - } - ] + "@type": "Property", + "description": { + "en": "Date when the bill is due to be paid by the customer." + }, + "displayName": { + "en": "Due Date" + }, + "name": "dueDate", + "schema": "date", + "writable": true }, { - "@id": "dtmi:com:willowinc:BACnetCapabilityProperties;1", - "@type": "Object", - "fields": [ - { - "name": "deviceID", - "displayName": { - "en": "Device ID" - }, - "schema": "integer" - }, - { - "name": "objectType", - "displayName": "Object Type", - "schema": { - "@id": "dtmi:com:willowinc:BACnetCapabilityObjectType;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "Accumulator", - "displayName": "Accumulator", - "enumValue": "ACC" - }, - { - "name": "Analog_Input", - "displayName": "Analog Input", - "enumValue": "AI" - }, - { - "name": "Analog_Output", - "displayName": "Analog Output", - "enumValue": "AO" - }, - { - "name": "Analog_Value", - "displayName": "Analog Value", - "enumValue": "AV" - }, - { - "name": "Binary_Input", - "displayName": "Binary Input", - "enumValue": "BI" - }, - { - "name": "Binary_Output", - "displayName": "Binary Output", - "enumValue": "BO" - }, - { - "name": "Binary_Value", - "displayName": "Binary Value", - "enumValue": "BV" - }, - { - "name": "Calendar", - "displayName": "Calendar", - "enumValue": "CAL" - }, - { - "name": "Device", - "displayName": "Device", - "enumValue": "DEV" - }, - { - "name": "MultiState_Input", - "displayName": "Multi-State Input", - "enumValue": "MSI" - }, - { - "name": "MultiState_Output", - "displayName": "Multi-State Output", - "enumValue": "MSO" - }, - { - "name": "MultiState_Value", - "displayName": "Multi-State Value", - "enumValue": "MSV" - }, - { - "name": "Schedule", - "displayName": "Schedule", - "enumValue": "SCHED" - } - ] - } - }, - { - "name": "objectID", - "displayName": { - "en": "Object ID" - }, - "schema": "integer" - } - ] + "@type": "Property", + "displayName": { + "en": "Total Charge" + }, + "description": { + "en": "The total cost for the services provided this billing period." + }, + "name": "totalCharge", + "writable": true, + "schema": "dtmi:com:willowinc:UtilityBillEventChargest;1" }, { - "@id": "dtmi:com:willowinc:ModbusCapabilityProperties;1", - "@type": "Object", - "fields": [ - { - "name": "dataType", - "displayName": "Data Type", - "schema": { - "@id": "dtmi:com:willowinc:ModbusDataType;1", - "@type": "Enum", - "valueSchema": "integer", - "enumValues": [ - { - "name": "bit_1", - "displayName": "1-bit Binary", - "enumValue": 0 - }, - { - "name": "uint_8", - "displayName": "8-bit Unsigned Integer", - "enumValue": 1 - }, - { - "name": "int_8", - "displayName": "8-bit Signed Integer", - "enumValue": 2 - }, - { - "name": "uint_16", - "displayName": "16-bit Unsigned Integer", - "enumValue": 3 - }, - { - "name": "int_16", - "displayName": "16-bit Signed Integer", - "enumValue": 4 + "@type": "Property", + "displayName": { + "en": "Meter Data" + }, + "name": "meterData", + "writable": true, + "schema": { + "@type": "Array", + "elementSchema": { + "@type": "Object", + "fields": [ + { + "name": "meterId", + "displayName": { + "en": "Meter Id." }, - { - "name": "uint_32", - "displayName": "32-bit Unsigned Integer", - "enumValue": 5 + "description": { + "en": "The meter Id as provided by the utility account provider." }, - { - "name": "int_32", - "displayName": "32-bit Signed Integer", - "enumValue": 6 + "schema": "string" + }, + { + "name": "measurementType", + "displayName": { + "en": "Measurement Type." }, - { - "name": "float_32", - "displayName": "32-bit Floating Capability", - "enumValue": 7 + "description": { + "en": "Defines whether the measurement is total consumption or a peak demand during the billing period." }, - { - "name": "uint_64", - "displayName": "64-bit Unsigned Integer", - "enumValue": 8 + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "TotalConsumption", + "name": "TotalConsumption" + }, + { + "enumValue": "PeakDemand", + "name": "PeakDemand" + } + ], + "valueSchema": "string" + } + }, + { + "name": "serviceType", + "displayName": { + "en": "Service Type." }, - { - "name": "int_64", - "displayName": "64-bit Signed Integer", - "enumValue": 9 + "description": { + "en": "Defines the commodity or substance that is being measured by the meter." }, - { - "name": "double_64", - "displayName": "64-bit Double Precision Floating Capability", - "enumValue": 10 + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "enumValue": "Electricity", + "name": "Electricity" + }, + { + "enumValue": "PotableWater", + "name": "PotableWater" + }, + { + "enumValue": "ReclaimedWater", + "name": "ReclaimedWater" + }, + { + "enumValue": "NaturalGas", + "name": "NaturalGas" + } + ] } - ] - } - }, - { - "name": "registerAddress", - "displayName": { - "en": "Register Address" - }, - "schema": "integer" - }, - { - "name": "swap", - "displayName": { - "en": "Swap" - }, - "schema": "boolean" - }, - { - "name": "slaveID", - "displayName": { - "en": "Slave ID" - }, - "schema": "integer" - }, - { - "name": "endian", - "displayName": { - "en": "Endian" - }, - "schema": { - "@id": "dtmi:com:willowinc:ModbusEndianType;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "EndianBig", - "displayName": { - "en": "Endian Big" - }, - "enumValue": "EndianBig" + }, + { + "name": "charge", + "displayName": { + "en": "Charge" }, - { - "name": "EndianLittle", - "displayName": { - "en": "Endian Little" - }, - "enumValue": "EndianLittle" - } - ] - } - }, - { - "name": "registerType", - "displayName": { - "en": "Register Type" - }, - "schema": { - "@id": "dtmi:com:willowinc:ModbusRegisterType;1", - "@type": "Enum", - "valueSchema": "integer", - "enumValues": [ - { - "name": "coil", - "displayName": { - "en": "Coil" - }, - "enumValue": 0 + "description": { + "en": "The individual charge for the usage as measured by the meter." }, - { - "name": "discrete_input", - "displayName": { - "en": "Discrete Input" - }, - "enumValue": 1 + "schema": { + "@type": "Object", + "fields": [ + { + "name": "amount", + "displayName": { + "en": "Amount" + }, + "schema": "double" + }, + { + "name": "currency", + "displayName": { + "en": "Currency" + }, + "schema": "string" + } + ] + } + }, + { + "name": "usage", + "displayName": { + "en": "Usage" }, - { - "name": "input_register", - "displayName": { - "en": "Input Register" - }, - "enumValue": 2 + "description": { + "en": "The amount of usage as measured by the meter" }, - { - "name": "holding_register", - "displayName": { - "en": "Holding Register" - }, - "enumValue": 3 - } - ] - } - }, - { - "name": "scale", - "displayName": { - "en": "Scale" - }, - "schema": "float" - } - ] - }, - { - "@id": "dtmi:com:willowinc:OPCDACapabilityProperties;1", - "@type": "Object", - "fields": [ - { - "name": "nodeID", - "displayName": { - "en": "Node ID" - }, - "schema": "string" + "schema": "dtmi:com:willowinc:UtilityBillEventChargest;1" + } + ] } - ] - }, + } + } + ], + "schemas": [ { - "@id": "dtmi:com:willowinc:OPCUACapabilityProperties;1", + "@id": "dtmi:com:willowinc:UtilityBillEventChargest;1", "@type": "Object", "fields": [ { - "name": "nodeID", + "name": "amount", "displayName": { - "en": "Node ID" + "en": "Amount" }, - "schema": "string" - } - ] - }, - { - "@id": "dtmi:com:willowinc:IoTHubCapabilityProperties;1", - "@type": "Object", - "fields": [ + "schema": "double" + }, { - "name": "externalID", + "name": "currency", "displayName": { - "en": "External ID" + "en": "Currency" }, "schema": "string" } @@ -12153,729 +9516,749 @@ } ], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:CapabilityPropertySet;1", + "@id": "dtmi:com:willowinc:UtilityEmissionFactor;1", "@type": "Interface", + "displayName": { + "en": "Utility Emission Factor" + }, + "extends": [ + "dtmi:com:willowinc:Component;1" + ], "contents": [ { "@type": "Property", + "name": "co2", + "displayName": { + "en": "CO2" + }, "description": { - "en": "Operational mode for HVAC equipment (Project Haystack)." + "en": "The ratio of the amount CO2 emitted per energy generated by the utility." + }, + "schema": "double", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation" + ], + "name": "co2Unit", + "displayName": { + "en": "CO2 unit" }, + "annotates": "co2", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "co2e", "displayName": { - "en": "HVAC mode" + "en": "CO2e" }, - "name": "HVACMode", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Cooldown", - "name": "Cooldown" - }, - { - "enumValue": "Cooling", - "name": "Cooling" - }, - { - "enumValue": "Depressurize", - "name": "Depressurize" - }, - { - "enumValue": "Economizing", - "name": "Economizing" - }, - { - "enumValue": "Heating", - "name": "Heating" - }, - { - "enumValue": "Manual", - "name": "Manual" - }, - { - "enumValue": "Pressurize", - "name": "Pressurize" - }, - { - "enumValue": "Purge", - "name": "Purge" - }, - { - "enumValue": "Reheat", - "name": "Reheat" - }, - { - "enumValue": "Warmup", - "name": "Warmup" - } - ], - "valueSchema": "string" + "description": { + "en": "The ratio of the amount CO2 equivalent emitted per energy generated by the utility." }, + "schema": "double", "writable": true }, { - "@type": "Property", - "description": { - "en": "Notification of a condition which requires attention such as a threshold exceeded (Project Haystack). This differs from a Fault in that a Fault is used to identify a failure." - }, + "@type": [ + "Property", + "ValueAnnotation" + ], + "name": "co2eUnit", "displayName": { - "en": "alarm" + "en": "CO2e unit" }, - "name": "alarm", - "schema": "boolean", + "annotates": "co2e", + "schema": "string", "writable": true }, { "@type": "Property", - "description": { - "en": "The component that is part of an asset which the capability is associated with." - }, + "name": "n2o", "displayName": { - "en": "asset component" + "en": "N2O" }, - "name": "assetComponent", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Battery", - "name": "Battery" - }, - { - "enumValue": "Coil", - "name": "Coil" - }, - { - "enumValue": "Compressor", - "name": "Compressor" - }, - { - "enumValue": "Condenser", - "name": "Condenser" - }, - { - "enumValue": "Damper", - "name": "Damper" - }, - { - "enumValue": "Evaporator", - "name": "Evaporator" - }, - { - "enumValue": "Fan", - "name": "Fan" - }, - { - "enumValue": "Filter", - "name": "Filter" - }, - { - "enumValue": "Motor", - "name": "Motor" - }, - { - "enumValue": "VFD", - "name": "VFD" - }, - { - "enumValue": "coolingCoil", - "name": "coolingCoil" - }, - { - "enumValue": "heatingCoil", - "name": "heatingCoil" - } - ], - "valueSchema": "string" + "description": { + "en": "The ratio of the amount N2O emitted per energy generated by the utility." }, + "schema": "double", "writable": true }, { - "@type": "Property", - "description": { - "en": "Rate required for a process. For a setpoint, this sets the required rate for a process such as cooling, heating, air flow, or water flow. For a sensor, this measures the rate of a process over a given interval such as electrical power demand or cooling energy demand." - }, + "@type": [ + "Property", + "ValueAnnotation" + ], + "name": "n2oUnit", "displayName": { - "en": "demand" + "en": "N2O unit" }, - "name": "demand", - "schema": "boolean", + "annotates": "n2o", + "schema": "string", "writable": true }, { "@type": "Property", - "description": { - "en": "Current control setpoint in effect taking into account other factors (Project Haystack)." - }, + "name": "ch4", "displayName": { - "en": "effective" + "en": "CH4" }, - "name": "effective", - "schema": "boolean", + "description": { + "en": "The ratio of the amount CH4 emitted per energy generated by the utility." + }, + "schema": "double", "writable": true }, { - "@type": "Property", - "description": { - "en": "Phase measurement in a three-phase electrical system (Project Haystack)." - }, + "@type": [ + "Property", + "ValueAnnotation" + ], + "name": "ch4Unit", "displayName": { - "en": "electrical phase" - }, - "name": "electricalPhase", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "A", - "name": "A" - }, - { - "enumValue": "AB", - "name": "AB" - }, - { - "enumValue": "B", - "name": "B" - }, - { - "enumValue": "BC", - "name": "BC" - }, - { - "enumValue": "C", - "name": "C" - }, - { - "enumValue": "CA", - "name": "CA" - }, - { - "enumValue": "N", - "name": "N" - } - ], - "valueSchema": "string" + "en": "CH4 unit" }, + "annotates": "ch4", + "schema": "string", "writable": true - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:UtilityRate;1", + "@type": "Interface", + "displayName": { + "en": "Utility Rate" + }, + "extends": [ + "dtmi:com:willowinc:Component;1" + ], + "contents": [ { "@type": "Property", - "description": { - "en": "Parameter that places and upper (maximum) or lower (minimum) bound on permitted values of another capability." - }, + "name": "fixedRate", "displayName": { - "en": "limit" + "en": "Fixed Rate" }, - "name": "limit", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Maximum", - "name": "Maximum" - }, - { - "enumValue": "Minimum", - "name": "Minimum" - } - ], - "valueSchema": "string" + "description": { + "en": "The rate which is charged for the consumption of the utility at all times of the day and each day of the year." }, + "schema": "double", "writable": true }, { - "@type": "Property", - "description": { - "en": "Mode which defines how to control a space based on occupancy status." - }, + "@type": [ + "Property", + "ValueAnnotation" + ], + "name": "fixedRateUnit", "displayName": { - "en": "occupancy mode" - }, - "name": "occupancyMode", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Occupied", - "name": "Occupied" - }, - { - "enumValue": "Standby", - "name": "Standby" - }, - { - "enumValue": "Unoccupied", - "name": "Unoccupied" - } - ], - "valueSchema": "string" + "en": "fixed rate unit" }, + "annotates": "fixedRate", + "schema": "string", "writable": true }, { "@type": "Property", - "description": { - "en": "The phenomenon that a capability measures or interacts with; e.g., a TemperatureSensor can measure air temperature or water temperature, a Flow Demand Setpoint can be configured to control steam demand or chilled water demand, etc." - }, + "name": "timeOfUseRates", "displayName": { - "en": "phenomenon" + "en": "Time-of-Use Rates" }, - "name": "phenomenon", "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "ACElectricity", - "name": "ACElectricity" - }, - { - "enumValue": "Air", - "name": "Air" - }, - { - "enumValue": "BlowdownWater", - "name": "BlowdownWater" - }, - { - "enumValue": "ChilledWater", - "name": "ChilledWater" - }, - { - "enumValue": "Cloudage", - "name": "Cloudage" - }, - { - "enumValue": "ColdDomesticWater", - "name": "ColdDomesticWater" - }, - { - "enumValue": "CompressedAir", - "name": "CompressedAir" - }, - { - "enumValue": "Condensate", - "name": "Condensate" - }, - { - "enumValue": "CondenserWater", - "name": "CondenserWater" - }, - { - "enumValue": "DCElectricity", - "name": "DCElectricity" - }, - { - "enumValue": "Data", - "name": "Data" - }, - { - "enumValue": "DeionizedWater", - "name": "DeionizedWater" - }, - { - "enumValue": "DieselFuel", - "name": "DieselFuel" - }, - { - "enumValue": "Drainage", - "name": "Drainage" - }, - { - "enumValue": "DriveElectricity", - "name": "DriveElectricity" - }, - { - "enumValue": "Electricity", - "name": "Electricity" - }, - { - "enumValue": "EthernetData", - "name": "EthernetData" - }, - { - "enumValue": "ExhaustGas", - "name": "ExhaustGas" - }, - { - "enumValue": "Fire", - "name": "Fire" - }, - { - "enumValue": "FreezingRainPrecipitation", - "name": "FreezingRainPrecipitation" - }, - { - "enumValue": "FrostIce", - "name": "FrostIce" - }, - { - "enumValue": "Fuel", - "name": "Fuel" - }, - { - "enumValue": "FuelOilFuel", - "name": "FuelOilFuel" - }, - { - "enumValue": "GasolineFuel", - "name": "GasolineFuel" - }, - { - "enumValue": "HailPrecipitation", - "name": "HailPrecipitation" - }, - { - "enumValue": "HighTemperatureHotWater", - "name": "HighTemperatureHotWater" - }, - { - "enumValue": "HotDomesticWater", - "name": "HotDomesticWater" - }, - { - "enumValue": "HotWater", - "name": "HotWater" - }, - { - "enumValue": "Ice", - "name": "Ice" - }, - { - "enumValue": "InfraredLight", - "name": "InfraredLight" - }, - { - "enumValue": "IrrigationWater", - "name": "IrrigationWater" - }, - { - "enumValue": "Light", - "name": "Light" - }, - { - "enumValue": "LiquidPropaneFuel", - "name": "LiquidPropaneFuel" - }, - { - "enumValue": "LowTemperatureHotWater", - "name": "LowTemperatureHotWater" - }, - { - "enumValue": "MakeupWater", - "name": "MakeupWater" - }, - { - "enumValue": "MediumTemperatureHotWater", - "name": "MediumTemperatureHotWater" - }, - { - "enumValue": "NaturalGasFuel", - "name": "NaturalGasFuel" - }, - { - "enumValue": "NonPotableDomesticWater", - "name": "NonPotableDomesticWater" - }, - { - "enumValue": "Object", - "name": "Object" - }, - { - "enumValue": "People", - "name": "People" - }, - { - "enumValue": "Precipitation", - "name": "Precipitation" - }, - { - "enumValue": "RainPrecipitation", - "name": "RainPrecipitation" - }, - { - "enumValue": "Refrigerant", - "name": "Refrigerant" - }, - { - "enumValue": "SleetPrecipitation", - "name": "SleetPrecipitation" - }, - { - "enumValue": "Smoke", - "name": "Smoke" - }, - { - "enumValue": "SnowPrecipitation", - "name": "SnowPrecipitation" - }, - { - "enumValue": "Solar", - "name": "Solar" - }, - { - "enumValue": "Sound", - "name": "Sound" - }, - { - "enumValue": "SprinklerWater", - "name": "SprinklerWater" - }, - { - "enumValue": "Steam", - "name": "Steam" - }, - { - "enumValue": "StormDrainage", - "name": "StormDrainage" - }, - { - "enumValue": "UltravioletLight", - "name": "UltravioletLight" - }, - { - "enumValue": "Urea", - "name": "Urea" - }, - { - "enumValue": "WasteVentDrainage", - "name": "WasteVentDrainage" - }, - { - "enumValue": "Water", - "name": "Water" - }, - { - "enumValue": "WiFiData", - "name": "WiFiData" - }, - { - "enumValue": "Wind", - "name": "Wind" - } - ], - "valueSchema": "string" - }, - "writable": true - }, + "@type": "Array", + "elementSchema": { + "@type": "Object", + "fields": [ + { + "name": "startMonthDay", + "description": { + "en": "The month and day of the date in the calendar at which the rate starts in MM-DD format, i.e. 05-01 is May 1st." + }, + "schema": "string" + }, + { + "name": "endMonthDay", + "description": { + "en": "The month and day of the date in the calendar at which the rate ends in MM-DD format, i.e. 09-30 is September 30th." + }, + "schema": "string" + }, + { + "name": "startTime", + "description": { + "en": "The time within a day at which the rate starts in ISO 8601 time format." + }, + "schema": "time" + }, + { + "name": "endTime", + "description": { + "en": "The time within a day at which the rate ends in ISO 8601 time format." + }, + "schema": "time" + }, + { + "name": "rate", + "displayName": { + "en": "Rate" + }, + "description": { + "en": "The rate which is charged for the consumption of the utility at the time-of-use." + }, + "schema": "double" + }, + { + "name": "rateUnit", + "displayName": { + "en": "rate unit" + }, + "schema": "string" + } + ] + } + } + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Vehicle;1", + "@type": "Interface", + "displayName": { + "en": "Vehicle" + }, + "description": { + "en": "A mobile asset that is used to transport people and/or goods." + }, + "extends": [ + "dtmi:com:willowinc:Asset;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Warranty;1", + "@type": "Interface", + "displayName": { + "en": "Warranty" + }, + "extends": [ + "dtmi:com:willowinc:Document;1" + ], + "contents": [ { "@type": "Property", - "description": { - "en": "The capability position relative to the system or space that it interacts with. E.g., a water temperature sensor can be positioned on the supply or return flow, air humidity can be measured entering or leaving a system, etc." - }, + "name": "type", "displayName": { - "en": "position" + "en": "Type" }, - "name": "position", + "writable": true, "schema": { + "@id": "dtmi:com:willowinc:WarrantyType;1", "@type": "Enum", + "valueSchema": "string", "enumValues": [ { - "enumValue": "Azimuth", - "name": "Azimuth" - }, - { - "enumValue": "Bypass", - "name": "Bypass" - }, - { - "enumValue": "Circulating", - "name": "Circulating" - }, - { - "enumValue": "Delta", - "name": "Delta" - }, - { - "enumValue": "Discharge", - "name": "Discharge" - }, - { - "enumValue": "Download", - "name": "Download" - }, - { - "enumValue": "Economizer", - "name": "Economizer" - }, - { - "enumValue": "Entering", - "name": "Entering" - }, - { - "enumValue": "Exhaust", - "name": "Exhaust" - }, - { - "enumValue": "Export", - "name": "Export" - }, - { - "enumValue": "Header", - "name": "Header" - }, - { - "enumValue": "Import", - "name": "Import" - }, - { - "enumValue": "Input", - "name": "Input" - }, - { - "enumValue": "Inside", - "name": "Inside" - }, - { - "enumValue": "Leaving", - "name": "Leaving" - }, - { - "enumValue": "Mixed", - "name": "Mixed" - }, - { - "enumValue": "Net", - "name": "Net" - }, - { - "enumValue": "Output", - "name": "Output" - }, - { - "enumValue": "Outside", - "name": "Outside" - }, - { - "enumValue": "Return", - "name": "Return" - }, - { - "enumValue": "Supply", - "name": "Supply" - }, - { - "enumValue": "Underfloor", - "name": "Underfloor" - }, - { - "enumValue": "Upload", - "name": "Upload" + "name": "Product", + "displayName": { + "en": "Product" + }, + "enumValue": "Product" }, { - "enumValue": "Zenith", - "name": "Zenith" + "name": "Parts", + "displayName": { + "en": "Parts" + }, + "enumValue": "Parts" }, { - "enumValue": "Zone", - "name": "Zone" + "name": "Labor", + "displayName": { + "en": "Labor" + }, + "enumValue": "Labor" } - ], - "valueSchema": "string" + ] + } + }, + { + "@type": "Property", + "name": "guarantor", + "displayName": { + "en": "Guarantor" + }, + "writable": true, + "schema": "string" + }, + { + "@type": "Property", + "name": "duration", + "displayName": { + "en": "Duration" + }, + "writable": true, + "schema": "duration" + }, + { + "@type": "Property", + "name": "startDate", + "displayName": { + "en": "Start Date" + }, + "writable": true, + "schema": "date" + }, + { + "@type": "Property", + "name": "endDate", + "displayName": { + "en": "End Date" + }, + "writable": true, + "schema": "date" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:WaterLeakEvent;1", + "@type": "Interface", + "displayName": { + "en": "Water Leak Event" + }, + "extends": [ + "dtmi:com:willowinc:Event;1" + ], + "contents": [ + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "leak rate" }, + "name": "leakeRate", + "schema": "double", + "unit": "litrePerSecond", "writable": true }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "leak rate unit" + }, + "name": "leakRateUnit", + "annotates": "leakRate", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Zone;1", + "@type": "Interface", + "displayName": { + "en": "Zone" + }, + "description": { + "en": "An area within a building which has a purpose and extents defined by a system or sensors, e.g., HVAC zone, lighting zone, occupancy zone, security zone, etc." + }, + "extends": [ + "dtmi:com:willowinc:Space;1" + ], + "contents": [ { "@type": "Property", - "description": { - "en": "Stage number of a control loop for an equipment, equipment group, or system that is defined by the process controller. The first stage is 1, second stage 2, etc. (Project Haystack)." + "name": "type", + "displayName": { + "en": "Type" }, + "writable": true, + "schema": "string" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Address;1", + "@type": "Interface", + "displayName": { + "en": "Address" + }, + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" + ], + "contents": [ + { + "@type": "Property", "displayName": { - "en": "stage" + "en": "region (state/province)" }, - "name": "stage", - "schema": "integer", + "name": "region", + "schema": "string", "writable": true }, { "@type": "Property", - "description": { - "en": "Index number of a fan, coil, etc as a part of an array, e.g. fan 2 of the discharge air fan array" + "displayName": { + "en": "postal code" }, + "name": "postalCode", + "schema": "string", + "writable": true + }, + { + "@type": "Property", "displayName": { - "en": "arrayIndex" + "en": "country" }, - "name": "arrayIndex", - "schema": "integer", + "name": "country", + "schema": "string", "writable": true }, { "@type": "Property", - "description": { - "en": "A boolean property that, when set to \u0027true\u0027, indicates that an actuator closes either when energized or as percent position increases." + "displayName": { + "en": "city" + }, + "name": "city", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "address line 2" }, + "name": "addressLine2", + "schema": "string", + "writable": true + }, + { + "@type": "Property", "displayName": { - "en": "reverseActingActuator" + "en": "address line 1" }, - "name": "reverseActingActuator", - "schema": "boolean", + "name": "addressLine1", + "schema": "string", "writable": true } ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AircraftParkingSpot;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft Parking Spot" + }, + "description": { + "en": "A space intended for parking an aircraft to enplane/deplane passengers, load or unload cargo. Also referred to as an Aircraft Parking Position (FAA)." + }, + "extends": [ + "dtmi:com:willowinc:ParkingSpot;1", + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AircraftStand;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft Stand" + }, + "description": { + "en": "A designated area intended for parking an aircraft." + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [ + { + "@type": "Property", + "name": "coordinates", + "displayName": { + "en": "Coordinates" + }, + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "latitude", + "displayName": { + "en": "Latitude" + }, + "schema": "double" + }, + { + "name": "longitude", + "displayName": { + "en": "Longitude" + }, + "schema": "double" + } + ] + } + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:Airfield;1", + "@type": "Interface", + "displayName": { + "en": "Airfield" + }, + "description": { + "en": "The portion of the airport intended to be used wholly or in part for the arrival, departure, and movement of aircraft." + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:Airport;1", + "@type": "Interface", + "displayName": { + "en": "Airport" + }, + "description": { + "en": "A location where aircraft flight operations takes place that usually includes runways and maintenance facilities" + }, + "extends": [ + "dtmi:com:willowinc:Land;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Airport Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportGate;1", + "@type": "Interface", + "displayName": { + "en": "Gate" + }, + "description": { + "en": "An area in an airport terminal where passengers board the aircraft. Gates typically have a seated waiting area, counter, and doorway leading to the aircraft." + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [ + { + "@type": "Property", + "name": "coordinates", + "displayName": { + "en": "Coordinates" + }, + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "latitude", + "displayName": { + "en": "Latitude" + }, + "schema": "double" + }, + { + "name": "longitude", + "displayName": { + "en": "Longitude" + }, + "schema": "double" + } + ] + } + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportTerminal;1", + "@type": "Interface", + "displayName": { + "en": "Airport Terminal" + }, + "description": { + "en": "A building at an airport where passengers transfer between ground transportation and the facilities that allow them to board and disembark from an aircraft." + }, + "extends": [ + "dtmi:com:willowinc:Building;1", + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportVehicle;1", + "@type": "Interface", + "displayName": { + "en": "Airport Vehicle" + }, "description": { - "en": "Encapuslates a set of categorization properties that may be applicable to Capability instances." + "en": "A vehicle at an aiport." }, + "extends": [ + "dtmi:com:willowinc:Vehicle;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:Apron;1", + "@type": "Interface", "displayName": { - "en": "Capability property set" + "en": "Apron" }, - "extends": "dtmi:com:willowinc:CapabilityComponent;1", + "description": { + "en": "A defined area on an airfield to accommodate aircraft for purposes of loading or unloading passengers, mail or cargo, fueling, parking, or maintenance." + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportSpace;1" + ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Ceiling;1", + "@id": "dtmi:com:willowinc:airport:Runway;1", "@type": "Interface", "displayName": { - "en": "Ceiling" + "en": "Runway" + }, + "description": { + "en": "A defined rectangular area on an airfield prepared for the landing and takeoff of aircraft." }, "extends": [ - "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" + "dtmi:com:willowinc:airport:AirportSpace;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Chair;1", + "@id": "dtmi:com:willowinc:airport:Taxiway;1", "@type": "Interface", "displayName": { - "en": "Chair" + "en": "Taxiway" + }, + "description": { + "en": "A defined path on an airfield established for the taxiing of aircraft and intended to provide a link between one part of the airfield and another." }, "extends": [ - "dtmi:com:willowinc:Furniture;1" + "dtmi:com:willowinc:airport:AirportSpace;1" ], - "contents": [ - { - "@type": "Property", - "name": "type", - "displayName": { - "en": "Type" - }, - "writable": true, - "schema": "string", - "comment": "basic, adjustable-height" - } + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AirportGateInBlockEvent;1", + "@type": "Interface", + "displayName": { + "en": "Airport Gate In-Block Event" + }, + "description": { + "en": "An event at an airport gate related to a flight arriving at the gate. (ICAO)" + }, + "extends": [ + "dtmi:com:willowinc:AirportGateBlockEvent;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:CleaningEquipment;1", + "@id": "dtmi:com:willowinc:AirportGateOffBlockEvent;1", "@type": "Interface", "displayName": { - "en": "Cleaning Equipment" + "en": "Airport Gate Off-Block Event" }, "description": { - "en": "Equipment used for cleaning a building such as a floor scrubber or vacuum." + "en": "An event at an airport gate related to a flight departing at the gate. (ICAO)" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:AirportGateBlockEvent;1" ], "contents": [], "@context": [ @@ -12883,13 +10266,13 @@ ] }, { - "@id": "dtmi:com:willowinc:CommissioningChecklist;1", + "@id": "dtmi:com:willowinc:ArchitecturalAssetCollection;1", "@type": "Interface", "displayName": { - "en": "Commissioning Checklist" + "en": "Architectural Asset Collection" }, "extends": [ - "dtmi:com:willowinc:CommissioningDocument;1" + "dtmi:com:willowinc:AssetCollection;1" ], "contents": [], "@context": [ @@ -12897,13 +10280,13 @@ ] }, { - "@id": "dtmi:com:willowinc:CommissioningFinalReport;1", + "@id": "dtmi:com:willowinc:AsBuiltDrawing;1", "@type": "Interface", "displayName": { - "en": "Commissioning Final Report" + "en": "As-Built Drawing" }, "extends": [ - "dtmi:com:willowinc:CommissioningDocument;1" + "dtmi:com:willowinc:Drawing;1" ], "contents": [], "@context": [ @@ -12911,16 +10294,16 @@ ] }, { - "@id": "dtmi:com:willowinc:Company;1", + "@id": "dtmi:com:willowinc:Balcony;1", "@type": "Interface", "displayName": { - "en": "Company" + "en": "Balcony" }, "description": { - "en": "An organization of persons operating a business." + "en": "An small enclosed area that is affixed to an upper level of building with typically a single access point." }, "extends": [ - "dtmi:com:willowinc:Organization;1" + "dtmi:com:willowinc:BuildingOutdoorArea;1" ], "contents": [], "@context": [ @@ -12928,72 +10311,42 @@ ] }, { - "@id": "dtmi:com:willowinc:Compressor;1", + "@id": "dtmi:com:willowinc:BarrierAsset;1", "@type": "Interface", "displayName": { - "en": "Compressor" - }, - "description": { - "en": "A device which converts a gaseous fluid into its liquid form by compressing it. In HVAC, it is commonly included in refrigeration equipment such as chillers and air conditioners." + "en": "Barrier Asset" }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:ArchitecturalAsset;1" ], "contents": [ { - "@type": "Property", + "@type": "Relationship", "displayName": { - "en": "refrigerant type" + "en": "to space" }, - "name": "refrigerantType", - "schema": "string", - "writable": true + "name": "toSpace", + "target": "dtmi:com:willowinc:Space;1" }, { - "@type": "Property", + "@type": "Relationship", "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Scroll", - "name": "Scroll" - }, - { - "enumValue": "Screw", - "name": "Screw" - }, - { - "enumValue": "Reciprocol", - "name": "Reciprocol" - }, - { - "enumValue": "Centrifugal", - "name": "Centrifugal" - }, - { - "enumValue": "Absorption", - "name": "Absorption" - } - ], - "valueSchema": "string" + "en": "from space" }, - "writable": true + "name": "fromSpace", + "target": "dtmi:com:willowinc:Space;1" }, { "@type": [ "Property", - "MassFlowRate" + "Length" ], "displayName": { - "en": "Design Mass Flow" + "en": "width" }, - "name": "designMassFlow", + "name": "width", "schema": "double", - "unit": "kilogramPerSecond", + "unit": "millimetre", "writable": true }, { @@ -13003,25 +10356,25 @@ "Override" ], "displayName": { - "en": "Design Mass Flow Unit" + "en": "width unit" }, - "name": "designMassFlowUnit", - "annotates": "designMassFlow", + "name": "widthUnit", + "annotates": "width", "overrides": "unit", - "schema": "MassFlowRateUnit", + "schema": "LengthUnit", "writable": true }, { "@type": [ - "Power", - "Property" + "Property", + "Length" ], "displayName": { - "en": "motor power" + "en": "thickness" }, - "name": "motorPower", + "name": "thickness", "schema": "double", - "unit": "horsepower", + "unit": "millimetre", "writable": true }, { @@ -13031,59 +10384,56 @@ "Override" ], "displayName": { - "en": "motor power unit" + "en": "thickness unit" }, - "name": "motorPowerUnit", - "annotates": "motorPower", + "name": "thicknessUnit", + "annotates": "thickness", "overrides": "unit", - "schema": "PowerUnit", + "schema": "LengthUnit", "writable": true }, { - "@type": [ - "Current", - "Property" - ], + "@type": "Property", "displayName": { - "en": "rated load current" + "en": "service" }, - "description": { - "en": "The rated load current, or rated load amps (RLA) is the maximum current the compressor should draw under normal operation." + "name": "service", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Interior", + "name": "Interior" + }, + { + "enumValue": "Exterior", + "name": "Exterior" + } + ], + "valueSchema": "string" }, - "name": "ratedLoadCurrent", - "schema": "double", - "unit": "ampere", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "rated load current unit" + "en": "material" }, - "name": "ratedLoadCurrentUnit", - "annotates": "ratedLoadCurrent", - "overrides": "unit", - "schema": "CurrentUnit", + "name": "material", + "schema": "string", "writable": true }, { "@type": [ - "Current", - "Property" + "Property", + "Length" ], "displayName": { - "en": "maximum continuous current" - }, - "description": { - "en": "The maximum continuous current (MCC) is the current at which the compressor overload protection trips." + "en": "height" }, - "name": "maximumContinuousCurrent", + "name": "height", "schema": "double", - "unit": "ampere", + "unit": "millimetre", "writable": true }, { @@ -13093,43 +10443,34 @@ "Override" ], "displayName": { - "en": "maximum continuous current unit" + "en": "height unit" }, - "name": "maximumContinuousCurrentUnit", - "annotates": "maximumContinuousCurrent", + "name": "heightUnit", + "annotates": "height", "overrides": "unit", - "schema": "CurrentUnit", + "schema": "LengthUnit", "writable": true }, { - "@type": [ - "Current", - "Property" - ], + "@type": "Property", "displayName": { - "en": "locked rotor current" - }, - "description": { - "en": "The locked rotor current, or locked rotor amps (LRA) is the current drawn by the compressor when applying full voltage while starting." + "en": "frame material" }, - "name": "lockedRotorCurrent", - "schema": "double", - "unit": "ampere", + "name": "frameMaterial", + "schema": "string", "writable": true }, { "@type": [ - "Property", - "ValueAnnotation", - "Override" + "TimeSpan", + "Property" ], "displayName": { - "en": "locked rotor current unit" + "en": "fire rating" }, - "name": "lockedRotorCurrentUnit", - "annotates": "lockedRotorCurrent", - "overrides": "unit", - "schema": "CurrentUnit", + "name": "fireRating", + "schema": "double", + "unit": "hour", "writable": true } ], @@ -13141,114 +10482,72 @@ ] }, { - "@id": "dtmi:com:willowinc:Condenser;1", + "@id": "dtmi:com:willowinc:BarrierAssetHardware;1", "@type": "Interface", "displayName": { - "en": "Condenser" + "en": "Barrier Asset Hardware" + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalAsset;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:BasementLevel;1", + "@type": "Interface", + "displayName": { + "en": "Basement Level" }, "description": { - "en": "A heat exhcanging device which rejects heat from a working fluid (i.e. refrigerant) into a secondary fluid or the surrounding air." + "en": "A level of a building which is wholly or partially below ground level." }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:Level;1" ], "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ConnectorApplication;1", + "@id": "dtmi:com:willowinc:BathAccessory;1", "@type": "Interface", "displayName": { - "en": "Connector Application" + "en": "Bath Accessory" }, "description": { - "en": "An application whose task is to connect to and communicate with other software applications." + "en": "An device co-located with a bathtub or shower such as a towel holder or shower partition." }, "extends": [ - "dtmi:com:willowinc:Application;1" - ], - "contents": [ - { - "@type": "Property", - "name": "connectorType", - "displayName": { - "en": "Connector Type" - }, - "description": { - "en": "The type of connector application. There may be many instances (aka twins) of the same Connector Type installed for an organization." - }, - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "id", - "displayName": { - "en": "ID" - }, - "description": { - "en": "The unique identier for the connector type" - }, - "schema": "string" - }, - { - "name": "name", - "displayName": { - "en": "Name" - }, - "description": { - "en": "The display name for the connector type." - }, - "schema": "string" - }, - { - "name": "direction", - "displayName": { - "en": "Direction" - }, - "description": { - "en": "Indicates whether the connector type is Source or Destination. Source indicates data flowing from an external system to the org. Destination indicates data flowing from the org to an external system." - }, - "schema": "string" - }, - { - "name": "version", - "displayName": { - "en": "Version" - }, - "schema": "string" - } - ] - } - } + "dtmi:com:willowinc:ArchitecturalAsset;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ConveyanceEquipment;1", + "@id": "dtmi:com:willowinc:Bed;1", "@type": "Interface", "displayName": { - "en": "Conveyance Equipment" + "en": "Bed" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:Furniture;1" ], "contents": [ { "@type": "Property", + "name": "type", "displayName": { - "en": "type" + "en": "Type" }, - "name": "type", + "writable": true, "schema": "string", - "writable": true + "comment": "basic, adjustable-height" } ], "@context": [ @@ -13256,61 +10555,136 @@ ] }, { - "@id": "dtmi:com:willowinc:Culvert;1", + "@id": "dtmi:com:willowinc:BinaryActuator;1", "@type": "Interface", - "description": { - "en": "A tunnel structure built to allow water in an open channel to pass under a road, rail, path, or other surface level obstruction." - }, "displayName": { - "en": "Culvert" + "en": "Binary Actuator" + }, + "description": { + "en": "The Boolean command which sets the state of the equipment" }, "extends": [ - "dtmi:com:willowinc:Tunnel;1" + "dtmi:com:willowinc:Actuator;1" + ], + "contents": [ + { + "@type": "Property", + "name": "lastValue", + "displayName": { + "en": "Last Value" + }, + "writable": true, + "schema": "boolean" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Department;1", + "@id": "dtmi:com:willowinc:BinaryState;1", "@type": "Interface", "displayName": { - "en": "Department" + "en": "Binary State" }, "description": { - "en": "An division or part of a large organization." + "en": "The Boolean state of the equipment" }, "extends": [ - "dtmi:com:willowinc:Organization;1" + "dtmi:com:willowinc:State;1" + ], + "contents": [ + { + "@type": "Property", + "name": "lastValue", + "displayName": { + "en": "Last Value" + }, + "writable": true, + "schema": "boolean" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DesignDrawing;1", + "@id": "dtmi:com:willowinc:BuildingOperationsArea;1", "@type": "Interface", "displayName": { - "en": "Design Drawing" + "en": "Building Operations Area" + }, + "description": { + "en": "An area within a building designated as having a distinct maintainance and operations function or designated services." }, "extends": [ - "dtmi:com:willowinc:Drawing;1" + "dtmi:com:willowinc:SpaceCollection;1" + ], + "contents": [ + { + "@type": "Component", + "name": "area", + "displayName": { + "en": "Area" + }, + "schema": "dtmi:com:willowinc:SpaceArea;1" + }, + { + "@type": "Component", + "name": "capacity", + "displayName": { + "en": "Capacity" + }, + "schema": "dtmi:com:willowinc:SpaceCapacity;1" + }, + { + "@type": "Component", + "name": "temperature", + "displayName": { + "en": "Temperature" + }, + "schema": "dtmi:com:willowinc:SpaceTemperature;1" + }, + { + "@type": "Component", + "name": "humidity", + "displayName": { + "en": "Humidity Average" + }, + "schema": "dtmi:com:willowinc:SpaceHumidity;1" + }, + { + "@type": "Component", + "name": "CO2", + "displayName": { + "en": "CO2" + }, + "schema": "dtmi:com:willowinc:SpaceCO2;1" + }, + { + "@type": "Component", + "name": "occupancy", + "displayName": { + "en": "Occupancy" + }, + "schema": "dtmi:com:willowinc:SpaceOccupancy;1" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DistributionAssetCollection;1", + "@id": "dtmi:com:willowinc:BuildingPodium;1", "@type": "Interface", "displayName": { - "en": "Distribution Asset Collection" + "en": "Building Podium" + }, + "description": { + "en": "A sub-building which forms the base of a building and may have one or more towers above." }, "extends": [ - "dtmi:com:willowinc:AssetCollection;1" + "dtmi:com:willowinc:SubBuilding;1" ], "contents": [], "@context": [ @@ -13318,60 +10692,82 @@ ] }, { - "@id": "dtmi:com:willowinc:DistributionConnector;1", + "@id": "dtmi:com:willowinc:BuildingTerrace;1", "@type": "Interface", "displayName": { - "en": "Distribution Connector" + "en": "Building Terrace" }, - "extends": "dtmi:com:willowinc:DistributionAsset;1", + "description": { + "en": "A designated area for social gathering that is either adjacent to or attached to the main structure of a building, can have multiple access points, and is raised from its surroundings." + }, + "extends": [ + "dtmi:com:willowinc:BuildingOutdoorArea;1" + ], "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DistributionRaceway;1", + "@id": "dtmi:com:willowinc:BuildingTower;1", "@type": "Interface", "displayName": { - "en": "Distribution Raceway" + "en": "Building Tower" }, - "extends": "dtmi:com:willowinc:DistributionAsset;1", + "description": { + "en": "A sub-building which extends up from a podium and is generally set back from the podium boundary." + }, + "extends": [ + "dtmi:com:willowinc:SubBuilding;1" + ], "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DistributionStorage;1", + "@id": "dtmi:com:willowinc:BuildingWing;1", "@type": "Interface", "displayName": { - "en": "Distribution Storage" + "en": "Building Wing" }, - "extends": "dtmi:com:willowinc:DistributionAsset;1", + "description": { + "en": "A sub-building which is subordinate to the main, central structure." + }, + "extends": [ + "dtmi:com:willowinc:SubBuilding;1" + ], "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:DuctConnection;1", + "@id": "dtmi:com:willowinc:Cable;1", "@type": "Interface", "displayName": { - "en": "Duct Connection" + "en": "Cable" }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], + "extends": "dtmi:com:willowinc:DistributionAsset;1", "contents": [ + { + "@type": "Property", + "displayName": { + "en": "material" + }, + "name": "material", + "schema": "string", + "writable": true + }, { "@type": [ "Property", "Length" ], "displayName": { - "en": "size" + "en": "diameter" }, - "name": "size", + "name": "diameter", "schema": "double", "unit": "millimetre", "writable": true @@ -13383,96 +10779,540 @@ "Override" ], "displayName": { - "en": "size unit" + "en": "diameter unit" }, - "name": "sizeUnit", - "annotates": "size", + "name": "diameterUnit", + "annotates": "diameter", "overrides": "unit", "schema": "LengthUnit", "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:CapabilityCommunication;1", + "@type": "Interface", + "displayName": { + "en": "Capability Communication" + }, + "extends": [ + "dtmi:com:willowinc:CapabilityComponent;1" + ], + "contents": [ + { + "@type": "Property", + "name": "protocol", + "displayName": { + "en": "Protocol" + }, + "writable": true, + "schema": "dtmi:com:willowinc:CapabilityCommunicationProtocol;1" }, { "@type": "Property", + "name": "API", "displayName": { - "en": "shape" + "en": "API" }, - "name": "shape", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "round", - "name": "round" + "writable": true, + "schema": "dtmi:com:willowinc:APICapabilityProperties;1" + }, + { + "@type": "Property", + "name": "BACnet", + "displayName": { + "en": "BACnet" + }, + "writable": true, + "schema": "dtmi:com:willowinc:BACnetCapabilityProperties;1" + }, + { + "@type": "Property", + "name": "Modbus", + "displayName": { + "en": "Modbus" + }, + "writable": true, + "schema": "dtmi:com:willowinc:ModbusCapabilityProperties;1" + }, + { + "@type": "Property", + "name": "OPCDA", + "displayName": { + "en": "OPC DA" + }, + "writable": true, + "schema": "dtmi:com:willowinc:OPCDACapabilityProperties;1" + }, + { + "@type": "Property", + "name": "OPCUA", + "displayName": { + "en": "OPC UA" + }, + "writable": true, + "schema": "dtmi:com:willowinc:OPCUACapabilityProperties;1" + }, + { + "@type": "Property", + "name": "IoTHub", + "displayName": { + "en": "IoT Hub" + }, + "writable": true, + "schema": "dtmi:com:willowinc:IoTHubCapabilityProperties;1" + } + ], + "schemas": [ + { + "@id": "dtmi:com:willowinc:CapabilityCommunicationProtocol;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "API", + "displayName": "API", + "enumValue": "API" + }, + { + "name": "BACnet", + "displayName": "BACnet", + "enumValue": "BACnet" + }, + { + "name": "Modbus", + "displayName": "Modbus", + "enumValue": "Modbus" + }, + { + "name": "OPCDA", + "displayName": "OPC DA", + "enumValue": "OPC DA" + }, + { + "name": "OPCUA", + "displayName": "OPC UA", + "enumValue": "OPC UA" + }, + { + "name": "KNX", + "displayName": "KNX", + "enumValue": "KNX" + }, + { + "name": "LonWorks", + "displayName": "LonWorks", + "enumValue": "LonWorks" + }, + { + "name": "DALI", + "displayName": "DALI", + "enumValue": "DALI" + }, + { + "name": "MBus", + "displayName": "M-Bus", + "enumValue": "M-Bus" + }, + { + "name": "SNMP", + "displayName": "SNMP", + "enumValue": "SNMP" + }, + { + "name": "MQTT", + "displayName": "MQTT", + "enumValue": "MQTT" + }, + { + "name": "IoTHub", + "displayName": "IoT Hub", + "enumValue": "IoT Hub" + } + ] + }, + { + "@id": "dtmi:com:willowinc:APICapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "externalID", + "displayName": { + "en": "External ID" }, - { - "enumValue": "rectangle", - "name": "rectangle" + "schema": "string" + } + ] + }, + { + "@id": "dtmi:com:willowinc:BACnetCapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "deviceID", + "displayName": { + "en": "Device ID" }, - { - "enumValue": "oval", - "name": "oval" + "schema": "integer" + }, + { + "name": "objectType", + "displayName": "Object Type", + "schema": { + "@id": "dtmi:com:willowinc:BACnetCapabilityObjectType;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "Accumulator", + "displayName": "Accumulator", + "enumValue": "ACC" + }, + { + "name": "Analog_Input", + "displayName": "Analog Input", + "enumValue": "AI" + }, + { + "name": "Analog_Output", + "displayName": "Analog Output", + "enumValue": "AO" + }, + { + "name": "Analog_Value", + "displayName": "Analog Value", + "enumValue": "AV" + }, + { + "name": "Binary_Input", + "displayName": "Binary Input", + "enumValue": "BI" + }, + { + "name": "Binary_Output", + "displayName": "Binary Output", + "enumValue": "BO" + }, + { + "name": "Binary_Value", + "displayName": "Binary Value", + "enumValue": "BV" + }, + { + "name": "Calendar", + "displayName": "Calendar", + "enumValue": "CAL" + }, + { + "name": "Device", + "displayName": "Device", + "enumValue": "DEV" + }, + { + "name": "MultiState_Input", + "displayName": "Multi-State Input", + "enumValue": "MSI" + }, + { + "name": "MultiState_Output", + "displayName": "Multi-State Output", + "enumValue": "MSO" + }, + { + "name": "MultiState_Value", + "displayName": "Multi-State Value", + "enumValue": "MSV" + }, + { + "name": "Schedule", + "displayName": "Schedule", + "enumValue": "SCHED" + } + ] } - ], - "valueSchema": "string" - }, - "writable": true + }, + { + "name": "objectID", + "displayName": { + "en": "Object ID" + }, + "schema": "integer" + } + ] + }, + { + "@id": "dtmi:com:willowinc:ModbusCapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "dataType", + "displayName": "Data Type", + "schema": { + "@id": "dtmi:com:willowinc:ModbusDataType;1", + "@type": "Enum", + "valueSchema": "integer", + "enumValues": [ + { + "name": "bit_1", + "displayName": "1-bit Binary", + "enumValue": 0 + }, + { + "name": "uint_8", + "displayName": "8-bit Unsigned Integer", + "enumValue": 1 + }, + { + "name": "int_8", + "displayName": "8-bit Signed Integer", + "enumValue": 2 + }, + { + "name": "uint_16", + "displayName": "16-bit Unsigned Integer", + "enumValue": 3 + }, + { + "name": "int_16", + "displayName": "16-bit Signed Integer", + "enumValue": 4 + }, + { + "name": "uint_32", + "displayName": "32-bit Unsigned Integer", + "enumValue": 5 + }, + { + "name": "int_32", + "displayName": "32-bit Signed Integer", + "enumValue": 6 + }, + { + "name": "float_32", + "displayName": "32-bit Floating Capability", + "enumValue": 7 + }, + { + "name": "uint_64", + "displayName": "64-bit Unsigned Integer", + "enumValue": 8 + }, + { + "name": "int_64", + "displayName": "64-bit Signed Integer", + "enumValue": 9 + }, + { + "name": "double_64", + "displayName": "64-bit Double Precision Floating Capability", + "enumValue": 10 + } + ] + } + }, + { + "name": "registerAddress", + "displayName": { + "en": "Register Address" + }, + "schema": "integer" + }, + { + "name": "swap", + "displayName": { + "en": "Swap" + }, + "schema": "boolean" + }, + { + "name": "slaveID", + "displayName": { + "en": "Slave ID" + }, + "schema": "integer" + }, + { + "name": "endian", + "displayName": { + "en": "Endian" + }, + "schema": { + "@id": "dtmi:com:willowinc:ModbusEndianType;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "EndianBig", + "displayName": { + "en": "Endian Big" + }, + "enumValue": "EndianBig" + }, + { + "name": "EndianLittle", + "displayName": { + "en": "Endian Little" + }, + "enumValue": "EndianLittle" + } + ] + } + }, + { + "name": "registerType", + "displayName": { + "en": "Register Type" + }, + "schema": { + "@id": "dtmi:com:willowinc:ModbusRegisterType;1", + "@type": "Enum", + "valueSchema": "integer", + "enumValues": [ + { + "name": "coil", + "displayName": { + "en": "Coil" + }, + "enumValue": 0 + }, + { + "name": "discrete_input", + "displayName": { + "en": "Discrete Input" + }, + "enumValue": 1 + }, + { + "name": "input_register", + "displayName": { + "en": "Input Register" + }, + "enumValue": 2 + }, + { + "name": "holding_register", + "displayName": { + "en": "Holding Register" + }, + "enumValue": 3 + } + ] + } + }, + { + "name": "scale", + "displayName": { + "en": "Scale" + }, + "schema": "float" + } + ] + }, + { + "@id": "dtmi:com:willowinc:OPCDACapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "nodeID", + "displayName": { + "en": "Node ID" + }, + "schema": "string" + } + ] + }, + { + "@id": "dtmi:com:willowinc:OPCUACapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "nodeID", + "displayName": { + "en": "Node ID" + }, + "schema": "string" + } + ] }, { - "@type": "Property", - "displayName": { - "en": "configuration" - }, - "name": "configuration", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "single", - "name": "single" + "@id": "dtmi:com:willowinc:IoTHubCapabilityProperties;1", + "@type": "Object", + "fields": [ + { + "name": "externalID", + "displayName": { + "en": "External ID" }, - { - "enumValue": "dual", - "name": "dual" - } - ], - "valueSchema": "string" - }, - "writable": true + "schema": "string" + } + ] } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ElectricalBus;1", + "@id": "dtmi:com:willowinc:CapabilityPropertySet;1", "@type": "Interface", - "displayName": { - "en": "Electrical Bus" - }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], "contents": [ { "@type": "Property", + "description": { + "en": "Operational mode for HVAC equipment (Project Haystack)." + }, "displayName": { - "en": "material" + "en": "HVAC mode" }, - "name": "material", + "name": "HVACMode", "schema": { "@type": "Enum", "enumValues": [ { - "enumValue": "Copper", - "name": "Copper" + "enumValue": "Cooldown", + "name": "Cooldown" }, { - "enumValue": "Aluminium", - "name": "Aluminium" + "enumValue": "Cooling", + "name": "Cooling" + }, + { + "enumValue": "Depressurize", + "name": "Depressurize" + }, + { + "enumValue": "Economizing", + "name": "Economizing" + }, + { + "enumValue": "Heating", + "name": "Heating" + }, + { + "enumValue": "Manual", + "name": "Manual" + }, + { + "enumValue": "Pressurize", + "name": "Pressurize" + }, + { + "enumValue": "Purge", + "name": "Purge" + }, + { + "enumValue": "Reheat", + "name": "Reheat" + }, + { + "enumValue": "Warmup", + "name": "Warmup" } ], "valueSchema": "string" @@ -13480,578 +11320,929 @@ "writable": true }, { - "@type": [ - "Current", - "Property" - ], - "displayName": { - "en": "current rating" - }, - "name": "currentRating", - "schema": "double", - "unit": "ampere", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" - ] - }, - { - "@id": "dtmi:com:willowinc:ElectricalEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Electrical Equipment" - }, - "extends": [ - "dtmi:com:willowinc:Equipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Endcap;1", - "@type": "Interface", - "displayName": { - "en": "Endcap" - }, - "description": { - "en": "An aisle section located at the end of an aisle for product display in a store." - }, - "extends": [ - "dtmi:com:willowinc:AisleSection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnteringPersonAccessEvent;1", - "@type": "Interface", - "displayName": { - "en": "Entering Person Access Event" - }, - "extends": [ - "dtmi:com:willowinc:PersonAccessEvent;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EquipmentCollection;1", - "@type": "Interface", - "displayName": { - "en": "Equipment Collection" - }, - "extends": [ - "dtmi:com:willowinc:AssetCollection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Evaporator;1", - "@type": "Interface", - "displayName": { - "en": "Evaporator" - }, - "description": { - "en": "A device which converts a liquid substance into its gaseous form, vapor. In HVAC, it is commonly included in equipment such as chillers and air conditioners." - }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], - "contents": [ - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designEnteringWaterTemperature", - "displayName": { - "en": "Design Entering Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Entering Water Temperature Unit" - }, - "name": "designEnteringWaterTemperatureUnit", - "annotates": "designEnteringWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designLeavingWaterTemperature", - "displayName": { - "en": "Design Leaving Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Leaving Water Temperature Unit" - }, - "name": "designLeavingWaterTemperatureUnit", - "annotates": "designLeavingWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designDeltaWaterTemperature", - "displayName": { - "en": "Design Delta Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Delta Water Temperature Unit" - }, - "name": "designDeltaWaterTemperatureUnit", - "annotates": "designDeltaWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "VolumeFlowRate" - ], - "displayName": { - "en": "Design Flow" - }, - "name": "designFlow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Flow Unit" - }, - "name": "designFlowUnit", - "annotates": "designFlow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Pressure" - ], - "displayName": { - "en": "Design Pressure Drop" - }, - "name": "designPressureDrop", - "schema": "double", - "unit": "kilopascal", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Pressure Drop Unit" - }, - "name": "designPressureDropUnit", - "annotates": "designPressureDrop", - "overrides": "unit", - "schema": "PressureUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Facade;1", - "@type": "Interface", - "displayName": { - "en": "Facade" - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Fan;1", - "@type": "Interface", - "displayName": { - "en": "Fan" - }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], - "contents": [ - { - "@type": [ - "Property", - "Pressure" - ], - "displayName": { - "en": "nominal external static pressure" - }, - "name": "nominalExternalStaticPressure", - "schema": "double", - "unit": "pascal", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "nominal external static pressure unit" - }, - "name": "nominalExternalStaticPressureUnit", - "annotates": "nominalExternalStaticPressure", - "overrides": "unit", - "schema": "PressureUnit", - "writable": true - }, - { - "@type": [ - "Property", - "VolumeFlowRate" - ], - "displayName": { - "en": "nominal airflow" - }, - "name": "nominalAirflow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "nominal airflow unit" - }, - "name": "nominalAirflowUnit", - "annotates": "nominalAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - }, - { - "@type": [ - "Power", - "Property" - ], - "displayName": { - "en": "motor power" + "@type": "Property", + "description": { + "en": "Notification of a condition which requires attention such as a threshold exceeded (Project Haystack). This differs from a Fault in that a Fault is used to identify a failure." }, - "name": "motorPower", - "schema": "double", - "unit": "horsepower", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], "displayName": { - "en": "motor power unit" + "en": "alarm" }, - "name": "motorPowerUnit", - "annotates": "motorPower", - "overrides": "unit", - "schema": "PowerUnit", + "name": "alarm", + "schema": "boolean", "writable": true }, { - "@type": [ - "AngularVelocity", - "Property" - ], - "displayName": { - "en": "maximum rotation speed" + "@type": "Property", + "description": { + "en": "The component that is part of an asset which the capability is associated with." }, - "name": "maxRotationSpeed", - "schema": "double", - "unit": "revolutionPerMinute", - "writable": true - }, - { - "@type": [ - "Property", - "Frequency" - ], "displayName": { - "en": "maximum VFD frequency" + "en": "asset component" }, - "name": "maxVFDFrequency", - "schema": "double", - "unit": "hertz", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "maximum VFD frequency unit" + "name": "assetComponent", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Battery", + "name": "Battery" + }, + { + "enumValue": "Coil", + "name": "Coil" + }, + { + "enumValue": "Compressor", + "name": "Compressor" + }, + { + "enumValue": "Condenser", + "name": "Condenser" + }, + { + "enumValue": "Damper", + "name": "Damper" + }, + { + "enumValue": "Evaporator", + "name": "Evaporator" + }, + { + "enumValue": "Fan", + "name": "Fan" + }, + { + "enumValue": "Filter", + "name": "Filter" + }, + { + "enumValue": "Motor", + "name": "Motor" + }, + { + "enumValue": "VFD", + "name": "VFD" + }, + { + "enumValue": "coolingCoil", + "name": "coolingCoil" + }, + { + "enumValue": "heatingCoil", + "name": "heatingCoil" + } + ], + "valueSchema": "string" }, - "name": "maxVFDFrequencyUnit", - "annotates": "maxVFDFrequency", - "overrides": "unit", - "schema": "FrequencyUnit", "writable": true }, { - "@type": [ - "Power", - "Property" - ], + "@type": "Property", + "description": { + "en": "Rate required for a process. For a setpoint, this sets the required rate for a process such as cooling, heating, air flow, or water flow. For a sensor, this measures the rate of a process over a given interval such as electrical power demand or cooling energy demand." + }, "displayName": { - "en": "brake horsepower" + "en": "demand" }, - "name": "brakeHorsepower", - "schema": "double", - "unit": "horsepower", + "name": "demand", + "schema": "boolean", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "description": { + "en": "Current control setpoint in effect taking into account other factors (Project Haystack)." + }, "displayName": { - "en": "brake horsepower unit" + "en": "effective" }, - "name": "brakeHorsepowerUnit", - "annotates": "brakeHorsepower", - "overrides": "unit", - "schema": "PowerUnit", + "name": "effective", + "schema": "boolean", "writable": true }, { - "@type": [ - "Current", - "Property" - ], + "@type": "Property", + "description": { + "en": "Phase measurement in a three-phase electrical system (Project Haystack)." + }, "displayName": { - "en": "full load current" + "en": "electrical phase" + }, + "name": "electricalPhase", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "A", + "name": "A" + }, + { + "enumValue": "AB", + "name": "AB" + }, + { + "enumValue": "B", + "name": "B" + }, + { + "enumValue": "BC", + "name": "BC" + }, + { + "enumValue": "C", + "name": "C" + }, + { + "enumValue": "CA", + "name": "CA" + }, + { + "enumValue": "N", + "name": "N" + } + ], + "valueSchema": "string" }, - "name": "fullLoadCurrent", - "schema": "double", - "unit": "ampere", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "description": { + "en": "Parameter that places and upper (maximum) or lower (minimum) bound on permitted values of another capability." + }, "displayName": { - "en": "full load current unit" + "en": "limit" + }, + "name": "limit", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Maximum", + "name": "Maximum" + }, + { + "enumValue": "Minimum", + "name": "Minimum" + } + ], + "valueSchema": "string" }, - "name": "fullLoadCurrentUnit", - "annotates": "fullLoadCurrent", - "overrides": "unit", - "schema": "CurrentUnit", "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "description": { + "en": "Mode which defines how to control a space based on occupancy status." + }, "displayName": { - "en": "minimum airflow rating" + "en": "occupancy mode" + }, + "name": "occupancyMode", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Occupied", + "name": "Occupied" + }, + { + "enumValue": "Standby", + "name": "Standby" + }, + { + "enumValue": "Unoccupied", + "name": "Unoccupied" + } + ], + "valueSchema": "string" }, - "name": "minAirflowRating", - "schema": "double", - "unit": "litrePerSecond", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "description": { + "en": "The phenomenon that a capability measures or interacts with; e.g., a TemperatureSensor can measure air temperature or water temperature, a Flow Demand Setpoint can be configured to control steam demand or chilled water demand, etc." + }, "displayName": { - "en": "minimum airflow rating unit" + "en": "phenomenon" + }, + "name": "phenomenon", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "ACElectricity", + "name": "ACElectricity" + }, + { + "enumValue": "Air", + "name": "Air" + }, + { + "enumValue": "BlowdownWater", + "name": "BlowdownWater" + }, + { + "enumValue": "ChilledWater", + "name": "ChilledWater" + }, + { + "enumValue": "Cloudage", + "name": "Cloudage" + }, + { + "enumValue": "ColdDomesticWater", + "name": "ColdDomesticWater" + }, + { + "enumValue": "CompressedAir", + "name": "CompressedAir" + }, + { + "enumValue": "Condensate", + "name": "Condensate" + }, + { + "enumValue": "CondenserWater", + "name": "CondenserWater" + }, + { + "enumValue": "DCElectricity", + "name": "DCElectricity" + }, + { + "enumValue": "Data", + "name": "Data" + }, + { + "enumValue": "DeionizedWater", + "name": "DeionizedWater" + }, + { + "enumValue": "DieselFuel", + "name": "DieselFuel" + }, + { + "enumValue": "Drainage", + "name": "Drainage" + }, + { + "enumValue": "DriveElectricity", + "name": "DriveElectricity" + }, + { + "enumValue": "Electricity", + "name": "Electricity" + }, + { + "enumValue": "EthernetData", + "name": "EthernetData" + }, + { + "enumValue": "ExhaustGas", + "name": "ExhaustGas" + }, + { + "enumValue": "Fire", + "name": "Fire" + }, + { + "enumValue": "FreezingRainPrecipitation", + "name": "FreezingRainPrecipitation" + }, + { + "enumValue": "FrostIce", + "name": "FrostIce" + }, + { + "enumValue": "Fuel", + "name": "Fuel" + }, + { + "enumValue": "FuelOilFuel", + "name": "FuelOilFuel" + }, + { + "enumValue": "GasolineFuel", + "name": "GasolineFuel" + }, + { + "enumValue": "HailPrecipitation", + "name": "HailPrecipitation" + }, + { + "enumValue": "HighTemperatureHotWater", + "name": "HighTemperatureHotWater" + }, + { + "enumValue": "HotDomesticWater", + "name": "HotDomesticWater" + }, + { + "enumValue": "HotWater", + "name": "HotWater" + }, + { + "enumValue": "Ice", + "name": "Ice" + }, + { + "enumValue": "InfraredLight", + "name": "InfraredLight" + }, + { + "enumValue": "IrrigationWater", + "name": "IrrigationWater" + }, + { + "enumValue": "Light", + "name": "Light" + }, + { + "enumValue": "LiquidPropaneFuel", + "name": "LiquidPropaneFuel" + }, + { + "enumValue": "LowTemperatureHotWater", + "name": "LowTemperatureHotWater" + }, + { + "enumValue": "MakeupWater", + "name": "MakeupWater" + }, + { + "enumValue": "MediumTemperatureHotWater", + "name": "MediumTemperatureHotWater" + }, + { + "enumValue": "NaturalGasFuel", + "name": "NaturalGasFuel" + }, + { + "enumValue": "NonPotableDomesticWater", + "name": "NonPotableDomesticWater" + }, + { + "enumValue": "Object", + "name": "Object" + }, + { + "enumValue": "People", + "name": "People" + }, + { + "enumValue": "Precipitation", + "name": "Precipitation" + }, + { + "enumValue": "RainPrecipitation", + "name": "RainPrecipitation" + }, + { + "enumValue": "Refrigerant", + "name": "Refrigerant" + }, + { + "enumValue": "SleetPrecipitation", + "name": "SleetPrecipitation" + }, + { + "enumValue": "Smoke", + "name": "Smoke" + }, + { + "enumValue": "SnowPrecipitation", + "name": "SnowPrecipitation" + }, + { + "enumValue": "Solar", + "name": "Solar" + }, + { + "enumValue": "Sound", + "name": "Sound" + }, + { + "enumValue": "SprinklerWater", + "name": "SprinklerWater" + }, + { + "enumValue": "Steam", + "name": "Steam" + }, + { + "enumValue": "StormDrainage", + "name": "StormDrainage" + }, + { + "enumValue": "UltravioletLight", + "name": "UltravioletLight" + }, + { + "enumValue": "Urea", + "name": "Urea" + }, + { + "enumValue": "WasteVentDrainage", + "name": "WasteVentDrainage" + }, + { + "enumValue": "Water", + "name": "Water" + }, + { + "enumValue": "WiFiData", + "name": "WiFiData" + }, + { + "enumValue": "Wind", + "name": "Wind" + } + ], + "valueSchema": "string" }, - "name": "minAirflowRatingUnit", - "annotates": "minAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "description": { + "en": "The capability position relative to the system or space that it interacts with. E.g., a water temperature sensor can be positioned on the supply or return flow, air humidity can be measured entering or leaving a system, etc." + }, "displayName": { - "en": "maximum airflow rating" + "en": "position" + }, + "name": "position", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Azimuth", + "name": "Azimuth" + }, + { + "enumValue": "Bypass", + "name": "Bypass" + }, + { + "enumValue": "Circulating", + "name": "Circulating" + }, + { + "enumValue": "Delta", + "name": "Delta" + }, + { + "enumValue": "Discharge", + "name": "Discharge" + }, + { + "enumValue": "Download", + "name": "Download" + }, + { + "enumValue": "Economizer", + "name": "Economizer" + }, + { + "enumValue": "Entering", + "name": "Entering" + }, + { + "enumValue": "Exhaust", + "name": "Exhaust" + }, + { + "enumValue": "Export", + "name": "Export" + }, + { + "enumValue": "Header", + "name": "Header" + }, + { + "enumValue": "Import", + "name": "Import" + }, + { + "enumValue": "Input", + "name": "Input" + }, + { + "enumValue": "Inside", + "name": "Inside" + }, + { + "enumValue": "Leaving", + "name": "Leaving" + }, + { + "enumValue": "Mixed", + "name": "Mixed" + }, + { + "enumValue": "Net", + "name": "Net" + }, + { + "enumValue": "Output", + "name": "Output" + }, + { + "enumValue": "Outside", + "name": "Outside" + }, + { + "enumValue": "Return", + "name": "Return" + }, + { + "enumValue": "Supply", + "name": "Supply" + }, + { + "enumValue": "Underfloor", + "name": "Underfloor" + }, + { + "enumValue": "Upload", + "name": "Upload" + }, + { + "enumValue": "Zenith", + "name": "Zenith" + }, + { + "enumValue": "Zone", + "name": "Zone" + } + ], + "valueSchema": "string" }, - "name": "maxAirflowRating", - "schema": "double", - "unit": "litrePerSecond", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "description": { + "en": "Stage number of a control loop for an equipment, equipment group, or system that is defined by the process controller. The first stage is 1, second stage 2, etc. (Project Haystack)." + }, "displayName": { - "en": "maximum airflow rating unit" + "en": "stage" }, - "name": "maxAirflowRatingUnit", - "annotates": "maxAirflowRating", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", + "name": "stage", + "schema": "integer", "writable": true }, { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Property", + "description": { + "en": "Index number of a fan, coil, etc as a part of an array, e.g. fan 2 of the discharge air fan array" + }, "displayName": { - "en": "Design Airflow" + "en": "arrayIndex" }, - "name": "designAirflow", - "schema": "double", - "unit": "litrePerSecond", + "name": "arrayIndex", + "schema": "integer", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "description": { + "en": "A boolean property that, when set to \u0027true\u0027, indicates that an actuator closes either when energized or as percent position increases." + }, "displayName": { - "en": "Design Airflow Unit" + "en": "reverseActingActuator" }, - "name": "designAirflowUnit", - "annotates": "designAirflow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", + "name": "reverseActingActuator", + "schema": "boolean", "writable": true - }, + } + ], + "description": { + "en": "Encapuslates a set of categorization properties that may be applicable to Capability instances." + }, + "displayName": { + "en": "Capability property set" + }, + "extends": "dtmi:com:willowinc:CapabilityComponent;1", + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Ceiling;1", + "@type": "Interface", + "displayName": { + "en": "Ceiling" + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Chair;1", + "@type": "Interface", + "displayName": { + "en": "Chair" + }, + "extends": [ + "dtmi:com:willowinc:Furniture;1" + ], + "contents": [ { - "@type": [ - "AngularVelocity", - "Property" - ], + "@type": "Property", + "name": "type", "displayName": { - "en": "design rotation speed" + "en": "Type" }, - "name": "designRotationSpeed", - "schema": "double", - "unit": "revolutionPerMinute", - "writable": true - }, + "writable": true, + "schema": "string", + "comment": "basic, adjustable-height" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CleaningEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Cleaning Equipment" + }, + "description": { + "en": "Equipment used for cleaning a building such as a floor scrubber or vacuum." + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CommissioningChecklist;1", + "@type": "Interface", + "displayName": { + "en": "Commissioning Checklist" + }, + "extends": [ + "dtmi:com:willowinc:CommissioningDocument;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CommissioningFinalReport;1", + "@type": "Interface", + "displayName": { + "en": "Commissioning Final Report" + }, + "extends": [ + "dtmi:com:willowinc:CommissioningDocument;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Company;1", + "@type": "Interface", + "displayName": { + "en": "Company" + }, + "description": { + "en": "An organization of persons operating a business." + }, + "extends": [ + "dtmi:com:willowinc:Organization;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ConnectorApplication;1", + "@type": "Interface", + "displayName": { + "en": "Connector Application" + }, + "description": { + "en": "An application whose task is to connect to and communicate with other software applications." + }, + "extends": [ + "dtmi:com:willowinc:Application;1" + ], + "contents": [ { - "@type": [ - "Property", - "Frequency" - ], + "@type": "Property", + "name": "connectorType", "displayName": { - "en": "design VFD frequency" + "en": "Connector Type" }, - "name": "designVFDFrequency", - "schema": "double", - "unit": "hertz", - "writable": true - }, + "description": { + "en": "The type of connector application. There may be many instances (aka twins) of the same Connector Type installed for an organization." + }, + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "id", + "displayName": { + "en": "ID" + }, + "description": { + "en": "The unique identier for the connector type" + }, + "schema": "string" + }, + { + "name": "name", + "displayName": { + "en": "Name" + }, + "description": { + "en": "The display name for the connector type." + }, + "schema": "string" + }, + { + "name": "direction", + "displayName": { + "en": "Direction" + }, + "description": { + "en": "Indicates whether the connector type is Source or Destination. Source indicates data flowing from an external system to the org. Destination indicates data flowing from the org to an external system." + }, + "schema": "string" + }, + { + "name": "version", + "displayName": { + "en": "Version" + }, + "schema": "string" + } + ] + } + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ConveyanceEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Conveyance Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [ { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "design VFD frequency unit" + "en": "type" }, - "name": "designVFDFrequencyUnit", - "annotates": "designVFDFrequency", - "overrides": "unit", - "schema": "FrequencyUnit", + "name": "type", + "schema": "string", "writable": true - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Culvert;1", + "@type": "Interface", + "description": { + "en": "A tunnel structure built to allow water in an open channel to pass under a road, rail, path, or other surface level obstruction." + }, + "displayName": { + "en": "Culvert" + }, + "extends": [ + "dtmi:com:willowinc:Tunnel;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Department;1", + "@type": "Interface", + "displayName": { + "en": "Department" + }, + "description": { + "en": "An division or part of a large organization." + }, + "extends": [ + "dtmi:com:willowinc:Organization;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DesignDrawing;1", + "@type": "Interface", + "displayName": { + "en": "Design Drawing" + }, + "extends": [ + "dtmi:com:willowinc:Drawing;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DistributionAssetCollection;1", + "@type": "Interface", + "displayName": { + "en": "Distribution Asset Collection" + }, + "extends": [ + "dtmi:com:willowinc:AssetCollection;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DistributionConnector;1", + "@type": "Interface", + "displayName": { + "en": "Distribution Connector" + }, + "extends": "dtmi:com:willowinc:DistributionAsset;1", + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DistributionRaceway;1", + "@type": "Interface", + "displayName": { + "en": "Distribution Raceway" + }, + "extends": "dtmi:com:willowinc:DistributionAsset;1", + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DistributionStorage;1", + "@type": "Interface", + "displayName": { + "en": "Distribution Storage" + }, + "extends": "dtmi:com:willowinc:DistributionAsset;1", + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DuctConnection;1", + "@type": "Interface", + "displayName": { + "en": "Duct Connection" + }, + "extends": [ + "dtmi:com:willowinc:AssetComponent;1" + ], + "contents": [ { "@type": [ "Property", - "Pressure" + "Length" ], "displayName": { - "en": "design external static pressure" + "en": "size" }, - "name": "designExternalStaticPressure", + "name": "size", "schema": "double", - "unit": "pascal", + "unit": "millimetre", "writable": true }, { @@ -14061,30 +12252,34 @@ "Override" ], "displayName": { - "en": "design external static pressure unit" + "en": "size unit" }, - "name": "designExternalStaticPressureUnit", - "annotates": "designExternalStaticPressure", + "name": "sizeUnit", + "annotates": "size", "overrides": "unit", - "schema": "PressureUnit", + "schema": "LengthUnit", "writable": true }, { "@type": "Property", "displayName": { - "en": "drive type" + "en": "shape" }, - "name": "driveType", + "name": "shape", "schema": { "@type": "Enum", "enumValues": [ { - "enumValue": "Direct", - "name": "Direct" + "enumValue": "round", + "name": "round" }, { - "enumValue": "Belt", - "name": "Belt" + "enumValue": "rectangle", + "name": "rectangle" + }, + { + "enumValue": "oval", + "name": "oval" } ], "valueSchema": "string" @@ -14094,48 +12289,154 @@ { "@type": "Property", "displayName": { - "en": "Number of Fans" + "en": "configuration" }, - "description": { - "en": "The number of fans which make up a fan array" + "name": "configuration", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "single", + "name": "single" + }, + { + "enumValue": "dual", + "name": "dual" + } + ], + "valueSchema": "string" }, - "name": "numberOfFans", - "schema": "integer", "writable": true - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:ElectricalBus;1", + "@type": "Interface", + "displayName": { + "en": "Electrical Bus" + }, + "extends": [ + "dtmi:com:willowinc:AssetComponent;1" + ], + "contents": [ { "@type": "Property", "displayName": { - "en": "serial number" + "en": "material" }, - "name": "serialNumber", - "schema": "string", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "model number" + "name": "material", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Copper", + "name": "Copper" + }, + { + "enumValue": "Aluminium", + "name": "Aluminium" + } + ], + "valueSchema": "string" }, - "name": "modelNumber", - "schema": "string", "writable": true }, { - "@type": "Property", + "@type": [ + "Current", + "Property" + ], "displayName": { - "en": "maintenance interval" + "en": "current rating" }, - "name": "maintenanceInterval", - "schema": "duration", + "name": "currentRating", + "schema": "double", + "unit": "ampere", "writable": true } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:ElectricalEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Electrical Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Endcap;1", + "@type": "Interface", + "displayName": { + "en": "Endcap" + }, + "description": { + "en": "An aisle section located at the end of an aisle for product display in a store." + }, + "extends": [ + "dtmi:com:willowinc:AisleSection;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:EnteringPersonAccessEvent;1", + "@type": "Interface", + "displayName": { + "en": "Entering Person Access Event" + }, + "extends": [ + "dtmi:com:willowinc:PersonAccessEvent;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:EquipmentCollection;1", + "@type": "Interface", + "displayName": { + "en": "Equipment Collection" + }, + "extends": [ + "dtmi:com:willowinc:AssetCollection;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Facade;1", + "@type": "Interface", + "displayName": { + "en": "Facade" + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" + ], + "@context": [ + "dtmi:dtdl:context;3" ] }, { @@ -14221,6 +12522,23 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:GeneralPurposeEquipment;1", + "@type": "Interface", + "displayName": { + "en": "General-purpose Equipment" + }, + "description": { + "en": "A type of equipment that can be used in a variety of applications or systems such as HVAC, refrigeration, or industrial processes. It may be standalone or a component that is part of another equipment." + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:GridRegion;1", "@type": "Interface", @@ -14272,56 +12590,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:HeatTracing;1", - "@type": "Interface", - "displayName": { - "en": "Heat Tracing" - }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "SelfRegulating", - "name": "SelfRegulating" - }, - { - "enumValue": "ConstantWattage", - "name": "ConstantWattage" - } - ], - "valueSchema": "string" - }, - "writable": true - }, - { - "@type": "Property", - "description": { - "en": "Watts/length unit" - }, - "displayName": { - "en": "power density" - }, - "name": "powerDensity", - "schema": "double", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" - ] - }, { "@id": "dtmi:com:willowinc:HVACCoolingMethod;1", "@type": "Interface", @@ -14892,64 +13160,587 @@ ], "name": "designLeavingAirTemperature", "displayName": { - "en": "Design Leaving Air Temperature" + "en": "Design Leaving Air Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Leaving Air Temperature Unit" + }, + "name": "designLeavingAirTemperatureUnit", + "annotates": "designLeavingAirTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "Design Flow" + }, + "name": "designFlow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Flow Unit" + }, + "name": "designFlowUnit", + "annotates": "designFlow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true + }, + { + "@type": [ + "Property", + "MassFlowRate" + ], + "displayName": { + "en": "Design Mass Flow" + }, + "name": "designMassFlow", + "schema": "double", + "unit": "massPoundPerHour", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Mass Flow Unit" + }, + "name": "designMassFlowUnit", + "annotates": "designMassFlow", + "overrides": "unit", + "schema": "MassFlowRateUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "Design Pressure Drop" + }, + "name": "designPressureDrop", + "schema": "double", + "unit": "kilopascal", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Pressure Drop Unit" + }, + "name": "designPressureDropUnit", + "annotates": "designPressureDrop", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACMixingBox;1", + "@type": "Interface", + "displayName": { + "en": "Mixing Box" + }, + "extends": [ + "dtmi:com:willowinc:AssetComponent;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "economizer" + }, + "name": "economizer", + "schema": "boolean", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACZone;1", + "@type": "Interface", + "displayName": { + "en": "HVAC Zone" + }, + "description": { + "en": "A zone which is conditioned with air from the HVAC system." + }, + "extends": [ + "dtmi:com:willowinc:Zone;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "isFedBy", + "displayName": { + "en": "is fed by" + }, + "properties": [ + { + "@type": "Property", + "name": "substance", + "displayName": { + "en": "Substance" + }, + "writable": true, + "schema": "dtmi:com:willowinc:HVACZoneIsFedBySubstances;1", + "comment": "Terminal Unit, Diffuser" + } + ] + } + ], + "schemas": [ + { + "@id": "dtmi:com:willowinc:HVACZoneIsFedBySubstances;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "Air", + "displayName": { + "en": "Air" + }, + "enumValue": "Air" + }, + { + "name": "OutsideAir", + "displayName": { + "en": "Outside Air" + }, + "enumValue": "OutsideAir" + }, + { + "name": "ReturnAir", + "displayName": { + "en": "Return Air" + }, + "enumValue": "ReturnAir" + }, + { + "name": "SupplyAir", + "displayName": { + "en": "Supply Air" + }, + "enumValue": "SupplyAir" + }, + { + "name": "ExhaustAir", + "displayName": { + "en": "Exhaust Air" + }, + "enumValue": "ExhaustAir" + }, + { + "name": "GreaseExhaustAir", + "displayName": { + "en": "Grease Exhaust Air" + }, + "enumValue": "GreaseExhaustAir" + }, + { + "name": "TransferAir", + "displayName": { + "en": "Transfer Air" + }, + "enumValue": "TransferAir" + } + ] + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ICTEquipment;1", + "@type": "Interface", + "displayName": { + "en": "ICT Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:IlluminanceZone;1", + "@type": "Interface", + "displayName": { + "en": "Illuminance Zone" + }, + "description": { + "en": "A zone which is being monitored for illuminance, e.g. daylight, generally to dynamically control light fixtures." + }, + "extends": [ + "dtmi:com:willowinc:Zone;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:KeyStorageCabinet;1", + "@type": "Interface", + "displayName": { + "en": "Key Storage Cabinet" + }, + "description": { + "en": "A cabinet used to securely store keys." + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalAsset;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LandscapedArea;1", + "@type": "Interface", + "displayName": { + "en": "Landscaped Area" + }, + "description": { + "en": "An area such as a parkway, planter, or flower bed that require landscape, irrigation, and/or weed control." + }, + "extends": [ + "dtmi:com:willowinc:OutdoorArea;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LaundryEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Laundry Equipment" + }, + "description": { + "en": "An applicance used to wash, dry, or organize laundry such as clothes or other textiles." + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Lease;1", + "@type": "Interface", + "displayName": { + "en": "Lease" + }, + "extends": [ + "dtmi:com:willowinc:ContractEvent;1" + ], + "contents": [ + { + "@type": "Property", + "description": { + "en": "Time at which a lease arrangement begins." + }, + "displayName": { + "en": "lease start" + }, + "name": "leaseStart", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "Time at which a lease arrangement ends." + }, + "displayName": { + "en": "lease end" + }, + "name": "leaseEnd", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Relationship", + "description": { + "en": "A lease is regulated by some contract entered into by the leasor and leasees." + }, + "displayName": { + "en": "regulated by" + }, + "name": "regulatedBy", + "target": "dtmi:com:willowinc:LeaseContract;1" + }, + { + "@type": "Relationship", + "description": { + "en": "The agent leasing out some leasable object, i.e., the owner of the asset." + }, + "displayName": { + "en": "leasor" + }, + "name": "leasor", + "target": "dtmi:com:willowinc:Agent;1" + }, + { + "@type": "Relationship", + "description": { + "en": "The agent leasing some leasable object, i.e., the user of the asset." + }, + "displayName": { + "en": "leasee" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "leasee", + "target": "dtmi:com:willowinc:Agent;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Relationship", + "description": { + "en": "The object (e.g., property, equipment, etc) that this a lease of." + }, "displayName": { - "en": "Design Leaving Air Temperature Unit" + "en": "lease of" }, - "name": "designLeavingAirTemperatureUnit", - "annotates": "designLeavingAirTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, + "name": "leaseOf" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LeaseContract;1", + "@type": "Interface", + "displayName": { + "en": "Lease Contract" + }, + "extends": [ + "dtmi:com:willowinc:ContractDocument;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LeavingPersonAccessEvent;1", + "@type": "Interface", + "displayName": { + "en": "Leaving Person Access Event" + }, + "extends": [ + "dtmi:com:willowinc:PersonAccessEvent;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LightingEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Lighting Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:LightingZone;1", + "@type": "Interface", + "displayName": { + "en": "Lighting Zone" + }, + "description": { + "en": "A zone which is being illuminated by one or more light fixtures." + }, + "extends": [ + "dtmi:com:willowinc:Zone;1" + ], + "contents": [ { - "@type": [ - "Property", - "VolumeFlowRate" - ], + "@type": "Relationship", + "name": "isFedBy", "displayName": { - "en": "Design Flow" + "en": "is fed by" }, - "name": "designFlow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true - }, + "properties": [ + { + "@type": "Property", + "name": "substance", + "displayName": { + "en": "Substance" + }, + "writable": true, + "schema": "dtmi:com:willowinc:LightingZoneIsFedBySubstances;1", + "comment": "Luminaire" + } + ] + } + ], + "schemas": [ { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@id": "dtmi:com:willowinc:LightingZoneIsFedBySubstances;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "Light", + "displayName": { + "en": "Light" + }, + "enumValue": "Light" + } + ] + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Limit;1", + "@type": "Interface", + "displayName": { + "en": "Limit" + }, + "description": { + "en": "The configuration setting that sets a limit on the equipment" + }, + "extends": [ + "dtmi:com:willowinc:Parameter;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:MaterialHandlingEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Material Handling Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:MeterEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Meter Equipment" + }, + "extends": [ + "dtmi:com:willowinc:Equipment;1" + ], + "contents": [ + { + "@type": "Relationship", "displayName": { - "en": "Design Flow Unit" + "en": "is linked to" }, - "name": "designFlowUnit", - "annotates": "designFlow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - }, + "name": "isLinkedTo", + "target": "dtmi:com:willowinc:UtilityAccount;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:MezzanineLevel;1", + "@type": "Interface", + "displayName": { + "en": "Mezzanine Level" + }, + "description": { + "en": "An intermediate level of a building between two main levels and typically partially open to the floor below." + }, + "extends": [ + "dtmi:com:willowinc:Level;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Mirror;1", + "@type": "Interface", + "displayName": { + "en": "Mirror" + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalAsset;1" + ], + "contents": [ { "@type": [ "Property", - "MassFlowRate" + "Length" ], "displayName": { - "en": "Design Mass Flow" + "en": "width" }, - "name": "designMassFlow", + "name": "width", "schema": "double", - "unit": "massPoundPerHour", + "unit": "millimetre", "writable": true }, { @@ -14959,25 +13750,25 @@ "Override" ], "displayName": { - "en": "Design Mass Flow Unit" + "en": "width unit" }, - "name": "designMassFlowUnit", - "annotates": "designMassFlow", + "name": "widthUnit", + "annotates": "width", "overrides": "unit", - "schema": "MassFlowRateUnit", + "schema": "LengthUnit", "writable": true }, { "@type": [ "Property", - "Pressure" + "Length" ], "displayName": { - "en": "Design Pressure Drop" + "en": "height" }, - "name": "designPressureDrop", + "name": "height", "schema": "double", - "unit": "kilopascal", + "unit": "millimetre", "writable": true }, { @@ -14987,12 +13778,12 @@ "Override" ], "displayName": { - "en": "Design Pressure Drop Unit" + "en": "height unit" }, - "name": "designPressureDropUnit", - "annotates": "designPressureDrop", + "name": "heightUnit", + "annotates": "height", "overrides": "unit", - "schema": "PressureUnit", + "schema": "LengthUnit", "writable": true } ], @@ -15004,132 +13795,67 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACMixingBox;1", + "@id": "dtmi:com:willowinc:ModeActuator;1", "@type": "Interface", "displayName": { - "en": "Mixing Box" + "en": "Mode Actuator" + }, + "description": { + "en": "A multi-state command which sets the mode of the equipment" }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "economizer" - }, - "name": "economizer", - "schema": "boolean", - "writable": true - } + "dtmi:com:willowinc:Actuator;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:HVACZone;1", + "@id": "dtmi:com:willowinc:MotorizedShoppingCart;1", "@type": "Interface", "displayName": { - "en": "HVAC Zone" + "en": "Motorized Shopping Cart" }, "description": { - "en": "A zone which is conditioned with air from the HVAC system." + "en": "A shopping cart equipped with an electric motor, navigational controls, and a seat." }, "extends": [ - "dtmi:com:willowinc:Zone;1" - ], - "contents": [ - { - "@type": "Relationship", - "name": "isFedBy", - "displayName": { - "en": "is fed by" - }, - "properties": [ - { - "@type": "Property", - "name": "substance", - "displayName": { - "en": "Substance" - }, - "writable": true, - "schema": "dtmi:com:willowinc:HVACZoneIsFedBySubstances;1", - "comment": "Terminal Unit, Diffuser" - } - ] - } + "dtmi:com:willowinc:Vehicle;1" ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:HVACZoneIsFedBySubstances;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "Air", - "displayName": { - "en": "Air" - }, - "enumValue": "Air" - }, - { - "name": "OutsideAir", - "displayName": { - "en": "Outside Air" - }, - "enumValue": "OutsideAir" - }, - { - "name": "ReturnAir", - "displayName": { - "en": "Return Air" - }, - "enumValue": "ReturnAir" - }, - { - "name": "SupplyAir", - "displayName": { - "en": "Supply Air" - }, - "enumValue": "SupplyAir" - }, - { - "name": "ExhaustAir", - "displayName": { - "en": "Exhaust Air" - }, - "enumValue": "ExhaustAir" - }, - { - "name": "GreaseExhaustAir", - "displayName": { - "en": "Grease Exhaust Air" - }, - "enumValue": "GreaseExhaustAir" - }, - { - "name": "TransferAir", - "displayName": { - "en": "Transfer Air" - }, - "enumValue": "TransferAir" - } - ] - } + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:MultiState;1", + "@type": "Interface", + "displayName": { + "en": "Multi-State" + }, + "description": { + "en": "The multi-state state of the equipment" + }, + "extends": [ + "dtmi:com:willowinc:State;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ICTEquipment;1", + "@id": "dtmi:com:willowinc:MultiStateActuator;1", "@type": "Interface", "displayName": { - "en": "ICT Equipment" + "en": "Multi-State Actuator" + }, + "description": { + "en": "A multi-state command which sets the state of the equipment" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:Actuator;1" ], "contents": [], "@context": [ @@ -15137,13 +13863,13 @@ ] }, { - "@id": "dtmi:com:willowinc:IlluminanceZone;1", + "@id": "dtmi:com:willowinc:OccupancyZone;1", "@type": "Interface", "displayName": { - "en": "Illuminance Zone" + "en": "Occupancy Zone" }, "description": { - "en": "A zone which is being monitored for illuminance, e.g. daylight, generally to dynamically control light fixtures." + "en": "A zone which is being monitored for occupancy." }, "extends": [ "dtmi:com:willowinc:Zone;1" @@ -15154,16 +13880,16 @@ ] }, { - "@id": "dtmi:com:willowinc:KeyStorageCabinet;1", + "@id": "dtmi:com:willowinc:Offset;1", "@type": "Interface", "displayName": { - "en": "Key Storage Cabinet" + "en": "Offset" }, "description": { - "en": "A cabinet used to securely store keys." + "en": "The desired offset value" }, "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" + "dtmi:com:willowinc:Parameter;1" ], "contents": [], "@context": [ @@ -15171,16 +13897,86 @@ ] }, { - "@id": "dtmi:com:willowinc:LandscapedArea;1", + "@id": "dtmi:com:willowinc:ParkingSpotCollection;1", "@type": "Interface", "displayName": { - "en": "Landscaped Area" + "en": "Parking Spot Collection" + }, + "extends": [ + "dtmi:com:willowinc:SpaceCollection;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PavementMarking;1", + "@type": "Interface", + "displayName": { + "en": "Pavement Marking" + }, + "extends": [ + "dtmi:com:willowinc:Pavement;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PavementSection;1", + "@type": "Interface", + "displayName": { + "en": "Pavement Section" + }, + "extends": [ + "dtmi:com:willowinc:Pavement;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PercentActuator;1", + "@type": "Interface", + "displayName": { + "en": "Percent Unity Actuator" }, "description": { - "en": "An area such as a parkway, planter, or flower bed that require landscape, irrigation, and/or weed control." + "en": "The percent command which sets the state of the equipment" }, "extends": [ - "dtmi:com:willowinc:OutdoorArea;1" + "dtmi:com:willowinc:Actuator;1" + ], + "contents": [ + { + "@type": "Property", + "name": "lastValue", + "displayName": { + "en": "Last Value" + }, + "writable": true, + "schema": "double", + "comment": "%" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PercentPerformanceIndicator;1", + "@type": "Interface", + "displayName": { + "en": "Percent Performance Indicator" + }, + "description": { + "en": "A performance indicator which has values that are a percent." + }, + "extends": [ + "dtmi:com:willowinc:PerformanceIndicator;1" ], "contents": [], "@context": [ @@ -15188,112 +13984,196 @@ ] }, { - "@id": "dtmi:com:willowinc:LaundryEquipment;1", + "@id": "dtmi:com:willowinc:PercentState;1", "@type": "Interface", "displayName": { - "en": "Laundry Equipment" + "en": "Percent Unity State" }, "description": { - "en": "An applicance used to wash, dry, or organize laundry such as clothes or other textiles." + "en": "The percent state of the equipment" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:State;1" + ], + "contents": [ + { + "@type": "Property", + "name": "lastValue", + "displayName": { + "en": "Last Value" + }, + "writable": true, + "schema": "double", + "comment": "%" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Pipe;1", + "@type": "Interface", + "displayName": { + "en": "Pipe" + }, + "extends": "dtmi:com:willowinc:DistributionAsset;1", + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "material" + }, + "name": "material", + "schema": "string", + "writable": true + }, + { + "@type": [ + "Property", + "Length" + ], + "displayName": { + "en": "diameter" + }, + "name": "diameter", + "schema": "double", + "unit": "millimetre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "diameter unit" + }, + "name": "diameterUnit", + "annotates": "diameter", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true + } ], - "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:Lease;1", + "@id": "dtmi:com:willowinc:PipeConnection;1", "@type": "Interface", "displayName": { - "en": "Lease" + "en": "Pipe connection" }, "extends": [ - "dtmi:com:willowinc:ContractEvent;1" + "dtmi:com:willowinc:AssetComponent;1" ], "contents": [ { - "@type": "Property", - "description": { - "en": "Time at which a lease arrangement begins." - }, + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "lease start" + "en": "outside diameter" }, - "name": "leaseStart", - "schema": "dateTime", + "name": "outsideDiameter", + "schema": "double", + "unit": "millimetre", "writable": true }, { - "@type": "Property", - "description": { - "en": "Time at which a lease arrangement ends." - }, + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "lease end" + "en": "outside diameter unit" }, - "name": "leaseEnd", - "schema": "dateTime", + "name": "outsideDiameterUnit", + "annotates": "outsideDiameter", + "overrides": "unit", + "schema": "LengthUnit", "writable": true }, { - "@type": "Relationship", - "description": { - "en": "A lease is regulated by some contract entered into by the leasor and leasees." - }, + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "regulated by" + "en": "nominal diameter" }, - "name": "regulatedBy", - "target": "dtmi:com:willowinc:LeaseContract;1" + "name": "nominalDiameter", + "schema": "double", + "unit": "millimetre", + "writable": true }, { - "@type": "Relationship", - "description": { - "en": "The agent leasing out some leasable object, i.e., the owner of the asset." - }, + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "leasor" + "en": "nominal diameter unit" }, - "name": "leasor", - "target": "dtmi:com:willowinc:Agent;1" + "name": "nominalDiameterUnit", + "annotates": "nominalDiameter", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true }, { - "@type": "Relationship", - "description": { - "en": "The agent leasing some leasable object, i.e., the user of the asset." - }, + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "leasee" + "en": "inside diameter" }, - "name": "leasee", - "target": "dtmi:com:willowinc:Agent;1" + "name": "insideDiameter", + "schema": "double", + "unit": "millimetre", + "writable": true }, { - "@type": "Relationship", - "description": { - "en": "The object (e.g., property, equipment, etc) that this a lease of." - }, + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "lease of" + "en": "inside diameter unit" }, - "name": "leaseOf" + "name": "insideDiameterUnit", + "annotates": "insideDiameter", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true } ], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:LeaseContract;1", + "@id": "dtmi:com:willowinc:PlumbingEquipment;1", "@type": "Interface", "displayName": { - "en": "Lease Contract" + "en": "Plumbing Equipment" }, "extends": [ - "dtmi:com:willowinc:ContractDocument;1" + "dtmi:com:willowinc:Equipment;1" ], "contents": [], "@context": [ @@ -15301,13 +14181,16 @@ ] }, { - "@id": "dtmi:com:willowinc:LeavingPersonAccessEvent;1", + "@id": "dtmi:com:willowinc:QuantityPerformanceIndicator;1", "@type": "Interface", "displayName": { - "en": "Leaving Person Access Event" + "en": "Quantity Performance Indicator" + }, + "description": { + "en": "A performance indicator which has values that are a quantity or ratio of quantities (i.e. Degrees Fahrenheit, Cubic Feet Per Minute Per Person)." }, "extends": [ - "dtmi:com:willowinc:PersonAccessEvent;1" + "dtmi:com:willowinc:PerformanceIndicator;1" ], "contents": [], "@context": [ @@ -15315,13 +14198,16 @@ ] }, { - "@id": "dtmi:com:willowinc:LightingEquipment;1", + "@id": "dtmi:com:willowinc:QuantitySensor;1", "@type": "Interface", "displayName": { - "en": "Lighting Equipment" + "en": "Quantity Sensor" + }, + "description": { + "en": "The feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:Sensor;1" ], "contents": [], "@context": [ @@ -15329,69 +14215,33 @@ ] }, { - "@id": "dtmi:com:willowinc:LightingZone;1", + "@id": "dtmi:com:willowinc:RatingPerformanceIndicator;1", "@type": "Interface", "displayName": { - "en": "Lighting Zone" + "en": "Rating Performance Indicator" }, "description": { - "en": "A zone which is being illuminated by one or more light fixtures." + "en": "A performance indicator which has values that are from a rating system." }, "extends": [ - "dtmi:com:willowinc:Zone;1" - ], - "contents": [ - { - "@type": "Relationship", - "name": "isFedBy", - "displayName": { - "en": "is fed by" - }, - "properties": [ - { - "@type": "Property", - "name": "substance", - "displayName": { - "en": "Substance" - }, - "writable": true, - "schema": "dtmi:com:willowinc:LightingZoneIsFedBySubstances;1", - "comment": "Luminaire" - } - ] - } - ], - "schemas": [ - { - "@id": "dtmi:com:willowinc:LightingZoneIsFedBySubstances;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "Light", - "displayName": { - "en": "Light" - }, - "enumValue": "Light" - } - ] - } + "dtmi:com:willowinc:PerformanceIndicator;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Limit;1", + "@id": "dtmi:com:willowinc:RatioPerformanceIndicator;1", "@type": "Interface", "displayName": { - "en": "Limit" + "en": "Ratio Performance Indicator" }, "description": { - "en": "The configuration setting that sets a limit on the equipment" + "en": "A performance indicator which has values that are a ratio." }, "extends": [ - "dtmi:com:willowinc:Parameter;1" + "dtmi:com:willowinc:PerformanceIndicator;1" ], "contents": [], "@context": [ @@ -15399,13 +14249,16 @@ ] }, { - "@id": "dtmi:com:willowinc:Manifold;1", + "@id": "dtmi:com:willowinc:RefrigerationEquipment;1", "@type": "Interface", "displayName": { - "en": "Manifold" + "en": "Refrigeration Equipment" + }, + "description": { + "en": "An asset that is designed to contain and use refrigerant gas to establish or maintain colder than ambient temperatures in a confined space." }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:Equipment;1" ], "contents": [], "@context": [ @@ -15413,13 +14266,16 @@ ] }, { - "@id": "dtmi:com:willowinc:MaterialHandlingEquipment;1", + "@id": "dtmi:com:willowinc:RestroomAccessory;1", "@type": "Interface", "displayName": { - "en": "Material Handling Equipment" + "en": "Restroom Accessory" + }, + "description": { + "en": "An device used by occupants generally located in a public restroom such as a hand dryer or soap dispenser." }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:ArchitecturalAsset;1" ], "contents": [], "@context": [ @@ -15427,39 +14283,30 @@ ] }, { - "@id": "dtmi:com:willowinc:MeterEquipment;1", + "@id": "dtmi:com:willowinc:RetailEquipment;1", "@type": "Interface", "displayName": { - "en": "Meter Equipment" + "en": "Retail Equipment" }, "extends": [ "dtmi:com:willowinc:Equipment;1" ], - "contents": [ - { - "@type": "Relationship", - "displayName": { - "en": "is linked to" - }, - "name": "isLinkedTo", - "target": "dtmi:com:willowinc:UtilityAccount;1" - } - ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:MezzanineLevel;1", + "@id": "dtmi:com:willowinc:RetailStoreAisle;1", "@type": "Interface", "displayName": { - "en": "Mezzanine Level" + "en": "Retail Store Aisle" }, "description": { - "en": "An intermediate level of a building between two main levels and typically partially open to the floor below." + "en": "An aisle in a retail store that separates product displays such as shelving or cases." }, "extends": [ - "dtmi:com:willowinc:Level;1" + "dtmi:com:willowinc:Aisle;1" ], "contents": [], "@context": [ @@ -15467,90 +14314,33 @@ ] }, { - "@id": "dtmi:com:willowinc:Mirror;1", + "@id": "dtmi:com:willowinc:RetailStoreZone;1", "@type": "Interface", "displayName": { - "en": "Mirror" + "en": "Retail Store Zone" + }, + "description": { + "en": "A zone within a retail store that has a defined purpose such as a department selling a catogory of product, a decompression zone at the entrance, or checkout area." }, "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" - ], - "contents": [ - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "width" - }, - "name": "width", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "width unit" - }, - "name": "widthUnit", - "annotates": "width", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "displayName": { - "en": "height" - }, - "name": "height", - "schema": "double", - "unit": "millimetre", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "height unit" - }, - "name": "heightUnit", - "annotates": "height", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } + "dtmi:com:willowinc:Zone;1" ], + "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ModeActuator;1", + "@id": "dtmi:com:willowinc:RoofArea;1", "@type": "Interface", "displayName": { - "en": "Mode Actuator" + "en": "Roof Area" }, "description": { - "en": "A multi-state command which sets the mode of the equipment" + "en": "An outdoor area that is located on the roof level of a building." }, "extends": [ - "dtmi:com:willowinc:Actuator;1" + "dtmi:com:willowinc:BuildingOutdoorArea;1" ], "contents": [], "@context": [ @@ -15558,33 +14348,29 @@ ] }, { - "@id": "dtmi:com:willowinc:MotorizedShoppingCart;1", + "@id": "dtmi:com:willowinc:RoofingMembrane;1", "@type": "Interface", "displayName": { - "en": "Motorized Shopping Cart" - }, - "description": { - "en": "A shopping cart equipped with an electric motor, navigational controls, and a seat." + "en": "RoofingMembrane" }, "extends": [ - "dtmi:com:willowinc:Vehicle;1" + "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:MultiState;1", + "@id": "dtmi:com:willowinc:RoofLevel;1", "@type": "Interface", "displayName": { - "en": "Multi-State" + "en": "Roof Level" }, "description": { - "en": "The multi-state state of the equipment" + "en": "A level of a building which covers the interior space below." }, "extends": [ - "dtmi:com:willowinc:State;1" + "dtmi:com:willowinc:Level;1" ], "contents": [], "@context": [ @@ -15592,16 +14378,13 @@ ] }, { - "@id": "dtmi:com:willowinc:MultiStateActuator;1", + "@id": "dtmi:com:willowinc:SafetyEquipment;1", "@type": "Interface", "displayName": { - "en": "Multi-State Actuator" - }, - "description": { - "en": "A multi-state command which sets the state of the equipment" + "en": "Safety Equipment" }, "extends": [ - "dtmi:com:willowinc:Actuator;1" + "dtmi:com:willowinc:Equipment;1" ], "contents": [], "@context": [ @@ -15609,16 +14392,16 @@ ] }, { - "@id": "dtmi:com:willowinc:OccupancyZone;1", + "@id": "dtmi:com:willowinc:SeatingAisle;1", "@type": "Interface", "displayName": { - "en": "Occupancy Zone" + "en": "Seating Aisle" }, "description": { - "en": "A zone which is being monitored for occupancy." + "en": "An aisle that separates sections of seats such as in a theater or stadium." }, "extends": [ - "dtmi:com:willowinc:Zone;1" + "dtmi:com:willowinc:Aisle;1" ], "contents": [], "@context": [ @@ -15626,16 +14409,13 @@ ] }, { - "@id": "dtmi:com:willowinc:Offset;1", + "@id": "dtmi:com:willowinc:SecurityEquipment;1", "@type": "Interface", "displayName": { - "en": "Offset" - }, - "description": { - "en": "The desired offset value" + "en": "Security Equipment" }, "extends": [ - "dtmi:com:willowinc:Parameter;1" + "dtmi:com:willowinc:Equipment;1" ], "contents": [], "@context": [ @@ -15643,13 +14423,16 @@ ] }, { - "@id": "dtmi:com:willowinc:ParkingSpotCollection;1", + "@id": "dtmi:com:willowinc:SecuritySafe;1", "@type": "Interface", "displayName": { - "en": "Parking Spot Collection" + "en": "Security Safe" + }, + "description": { + "en": "A lockable enclosure used to secure valuable objects." }, "extends": [ - "dtmi:com:willowinc:SpaceCollection;1" + "dtmi:com:willowinc:ArchitecturalAsset;1" ], "contents": [], "@context": [ @@ -15657,27 +14440,61 @@ ] }, { - "@id": "dtmi:com:willowinc:PavementMarking;1", + "@id": "dtmi:com:willowinc:ServiceAgreement;1", "@type": "Interface", "displayName": { - "en": "Pavement Marking" + "en": "Service Agreement" }, "extends": [ - "dtmi:com:willowinc:Pavement;1" + "dtmi:com:willowinc:ContractEvent;1" + ], + "contents": [ + { + "@type": "Relationship", + "description": { + "en": "An agreement is regulated by some contract document entered into by the service provider and client." + }, + "displayName": { + "en": "regulated by" + }, + "name": "regulatedBy", + "target": "dtmi:com:willowinc:ContractDocument;1" + }, + { + "@type": "Relationship", + "description": { + "en": "The agent performing the services for the client." + }, + "displayName": { + "en": "Service Provider" + }, + "name": "serviceProvider", + "target": "dtmi:com:willowinc:Agent;1" + }, + { + "@type": "Relationship", + "description": { + "en": "The agent purchasing the services of the service provider" + }, + "displayName": { + "en": "Client" + }, + "name": "client", + "target": "dtmi:com:willowinc:Agent;1" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:PavementSection;1", + "@id": "dtmi:com:willowinc:ServiceContract;1", "@type": "Interface", "displayName": { - "en": "Pavement Section" + "en": "Service Contract" }, "extends": [ - "dtmi:com:willowinc:Pavement;1" + "dtmi:com:willowinc:ContractDocument;1" ], "contents": [], "@context": [ @@ -15685,44 +14502,33 @@ ] }, { - "@id": "dtmi:com:willowinc:PercentActuator;1", + "@id": "dtmi:com:willowinc:Setpoint;1", "@type": "Interface", "displayName": { - "en": "Percent Unity Actuator" + "en": "Setpoint" }, "description": { - "en": "The percent command which sets the state of the equipment" + "en": "The configuration setting that functions as the desired value for control of the equipment" }, "extends": [ - "dtmi:com:willowinc:Actuator;1" - ], - "contents": [ - { - "@type": "Property", - "name": "lastValue", - "displayName": { - "en": "Last Value" - }, - "writable": true, - "schema": "double", - "comment": "%" - } + "dtmi:com:willowinc:Parameter;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:PercentPerformanceIndicator;1", + "@id": "dtmi:com:willowinc:SetpointOffset;1", "@type": "Interface", "displayName": { - "en": "Percent Performance Indicator" + "en": "Setpoint Offset" }, "description": { - "en": "A performance indicator which has values that are a percent." + "en": "The desired offset value" }, "extends": [ - "dtmi:com:willowinc:PerformanceIndicator;1" + "dtmi:com:willowinc:Parameter;1" ], "contents": [], "@context": [ @@ -15730,63 +14536,112 @@ ] }, { - "@id": "dtmi:com:willowinc:PercentState;1", + "@id": "dtmi:com:willowinc:ShopDrawing;1", "@type": "Interface", "displayName": { - "en": "Percent Unity State" - }, - "description": { - "en": "The percent state of the equipment" + "en": "Shop Drawing" }, "extends": [ - "dtmi:com:willowinc:State;1" + "dtmi:com:willowinc:Drawing;1" ], - "contents": [ - { - "@type": "Property", - "name": "lastValue", - "displayName": { - "en": "Last Value" - }, - "writable": true, - "schema": "double", - "comment": "%" - } + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Slab;1", + "@type": "Interface", + "displayName": { + "en": "Slab" + }, + "extends": [ + "dtmi:com:willowinc:StructuralBuildingComponent;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:Pipe;1", + "@id": "dtmi:com:willowinc:SpaceArea;1", "@type": "Interface", "displayName": { - "en": "Pipe" + "en": "Space Area" }, - "extends": "dtmi:com:willowinc:DistributionAsset;1", + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" + ], "contents": [ { - "@type": "Property", + "@type": [ + "Property", + "Area" + ], + "name": "grossArea", "displayName": { - "en": "material" + "en": "gross area" }, - "name": "material", - "schema": "string", + "writable": true, + "schema": "double", + "unit": "squareMetre" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "gross area unit" + }, + "name": "grossAreaUnit", + "annotates": "grossArea", + "overrides": "unit", + "schema": "AreaUnit", "writable": true }, { "@type": [ "Property", - "Length" + "Area" ], + "name": "usableArea", "displayName": { - "en": "diameter" + "en": "usable area" }, - "name": "diameter", + "writable": true, "schema": "double", - "unit": "millimetre", + "unit": "squareMetre" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "usable area unit" + }, + "name": "usableAreaUnit", + "annotates": "usableArea", + "overrides": "unit", + "schema": "AreaUnit", "writable": true }, + { + "@type": [ + "Property", + "Area" + ], + "name": "rentableArea", + "displayName": { + "en": "Rentable Area" + }, + "writable": true, + "schema": "double", + "unit": "squareMetre" + }, { "@type": [ "Property", @@ -15794,12 +14649,12 @@ "Override" ], "displayName": { - "en": "diameter unit" + "en": "rentable area unit" }, - "name": "diameterUnit", - "annotates": "diameter", + "name": "rentableAreaUnit", + "annotates": "rentableArea", "overrides": "unit", - "schema": "LengthUnit", + "schema": "AreaUnit", "writable": true } ], @@ -15811,261 +14666,314 @@ ] }, { - "@id": "dtmi:com:willowinc:PipeConnection;1", + "@id": "dtmi:com:willowinc:SpaceCapacity;1", "@type": "Interface", "displayName": { - "en": "Pipe connection" + "en": "Space Capacity" }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:SpaceComponent;1" + ], + "contents": [ + { + "@type": "Property", + "name": "maxOccupancy", + "displayName": { + "en": "Maximum Occupancy" + }, + "writable": true, + "schema": "integer", + "comment": "Building Code Occupancy" + }, + { + "@type": "Property", + "name": "seatingCapacity", + "displayName": { + "en": "Seating Capacity" + }, + "writable": true, + "schema": "integer", + "comment": "Count of seats" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:SpaceCO2;1", + "@type": "Interface", + "displayName": { + "en": "Space CO2" + }, + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" ], "contents": [ { "@type": [ "Property", - "Length" + "RelativeDensity" ], + "name": "CO2Sensor", "displayName": { - "en": "outside diameter" + "en": "CO2 Sensor" }, - "name": "outsideDiameter", + "writable": true, "schema": "double", - "unit": "millimetre", - "writable": true + "unit": "partsPerMillion" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "RelativeDensity" ], + "name": "CO2Setpoint", "displayName": { - "en": "outside diameter unit" + "en": "CO2 Setpoint" }, - "name": "outsideDiameterUnit", - "annotates": "outsideDiameter", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "writable": true, + "schema": "double", + "unit": "partsPerMillion" }, { "@type": [ "Property", - "Length" + "RelativeDensity" ], + "name": "CO2Delta", "displayName": { - "en": "nominal diameter" + "en": "CO2 Delta" }, - "name": "nominalDiameter", + "writable": true, "schema": "double", - "unit": "millimetre", - "writable": true - }, + "unit": "partsPerMillion" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:SpaceHumidity;1", + "@type": "Interface", + "displayName": { + "en": "Space Humidity" + }, + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" + ], + "contents": [ { "@type": [ "Property", - "ValueAnnotation", - "Override" + "RelativeHumidity" ], + "name": "humiditySensor", "displayName": { - "en": "nominal diameter unit" + "en": "Humidity Sensor" }, - "name": "nominalDiameterUnit", - "annotates": "nominalDiameter", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "writable": true, + "schema": "double", + "unit": "percent" }, { "@type": [ "Property", - "Length" + "RelativeHumidity" ], + "name": "humiditySetpoint", "displayName": { - "en": "inside diameter" + "en": "Humidity Setpoint" }, - "name": "insideDiameter", + "writable": true, "schema": "double", - "unit": "millimetre", - "writable": true + "unit": "percent" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "RelativeHumidity" ], + "name": "humidityDelta", "displayName": { - "en": "inside diameter unit" + "en": "Humidity Delta" }, - "name": "insideDiameterUnit", - "annotates": "insideDiameter", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "writable": true, + "schema": "double", + "unit": "percent" } ], "@context": [ "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Plumbing Equipment" - }, - "extends": [ - "dtmi:com:willowinc:Equipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:extension:quantitativeTypes;1" ] }, { - "@id": "dtmi:com:willowinc:Pump;1", + "@id": "dtmi:com:willowinc:SpaceOccupancy;1", "@type": "Interface", "displayName": { - "en": "Pump" + "en": "Space Occupancy" }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:SpaceComponent;1" ], "contents": [ { "@type": "Property", + "name": "isOccupied", "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "vertical", - "name": "vertical" - }, - { - "enumValue": "inline", - "name": "inline" - } - ], - "valueSchema": "string" + "en": "Is Occupied" }, - "writable": true + "writable": true, + "schema": "boolean" }, { "@type": "Property", + "name": "peopleCount", "displayName": { - "en": "pumping media" + "en": "People Count" }, - "name": "pumpingMedia", - "schema": "string", - "writable": true + "writable": true, + "schema": "double" }, { - "@type": [ - "Power", - "Property" - ], + "@type": "Property", + "name": "hasInferredOccupancy", "displayName": { - "en": "motor power" + "en": "Inferred Occupancy" }, - "name": "motorPower", - "schema": "double", - "unit": "horsepower", - "writable": true + "writable": true, + "schema": "boolean" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "TimeSpan" ], + "name": "dwellTimeAverage", "displayName": { - "en": "motor power unit" + "en": "Dwell Time Average" }, - "name": "motorPowerUnit", - "annotates": "motorPower", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "writable": true, + "schema": "double", + "unit": "second", + "comment": "Average time spent in the space by all individuals in the space" }, { "@type": [ - "Power", - "Property" + "Property", + "TimeSpan" ], + "name": "entranceDwellTime", "displayName": { - "en": "brake horsepower" + "en": "Entrance Dwell Time" }, - "name": "brakeHorsepower", + "writable": true, "schema": "double", - "unit": "horsepower", - "writable": true + "unit": "second", + "comment": "Wait time to enter the space" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "TimeSpan" ], + "name": "exitDwellTime", "displayName": { - "en": "brake horsepower unit" + "en": "Exit Dwell Time" }, - "name": "brakeHorsepowerUnit", - "annotates": "brakeHorsepower", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "writable": true, + "schema": "double", + "unit": "second", + "comment": "Wait time to exit the space" }, { - "@type": [ - "Property", - "Pressure" - ], + "@type": "Property", + "name": "entranceRate", "displayName": { - "en": "pressure capacity" + "en": "Entrance Rate" }, - "name": "pressureCapacity", + "writable": true, "schema": "double", - "unit": "bar", - "writable": true + "comment": "e.g. people per second" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "exitRate", "displayName": { - "en": "pressure capacity unit" + "en": "Exit Rate" }, - "name": "pressureCapacityUnit", - "annotates": "pressureCapacity", - "overrides": "unit", - "schema": "PressureUnit", - "writable": true + "writable": true, + "schema": "double", + "comment": "e.g. people per second" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:SpaceOpening;1", + "@type": "Interface", + "displayName": { + "en": "Space Opening" + }, + "description": { + "en": "An entry or exit which enables people to pass between spaces. The opening may be physical, i.e. door or turnstile, or nonpysical such as an open transition between rooms." + }, + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" + ], + "contents": [ + { + "@type": "Relationship", + "displayName": { + "en": "is entry to" + }, + "name": "isEntryTo", + "target": "dtmi:com:willowinc:Space;1" }, + { + "@type": "Relationship", + "displayName": { + "en": "is exit from" + }, + "name": "isExitFrom", + "target": "dtmi:com:willowinc:Space;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:SpaceTemperature;1", + "@type": "Interface", + "displayName": { + "en": "Space Temperature" + }, + "extends": [ + "dtmi:com:willowinc:SpaceComponent;1" + ], + "contents": [ { "@type": [ "Property", - "Length" + "Temperature" ], - "description": { - "en": "rated head" - }, + "name": "temperatureSensor", "displayName": { - "en": "head capacity" + "en": "Temperature Sensor" }, - "name": "headCapacity", + "writable": true, "schema": "double", - "unit": "metre", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -16074,26 +14982,26 @@ "Override" ], "displayName": { - "en": "head capacity unit" + "en": "temperature sensor unit" }, - "name": "headCapacityUnit", - "annotates": "headCapacity", + "name": "temperatureSensorUnit", + "annotates": "temperatureSensor", "overrides": "unit", - "schema": "LengthUnit", + "schema": "TemperatureUnit", "writable": true }, { "@type": [ "Property", - "VolumeFlowRate" + "Temperature" ], + "name": "temperatureSetpoint", "displayName": { - "en": "flow capacity" + "en": "Temperature Setpoint" }, - "name": "flowCapacity", + "writable": true, "schema": "double", - "unit": "litrePerSecond", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -16102,26 +15010,26 @@ "Override" ], "displayName": { - "en": "flow capacity unit" + "en": "temperature setpoint unit" }, - "name": "flowCapacityUnit", - "annotates": "flowCapacity", + "name": "temperatureSetpointUnit", + "annotates": "temperatureSetpoint", "overrides": "unit", - "schema": "VolumeFlowRateUnit", + "schema": "TemperatureUnit", "writable": true }, { "@type": [ "Property", - "Frequency" + "Temperature" ], + "name": "temperatureDelta", "displayName": { - "en": "maximum VFD frequency" + "en": "Temperature Delta" }, - "name": "maxVFDFrequency", + "writable": true, "schema": "double", - "unit": "hertz", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -16130,25 +15038,43 @@ "Override" ], "displayName": { - "en": "maximum VFD frequency unit" + "en": "temperature delta unit" }, - "name": "maxVFDFrequencyUnit", - "annotates": "maxVFDFrequency", + "name": "temperatureDeltaUnit", + "annotates": "temperatureDelta", "overrides": "unit", - "schema": "FrequencyUnit", + "schema": "TemperatureUnit", "writable": true - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Stairway;1", + "@type": "Interface", + "displayName": { + "en": "Stairway" + }, + "extends": [ + "dtmi:com:willowinc:StructuralBuildingComponent;1" + ], + "contents": [ { "@type": [ "Property", - "Frequency" + "Length" ], "displayName": { - "en": "design VFD frequency" + "en": "step width" }, - "name": "designVFDFrequency", + "name": "stepWidth", "schema": "double", - "unit": "hertz", + "unit": "millimetre", "writable": true }, { @@ -16158,29 +15084,29 @@ "Override" ], "displayName": { - "en": "design VFD frequency unit" + "en": "step width unit" }, - "name": "designVFDFrequencyUnit", - "annotates": "designVFDFrequency", + "name": "stepWidthUnit", + "annotates": "stepWidth", "overrides": "unit", - "schema": "FrequencyUnit", + "schema": "LengthUnit", "writable": true }, { "@type": "Component", + "name": "capacity", "displayName": { - "en": "pipe outlet" + "en": "Capacity" }, - "name": "pipeOutlet", - "schema": "dtmi:com:willowinc:PipeConnection;1" + "schema": "dtmi:com:willowinc:SpaceCapacity;1" }, { "@type": "Component", + "name": "occupancy", "displayName": { - "en": "pipe inlet" + "en": "Occupancy" }, - "name": "pipeInlet", - "schema": "dtmi:com:willowinc:PipeConnection;1" + "schema": "dtmi:com:willowinc:SpaceOccupancy;1" } ], "@context": [ @@ -16191,16 +15117,13 @@ ] }, { - "@id": "dtmi:com:willowinc:QuantityPerformanceIndicator;1", + "@id": "dtmi:com:willowinc:StartupReport;1", "@type": "Interface", "displayName": { - "en": "Quantity Performance Indicator" - }, - "description": { - "en": "A performance indicator which has values that are a quantity or ratio of quantities (i.e. Degrees Fahrenheit, Cubic Feet Per Minute Per Person)." + "en": "Start-up Report" }, "extends": [ - "dtmi:com:willowinc:PerformanceIndicator;1" + "dtmi:com:willowinc:CommissioningDocument;1" ], "contents": [], "@context": [ @@ -16208,13 +15131,13 @@ ] }, { - "@id": "dtmi:com:willowinc:QuantitySensor;1", + "@id": "dtmi:com:willowinc:StateSensor;1", "@type": "Interface", "displayName": { - "en": "Quantity Sensor" + "en": "State Sensor" }, "description": { - "en": "The feedback from a sensor" + "en": "The state feedback from a sensor" }, "extends": [ "dtmi:com:willowinc:Sensor;1" @@ -16225,50 +15148,39 @@ ] }, { - "@id": "dtmi:com:willowinc:RatingPerformanceIndicator;1", + "@id": "dtmi:com:willowinc:StructuralBeam;1", "@type": "Interface", "displayName": { - "en": "Rating Performance Indicator" - }, - "description": { - "en": "A performance indicator which has values that are from a rating system." + "en": "Structural Beam" }, "extends": [ - "dtmi:com:willowinc:PerformanceIndicator;1" + "dtmi:com:willowinc:StructuralBuildingComponent;1" ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:RatioPerformanceIndicator;1", + "@id": "dtmi:com:willowinc:StructuralColumn;1", "@type": "Interface", "displayName": { - "en": "Ratio Performance Indicator" - }, - "description": { - "en": "A performance indicator which has values that are a ratio." + "en": "Structural Column" }, "extends": [ - "dtmi:com:willowinc:PerformanceIndicator;1" + "dtmi:com:willowinc:StructuralBuildingComponent;1" ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:RefrigerationEquipment;1", + "@id": "dtmi:com:willowinc:StructuralFoundation;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Equipment" - }, - "description": { - "en": "An asset that is designed to contain and use refrigerant gas to establish or maintain colder than ambient temperatures in a confined space." + "en": "Structural Foundation" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:StructuralBuildingComponent;1" ], "contents": [], "@context": [ @@ -16276,16 +15188,13 @@ ] }, { - "@id": "dtmi:com:willowinc:RestroomAccessory;1", + "@id": "dtmi:com:willowinc:StructuralShaft;1", "@type": "Interface", "displayName": { - "en": "Restroom Accessory" - }, - "description": { - "en": "An device used by occupants generally located in a public restroom such as a hand dryer or soap dispenser." + "en": "Structural Shaft" }, "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" + "dtmi:com:willowinc:StructuralBuildingComponent;1" ], "contents": [], "@context": [ @@ -16293,10 +15202,10 @@ ] }, { - "@id": "dtmi:com:willowinc:RetailEquipment;1", + "@id": "dtmi:com:willowinc:SwimmingPoolEquipment;1", "@type": "Interface", "displayName": { - "en": "Retail Equipment" + "en": "Swimming Pool Equipment" }, "extends": [ "dtmi:com:willowinc:Equipment;1" @@ -16307,33 +15216,162 @@ ] }, { - "@id": "dtmi:com:willowinc:RetailStoreAisle;1", + "@id": "dtmi:com:willowinc:Table;1", "@type": "Interface", "displayName": { - "en": "Retail Store Aisle" - }, - "description": { - "en": "An aisle in a retail store that separates product displays such as shelving or cases." + "en": "Table" }, "extends": [ - "dtmi:com:willowinc:Aisle;1" + "dtmi:com:willowinc:Furniture;1" + ], + "contents": [ + { + "@type": "Property", + "name": "type", + "displayName": { + "en": "Type" + }, + "writable": true, + "schema": "string", + "comment": "basic, sit/stand" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:RetailStoreZone;1", + "@id": "dtmi:com:willowinc:TenantUnit;1", "@type": "Interface", "displayName": { - "en": "Retail Store Zone" + "en": "Tenant Unit" }, - "description": { - "en": "A zone within a retail store that has a defined purpose such as a department selling a catogory of product, a decompression zone at the entrance, or checkout area." + "extends": [ + "dtmi:com:willowinc:SpaceCollection;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "hasLease", + "target": "dtmi:com:willowinc:Lease;1" + }, + { + "@type": "Component", + "displayName": { + "en": "address" + }, + "name": "address", + "schema": "dtmi:com:willowinc:Address;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Electricity Price Rate" + }, + "name": "electricityPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Electricity Emission Factor" + }, + "name": "electricityEmissionFactor", + "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Natural Gas Price Rate" + }, + "name": "naturalGasPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Chilled Water Price Rate" + }, + "name": "chilledWaterPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Steam Price Rate" + }, + "name": "steamPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" + }, + { + "@type": "Component", + "displayName": { + "en": "Domestic Water Price Rate" + }, + "name": "domesticWaterPriceRate", + "schema": "dtmi:com:willowinc:UtilityRate;1" + }, + { + "@type": "Component", + "name": "area", + "displayName": { + "en": "Area" + }, + "schema": "dtmi:com:willowinc:SpaceArea;1" + }, + { + "@type": "Component", + "name": "capacity", + "displayName": { + "en": "Capacity" + }, + "schema": "dtmi:com:willowinc:SpaceCapacity;1" + }, + { + "@type": "Component", + "name": "temperature", + "displayName": { + "en": "Temperature" + }, + "schema": "dtmi:com:willowinc:SpaceTemperature;1" + }, + { + "@type": "Component", + "name": "humidity", + "displayName": { + "en": "Humidity Average" + }, + "schema": "dtmi:com:willowinc:SpaceHumidity;1" + }, + { + "@type": "Component", + "name": "CO2", + "displayName": { + "en": "CO2" + }, + "schema": "dtmi:com:willowinc:SpaceCO2;1" + }, + { + "@type": "Component", + "name": "occupancy", + "displayName": { + "en": "Occupancy" + }, + "schema": "dtmi:com:willowinc:SpaceOccupancy;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:TestingAndBalancingReport;1", + "@type": "Interface", + "displayName": { + "en": "Testing and Balancing Report" }, "extends": [ - "dtmi:com:willowinc:Zone;1" + "dtmi:com:willowinc:CommissioningDocument;1" ], "contents": [], "@context": [ @@ -16341,16 +15379,16 @@ ] }, { - "@id": "dtmi:com:willowinc:RoofArea;1", + "@id": "dtmi:com:willowinc:ToiletAccessory;1", "@type": "Interface", "displayName": { - "en": "Roof Area" + "en": "Toilet Accessory" }, "description": { - "en": "An outdoor area that is located on the roof level of a building." + "en": "An device co-located with a toilet such as a toilet paper dispenser or toilet partition." }, "extends": [ - "dtmi:com:willowinc:BuildingOutdoorArea;1" + "dtmi:com:willowinc:ArchitecturalAsset;1" ], "contents": [], "@context": [ @@ -16358,40 +15396,40 @@ ] }, { - "@id": "dtmi:com:willowinc:RoofingMembrane;1", + "@id": "dtmi:com:willowinc:VehicleEquipment;1", "@type": "Interface", "displayName": { - "en": "RoofingMembrane" + "en": "Vehicle Equipment" + }, + "description": { + "en": "Equipment used to aid in the movement and operations of vehicles such as access control, parking, and dock loading." }, "extends": [ - "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" + "dtmi:com:willowinc:Equipment;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:RoofLevel;1", + "@id": "dtmi:com:willowinc:Wall;1", "@type": "Interface", "displayName": { - "en": "Roof Level" - }, - "description": { - "en": "A level of a building which covers the interior space below." + "en": "Wall" }, "extends": [ - "dtmi:com:willowinc:Level;1" + "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SafetyEquipment;1", + "@id": "dtmi:com:willowinc:WasteHandlingEquipment;1", "@type": "Interface", "displayName": { - "en": "Safety Equipment" + "en": "Waste Handling Equipment" }, "extends": [ "dtmi:com:willowinc:Equipment;1" @@ -16402,16 +15440,16 @@ ] }, { - "@id": "dtmi:com:willowinc:SeatingAisle;1", + "@id": "dtmi:com:willowinc:Workspace;1", "@type": "Interface", "displayName": { - "en": "Seating Aisle" + "en": "Workspace" }, "description": { - "en": "An aisle that separates sections of seats such as in a theater or stadium." + "en": "A space which is being used for work and typically contains an asset such as a workstation." }, "extends": [ - "dtmi:com:willowinc:Aisle;1" + "dtmi:com:willowinc:Zone;1" ], "contents": [], "@context": [ @@ -16419,30 +15457,41 @@ ] }, { - "@id": "dtmi:com:willowinc:SecurityEquipment;1", + "@id": "dtmi:com:willowinc:Workstation;1", "@type": "Interface", "displayName": { - "en": "Security Equipment" + "en": "Workstation" }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:Furniture;1" + ], + "contents": [ + { + "@type": "Property", + "name": "type", + "displayName": { + "en": "Type" + }, + "writable": true, + "schema": "string", + "comment": "basic, sit/stand" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SecuritySafe;1", + "@id": "dtmi:com:willowinc:AccelerationSensor;1", "@type": "Interface", "displayName": { - "en": "Security Safe" + "en": "Acceleration Sensor" }, "description": { - "en": "A lockable enclosure used to secure valuable objects." + "en": "The acceleration feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -16450,61 +15499,27 @@ ] }, { - "@id": "dtmi:com:willowinc:ServiceAgreement;1", + "@id": "dtmi:com:willowinc:AccessControlEquipment;1", "@type": "Interface", "displayName": { - "en": "Service Agreement" + "en": "Access Control Equipment" }, "extends": [ - "dtmi:com:willowinc:ContractEvent;1" - ], - "contents": [ - { - "@type": "Relationship", - "description": { - "en": "An agreement is regulated by some contract document entered into by the service provider and client." - }, - "displayName": { - "en": "regulated by" - }, - "name": "regulatedBy", - "target": "dtmi:com:willowinc:ContractDocument;1" - }, - { - "@type": "Relationship", - "description": { - "en": "The agent performing the services for the client." - }, - "displayName": { - "en": "Service Provider" - }, - "name": "serviceProvider", - "target": "dtmi:com:willowinc:Agent;1" - }, - { - "@type": "Relationship", - "description": { - "en": "The agent purchasing the services of the service provider" - }, - "displayName": { - "en": "Client" - }, - "name": "client", - "target": "dtmi:com:willowinc:Agent;1" - } + "dtmi:com:willowinc:SecurityEquipment;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ServiceContract;1", + "@id": "dtmi:com:willowinc:AccessPanel;1", "@type": "Interface", "displayName": { - "en": "Service Contract" + "en": "Access Panel" }, "extends": [ - "dtmi:com:willowinc:ContractDocument;1" + "dtmi:com:willowinc:BarrierAsset;1" ], "contents": [], "@context": [ @@ -16512,16 +15527,16 @@ ] }, { - "@id": "dtmi:com:willowinc:Setpoint;1", + "@id": "dtmi:com:willowinc:AirAdmittanceValve;1", "@type": "Interface", "displayName": { - "en": "Setpoint" + "en": "Air Admittance Valve" }, "description": { - "en": "The configuration setting that functions as the desired value for control of the equipment" + "en": "A one-way mechanical valve that is installed locally at the site of a plumbing fixture, allowing proper venting to occur without a connection to a larger venting system and stack vent (a.k.a. Studor Vent)" }, "extends": [ - "dtmi:com:willowinc:Parameter;1" + "dtmi:com:willowinc:PlumbingEquipment;1" ], "contents": [], "@context": [ @@ -16529,16 +15544,16 @@ ] }, { - "@id": "dtmi:com:willowinc:SetpointOffset;1", + "@id": "dtmi:com:willowinc:AirChangesPerHour;1", "@type": "Interface", "displayName": { - "en": "Setpoint Offset" + "en": "Air Changes Per Hour" }, "description": { - "en": "The desired offset value" + "en": "The number of times that the total air volume of a space is removed and replaced with ventilation air in an hour, a.k.a. Air Change Rate." }, "extends": [ - "dtmi:com:willowinc:Parameter;1" + "dtmi:com:willowinc:QuantityPerformanceIndicator;1" ], "contents": [], "@context": [ @@ -16546,13 +15561,16 @@ ] }, { - "@id": "dtmi:com:willowinc:ShopDrawing;1", + "@id": "dtmi:com:willowinc:AircraftStandState;1", "@type": "Interface", "displayName": { - "en": "Shop Drawing" + "en": "Aircraft Stand State" + }, + "description": { + "en": "The staus of an aircraft stand such as occupied, free, or prepared." }, "extends": [ - "dtmi:com:willowinc:Drawing;1" + "dtmi:com:willowinc:MultiState;1" ], "contents": [], "@context": [ @@ -16560,13 +15578,39 @@ ] }, { - "@id": "dtmi:com:willowinc:Slab;1", + "@id": "dtmi:com:willowinc:AirFilter;1", "@type": "Interface", "displayName": { - "en": "Slab" + "en": "Air Filter" }, "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [ + { + "@type": "Component", + "displayName": { + "en": "fan" + }, + "name": "fan", + "schema": "dtmi:com:willowinc:Fan;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AirFlowPerPerson;1", + "@type": "Interface", + "displayName": { + "en": "Air Flow Per Person" + }, + "description": { + "en": "A performance indicator which has values that are a volumetric air flow per person quantity (i.e. CFM/person, LPS/person, CMH/person)." + }, + "extends": [ + "dtmi:com:willowinc:QuantityPerformanceIndicator;1" ], "contents": [], "@context": [ @@ -16574,27 +15618,153 @@ ] }, { - "@id": "dtmi:com:willowinc:SpaceArea;1", + "@id": "dtmi:com:willowinc:AirHandlingUnit;1", "@type": "Interface", "displayName": { - "en": "Space Area" + "en": "Air Handling Unit" + }, + "description": { + "en": "An enclosure with a fan or fans and other necessary components that delivers air to a space via ductwork and performs one or more of the functions of cleaning, heating, cooling, humidifying, dehumidifying, ventilating or circulating the air." }, "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" + "dtmi:com:willowinc:HVACEquipment;1" ], "contents": [ + { + "@type": "Property", + "displayName": { + "en": "zone delivery" + }, + "name": "zoneDelivery", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "VAVZone", + "name": "VAVZone" + }, + { + "enumValue": "MultiZone", + "name": "MultiZone" + }, + { + "enumValue": "DirectZone", + "name": "DirectZone" + }, + { + "enumValue": "ChilledBeamZone", + "name": "ChilledBeamZone" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "ventilation strategy" + }, + "name": "ventilationStrategy", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "None", + "name": "None" + }, + { + "enumValue": "Economizing", + "name": "Economizing" + }, + { + "enumValue": "DemandEconomizing", + "name": "DemandEconomizing" + }, + { + "enumValue": "Demand", + "name": "Demand" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "ventilation configuration" + }, + "name": "ventilationConfiguration", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "OA", + "name": "OA" + }, + { + "enumValue": "None", + "name": "None" + }, + { + "enumValue": "MixedAir", + "name": "MixedAir" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "refrigerant type" + }, + "name": "refrigerantType", + "schema": "string", + "writable": true + }, + { + "@type": [ + "Property", + "EnergyRate" + ], + "displayName": { + "en": "nominal heating capacity" + }, + "name": "nominalHeatingCapacity", + "schema": "double", + "unit": "britishThermalUnitPerHour", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "nominal heating capacity unit" + }, + "name": "nominalHeatingCapacityUnit", + "annotates": "nominalHeatingCapacity", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, { "@type": [ "Property", - "Area" + "EnergyRate" ], - "name": "grossArea", "displayName": { - "en": "gross area" + "en": "nominal cooling capacity" }, - "writable": true, + "name": "nominalCoolingCapacity", "schema": "double", - "unit": "squareMetre" + "unit": "britishThermalUnitPerHour", + "writable": true }, { "@type": [ @@ -16603,26 +15773,26 @@ "Override" ], "displayName": { - "en": "gross area unit" + "en": "nominal cooling capacity unit" }, - "name": "grossAreaUnit", - "annotates": "grossArea", + "name": "nominalCoolingCapacityUnit", + "annotates": "nominalCoolingCapacity", "overrides": "unit", - "schema": "AreaUnit", + "schema": "PowerUnit", "writable": true }, { "@type": [ "Property", - "Area" + "EnergyRate" ], - "name": "usableArea", "displayName": { - "en": "usable area" + "en": "net sensible heating capacity" }, - "writable": true, + "name": "netSensibleHeatingCapacity", "schema": "double", - "unit": "squareMetre" + "unit": "britishThermalUnitPerHour", + "writable": true }, { "@type": [ @@ -16631,26 +15801,26 @@ "Override" ], "displayName": { - "en": "usable area unit" + "en": "net sensible heating capacity unit" }, - "name": "usableAreaUnit", - "annotates": "usableArea", + "name": "netSensibleHeatingCapacityUnit", + "annotates": "netSensibleHeatingCapacity", "overrides": "unit", - "schema": "AreaUnit", + "schema": "PowerUnit", "writable": true }, { "@type": [ "Property", - "Area" + "EnergyRate" ], - "name": "rentableArea", "displayName": { - "en": "Rentable Area" + "en": "net sensible cooling capacity" }, - "writable": true, + "name": "netSensibleCoolingCapacity", "schema": "double", - "unit": "squareMetre" + "unit": "britishThermalUnitPerHour", + "writable": true }, { "@type": [ @@ -16659,331 +15829,688 @@ "Override" ], "displayName": { - "en": "rentable area unit" + "en": "net sensible cooling capacity unit" }, - "name": "rentableAreaUnit", - "annotates": "rentableArea", + "name": "netSensibleCoolingCapacityUnit", + "annotates": "netSensibleCoolingCapacity", "overrides": "unit", - "schema": "AreaUnit", + "schema": "PowerUnit", "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:SpaceCapacity;1", - "@type": "Interface", - "displayName": { - "en": "Space Capacity" - }, - "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" - ], - "contents": [ + }, { "@type": "Property", - "name": "maxOccupancy", "displayName": { - "en": "Maximum Occupancy" + "en": "nominal energy efficiency ratio (EER)" }, - "writable": true, - "schema": "integer", - "comment": "Building Code Occupancy" + "name": "nominalEnergyEfficiencyRatio", + "schema": "double", + "writable": true }, { - "@type": "Property", - "name": "seatingCapacity", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "Seating Capacity" + "en": "Design Minimum Outside Airflow" }, - "writable": true, - "schema": "integer", - "comment": "Count of seats" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:SpaceCO2;1", - "@type": "Interface", - "displayName": { - "en": "Space CO2" - }, - "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" - ], - "contents": [ + "name": "designMinOutsideAirflow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, { "@type": [ "Property", - "RelativeDensity" + "ValueAnnotation", + "Override" ], - "name": "CO2Sensor", "displayName": { - "en": "CO2 Sensor" + "en": "Design Minimum Outside Airflow Unit" }, - "writable": true, - "schema": "double", - "unit": "partsPerMillion" + "name": "designMinOutsideAirflowUnit", + "annotates": "designMinOutsideAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true }, { "@type": [ "Property", - "RelativeDensity" + "Temperature" ], - "name": "CO2Setpoint", + "name": "designMaxEnteringAirTemperature", "displayName": { - "en": "CO2 Setpoint" + "en": "Design Maximum Entering Air Temperature" }, - "writable": true, "schema": "double", - "unit": "partsPerMillion" + "unit": "degreeCelsius" }, { "@type": [ "Property", - "RelativeDensity" + "ValueAnnotation", + "Override" ], - "name": "CO2Delta", "displayName": { - "en": "CO2 Delta" + "en": "Design Maximum Entering Air Temperature Unit" }, - "writable": true, - "schema": "double", - "unit": "partsPerMillion" + "name": "designMaxEnteringAirTemperatureUnit", + "annotates": "designMaxEnteringAirTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": "Property", + "displayName": { + "en": "humidification method" + }, + "name": "humidificationMethod", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Ultrasonic", + "name": "Ultrasonic" + }, + { + "enumValue": "Steam", + "name": "Steam" + }, + { + "enumValue": "None", + "name": "None" + }, + { + "enumValue": "Adiabatic", + "name": "Adiabatic" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "filter type" + }, + "name": "filterType", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "discharge ductwork configuration" + }, + "name": "dischargeDuctworkConfiguration", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "TripleDuct", + "name": "TripleDuct" + }, + { + "enumValue": "SingleDuct", + "name": "SingleDuct" + }, + { + "enumValue": "DualDuct", + "name": "DualDuct" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "dehumidification method" + }, + "name": "dehumidificationMethod", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "WrapAroundCoil", + "name": "WrapAroundCoil" + }, + { + "enumValue": "TieredCooling", + "name": "TieredCooling" + }, + { + "enumValue": "None", + "name": "None" + }, + { + "enumValue": "EnthalpyWheel", + "name": "EnthalpyWheel" + }, + { + "enumValue": "DualWheel", + "name": "DualWheel" + }, + { + "enumValue": "Desiccant", + "name": "Desiccant" + }, + { + "enumValue": "CoolReheat", + "name": "CoolReheat" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "energy recovery method" + }, + "name": "energyRecoveryMethod", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "None", + "name": "None" + }, + { + "enumValue": "SensibleEnergyWheel", + "name": "SensibleEnergyWheel" + }, + { + "enumValue": "EnthalpyWheel", + "name": "EnthalpyWheel" + }, + { + "enumValue": "DualWheel", + "name": "DualWheel" + }, + { + "enumValue": "DualCoils", + "name": "DualCoils" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "airflow modulation" + }, + "name": "airflowModulation", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "VariableVolume", + "name": "VariableVolume" + }, + { + "enumValue": "ConstantVolume", + "name": "ConstantVolume" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "excluded from comfort analytics" + }, + "name": "excludedFromComfortAnalytics", + "description": { + "en": "When true, the equipment will not be included in comfort KPIs or other comfort analytics." + }, + "schema": "boolean", + "writable": true + }, + { + "@type": "Component", + "displayName": { + "en": "supply fan" + }, + "name": "supplyFan", + "schema": "dtmi:com:willowinc:Fan;1" + }, + { + "@type": "Component", + "displayName": { + "en": "secondary cooling method" + }, + "name": "secondaryCoolingMethod", + "schema": "dtmi:com:willowinc:HVACCoolingMethod;1" + }, + { + "@type": "Property", + "displayName": { + "en": "piping configuration" + }, + "name": "pipingConfiguration", + "description": { + "en": "When equipped with a single coil that is dual purpose for both heating and cooling depending upon the mode of the central plant, set to TwoPipe." + }, + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "TwoPipe", + "name": "TwoPipe" + }, + { + "enumValue": "FourPipe", + "name": "FourPipe" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Component", + "displayName": { + "en": "return fan" + }, + "name": "returnFan", + "schema": "dtmi:com:willowinc:Fan;1" + }, + { + "@type": "Component", + "displayName": { + "en": "re-heating method" + }, + "name": "reHeatingMethod", + "schema": "dtmi:com:willowinc:HVACHeatingMethod;1" + }, + { + "@type": "Component", + "displayName": { + "en": "primary cooling method" + }, + "name": "primaryCoolingMethod", + "schema": "dtmi:com:willowinc:HVACCoolingMethod;1" + }, + { + "@type": "Component", + "displayName": { + "en": "pre-heating method" + }, + "name": "preHeatingMethod", + "schema": "dtmi:com:willowinc:HVACHeatingMethod;1" + }, + { + "@type": "Component", + "displayName": { + "en": "mixing box" + }, + "name": "mixingBox", + "schema": "dtmi:com:willowinc:HVACMixingBox;1" + }, + { + "@type": "Component", + "displayName": { + "en": "exhaust fan" + }, + "name": "exhaustFan", + "schema": "dtmi:com:willowinc:Fan;1" + }, + { + "@type": "Component", + "displayName": { + "en": "energy recovery device" + }, + "name": "energyRecoveryDevice", + "schema": "dtmi:com:willowinc:EnergyRecoveryDevice;1" } ], + "schemas": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:AirHandlingUnitSection;1", + "@type": "Interface", + "displayName": { + "en": "Air Handling Unit Section" + }, + "description": { + "en": "A primary element of an air handling unit." + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [], + "schemas": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:AirInletsOutlets;1", + "@type": "Interface", + "displayName": { + "en": "Air Inlets and Outlets" + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirBase;1", + "@type": "Interface", + "displayName": { + "en": "Air Base" + }, + "description": { + "en": "An airport used as a military base by a military force for the operation of military aircraft." + }, + "extends": [ + "dtmi:com:willowinc:airport:Airport;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:Aircraft;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportVehicle;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AircraftBoardingEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft Boarding Equipment" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AircraftDockState;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft Dock State" + }, + "description": { + "en": "The Boolean state of the aircraft which is \u0027docked\u0027 when \u0027true\u0027 and \u0027not docked\u0027 when \u0027false\u0027" + }, + "extends": [ + "dtmi:com:willowinc:BinaryState;1" + ], + "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SpaceHumidity;1", + "@id": "dtmi:com:willowinc:airport:AircraftElectricalEquipment;1", "@type": "Interface", "displayName": { - "en": "Space Humidity" + "en": "Aircraft Electrical Equipment" }, "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" + "dtmi:com:willowinc:airport:AirportEquipment;1", + "dtmi:com:willowinc:ElectricalEquipment;1" ], - "contents": [ - { - "@type": [ - "Property", - "RelativeHumidity" - ], - "name": "humiditySensor", - "displayName": { - "en": "Humidity Sensor" - }, - "writable": true, - "schema": "double", - "unit": "percent" - }, - { - "@type": [ - "Property", - "RelativeHumidity" - ], - "name": "humiditySetpoint", - "displayName": { - "en": "Humidity Setpoint" - }, - "writable": true, - "schema": "double", - "unit": "percent" - }, - { - "@type": [ - "Property", - "RelativeHumidity" - ], - "name": "humidityDelta", - "displayName": { - "en": "Humidity Delta" - }, - "writable": true, - "schema": "double", - "unit": "percent" - } + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AircraftHVACEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Aircraft HVAC Equipment" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportEquipment;1", + "dtmi:com:willowinc:HVACEquipment;1" ], + "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SpaceOccupancy;1", + "@id": "dtmi:com:willowinc:airport:AirfieldLightingEquipment;1", "@type": "Interface", "displayName": { - "en": "Space Occupancy" + "en": "Lighting Equipment" }, "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" + "dtmi:com:willowinc:airport:AirportEquipment;1", + "dtmi:com:willowinc:LightingEquipment;1" ], "contents": [ { "@type": "Property", - "name": "isOccupied", - "displayName": { - "en": "Is Occupied" - }, - "writable": true, - "schema": "boolean" - }, - { - "@type": "Property", - "name": "peopleCount", + "name": "faaIntesityRating", "displayName": { - "en": "People Count" + "en": "FAA IntesityRating" }, "writable": true, - "schema": "double" + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "low", + "displayName": "Low", + "enumValue": "Low" + }, + { + "name": "medium", + "displayName": "Medium", + "enumValue": "Medium" + }, + { + "name": "high", + "displayName": "High", + "enumValue": "High" + } + ] + } }, { "@type": "Property", - "name": "hasInferredOccupancy", - "displayName": { - "en": "Inferred Occupancy" - }, - "writable": true, - "schema": "boolean" - }, - { - "@type": [ - "Property", - "TimeSpan" - ], - "name": "dwellTimeAverage", - "displayName": { - "en": "Dwell Time Average" - }, - "writable": true, - "schema": "double", - "unit": "second", - "comment": "Average time spent in the space by all individuals in the space" - }, - { - "@type": [ - "Property", - "TimeSpan" - ], - "name": "entranceDwellTime", - "displayName": { - "en": "Entrance Dwell Time" - }, - "writable": true, - "schema": "double", - "unit": "second", - "comment": "Wait time to enter the space" - }, - { - "@type": [ - "Property", - "TimeSpan" - ], - "name": "exitDwellTime", + "name": "installation", "displayName": { - "en": "Exit Dwell Time" + "en": "Installation" }, "writable": true, - "schema": "double", - "unit": "second", - "comment": "Wait time to exit the space" + "schema": { + "@type": "Object", + "fields": [ + { + "name": "type", + "displayName": { + "en": "Type" + }, + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "elevated", + "displayName": "Elevated", + "enumValue": "Elevated" + }, + { + "name": "inset", + "displayName": "Inset", + "enumValue": "Inset" + } + ] + } + }, + { + "name": "mounting", + "displayName": { + "en": "Mounting" + }, + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "base", + "displayName": "Base", + "enumValue": "Base" + }, + { + "name": "stake", + "displayName": "Stake", + "enumValue": "Stake" + }, + { + "name": "direct", + "displayName": "Direct", + "enumValue": "Direct" + } + ] + } + } + ] + } }, { "@type": "Property", - "name": "entranceRate", + "name": "lightDirection", "displayName": { - "en": "Entrance Rate" + "en": "Light Direction" }, "writable": true, - "schema": "double", - "comment": "e.g. people per second" + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "unidirectional", + "displayName": "Unidirectional", + "enumValue": "Unidirectional" + }, + { + "name": "bidirectional", + "displayName": "Bidirectional", + "enumValue": "Bidirectional" + }, + { + "name": "omnidirectional", + "displayName": "Omnidirectional", + "enumValue": "Omnidirectional" + } + ] + } }, { "@type": "Property", - "name": "exitRate", + "name": "lightColors", "displayName": { - "en": "Exit Rate" + "en": "Light Colors" }, "writable": true, - "schema": "double", - "comment": "e.g. people per second" + "schema": "string", + "comment": "yellow, white-white, red-green" } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SpaceOpening;1", + "@id": "dtmi:com:willowinc:airport:AirfieldPavementMarking;1", "@type": "Interface", "displayName": { - "en": "Space Opening" - }, - "description": { - "en": "An entry or exit which enables people to pass between spaces. The opening may be physical, i.e. door or turnstile, or nonpysical such as an open transition between rooms." + "en": "Airfield Pavement Marking" }, "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" + "dtmi:com:willowinc:PavementMarking;1" ], "contents": [ { - "@type": "Relationship", - "displayName": { - "en": "is entry to" - }, - "name": "isEntryTo", - "target": "dtmi:com:willowinc:Space;1" - }, - { - "@type": "Relationship", + "@type": "Property", + "name": "message", "displayName": { - "en": "is exit from" + "en": "Message" }, - "name": "isExitFrom", - "target": "dtmi:com:willowinc:Space;1" + "writable": true, + "schema": "string", + "comment": "A | 36-18" } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:SpaceTemperature;1", + "@id": "dtmi:com:willowinc:airport:AirfieldSignageEquipment;1", "@type": "Interface", "displayName": { - "en": "Space Temperature" + "en": "Airfield Signage Equipment" }, "extends": [ - "dtmi:com:willowinc:SpaceComponent;1" + "dtmi:com:willowinc:airport:AirportEquipment;1" ], "contents": [ + { + "@type": "Property", + "name": "message", + "displayName": { + "en": "Message" + }, + "writable": true, + "schema": "string", + "comment": "A | 36-18" + }, { "@type": [ "Property", - "Temperature" + "Length" ], - "name": "temperatureSensor", + "name": "messageHeight", "displayName": { - "en": "Temperature Sensor" + "en": "Height" }, "writable": true, "schema": "double", - "unit": "degreeCelsius" + "unit": "millimetre" }, { "@type": [ @@ -16992,26 +16519,26 @@ "Override" ], "displayName": { - "en": "temperature sensor unit" + "en": "message height unit" }, - "name": "temperatureSensorUnit", - "annotates": "temperatureSensor", + "name": "messageHeightUnit", + "annotates": "messageHeight", "overrides": "unit", - "schema": "TemperatureUnit", + "schema": "LengthUnit", "writable": true }, { "@type": [ "Property", - "Temperature" + "Length" ], - "name": "temperatureSetpoint", + "name": "panelHeight", "displayName": { - "en": "Temperature Setpoint" + "en": "Panel Height" }, "writable": true, "schema": "double", - "unit": "degreeCelsius" + "unit": "millimetre" }, { "@type": [ @@ -17020,26 +16547,26 @@ "Override" ], "displayName": { - "en": "temperature setpoint unit" + "en": "panel height unit" }, - "name": "temperatureSetpointUnit", - "annotates": "temperatureSetpoint", + "name": "panelHeightUnit", + "annotates": "panelHeight", "overrides": "unit", - "schema": "TemperatureUnit", + "schema": "LengthUnit", "writable": true }, { "@type": [ "Property", - "Temperature" + "Length" ], - "name": "temperatureDelta", + "name": "panelWidth", "displayName": { - "en": "Temperature Delta" + "en": "Panel Width" }, "writable": true, "schema": "double", - "unit": "degreeCelsius" + "unit": "millimetre" }, { "@type": [ @@ -17048,44 +16575,26 @@ "Override" ], "displayName": { - "en": "temperature delta unit" + "en": "panel width unit" }, - "name": "temperatureDeltaUnit", - "annotates": "temperatureDelta", + "name": "panelWidthUnit", + "annotates": "panelWidth", "overrides": "unit", - "schema": "TemperatureUnit", + "schema": "LengthUnit", "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Stairway;1", - "@type": "Interface", - "displayName": { - "en": "Stairway" - }, - "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" - ], - "contents": [ + }, { "@type": [ "Property", "Length" ], + "name": "installedHeight", "displayName": { - "en": "step width" + "en": "Installed Height" }, - "name": "stepWidth", + "writable": true, "schema": "double", - "unit": "millimetre", - "writable": true + "unit": "millimetre" }, { "@type": [ @@ -17094,46 +16603,141 @@ "Override" ], "displayName": { - "en": "step width unit" + "en": "installed height unit" }, - "name": "stepWidthUnit", - "annotates": "stepWidth", + "name": "installedHeightUnit", + "annotates": "installedHeight", "overrides": "unit", "schema": "LengthUnit", "writable": true - }, - { - "@type": "Component", - "name": "capacity", - "displayName": { - "en": "Capacity" - }, - "schema": "dtmi:com:willowinc:SpaceCapacity;1" - }, - { - "@type": "Component", - "name": "occupancy", - "displayName": { - "en": "Occupancy" - }, - "schema": "dtmi:com:willowinc:SpaceOccupancy;1" } ], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:AirportICTEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Airport ICT Equipment" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportEquipment;1", + "dtmi:com:willowinc:ICTEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:BaggageHandlingEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Baggage Handling Equipment" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:Heliport;1", + "@type": "Interface", + "displayName": { + "en": "Heliport" + }, + "description": { + "en": "An airport solely serving helicopters." + }, + "extends": [ + "dtmi:com:willowinc:airport:Airport;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:SeaplaneBase;1", + "@type": "Interface", + "displayName": { + "en": "Seaplane Base" + }, + "description": { + "en": "An airport that is located in a body of water, usually a river, bay, harbor, or lake, where seaplanes and amphibious aircraft take-off and land." + }, + "extends": [ + "dtmi:com:willowinc:airport:Airport;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:airport:WindCone;1", + "@type": "Interface", + "displayName": { + "en": "Wind Cone" + }, + "extends": [ + "dtmi:com:willowinc:airport:AirportEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AirQualitySensor;1", + "@type": "Interface", + "displayName": { + "en": "Air Quality Sensor" + }, + "description": { + "en": "The air quality feedback from a sensor" + }, + "extends": [ + "dtmi:com:willowinc:QuantitySensor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:AirTestingAndBalancingReport;1", + "@type": "Interface", + "displayName": { + "en": "Air Testing and Balancing Report" + }, + "extends": [ + "dtmi:com:willowinc:TestingAndBalancingReport;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:StartupReport;1", + "@id": "dtmi:com:willowinc:AlarmState;1", "@type": "Interface", "displayName": { - "en": "Start-up Report" + "en": "Alarm State" + }, + "description": { + "en": "The Boolean state of the equipment which is \u0027alarm\u0027 when \u0027true\u0027 and \u0027normal\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:CommissioningDocument;1" + "dtmi:com:willowinc:BinaryState;1" ], "contents": [], "@context": [ @@ -17141,16 +16745,16 @@ ] }, { - "@id": "dtmi:com:willowinc:StateSensor;1", + "@id": "dtmi:com:willowinc:AngleSensor;1", "@type": "Interface", "displayName": { - "en": "State Sensor" + "en": "Angle Sensor" }, "description": { - "en": "The state feedback from a sensor" + "en": "The angle feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:Sensor;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -17158,39 +16762,44 @@ ] }, { - "@id": "dtmi:com:willowinc:StructuralBeam;1", + "@id": "dtmi:com:willowinc:AreaSensor;1", "@type": "Interface", "displayName": { - "en": "Structural Beam" + "en": "Area Sensor" + }, + "description": { + "en": "The area feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" + "dtmi:com:willowinc:QuantitySensor;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:StructuralColumn;1", + "@id": "dtmi:com:willowinc:AsphaltConcretePavementSection;1", "@type": "Interface", "displayName": { - "en": "Structural Column" + "en": "Asphalt Concrete Pavement Section" }, "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" + "dtmi:com:willowinc:PavementSection;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:StructuralFoundation;1", + "@id": "dtmi:com:willowinc:AudioVisualEquipment;1", "@type": "Interface", "displayName": { - "en": "Structural Foundation" + "en": "Audio Visual Equipment" }, "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" + "dtmi:com:willowinc:ICTEquipment;1" ], "contents": [], "@context": [ @@ -17198,13 +16807,16 @@ ] }, { - "@id": "dtmi:com:willowinc:StructuralShaft;1", + "@id": "dtmi:com:willowinc:AutoLevelDeployedState;1", "@type": "Interface", "displayName": { - "en": "Structural Shaft" + "en": "Auto-Level Deployed State" + }, + "description": { + "en": "The Boolean state of the auto-leveler which is \u0027deployed\u0027 when \u0027true\u0027 and \u0027not deployed\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:StructuralBuildingComponent;1" + "dtmi:com:willowinc:BinaryState;1" ], "contents": [], "@context": [ @@ -17212,13 +16824,16 @@ ] }, { - "@id": "dtmi:com:willowinc:SwimmingPoolEquipment;1", + "@id": "dtmi:com:willowinc:BackOfHouseArea;1", "@type": "Interface", "displayName": { - "en": "Swimming Pool Equipment" + "en": "Back of House Area" + }, + "description": { + "en": "An area within a building, generally a hotel or restaurant, designated for fundamental operations where the guests or customers do not occupy or have access." }, "extends": [ - "dtmi:com:willowinc:Equipment;1" + "dtmi:com:willowinc:BuildingOperationsArea;1" ], "contents": [], "@context": [ @@ -17226,24 +16841,57 @@ ] }, { - "@id": "dtmi:com:willowinc:Table;1", + "@id": "dtmi:com:willowinc:BeverageEquipment;1", "@type": "Interface", "displayName": { - "en": "Table" + "en": "Beverage Equipment" }, "extends": [ - "dtmi:com:willowinc:Furniture;1" + "dtmi:com:willowinc:FoodserviceEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:BinaryModeState;1", + "@type": "Interface", + "displayName": { + "en": "Binary Mode State" + }, + "description": { + "en": "The Boolean state of the mode which is \u0027on\u0027 when \u0027true\u0027 and \u0027off\u0027 when \u0027false\u0027" + }, + "extends": [ + "dtmi:com:willowinc:BinaryState;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:BinarySensor;1", + "@type": "Interface", + "displayName": { + "en": "Binary Sensor" + }, + "description": { + "en": "The Boolean status from a sensor" + }, + "extends": [ + "dtmi:com:willowinc:StateSensor;1" ], "contents": [ { "@type": "Property", - "name": "type", + "name": "lastValue", "displayName": { - "en": "Type" + "en": "Last Value" }, "writable": true, - "schema": "string", - "comment": "basic, sit/stand" + "schema": "boolean" } ], "@context": [ @@ -17251,15 +16899,37 @@ ] }, { - "@id": "dtmi:com:willowinc:Tank;1", + "@id": "dtmi:com:willowinc:Boiler;1", "@type": "Interface", "displayName": { - "en": "Tank" + "en": "Boiler" }, "extends": [ - "dtmi:com:willowinc:AssetComponent;1" + "dtmi:com:willowinc:PlumbingEquipment;1" ], "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "WaterTube", + "name": "WaterTube" + }, + { + "enumValue": "FireTube", + "name": "FireTube" + } + ], + "valueSchema": "string" + }, + "writable": true + }, { "@type": [ "Property", @@ -17290,15 +16960,15 @@ }, { "@type": [ - "Property", - "Pressure" + "Power", + "Property" ], "displayName": { - "en": "system pressure" + "en": "power output" }, - "name": "systemPressure", + "name": "powerOutput", "schema": "double", - "unit": "bar", + "unit": "watt", "writable": true }, { @@ -17308,199 +16978,91 @@ "Override" ], "displayName": { - "en": "system pressure unit" + "en": "power output unit" }, - "name": "systemPressureUnit", - "annotates": "systemPressure", + "name": "powerOutputUnit", + "annotates": "powerOutput", "overrides": "unit", - "schema": "PressureUnit", + "schema": "PowerUnit", "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:TenantUnit;1", - "@type": "Interface", - "displayName": { - "en": "Tenant Unit" - }, - "extends": [ - "dtmi:com:willowinc:SpaceCollection;1" - ], - "contents": [ - { - "@type": "Relationship", - "name": "hasLease", - "target": "dtmi:com:willowinc:Lease;1" - }, - { - "@type": "Component", - "displayName": { - "en": "address" - }, - "name": "address", - "schema": "dtmi:com:willowinc:Address;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Electricity Price Rate" - }, - "name": "electricityPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Electricity Emission Factor" - }, - "name": "electricityEmissionFactor", - "schema": "dtmi:com:willowinc:UtilityEmissionFactor;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Natural Gas Price Rate" - }, - "name": "naturalGasPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Chilled Water Price Rate" - }, - "name": "chilledWaterPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Steam Price Rate" - }, - "name": "steamPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" }, { - "@type": "Component", + "@type": [ + "Power", + "Property" + ], "displayName": { - "en": "Domestic Water Price Rate" + "en": "power input" }, - "name": "domesticWaterPriceRate", - "schema": "dtmi:com:willowinc:UtilityRate;1" + "name": "powerInput", + "schema": "double", + "unit": "watt", + "writable": true }, { - "@type": "Component", - "name": "area", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Area" + "en": "power input unit" }, - "schema": "dtmi:com:willowinc:SpaceArea;1" + "name": "powerInputUnit", + "annotates": "powerInput", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true }, { - "@type": "Component", - "name": "capacity", + "@type": "Property", "displayName": { - "en": "Capacity" + "en": "medium" }, - "schema": "dtmi:com:willowinc:SpaceCapacity;1" - }, - { - "@type": "Component", - "name": "temperature", - "displayName": { - "en": "Temperature" + "name": "medium", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Steam", + "name": "Steam" + }, + { + "enumValue": "HotWater", + "name": "HotWater" + } + ], + "valueSchema": "string" }, - "schema": "dtmi:com:willowinc:SpaceTemperature;1" + "writable": true }, { - "@type": "Component", - "name": "humidity", - "displayName": { - "en": "Humidity Average" + "@type": [ + "Property", + "VolumeFlowRate" + ], + "description": { + "en": "Imperial measure for the recovery rate of a boiler (gallons per hour)." }, - "schema": "dtmi:com:willowinc:SpaceHumidity;1" - }, - { - "@type": "Component", - "name": "CO2", "displayName": { - "en": "CO2" + "en": "recovery @ 100F rise" }, - "schema": "dtmi:com:willowinc:SpaceCO2;1" + "name": "recovery100FRise", + "schema": "integer", + "unit": "gallonPerHour", + "writable": true }, - { - "@type": "Component", - "name": "occupancy", - "displayName": { - "en": "Occupancy" - }, - "schema": "dtmi:com:willowinc:SpaceOccupancy;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:TestingAndBalancingReport;1", - "@type": "Interface", - "displayName": { - "en": "Testing and Balancing Report" - }, - "extends": [ - "dtmi:com:willowinc:CommissioningDocument;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ToiletAccessory;1", - "@type": "Interface", - "displayName": { - "en": "Toilet Accessory" - }, - "description": { - "en": "An device co-located with a toilet such as a toilet paper dispenser or toilet partition." - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Valve;1", - "@type": "Interface", - "displayName": { - "en": "Valve" - }, - "extends": [ - "dtmi:com:willowinc:AssetComponent;1" - ], - "contents": [ { "@type": [ "Property", - "Pressure" + "Temperature" ], + "name": "designEnteringWaterTemperature", "displayName": { - "en": "pressure capacity" + "en": "Design Entering Water Temperature" }, - "name": "pressureCapacity", "schema": "double", - "unit": "bar", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -17509,26 +17071,24 @@ "Override" ], "displayName": { - "en": "pressure capacity unit" + "en": "Design Entering Water Temperature Unit" }, - "name": "pressureCapacityUnit", - "annotates": "pressureCapacity", + "name": "designEnteringWaterTemperatureUnit", + "annotates": "designEnteringWaterTemperature", "overrides": "unit", - "schema": "PressureUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "VolumeFlowRate" + "Temperature" ], + "name": "designLeavingWaterTemperature", "displayName": { - "en": "flow capacity" + "en": "Design Leaving Water Temperature" }, - "name": "flowCapacity", "schema": "double", - "unit": "litrePerSecond", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -17537,29 +17097,38 @@ "Override" ], "displayName": { - "en": "flow capacity unit" + "en": "Design Leaving Water Temperature Unit" }, - "name": "flowCapacityUnit", - "annotates": "flowCapacity", + "name": "designLeavingWaterTemperatureUnit", + "annotates": "designLeavingWaterTemperature", "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true + "schema": "TemperatureUnit" }, { - "@type": "Component", + "@type": [ + "Property", + "Temperature" + ], + "name": "designDeltaWaterTemperature", "displayName": { - "en": "pipe outlet" + "en": "Design Delta Water Temperature" }, - "name": "pipeOutlet", - "schema": "dtmi:com:willowinc:PipeConnection;1" + "schema": "double", + "unit": "degreeCelsius" }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "pipe inlet" + "en": "Design Delta Water Temperature Unit" }, - "name": "pipeInlet", - "schema": "dtmi:com:willowinc:PipeConnection;1" + "name": "designDeltaWaterTemperatureUnit", + "annotates": "designDeltaWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" } ], "@context": [ @@ -17570,60 +17139,16 @@ ] }, { - "@id": "dtmi:com:willowinc:VehicleEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Vehicle Equipment" - }, - "description": { - "en": "Equipment used to aid in the movement and operations of vehicles such as access control, parking, and dock loading." - }, - "extends": [ - "dtmi:com:willowinc:Equipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Wall;1", - "@type": "Interface", - "displayName": { - "en": "Wall" - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalBuildingComponent;1" - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:WasteHandlingEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Waste Handling Equipment" - }, - "extends": [ - "dtmi:com:willowinc:Equipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Workspace;1", + "@id": "dtmi:com:willowinc:BuildingCommonArea;1", "@type": "Interface", "displayName": { - "en": "Workspace" + "en": "Building Common Area" }, "description": { - "en": "A space which is being used for work and typically contains an asset such as a workstation." + "en": "The area within a building that is shared by all tenants or occupants such as corridors, lobbies, and restrooms. In multi-tenant buildings, the landlord maintains and operates the area. In some jurisdictions, the tenants are responsible for paying rent on a pro-rata portion of this area which can also include areas that are not accessible to them such as janitor closets, HVAC rooms, and electrical rooms." }, "extends": [ - "dtmi:com:willowinc:Zone;1" + "dtmi:com:willowinc:BuildingOperationsArea;1" ], "contents": [], "@context": [ @@ -17631,41 +17156,97 @@ ] }, { - "@id": "dtmi:com:willowinc:Workstation;1", + "@id": "dtmi:com:willowinc:CableTray;1", "@type": "Interface", "displayName": { - "en": "Workstation" + "en": "Cable Tray" }, - "extends": [ - "dtmi:com:willowinc:Furniture;1" - ], + "extends": "dtmi:com:willowinc:DistributionRaceway;1", "contents": [ { - "@type": "Property", - "name": "type", + "@type": "Property", + "displayName": { + "en": "material" + }, + "name": "material", + "schema": "string", + "writable": true + }, + { + "@type": [ + "Property", + "Length" + ], + "displayName": { + "en": "width" + }, + "name": "width", + "schema": "double", + "unit": "millimetre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "width unit" + }, + "name": "widthUnit", + "annotates": "width", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "Type" + "en": "height" }, - "writable": true, - "schema": "string", - "comment": "basic, sit/stand" + "name": "height", + "schema": "double", + "unit": "millimetre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "height unit" + }, + "name": "heightUnit", + "annotates": "height", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true } ], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:AccelerationSensor;1", + "@id": "dtmi:com:willowinc:CanopyDownState;1", "@type": "Interface", "displayName": { - "en": "Acceleration Sensor" + "en": "Canopy Down State" }, "description": { - "en": "The acceleration feedback from a sensor" + "en": "The Boolean state of a canopy which is \u0027down\u0027 when \u0027true\u0027 and \u0027up\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" + "dtmi:com:willowinc:BinaryState;1" ], "contents": [], "@context": [ @@ -17673,13 +17254,16 @@ ] }, { - "@id": "dtmi:com:willowinc:AccessControlEquipment;1", + "@id": "dtmi:com:willowinc:CapacitanceSensor;1", "@type": "Interface", "displayName": { - "en": "Access Control Equipment" + "en": "Capacitance Sensor" + }, + "description": { + "en": "The capacitance feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:SecurityEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -17687,13 +17271,13 @@ ] }, { - "@id": "dtmi:com:willowinc:AccessPanel;1", + "@id": "dtmi:com:willowinc:CardioFitnessEquipment;1", "@type": "Interface", "displayName": { - "en": "Access Panel" + "en": "Cardio Fitness Equipment" }, "extends": [ - "dtmi:com:willowinc:BarrierAsset;1" + "dtmi:com:willowinc:FitnessEquipment;1" ], "contents": [], "@context": [ @@ -17701,16 +17285,13 @@ ] }, { - "@id": "dtmi:com:willowinc:AirAdmittanceValve;1", + "@id": "dtmi:com:willowinc:CementConcretePavementSection;1", "@type": "Interface", "displayName": { - "en": "Air Admittance Valve" - }, - "description": { - "en": "A one-way mechanical valve that is installed locally at the site of a plumbing fixture, allowing proper venting to occur without a connection to a larger venting system and stack vent (a.k.a. Studor Vent)" + "en": "Cement Concrete Pavement Section" }, "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1" + "dtmi:com:willowinc:PavementSection;1" ], "contents": [], "@context": [ @@ -17718,16 +17299,13 @@ ] }, { - "@id": "dtmi:com:willowinc:AirChangesPerHour;1", + "@id": "dtmi:com:willowinc:ChemicalDilutionDrainageEquipment;1", "@type": "Interface", "displayName": { - "en": "Air Changes Per Hour" - }, - "description": { - "en": "The number of times that the total air volume of a space is removed and replaced with ventilation air in an hour, a.k.a. Air Change Rate." + "en": "Chemical Dilution Drainage Equipment" }, "extends": [ - "dtmi:com:willowinc:QuantityPerformanceIndicator;1" + "dtmi:com:willowinc:PlumbingEquipment;1" ], "contents": [], "@context": [ @@ -17735,55 +17313,52 @@ ] }, { - "@id": "dtmi:com:willowinc:AirCooledCondenser;1", + "@id": "dtmi:com:willowinc:Chiller;1", "@type": "Interface", "displayName": { - "en": "Air-Cooled Condenser" - }, - "description": { - "en": "A condenser which rejects heat from a working fluid (i.e. refrigerant) into the ambient air." + "en": "Chiller" }, "extends": [ - "dtmi:com:willowinc:Condenser;1" + "dtmi:com:willowinc:HVACEquipment;1" ], "contents": [ { - "@type": [ - "Property", - "Temperature" - ], - "name": "designEnteringAirTemperature", + "@type": "Component", "displayName": { - "en": "Design Entering Air Temperature" + "en": "Evaporator" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "evaporator", + "schema": "dtmi:com:willowinc:Evaporator;1" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Component", "displayName": { - "en": "Design Entering Air Temperature Unit" + "en": "Compressor" }, - "name": "designEnteringAirTemperatureUnit", - "annotates": "designEnteringAirTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "compressor", + "schema": "dtmi:com:willowinc:Compressor;1" + }, + { + "@type": "Property", + "displayName": { + "en": "refrigerant type" + }, + "name": "refrigerantType", + "schema": "string", + "writable": true }, { "@type": [ "Property", - "Temperature" + "EnergyRate" ], - "name": "designLeavingAirTemperature", "displayName": { - "en": "Design Leaving Air Temperature" + "en": "nominal cooling capacity" }, + "name": "nominalCoolingCapacity", "schema": "double", - "unit": "degreeCelsius" + "unit": "britishThermalUnitPerHour", + "writable": true }, { "@type": [ @@ -17792,24 +17367,26 @@ "Override" ], "displayName": { - "en": "Design Leaving Air Temperature Unit" + "en": "nominal cooling capacity unit" }, - "name": "designLeavingAirTemperatureUnit", - "annotates": "designLeavingAirTemperature", + "name": "nominalCoolingCapacityUnit", + "annotates": "nominalCoolingCapacity", "overrides": "unit", - "schema": "TemperatureUnit" + "schema": "PowerUnit", + "writable": true }, { "@type": [ "Property", - "Temperature" + "EnergyRate" ], - "name": "designDeltaAirTemperature", "displayName": { - "en": "Design Delta Air Temperature" + "en": "net sensible cooling capacity" }, + "name": "netSensibleCoolingCapacity", "schema": "double", - "unit": "degreeCelsius" + "unit": "britishThermalUnitPerHour", + "writable": true }, { "@type": [ @@ -17818,24 +17395,25 @@ "Override" ], "displayName": { - "en": "Design Delta Air Temperature Unit" + "en": "net sensible cooling capacity unit" }, - "name": "designDeltaAirTemperatureUnit", - "annotates": "designDeltaAirTemperature", + "name": "netSensibleCoolingCapacityUnit", + "annotates": "netSensibleCoolingCapacity", "overrides": "unit", - "schema": "TemperatureUnit" + "schema": "PowerUnit", + "writable": true }, { "@type": [ "Property", - "VolumeFlowRate" + "EnergyRate" ], "displayName": { - "en": "Design Airflow" + "en": "design cooling capacity" }, - "name": "designAirflow", + "name": "designCoolingCapacity", "schema": "double", - "unit": "litrePerSecond", + "unit": "britishThermalUnitPerHour", "writable": true }, { @@ -17845,77 +17423,66 @@ "Override" ], "displayName": { - "en": "Design Airflow Unit" + "en": "design cooling capacity unit" }, - "name": "designAirflowUnit", - "annotates": "designAirflow", + "name": "designCoolingCapacityUnit", + "annotates": "designCoolingCapacity", "overrides": "unit", - "schema": "VolumeFlowRateUnit", + "schema": "PowerUnit", "writable": true }, { "@type": "Property", "displayName": { - "en": "Number of Fans" + "en": "design KW/Ton" }, - "name": "numberOfFans", - "schema": "integer", + "name": "designKWPerTon", + "schema": "double", "writable": true }, { - "@type": [ - "Power", - "Property" - ], + "@type": "Property", "displayName": { - "en": "total fan power" + "en": "design coefficient of performance (COP)" }, - "name": "totalFanPower", + "name": "designCoefficientOfPerformance", "schema": "double", - "unit": "horsepower", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "total fan power unit" + "en": "design energy efficiency ratio (EER)" }, - "name": "totalFanPowerUnit", - "annotates": "totalFanPower", - "overrides": "unit", - "schema": "PowerUnit", + "name": "designEnergyEfficiencyRatio", + "schema": "double", "writable": true }, { - "@type": [ - "Power", - "Property" - ], + "@type": "Property", "displayName": { - "en": "total fan brake horsepower" + "en": "nominal KW/Ton" }, - "name": "totalFanbrakeHorsepower", + "name": "nominalKWPerTon", "schema": "double", - "unit": "horsepower", "writable": true }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", "displayName": { - "en": "total fan brake horsepower unit" + "en": "nominal coefficient of performance (COP)" }, - "name": "totalFanbrakeHorsepowerUnit", - "annotates": "totalFanbrakeHorsepower", - "overrides": "unit", - "schema": "PowerUnit", + "name": "nominalCoefficientOfPerformance", + "schema": "double", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "nominal energy efficiency ratio (EER)" + }, + "name": "nominalEnergyEfficiencyRatio", + "schema": "double", "writable": true } ], @@ -17927,16 +17494,16 @@ ] }, { - "@id": "dtmi:com:willowinc:AircraftStandState;1", + "@id": "dtmi:com:willowinc:ClothesDryer;1", "@type": "Interface", "displayName": { - "en": "Aircraft Stand State" + "en": "Dryer" }, "description": { - "en": "The staus of an aircraft stand such as occupied, free, or prepared." + "en": "An applicance used to dry laundry such as clothes or other textiles." }, "extends": [ - "dtmi:com:willowinc:MultiState;1" + "dtmi:com:willowinc:LaundryEquipment;1" ], "contents": [], "@context": [ @@ -17944,39 +17511,33 @@ ] }, { - "@id": "dtmi:com:willowinc:AirFilter;1", + "@id": "dtmi:com:willowinc:ClothesWasher;1", "@type": "Interface", "displayName": { - "en": "Air Filter" + "en": "Washer" + }, + "description": { + "en": "An applicance used to wash laundry such as clothes or other textiles." }, "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [ - { - "@type": "Component", - "displayName": { - "en": "fan" - }, - "name": "fan", - "schema": "dtmi:com:willowinc:Fan;1" - } + "dtmi:com:willowinc:LaundryEquipment;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:AirFlowPerPerson;1", + "@id": "dtmi:com:willowinc:CoefficientOfPerformance;1", "@type": "Interface", "displayName": { - "en": "Air Flow Per Person" + "en": "Coefficient of Performance (COP)" }, "description": { - "en": "A performance indicator which has values that are a volumetric air flow per person quantity (i.e. CFM/person, LPS/person, CMH/person)." + "en": "A performance indicator for equipment with a refrigeration or cooling function which is the ratio of the thermal power output (kW) to its electrical power input (kW)." }, "extends": [ - "dtmi:com:willowinc:QuantityPerformanceIndicator;1" + "dtmi:com:willowinc:RatioPerformanceIndicator;1" ], "contents": [], "@context": [ @@ -17984,98 +17545,283 @@ ] }, { - "@id": "dtmi:com:willowinc:AirHandlingUnit;1", + "@id": "dtmi:com:willowinc:CompressedAirEquipment;1", "@type": "Interface", "displayName": { - "en": "Air Handling Unit" + "en": "Compressed Air Equipment" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Compressor;1", + "@type": "Interface", + "displayName": { + "en": "Compressor" }, "description": { - "en": "An enclosure with a fan or fans and other necessary components that delivers air to a space via ductwork and performs one or more of the functions of cleaning, heating, cooling, humidifying, dehumidifying, ventilating or circulating the air." + "en": "A device which converts a gaseous fluid into its liquid form by compressing it. In HVAC, it is commonly included in refrigeration equipment such as chillers and air conditioners." }, "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" + "dtmi:com:willowinc:AssetComponent;1", + "dtmi:com:willowinc:GeneralPurposeEquipment;1" ], "contents": [ { "@type": "Property", "displayName": { - "en": "zone delivery" - }, - "name": "zoneDelivery", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "VAVZone", - "name": "VAVZone" - }, - { - "enumValue": "MultiZone", - "name": "MultiZone" - }, - { - "enumValue": "DirectZone", - "name": "DirectZone" - }, - { - "enumValue": "ChilledBeamZone", - "name": "ChilledBeamZone" - } - ], - "valueSchema": "string" + "en": "refrigerant type" }, + "name": "refrigerantType", + "schema": "string", "writable": true }, { "@type": "Property", "displayName": { - "en": "ventilation strategy" + "en": "type" }, - "name": "ventilationStrategy", + "name": "type", "schema": { "@type": "Enum", "enumValues": [ { - "enumValue": "None", - "name": "None" + "enumValue": "Scroll", + "name": "Scroll" }, { - "enumValue": "Economizing", - "name": "Economizing" + "enumValue": "Screw", + "name": "Screw" }, { - "enumValue": "DemandEconomizing", - "name": "DemandEconomizing" + "enumValue": "Reciprocol", + "name": "Reciprocol" }, { - "enumValue": "Demand", - "name": "Demand" + "enumValue": "Centrifugal", + "name": "Centrifugal" + }, + { + "enumValue": "Absorption", + "name": "Absorption" } ], "valueSchema": "string" }, "writable": true }, + { + "@type": [ + "Property", + "MassFlowRate" + ], + "displayName": { + "en": "Design Mass Flow" + }, + "name": "designMassFlow", + "schema": "double", + "unit": "kilogramPerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Mass Flow Unit" + }, + "name": "designMassFlowUnit", + "annotates": "designMassFlow", + "overrides": "unit", + "schema": "MassFlowRateUnit", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "motor power" + }, + "name": "motorPower", + "schema": "double", + "unit": "horsepower", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "motor power unit" + }, + "name": "motorPowerUnit", + "annotates": "motorPower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "rated load current" + }, + "description": { + "en": "The rated load current, or rated load amps (RLA) is the maximum current the compressor should draw under normal operation." + }, + "name": "ratedLoadCurrent", + "schema": "double", + "unit": "ampere", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "rated load current unit" + }, + "name": "ratedLoadCurrentUnit", + "annotates": "ratedLoadCurrent", + "overrides": "unit", + "schema": "CurrentUnit", + "writable": true + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "maximum continuous current" + }, + "description": { + "en": "The maximum continuous current (MCC) is the current at which the compressor overload protection trips." + }, + "name": "maximumContinuousCurrent", + "schema": "double", + "unit": "ampere", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "maximum continuous current unit" + }, + "name": "maximumContinuousCurrentUnit", + "annotates": "maximumContinuousCurrent", + "overrides": "unit", + "schema": "CurrentUnit", + "writable": true + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "locked rotor current" + }, + "description": { + "en": "The locked rotor current, or locked rotor amps (LRA) is the current drawn by the compressor when applying full voltage while starting." + }, + "name": "lockedRotorCurrent", + "schema": "double", + "unit": "ampere", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "locked rotor current unit" + }, + "name": "lockedRotorCurrentUnit", + "annotates": "lockedRotorCurrent", + "overrides": "unit", + "schema": "CurrentUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Condenser;1", + "@type": "Interface", + "displayName": { + "en": "Condenser" + }, + "description": { + "en": "A heat exhcanging device which rejects heat from a working fluid (i.e. refrigerant) into a secondary fluid or the surrounding air." + }, + "extends": [ + "dtmi:com:willowinc:AssetComponent;1", + "dtmi:com:willowinc:GeneralPurposeEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:CondensingUnit;1", + "@type": "Interface", + "displayName": { + "en": "Condensing Unit" + }, + "description": { + "en": "A type of heat exchanger comprised of a compressor, a condenser, and a fan whose function is to remove heat in a split system air conditioner. It is typically located outdoors." + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [ { "@type": "Property", "displayName": { - "en": "ventilation configuration" + "en": "type" }, - "name": "ventilationConfiguration", + "name": "type", "schema": { "@type": "Enum", "enumValues": [ { - "enumValue": "OA", - "name": "OA" - }, - { - "enumValue": "None", - "name": "None" + "enumValue": "WaterCooled", + "name": "WaterCooled" }, { - "enumValue": "MixedAir", - "name": "MixedAir" + "enumValue": "AirCooled", + "name": "AirCooled" } ], "valueSchema": "string" @@ -18206,23 +17952,99 @@ { "@type": "Property", "displayName": { - "en": "nominal energy efficiency ratio (EER)" + "en": "energy efficiency ratio" }, - "name": "nominalEnergyEfficiencyRatio", + "name": "eer", "schema": "double", "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:ConditionState;1", + "@type": "Interface", + "displayName": { + "en": "Condition State" + }, + "description": { + "en": "The multi-state condition of the equipment" + }, + "extends": [ + "dtmi:com:willowinc:MultiState;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ConductanceSensor;1", + "@type": "Interface", + "displayName": { + "en": "Conductance Sensor" + }, + "description": { + "en": "The conductance feedback from a sensor" + }, + "extends": [ + "dtmi:com:willowinc:QuantitySensor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:ConductivitySensor;1", + "@type": "Interface", + "displayName": { + "en": "Conductivity Sensor" + }, + "description": { + "en": "The conductivity feedback from a sensor" + }, + "extends": [ + "dtmi:com:willowinc:QuantitySensor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Conduit;1", + "@type": "Interface", + "displayName": { + "en": "Conduit" + }, + "extends": "dtmi:com:willowinc:DistributionRaceway;1", + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "material" + }, + "name": "material", + "schema": "string", + "writable": true }, { "@type": [ "Property", - "VolumeFlowRate" + "Length" ], "displayName": { - "en": "Design Minimum Outside Airflow" + "en": "diameter" }, - "name": "designMinOutsideAirflow", + "name": "diameter", "schema": "double", - "unit": "litrePerSecond", + "unit": "millimetre", "writable": true }, { @@ -18232,314 +18054,346 @@ "Override" ], "displayName": { - "en": "Design Minimum Outside Airflow Unit" + "en": "diameter unit" }, - "name": "designMinOutsideAirflowUnit", - "annotates": "designMinOutsideAirflow", + "name": "diameterUnit", + "annotates": "diameter", "overrides": "unit", - "schema": "VolumeFlowRateUnit", + "schema": "LengthUnit", "writable": true - }, + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:Controller;1", + "@type": "Interface", + "displayName": { + "en": "Controller" + }, + "extends": [ + "dtmi:com:willowinc:ICTEquipment;1" + ], + "contents": [ { - "@type": [ - "Property", - "Temperature" - ], - "name": "designMaxEnteringAirTemperature", + "@type": "Property", + "name": "registrationID", "displayName": { - "en": "Design Maximum Entering Air Temperature" + "en": "Registration ID" }, - "schema": "double", - "unit": "degreeCelsius" + "writable": true, + "schema": "string" }, { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], + "@type": "Property", + "name": "registrationKey", "displayName": { - "en": "Design Maximum Entering Air Temperature Unit" + "en": "Registration Key" }, - "name": "designMaxEnteringAirTemperatureUnit", - "annotates": "designMaxEnteringAirTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "writable": true, + "schema": "string" }, { "@type": "Property", + "name": "connectorID", "displayName": { - "en": "humidification method" - }, - "name": "humidificationMethod", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Ultrasonic", - "name": "Ultrasonic" - }, - { - "enumValue": "Steam", - "name": "Steam" - }, - { - "enumValue": "None", - "name": "None" - }, - { - "enumValue": "Adiabatic", - "name": "Adiabatic" - } - ], - "valueSchema": "string" + "en": "Connector ID" }, - "writable": true + "writable": true, + "schema": "string" }, { "@type": "Property", + "name": "enabled", "displayName": { - "en": "filter type" + "en": "Is Enabled" }, - "name": "filterType", - "schema": "string", - "writable": true + "writable": true, + "schema": "boolean" }, { "@type": "Property", + "name": "detected", "displayName": { - "en": "discharge ductwork configuration" + "en": "Is Detected" }, - "name": "dischargeDuctworkConfiguration", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "TripleDuct", - "name": "TripleDuct" - }, - { - "enumValue": "SingleDuct", - "name": "SingleDuct" - }, - { - "enumValue": "DualDuct", - "name": "DualDuct" - } - ], - "valueSchema": "string" + "writable": true, + "schema": "boolean" + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CookingEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Cooking Equipment" + }, + "extends": [ + "dtmi:com:willowinc:FoodserviceEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:CoolingTower;1", + "@type": "Interface", + "displayName": { + "en": "Cooling Tower" + }, + "description": { + "en": "A device that rejects waste heat to the atmosphere through the cooling of a coolant stream, usually a water stream to a lower temperature." + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [ + { + "@type": [ + "Property", + "EnergyRate" + ], + "displayName": { + "en": "nominal cooling capacity" }, + "name": "nominalCoolingCapacity", + "schema": "double", + "unit": "britishThermalUnitPerHour", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "dehumidification method" - }, - "name": "dehumidificationMethod", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "WrapAroundCoil", - "name": "WrapAroundCoil" - }, - { - "enumValue": "TieredCooling", - "name": "TieredCooling" - }, - { - "enumValue": "None", - "name": "None" - }, - { - "enumValue": "EnthalpyWheel", - "name": "EnthalpyWheel" - }, - { - "enumValue": "DualWheel", - "name": "DualWheel" - }, - { - "enumValue": "Desiccant", - "name": "Desiccant" - }, - { - "enumValue": "CoolReheat", - "name": "CoolReheat" - } - ], - "valueSchema": "string" + "en": "nominal cooling capacity unit" }, + "name": "nominalCoolingCapacityUnit", + "annotates": "nominalCoolingCapacity", + "overrides": "unit", + "schema": "PowerUnit", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "energy recovery method" - }, - "name": "energyRecoveryMethod", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "None", - "name": "None" - }, - { - "enumValue": "SensibleEnergyWheel", - "name": "SensibleEnergyWheel" - }, - { - "enumValue": "EnthalpyWheel", - "name": "EnthalpyWheel" - }, - { - "enumValue": "DualWheel", - "name": "DualWheel" - }, - { - "enumValue": "DualCoils", - "name": "DualCoils" - } - ], - "valueSchema": "string" + "en": "flow capacity" }, + "name": "flowCapacity", + "schema": "double", + "unit": "litrePerSecond", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "airflow modulation" - }, - "name": "airflowModulation", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "VariableVolume", - "name": "VariableVolume" - }, - { - "enumValue": "ConstantVolume", - "name": "ConstantVolume" - } - ], - "valueSchema": "string" + "en": "flow capacity unit" }, + "name": "flowCapacityUnit", + "annotates": "flowCapacity", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", "writable": true }, { - "@type": "Property", + "@type": "Component", "displayName": { - "en": "excluded from comfort analytics" + "en": "fan" }, - "name": "excludedFromComfortAnalytics", - "description": { - "en": "When true, the equipment will not be included in comfort KPIs or other comfort analytics." + "name": "fan", + "schema": "dtmi:com:willowinc:Fan;1" + }, + { + "@type": "Property", + "displayName": { + "en": "Number of Cells" }, - "schema": "boolean", + "name": "numberOfCells", + "schema": "integer", "writable": true }, { - "@type": "Component", + "@type": [ + "Property", + "Temperature" + ], + "name": "designEnteringWaterTemperature", "displayName": { - "en": "supply fan" + "en": "Design Entering Water Temperature" }, - "name": "supplyFan", - "schema": "dtmi:com:willowinc:Fan;1" + "schema": "double", + "unit": "degreeCelsius" }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "secondary cooling method" + "en": "Design Entering Water Temperature Unit" }, - "name": "secondaryCoolingMethod", - "schema": "dtmi:com:willowinc:HVACCoolingMethod;1" + "name": "designEnteringWaterTemperatureUnit", + "annotates": "designEnteringWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { - "@type": "Property", + "@type": [ + "Property", + "Temperature" + ], + "name": "designLeavingWaterTemperature", "displayName": { - "en": "piping configuration" + "en": "Design Leaving Water Temperature" }, - "name": "pipingConfiguration", - "description": { - "en": "When equipped with a single coil that is dual purpose for both heating and cooling depending upon the mode of the central plant, set to TwoPipe." + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Leaving Water Temperature Unit" }, - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "TwoPipe", - "name": "TwoPipe" - }, - { - "enumValue": "FourPipe", - "name": "FourPipe" - } - ], - "valueSchema": "string" + "name": "designLeavingWaterTemperatureUnit", + "annotates": "designLeavingWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designEnteringWetBulbTemperature", + "displayName": { + "en": "Design Entering Wet Bulb Temperature" }, - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "return fan" + "en": "Design Entering Wet Bulb Temperature Unit" }, - "name": "returnFan", - "schema": "dtmi:com:willowinc:Fan;1" + "name": "designEnteringWetBulbTemperatureUnit", + "annotates": "designEnteringWetBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { - "@type": "Component", + "@type": [ + "Property", + "Temperature" + ], + "name": "approach", "displayName": { - "en": "re-heating method" + "en": "Approach" }, - "name": "reHeatingMethod", - "schema": "dtmi:com:willowinc:HVACHeatingMethod;1" + "description": { + "en": "The cooling tower approach is the difference between leaving water temperature and ambient wet bulb temperature." + }, + "schema": "double", + "unit": "degreeCelsius" }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "primary cooling method" + "en": "Approach Unit" }, - "name": "primaryCoolingMethod", - "schema": "dtmi:com:willowinc:HVACCoolingMethod;1" + "name": "approachUnit", + "annotates": "approach", + "overrides": "unit", + "schema": "TemperatureUnit" }, { - "@type": "Component", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "pre-heating method" + "en": "Design Minimum Flow" }, - "name": "preHeatingMethod", - "schema": "dtmi:com:willowinc:HVACHeatingMethod;1" + "name": "designMinFlow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "mixing box" + "en": "Design Minimum Flow Unit" }, - "name": "mixingBox", - "schema": "dtmi:com:willowinc:HVACMixingBox;1" + "name": "designMinFlowUnit", + "annotates": "designMinFlow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true }, { - "@type": "Component", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "exhaust fan" + "en": "Design Maximum Flow" }, - "name": "exhaustFan", - "schema": "dtmi:com:willowinc:Fan;1" + "name": "designMaxFlow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "energy recovery device" + "en": "Design Maximum Flow Unit" }, - "name": "energyRecoveryDevice", - "schema": "dtmi:com:willowinc:EnergyRecoveryDevice;1" + "name": "designMaxFlowUnit", + "annotates": "designMaxFlow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true } ], - "schemas": [], "@context": [ "dtmi:dtdl:context;3", "dtmi:dtdl:extension:quantitativeTypes;1", @@ -18548,34 +18402,33 @@ ] }, { - "@id": "dtmi:com:willowinc:AirHandlingUnitSection;1", + "@id": "dtmi:com:willowinc:CostSensor;1", "@type": "Interface", "displayName": { - "en": "Air Handling Unit Section" + "en": "Cost Sensor" }, "description": { - "en": "A primary element of an air handling unit." + "en": "The cost trend associated with a particular service provided by an entity such as utility." }, "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], - "schemas": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:AirInletsOutlets;1", + "@id": "dtmi:com:willowinc:CountSensor;1", "@type": "Interface", "displayName": { - "en": "Air Inlets and Outlets" + "en": "Count Sensor" + }, + "description": { + "en": "The count feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -18583,16 +18436,16 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:AirBase;1", + "@id": "dtmi:com:willowinc:CurrentSensor;1", "@type": "Interface", "displayName": { - "en": "Air Base" + "en": "Current Sensor" }, "description": { - "en": "An airport used as a military base by a military force for the operation of military aircraft." + "en": "The current feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:airport:Airport;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -18600,27 +18453,59 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:Aircraft;1", + "@id": "dtmi:com:willowinc:DataNetworkEquipment;1", "@type": "Interface", "displayName": { - "en": "Aircraft" + "en": "Data Network Equipment" }, "extends": [ - "dtmi:com:willowinc:airport:AirportVehicle;1" + "dtmi:com:willowinc:ICTEquipment;1" + ], + "contents": [ + { + "@type": "Relationship", + "displayName": { + "en": "mounted in rack" + }, + "name": "mountedInRack", + "properties": [ + { + "@type": "Property", + "displayName": { + "en": "rack top position (RU)" + }, + "name": "rackTopPosition", + "schema": "integer", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "rack bottom position (RU)" + }, + "name": "rackBottomPosition", + "schema": "integer", + "writable": true + } + ], + "target": "dtmi:com:willowinc:ITRack;1" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:airport:AircraftBoardingEquipment;1", + "@id": "dtmi:com:willowinc:DataRateSensor;1", "@type": "Interface", "displayName": { - "en": "Aircraft Boarding Equipment" + "en": "Data Rate Sensor" + }, + "description": { + "en": "The data rate feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -18628,16 +18513,16 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:AircraftDockState;1", + "@id": "dtmi:com:willowinc:DataSizeSensor;1", "@type": "Interface", "displayName": { - "en": "Aircraft Dock State" + "en": "Data Size Sensor" }, "description": { - "en": "The Boolean state of the aircraft which is \u0027docked\u0027 when \u0027true\u0027 and \u0027not docked\u0027 when \u0027false\u0027" + "en": "The data size feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:BinaryState;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -18645,14 +18530,16 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:AircraftElectricalEquipment;1", + "@id": "dtmi:com:willowinc:DeadbandSetpoint;1", "@type": "Interface", "displayName": { - "en": "Aircraft Electrical Equipment" + "en": "Deadband Setpoint" + }, + "description": { + "en": "The deadband around a setpoint" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1", - "dtmi:com:willowinc:ElectricalEquipment;1" + "dtmi:com:willowinc:Setpoint;1" ], "contents": [], "@context": [ @@ -18660,14 +18547,16 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:AircraftHVACEquipment;1", + "@id": "dtmi:com:willowinc:DefaultOverrideActuator;1", "@type": "Interface", "displayName": { - "en": "Aircraft HVAC Equipment" + "en": "Default/Override Actuator" + }, + "description": { + "en": "The Boolean command which sets the state of the equipment to \u0027override\u0027 when \u0027true\u0027 and \u0027default\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1", - "dtmi:com:willowinc:HVACEquipment;1" + "dtmi:com:willowinc:BinaryActuator;1" ], "contents": [], "@context": [ @@ -18675,325 +18564,84 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:AirfieldLightingEquipment;1", + "@id": "dtmi:com:willowinc:DefaultOverrideState;1", "@type": "Interface", "displayName": { - "en": "Lighting Equipment" + "en": "Default/Override State" + }, + "description": { + "en": "The Boolean state of the equipment which is \u0027override\u0027 when \u0027true\u0027 and \u0027default\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1", - "dtmi:com:willowinc:LightingEquipment;1" - ], - "contents": [ - { - "@type": "Property", - "name": "faaIntesityRating", - "displayName": { - "en": "FAA IntesityRating" - }, - "writable": true, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "low", - "displayName": "Low", - "enumValue": "Low" - }, - { - "name": "medium", - "displayName": "Medium", - "enumValue": "Medium" - }, - { - "name": "high", - "displayName": "High", - "enumValue": "High" - } - ] - } - }, - { - "@type": "Property", - "name": "installation", - "displayName": { - "en": "Installation" - }, - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "type", - "displayName": { - "en": "Type" - }, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "elevated", - "displayName": "Elevated", - "enumValue": "Elevated" - }, - { - "name": "inset", - "displayName": "Inset", - "enumValue": "Inset" - } - ] - } - }, - { - "name": "mounting", - "displayName": { - "en": "Mounting" - }, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "base", - "displayName": "Base", - "enumValue": "Base" - }, - { - "name": "stake", - "displayName": "Stake", - "enumValue": "Stake" - }, - { - "name": "direct", - "displayName": "Direct", - "enumValue": "Direct" - } - ] - } - } - ] - } - }, - { - "@type": "Property", - "name": "lightDirection", - "displayName": { - "en": "Light Direction" - }, - "writable": true, - "schema": { - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "unidirectional", - "displayName": "Unidirectional", - "enumValue": "Unidirectional" - }, - { - "name": "bidirectional", - "displayName": "Bidirectional", - "enumValue": "Bidirectional" - }, - { - "name": "omnidirectional", - "displayName": "Omnidirectional", - "enumValue": "Omnidirectional" - } - ] - } - }, - { - "@type": "Property", - "name": "lightColors", - "displayName": { - "en": "Light Colors" - }, - "writable": true, - "schema": "string", - "comment": "yellow, white-white, red-green" - } + "dtmi:com:willowinc:BinaryState;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:airport:AirfieldPavementMarking;1", + "@id": "dtmi:com:willowinc:DegreeDays;1", "@type": "Interface", "displayName": { - "en": "Airfield Pavement Marking" + "en": "Degree Days" + }, + "description": { + "en": "An accumulation of the degree days, based on the time-based integral of the difference between a threshold value and the outside air temperature" }, "extends": [ - "dtmi:com:willowinc:PavementMarking;1" - ], - "contents": [ - { - "@type": "Property", - "name": "message", - "displayName": { - "en": "Message" - }, - "writable": true, - "schema": "string", - "comment": "A | 36-18" - } + "dtmi:com:willowinc:QuantityPerformanceIndicator;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:airport:AirfieldSignageEquipment;1", + "@id": "dtmi:com:willowinc:DegreeHours;1", "@type": "Interface", "displayName": { - "en": "Airfield Signage Equipment" + "en": "Degree Hours" + }, + "description": { + "en": "An accumulation of the degree hours, based on the time-based integral of the difference between a threshold value and the outside air temperature" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1" - ], - "contents": [ - { - "@type": "Property", - "name": "message", - "displayName": { - "en": "Message" - }, - "writable": true, - "schema": "string", - "comment": "A | 36-18" - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "messageHeight", - "displayName": { - "en": "Height" - }, - "writable": true, - "schema": "double", - "unit": "millimetre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "message height unit" - }, - "name": "messageHeightUnit", - "annotates": "messageHeight", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "panelHeight", - "displayName": { - "en": "Panel Height" - }, - "writable": true, - "schema": "double", - "unit": "millimetre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "panel height unit" - }, - "name": "panelHeightUnit", - "annotates": "panelHeight", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "panelWidth", - "displayName": { - "en": "Panel Width" - }, - "writable": true, - "schema": "double", - "unit": "millimetre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "panel width unit" - }, - "name": "panelWidthUnit", - "annotates": "panelWidth", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Length" - ], - "name": "installedHeight", - "displayName": { - "en": "Installed Height" - }, - "writable": true, - "schema": "double", - "unit": "millimetre" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "installed height unit" - }, - "name": "installedHeightUnit", - "annotates": "installedHeight", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } + "dtmi:com:willowinc:QuantityPerformanceIndicator;1" ], + "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DegreeTimeThreshold;1", + "@type": "Interface", + "displayName": { + "en": "Degree Time Threshold" + }, + "description": { + "en": "The threshold value upon which degree time calculations are made" + }, + "extends": [ + "dtmi:com:willowinc:QuantityPerformanceIndicator;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:airport:AirportICTEquipment;1", + "@id": "dtmi:com:willowinc:DensitySensor;1", "@type": "Interface", "displayName": { - "en": "Airport ICT Equipment" + "en": "Density Sensor" + }, + "description": { + "en": "The density feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1", - "dtmi:com:willowinc:ICTEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -19001,13 +18649,13 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:BaggageHandlingEquipment;1", + "@id": "dtmi:com:willowinc:DishwashingEquipment;1", "@type": "Interface", "displayName": { - "en": "Baggage Handling Equipment" + "en": "Dishwashing Equipment" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1" + "dtmi:com:willowinc:FoodserviceEquipment;1" ], "contents": [], "@context": [ @@ -19015,16 +18663,13 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:Heliport;1", + "@id": "dtmi:com:willowinc:DistributionRacewayCollection;1", "@type": "Interface", "displayName": { - "en": "Heliport" - }, - "description": { - "en": "An airport solely serving helicopters." + "en": "Distribution Raceway Collection" }, "extends": [ - "dtmi:com:willowinc:airport:Airport;1" + "dtmi:com:willowinc:DistributionAssetCollection;1" ], "contents": [], "@context": [ @@ -19032,16 +18677,13 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:SeaplaneBase;1", + "@id": "dtmi:com:willowinc:DoorHardware;1", "@type": "Interface", "displayName": { - "en": "Seaplane Base" - }, - "description": { - "en": "An airport that is located in a body of water, usually a river, bay, harbor, or lake, where seaplanes and amphibious aircraft take-off and land." + "en": "Door Hardware" }, "extends": [ - "dtmi:com:willowinc:airport:Airport;1" + "dtmi:com:willowinc:BarrierAssetHardware;1" ], "contents": [], "@context": [ @@ -19049,13 +18691,13 @@ ] }, { - "@id": "dtmi:com:willowinc:airport:WindCone;1", + "@id": "dtmi:com:willowinc:Drain;1", "@type": "Interface", "displayName": { - "en": "Wind Cone" + "en": "Drain" }, "extends": [ - "dtmi:com:willowinc:airport:AirportEquipment;1" + "dtmi:com:willowinc:PlumbingEquipment;1" ], "contents": [], "@context": [ @@ -19063,16 +18705,13 @@ ] }, { - "@id": "dtmi:com:willowinc:AirQualitySensor;1", + "@id": "dtmi:com:willowinc:DuctHeater;1", "@type": "Interface", "displayName": { - "en": "Air Quality Sensor" - }, - "description": { - "en": "The air quality feedback from a sensor" + "en": "Duct Heater" }, "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" + "dtmi:com:willowinc:HVACEquipment;1" ], "contents": [], "@context": [ @@ -19080,30 +18719,36 @@ ] }, { - "@id": "dtmi:com:willowinc:AirTestingAndBalancingReport;1", + "@id": "dtmi:com:willowinc:DuctSilencer;1", "@type": "Interface", "displayName": { - "en": "Air Testing and Balancing Report" + "en": "Duct Silencer" }, "extends": [ - "dtmi:com:willowinc:TestingAndBalancingReport;1" + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [ + { + "@type": "Component", + "name": "ductInlet", + "displayName": { + "en": "Duct Inlet" + }, + "schema": "dtmi:com:willowinc:DuctConnection;1" + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:AlarmState;1", + "@id": "dtmi:com:willowinc:ElectricalCable;1", "@type": "Interface", "displayName": { - "en": "Alarm State" - }, - "description": { - "en": "The Boolean state of the equipment which is \u0027alarm\u0027 when \u0027true\u0027 and \u0027normal\u0027 when \u0027false\u0027" + "en": "Electrical Cable" }, "extends": [ - "dtmi:com:willowinc:BinaryState;1" + "dtmi:com:willowinc:Cable;1" ], "contents": [], "@context": [ @@ -19111,16 +18756,75 @@ ] }, { - "@id": "dtmi:com:willowinc:AngleSensor;1", + "@id": "dtmi:com:willowinc:ElectricalDistributionEquipment;1", "@type": "Interface", "displayName": { - "en": "Angle Sensor" + "en": "Electrical Distribution Equipment" }, - "description": { - "en": "The angle feedback from a sensor" + "extends": [ + "dtmi:com:willowinc:ElectricalEquipment;1" + ], + "contents": [ + { + "@type": "Property", + "name": "loadClassification", + "displayName": { + "en": "Load Classification" + }, + "schema": { + "@type": "Map", + "mapKey": { + "name": "loadClassification", + "description": { + "en": "A shortened DTDL Model Identifier (doesn\u0027t include the full path or version) of an asset or group of assets that are connected to this electrical distribution equipment (i.e. HVACEquipment, AirHandlingUnit)." + }, + "schema": "string" + }, + "mapValue": { + "name": "loadParameters", + "schema": { + "@type": "Object", + "fields": [ + { + "name": "consumptionPercent", + "description": { + "en": "The percent of the total energy consumed by this electrical distribution equipment that this load classification accounts for." + }, + "schema": "double" + }, + { + "name": "connectedLoad", + "description": { + "en": "The total apparent power in VA connected to this electrical distribution equipment that this load classification accounts for." + }, + "schema": "double" + }, + { + "name": "demandFactor", + "description": { + "en": "The percent of the connected load that is consuming energy at any given time. This can be used to calculate the demand load as a percentage of the connected load." + }, + "schema": "double" + } + ] + } + } + } + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:ElectricalGenerationStorageEquipment;1", + "@type": "Interface", + "displayName": { + "en": "Electrical Generation \u0026 Storage Equipment" }, "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" + "dtmi:com:willowinc:ElectricalEquipment;1" ], "contents": [], "@context": [ @@ -19128,13 +18832,111 @@ ] }, { - "@id": "dtmi:com:willowinc:AreaSensor;1", + "@id": "dtmi:com:willowinc:ElectricalMeter;1", "@type": "Interface", "displayName": { - "en": "Area Sensor" + "en": "Electrical Meter" + }, + "extends": [ + "dtmi:com:willowinc:MeterEquipment;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "DC", + "name": "DC" + }, + { + "enumValue": "AC", + "name": "AC" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": [ + "Voltage", + "Property" + ], + "displayName": { + "en": "maximum voltage rating" + }, + "name": "minVoltageRating", + "schema": "double", + "unit": "volt", + "writable": true + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "minimum current rating" + }, + "name": "minCurrentRating", + "schema": "double", + "unit": "ampere", + "writable": true + }, + { + "@type": [ + "Voltage", + "Property" + ], + "displayName": { + "en": "maximum voltage rating" + }, + "name": "maxVoltageRating", + "schema": "double", + "unit": "volt", + "writable": true + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "maximum current rating" + }, + "name": "maxCurrentRating", + "schema": "double", + "unit": "ampere", + "writable": true + }, + { + "@type": "Relationship", + "displayName": { + "en": "sub-meter of" + }, + "name": "subMeterOf", + "target": "dtmi:com:willowinc:ElectricalMeter;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, + { + "@id": "dtmi:com:willowinc:ElectricChargeSensor;1", + "@type": "Interface", + "displayName": { + "en": "Electric Charge Sensor" }, "description": { - "en": "The area feedback from a sensor" + "en": "The electric charge feedback from a sensor" }, "extends": [ "dtmi:com:willowinc:QuantitySensor;1" @@ -19145,13 +18947,13 @@ ] }, { - "@id": "dtmi:com:willowinc:AsphaltConcretePavementSection;1", + "@id": "dtmi:com:willowinc:ElevatingPlatformLift;1", "@type": "Interface", "displayName": { - "en": "Asphalt Concrete Pavement Section" + "en": "Elevating Platform Lift" }, "extends": [ - "dtmi:com:willowinc:PavementSection;1" + "dtmi:com:willowinc:ConveyanceEquipment;1" ], "contents": [], "@context": [ @@ -19159,47 +18961,281 @@ ] }, { - "@id": "dtmi:com:willowinc:AudioVisualEquipment;1", + "@id": "dtmi:com:willowinc:Elevator;1", "@type": "Interface", "displayName": { - "en": "Audio Visual Equipment" + "en": "Elevator" }, "extends": [ - "dtmi:com:willowinc:ICTEquipment;1" + "dtmi:com:willowinc:ConveyanceEquipment;1" + ], + "contents": [ + { + "@type": "Property", + "description": { + "en": "The number of people who can fit in a Space." + }, + "displayName": { + "en": "person capacity" + }, + "name": "personCapacity", + "schema": "integer", + "writable": true + }, + { + "@type": [ + "Mass", + "Property" + ], + "displayName": { + "en": "weight capacity" + }, + "name": "weightCapacity", + "schema": "double", + "unit": "kilogram", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "weight capacity unit" + }, + "name": "weightCapacityUnit", + "annotates": "weightCapacity", + "overrides": "unit", + "schema": "MassUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Velocity" + ], + "displayName": { + "en": "maximum travel speed" + }, + "name": "maxTravelSpeed", + "schema": "double", + "unit": "metrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "maximum travel speed unit" + }, + "name": "maxTravelSpeedUnit", + "annotates": "maxTravelSpeed", + "overrides": "unit", + "schema": "VelocityUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Length" + ], + "displayName": { + "en": "maximum travel distance" + }, + "name": "maxTravelDistance", + "schema": "double", + "unit": "metre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "maximum travel distance unit" + }, + "name": "maxTravelDistanceUnit", + "annotates": "maxTravelDistance", + "overrides": "unit", + "schema": "LengthUnit", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "maximum landings" + }, + "name": "maxLandings", + "schema": "integer", + "writable": true + }, + { + "@type": "Property", + "name": "fireServiceAccessElevator", + "displayName": { + "en": "Fire Service Access Elevator" + }, + "writable": true, + "schema": "boolean" + }, + { + "@type": "Property", + "name": "emergencyCommunication", + "displayName": { + "en": "Emergency Communication" + }, + "writable": true, + "schema": { + "@type": "Object", + "fields": [ + { + "name": "twoWayVoice", + "displayName": { + "en": "Two-Way Voice" + }, + "schema": "boolean" + }, + { + "name": "twoWayMessageDisplay", + "displayName": { + "en": "Two-Way Message Display" + }, + "schema": "boolean" + }, + { + "name": "oneWayVideo", + "displayName": { + "en": "One-Way Video" + }, + "schema": "boolean" + } + ] + } + } ], - "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:AutoLevelDeployedState;1", + "@id": "dtmi:com:willowinc:ElevatorMachine;1", "@type": "Interface", "displayName": { - "en": "Auto-Level Deployed State" - }, - "description": { - "en": "The Boolean state of the auto-leveler which is \u0027deployed\u0027 when \u0027true\u0027 and \u0027not deployed\u0027 when \u0027false\u0027" + "en": "Elevator Machine" }, "extends": [ - "dtmi:com:willowinc:BinaryState;1" + "dtmi:com:willowinc:ConveyanceEquipment;1" + ], + "contents": [ + { + "@type": [ + "Mass", + "Property" + ], + "displayName": { + "en": "weight capacity" + }, + "name": "weightCapacity", + "schema": "double", + "unit": "kilogram", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "weight capacity unit" + }, + "name": "weightCapacityUnit", + "annotates": "weightCapacity", + "overrides": "unit", + "schema": "MassUnit", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "motor power" + }, + "name": "motorPower", + "schema": "double", + "unit": "horsepower", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "motor power unit" + }, + "name": "motorPowerUnit", + "annotates": "motorPower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "brake horsepower" + }, + "name": "brakeHorsepower", + "schema": "double", + "unit": "horsepower", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "brake horsepower unit" + }, + "name": "brakeHorsepowerUnit", + "annotates": "brakeHorsepower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + } ], - "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:BackOfHouseArea;1", + "@id": "dtmi:com:willowinc:ElevatorShaft;1", "@type": "Interface", "displayName": { - "en": "Back of House Area" - }, - "description": { - "en": "An area within a building, generally a hotel or restaurant, designated for fundamental operations where the guests or customers do not occupy or have access." + "en": "Elevator Shaft" }, "extends": [ - "dtmi:com:willowinc:BuildingOperationsArea;1" + "dtmi:com:willowinc:StructuralShaft;1" ], "contents": [], "@context": [ @@ -19207,13 +19243,13 @@ ] }, { - "@id": "dtmi:com:willowinc:BeverageEquipment;1", + "@id": "dtmi:com:willowinc:EmergencyPreparednessEquipment;1", "@type": "Interface", "displayName": { - "en": "Beverage Equipment" + "en": "Emergency Preparedness Equipment" }, "extends": [ - "dtmi:com:willowinc:FoodserviceEquipment;1" + "dtmi:com:willowinc:SafetyEquipment;1" ], "contents": [], "@context": [ @@ -19221,16 +19257,16 @@ ] }, { - "@id": "dtmi:com:willowinc:BinaryModeState;1", + "@id": "dtmi:com:willowinc:EnergyEfficiencyRatio;1", "@type": "Interface", "displayName": { - "en": "Binary Mode State" + "en": "Energy Efficiency Ratio (EER)" }, "description": { - "en": "The Boolean state of the mode which is \u0027on\u0027 when \u0027true\u0027 and \u0027off\u0027 when \u0027false\u0027" + "en": "A performance indicator for equipment with a refrigeration or cooling function which is the ratio of the thermal power output (BTU/hr) to its electrical energy input (W)." }, "extends": [ - "dtmi:com:willowinc:BinaryState;1" + "dtmi:com:willowinc:RatioPerformanceIndicator;1" ], "contents": [], "@context": [ @@ -19238,58 +19274,60 @@ ] }, { - "@id": "dtmi:com:willowinc:BinarySensor;1", + "@id": "dtmi:com:willowinc:EnergyRecoveryDevice;1", "@type": "Interface", "displayName": { - "en": "Binary Sensor" + "en": "Energy Recovery Device" }, "description": { - "en": "The Boolean status from a sensor" + "en": "An asset component that transfers energy between two different streams of air." }, "extends": [ - "dtmi:com:willowinc:StateSensor;1" + "dtmi:com:willowinc:AssetComponent;1", + "dtmi:com:willowinc:GeneralPurposeEquipment;1" ], "contents": [ { "@type": "Property", - "name": "lastValue", "displayName": { - "en": "Last Value" + "en": "nominal enthalpy recovery ratio (ERR)" }, - "writable": true, - "schema": "boolean" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Boiler;1", - "@type": "Interface", - "displayName": { - "en": "Boiler" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1" - ], - "contents": [ + "name": "nominalEnthalpyRecoveryRatio", + "schema": "double", + "writable": true + }, { "@type": "Property", "displayName": { - "en": "type" + "en": "energy recovery method" }, - "name": "type", + "name": "energyRecoveryMethod", "schema": { "@type": "Enum", "enumValues": [ { - "enumValue": "WaterTube", - "name": "WaterTube" + "enumValue": "Sensible Energy Wheel", + "name": "SensibleEnergyWheel" }, { - "enumValue": "FireTube", - "name": "FireTube" + "enumValue": "Enthalpy Wheel", + "name": "EnthalpyWheel" + }, + { + "enumValue": "DualWheel", + "name": "DualWheel" + }, + { + "enumValue": "Sensible Energy Core", + "name": "SensibleEnergyCore" + }, + { + "enumValue": "Enthalpy Core", + "name": "EnthalpyCore" + }, + { + "enumValue": "DualCoils", + "name": "DualCoils" } ], "valueSchema": "string" @@ -19299,133 +19337,95 @@ { "@type": [ "Property", - "Volume" + "Pressure" ], "displayName": { - "en": "tank capacity" + "en": "supply cooling air pressure drop" }, - "name": "tankCapacity", + "name": "supplyCoolingAirPressureDrop", "schema": "double", - "unit": "litre", - "writable": true + "unit": "inchesOfWater" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "VolumeFlowRate" ], "displayName": { - "en": "tank capacity unit" + "en": "supply cooling minimum airflow rating" }, - "name": "tankCapacityUnit", - "annotates": "tankCapacity", - "overrides": "unit", - "schema": "VolumeUnit", - "writable": true + "name": "supplyCoolingMinAirflowRating", + "schema": "double", + "unit": "litrePerSecond" }, { "@type": [ - "Power", - "Property" + "Property", + "VolumeFlowRate" ], "displayName": { - "en": "power output" + "en": "supply cooling maximum airflow rating" }, - "name": "powerOutput", + "name": "supplyCoolingMaxAirflowRating", "schema": "double", - "unit": "watt", - "writable": true + "unit": "litrePerSecond" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "VolumeFlowRate" ], "displayName": { - "en": "power output unit" + "en": "supply cooling design eirflow" }, - "name": "powerOutputUnit", - "annotates": "powerOutput", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "name": "supplyCoolingDesignAirflow", + "schema": "double", + "unit": "litrePerSecond" }, { "@type": [ - "Power", - "Property" + "Property", + "Temperature" ], + "name": "supplyCoolingDesignEnteringAirDryBulbTemperature", "displayName": { - "en": "power input" + "en": "supply cooling design entering air dry bulb temperature" }, - "name": "powerInput", "schema": "double", - "unit": "watt", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Temperature" ], + "name": "supplyCoolingDesignLeavingAirDryBulbTemperature", "displayName": { - "en": "power input unit" - }, - "name": "powerInputUnit", - "annotates": "powerInput", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "medium" - }, - "name": "medium", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Steam", - "name": "Steam" - }, - { - "enumValue": "HotWater", - "name": "HotWater" - } - ], - "valueSchema": "string" + "en": "supply cooling design leaving air dry bulb temperature" }, - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", - "VolumeFlowRate" + "Temperature" ], - "description": { - "en": "Imperial measure for the recovery rate of a boiler (gallons per hour)." - }, + "name": "supplyCoolingDesignEnteringAirWetBulbTemperature", "displayName": { - "en": "recovery @ 100F rise" + "en": "supply cooling design entering air wet bulb temperature" }, - "name": "recovery100FRise", - "schema": "integer", - "unit": "gallonPerHour", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", "Temperature" ], - "name": "designEnteringWaterTemperature", + "name": "supplyCoolingDesignLeavingAirWetBulbTemperature", "displayName": { - "en": "Design Entering Water Temperature" + "en": "supply cooling design leaving air wet bulb temperature" }, "schema": "double", "unit": "degreeCelsius" @@ -19433,553 +19433,290 @@ { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Pressure" ], "displayName": { - "en": "Design Entering Water Temperature Unit" + "en": "supply heating air pressure drop" }, - "name": "designEnteringWaterTemperatureUnit", - "annotates": "designEnteringWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "supplyHeatingAirPressureDrop", + "schema": "double", + "unit": "inchesOfWater" }, { "@type": [ "Property", - "Temperature" + "VolumeFlowRate" ], - "name": "designLeavingWaterTemperature", "displayName": { - "en": "Design Leaving Water Temperature" + "en": "supply heating minimum airflow rating" }, + "name": "supplyHeatingMinAirflowRating", "schema": "double", - "unit": "degreeCelsius" + "unit": "litrePerSecond" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "VolumeFlowRate" ], "displayName": { - "en": "Design Leaving Water Temperature Unit" + "en": "supply heating maximum airflow rating" }, - "name": "designLeavingWaterTemperatureUnit", - "annotates": "designLeavingWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" + "name": "supplyHeatingMaxAirflowRating", + "schema": "double", + "unit": "litrePerSecond" }, { "@type": [ "Property", - "Temperature" + "VolumeFlowRate" ], - "name": "designDeltaWaterTemperature", "displayName": { - "en": "Design Delta Water Temperature" + "en": "supply heating design eirflow" }, + "name": "supplyHeatingDesignAirflow", "schema": "double", - "unit": "degreeCelsius" + "unit": "litrePerSecond" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Temperature" ], + "name": "supplyHeatingDesignEnteringAirDryBulbTemperature", "displayName": { - "en": "Design Delta Water Temperature Unit" - }, - "name": "designDeltaWaterTemperatureUnit", - "annotates": "designDeltaWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:BuildingCommonArea;1", - "@type": "Interface", - "displayName": { - "en": "Building Common Area" - }, - "description": { - "en": "The area within a building that is shared by all tenants or occupants such as corridors, lobbies, and restrooms. In multi-tenant buildings, the landlord maintains and operates the area. In some jurisdictions, the tenants are responsible for paying rent on a pro-rata portion of this area which can also include areas that are not accessible to them such as janitor closets, HVAC rooms, and electrical rooms." - }, - "extends": [ - "dtmi:com:willowinc:BuildingOperationsArea;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CableTray;1", - "@type": "Interface", - "displayName": { - "en": "Cable Tray" - }, - "extends": "dtmi:com:willowinc:DistributionRaceway;1", - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "material" + "en": "supply heating design entering air dry bulb temperature" }, - "name": "material", - "schema": "string", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", - "Length" + "Temperature" ], + "name": "supplyHeatingDesignLeavingAirDryBulbTemperature", "displayName": { - "en": "width" + "en": "supply heating design leaving air dry bulb temperature" }, - "name": "width", "schema": "double", - "unit": "millimetre", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Temperature" ], + "name": "supplyHeatingDesignEnteringAirWetBulbTemperature", "displayName": { - "en": "width unit" + "en": "supply heating design entering air wet bulb temperature" }, - "name": "widthUnit", - "annotates": "width", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", - "Length" + "Temperature" ], + "name": "supplyHeatingDesignLeavingAirWetBulbTemperature", "displayName": { - "en": "height" + "en": "supply heating design leaving air wet bulb temperature" }, - "name": "height", "schema": "double", - "unit": "millimetre", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Pressure" ], "displayName": { - "en": "height unit" - }, - "name": "heightUnit", - "annotates": "height", - "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:CanopyDownState;1", - "@type": "Interface", - "displayName": { - "en": "Canopy Down State" - }, - "description": { - "en": "The Boolean state of a canopy which is \u0027down\u0027 when \u0027true\u0027 and \u0027up\u0027 when \u0027false\u0027" - }, - "extends": [ - "dtmi:com:willowinc:BinaryState;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CapacitanceSensor;1", - "@type": "Interface", - "displayName": { - "en": "Capacitance Sensor" - }, - "description": { - "en": "The capacitance feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CardioFitnessEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Cardio Fitness Equipment" - }, - "extends": [ - "dtmi:com:willowinc:FitnessEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CementConcretePavementSection;1", - "@type": "Interface", - "displayName": { - "en": "Cement Concrete Pavement Section" - }, - "extends": [ - "dtmi:com:willowinc:PavementSection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ChemicalDilutionDrainageEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Chemical Dilution Drainage Equipment" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Chiller;1", - "@type": "Interface", - "displayName": { - "en": "Chiller" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [ - { - "@type": "Component", - "displayName": { - "en": "Evaporator" - }, - "name": "evaporator", - "schema": "dtmi:com:willowinc:Evaporator;1" - }, - { - "@type": "Component", - "displayName": { - "en": "Compressor" + "en": "exhaust cooling air pressure drop" }, - "name": "compressor", - "schema": "dtmi:com:willowinc:Compressor;1" + "name": "exhaustCoolingAirPressureDrop", + "schema": "double", + "unit": "inchesOfWater" }, { - "@type": "Property", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "refrigerant type" + "en": "exhaust cooling minimum airflow rating" }, - "name": "refrigerantType", - "schema": "string", - "writable": true + "name": "exhaustCoolingMinAirflowRating", + "schema": "double", + "unit": "litrePerSecond" }, { "@type": [ "Property", - "EnergyRate" + "VolumeFlowRate" ], "displayName": { - "en": "nominal cooling capacity" + "en": "exhaust cooling maximum airflow rating" }, - "name": "nominalCoolingCapacity", + "name": "exhaustCoolingMaxAirflowRating", "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "unit": "litrePerSecond" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "VolumeFlowRate" ], "displayName": { - "en": "nominal cooling capacity unit" + "en": "exhaust cooling design eirflow" }, - "name": "nominalCoolingCapacityUnit", - "annotates": "nominalCoolingCapacity", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "name": "exhaustCoolingDesignAirflow", + "schema": "double", + "unit": "litrePerSecond" }, { "@type": [ "Property", - "EnergyRate" + "Temperature" ], + "name": "exhaustCoolingDesignEnteringAirDryBulbTemperature", "displayName": { - "en": "net sensible cooling capacity" + "en": "exhaust cooling design entering air dry bulb temperature" }, - "name": "netSensibleCoolingCapacity", "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Temperature" ], + "name": "exhaustCoolingDesignLeavingAirDryBulbTemperature", "displayName": { - "en": "net sensible cooling capacity unit" + "en": "exhaust cooling design leaving air dry bulb temperature" }, - "name": "netSensibleCoolingCapacityUnit", - "annotates": "netSensibleCoolingCapacity", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", - "EnergyRate" + "Temperature" ], + "name": "exhaustCoolingDesignEnteringAirWetBulbTemperature", "displayName": { - "en": "design cooling capacity" + "en": "exhaust cooling design entering air wet bulb temperature" }, - "name": "designCoolingCapacity", "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ "Property", - "ValueAnnotation", - "Override" + "Temperature" ], + "name": "exhaustCoolingDesignLeavingAirWetBulbTemperature", "displayName": { - "en": "design cooling capacity unit" + "en": "exhaust cooling design leaving air wet bulb temperature" }, - "name": "designCoolingCapacityUnit", - "annotates": "designCoolingCapacity", - "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { - "@type": "Property", + "@type": [ + "Property", + "Pressure" + ], "displayName": { - "en": "design KW/Ton" + "en": "exhaust heating air pressure drop" }, - "name": "designKWPerTon", + "name": "exhaustHeatingAirPressureDrop", "schema": "double", - "writable": true + "unit": "inchesOfWater" }, { - "@type": "Property", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "design coefficient of performance (COP)" + "en": "exhaust heating minimum airflow rating" }, - "name": "designCoefficientOfPerformance", + "name": "exhaustHeatingMinAirflowRating", "schema": "double", - "writable": true + "unit": "litrePerSecond" }, { - "@type": "Property", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "design energy efficiency ratio (EER)" + "en": "exhaust heating maximum airflow rating" }, - "name": "designEnergyEfficiencyRatio", + "name": "exhaustHeatingMaxAirflowRating", "schema": "double", - "writable": true + "unit": "litrePerSecond" }, { - "@type": "Property", + "@type": [ + "Property", + "VolumeFlowRate" + ], "displayName": { - "en": "nominal KW/Ton" + "en": "exhaust heating design eirflow" }, - "name": "nominalKWPerTon", + "name": "exhaustHeatingDesignAirflow", "schema": "double", - "writable": true + "unit": "litrePerSecond" }, { - "@type": "Property", + "@type": [ + "Property", + "Temperature" + ], + "name": "exhaustHeatingDesignEnteringAirDryBulbTemperature", "displayName": { - "en": "nominal coefficient of performance (COP)" + "en": "exhaust heating design entering air dry bulb temperature" }, - "name": "nominalCoefficientOfPerformance", "schema": "double", - "writable": true + "unit": "degreeCelsius" }, { - "@type": "Property", + "@type": [ + "Property", + "Temperature" + ], + "name": "exhaustHeatingDesignLeavingAirDryBulbTemperature", "displayName": { - "en": "nominal energy efficiency ratio (EER)" + "en": "exhaust heating design leaving air dry bulb temperature" }, - "name": "nominalEnergyEfficiencyRatio", "schema": "double", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:ClothesDryer;1", - "@type": "Interface", - "displayName": { - "en": "Dryer" - }, - "description": { - "en": "An applicance used to dry laundry such as clothes or other textiles." - }, - "extends": [ - "dtmi:com:willowinc:LaundryEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ClothesWasher;1", - "@type": "Interface", - "displayName": { - "en": "Washer" - }, - "description": { - "en": "An applicance used to wash laundry such as clothes or other textiles." - }, - "extends": [ - "dtmi:com:willowinc:LaundryEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CoefficientOfPerformance;1", - "@type": "Interface", - "displayName": { - "en": "Coefficient of Performance (COP)" - }, - "description": { - "en": "A performance indicator for equipment with a refrigeration or cooling function which is the ratio of the thermal power output (kW) to its electrical power input (kW)." - }, - "extends": [ - "dtmi:com:willowinc:RatioPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CompressedAirEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Compressed Air Equipment" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CondensingUnit;1", - "@type": "Interface", - "displayName": { - "en": "Condensing Unit" - }, - "description": { - "en": "A type of heat exchanger comprised of a compressor, a condenser, and a fan whose function is to remove heat in a split system air conditioner. It is typically located outdoors." - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "WaterCooled", - "name": "WaterCooled" - }, - { - "enumValue": "AirCooled", - "name": "AirCooled" - } - ], - "valueSchema": "string" - }, - "writable": true + "unit": "degreeCelsius" }, { - "@type": "Property", + "@type": [ + "Property", + "Temperature" + ], + "name": "exhaustHeatingDesignEnteringAirWetBulbTemperature", "displayName": { - "en": "refrigerant type" + "en": "exhaust heating design entering air wet bulb temperature" }, - "name": "refrigerantType", - "schema": "string", - "writable": true + "schema": "double", + "unit": "degreeCelsius" }, { "@type": [ "Property", - "EnergyRate" + "Temperature" ], + "name": "exhaustHeatingDesignLeavingAirWetBulbTemperature", "displayName": { - "en": "nominal heating capacity" + "en": "exhaust heating design leaving air wet bulb temperature" }, - "name": "nominalHeatingCapacity", "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -19988,26 +19725,26 @@ "Override" ], "displayName": { - "en": "nominal heating capacity unit" + "en": "supply cooling air pressure drop unit" }, - "name": "nominalHeatingCapacityUnit", - "annotates": "nominalHeatingCapacity", + "name": "supplyCoolingAirPressureDropUnit", + "annotates": "supplyCoolingAirPressureDrop", "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "PressureUnit" }, { "@type": [ "Property", - "EnergyRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "nominal cooling capacity" + "en": "supply cooling minimum airflow rating unit" }, - "name": "nominalCoolingCapacity", - "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "name": "supplyCoolingMinAirflowRatingUnit", + "annotates": "supplyCoolingMinAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ @@ -20016,26 +19753,26 @@ "Override" ], "displayName": { - "en": "nominal cooling capacity unit" + "en": "supply cooling maximum airflow rating unit" }, - "name": "nominalCoolingCapacityUnit", - "annotates": "nominalCoolingCapacity", + "name": "supplyCoolingMaxAirflowRatingUnit", + "annotates": "supplyCoolingMaxAirflowRating", "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "VolumeFlowRateUnit" }, { "@type": [ "Property", - "EnergyRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "net sensible heating capacity" + "en": "supply cooling design airflow unit" }, - "name": "netSensibleHeatingCapacity", - "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "name": "supplyCoolingDesignAirflowUnit", + "annotates": "supplyCoolingDesignAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ @@ -20044,26 +19781,26 @@ "Override" ], "displayName": { - "en": "net sensible heating capacity unit" + "en": "supply cooling design entering air dry bulb temperature unit" }, - "name": "netSensibleHeatingCapacityUnit", - "annotates": "netSensibleHeatingCapacity", + "name": "supplyCoolingDesignEnteringAirDryBulbTemperatureUnit", + "annotates": "supplyCoolingDesignEnteringAirDryBulbTemperature", "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "EnergyRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "net sensible cooling capacity" + "en": "supply cooling design leaving air dry bulb temperature unit" }, - "name": "netSensibleCoolingCapacity", - "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "name": "supplyCoolingDesignLeavingAirDryBulbTemperatureUnit", + "annotates": "supplyCoolingDesignLeavingAirDryBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20072,111 +19809,26 @@ "Override" ], "displayName": { - "en": "net sensible cooling capacity unit" + "en": "supply coolign design entering air wet bulb temperature unit" }, - "name": "netSensibleCoolingCapacityUnit", - "annotates": "netSensibleCoolingCapacity", + "name": "supplyCoolingDesignEnteringAirWetBulbTemperatureUnit", + "annotates": "supplyCoolingDesignEnteringAirWetBulbTemperature", "overrides": "unit", - "schema": "PowerUnit", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "energy efficiency ratio" - }, - "name": "eer", - "schema": "double", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:ConditionState;1", - "@type": "Interface", - "displayName": { - "en": "Condition State" - }, - "description": { - "en": "The multi-state condition of the equipment" - }, - "extends": [ - "dtmi:com:willowinc:MultiState;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ConductanceSensor;1", - "@type": "Interface", - "displayName": { - "en": "Conductance Sensor" - }, - "description": { - "en": "The conductance feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ConductivitySensor;1", - "@type": "Interface", - "displayName": { - "en": "Conductivity Sensor" - }, - "description": { - "en": "The conductivity feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Conduit;1", - "@type": "Interface", - "displayName": { - "en": "Conduit" - }, - "extends": "dtmi:com:willowinc:DistributionRaceway;1", - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "material" - }, - "name": "material", - "schema": "string", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "Length" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "diameter" + "en": "supply cooling design leaving air wet bulb temperature unit" }, - "name": "diameter", - "schema": "double", - "unit": "millimetre", - "writable": true + "name": "supplyCoolingDesignLeavingAirWetBulbTemperatureUnit", + "annotates": "supplyCoolingDesignLeavingAirWetBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20185,121 +19837,82 @@ "Override" ], "displayName": { - "en": "diameter unit" + "en": "supply heating air pressure drop unit" }, - "name": "diameterUnit", - "annotates": "diameter", + "name": "supplyHeatingAirPressureDropUnit", + "annotates": "supplyHeatingAirPressureDrop", "overrides": "unit", - "schema": "LengthUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:Controller;1", - "@type": "Interface", - "displayName": { - "en": "Controller" - }, - "extends": [ - "dtmi:com:willowinc:ICTEquipment;1" - ], - "contents": [ - { - "@type": "Property", - "name": "registrationID", - "displayName": { - "en": "Registration ID" - }, - "writable": true, - "schema": "string" + "schema": "PressureUnit" }, { - "@type": "Property", - "name": "registrationKey", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Registration Key" + "en": "supply heating minimum airflow rating unit" }, - "writable": true, - "schema": "string" + "name": "supplyHeatingMinAirflowRatingUnit", + "annotates": "supplyHeatingMinAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { - "@type": "Property", - "name": "connectorID", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Connector ID" + "en": "supply heating maximum airflow rating unit" }, - "writable": true, - "schema": "string" + "name": "supplyHeatingMaxAirflowRatingUnit", + "annotates": "supplyHeatingMaxAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { - "@type": "Property", - "name": "enabled", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Is Enabled" + "en": "supply heating design airflow unit" }, - "writable": true, - "schema": "boolean" + "name": "supplyHeatingDesignAirflowUnit", + "annotates": "supplyHeatingDesignAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { - "@type": "Property", - "name": "detected", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Is Detected" + "en": "supply heating design entering air dry bulb temperature unit" }, - "writable": true, - "schema": "boolean" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CookingEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Cooking Equipment" - }, - "extends": [ - "dtmi:com:willowinc:FoodserviceEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CoolingTower;1", - "@type": "Interface", - "displayName": { - "en": "Cooling Tower" - }, - "description": { - "en": "A device that rejects waste heat to the atmosphere through the cooling of a coolant stream, usually a water stream to a lower temperature." - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [ + "name": "supplyHeatingDesignEnteringAirDryBulbTemperatureUnit", + "annotates": "supplyHeatingDesignEnteringAirDryBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, { "@type": [ "Property", - "EnergyRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "nominal cooling capacity" + "en": "supply heating design leaving air dry bulb temperature unit" }, - "name": "nominalCoolingCapacity", - "schema": "double", - "unit": "britishThermalUnitPerHour", - "writable": true + "name": "supplyHeatingDesignLeavingAirDryBulbTemperatureUnit", + "annotates": "supplyHeatingDesignLeavingAirDryBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20308,26 +19921,26 @@ "Override" ], "displayName": { - "en": "nominal cooling capacity unit" + "en": "supply coolign design entering air wet bulb temperature unit" }, - "name": "nominalCoolingCapacityUnit", - "annotates": "nominalCoolingCapacity", + "name": "supplyHeatingDesignEnteringAirWetBulbTemperatureUnit", + "annotates": "supplyHeatingDesignEnteringAirWetBulbTemperature", "overrides": "unit", - "schema": "PowerUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "VolumeFlowRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "flow capacity" + "en": "supply heating design leaving air wet bulb temperature unit" }, - "name": "flowCapacity", - "schema": "double", - "unit": "litrePerSecond", - "writable": true + "name": "supplyHeatingDesignLeavingAirWetBulbTemperatureUnit", + "annotates": "supplyHeatingDesignLeavingAirWetBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20336,42 +19949,54 @@ "Override" ], "displayName": { - "en": "flow capacity unit" + "en": "exhaust cooling air pressure drop unit" }, - "name": "flowCapacityUnit", - "annotates": "flowCapacity", + "name": "exhaustCoolingAirPressureDropUnit", + "annotates": "exhaustCoolingAirPressureDrop", "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true + "schema": "PressureUnit" }, { - "@type": "Component", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "fan" + "en": "exhaust cooling minimum airflow rating unit" }, - "name": "fan", - "schema": "dtmi:com:willowinc:Fan;1" + "name": "exhaustCoolingMinAirflowRatingUnit", + "annotates": "exhaustCoolingMinAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Number of Cells" + "en": "exhaust cooling maximum airflow rating unit" }, - "name": "numberOfCells", - "schema": "integer", - "writable": true + "name": "exhaustCoolingMaxAirflowRatingUnit", + "annotates": "exhaustCoolingMaxAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ "Property", - "Temperature" + "ValueAnnotation", + "Override" ], - "name": "designEnteringWaterTemperature", "displayName": { - "en": "Design Entering Water Temperature" + "en": "exhaust cooling design airflow unit" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "exhaustCoolingDesignAirflowUnit", + "annotates": "exhaustCoolingDesignAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ @@ -20380,24 +20005,26 @@ "Override" ], "displayName": { - "en": "Design Entering Water Temperature Unit" + "en": "exhaust cooling design entering air dry bulb temperature unit" }, - "name": "designEnteringWaterTemperatureUnit", - "annotates": "designEnteringWaterTemperature", + "name": "exhaustCoolingDesignEnteringAirDryBulbTemperatureUnit", + "annotates": "exhaustCoolingDesignEnteringAirDryBulbTemperature", "overrides": "unit", "schema": "TemperatureUnit" }, { "@type": [ "Property", - "Temperature" + "ValueAnnotation", + "Override" ], - "name": "designLeavingWaterTemperature", "displayName": { - "en": "Design Leaving Water Temperature" + "en": "exhaust cooling design leaving air dry bulb temperature unit" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "exhaustCoolingDesignLeavingAirDryBulbTemperatureUnit", + "annotates": "exhaustCoolingDesignLeavingAirDryBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20406,24 +20033,26 @@ "Override" ], "displayName": { - "en": "Design Leaving Water Temperature Unit" + "en": "exhaust coolign design entering air wet bulb temperature unit" }, - "name": "designLeavingWaterTemperatureUnit", - "annotates": "designLeavingWaterTemperature", + "name": "exhaustCoolingDesignEnteringAirWetBulbTemperatureUnit", + "annotates": "exhaustCoolingDesignEnteringAirWetBulbTemperature", "overrides": "unit", "schema": "TemperatureUnit" }, { "@type": [ "Property", - "Temperature" + "ValueAnnotation", + "Override" ], - "name": "designEnteringWetBulbTemperature", "displayName": { - "en": "Design Entering Wet Bulb Temperature" + "en": "exhaust cooling design leaving air wet bulb temperature unit" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "exhaustCoolingDesignLeavingAirWetBulbTemperatureUnit", + "annotates": "exhaustCoolingDesignLeavingAirWetBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20432,27 +20061,26 @@ "Override" ], "displayName": { - "en": "Design Entering Wet Bulb Temperature Unit" + "en": "exhaust heating air pressure drop unit" }, - "name": "designEnteringWetBulbTemperatureUnit", - "annotates": "designEnteringWetBulbTemperature", + "name": "exhaustHeatingAirPressureDropUnit", + "annotates": "exhaustHeatingAirPressureDrop", "overrides": "unit", - "schema": "TemperatureUnit" + "schema": "PressureUnit" }, { "@type": [ "Property", - "Temperature" + "ValueAnnotation", + "Override" ], - "name": "approach", "displayName": { - "en": "Approach" - }, - "description": { - "en": "The cooling tower approach is the difference between leaving water temperature and ambient wet bulb temperature." + "en": "exhaust heating minimum airflow rating unit" }, - "schema": "double", - "unit": "degreeCelsius" + "name": "exhaustHeatingMinAirflowRatingUnit", + "annotates": "exhaustHeatingMinAirflowRating", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ @@ -20461,25 +20089,26 @@ "Override" ], "displayName": { - "en": "Approach Unit" + "en": "exhaust heating maximum airflow rating unit" }, - "name": "approachUnit", - "annotates": "approach", + "name": "exhaustHeatingMaxAirflowRatingUnit", + "annotates": "exhaustHeatingMaxAirflowRating", "overrides": "unit", - "schema": "TemperatureUnit" + "schema": "VolumeFlowRateUnit" }, { "@type": [ "Property", - "VolumeFlowRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "Design Minimum Flow" + "en": "exhaust heating design airflow unit" }, - "name": "designMinFlow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true + "name": "exhaustHeatingDesignAirflowUnit", + "annotates": "exhaustHeatingDesignAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit" }, { "@type": [ @@ -20488,26 +20117,26 @@ "Override" ], "displayName": { - "en": "Design Minimum Flow Unit" + "en": "exhaust heating design entering air dry bulb temperature unit" }, - "name": "designMinFlowUnit", - "annotates": "designMinFlow", + "name": "exhaustHeatingDesignEnteringAirDryBulbTemperatureUnit", + "annotates": "exhaustHeatingDesignEnteringAirDryBulbTemperature", "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "VolumeFlowRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "Design Maximum Flow" + "en": "exhaust heating design leaving air dry bulb temperature unit" }, - "name": "designMaxFlow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true + "name": "exhaustHeatingDesignLeavingAirDryBulbTemperatureUnit", + "annotates": "exhaustHeatingDesignLeavingAirDryBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ @@ -20516,333 +20145,46 @@ "Override" ], "displayName": { - "en": "Design Maximum Flow Unit" + "en": "exhaust coolign design entering air wet bulb temperature unit" }, - "name": "designMaxFlowUnit", - "annotates": "designMaxFlow", + "name": "exhaustHeatingDesignEnteringAirWetBulbTemperatureUnit", + "annotates": "exhaustHeatingDesignEnteringAirWetBulbTemperature", "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:CostSensor;1", - "@type": "Interface", - "displayName": { - "en": "Cost Sensor" - }, - "description": { - "en": "The cost trend associated with a particular service provided by an entity such as utility." - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CountSensor;1", - "@type": "Interface", - "displayName": { - "en": "Count Sensor" - }, - "description": { - "en": "The count feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:CurrentSensor;1", - "@type": "Interface", - "displayName": { - "en": "Current Sensor" - }, - "description": { - "en": "The current feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DataNetworkEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Data Network Equipment" - }, - "extends": [ - "dtmi:com:willowinc:ICTEquipment;1" - ], - "contents": [ + "schema": "TemperatureUnit" + }, { - "@type": "Relationship", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "mounted in rack" + "en": "exhaust heating design leaving air wet bulb temperature unit" }, - "name": "mountedInRack", - "properties": [ - { - "@type": "Property", - "displayName": { - "en": "rack top position (RU)" - }, - "name": "rackTopPosition", - "schema": "integer", - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "rack bottom position (RU)" - }, - "name": "rackBottomPosition", - "schema": "integer", - "writable": true - } - ], - "target": "dtmi:com:willowinc:ITRack;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DataRateSensor;1", - "@type": "Interface", - "displayName": { - "en": "Data Rate Sensor" - }, - "description": { - "en": "The data rate feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DataSizeSensor;1", - "@type": "Interface", - "displayName": { - "en": "Data Size Sensor" - }, - "description": { - "en": "The data size feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DeadbandSetpoint;1", - "@type": "Interface", - "displayName": { - "en": "Deadband Setpoint" - }, - "description": { - "en": "The deadband around a setpoint" - }, - "extends": [ - "dtmi:com:willowinc:Setpoint;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DefaultOverrideActuator;1", - "@type": "Interface", - "displayName": { - "en": "Default/Override Actuator" - }, - "description": { - "en": "The Boolean command which sets the state of the equipment to \u0027override\u0027 when \u0027true\u0027 and \u0027default\u0027 when \u0027false\u0027" - }, - "extends": [ - "dtmi:com:willowinc:BinaryActuator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DefaultOverrideState;1", - "@type": "Interface", - "displayName": { - "en": "Default/Override State" - }, - "description": { - "en": "The Boolean state of the equipment which is \u0027override\u0027 when \u0027true\u0027 and \u0027default\u0027 when \u0027false\u0027" - }, - "extends": [ - "dtmi:com:willowinc:BinaryState;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DegreeDays;1", - "@type": "Interface", - "displayName": { - "en": "Degree Days" - }, - "description": { - "en": "An accumulation of the degree days, based on the time-based integral of the difference between a threshold value and the outside air temperature" - }, - "extends": [ - "dtmi:com:willowinc:QuantityPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DegreeHours;1", - "@type": "Interface", - "displayName": { - "en": "Degree Hours" - }, - "description": { - "en": "An accumulation of the degree hours, based on the time-based integral of the difference between a threshold value and the outside air temperature" - }, - "extends": [ - "dtmi:com:willowinc:QuantityPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DegreeTimeThreshold;1", - "@type": "Interface", - "displayName": { - "en": "Degree Time Threshold" - }, - "description": { - "en": "The threshold value upon which degree time calculations are made" - }, - "extends": [ - "dtmi:com:willowinc:QuantityPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DensitySensor;1", - "@type": "Interface", - "displayName": { - "en": "Density Sensor" - }, - "description": { - "en": "The density feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DishwashingEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Dishwashing Equipment" - }, - "extends": [ - "dtmi:com:willowinc:FoodserviceEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DistributionRacewayCollection;1", - "@type": "Interface", - "displayName": { - "en": "Distribution Raceway Collection" - }, - "extends": [ - "dtmi:com:willowinc:DistributionAssetCollection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DoorHardware;1", - "@type": "Interface", - "displayName": { - "en": "Door Hardware" - }, - "extends": [ - "dtmi:com:willowinc:BarrierAssetHardware;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Drain;1", - "@type": "Interface", - "displayName": { - "en": "Drain" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1" + "name": "exhaustHeatingDesignLeavingAirWetBulbTemperatureUnit", + "annotates": "exhaustHeatingDesignLeavingAirWetBulbTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + } ], - "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:DuctHeater;1", + "@id": "dtmi:com:willowinc:EnergySensor;1", "@type": "Interface", "displayName": { - "en": "Duct Heater" + "en": "Energy sensor" + }, + "description": { + "en": "The energy feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" + "dtmi:com:willowinc:QuantitySensor;1" ], "contents": [], "@context": [ @@ -20850,36 +20192,16 @@ ] }, { - "@id": "dtmi:com:willowinc:DuctSilencer;1", + "@id": "dtmi:com:willowinc:EnergyStarScore;1", "@type": "Interface", "displayName": { - "en": "Duct Silencer" + "en": "ENERGY STAR Score" }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [ - { - "@type": "Component", - "name": "ductInlet", - "displayName": { - "en": "Duct Inlet" - }, - "schema": "dtmi:com:willowinc:DuctConnection;1" - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ElectricalCable;1", - "@type": "Interface", - "displayName": { - "en": "Electrical Cable" + "description": { + "en": "The 1-100 ENERGY STAR score for a building compares it to other buildings across the United States with similar primary use characteristics. A higher score represents better performance. (energystar.gov)" }, "extends": [ - "dtmi:com:willowinc:Cable;1" + "dtmi:com:willowinc:PercentPerformanceIndicator;1" ], "contents": [], "@context": [ @@ -20887,75 +20209,30 @@ ] }, { - "@id": "dtmi:com:willowinc:ElectricalDistributionEquipment;1", + "@id": "dtmi:com:willowinc:EnthalpySensor;1", "@type": "Interface", "displayName": { - "en": "Electrical Distribution Equipment" + "en": "Enthalpy Sensor" + }, + "description": { + "en": "The enthalpy feedback from a sensor" }, "extends": [ - "dtmi:com:willowinc:ElectricalEquipment;1" - ], - "contents": [ - { - "@type": "Property", - "name": "loadClassification", - "displayName": { - "en": "Load Classification" - }, - "schema": { - "@type": "Map", - "mapKey": { - "name": "loadClassification", - "description": { - "en": "A shortened DTDL Model Identifier (doesn\u0027t include the full path or version) of an asset or group of assets that are connected to this electrical distribution equipment (i.e. HVACEquipment, AirHandlingUnit)." - }, - "schema": "string" - }, - "mapValue": { - "name": "loadParameters", - "schema": { - "@type": "Object", - "fields": [ - { - "name": "consumptionPercent", - "description": { - "en": "The percent of the total energy consumed by this electrical distribution equipment that this load classification accounts for." - }, - "schema": "double" - }, - { - "name": "connectedLoad", - "description": { - "en": "The total apparent power in VA connected to this electrical distribution equipment that this load classification accounts for." - }, - "schema": "double" - }, - { - "name": "demandFactor", - "description": { - "en": "The percent of the connected load that is consuming energy at any given time. This can be used to calculate the demand load as a percentage of the connected load." - }, - "schema": "double" - } - ] - } - } - } - } + "dtmi:com:willowinc:QuantitySensor;1" ], + "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:ElectricalGenerationStorageEquipment;1", + "@id": "dtmi:com:willowinc:EquipmentGroup;1", "@type": "Interface", "displayName": { - "en": "Electrical Generation \u0026 Storage Equipment" + "en": "Equipment Group" }, "extends": [ - "dtmi:com:willowinc:ElectricalEquipment;1" + "dtmi:com:willowinc:EquipmentCollection;1" ], "contents": [], "@context": [ @@ -20963,168 +20240,171 @@ ] }, { - "@id": "dtmi:com:willowinc:ElectricalMeter;1", + "@id": "dtmi:com:willowinc:Escalator;1", "@type": "Interface", "displayName": { - "en": "Electrical Meter" + "en": "Escalator" }, "extends": [ - "dtmi:com:willowinc:MeterEquipment;1" + "dtmi:com:willowinc:ConveyanceEquipment;1" ], "contents": [ { - "@type": "Property", + "@type": [ + "Property", + "Length" + ], "displayName": { - "en": "type" + "en": "step width" }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "DC", - "name": "DC" - }, - { - "enumValue": "AC", - "name": "AC" - } - ], - "valueSchema": "string" + "name": "stepWidth", + "schema": "double", + "unit": "millimetre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "step width unit" }, + "name": "stepWidthUnit", + "annotates": "stepWidth", + "overrides": "unit", + "schema": "LengthUnit", "writable": true }, { "@type": [ - "Voltage", - "Property" + "Property", + "Length" ], "displayName": { - "en": "maximum voltage rating" + "en": "maximum vertical rise" }, - "name": "minVoltageRating", + "name": "maxVerticalRise", "schema": "double", - "unit": "volt", + "unit": "metre", "writable": true }, { "@type": [ - "Current", - "Property" + "Property", + "ValueAnnotation", + "Override" ], "displayName": { - "en": "minimum current rating" + "en": "maximum vertical rise unit" }, - "name": "minCurrentRating", - "schema": "double", - "unit": "ampere", + "name": "maxVerticalRiseUnit", + "annotates": "maxVerticalRise", + "overrides": "unit", + "schema": "LengthUnit", "writable": true }, { "@type": [ - "Voltage", - "Property" + "Property", + "Velocity" ], "displayName": { - "en": "maximum voltage rating" + "en": "maximum travel speed" }, - "name": "maxVoltageRating", + "name": "maxTravelSpeed", "schema": "double", - "unit": "volt", + "unit": "metrePerSecond", "writable": true }, { "@type": [ - "Current", - "Property" + "Property", + "ValueAnnotation", + "Override" ], "displayName": { - "en": "maximum current rating" + "en": "maximum travel speed unit" }, - "name": "maxCurrentRating", - "schema": "double", - "unit": "ampere", + "name": "maxTravelSpeedUnit", + "annotates": "maxTravelSpeed", + "overrides": "unit", + "schema": "VelocityUnit", "writable": true }, { - "@type": "Relationship", + "@type": [ + "Angle", + "Property" + ], "displayName": { - "en": "sub-meter of" + "en": "inclination" }, - "name": "subMeterOf", - "target": "dtmi:com:willowinc:ElectricalMeter;1" + "name": "inclination", + "schema": "double", + "unit": "degreeOfArc", + "writable": true } ], "@context": [ "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1" + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:ElectricChargeSensor;1", + "@id": "dtmi:com:willowinc:Evaporator;1", "@type": "Interface", "displayName": { - "en": "Electric Charge Sensor" + "en": "Evaporator" }, "description": { - "en": "The electric charge feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:ElevatingPlatformLift;1", - "@type": "Interface", - "displayName": { - "en": "Elevating Platform Lift" - }, - "extends": [ - "dtmi:com:willowinc:ConveyanceEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Elevator;1", - "@type": "Interface", - "displayName": { - "en": "Elevator" + "en": "A device which converts a liquid substance into its gaseous form, vapor. In HVAC, it is commonly included in equipment such as chillers and air conditioners." }, "extends": [ - "dtmi:com:willowinc:ConveyanceEquipment;1" + "dtmi:com:willowinc:AssetComponent;1", + "dtmi:com:willowinc:GeneralPurposeEquipment;1" ], "contents": [ { - "@type": "Property", - "description": { - "en": "The number of people who can fit in a Space." + "@type": [ + "Property", + "Temperature" + ], + "name": "designEnteringWaterTemperature", + "displayName": { + "en": "Design Entering Water Temperature" }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "person capacity" + "en": "Design Entering Water Temperature Unit" }, - "name": "personCapacity", - "schema": "integer", - "writable": true + "name": "designEnteringWaterTemperatureUnit", + "annotates": "designEnteringWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" }, { "@type": [ - "Mass", - "Property" + "Property", + "Temperature" ], + "name": "designLeavingWaterTemperature", "displayName": { - "en": "weight capacity" + "en": "Design Leaving Water Temperature" }, - "name": "weightCapacity", "schema": "double", - "unit": "kilogram", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -21133,26 +20413,24 @@ "Override" ], "displayName": { - "en": "weight capacity unit" + "en": "Design Leaving Water Temperature Unit" }, - "name": "weightCapacityUnit", - "annotates": "weightCapacity", + "name": "designLeavingWaterTemperatureUnit", + "annotates": "designLeavingWaterTemperature", "overrides": "unit", - "schema": "MassUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "Velocity" + "Temperature" ], + "name": "designDeltaWaterTemperature", "displayName": { - "en": "maximum travel speed" + "en": "Design Delta Water Temperature" }, - "name": "maxTravelSpeed", "schema": "double", - "unit": "metrePerSecond", - "writable": true + "unit": "degreeCelsius" }, { "@type": [ @@ -21161,25 +20439,24 @@ "Override" ], "displayName": { - "en": "maximum travel speed unit" + "en": "Design Delta Water Temperature Unit" }, - "name": "maxTravelSpeedUnit", - "annotates": "maxTravelSpeed", + "name": "designDeltaWaterTemperatureUnit", + "annotates": "designDeltaWaterTemperature", "overrides": "unit", - "schema": "VelocityUnit", - "writable": true + "schema": "TemperatureUnit" }, { "@type": [ "Property", - "Length" + "VolumeFlowRate" ], "displayName": { - "en": "maximum travel distance" + "en": "Design Flow" }, - "name": "maxTravelDistance", + "name": "designFlow", "schema": "double", - "unit": "metre", + "unit": "litrePerSecond", "writable": true }, { @@ -21189,65 +20466,41 @@ "Override" ], "displayName": { - "en": "maximum travel distance unit" + "en": "Design Flow Unit" }, - "name": "maxTravelDistanceUnit", - "annotates": "maxTravelDistance", + "name": "designFlowUnit", + "annotates": "designFlow", "overrides": "unit", - "schema": "LengthUnit", + "schema": "VolumeFlowRateUnit", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "Pressure" + ], "displayName": { - "en": "maximum landings" + "en": "Design Pressure Drop" }, - "name": "maxLandings", - "schema": "integer", + "name": "designPressureDrop", + "schema": "double", + "unit": "kilopascal", "writable": true }, { - "@type": "Property", - "name": "fireServiceAccessElevator", - "displayName": { - "en": "Fire Service Access Elevator" - }, - "writable": true, - "schema": "boolean" - }, - { - "@type": "Property", - "name": "emergencyCommunication", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "Emergency Communication" + "en": "Design Pressure Drop Unit" }, - "writable": true, - "schema": { - "@type": "Object", - "fields": [ - { - "name": "twoWayVoice", - "displayName": { - "en": "Two-Way Voice" - }, - "schema": "boolean" - }, - { - "name": "twoWayMessageDisplay", - "displayName": { - "en": "Two-Way Message Display" - }, - "schema": "boolean" - }, - { - "name": "oneWayVideo", - "displayName": { - "en": "One-Way Video" - }, - "schema": "boolean" - } - ] - } + "name": "designPressureDropUnit", + "annotates": "designPressureDrop", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true } ], "@context": [ @@ -21258,26 +20511,44 @@ ] }, { - "@id": "dtmi:com:willowinc:ElevatorMachine;1", + "@id": "dtmi:com:willowinc:ExcludeState;1", "@type": "Interface", "displayName": { - "en": "Elevator Machine" + "en": "Exclude State" + }, + "description": { + "en": "The Boolean state of the mode which is \u0027exclude\u0027 when \u0027true\u0027 and \u0027include\u0027 when \u0027false\u0027" }, "extends": [ - "dtmi:com:willowinc:ConveyanceEquipment;1" + "dtmi:com:willowinc:BinaryState;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:Fan;1", + "@type": "Interface", + "displayName": { + "en": "Fan" + }, + "extends": [ + "dtmi:com:willowinc:AssetComponent;1", + "dtmi:com:willowinc:GeneralPurposeEquipment;1" ], "contents": [ { "@type": [ - "Mass", - "Property" + "Property", + "Pressure" ], "displayName": { - "en": "weight capacity" + "en": "nominal external static pressure" }, - "name": "weightCapacity", + "name": "nominalExternalStaticPressure", "schema": "double", - "unit": "kilogram", + "unit": "pascal", "writable": true }, { @@ -21287,12 +20558,40 @@ "Override" ], "displayName": { - "en": "weight capacity unit" + "en": "nominal external static pressure unit" }, - "name": "weightCapacityUnit", - "annotates": "weightCapacity", + "name": "nominalExternalStaticPressureUnit", + "annotates": "nominalExternalStaticPressure", "overrides": "unit", - "schema": "MassUnit", + "schema": "PressureUnit", + "writable": true + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "nominal airflow" + }, + "name": "nominalAirflow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "nominal airflow unit" + }, + "name": "nominalAirflowUnit", + "annotates": "nominalAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", "writable": true }, { @@ -21323,6 +20622,47 @@ "schema": "PowerUnit", "writable": true }, + { + "@type": [ + "AngularVelocity", + "Property" + ], + "displayName": { + "en": "maximum rotation speed" + }, + "name": "maxRotationSpeed", + "schema": "double", + "unit": "revolutionPerMinute", + "writable": true + }, + { + "@type": [ + "Property", + "Frequency" + ], + "displayName": { + "en": "maximum VFD frequency" + }, + "name": "maxVFDFrequency", + "schema": "double", + "unit": "hertz", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "maximum VFD frequency unit" + }, + "name": "maxVFDFrequencyUnit", + "annotates": "maxVFDFrequency", + "overrides": "unit", + "schema": "FrequencyUnit", + "writable": true + }, { "@type": [ "Power", @@ -21350,164 +20690,46 @@ "overrides": "unit", "schema": "PowerUnit", "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, - { - "@id": "dtmi:com:willowinc:ElevatorShaft;1", - "@type": "Interface", - "displayName": { - "en": "Elevator Shaft" - }, - "extends": [ - "dtmi:com:willowinc:StructuralShaft;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EmergencyPreparednessEquipment;1", - "@type": "Interface", - "displayName": { - "en": "Emergency Preparedness Equipment" - }, - "extends": [ - "dtmi:com:willowinc:SafetyEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnergyEfficiencyRatio;1", - "@type": "Interface", - "displayName": { - "en": "Energy Efficiency Ratio (EER)" - }, - "description": { - "en": "A performance indicator for equipment with a refrigeration or cooling function which is the ratio of the thermal power output (BTU/hr) to its electrical energy input (W)." - }, - "extends": [ - "dtmi:com:willowinc:RatioPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnergyRecoveryVentilator;1", - "@type": "Interface", - "displayName": { - "en": "EnergyRecoveryVentilator" - }, - "description": { - "en": "A standalone asset that transfers energy between two different streams of air, one of which is ventilation air." - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:EnergyRecoveryDevice;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnergySensor;1", - "@type": "Interface", - "displayName": { - "en": "Energy sensor" - }, - "description": { - "en": "The energy feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnergyStarScore;1", - "@type": "Interface", - "displayName": { - "en": "ENERGY STAR Score" - }, - "description": { - "en": "The 1-100 ENERGY STAR score for a building compares it to other buildings across the United States with similar primary use characteristics. A higher score represents better performance. (energystar.gov)" - }, - "extends": [ - "dtmi:com:willowinc:PercentPerformanceIndicator;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EnthalpySensor;1", - "@type": "Interface", - "displayName": { - "en": "Enthalpy Sensor" - }, - "description": { - "en": "The enthalpy feedback from a sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:EquipmentGroup;1", - "@type": "Interface", - "displayName": { - "en": "Equipment Group" - }, - "extends": [ - "dtmi:com:willowinc:EquipmentCollection;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:Escalator;1", - "@type": "Interface", - "displayName": { - "en": "Escalator" - }, - "extends": [ - "dtmi:com:willowinc:ConveyanceEquipment;1" - ], - "contents": [ + }, + { + "@type": [ + "Current", + "Property" + ], + "displayName": { + "en": "full load current" + }, + "name": "fullLoadCurrent", + "schema": "double", + "unit": "ampere", + "writable": true + }, { "@type": [ "Property", - "Length" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "step width" + "en": "full load current unit" }, - "name": "stepWidth", + "name": "fullLoadCurrentUnit", + "annotates": "fullLoadCurrent", + "overrides": "unit", + "schema": "CurrentUnit", + "writable": true + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "minimum airflow rating" + }, + "name": "minAirflowRating", "schema": "double", - "unit": "millimetre", + "unit": "litrePerSecond", "writable": true }, { @@ -21517,25 +20739,25 @@ "Override" ], "displayName": { - "en": "step width unit" + "en": "minimum airflow rating unit" }, - "name": "stepWidthUnit", - "annotates": "stepWidth", + "name": "minAirflowRatingUnit", + "annotates": "minAirflowRating", "overrides": "unit", - "schema": "LengthUnit", + "schema": "VolumeFlowRateUnit", "writable": true }, { "@type": [ "Property", - "Length" + "VolumeFlowRate" ], "displayName": { - "en": "maximum vertical rise" + "en": "maximum airflow rating" }, - "name": "maxVerticalRise", + "name": "maxAirflowRating", "schema": "double", - "unit": "metre", + "unit": "litrePerSecond", "writable": true }, { @@ -21545,25 +20767,25 @@ "Override" ], "displayName": { - "en": "maximum vertical rise unit" + "en": "maximum airflow rating unit" }, - "name": "maxVerticalRiseUnit", - "annotates": "maxVerticalRise", + "name": "maxAirflowRatingUnit", + "annotates": "maxAirflowRating", "overrides": "unit", - "schema": "LengthUnit", + "schema": "VolumeFlowRateUnit", "writable": true }, { "@type": [ "Property", - "Velocity" + "VolumeFlowRate" ], "displayName": { - "en": "maximum travel speed" + "en": "Design Airflow" }, - "name": "maxTravelSpeed", + "name": "designAirflow", "schema": "double", - "unit": "metrePerSecond", + "unit": "litrePerSecond", "writable": true }, { @@ -21573,25 +20795,115 @@ "Override" ], "displayName": { - "en": "maximum travel speed unit" + "en": "Design Airflow Unit" }, - "name": "maxTravelSpeedUnit", - "annotates": "maxTravelSpeed", + "name": "designAirflowUnit", + "annotates": "designAirflow", "overrides": "unit", - "schema": "VelocityUnit", + "schema": "VolumeFlowRateUnit", "writable": true }, { "@type": [ - "Angle", + "AngularVelocity", "Property" ], "displayName": { - "en": "inclination" + "en": "design rotation speed" }, - "name": "inclination", + "name": "designRotationSpeed", "schema": "double", - "unit": "degreeOfArc", + "unit": "revolutionPerMinute", + "writable": true + }, + { + "@type": [ + "Property", + "Frequency" + ], + "displayName": { + "en": "design VFD frequency" + }, + "name": "designVFDFrequency", + "schema": "double", + "unit": "hertz", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "design VFD frequency unit" + }, + "name": "designVFDFrequencyUnit", + "annotates": "designVFDFrequency", + "overrides": "unit", + "schema": "FrequencyUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "design external static pressure" + }, + "name": "designExternalStaticPressure", + "schema": "double", + "unit": "pascal", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "design external static pressure unit" + }, + "name": "designExternalStaticPressureUnit", + "annotates": "designExternalStaticPressure", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "drive type" + }, + "name": "driveType", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Direct", + "name": "Direct" + }, + { + "enumValue": "Belt", + "name": "Belt" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "Number of Fans" + }, + "description": { + "en": "The number of fans which make up a fan array" + }, + "name": "numberOfFans", + "schema": "integer", "writable": true } ], @@ -21602,23 +20914,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:ExcludeState;1", - "@type": "Interface", - "displayName": { - "en": "Exclude State" - }, - "description": { - "en": "The Boolean state of the mode which is \u0027exclude\u0027 when \u0027true\u0027 and \u0027include\u0027 when \u0027false\u0027" - }, - "extends": [ - "dtmi:com:willowinc:BinaryState;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:FatsOilsGreaseDisposal;1", "@type": "Interface", @@ -21661,21 +20956,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:FishTank;1", - "@type": "Interface", - "displayName": { - "en": "Fish Tank" - }, - "extends": [ - "dtmi:com:willowinc:ArchitecturalAsset;1", - "dtmi:com:willowinc:Tank;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:FloorBuffer;1", "@type": "Interface", @@ -22730,6 +22010,56 @@ "dtmi:dtdl:extension:overriding;1" ] }, + { + "@id": "dtmi:com:willowinc:HeatTracing;1", + "@type": "Interface", + "displayName": { + "en": "Heat Tracing" + }, + "extends": [ + "dtmi:com:willowinc:GeneralPurposeEquipment;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "SelfRegulating", + "name": "SelfRegulating" + }, + { + "enumValue": "ConstantWattage", + "name": "ConstantWattage" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "description": { + "en": "Watts/length unit" + }, + "displayName": { + "en": "power density" + }, + "name": "powerDensity", + "schema": "double", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1" + ] + }, { "@id": "dtmi:com:willowinc:HighLimit;1", "@type": "Interface", @@ -22795,27 +22125,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:HVACCompressor;1", - "@type": "Interface", - "displayName": { - "en": "HVAC Compressor" - }, - "description": { - "en": "A compressor which is used within an HVAC system for the applicaiton of conditioning a space for comfort." - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:Compressor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, { "@id": "dtmi:com:willowinc:HVACDamper;1", "@type": "Interface", @@ -22979,36 +22288,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:HVACHeatTracing;1", - "@type": "Interface", - "displayName": { - "en": "Heat Tracing (HVAC)" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:HeatTracing;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:HVACManifold;1", - "@type": "Interface", - "displayName": { - "en": "HVAC Manifold" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:Manifold;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:HVACOvalDuct;1", "@type": "Interface", @@ -23127,21 +22406,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:HVACPump;1", - "@type": "Interface", - "displayName": { - "en": "HVAC Pump" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:Pump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:HVACRectangularDuct;1", "@type": "Interface", @@ -23258,36 +22522,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:HVACTank;1", - "@type": "Interface", - "displayName": { - "en": "HVAC Tank" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:Tank;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:HVACValve;1", - "@type": "Interface", - "displayName": { - "en": "HVAC Valve" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1", - "dtmi:com:willowinc:Valve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:HVACWaterTreatment;1", "@type": "Interface", @@ -23931,6 +23165,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:Manifold;1", + "@type": "Interface", + "displayName": { + "en": "Manifold" + }, + "extends": [ + "dtmi:com:willowinc:GeneralPurposeEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:MarginalElectricityConsumptionGreenhouseGasEmissionsFactorIndex;1", "@type": "Interface", @@ -24748,81 +23996,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:PlumbingHeatTracing;1", - "@type": "Interface", - "displayName": { - "en": "Heat Tracing (Plumbing)" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1", - "dtmi:com:willowinc:HeatTracing;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingManifold;1", - "@type": "Interface", - "displayName": { - "en": "Plumbing Manifold" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1", - "dtmi:com:willowinc:Manifold;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingPump;1", - "@type": "Interface", - "displayName": { - "en": "Plumbing Pump" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1", - "dtmi:com:willowinc:Pump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingTank;1", - "@type": "Interface", - "displayName": { - "en": "Plumbing Tank" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1", - "dtmi:com:willowinc:Tank;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingValve;1", - "@type": "Interface", - "displayName": { - "en": "Plumbing Valve" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingEquipment;1", - "dtmi:com:willowinc:Valve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:PlumbingWaterTreatment;1", "@type": "Interface", @@ -24971,128 +24144,144 @@ ] }, { - "@id": "dtmi:com:willowinc:QualitySensor;1", - "@type": "Interface", - "displayName": { - "en": "Quality Sensor" - }, - "extends": [ - "dtmi:com:willowinc:QuantitySensor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:QuantitySetpoint;1", - "@type": "Interface", - "displayName": { - "en": "Quantity Setpoint" - }, - "description": { - "en": "The desired value associated with" - }, - "extends": [ - "dtmi:com:willowinc:Setpoint;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:QuantitySetpointOffset;1", - "@type": "Interface", - "displayName": { - "en": "Quantity Setpoint Offset" - }, - "description": { - "en": "The desired offset value associated with a quantity" - }, - "extends": [ - "dtmi:com:willowinc:SetpointOffset;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:RadiantHeater;1", - "@type": "Interface", - "displayName": { - "en": "Radiant Heater" - }, - "extends": [ - "dtmi:com:willowinc:HVACEquipment;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:RefrigerationCompressor;1", + "@id": "dtmi:com:willowinc:Pump;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Compressor" - }, - "description": { - "en": "A compressor which is used within a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + "en": "Pump" }, "extends": [ - "dtmi:com:willowinc:RefrigerationEquipment;1", - "dtmi:com:willowinc:Compressor;1" + "dtmi:com:willowinc:GeneralPurposeEquipment;1" ], "contents": [ { "@type": "Property", "displayName": { - "en": "nominal energy efficiency ratio (EER)" + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "vertical", + "name": "vertical" + }, + { + "enumValue": "inline", + "name": "inline" + } + ], + "valueSchema": "string" }, - "name": "nominalEnergyEfficiencyRatio", - "schema": "double", "writable": true }, { "@type": "Property", "displayName": { - "en": "design energy efficiency ratio (EER)" + "en": "pumping media" }, - "name": "designEnergyEfficiencyRatio", + "name": "pumpingMedia", + "schema": "string", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "motor power" + }, + "name": "motorPower", "schema": "double", + "unit": "horsepower", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "nominal coefficient of performance (COP)" + "en": "motor power unit" }, - "name": "nominalCoefficientOfPerformance", + "name": "motorPowerUnit", + "annotates": "motorPower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "brake horsepower" + }, + "name": "brakeHorsepower", "schema": "double", + "unit": "horsepower", "writable": true }, { - "@type": "Property", + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], "displayName": { - "en": "design coefficient of performance (COP)" + "en": "brake horsepower unit" }, - "name": "designCoefficientOfPerformance", + "name": "brakeHorsepowerUnit", + "annotates": "brakeHorsepower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "pressure capacity" + }, + "name": "pressureCapacity", "schema": "double", + "unit": "bar", "writable": true }, { "@type": [ "Property", - "EnergyRate" + "ValueAnnotation", + "Override" ], "displayName": { - "en": "nominal cooling capacity" + "en": "pressure capacity unit" }, - "name": "nominalCoolingCapacity", + "name": "pressureCapacityUnit", + "annotates": "pressureCapacity", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Length" + ], + "description": { + "en": "rated head" + }, + "displayName": { + "en": "head capacity" + }, + "name": "headCapacity", "schema": "double", - "unit": "britishThermalUnitPerHour", + "unit": "metre", "writable": true }, { @@ -25102,25 +24291,25 @@ "Override" ], "displayName": { - "en": "nominal cooling capacity unit" + "en": "head capacity unit" }, - "name": "nominalCoolingCapacityUnit", - "annotates": "nominalCoolingCapacity", + "name": "headCapacityUnit", + "annotates": "headCapacity", "overrides": "unit", - "schema": "PowerUnit", + "schema": "LengthUnit", "writable": true }, { "@type": [ "Property", - "EnergyRate" + "VolumeFlowRate" ], "displayName": { - "en": "design cooling capacity" + "en": "flow capacity" }, - "name": "designCoolingCapacity", + "name": "flowCapacity", "schema": "double", - "unit": "britishThermalUnitPerHour", + "unit": "litrePerSecond", "writable": true }, { @@ -25130,13 +24319,85 @@ "Override" ], "displayName": { - "en": "design cooling capacity unit" + "en": "flow capacity unit" }, - "name": "designCoolingCapacityUnit", - "annotates": "designCoolingCapacity", + "name": "flowCapacityUnit", + "annotates": "flowCapacity", "overrides": "unit", - "schema": "PowerUnit", + "schema": "VolumeFlowRateUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Frequency" + ], + "displayName": { + "en": "maximum VFD frequency" + }, + "name": "maxVFDFrequency", + "schema": "double", + "unit": "hertz", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "maximum VFD frequency unit" + }, + "name": "maxVFDFrequencyUnit", + "annotates": "maxVFDFrequency", + "overrides": "unit", + "schema": "FrequencyUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Frequency" + ], + "displayName": { + "en": "design VFD frequency" + }, + "name": "designVFDFrequency", + "schema": "double", + "unit": "hertz", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "design VFD frequency unit" + }, + "name": "designVFDFrequencyUnit", + "annotates": "designVFDFrequency", + "overrides": "unit", + "schema": "FrequencyUnit", "writable": true + }, + { + "@type": "Component", + "displayName": { + "en": "pipe outlet" + }, + "name": "pipeOutlet", + "schema": "dtmi:com:willowinc:PipeConnection;1" + }, + { + "@type": "Component", + "displayName": { + "en": "pipe inlet" + }, + "name": "pipeInlet", + "schema": "dtmi:com:willowinc:PipeConnection;1" } ], "@context": [ @@ -25147,37 +24408,78 @@ ] }, { - "@id": "dtmi:com:willowinc:RefrigerationCompressorRack;1", + "@id": "dtmi:com:willowinc:QualitySensor;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Compressor Rack" + "en": "Quality Sensor" + }, + "extends": [ + "dtmi:com:willowinc:QuantitySensor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:QuantitySetpoint;1", + "@type": "Interface", + "displayName": { + "en": "Quantity Setpoint" }, "description": { - "en": "A compressor rack in which multiple compressors are piped in parallel and share a common refrigerant and oil charge." + "en": "The desired value associated with" }, "extends": [ - "dtmi:com:willowinc:RefrigerationEquipment;1" + "dtmi:com:willowinc:Setpoint;1" ], "contents": [], "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" + "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:RefrigerationCondenser;1", + "@id": "dtmi:com:willowinc:QuantitySetpointOffset;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Condenser" + "en": "Quantity Setpoint Offset" }, "description": { - "en": "A condenser which is used within a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + "en": "The desired offset value associated with a quantity" }, "extends": [ - "dtmi:com:willowinc:RefrigerationEquipment;1", - "dtmi:com:willowinc:Condenser;1" + "dtmi:com:willowinc:SetpointOffset;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:RadiantHeater;1", + "@type": "Interface", + "displayName": { + "en": "Radiant Heater" + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:RefrigerationCompressorRack;1", + "@type": "Interface", + "displayName": { + "en": "Refrigeration Compressor Rack" + }, + "description": { + "en": "A compressor rack in which multiple compressors are piped in parallel and share a common refrigerant and oil charge." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationEquipment;1" ], "contents": [], "@context": [ @@ -25470,21 +24772,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:RefrigerationTank;1", - "@type": "Interface", - "displayName": { - "en": "Refrigeration Tank" - }, - "extends": [ - "dtmi:com:willowinc:RefrigerationEquipment;1", - "dtmi:com:willowinc:Tank;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:ReplaceComponentState;1", "@type": "Interface", @@ -25994,6 +25281,80 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:Tank;1", + "@type": "Interface", + "displayName": { + "en": "Tank" + }, + "extends": [ + "dtmi:com:willowinc:GeneralPurposeEquipment;1" + ], + "contents": [ + { + "@type": [ + "Property", + "Volume" + ], + "displayName": { + "en": "tank capacity" + }, + "name": "tankCapacity", + "schema": "double", + "unit": "litre", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "tank capacity unit" + }, + "name": "tankCapacityUnit", + "annotates": "tankCapacity", + "overrides": "unit", + "schema": "VolumeUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "system pressure" + }, + "name": "systemPressure", + "schema": "double", + "unit": "bar", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "system pressure unit" + }, + "name": "systemPressureUnit", + "annotates": "systemPressure", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:TelecommunicationCable;1", "@type": "Interface", @@ -26711,6 +26072,96 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:Valve;1", + "@type": "Interface", + "displayName": { + "en": "Valve" + }, + "extends": [ + "dtmi:com:willowinc:GeneralPurposeEquipment;1" + ], + "contents": [ + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "pressure capacity" + }, + "name": "pressureCapacity", + "schema": "double", + "unit": "bar", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "pressure capacity unit" + }, + "name": "pressureCapacityUnit", + "annotates": "pressureCapacity", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "flow capacity" + }, + "name": "flowCapacity", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "flow capacity unit" + }, + "name": "flowCapacityUnit", + "annotates": "flowCapacity", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true + }, + { + "@type": "Component", + "displayName": { + "en": "pipe outlet" + }, + "name": "pipeOutlet", + "schema": "dtmi:com:willowinc:PipeConnection;1" + }, + { + "@type": "Component", + "displayName": { + "en": "pipe inlet" + }, + "name": "pipeInlet", + "schema": "dtmi:com:willowinc:PipeConnection;1" + } + ], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:VehicleAccessControlEquipment;1", "@type": "Interface", @@ -26938,161 +26389,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:WaterCooledCondenser;1", - "@type": "Interface", - "displayName": { - "en": "Water-Cooled Condenser" - }, - "description": { - "en": "A condenser which rejects heat from a working fluid (i.e. refrigerant) into a secondary water fluid." - }, - "extends": [ - "dtmi:com:willowinc:Condenser;1" - ], - "contents": [ - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designEnteringWaterTemperature", - "displayName": { - "en": "Design Entering Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Entering Water Temperature Unit" - }, - "name": "designEnteringWaterTemperatureUnit", - "annotates": "designEnteringWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designLeavingWaterTemperature", - "displayName": { - "en": "Design Leaving Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Leaving Water Temperature Unit" - }, - "name": "designLeavingWaterTemperatureUnit", - "annotates": "designLeavingWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "Temperature" - ], - "name": "designDeltaWaterTemperature", - "displayName": { - "en": "Design Delta Water Temperature" - }, - "schema": "double", - "unit": "degreeCelsius" - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Delta Water Temperature Unit" - }, - "name": "designDeltaWaterTemperatureUnit", - "annotates": "designDeltaWaterTemperature", - "overrides": "unit", - "schema": "TemperatureUnit" - }, - { - "@type": [ - "Property", - "VolumeFlowRate" - ], - "displayName": { - "en": "Design Flow" - }, - "name": "designFlow", - "schema": "double", - "unit": "litrePerSecond", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Flow Unit" - }, - "name": "designFlowUnit", - "annotates": "designFlow", - "overrides": "unit", - "schema": "VolumeFlowRateUnit", - "writable": true - }, - { - "@type": [ - "Property", - "Pressure" - ], - "displayName": { - "en": "Design Pressure Drop" - }, - "name": "designPressureDrop", - "schema": "double", - "unit": "kilopascal", - "writable": true - }, - { - "@type": [ - "Property", - "ValueAnnotation", - "Override" - ], - "displayName": { - "en": "Design Pressure Drop Unit" - }, - "name": "designPressureDropUnit", - "annotates": "designPressureDrop", - "overrides": "unit", - "schema": "PressureUnit", - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, { "@id": "dtmi:com:willowinc:WaterHeater;1", "@type": "Interface", @@ -27840,19 +27136,190 @@ ] }, { - "@id": "dtmi:com:willowinc:AirCooledRefrigerationCondenser;1", + "@id": "dtmi:com:willowinc:AirCooledCondenser;1", "@type": "Interface", "displayName": { - "en": "Air-Cooled Refrigeration Condenser" + "en": "Air-Cooled Condenser" }, "description": { - "en": "An air-cooled condenser used in a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + "en": "A condenser which rejects heat from a working fluid (i.e. refrigerant) into the ambient air." }, "extends": [ - "dtmi:com:willowinc:RefrigerationCondenser;1", - "dtmi:com:willowinc:AirCooledCondenser;1" + "dtmi:com:willowinc:Condenser;1" + ], + "contents": [ + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designEnteringAirTemperature", + "displayName": { + "en": "Design Entering Air Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Entering Air Temperature Unit" + }, + "name": "designEnteringAirTemperatureUnit", + "annotates": "designEnteringAirTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designLeavingAirTemperature", + "displayName": { + "en": "Design Leaving Air Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Leaving Air Temperature Unit" + }, + "name": "designLeavingAirTemperatureUnit", + "annotates": "designLeavingAirTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designDeltaAirTemperature", + "displayName": { + "en": "Design Delta Air Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Delta Air Temperature Unit" + }, + "name": "designDeltaAirTemperatureUnit", + "annotates": "designDeltaAirTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "Design Airflow" + }, + "name": "designAirflow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Airflow Unit" + }, + "name": "designAirflowUnit", + "annotates": "designAirflow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "Number of Fans" + }, + "name": "numberOfFans", + "schema": "integer", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "total fan power" + }, + "name": "totalFanPower", + "schema": "double", + "unit": "horsepower", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "total fan power unit" + }, + "name": "totalFanPowerUnit", + "annotates": "totalFanPower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Power", + "Property" + ], + "displayName": { + "en": "total fan brake horsepower" + }, + "name": "totalFanbrakeHorsepower", + "schema": "double", + "unit": "horsepower", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "total fan brake horsepower unit" + }, + "name": "totalFanbrakeHorsepowerUnit", + "annotates": "totalFanbrakeHorsepower", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3", "dtmi:dtdl:extension:quantitativeTypes;1", @@ -29667,20 +29134,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:CondensatePump;1", - "@type": "Interface", - "displayName": { - "en": "Condensate Pump" - }, - "extends": [ - "dtmi:com:willowinc:HVACPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:ConductanceSetpoint;1", "@type": "Interface", @@ -30341,21 +29794,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:DilutionTank;1", - "@type": "Interface", - "displayName": { - "en": "Dilution Tank" - }, - "extends": [ - "dtmi:com:willowinc:ChemicalDilutionDrainageEquipment;1", - "dtmi:com:willowinc:PlumbingTank;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:DilutionTrap;1", "@type": "Interface", @@ -30523,20 +29961,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:DomesticWaterPump;1", - "@type": "Interface", - "displayName": { - "en": "Domestic Water Pump" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:Door;1", "@type": "Interface", @@ -30715,20 +30139,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:EjectorPump;1", - "@type": "Interface", - "displayName": { - "en": "Ejector Pump" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:ElectricalEnergySensor;1", "@type": "Interface", @@ -31127,6 +30537,24 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:EnergyRecoveryVentilator;1", + "@type": "Interface", + "displayName": { + "en": "EnergyRecoveryVentilator" + }, + "description": { + "en": "A standalone asset that transfers energy between two different streams of air, one of which is ventilation air." + }, + "extends": [ + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:EnergyRecoveryDevice;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:EnergySetpoint;1", "@type": "Interface", @@ -31955,6 +31383,21 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:FishTank;1", + "@type": "Interface", + "displayName": { + "en": "Fish Tank" + }, + "extends": [ + "dtmi:com:willowinc:ArchitecturalAsset;1", + "dtmi:com:willowinc:Tank;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:FloorDrain;1", "@type": "Interface", @@ -33116,45 +32559,24 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACBackflowPreventer;1", - "@type": "Interface", - "displayName": { - "en": "Backflow Preventer (HVAC)" - }, - "extends": [ - "dtmi:com:willowinc:HVACValve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:HVACBalancingValve;1", + "@id": "dtmi:com:willowinc:HVACCompressor;1", "@type": "Interface", "displayName": { - "en": "Balancing Valve (HVAC)" + "en": "HVAC Compressor" }, - "extends": [ - "dtmi:com:willowinc:HVACValve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:HVACCheckValve;1", - "@type": "Interface", - "displayName": { - "en": "Check Valve (HVAC)" + "description": { + "en": "A compressor which is used within an HVAC system for the applicaiton of conditioning a space for comfort." }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:Compressor;1" ], "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { @@ -33172,13 +32594,14 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACGlobeValve;1", + "@id": "dtmi:com:willowinc:HVACHeatTracing;1", "@type": "Interface", "displayName": { - "en": "Globe Valve (HVAC)" + "en": "Heat Tracing (HVAC)" }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:HeatTracing;1" ], "contents": [], "@context": [ @@ -33186,13 +32609,14 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACPressureReducingStation;1", + "@id": "dtmi:com:willowinc:HVACManifold;1", "@type": "Interface", "displayName": { - "en": "Pressure Reducing Station (HVAC)" + "en": "HVAC Manifold" }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:Manifold;1" ], "contents": [], "@context": [ @@ -33200,13 +32624,14 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACPressureReducingValve;1", + "@id": "dtmi:com:willowinc:HVACPump;1", "@type": "Interface", "displayName": { - "en": "Pressure Reducing Valve (HVAC)" + "en": "HVAC Pump" }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:Pump;1" ], "contents": [], "@context": [ @@ -33214,54 +32639,28 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACShutOffValve;1", + "@id": "dtmi:com:willowinc:HVACSystem;1", "@type": "Interface", "displayName": { - "en": "Shut-off Valve (HVAC)" + "en": "HVAC System" }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Gate", - "name": "Gate" - }, - { - "enumValue": "Butterfly", - "name": "Butterfly" - }, - { - "enumValue": "Ball", - "name": "Ball" - } - ], - "valueSchema": "string" - }, - "writable": true - } + "dtmi:com:willowinc:System;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:HVACSolenoidValve;1", + "@id": "dtmi:com:willowinc:HVACTank;1", "@type": "Interface", "displayName": { - "en": "Solenoid Valve (HVAC)" + "en": "HVAC Tank" }, "extends": [ - "dtmi:com:willowinc:HVACValve;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:Tank;1" ], "contents": [], "@context": [ @@ -33269,13 +32668,14 @@ ] }, { - "@id": "dtmi:com:willowinc:HVACSystem;1", + "@id": "dtmi:com:willowinc:HVACValve;1", "@type": "Interface", "displayName": { - "en": "HVAC System" + "en": "HVAC Valve" }, "extends": [ - "dtmi:com:willowinc:System;1" + "dtmi:com:willowinc:HVACEquipment;1", + "dtmi:com:willowinc:Valve;1" ], "contents": [], "@context": [ @@ -33409,20 +32809,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:HydronicPump;1", - "@type": "Interface", - "displayName": { - "en": "Hydronic Pump" - }, - "extends": [ - "dtmi:com:willowinc:HVACPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:HydronicRadiantHeater;1", "@type": "Interface", @@ -33640,20 +33026,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:IrrigationPump;1", - "@type": "Interface", - "displayName": { - "en": "Irrigation Pump" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:LaptopComputer;1", "@type": "Interface", @@ -33995,26 +33367,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:LowTemperatureRefrigerationCompressor;1", - "@type": "Interface", - "displayName": { - "en": "Low-Temperature Refrigeration Compressor" - }, - "description": { - "en": "A compressor which is optimized for low-temperature refrigeration applications." - }, - "extends": [ - "dtmi:com:willowinc:RefrigerationCompressor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, { "@id": "dtmi:com:willowinc:LowTemperatureRefrigerationCompressorRack;1", "@type": "Interface", @@ -34219,26 +33571,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:MediumTemperatureRefrigerationCompressor;1", - "@type": "Interface", - "displayName": { - "en": "Medium-Temperature Refrigeration Compressor" - }, - "description": { - "en": "A compressor which is optimized for medium-temperature refrigeration applications." - }, - "extends": [ - "dtmi:com:willowinc:RefrigerationCompressor;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3", - "dtmi:dtdl:extension:quantitativeTypes;1", - "dtmi:dtdl:extension:annotation;1", - "dtmi:dtdl:extension:overriding;1" - ] - }, { "@id": "dtmi:com:willowinc:MediumTemperatureRefrigerationCompressorRack;1", "@type": "Interface", @@ -35685,48 +35017,6 @@ "dtmi:dtdl:extension:overriding;1" ] }, - { - "@id": "dtmi:com:willowinc:PlumbingBackflowPreventer;1", - "@type": "Interface", - "displayName": { - "en": "Backflow Preventer (Plumbing)" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingBalancingValve;1", - "@type": "Interface", - "displayName": { - "en": "Balancing Valve (Plumbing)" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingCheckValve;1", - "@type": "Interface", - "displayName": { - "en": "Check Valve (Plumbing)" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:PlumbingEquipmentGroup;1", "@type": "Interface", @@ -35742,54 +35032,14 @@ ] }, { - "@id": "dtmi:com:willowinc:PlumbingExpansionTank;1", - "@type": "Interface", - "displayName": { - "en": "Expansion Tank" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingTank;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Diaphragm", - "name": "Diaphragm" - }, - { - "enumValue": "Compression", - "name": "Compression" - }, - { - "enumValue": "Bladder", - "name": "Bladder" - } - ], - "valueSchema": "string" - }, - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingGlobeValve;1", + "@id": "dtmi:com:willowinc:PlumbingHeatTracing;1", "@type": "Interface", "displayName": { - "en": "Globe Valve (Plumbing)" + "en": "Heat Tracing (Plumbing)" }, "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" + "dtmi:com:willowinc:PlumbingEquipment;1", + "dtmi:com:willowinc:HeatTracing;1" ], "contents": [], "@context": [ @@ -35797,13 +35047,14 @@ ] }, { - "@id": "dtmi:com:willowinc:PlumbingPressureReducingStation;1", + "@id": "dtmi:com:willowinc:PlumbingManifold;1", "@type": "Interface", "displayName": { - "en": "Pressure Reducing Station (Plumbing)" + "en": "Plumbing Manifold" }, "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" + "dtmi:com:willowinc:PlumbingEquipment;1", + "dtmi:com:willowinc:Manifold;1" ], "contents": [], "@context": [ @@ -35811,13 +35062,14 @@ ] }, { - "@id": "dtmi:com:willowinc:PlumbingPressureReducingValve;1", + "@id": "dtmi:com:willowinc:PlumbingPump;1", "@type": "Interface", "displayName": { - "en": "Pressure Reducing Valve (Plumbing)" + "en": "Plumbing Pump" }, "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" + "dtmi:com:willowinc:PlumbingEquipment;1", + "dtmi:com:willowinc:Pump;1" ], "contents": [], "@context": [ @@ -35825,54 +35077,13 @@ ] }, { - "@id": "dtmi:com:willowinc:PlumbingShutOffValve;1", - "@type": "Interface", - "displayName": { - "en": "Shut-Off Valve (Plumbing)" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Gate", - "name": "Gate" - }, - { - "enumValue": "Butterfly", - "name": "Butterfly" - }, - { - "enumValue": "Ball", - "name": "Ball" - } - ], - "valueSchema": "string" - }, - "writable": true - } - ], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:PlumbingSolenoidValve;1", + "@id": "dtmi:com:willowinc:PlumbingSystem;1", "@type": "Interface", "displayName": { - "en": "Solenoid Valve (Plumbing)" + "en": "Plumbing System" }, "extends": [ - "dtmi:com:willowinc:PlumbingValve;1" + "dtmi:com:willowinc:System;1" ], "contents": [], "@context": [ @@ -35880,101 +35091,29 @@ ] }, { - "@id": "dtmi:com:willowinc:PlumbingStorageTank;1", + "@id": "dtmi:com:willowinc:PlumbingTank;1", "@type": "Interface", "displayName": { - "en": "Plumbing Storage Tank" + "en": "Plumbing Tank" }, "extends": [ - "dtmi:com:willowinc:PlumbingTank;1" - ], - "contents": [ - { - "@type": "Property", - "displayName": { - "en": "type" - }, - "name": "type", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "HotWater", - "name": "HotWater" - }, - { - "enumValue": "ChilledWater", - "name": "ChilledWater" - } - ], - "valueSchema": "string" - }, - "writable": true - }, - { - "@type": "Property", - "displayName": { - "en": "arrangement" - }, - "name": "arrangement", - "schema": { - "@type": "Enum", - "enumValues": [ - { - "enumValue": "Vertical", - "name": "Vertical" - }, - { - "enumValue": "Horizontal", - "name": "Horizontal" - } - ], - "valueSchema": "string" - }, - "writable": true - }, - { - "@type": "Property", - "name": "service", - "displayName": { - "en": "Service" - }, - "writable": true, - "schema": { - "@id": "dtmi:com:willowinc:PlumbingStorageTankService;1", - "@type": "Enum", - "valueSchema": "string", - "enumValues": [ - { - "name": "HotWater", - "displayName": { - "en": "Hot Water" - }, - "enumValue": "HotWater" - }, - { - "name": "ChilledWater", - "displayName": { - "en": "Chilled Water" - }, - "enumValue": "ChilledWater" - } - ] - } - } + "dtmi:com:willowinc:PlumbingEquipment;1", + "dtmi:com:willowinc:Tank;1" ], + "contents": [], "@context": [ "dtmi:dtdl:context;3" ] }, { - "@id": "dtmi:com:willowinc:PlumbingSystem;1", + "@id": "dtmi:com:willowinc:PlumbingValve;1", "@type": "Interface", "displayName": { - "en": "Plumbing System" + "en": "Plumbing Valve" }, "extends": [ - "dtmi:com:willowinc:System;1" + "dtmi:com:willowinc:PlumbingEquipment;1", + "dtmi:com:willowinc:Valve;1" ], "contents": [], "@context": [ @@ -36411,20 +35550,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:RadiantHeatingManifold;1", - "@type": "Interface", - "displayName": { - "en": "Radiant Heating Manifold" - }, - "extends": [ - "dtmi:com:willowinc:HVACManifold;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:RefrigerantAirQualitySensor;1", "@type": "Interface", @@ -36477,18 +35602,112 @@ ] }, { - "@id": "dtmi:com:willowinc:RefrigerationDesuperheater;1", + "@id": "dtmi:com:willowinc:RefrigerationCompressor;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Desuperheater" + "en": "Refrigeration Compressor" }, "description": { - "en": "A desuperheater heat exchanger used in a refrigeration system or circuit dedicated to heat recovery by removing heat from the compressor superheated discharge gas." + "en": "A compressor which is used within a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." }, "extends": [ - "dtmi:com:willowinc:RefrigerationHeatExchanger;1" + "dtmi:com:willowinc:RefrigerationEquipment;1", + "dtmi:com:willowinc:Compressor;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "nominal energy efficiency ratio (EER)" + }, + "name": "nominalEnergyEfficiencyRatio", + "schema": "double", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "design energy efficiency ratio (EER)" + }, + "name": "designEnergyEfficiencyRatio", + "schema": "double", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "nominal coefficient of performance (COP)" + }, + "name": "nominalCoefficientOfPerformance", + "schema": "double", + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "design coefficient of performance (COP)" + }, + "name": "designCoefficientOfPerformance", + "schema": "double", + "writable": true + }, + { + "@type": [ + "Property", + "EnergyRate" + ], + "displayName": { + "en": "nominal cooling capacity" + }, + "name": "nominalCoolingCapacity", + "schema": "double", + "unit": "britishThermalUnitPerHour", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "nominal cooling capacity unit" + }, + "name": "nominalCoolingCapacityUnit", + "annotates": "nominalCoolingCapacity", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + }, + { + "@type": [ + "Property", + "EnergyRate" + ], + "displayName": { + "en": "design cooling capacity" + }, + "name": "designCoolingCapacity", + "schema": "double", + "unit": "britishThermalUnitPerHour", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "design cooling capacity unit" + }, + "name": "designCoolingCapacityUnit", + "annotates": "designCoolingCapacity", + "overrides": "unit", + "schema": "PowerUnit", + "writable": true + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3", "dtmi:dtdl:extension:quantitativeTypes;1", @@ -36497,30 +35716,54 @@ ] }, { - "@id": "dtmi:com:willowinc:RefrigerationEquipmentGroup;1", + "@id": "dtmi:com:willowinc:RefrigerationCondenser;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Equipment Group" + "en": "Refrigeration Condenser" + }, + "description": { + "en": "A condenser which is used within a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." }, "extends": [ - "dtmi:com:willowinc:EquipmentGroup;1" + "dtmi:com:willowinc:RefrigerationEquipment;1", + "dtmi:com:willowinc:Condenser;1" ], "contents": [], "@context": [ - "dtmi:dtdl:context;3" + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" ] }, { - "@id": "dtmi:com:willowinc:RefrigerationLiquidRefrigerantReceiver;1", + "@id": "dtmi:com:willowinc:RefrigerationDesuperheater;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Liquid Refrigerant Receiver" + "en": "Refrigeration Desuperheater" }, "description": { - "en": "A liquid refrigerant receiver tank, or simply receiver, used in a refrigeration system holds excess refrigerant after the condenser to ensure proper liquid refrigerent to the expansion valve inlet of the evaporators." + "en": "A desuperheater heat exchanger used in a refrigeration system or circuit dedicated to heat recovery by removing heat from the compressor superheated discharge gas." }, "extends": [ - "dtmi:com:willowinc:RefrigerationTank;1" + "dtmi:com:willowinc:RefrigerationHeatExchanger;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, + { + "@id": "dtmi:com:willowinc:RefrigerationEquipmentGroup;1", + "@type": "Interface", + "displayName": { + "en": "Refrigeration Equipment Group" + }, + "extends": [ + "dtmi:com:willowinc:EquipmentGroup;1" ], "contents": [], "@context": [ @@ -36548,16 +35791,14 @@ ] }, { - "@id": "dtmi:com:willowinc:RefrigerationSuctionLineAccumulator;1", + "@id": "dtmi:com:willowinc:RefrigerationTank;1", "@type": "Interface", "displayName": { - "en": "Refrigeration Suction Line Accumulator" - }, - "description": { - "en": "A refrigeratino suction line accumulator used in a refrigeration system prevents damaging overflow of liquid refrigerant and oil from going back to the compressor." + "en": "Refrigeration Tank" }, "extends": [ - "dtmi:com:willowinc:RefrigerationTank;1" + "dtmi:com:willowinc:RefrigerationEquipment;1", + "dtmi:com:willowinc:Tank;1" ], "contents": [], "@context": [ @@ -37388,20 +36629,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:SumpPump;1", - "@type": "Interface", - "displayName": { - "en": "Sump Pump" - }, - "extends": [ - "dtmi:com:willowinc:PlumbingPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:SupplyFan;1", "@type": "Interface", @@ -39013,19 +38240,153 @@ ] }, { - "@id": "dtmi:com:willowinc:WaterCooledRefrigerationCondenser;1", + "@id": "dtmi:com:willowinc:WaterCooledCondenser;1", "@type": "Interface", "displayName": { - "en": "Water-Cooled Refrigeration Condenser" + "en": "Water-Cooled Condenser" }, "description": { - "en": "A water-cooled condenser used in a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + "en": "A condenser which rejects heat from a working fluid (i.e. refrigerant) into a secondary water fluid." }, "extends": [ - "dtmi:com:willowinc:RefrigerationCondenser;1", - "dtmi:com:willowinc:WaterCooledCondenser;1" + "dtmi:com:willowinc:Condenser;1" + ], + "contents": [ + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designEnteringWaterTemperature", + "displayName": { + "en": "Design Entering Water Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Entering Water Temperature Unit" + }, + "name": "designEnteringWaterTemperatureUnit", + "annotates": "designEnteringWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designLeavingWaterTemperature", + "displayName": { + "en": "Design Leaving Water Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Leaving Water Temperature Unit" + }, + "name": "designLeavingWaterTemperatureUnit", + "annotates": "designLeavingWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "Temperature" + ], + "name": "designDeltaWaterTemperature", + "displayName": { + "en": "Design Delta Water Temperature" + }, + "schema": "double", + "unit": "degreeCelsius" + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Delta Water Temperature Unit" + }, + "name": "designDeltaWaterTemperatureUnit", + "annotates": "designDeltaWaterTemperature", + "overrides": "unit", + "schema": "TemperatureUnit" + }, + { + "@type": [ + "Property", + "VolumeFlowRate" + ], + "displayName": { + "en": "Design Flow" + }, + "name": "designFlow", + "schema": "double", + "unit": "litrePerSecond", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Flow Unit" + }, + "name": "designFlowUnit", + "annotates": "designFlow", + "overrides": "unit", + "schema": "VolumeFlowRateUnit", + "writable": true + }, + { + "@type": [ + "Property", + "Pressure" + ], + "displayName": { + "en": "Design Pressure Drop" + }, + "name": "designPressureDrop", + "schema": "double", + "unit": "kilopascal", + "writable": true + }, + { + "@type": [ + "Property", + "ValueAnnotation", + "Override" + ], + "displayName": { + "en": "Design Pressure Drop Unit" + }, + "name": "designPressureDropUnit", + "annotates": "designPressureDrop", + "overrides": "unit", + "schema": "PressureUnit", + "writable": true + } ], - "contents": [], "@context": [ "dtmi:dtdl:context;3", "dtmi:dtdl:extension:quantitativeTypes;1", @@ -39625,6 +38986,27 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:AirCooledRefrigerationCondenser;1", + "@type": "Interface", + "displayName": { + "en": "Air-Cooled Refrigeration Condenser" + }, + "description": { + "en": "An air-cooled condenser used in a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationCondenser;1", + "dtmi:com:willowinc:AirCooledCondenser;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:AirDeltaPressureSensor;1", "@type": "Interface", @@ -41345,20 +40727,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:ChilledWaterPump;1", - "@type": "Interface", - "displayName": { - "en": "Chilled Water Pump" - }, - "extends": [ - "dtmi:com:willowinc:HydronicPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:ChilledWaterTemperatureSensor;1", "@type": "Interface", @@ -41748,16 +41116,13 @@ ] }, { - "@id": "dtmi:com:willowinc:CondenserLeavingRefrigerantTemperatureSensor;1", + "@id": "dtmi:com:willowinc:CondensatePump;1", "@type": "Interface", "displayName": { - "en": "Condenser Leaving Refrigerant Temperature Sensor" - }, - "description": { - "en": "The temperature feedback from a sensor associated with refrigerant leaving the condenser" + "en": "Condensate Pump" }, "extends": [ - "dtmi:com:willowinc:RefrigerantTemperatureSensor;1" + "dtmi:com:willowinc:HVACPump;1" ], "contents": [], "@context": [ @@ -41765,16 +41130,16 @@ ] }, { - "@id": "dtmi:com:willowinc:CondenserWaterPressureSensor;1", + "@id": "dtmi:com:willowinc:CondenserLeavingRefrigerantTemperatureSensor;1", "@type": "Interface", "displayName": { - "en": "Condenser Water Pressure Sensor" + "en": "Condenser Leaving Refrigerant Temperature Sensor" }, "description": { - "en": "The pressure feedback from a sensor associated with condenser water" + "en": "The temperature feedback from a sensor associated with refrigerant leaving the condenser" }, "extends": [ - "dtmi:com:willowinc:WaterPressureSensor;1" + "dtmi:com:willowinc:RefrigerantTemperatureSensor;1" ], "contents": [], "@context": [ @@ -41782,13 +41147,16 @@ ] }, { - "@id": "dtmi:com:willowinc:CondenserWaterPump;1", + "@id": "dtmi:com:willowinc:CondenserWaterPressureSensor;1", "@type": "Interface", "displayName": { - "en": "Condenser Water Pump" + "en": "Condenser Water Pressure Sensor" + }, + "description": { + "en": "The pressure feedback from a sensor associated with condenser water" }, "extends": [ - "dtmi:com:willowinc:HydronicPump;1" + "dtmi:com:willowinc:WaterPressureSensor;1" ], "contents": [], "@context": [ @@ -42274,6 +41642,21 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:DilutionTank;1", + "@type": "Interface", + "displayName": { + "en": "Dilution Tank" + }, + "extends": [ + "dtmi:com:willowinc:ChemicalDilutionDrainageEquipment;1", + "dtmi:com:willowinc:PlumbingTank;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:DirectEvaporativeCoolingTower;1", "@type": "Interface", @@ -42447,27 +41830,13 @@ ] }, { - "@id": "dtmi:com:willowinc:DomesticHotWaterCirculatingPump;1", - "@type": "Interface", - "displayName": { - "en": "Domestic Hot Water Circulating Pump" - }, - "extends": [ - "dtmi:com:willowinc:DomesticWaterPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, - { - "@id": "dtmi:com:willowinc:DomesticWaterBoosterPump;1", + "@id": "dtmi:com:willowinc:DomesticWaterPump;1", "@type": "Interface", "displayName": { - "en": "Domestic Water Booster Pump" + "en": "Domestic Water Pump" }, "extends": [ - "dtmi:com:willowinc:DomesticWaterPump;1" + "dtmi:com:willowinc:PlumbingPump;1" ], "contents": [], "@context": [ @@ -42692,6 +42061,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:EjectorPump;1", + "@type": "Interface", + "displayName": { + "en": "Ejector Pump" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:ElectricalCircuit;1", "@type": "Interface", @@ -44499,20 +43882,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:HeatingHotWaterPump;1", - "@type": "Interface", - "displayName": { - "en": "Heating Hot Water Pump" - }, - "extends": [ - "dtmi:com:willowinc:HydronicPump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:HeatingLevelActuator;1", "@type": "Interface", @@ -44807,6 +44176,48 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HVACBackflowPreventer;1", + "@type": "Interface", + "displayName": { + "en": "Backflow Preventer (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACBalancingValve;1", + "@type": "Interface", + "displayName": { + "en": "Balancing Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACCheckValve;1", + "@type": "Interface", + "displayName": { + "en": "Check Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:HVACCoolingTowerGroup;1", "@type": "Interface", @@ -44821,6 +44232,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HVACGlobeValve;1", + "@type": "Interface", + "displayName": { + "en": "Globe Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:HVACHeatExchangerGroup;1", "@type": "Interface", @@ -44852,6 +44277,34 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HVACPressureReducingStation;1", + "@type": "Interface", + "displayName": { + "en": "Pressure Reducing Station (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACPressureReducingValve;1", + "@type": "Interface", + "displayName": { + "en": "Pressure Reducing Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:HVACPumpGroup;1", "@type": "Interface", @@ -44880,6 +44333,61 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HVACShutOffValve;1", + "@type": "Interface", + "displayName": { + "en": "Shut-off Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Gate", + "name": "Gate" + }, + { + "enumValue": "Butterfly", + "name": "Butterfly" + }, + { + "enumValue": "Ball", + "name": "Ball" + } + ], + "valueSchema": "string" + }, + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:HVACSolenoidValve;1", + "@type": "Interface", + "displayName": { + "en": "Solenoid Valve (HVAC)" + }, + "extends": [ + "dtmi:com:willowinc:HVACValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:HVACSteamSystem;1", "@type": "Interface", @@ -44941,13 +44449,13 @@ ] }, { - "@id": "dtmi:com:willowinc:HydronicCirculatingPump;1", + "@id": "dtmi:com:willowinc:HydronicPump;1", "@type": "Interface", "displayName": { - "en": "Hydronic Circulating Pump" + "en": "Hydronic Pump" }, "extends": [ - "dtmi:com:willowinc:HydronicPump;1" + "dtmi:com:willowinc:HVACPump;1" ], "contents": [], "@context": [ @@ -45180,6 +44688,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:IrrigationPump;1", + "@type": "Interface", + "displayName": { + "en": "Irrigation Pump" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:JockeyPump;1", "@type": "Interface", @@ -45546,6 +45068,26 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:LowTemperatureRefrigerationCompressor;1", + "@type": "Interface", + "displayName": { + "en": "Low-Temperature Refrigeration Compressor" + }, + "description": { + "en": "A compressor which is optimized for low-temperature refrigeration applications." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationCompressor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:LowVoltageSwitchgear;1", "@type": "Interface", @@ -45591,6 +45133,26 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:MediumTemperatureRefrigerationCompressor;1", + "@type": "Interface", + "displayName": { + "en": "Medium-Temperature Refrigeration Compressor" + }, + "description": { + "en": "A compressor which is optimized for medium-temperature refrigeration applications." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationCompressor;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:MediumVoltageSwitchgear;1", "@type": "Interface", @@ -46731,6 +46293,131 @@ "dtmi:dtdl:extension:overriding;1" ] }, + { + "@id": "dtmi:com:willowinc:PlumbingBackflowPreventer;1", + "@type": "Interface", + "displayName": { + "en": "Backflow Preventer (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingBalancingValve;1", + "@type": "Interface", + "displayName": { + "en": "Balancing Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingCheckValve;1", + "@type": "Interface", + "displayName": { + "en": "Check Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingExpansionTank;1", + "@type": "Interface", + "displayName": { + "en": "Expansion Tank" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingTank;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Diaphragm", + "name": "Diaphragm" + }, + { + "enumValue": "Compression", + "name": "Compression" + }, + { + "enumValue": "Bladder", + "name": "Bladder" + } + ], + "valueSchema": "string" + }, + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingGlobeValve;1", + "@type": "Interface", + "displayName": { + "en": "Globe Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingPressureReducingStation;1", + "@type": "Interface", + "displayName": { + "en": "Pressure Reducing Station (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingPressureReducingValve;1", + "@type": "Interface", + "displayName": { + "en": "Pressure Reducing Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:PlumbingPumpGroup;1", "@type": "Interface", @@ -46745,6 +46432,149 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:PlumbingShutOffValve;1", + "@type": "Interface", + "displayName": { + "en": "Shut-Off Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Gate", + "name": "Gate" + }, + { + "enumValue": "Butterfly", + "name": "Butterfly" + }, + { + "enumValue": "Ball", + "name": "Ball" + } + ], + "valueSchema": "string" + }, + "writable": true + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingSolenoidValve;1", + "@type": "Interface", + "displayName": { + "en": "Solenoid Valve (Plumbing)" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingValve;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:PlumbingStorageTank;1", + "@type": "Interface", + "displayName": { + "en": "Plumbing Storage Tank" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingTank;1" + ], + "contents": [ + { + "@type": "Property", + "displayName": { + "en": "type" + }, + "name": "type", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "HotWater", + "name": "HotWater" + }, + { + "enumValue": "ChilledWater", + "name": "ChilledWater" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "displayName": { + "en": "arrangement" + }, + "name": "arrangement", + "schema": { + "@type": "Enum", + "enumValues": [ + { + "enumValue": "Vertical", + "name": "Vertical" + }, + { + "enumValue": "Horizontal", + "name": "Horizontal" + } + ], + "valueSchema": "string" + }, + "writable": true + }, + { + "@type": "Property", + "name": "service", + "displayName": { + "en": "Service" + }, + "writable": true, + "schema": { + "@id": "dtmi:com:willowinc:PlumbingStorageTankService;1", + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "HotWater", + "displayName": { + "en": "Hot Water" + }, + "enumValue": "HotWater" + }, + { + "name": "ChilledWater", + "displayName": { + "en": "Chilled Water" + }, + "enumValue": "ChilledWater" + } + ] + } + } + ], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:PlumbingWaterSystem;1", "@type": "Interface", @@ -47176,6 +47006,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:RadiantHeatingManifold;1", + "@type": "Interface", + "displayName": { + "en": "Radiant Heating Manifold" + }, + "extends": [ + "dtmi:com:willowinc:HVACManifold;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:RainfallAccumulationSensor;1", "@type": "Interface", @@ -47378,6 +47222,40 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:RefrigerationLiquidRefrigerantReceiver;1", + "@type": "Interface", + "displayName": { + "en": "Refrigeration Liquid Refrigerant Receiver" + }, + "description": { + "en": "A liquid refrigerant receiver tank, or simply receiver, used in a refrigeration system holds excess refrigerant after the condenser to ensure proper liquid refrigerent to the expansion valve inlet of the evaporators." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationTank;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:RefrigerationSuctionLineAccumulator;1", + "@type": "Interface", + "displayName": { + "en": "Refrigeration Suction Line Accumulator" + }, + "description": { + "en": "A refrigeratino suction line accumulator used in a refrigeration system prevents damaging overflow of liquid refrigerant and oil from going back to the compressor." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationTank;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:Refrigerator;1", "@type": "Interface", @@ -48347,20 +48225,6 @@ "dtmi:dtdl:context;3" ] }, - { - "@id": "dtmi:com:willowinc:SteamCondensatePump;1", - "@type": "Interface", - "displayName": { - "en": "Steam Condensate Pump" - }, - "extends": [ - "dtmi:com:willowinc:CondensatePump;1" - ], - "contents": [], - "@context": [ - "dtmi:dtdl:context;3" - ] - }, { "@id": "dtmi:com:willowinc:SteamConsumptionGreenhouseGasEmissionsFactor;1", "@type": "Interface", @@ -48599,6 +48463,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:SumpPump;1", + "@type": "Interface", + "displayName": { + "en": "Sump Pump" + }, + "extends": [ + "dtmi:com:willowinc:PlumbingPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:SupplyAirDiffuser;1", "@type": "Interface", @@ -49473,6 +49351,27 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:WaterCooledRefrigerationCondenser;1", + "@type": "Interface", + "displayName": { + "en": "Water-Cooled Refrigeration Condenser" + }, + "description": { + "en": "A water-cooled condenser used in a refrigeration system or circuit used in applications such food, beverage, pharmaceutical and chemical storage and ice storage and production." + }, + "extends": [ + "dtmi:com:willowinc:RefrigerationCondenser;1", + "dtmi:com:willowinc:WaterCooledCondenser;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3", + "dtmi:dtdl:extension:quantitativeTypes;1", + "dtmi:dtdl:extension:annotation;1", + "dtmi:dtdl:extension:overriding;1" + ] + }, { "@id": "dtmi:com:willowinc:WaterDeltaPressureSensor;1", "@type": "Interface", @@ -50949,6 +50848,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:ChilledWaterPump;1", + "@type": "Interface", + "displayName": { + "en": "Chilled Water Pump" + }, + "extends": [ + "dtmi:com:willowinc:HydronicPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:ChilledWaterTemperatureSetpoint;1", "@type": "Interface", @@ -51418,6 +51331,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:CondenserWaterPump;1", + "@type": "Interface", + "displayName": { + "en": "Condenser Water Pump" + }, + "extends": [ + "dtmi:com:willowinc:HydronicPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:CondenserWaterTemperatureSetpoint;1", "@type": "Interface", @@ -52188,6 +52115,34 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:DomesticHotWaterCirculatingPump;1", + "@type": "Interface", + "displayName": { + "en": "Domestic Hot Water Circulating Pump" + }, + "extends": [ + "dtmi:com:willowinc:DomesticWaterPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, + { + "@id": "dtmi:com:willowinc:DomesticWaterBoosterPump;1", + "@type": "Interface", + "displayName": { + "en": "Domestic Water Booster Pump" + }, + "extends": [ + "dtmi:com:willowinc:DomesticWaterPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:DomesticWaterSystem;1", "@type": "Interface", @@ -53604,6 +53559,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HeatingHotWaterPump;1", + "@type": "Interface", + "displayName": { + "en": "Heating Hot Water Pump" + }, + "extends": [ + "dtmi:com:willowinc:HydronicPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:HeatingPlant;1", "@type": "Interface", @@ -54243,6 +54212,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:HydronicCirculatingPump;1", + "@type": "Interface", + "displayName": { + "en": "Hydronic Circulating Pump" + }, + "extends": [ + "dtmi:com:willowinc:HydronicPump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:InletAirCO2AlarmState;1", "@type": "Interface", @@ -57550,6 +57533,20 @@ "dtmi:dtdl:context;3" ] }, + { + "@id": "dtmi:com:willowinc:SteamCondensatePump;1", + "@type": "Interface", + "displayName": { + "en": "Steam Condensate Pump" + }, + "extends": [ + "dtmi:com:willowinc:CondensatePump;1" + ], + "contents": [], + "@context": [ + "dtmi:dtdl:context;3" + ] + }, { "@id": "dtmi:com:willowinc:SteamDeltaPressureSetpoint;1", "@type": "Interface", diff --git a/Metadata/Willow.Ontology.DTDLv3.nuspec b/Metadata/Willow.Ontology.DTDLv3.nuspec index feb9e0c4..c22f2898 100644 --- a/Metadata/Willow.Ontology.DTDLv3.nuspec +++ b/Metadata/Willow.Ontology.DTDLv3.nuspec @@ -2,7 +2,7 @@ WillowInc.Ontology.DTDLv3 - 1.0.1.135 + 1.0.1.136 Willow, Inc. willowinc https://github.com/WillowInc/opendigitaltwins-building