BMS Event Bus 1.0.0
Telemetry and control event catalog for the Building Management System (BMS) over MQTT. Provides real-time point values and point metadata for all supported object and point types.
How to use this spec
Each monitored point follows a Value / Metadata pattern:
-
Value messages carry the live reading (
value,timestamp,quality).Subscribe to a value channel to receive real-time telemetry. Values are published whenever they change and republished every 100 seconds when they do not change.
-
Metadata messages describe the point (units, identifiers, relationships).
Always receive metadata before interpreting values. Metadata is retained and published once at startup. It is subsequently published every 100 seconds.
Topic structure
| Publisher | Topic Type | Pattern |
|---|---|---|
| BMS | Value | BMS/v1/PUB/Value/{objectType}/{pointType}/{tagPath} |
| BMS | Metadata | BMS/v1/PUB/Metadata/{objectType}/{pointType}/{tagPath} |
| Integration | Value | BMS/v1/{integration}/Value/{objectType}/{pointType}/{tagPath} |
The {tagPath} is a vendor-defined hierarchical path and may contain multiple / segments. Each {tagPath} must be unique for each point and is usually derived from the BMS system based on the BMS point name.
Use # to subscribe to all topics under a given hierarchy (multi-level wildcard).
Use + to match exactly one topic level (single-level wildcard).
Publisher rules
-
BMS publishes all metadata — including for points whose values are written by integrations.
-
BMS publishes its own point values on
BMS/v1/PUB/Value/.... -
Integrations are any system (MQTT Client) external to the BMS. Whenever they need to directly send messages to the BMS, they publish values on
BMS/v1/{integration}/Value/.... Integrations do not publish metadata.
Integration publishing contract
This rule applies globally to every integration-published point across all objectTypes.
BMS publishes metadata for every monitored point — including points whose values are written by external integrations. For such points the metadata payload contains an integration field identifying which integration owns that point’s value.
| Metadata field | Type | Meaning |
|---|---|---|
integration | string | Identifier of the integration that must publish the value for this point |
Topic derivation rule
The value topic is derived methodically from the respective metadata topic (published by BMS) that carried the integration field. DSX Exchange Access Control Lists will typically be created so that MQTT Clients are provided access to publish and subscribe to specific namespaces that align with the [Publisher]:
BMS/v1/[Publisher]/[TopicType]/{objectType}/{pointType}/{tagPath}
| Segment | Metadata topic | Value topic |
|---|---|---|
| Publisher | PUB | value of integration field in metadata |
| TopicType | Metadata | Value |
| Remainder | {objectType}/{pointType}/{tagPath} | {objectType}/{pointType}/{tagPath} |
In other words, the Publisher integration will derive the following value topic to publish based on the corresponding BMS metadata:
BMS/v1/PUB/Metadata/{objectType}/{pointType}/{tagPath} ↓ replace PUB → {integration}, Metadata → Value BMS/v1/{integration}/Value/{objectType}/{pointType}/{tagPath}
Contract
When an integration receives a BMS metadata message and the integration field matches its own identifier, the integration MUST:
- Note the full metadata topic it arrived on.
- Derive the value topic by substituting
PUB→ own identifier andMetadata→Value, keeping{objectType}/{pointType}/{tagPath}unchanged. - Publish value messages to that derived topic.
Integrations MUST NOT:
-
Publish values for points whose metadata
integrationfield does not match their own identifier. -
Publish metadata (BMS is the sole metadata publisher).
Example flow
BMS publishes metadata → Topic: BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5 Payload: { ..., "integration": "MEPAI", ... } Integration "MEPAI" receives the metadata, recognises its identifier, derives its value topic → BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5 ↓ PUB→MEPAI, Metadata→Value BMS/v1/MEPAI/Value/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5
MEPAI publishes its setpoint reading to that derived topic.
The same contract governs all other integration-published points, including Rack/RackLeakDetectTray, Rack/RackLiquidIsolationRequest, Rack/RackElectricalIsolationRequest, System/HeartbeatTimestampIntegration, System/HeartbeatEchoIntegration, CDU/LiquidTemperatureSpRequest, and any future integration-owned pointTypes.
Metadata types and concepts
-
objectType: Object Types are restricted to specific strings in accordance with this AsyncAPI. They typically represent BMS equipment or devices.
-
System: A System can be the BMS or an Integration to the BMS. Heartbeat points and system-to-system communication point types are typically defined inside of a System object type. System Heartbeat point types are expected to operate as follows. An integration may choose to use the Echo points or not.
Naming convention: the
BMS/Integrationsuffix indicates the publisher of the point.All four heartbeat pointTypes require
objectNameandobjectIdin metadata to identify which System the heartbeat belongs to. By convention, an integration’sobjectIdmatches the same string used as itsintegrationmetadata field on its other points (so MEPAI1’s System object hasobjectId: "MEPAI1").-
HeartbeatTimestampBms — Publisher: BMS. The BMS publishes its own timestamp every 10 seconds. One instance globally.
objectIdidentifies the BMS (e.g.,"BMS").integrationfield: not used. -
HeartbeatTimestampIntegration — Publisher: Integration. Each integration publishes its own timestamp every 10 seconds, one per integration.
objectIdidentifies the integration publishing (e.g.,"MEPAI1").integrationfield: required (drives topic). -
HeartbeatEchoBms — Publisher: BMS. The BMS reads each integration’s
HeartbeatTimestampIntegrationvalue and re-publishes it on this point type, allowing each integration to confirm round-trip. One instance per connected integration.objectIdidentifies the integration whose timestamp is being echoed (e.g.,"MEPAI1").integrationfield: not used. -
HeartbeatEchoIntegration — Publisher: Integration. Each integration reads the BMS’s
HeartbeatTimestampBmsvalue and re-publishes it on this point type, allowing the BMS to confirm round-trip with that integration. One per connected integration.objectIdidentifies the BMS being echoed (e.g.,"BMS").integrationfield: required (drives topic).
-
-
Rack: A Rack is a special object type and has specific point types that can only be used with a Rack object type. Many integrations and MQTT Clients will only ingest data from the Rack object type. Other integrations will consider Rack data as the most important or interesting data in the AI Factory. Mechanical and Electrical design (and therefore BMS Data) at the rack is also more standardized than mechanical and electrical systems as you move out of the white space and to the gray space of the AI Factory. For these reasons, the point types associated with a Rack object type are generally more specific than any other object type, making ingesting and understanding rack data more straight-forward.
-
PowerMeter: A PowerMeter is a special object type and has specific point types that can only be used with a PowerMeter object type. PowerMeter point types contain the metadata needed to understand electrical power path. This data is used by integrations / MQTT Clients for power management strategies.
-
Electrical Equipment: This is a general category, and several object types exist in this AsyncAPI for electrical equipment. Electrical equipment point types typically use metadata to associate the object / equipment with a power meter to show where the equipment lands in the power path.
-
Mechanical Equipment: This is a general category, and several object types exist in this AsyncAPI for mechanical equipment.
-
GenericObject: This object type is reserved and should not be used unless no other object type is applicable.
-
-
pointType: Point Types are restricted to specific strings in accordance with this AsyncAPI. Point types are also restricted to specific object types. Some point types apply to multiple object types while others are restricted to specific object types.
-
engUnit: Engineering Units describe the units of measure for the point / topic. If engineering units are used, then state text does not apply.
-
stateText: State Text describes what a binary or integer value means. Each binary or integer value will have a state text identified. If state text is used, then engineering units do not apply.
-
rackLocationName: This is the human readable name given to a rack location.
-
rackLocationId: This is the unique identifier for a rack location. It can be the same as the rackLocationName if human readable and unique. This must allow the IT side integrations and OT side BMS to associate a point with the same physical rack (same identifier on both systems).
-
objectName: This is the human readable name given to the object.
-
objectId: This is the unique identifier for an object. It can be the same as the objectName if human readable and unique.
-
associateId: This will list the objectId of an associated object. The intent is for this object to be considered part of the other object, especially for
servesIdmetadata. Commonly used to prevent parallel power paths (parallel “serves” relationships) when electrical equipment objects need to be associated with power meters. Also applicable to mechanical equipment object types to prevent liquid and air flow parallel paths where not intended. -
servesId: This will list the objectId of the object that is served by this object. Creates a one-way relationship. Typically used to indicate electrical power path or liquid/air fluid flow path towards the rack.
-
processArea: This is used to provide more information on the point location or purpose. In general, process area metadata should be used, in conjunction with other metadata, to make points unique and allow integrations / MQTT Clients to clearly understand what a point represents in the AI factory. Example: for a CDU object type and LiquidTemperature point type, the process area metadata could include
"Secondary"and"Supply". This would make it clear that the temperature sensor was located on the secondary side of the CDU and on the supply line. -
phase: This is used to identify which phase, of a 3-phase electrical system, the point is associated with.
-
isSetpoint: This can be set to
true(unquoted, lowercase) to indicate that a point is a setpoint rather than a sensor reading. A setpoint is a target or ideal value that a system is trying to maintain a process variable at. -
scope: Scope is used for System heartbeat points. If the BMS has multiple MQTT Clients connected to DSX Exchange, each could be publishing different data to the MQTT Broker. In this case each MQTT Client should have separate heartbeat points. Scope can be used in this case to identify what MQTT Topics / Namespace the heartbeat point is associated with — and thereby what topics are impacted when a heartbeat is lost.
-
integration: Integration metadata is used to indicate which integration a point is associated with. It also indicates the namespace
[Publisher]an integration is required to write the corresponding value back to.
Raw AsyncAPI Spec
View / copy the raw AsyncAPI YAML
1 # Copyright 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 # SPDX-License-Identifier: Apache-2.0 3 4 asyncapi: 3.1.0 5 6 info: 7 title: BMS Event Bus 8 version: 1.0.0 9 description: | 10 Telemetry and control event catalog for the Building Management System (BMS) 11 over MQTT. Provides real-time point values and point metadata for all supported 12 object and point types. 13 14 ## How to use this spec 15 16 Each monitored point follows a **Value / Metadata** pattern: 17 18 - **Value** messages carry the live reading (`value`, `timestamp`, `quality`). 19 20 Subscribe to a value channel to receive real-time telemetry. Values are published whenever they change and republished every 100 seconds when they do not change. 21 22 - **Metadata** messages describe the point (units, identifiers, relationships). 23 24 **Always receive metadata before interpreting values.** Metadata is retained and published once at startup. It is subsequently published every 100 seconds. 25 26 ## Topic structure 27 28 | Publisher | Topic Type | Pattern | 29 | :---------- | :--------- | :--------------------------------------------------------------- | 30 | BMS | Value | `BMS/v1/PUB/Value/{objectType}/{pointType}/{tagPath}` | 31 | BMS | Metadata | `BMS/v1/PUB/Metadata/{objectType}/{pointType}/{tagPath}` | 32 | Integration | Value | `BMS/v1/{integration}/Value/{objectType}/{pointType}/{tagPath}` | 33 34 The `{tagPath}` is a vendor-defined hierarchical path and may contain multiple `/` segments. Each `{tagPath}` must be unique for each point and is usually derived from the BMS system based on the BMS point name. 35 36 Use `#` to subscribe to all topics under a given hierarchy (multi-level wildcard). 37 38 Use `+` to match exactly one topic level (single-level wildcard). 39 40 ## Publisher rules 41 42 - **BMS** publishes all metadata — including for points whose values are written by integrations. 43 44 - **BMS** publishes its own point values on `BMS/v1/PUB/Value/...`. 45 46 - **Integrations** are any system (MQTT Client) external to the BMS. Whenever they need to directly send messages to the BMS, they publish values on `BMS/v1/{integration}/Value/...`. Integrations do **not** publish metadata. 47 48 ## Integration publishing contract 49 50 > **This rule applies globally to every integration-published point across all 51 > objectTypes.** 52 53 BMS publishes metadata for every monitored point — including points whose _values_ are written by external integrations. For such points the metadata payload contains an `integration` field identifying which integration owns that point's value. 54 55 | Metadata field | Type | Meaning | 56 | :------------- | :--- | :------ | 57 | `integration` | string | Identifier of the integration that must publish the value for this point | 58 59 ### Topic derivation rule 60 61 The value topic is derived **methodically** from the respective metadata topic (published by BMS) that carried the `integration` field. DSX Exchange Access Control Lists will typically be created so that MQTT Clients are provided access to publish and subscribe to specific namespaces that align with the `[Publisher]`: 62 63 BMS/v1/**[Publisher]/[TopicType]**/{objectType}/{pointType}/{tagPath} 64 65 | Segment | Metadata topic | Value topic | 66 | :------ | :------------- | :---------- | 67 | Publisher | `PUB` | value of `integration` field in metadata | 68 | TopicType | `Metadata` | `Value` | 69 | Remainder | `{objectType}/{pointType}/{tagPath}` | `{objectType}/{pointType}/{tagPath}` | 70 71 In other words, the Publisher integration will derive the following value topic to publish based on the corresponding BMS metadata: 72 73 ```text 74 BMS/v1/PUB/Metadata/\{objectType\}/\{pointType\}/\{tagPath\} 75 ↓ replace PUB → \{integration\}, Metadata → Value 76 BMS/v1/\{integration\}/Value/\{objectType\}/\{pointType\}/\{tagPath\} 77 ``` 78 79 ### Contract 80 81 When an integration receives a BMS metadata message and the `integration` field **matches its own identifier**, the integration **MUST**: 82 83 1. Note the full metadata topic it arrived on. 84 2. Derive the value topic by substituting `PUB` → own identifier and `Metadata` → `Value`, keeping `{objectType}/{pointType}/{tagPath}` unchanged. 85 3. Publish value messages to that derived topic. 86 87 Integrations **MUST NOT**: 88 89 - Publish values for points whose metadata `integration` field does not match their own identifier. 90 91 - Publish metadata (BMS is the sole metadata publisher). 92 93 ### Example flow 94 95 ```text 96 BMS publishes metadata → 97 Topic: BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5 98 Payload: \{ ..., "integration": "MEPAI", ... \} 99 100 Integration "MEPAI" receives the metadata, recognises its identifier, 101 derives its value topic → 102 BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5 103 ↓ PUB→MEPAI, Metadata→Value 104 BMS/v1/MEPAI/Value/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5 105 ``` 106 107 MEPAI publishes its setpoint reading to that derived topic. 108 109 The same contract governs all other integration-published points, including `Rack/RackLeakDetectTray`, `Rack/RackLiquidIsolationRequest`, `Rack/RackElectricalIsolationRequest`, `System/HeartbeatTimestampIntegration`, `System/HeartbeatEchoIntegration`, `CDU/LiquidTemperatureSpRequest`, and any future integration-owned pointTypes. 110 111 ## Metadata types and concepts 112 113 - **objectType**: Object Types are restricted to specific strings in accordance with this AsyncAPI. They typically represent BMS equipment or devices. 114 115 - **System**: A System can be the BMS or an Integration to the BMS. Heartbeat points and system-to-system communication point types are typically defined inside of a System object type. System Heartbeat point types are expected to operate as follows. An integration may choose to use the Echo points or not. 116 117 Naming convention: the `BMS`/`Integration` suffix indicates the publisher of the point. 118 119 All four heartbeat pointTypes require `objectName` and `objectId` in metadata to identify which System the heartbeat belongs to. By convention, an integration's `objectId` matches the same string used as its `integration` metadata field on its other points (so MEPAI1's System object has `objectId: "MEPAI1"`). 120 121 - **HeartbeatTimestampBms** — Publisher: BMS. The BMS publishes its own timestamp every 10 seconds. One instance globally. `objectId` identifies the BMS (e.g., `"BMS"`). `integration` field: not used. 122 123 - **HeartbeatTimestampIntegration** — Publisher: Integration. Each integration publishes its own timestamp every 10 seconds, one per integration. `objectId` identifies the integration publishing (e.g., `"MEPAI1"`). `integration` field: required (drives topic). 124 125 - **HeartbeatEchoBms** — Publisher: BMS. The BMS reads each integration's `HeartbeatTimestampIntegration` value and re-publishes it on this point type, allowing each integration to confirm round-trip. One instance per connected integration. `objectId` identifies the integration whose timestamp is being echoed (e.g., `"MEPAI1"`). `integration` field: not used. 126 127 - **HeartbeatEchoIntegration** — Publisher: Integration. Each integration reads the BMS's `HeartbeatTimestampBms` value and re-publishes it on this point type, allowing the BMS to confirm round-trip with that integration. One per connected integration. `objectId` identifies the BMS being echoed (e.g., `"BMS"`). `integration` field: required (drives topic). 128 129 - **Rack**: A Rack is a special object type and has specific point types that can only be used with a Rack object type. Many integrations and MQTT Clients will only ingest data from the Rack object type. Other integrations will consider Rack data as the most important or interesting data in the AI Factory. Mechanical and Electrical design (and therefore BMS Data) at the rack is also more standardized than mechanical and electrical systems as you move out of the white space and to the gray space of the AI Factory. For these reasons, the point types associated with a Rack object type are generally more specific than any other object type, making ingesting and understanding rack data more straight-forward. 130 131 - **PowerMeter**: A PowerMeter is a special object type and has specific point types that can only be used with a PowerMeter object type. PowerMeter point types contain the metadata needed to understand electrical power path. This data is used by integrations / MQTT Clients for power management strategies. 132 133 - **Electrical Equipment**: This is a general category, and several object types exist in this AsyncAPI for electrical equipment. Electrical equipment point types typically use metadata to associate the object / equipment with a power meter to show where the equipment lands in the power path. 134 135 - **Mechanical Equipment**: This is a general category, and several object types exist in this AsyncAPI for mechanical equipment. 136 137 - **GenericObject**: This object type is reserved and should not be used unless no other object type is applicable. 138 139 - **pointType**: Point Types are restricted to specific strings in accordance with this AsyncAPI. Point types are also restricted to specific object types. Some point types apply to multiple object types while others are restricted to specific object types. 140 141 - **engUnit**: Engineering Units describe the units of measure for the point / topic. If engineering units are used, then state text does not apply. 142 143 - **stateText**: State Text describes what a binary or integer value means. Each binary or integer value will have a state text identified. If state text is used, then engineering units do not apply. 144 145 - **rackLocationName**: This is the human readable name given to a rack location. 146 147 - **rackLocationId**: This is the unique identifier for a rack location. It can be the same as the rackLocationName if human readable and unique. This must allow the IT side integrations and OT side BMS to associate a point with the same physical rack (same identifier on both systems). 148 149 - **objectName**: This is the human readable name given to the object. 150 151 - **objectId**: This is the unique identifier for an object. It can be the same as the objectName if human readable and unique. 152 153 - **associateId**: This will list the objectId of an associated object. The intent is for this object to be considered part of the other object, especially for `servesId` metadata. Commonly used to prevent parallel power paths (parallel "serves" relationships) when electrical equipment objects need to be associated with power meters. Also applicable to mechanical equipment object types to prevent liquid and air flow parallel paths where not intended. 154 155 - **servesId**: This will list the objectId of the object that is served by this object. Creates a one-way relationship. Typically used to indicate electrical power path or liquid/air fluid flow path towards the rack. 156 157 - **processArea**: This is used to provide more information on the point location or purpose. In general, process area metadata should be used, in conjunction with other metadata, to make points unique and allow integrations / MQTT Clients to clearly understand what a point represents in the AI factory. Example: for a CDU object type and LiquidTemperature point type, the process area metadata could include `"Secondary"` and `"Supply"`. This would make it clear that the temperature sensor was located on the secondary side of the CDU and on the supply line. 158 159 - **phase**: This is used to identify which phase, of a 3-phase electrical system, the point is associated with. 160 161 - **isSetpoint**: This can be set to `true` (unquoted, lowercase) to indicate that a point is a setpoint rather than a sensor reading. A setpoint is a target or ideal value that a system is trying to maintain a process variable at. 162 163 - **scope**: Scope is used for System heartbeat points. If the BMS has multiple MQTT Clients connected to DSX Exchange, each could be publishing different data to the MQTT Broker. In this case each MQTT Client should have separate heartbeat points. Scope can be used in this case to identify what MQTT Topics / Namespace the heartbeat point is associated with — and thereby what topics are impacted when a heartbeat is lost. 164 165 - **integration**: Integration metadata is used to indicate which integration a point is associated with. It also indicates the namespace `[Publisher]` an integration is required to write the corresponding value back to. 166 167 # ============================================================================= 168 # Servers 169 # ============================================================================= 170 171 # servers: 172 # production: 173 # host: broker.example.com 174 # protocol: mqtt 175 # description: MQTT broker for BMS telemetry and control 176 177 # ============================================================================= 178 # Channels 179 # ============================================================================= 180 181 channels: 182 183 # --------------------------------------------------------------------------- 184 # Rack 185 # --------------------------------------------------------------------------- 186 187 rackBmsValue: 188 address: 'BMS/v1/PUB/Value/Rack/{pointType}/{tagPath}' 189 description: | 190 Real-time values published by the BMS for all Rack monitoring points. 191 192 **MQTT wildcard examples** 193 194 - All rack values: `BMS/v1/PUB/Value/Rack/#` 195 parameters: 196 pointType: 197 enum: 198 - RackLiquidSupplyTemperature 199 - RackLiquidReturnTemperature 200 - RackLiquidFlow 201 - RackLiquidDifferentialPressure 202 - RackLiquidDifferentialPressureSp 203 - RackControlValvePosition 204 - RackPower 205 - RackLeakDetect 206 - RackLeakSensorFault 207 - RackLiquidIsolationStatus 208 - RackElectricalIsolationStatus 209 description: BMS-published Rack point type. 210 tagPath: 211 description: Vendor-defined hierarchical tag path. 212 messages: 213 valueMessage: 214 $ref: '#/components/messages/ValueMessage' 215 216 rackMetadata: 217 address: 'BMS/v1/PUB/Metadata/Rack/{pointType}/{tagPath}' 218 description: | 219 BMS-published metadata for all Rack points. 220 Includes integration-owned points which carries the `integration` field. 221 222 **MQTT wildcard examples** 223 224 - All rack metadata: `BMS/v1/PUB/Metadata/Rack/#` 225 parameters: 226 pointType: 227 enum: 228 - RackLiquidSupplyTemperature 229 - RackLiquidReturnTemperature 230 - RackLiquidFlow 231 - RackLiquidDifferentialPressure 232 - RackLiquidDifferentialPressureSp 233 - RackControlValvePosition 234 - RackPower 235 - RackLeakDetect 236 - RackLeakSensorFault 237 - RackLeakDetectTray 238 - RackLiquidIsolationStatus 239 - RackElectricalIsolationStatus 240 - RackLiquidIsolationRequest 241 - RackElectricalIsolationRequest 242 description: Rack point type. 243 tagPath: 244 description: Must match the tagPath of the corresponding value topic exactly. 245 messages: 246 rackLiquidSupplyTemperature: 247 $ref: '#/components/messages/RackLiquidSupplyTemperatureMsg' 248 rackLiquidReturnTemperature: 249 $ref: '#/components/messages/RackLiquidReturnTemperatureMsg' 250 rackLiquidFlow: 251 $ref: '#/components/messages/RackLiquidFlowMsg' 252 rackLiquidDifferentialPressure: 253 $ref: '#/components/messages/RackLiquidDifferentialPressureMsg' 254 rackLiquidDifferentialPressureSp: 255 $ref: '#/components/messages/RackLiquidDifferentialPressureSpMsg' 256 rackControlValvePosition: 257 $ref: '#/components/messages/RackControlValvePositionMsg' 258 rackPower: 259 $ref: '#/components/messages/RackPowerMsg' 260 rackLeakDetect: 261 $ref: '#/components/messages/RackLeakDetectMsg' 262 rackLeakSensorFault: 263 $ref: '#/components/messages/RackLeakSensorFaultMsg' 264 rackLeakDetectTray: 265 $ref: '#/components/messages/RackLeakDetectTrayMsg' 266 rackLiquidIsolationStatus: 267 $ref: '#/components/messages/RackLiquidIsolationStatusMsg' 268 rackElectricalIsolationStatus: 269 $ref: '#/components/messages/RackElectricalIsolationStatusMsg' 270 rackLiquidIsolationRequest: 271 $ref: '#/components/messages/RackLiquidIsolationRequestMsg' 272 rackElectricalIsolationRequest: 273 $ref: '#/components/messages/RackElectricalIsolationRequestMsg' 274 275 rackIntegrationValue: 276 address: 'BMS/v1/{integration}/Value/Rack/{pointType}/{tagPath}' 277 description: | 278 Values published by integrations for Rack control points. 279 Subscribe to `BMS/v1/PUB/Metadata/Rack/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 280 That matching metadata payload indicates the integration can publish values to this topic. 281 282 **MQTT wildcard examples** 283 284 - All integration Rack values: `BMS/v1/+/Value/Rack/#` 285 parameters: 286 integration: 287 description: Integration identifier. 288 pointType: 289 enum: 290 - RackLeakDetectTray 291 - RackLiquidIsolationRequest 292 - RackElectricalIsolationRequest 293 description: Integration-published Rack point type. 294 tagPath: 295 description: Must match the tagPath from the corresponding BMS metadata exactly. 296 messages: 297 valueMessage: 298 $ref: '#/components/messages/ValueMessage' 299 300 # --------------------------------------------------------------------------- 301 # PowerMeter 302 # --------------------------------------------------------------------------- 303 304 powerMeterValue: 305 address: 'BMS/v1/PUB/Value/PowerMeter/{pointType}/{tagPath}' 306 description: | 307 Real-time values published by the BMS for all PowerMeter points. 308 309 **MQTT wildcard examples** 310 311 - All power meter values: `BMS/v1/PUB/Value/PowerMeter/#` 312 parameters: 313 pointType: 314 enum: 315 - Voltage 316 - PowerFactor 317 - Frequency 318 - ApparentPower 319 - ActivePower 320 - Current 321 - CurrentLimit 322 - PhaseCurrent 323 - GenericPoint 324 description: PowerMeter point type. 325 tagPath: 326 description: Vendor-defined hierarchical tag path. 327 messages: 328 valueMessage: 329 $ref: '#/components/messages/ValueMessage' 330 331 powerMeterMetadata: 332 address: 'BMS/v1/PUB/Metadata/PowerMeter/{pointType}/{tagPath}' 333 description: | 334 BMS-published metadata for all PowerMeter points. 335 336 **MQTT wildcard examples** 337 338 - All power meter metadata: `BMS/v1/PUB/Metadata/PowerMeter/#` 339 parameters: 340 pointType: 341 enum: 342 - Voltage 343 - PowerFactor 344 - Frequency 345 - ApparentPower 346 - ActivePower 347 - Current 348 - CurrentLimit 349 - PhaseCurrent 350 - GenericPoint 351 description: PowerMeter point type. 352 tagPath: 353 description: Vendor-defined hierarchical tag path. 354 messages: 355 voltage: 356 $ref: '#/components/messages/PowerMeterVoltageMsg' 357 powerFactor: 358 $ref: '#/components/messages/PowerMeterPowerFactorMsg' 359 frequency: 360 $ref: '#/components/messages/PowerMeterFrequencyMsg' 361 apparentPower: 362 $ref: '#/components/messages/PowerMeterApparentPowerMsg' 363 activePower: 364 $ref: '#/components/messages/PowerMeterActivePowerMsg' 365 current: 366 $ref: '#/components/messages/PowerMeterCurrentMsg' 367 currentLimit: 368 $ref: '#/components/messages/PowerMeterCurrentLimitMsg' 369 genericPoint: 370 $ref: '#/components/messages/GenericPowerMeterPointMsg' 371 phaseCurrent: 372 $ref: '#/components/messages/PowerMeterPhaseCurrentMsg' 373 374 powerMeterIntegrationValue: 375 address: 'BMS/v1/{integration}/Value/PowerMeter/{pointType}/{tagPath}' 376 description: | 377 Values published by integrations for PowerMeter control points. 378 Subscribe to `BMS/v1/PUB/Metadata/PowerMeter/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 379 That matching metadata payload indicates the integration can publish values to this topic. 380 381 **MQTT wildcard examples** 382 383 - All integration PowerMeter values: `BMS/v1/+/Value/PowerMeter/#` 384 parameters: 385 integration: 386 description: Integration identifier. 387 pointType: 388 enum: 389 - GenericPoint 390 description: Integration-published PowerMeter point type. 391 tagPath: 392 description: Must match the tagPath from the corresponding BMS metadata exactly. 393 messages: 394 valueMessage: 395 $ref: '#/components/messages/ValueMessage' 396 397 # --------------------------------------------------------------------------- 398 # BESS 399 # --------------------------------------------------------------------------- 400 401 bessValue: 402 address: 'BMS/v1/PUB/Value/BESS/{pointType}/{tagPath}' 403 description: | 404 Real-time values published by the BMS for BESS points. 405 Extensible: additional vendor-specific pointTypes may be present. 406 407 **MQTT wildcard examples** 408 409 - All BESS values: `BMS/v1/PUB/Value/BESS/#` 410 parameters: 411 pointType: 412 enum: 413 - Status 414 - Available 415 - GenericPoint 416 description: BMS-published BESS point type. 417 tagPath: 418 description: Vendor-defined hierarchical tag path. 419 messages: 420 valueMessage: 421 $ref: '#/components/messages/ValueMessage' 422 423 bessMetadata: 424 address: 'BMS/v1/PUB/Metadata/BESS/{pointType}/{tagPath}' 425 description: | 426 BMS-published metadata for BESS points. 427 428 **MQTT wildcard examples** 429 430 - All BESS metadata: `BMS/v1/PUB/Metadata/BESS/#` 431 parameters: 432 pointType: 433 enum: 434 - Status 435 - Available 436 - GenericPoint 437 description: BESS point type. 438 tagPath: 439 description: Vendor-defined hierarchical tag path. 440 messages: 441 status: 442 $ref: '#/components/messages/BESSStatusMsg' 443 genericPoint: 444 $ref: '#/components/messages/GenericEquipmentPointMsg' 445 available: 446 $ref: '#/components/messages/BESSAvailableMsg' 447 448 bessIntegrationValue: 449 address: 'BMS/v1/{integration}/Value/BESS/{pointType}/{tagPath}' 450 description: | 451 Values published by integrations for BESS control points. 452 Subscribe to `BMS/v1/PUB/Metadata/BESS/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 453 That matching metadata payload indicates the integration can publish values to this topic. 454 455 **MQTT wildcard examples** 456 457 - All integration BESS values: `BMS/v1/+/Value/BESS/#` 458 parameters: 459 integration: 460 description: Integration identifier. 461 pointType: 462 enum: 463 - GenericPoint 464 description: Integration-published BESS point type. 465 tagPath: 466 description: Must match the tagPath from the corresponding BMS metadata exactly. 467 messages: 468 valueMessage: 469 $ref: '#/components/messages/ValueMessage' 470 471 # --------------------------------------------------------------------------- 472 # UPS 473 # --------------------------------------------------------------------------- 474 475 upsValue: 476 address: 'BMS/v1/PUB/Value/UPS/{pointType}/{tagPath}' 477 description: | 478 Real-time values published by the BMS for UPS points. 479 Extensible: additional vendor-specific pointTypes may be present. 480 481 **MQTT wildcard examples** 482 483 - All UPS values: `BMS/v1/PUB/Value/UPS/#` 484 parameters: 485 pointType: 486 enum: 487 - Status 488 - Available 489 - GenericPoint 490 description: BMS-published UPS point type. 491 tagPath: 492 description: Vendor-defined hierarchical tag path. 493 messages: 494 valueMessage: 495 $ref: '#/components/messages/ValueMessage' 496 497 upsMetadata: 498 address: 'BMS/v1/PUB/Metadata/UPS/{pointType}/{tagPath}' 499 description: | 500 BMS-published metadata for UPS points. 501 502 **MQTT wildcard examples** 503 504 - All UPS metadata: `BMS/v1/PUB/Metadata/UPS/#` 505 parameters: 506 pointType: 507 enum: 508 - Status 509 - Available 510 - GenericPoint 511 description: UPS point type. 512 tagPath: 513 description: Vendor-defined hierarchical tag path. 514 messages: 515 status: 516 $ref: '#/components/messages/UPSStatusMsg' 517 genericPoint: 518 $ref: '#/components/messages/GenericEquipmentPointMsg' 519 available: 520 $ref: '#/components/messages/UPSAvailableMsg' 521 522 upsIntegrationValue: 523 address: 'BMS/v1/{integration}/Value/UPS/{pointType}/{tagPath}' 524 description: | 525 Values published by integrations for UPS control points. 526 Subscribe to `BMS/v1/PUB/Metadata/UPS/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 527 That matching metadata payload indicates the integration can publish values to this topic. 528 529 **MQTT wildcard examples** 530 531 - All integration UPS values: `BMS/v1/+/Value/UPS/#` 532 parameters: 533 integration: 534 description: Integration identifier. 535 pointType: 536 enum: 537 - GenericPoint 538 description: Integration-published UPS point type. 539 tagPath: 540 description: Must match the tagPath from the corresponding BMS metadata exactly. 541 messages: 542 valueMessage: 543 $ref: '#/components/messages/ValueMessage' 544 545 # --------------------------------------------------------------------------- 546 # ATS 547 # --------------------------------------------------------------------------- 548 549 atsValue: 550 address: 'BMS/v1/PUB/Value/ATS/{pointType}/{tagPath}' 551 description: | 552 Real-time values published by the BMS for ATS points. 553 Extensible: additional vendor-specific pointTypes may be present. 554 555 **MQTT wildcard examples** 556 557 - All ATS values: `BMS/v1/PUB/Value/ATS/#` 558 parameters: 559 pointType: 560 enum: 561 - Status 562 - Available 563 - GenericPoint 564 description: BMS-published ATS point type. 565 tagPath: 566 description: Vendor-defined hierarchical tag path. 567 messages: 568 valueMessage: 569 $ref: '#/components/messages/ValueMessage' 570 571 atsMetadata: 572 address: 'BMS/v1/PUB/Metadata/ATS/{pointType}/{tagPath}' 573 description: | 574 BMS-published metadata for ATS points. 575 576 **MQTT wildcard examples** 577 578 - All ATS metadata: `BMS/v1/PUB/Metadata/ATS/#` 579 parameters: 580 pointType: 581 enum: 582 - Status 583 - Available 584 - GenericPoint 585 description: ATS point type. 586 tagPath: 587 description: Vendor-defined hierarchical tag path. 588 messages: 589 status: 590 $ref: '#/components/messages/ATSStatusMsg' 591 genericPoint: 592 $ref: '#/components/messages/GenericEquipmentPointMsg' 593 available: 594 $ref: '#/components/messages/ATSAvailableMsg' 595 596 atsIntegrationValue: 597 address: 'BMS/v1/{integration}/Value/ATS/{pointType}/{tagPath}' 598 description: | 599 Values published by integrations for ATS control points. 600 Subscribe to `BMS/v1/PUB/Metadata/ATS/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 601 That matching metadata payload indicates the integration can publish values to this topic. 602 603 **MQTT wildcard examples** 604 605 - All integration ATS values: `BMS/v1/+/Value/ATS/#` 606 parameters: 607 integration: 608 description: Integration identifier. 609 pointType: 610 enum: 611 - GenericPoint 612 description: Integration-published ATS point type. 613 tagPath: 614 description: Must match the tagPath from the corresponding BMS metadata exactly. 615 messages: 616 valueMessage: 617 $ref: '#/components/messages/ValueMessage' 618 619 # --------------------------------------------------------------------------- 620 # Generator 621 # --------------------------------------------------------------------------- 622 623 generatorValue: 624 address: 'BMS/v1/PUB/Value/Generator/{pointType}/{tagPath}' 625 description: | 626 Real-time values published by the BMS for Generator points. 627 Extensible: additional vendor-specific pointTypes may be present. 628 629 **MQTT wildcard examples** 630 631 - All Generator values: `BMS/v1/PUB/Value/Generator/#` 632 parameters: 633 pointType: 634 enum: 635 - Status 636 - Available 637 - GenericPoint 638 description: BMS-published Generator point type. 639 tagPath: 640 description: Vendor-defined hierarchical tag path. 641 messages: 642 valueMessage: 643 $ref: '#/components/messages/ValueMessage' 644 645 generatorMetadata: 646 address: 'BMS/v1/PUB/Metadata/Generator/{pointType}/{tagPath}' 647 description: | 648 BMS-published metadata for Generator points. 649 650 **MQTT wildcard examples** 651 652 - All Generator metadata: `BMS/v1/PUB/Metadata/Generator/#` 653 parameters: 654 pointType: 655 enum: 656 - Status 657 - Available 658 - GenericPoint 659 description: Generator point type. 660 tagPath: 661 description: Vendor-defined hierarchical tag path. 662 messages: 663 status: 664 $ref: '#/components/messages/GeneratorStatusMsg' 665 genericPoint: 666 $ref: '#/components/messages/GenericEquipmentPointMsg' 667 available: 668 $ref: '#/components/messages/GeneratorAvailableMsg' 669 670 generatorIntegrationValue: 671 address: 'BMS/v1/{integration}/Value/Generator/{pointType}/{tagPath}' 672 description: | 673 Values published by integrations for Generator control points. 674 Subscribe to `BMS/v1/PUB/Metadata/Generator/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 675 That matching metadata payload indicates the integration can publish values to this topic. 676 677 **MQTT wildcard examples** 678 679 - All integration Generator values: `BMS/v1/+/Value/Generator/#` 680 parameters: 681 integration: 682 description: Integration identifier. 683 pointType: 684 enum: 685 - GenericPoint 686 description: Integration-published Generator point type. 687 tagPath: 688 description: Must match the tagPath from the corresponding BMS metadata exactly. 689 messages: 690 valueMessage: 691 $ref: '#/components/messages/ValueMessage' 692 693 # --------------------------------------------------------------------------- 694 # Shunt 695 # --------------------------------------------------------------------------- 696 697 shuntValue: 698 address: 'BMS/v1/PUB/Value/Shunt/{pointType}/{tagPath}' 699 description: | 700 Real-time values published by the BMS for Shunt points. 701 702 **MQTT wildcard examples** 703 704 - All Shunt values: `BMS/v1/PUB/Value/Shunt/#` 705 parameters: 706 pointType: 707 enum: 708 - Status 709 - Available 710 - GenericPoint 711 description: BMS-published Shunt point type. 712 tagPath: 713 description: Vendor-defined hierarchical tag path. 714 messages: 715 valueMessage: 716 $ref: '#/components/messages/ValueMessage' 717 718 shuntMetadata: 719 address: 'BMS/v1/PUB/Metadata/Shunt/{pointType}/{tagPath}' 720 description: | 721 BMS-published metadata for Shunt points. 722 723 **MQTT wildcard examples** 724 725 - All Shunt metadata: `BMS/v1/PUB/Metadata/Shunt/#` 726 parameters: 727 pointType: 728 enum: 729 - Status 730 - Available 731 - GenericPoint 732 description: Shunt point type. 733 tagPath: 734 description: Vendor-defined hierarchical tag path. 735 messages: 736 status: 737 $ref: '#/components/messages/ShuntStatusMsg' 738 genericPoint: 739 $ref: '#/components/messages/GenericEquipmentPointMsg' 740 available: 741 $ref: '#/components/messages/ShuntAvailableMsg' 742 743 shuntIntegrationValue: 744 address: 'BMS/v1/{integration}/Value/Shunt/{pointType}/{tagPath}' 745 description: | 746 Values published by integrations for Shunt control points. 747 Subscribe to `BMS/v1/PUB/Metadata/Shunt/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 748 That matching metadata payload indicates the integration can publish values to this topic. 749 750 **MQTT wildcard examples** 751 752 - All integration Shunt values: `BMS/v1/+/Value/Shunt/#` 753 parameters: 754 integration: 755 description: Integration identifier. 756 pointType: 757 enum: 758 - GenericPoint 759 description: Integration-published Shunt point type. 760 tagPath: 761 description: Must match the tagPath from the corresponding BMS metadata exactly. 762 messages: 763 valueMessage: 764 $ref: '#/components/messages/ValueMessage' 765 766 # --------------------------------------------------------------------------- 767 # Breaker 768 # --------------------------------------------------------------------------- 769 770 breakerValue: 771 address: 'BMS/v1/PUB/Value/Breaker/{pointType}/{tagPath}' 772 description: | 773 Real-time values published by the BMS for Breaker points. 774 775 **MQTT wildcard examples** 776 777 - All Breaker values: `BMS/v1/PUB/Value/Breaker/#` 778 parameters: 779 pointType: 780 enum: 781 - Status 782 - Available 783 - GenericPoint 784 description: BMS-published Breaker point type. 785 tagPath: 786 description: Vendor-defined hierarchical tag path. 787 messages: 788 valueMessage: 789 $ref: '#/components/messages/ValueMessage' 790 791 breakerMetadata: 792 address: 'BMS/v1/PUB/Metadata/Breaker/{pointType}/{tagPath}' 793 description: | 794 BMS-published metadata for Breaker points. 795 796 **MQTT wildcard examples** 797 798 - All Breaker metadata: `BMS/v1/PUB/Metadata/Breaker/#` 799 parameters: 800 pointType: 801 enum: 802 - Status 803 - Available 804 - GenericPoint 805 description: Breaker point type. 806 tagPath: 807 description: Vendor-defined hierarchical tag path. 808 messages: 809 status: 810 $ref: '#/components/messages/BreakerStatusMsg' 811 genericPoint: 812 $ref: '#/components/messages/GenericEquipmentPointMsg' 813 available: 814 $ref: '#/components/messages/BreakerAvailableMsg' 815 816 breakerIntegrationValue: 817 address: 'BMS/v1/{integration}/Value/Breaker/{pointType}/{tagPath}' 818 description: | 819 Values published by integrations for Breaker control points. 820 Subscribe to `BMS/v1/PUB/Metadata/Breaker/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 821 That matching metadata payload indicates the integration can publish values to this topic. 822 823 **MQTT wildcard examples** 824 825 - All integration Breaker values: `BMS/v1/+/Value/Breaker/#` 826 parameters: 827 integration: 828 description: Integration identifier. 829 pointType: 830 enum: 831 - GenericPoint 832 description: Integration-published Breaker point type. 833 tagPath: 834 description: Must match the tagPath from the corresponding BMS metadata exactly. 835 messages: 836 valueMessage: 837 $ref: '#/components/messages/ValueMessage' 838 839 # --------------------------------------------------------------------------- 840 # CDU 841 # --------------------------------------------------------------------------- 842 843 cduValue: 844 address: 'BMS/v1/PUB/Value/CDU/{pointType}/{tagPath}' 845 description: | 846 Real-time values published by the BMS for CDU points. 847 848 **MQTT wildcard examples** 849 850 - All CDU values: `BMS/v1/PUB/Value/CDU/#` 851 parameters: 852 pointType: 853 enum: 854 - LiquidTemperature 855 - LiquidDifferentialPressure 856 - LiquidFlow 857 - LiquidPressure 858 - Status 859 - Available 860 - ValvePosition 861 - PumpSpeed 862 - FanSpeed 863 - DamperPosition 864 - AirTemperature 865 - AirDifferentialPressure 866 - AirRelativeHumidity 867 - AirFlow 868 - AirPressure 869 - LeakDetect 870 - GenericPoint 871 description: BMS-published CDU point type. 872 tagPath: 873 description: Vendor-defined hierarchical tag path. 874 messages: 875 valueMessage: 876 $ref: '#/components/messages/ValueMessage' 877 878 cduMetadata: 879 address: 'BMS/v1/PUB/Metadata/CDU/{pointType}/{tagPath}' 880 description: | 881 BMS-published metadata for CDU points. 882 Includes integration-owned points which carries the `integration` field. 883 884 **MQTT wildcard examples** 885 886 - All CDU metadata: `BMS/v1/PUB/Metadata/CDU/#` 887 parameters: 888 pointType: 889 enum: 890 - LiquidTemperature 891 - LiquidDifferentialPressure 892 - LiquidFlow 893 - LiquidPressure 894 - Status 895 - Available 896 - ValvePosition 897 - PumpSpeed 898 - FanSpeed 899 - DamperPosition 900 - AirTemperature 901 - AirDifferentialPressure 902 - AirRelativeHumidity 903 - AirFlow 904 - AirPressure 905 - LeakDetect 906 - LiquidTemperatureSpRequest 907 - GenericPoint 908 description: CDU point type. 909 tagPath: 910 description: Vendor-defined hierarchical tag path. 911 messages: 912 liquidTemperature: 913 $ref: '#/components/messages/CDULiquidTemperatureMsg' 914 liquidDifferentialPressure: 915 $ref: '#/components/messages/CDULiquidDifferentialPressureMsg' 916 liquidFlow: 917 $ref: '#/components/messages/CDULiquidFlowMsg' 918 liquidPressure: 919 $ref: '#/components/messages/CDULiquidPressureMsg' 920 status: 921 $ref: '#/components/messages/CDUStatusMsg' 922 available: 923 $ref: '#/components/messages/CDUAvailableMsg' 924 valvePosition: 925 $ref: '#/components/messages/CDUValvePositionMsg' 926 pumpSpeed: 927 $ref: '#/components/messages/CDUPumpSpeedMsg' 928 fanSpeed: 929 $ref: '#/components/messages/CDUFanSpeedMsg' 930 damperPosition: 931 $ref: '#/components/messages/CDUDamperPositionMsg' 932 airTemperature: 933 $ref: '#/components/messages/CDUAirTemperatureMsg' 934 airDifferentialPressure: 935 $ref: '#/components/messages/CDUAirDifferentialPressureMsg' 936 airRelativeHumidity: 937 $ref: '#/components/messages/CDUAirRelativeHumidityMsg' 938 airFlow: 939 $ref: '#/components/messages/CDUAirFlowMsg' 940 airPressure: 941 $ref: '#/components/messages/CDUAirPressureMsg' 942 leakDetect: 943 $ref: '#/components/messages/CDULeakDetectMsg' 944 liquidTemperatureSpRequest: 945 $ref: '#/components/messages/LiquidTemperatureSpRequestMsg' 946 genericPoint: 947 $ref: '#/components/messages/GenericEquipmentPointMsg' 948 949 cduIntegrationValue: 950 address: 'BMS/v1/{integration}/Value/CDU/{pointType}/{tagPath}' 951 description: | 952 Values published by integrations for CDU control points. 953 Subscribe to `BMS/v1/PUB/Metadata/CDU/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 954 That matching metadata payload indicates the integration can publish values to this topic. 955 956 **MQTT wildcard examples** 957 958 - All integration CDU values: `BMS/v1/+/Value/CDU/#` 959 parameters: 960 integration: 961 description: Integration identifier. 962 pointType: 963 enum: 964 - LiquidTemperatureSpRequest 965 - GenericPoint 966 description: Integration-published CDU point type. 967 tagPath: 968 description: Must match the tagPath from the corresponding BMS metadata exactly. 969 messages: 970 valueMessage: 971 $ref: '#/components/messages/ValueMessage' 972 973 # --------------------------------------------------------------------------- 974 # CoolingTower 975 # --------------------------------------------------------------------------- 976 977 coolingTowerValue: 978 address: 'BMS/v1/PUB/Value/CoolingTower/{pointType}/{tagPath}' 979 description: | 980 Real-time values published by the BMS for CoolingTower points. 981 982 **MQTT wildcard examples** 983 984 - All CoolingTower values: `BMS/v1/PUB/Value/CoolingTower/#` 985 parameters: 986 pointType: 987 enum: 988 - LiquidTemperature 989 - LiquidDifferentialPressure 990 - LiquidFlow 991 - LiquidPressure 992 - Status 993 - Available 994 - ValvePosition 995 - PumpSpeed 996 - FanSpeed 997 - DamperPosition 998 - AirTemperature 999 - AirDifferentialPressure 1000 - AirRelativeHumidity 1001 - AirFlow 1002 - AirPressure 1003 - LeakDetect 1004 - GenericPoint 1005 description: BMS-published CoolingTower point type. 1006 tagPath: 1007 description: Vendor-defined hierarchical tag path. 1008 messages: 1009 valueMessage: 1010 $ref: '#/components/messages/ValueMessage' 1011 1012 coolingTowerMetadata: 1013 address: 'BMS/v1/PUB/Metadata/CoolingTower/{pointType}/{tagPath}' 1014 description: | 1015 BMS-published metadata for CoolingTower points. 1016 1017 **MQTT wildcard examples** 1018 1019 - All CoolingTower metadata: `BMS/v1/PUB/Metadata/CoolingTower/#` 1020 parameters: 1021 pointType: 1022 enum: 1023 - LiquidTemperature 1024 - LiquidDifferentialPressure 1025 - LiquidFlow 1026 - LiquidPressure 1027 - Status 1028 - Available 1029 - ValvePosition 1030 - PumpSpeed 1031 - FanSpeed 1032 - DamperPosition 1033 - AirTemperature 1034 - AirDifferentialPressure 1035 - AirRelativeHumidity 1036 - AirFlow 1037 - AirPressure 1038 - LeakDetect 1039 - GenericPoint 1040 description: CoolingTower point type. 1041 tagPath: 1042 description: Vendor-defined hierarchical tag path. 1043 messages: 1044 liquidTemperature: 1045 $ref: '#/components/messages/CoolingTowerLiquidTemperatureMsg' 1046 liquidDifferentialPressure: 1047 $ref: '#/components/messages/CoolingTowerLiquidDifferentialPressureMsg' 1048 liquidFlow: 1049 $ref: '#/components/messages/CoolingTowerLiquidFlowMsg' 1050 liquidPressure: 1051 $ref: '#/components/messages/CoolingTowerLiquidPressureMsg' 1052 status: 1053 $ref: '#/components/messages/CoolingTowerStatusMsg' 1054 available: 1055 $ref: '#/components/messages/CoolingTowerAvailableMsg' 1056 valvePosition: 1057 $ref: '#/components/messages/CoolingTowerValvePositionMsg' 1058 pumpSpeed: 1059 $ref: '#/components/messages/CoolingTowerPumpSpeedMsg' 1060 fanSpeed: 1061 $ref: '#/components/messages/CoolingTowerFanSpeedMsg' 1062 damperPosition: 1063 $ref: '#/components/messages/CoolingTowerDamperPositionMsg' 1064 airTemperature: 1065 $ref: '#/components/messages/CoolingTowerAirTemperatureMsg' 1066 airDifferentialPressure: 1067 $ref: '#/components/messages/CoolingTowerAirDifferentialPressureMsg' 1068 airRelativeHumidity: 1069 $ref: '#/components/messages/CoolingTowerAirRelativeHumidityMsg' 1070 airFlow: 1071 $ref: '#/components/messages/CoolingTowerAirFlowMsg' 1072 airPressure: 1073 $ref: '#/components/messages/CoolingTowerAirPressureMsg' 1074 leakDetect: 1075 $ref: '#/components/messages/CoolingTowerLeakDetectMsg' 1076 genericPoint: 1077 $ref: '#/components/messages/GenericEquipmentPointMsg' 1078 1079 coolingTowerIntegrationValue: 1080 address: 'BMS/v1/{integration}/Value/CoolingTower/{pointType}/{tagPath}' 1081 description: | 1082 Values published by integrations for CoolingTower control points. 1083 Subscribe to `BMS/v1/PUB/Metadata/CoolingTower/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1084 That matching metadata payload indicates the integration can publish values to this topic. 1085 1086 **MQTT wildcard examples** 1087 1088 - All integration CoolingTower values: `BMS/v1/+/Value/CoolingTower/#` 1089 parameters: 1090 integration: 1091 description: Integration identifier. 1092 pointType: 1093 enum: 1094 - GenericPoint 1095 description: Integration-published CoolingTower point type. 1096 tagPath: 1097 description: Must match the tagPath from the corresponding BMS metadata exactly. 1098 messages: 1099 valueMessage: 1100 $ref: '#/components/messages/ValueMessage' 1101 1102 # --------------------------------------------------------------------------- 1103 # HX 1104 # --------------------------------------------------------------------------- 1105 1106 hxValue: 1107 address: 'BMS/v1/PUB/Value/HX/{pointType}/{tagPath}' 1108 description: | 1109 Real-time values published by the BMS for HX points. 1110 1111 **MQTT wildcard examples** 1112 1113 - All HX values: `BMS/v1/PUB/Value/HX/#` 1114 parameters: 1115 pointType: 1116 enum: 1117 - LiquidTemperature 1118 - LiquidDifferentialPressure 1119 - LiquidFlow 1120 - LiquidPressure 1121 - Status 1122 - Available 1123 - ValvePosition 1124 - PumpSpeed 1125 - FanSpeed 1126 - DamperPosition 1127 - AirTemperature 1128 - AirDifferentialPressure 1129 - AirRelativeHumidity 1130 - AirFlow 1131 - AirPressure 1132 - LeakDetect 1133 - GenericPoint 1134 description: BMS-published HX point type. 1135 tagPath: 1136 description: Vendor-defined hierarchical tag path. 1137 messages: 1138 valueMessage: 1139 $ref: '#/components/messages/ValueMessage' 1140 1141 hxMetadata: 1142 address: 'BMS/v1/PUB/Metadata/HX/{pointType}/{tagPath}' 1143 description: | 1144 BMS-published metadata for HX points. 1145 1146 **MQTT wildcard examples** 1147 1148 - All HX metadata: `BMS/v1/PUB/Metadata/HX/#` 1149 parameters: 1150 pointType: 1151 enum: 1152 - LiquidTemperature 1153 - LiquidDifferentialPressure 1154 - LiquidFlow 1155 - LiquidPressure 1156 - Status 1157 - Available 1158 - ValvePosition 1159 - PumpSpeed 1160 - FanSpeed 1161 - DamperPosition 1162 - AirTemperature 1163 - AirDifferentialPressure 1164 - AirRelativeHumidity 1165 - AirFlow 1166 - AirPressure 1167 - LeakDetect 1168 - GenericPoint 1169 description: HX point type. 1170 tagPath: 1171 description: Vendor-defined hierarchical tag path. 1172 messages: 1173 liquidTemperature: 1174 $ref: '#/components/messages/HXLiquidTemperatureMsg' 1175 liquidDifferentialPressure: 1176 $ref: '#/components/messages/HXLiquidDifferentialPressureMsg' 1177 liquidFlow: 1178 $ref: '#/components/messages/HXLiquidFlowMsg' 1179 liquidPressure: 1180 $ref: '#/components/messages/HXLiquidPressureMsg' 1181 status: 1182 $ref: '#/components/messages/HXStatusMsg' 1183 available: 1184 $ref: '#/components/messages/HXAvailableMsg' 1185 valvePosition: 1186 $ref: '#/components/messages/HXValvePositionMsg' 1187 pumpSpeed: 1188 $ref: '#/components/messages/HXPumpSpeedMsg' 1189 fanSpeed: 1190 $ref: '#/components/messages/HXFanSpeedMsg' 1191 damperPosition: 1192 $ref: '#/components/messages/HXDamperPositionMsg' 1193 airTemperature: 1194 $ref: '#/components/messages/HXAirTemperatureMsg' 1195 airDifferentialPressure: 1196 $ref: '#/components/messages/HXAirDifferentialPressureMsg' 1197 airRelativeHumidity: 1198 $ref: '#/components/messages/HXAirRelativeHumidityMsg' 1199 airFlow: 1200 $ref: '#/components/messages/HXAirFlowMsg' 1201 airPressure: 1202 $ref: '#/components/messages/HXAirPressureMsg' 1203 leakDetect: 1204 $ref: '#/components/messages/HXLeakDetectMsg' 1205 genericPoint: 1206 $ref: '#/components/messages/GenericEquipmentPointMsg' 1207 1208 hxIntegrationValue: 1209 address: 'BMS/v1/{integration}/Value/HX/{pointType}/{tagPath}' 1210 description: | 1211 Values published by integrations for HX control points. 1212 Subscribe to `BMS/v1/PUB/Metadata/HX/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1213 That matching metadata payload indicates the integration can publish values to this topic. 1214 1215 **MQTT wildcard examples** 1216 1217 - All integration HX values: `BMS/v1/+/Value/HX/#` 1218 parameters: 1219 integration: 1220 description: Integration identifier. 1221 pointType: 1222 enum: 1223 - GenericPoint 1224 description: Integration-published HX point type. 1225 tagPath: 1226 description: Must match the tagPath from the corresponding BMS metadata exactly. 1227 messages: 1228 valueMessage: 1229 $ref: '#/components/messages/ValueMessage' 1230 1231 # --------------------------------------------------------------------------- 1232 # CRAH 1233 # --------------------------------------------------------------------------- 1234 1235 crahValue: 1236 address: 'BMS/v1/PUB/Value/CRAH/{pointType}/{tagPath}' 1237 description: | 1238 Real-time values published by the BMS for CRAH points. 1239 1240 **MQTT wildcard examples** 1241 1242 - All CRAH values: `BMS/v1/PUB/Value/CRAH/#` 1243 parameters: 1244 pointType: 1245 enum: 1246 - LiquidTemperature 1247 - LiquidDifferentialPressure 1248 - LiquidFlow 1249 - LiquidPressure 1250 - Status 1251 - Available 1252 - ValvePosition 1253 - PumpSpeed 1254 - FanSpeed 1255 - DamperPosition 1256 - AirTemperature 1257 - AirDifferentialPressure 1258 - AirRelativeHumidity 1259 - AirFlow 1260 - AirPressure 1261 - LeakDetect 1262 - GenericPoint 1263 description: BMS-published CRAH point type. 1264 tagPath: 1265 description: Vendor-defined hierarchical tag path. 1266 messages: 1267 valueMessage: 1268 $ref: '#/components/messages/ValueMessage' 1269 1270 crahMetadata: 1271 address: 'BMS/v1/PUB/Metadata/CRAH/{pointType}/{tagPath}' 1272 description: | 1273 BMS-published metadata for CRAH points. 1274 1275 **MQTT wildcard examples** 1276 1277 - All CRAH metadata: `BMS/v1/PUB/Metadata/CRAH/#` 1278 parameters: 1279 pointType: 1280 enum: 1281 - LiquidTemperature 1282 - LiquidDifferentialPressure 1283 - LiquidFlow 1284 - LiquidPressure 1285 - Status 1286 - Available 1287 - ValvePosition 1288 - PumpSpeed 1289 - FanSpeed 1290 - DamperPosition 1291 - AirTemperature 1292 - AirDifferentialPressure 1293 - AirRelativeHumidity 1294 - AirFlow 1295 - AirPressure 1296 - LeakDetect 1297 - GenericPoint 1298 description: CRAH point type. 1299 tagPath: 1300 description: Vendor-defined hierarchical tag path. 1301 messages: 1302 liquidTemperature: 1303 $ref: '#/components/messages/CRAHLiquidTemperatureMsg' 1304 liquidDifferentialPressure: 1305 $ref: '#/components/messages/CRAHLiquidDifferentialPressureMsg' 1306 liquidFlow: 1307 $ref: '#/components/messages/CRAHLiquidFlowMsg' 1308 liquidPressure: 1309 $ref: '#/components/messages/CRAHLiquidPressureMsg' 1310 status: 1311 $ref: '#/components/messages/CRAHStatusMsg' 1312 available: 1313 $ref: '#/components/messages/CRAHAvailableMsg' 1314 valvePosition: 1315 $ref: '#/components/messages/CRAHValvePositionMsg' 1316 pumpSpeed: 1317 $ref: '#/components/messages/CRAHPumpSpeedMsg' 1318 fanSpeed: 1319 $ref: '#/components/messages/CRAHFanSpeedMsg' 1320 damperPosition: 1321 $ref: '#/components/messages/CRAHDamperPositionMsg' 1322 airTemperature: 1323 $ref: '#/components/messages/CRAHAirTemperatureMsg' 1324 airDifferentialPressure: 1325 $ref: '#/components/messages/CRAHAirDifferentialPressureMsg' 1326 airRelativeHumidity: 1327 $ref: '#/components/messages/CRAHAirRelativeHumidityMsg' 1328 airFlow: 1329 $ref: '#/components/messages/CRAHAirFlowMsg' 1330 airPressure: 1331 $ref: '#/components/messages/CRAHAirPressureMsg' 1332 leakDetect: 1333 $ref: '#/components/messages/CRAHLeakDetectMsg' 1334 genericPoint: 1335 $ref: '#/components/messages/GenericEquipmentPointMsg' 1336 1337 crahIntegrationValue: 1338 address: 'BMS/v1/{integration}/Value/CRAH/{pointType}/{tagPath}' 1339 description: | 1340 Values published by integrations for CRAH control points. 1341 Subscribe to `BMS/v1/PUB/Metadata/CRAH/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1342 That matching metadata payload indicates the integration can publish values to this topic. 1343 1344 **MQTT wildcard examples** 1345 1346 - All integration CRAH values: `BMS/v1/+/Value/CRAH/#` 1347 parameters: 1348 integration: 1349 description: Integration identifier. 1350 pointType: 1351 enum: 1352 - GenericPoint 1353 description: Integration-published CRAH point type. 1354 tagPath: 1355 description: Must match the tagPath from the corresponding BMS metadata exactly. 1356 messages: 1357 valueMessage: 1358 $ref: '#/components/messages/ValueMessage' 1359 1360 # --------------------------------------------------------------------------- 1361 # CRAC 1362 # --------------------------------------------------------------------------- 1363 1364 cracValue: 1365 address: 'BMS/v1/PUB/Value/CRAC/{pointType}/{tagPath}' 1366 description: | 1367 Real-time values published by the BMS for CRAC points. 1368 1369 **MQTT wildcard examples** 1370 1371 - All CRAC values: `BMS/v1/PUB/Value/CRAC/#` 1372 parameters: 1373 pointType: 1374 enum: 1375 - LiquidTemperature 1376 - LiquidDifferentialPressure 1377 - LiquidFlow 1378 - LiquidPressure 1379 - Status 1380 - Available 1381 - ValvePosition 1382 - PumpSpeed 1383 - FanSpeed 1384 - DamperPosition 1385 - AirTemperature 1386 - AirDifferentialPressure 1387 - AirRelativeHumidity 1388 - AirFlow 1389 - AirPressure 1390 - LeakDetect 1391 - GenericPoint 1392 description: BMS-published CRAC point type. 1393 tagPath: 1394 description: Vendor-defined hierarchical tag path. 1395 messages: 1396 valueMessage: 1397 $ref: '#/components/messages/ValueMessage' 1398 1399 cracMetadata: 1400 address: 'BMS/v1/PUB/Metadata/CRAC/{pointType}/{tagPath}' 1401 description: | 1402 BMS-published metadata for CRAC points. 1403 1404 **MQTT wildcard examples** 1405 1406 - All CRAC metadata: `BMS/v1/PUB/Metadata/CRAC/#` 1407 parameters: 1408 pointType: 1409 enum: 1410 - LiquidTemperature 1411 - LiquidDifferentialPressure 1412 - LiquidFlow 1413 - LiquidPressure 1414 - Status 1415 - Available 1416 - ValvePosition 1417 - PumpSpeed 1418 - FanSpeed 1419 - DamperPosition 1420 - AirTemperature 1421 - AirDifferentialPressure 1422 - AirRelativeHumidity 1423 - AirFlow 1424 - AirPressure 1425 - LeakDetect 1426 - GenericPoint 1427 description: CRAC point type. 1428 tagPath: 1429 description: Vendor-defined hierarchical tag path. 1430 messages: 1431 liquidTemperature: 1432 $ref: '#/components/messages/CRACLiquidTemperatureMsg' 1433 liquidDifferentialPressure: 1434 $ref: '#/components/messages/CRACLiquidDifferentialPressureMsg' 1435 liquidFlow: 1436 $ref: '#/components/messages/CRACLiquidFlowMsg' 1437 liquidPressure: 1438 $ref: '#/components/messages/CRACLiquidPressureMsg' 1439 status: 1440 $ref: '#/components/messages/CRACStatusMsg' 1441 available: 1442 $ref: '#/components/messages/CRACAvailableMsg' 1443 valvePosition: 1444 $ref: '#/components/messages/CRACValvePositionMsg' 1445 pumpSpeed: 1446 $ref: '#/components/messages/CRACPumpSpeedMsg' 1447 fanSpeed: 1448 $ref: '#/components/messages/CRACFanSpeedMsg' 1449 damperPosition: 1450 $ref: '#/components/messages/CRACDamperPositionMsg' 1451 airTemperature: 1452 $ref: '#/components/messages/CRACAirTemperatureMsg' 1453 airDifferentialPressure: 1454 $ref: '#/components/messages/CRACAirDifferentialPressureMsg' 1455 airRelativeHumidity: 1456 $ref: '#/components/messages/CRACAirRelativeHumidityMsg' 1457 airFlow: 1458 $ref: '#/components/messages/CRACAirFlowMsg' 1459 airPressure: 1460 $ref: '#/components/messages/CRACAirPressureMsg' 1461 leakDetect: 1462 $ref: '#/components/messages/CRACLeakDetectMsg' 1463 genericPoint: 1464 $ref: '#/components/messages/GenericEquipmentPointMsg' 1465 1466 cracIntegrationValue: 1467 address: 'BMS/v1/{integration}/Value/CRAC/{pointType}/{tagPath}' 1468 description: | 1469 Values published by integrations for CRAC control points. 1470 Subscribe to `BMS/v1/PUB/Metadata/CRAC/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1471 That matching metadata payload indicates the integration can publish values to this topic. 1472 1473 **MQTT wildcard examples** 1474 1475 - All integration CRAC values: `BMS/v1/+/Value/CRAC/#` 1476 parameters: 1477 integration: 1478 description: Integration identifier. 1479 pointType: 1480 enum: 1481 - GenericPoint 1482 description: Integration-published CRAC point type. 1483 tagPath: 1484 description: Must match the tagPath from the corresponding BMS metadata exactly. 1485 messages: 1486 valueMessage: 1487 $ref: '#/components/messages/ValueMessage' 1488 1489 # --------------------------------------------------------------------------- 1490 # AHU 1491 # --------------------------------------------------------------------------- 1492 1493 ahuValue: 1494 address: 'BMS/v1/PUB/Value/AHU/{pointType}/{tagPath}' 1495 description: | 1496 Real-time values published by the BMS for AHU points. 1497 1498 **MQTT wildcard examples** 1499 1500 - All AHU values: `BMS/v1/PUB/Value/AHU/#` 1501 parameters: 1502 pointType: 1503 enum: 1504 - LiquidTemperature 1505 - LiquidDifferentialPressure 1506 - LiquidFlow 1507 - LiquidPressure 1508 - Status 1509 - Available 1510 - ValvePosition 1511 - PumpSpeed 1512 - FanSpeed 1513 - DamperPosition 1514 - AirTemperature 1515 - AirDifferentialPressure 1516 - AirRelativeHumidity 1517 - AirFlow 1518 - AirPressure 1519 - LeakDetect 1520 - GenericPoint 1521 description: BMS-published AHU point type. 1522 tagPath: 1523 description: Vendor-defined hierarchical tag path. 1524 messages: 1525 valueMessage: 1526 $ref: '#/components/messages/ValueMessage' 1527 1528 ahuMetadata: 1529 address: 'BMS/v1/PUB/Metadata/AHU/{pointType}/{tagPath}' 1530 description: | 1531 BMS-published metadata for AHU points. 1532 1533 **MQTT wildcard examples** 1534 1535 - All AHU metadata: `BMS/v1/PUB/Metadata/AHU/#` 1536 parameters: 1537 pointType: 1538 enum: 1539 - LiquidTemperature 1540 - LiquidDifferentialPressure 1541 - LiquidFlow 1542 - LiquidPressure 1543 - Status 1544 - Available 1545 - ValvePosition 1546 - PumpSpeed 1547 - FanSpeed 1548 - DamperPosition 1549 - AirTemperature 1550 - AirDifferentialPressure 1551 - AirRelativeHumidity 1552 - AirFlow 1553 - AirPressure 1554 - LeakDetect 1555 - GenericPoint 1556 description: AHU point type. 1557 tagPath: 1558 description: Vendor-defined hierarchical tag path. 1559 messages: 1560 liquidTemperature: 1561 $ref: '#/components/messages/AHULiquidTemperatureMsg' 1562 liquidDifferentialPressure: 1563 $ref: '#/components/messages/AHULiquidDifferentialPressureMsg' 1564 liquidFlow: 1565 $ref: '#/components/messages/AHULiquidFlowMsg' 1566 liquidPressure: 1567 $ref: '#/components/messages/AHULiquidPressureMsg' 1568 status: 1569 $ref: '#/components/messages/AHUStatusMsg' 1570 available: 1571 $ref: '#/components/messages/AHUAvailableMsg' 1572 valvePosition: 1573 $ref: '#/components/messages/AHUValvePositionMsg' 1574 pumpSpeed: 1575 $ref: '#/components/messages/AHUPumpSpeedMsg' 1576 fanSpeed: 1577 $ref: '#/components/messages/AHUFanSpeedMsg' 1578 damperPosition: 1579 $ref: '#/components/messages/AHUDamperPositionMsg' 1580 airTemperature: 1581 $ref: '#/components/messages/AHUAirTemperatureMsg' 1582 airDifferentialPressure: 1583 $ref: '#/components/messages/AHUAirDifferentialPressureMsg' 1584 airRelativeHumidity: 1585 $ref: '#/components/messages/AHUAirRelativeHumidityMsg' 1586 airFlow: 1587 $ref: '#/components/messages/AHUAirFlowMsg' 1588 airPressure: 1589 $ref: '#/components/messages/AHUAirPressureMsg' 1590 leakDetect: 1591 $ref: '#/components/messages/AHULeakDetectMsg' 1592 genericPoint: 1593 $ref: '#/components/messages/GenericEquipmentPointMsg' 1594 1595 ahuIntegrationValue: 1596 address: 'BMS/v1/{integration}/Value/AHU/{pointType}/{tagPath}' 1597 description: | 1598 Values published by integrations for AHU control points. 1599 Subscribe to `BMS/v1/PUB/Metadata/AHU/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1600 That matching metadata payload indicates the integration can publish values to this topic. 1601 1602 **MQTT wildcard examples** 1603 1604 - All integration AHU values: `BMS/v1/+/Value/AHU/#` 1605 parameters: 1606 integration: 1607 description: Integration identifier. 1608 pointType: 1609 enum: 1610 - GenericPoint 1611 description: Integration-published AHU point type. 1612 tagPath: 1613 description: Must match the tagPath from the corresponding BMS metadata exactly. 1614 messages: 1615 valueMessage: 1616 $ref: '#/components/messages/ValueMessage' 1617 1618 # --------------------------------------------------------------------------- 1619 # Chiller 1620 # --------------------------------------------------------------------------- 1621 1622 chillerValue: 1623 address: 'BMS/v1/PUB/Value/Chiller/{pointType}/{tagPath}' 1624 description: | 1625 Real-time values published by the BMS for Chiller points. 1626 1627 **MQTT wildcard examples** 1628 1629 - All Chiller values: `BMS/v1/PUB/Value/Chiller/#` 1630 parameters: 1631 pointType: 1632 enum: 1633 - LiquidTemperature 1634 - LiquidDifferentialPressure 1635 - LiquidFlow 1636 - LiquidPressure 1637 - Status 1638 - Available 1639 - ValvePosition 1640 - PumpSpeed 1641 - FanSpeed 1642 - DamperPosition 1643 - AirTemperature 1644 - AirDifferentialPressure 1645 - AirRelativeHumidity 1646 - AirFlow 1647 - AirPressure 1648 - LeakDetect 1649 - GenericPoint 1650 description: BMS-published Chiller point type. 1651 tagPath: 1652 description: Vendor-defined hierarchical tag path. 1653 messages: 1654 valueMessage: 1655 $ref: '#/components/messages/ValueMessage' 1656 1657 chillerMetadata: 1658 address: 'BMS/v1/PUB/Metadata/Chiller/{pointType}/{tagPath}' 1659 description: | 1660 BMS-published metadata for Chiller points. 1661 1662 **MQTT wildcard examples** 1663 1664 - All Chiller metadata: `BMS/v1/PUB/Metadata/Chiller/#` 1665 parameters: 1666 pointType: 1667 enum: 1668 - LiquidTemperature 1669 - LiquidDifferentialPressure 1670 - LiquidFlow 1671 - LiquidPressure 1672 - Status 1673 - Available 1674 - ValvePosition 1675 - PumpSpeed 1676 - FanSpeed 1677 - DamperPosition 1678 - AirTemperature 1679 - AirDifferentialPressure 1680 - AirRelativeHumidity 1681 - AirFlow 1682 - AirPressure 1683 - LeakDetect 1684 - GenericPoint 1685 description: Chiller point type. 1686 tagPath: 1687 description: Vendor-defined hierarchical tag path. 1688 messages: 1689 liquidTemperature: 1690 $ref: '#/components/messages/ChillerLiquidTemperatureMsg' 1691 liquidDifferentialPressure: 1692 $ref: '#/components/messages/ChillerLiquidDifferentialPressureMsg' 1693 liquidFlow: 1694 $ref: '#/components/messages/ChillerLiquidFlowMsg' 1695 liquidPressure: 1696 $ref: '#/components/messages/ChillerLiquidPressureMsg' 1697 status: 1698 $ref: '#/components/messages/ChillerStatusMsg' 1699 available: 1700 $ref: '#/components/messages/ChillerAvailableMsg' 1701 valvePosition: 1702 $ref: '#/components/messages/ChillerValvePositionMsg' 1703 pumpSpeed: 1704 $ref: '#/components/messages/ChillerPumpSpeedMsg' 1705 fanSpeed: 1706 $ref: '#/components/messages/ChillerFanSpeedMsg' 1707 damperPosition: 1708 $ref: '#/components/messages/ChillerDamperPositionMsg' 1709 airTemperature: 1710 $ref: '#/components/messages/ChillerAirTemperatureMsg' 1711 airDifferentialPressure: 1712 $ref: '#/components/messages/ChillerAirDifferentialPressureMsg' 1713 airRelativeHumidity: 1714 $ref: '#/components/messages/ChillerAirRelativeHumidityMsg' 1715 airFlow: 1716 $ref: '#/components/messages/ChillerAirFlowMsg' 1717 airPressure: 1718 $ref: '#/components/messages/ChillerAirPressureMsg' 1719 leakDetect: 1720 $ref: '#/components/messages/ChillerLeakDetectMsg' 1721 genericPoint: 1722 $ref: '#/components/messages/GenericEquipmentPointMsg' 1723 1724 chillerIntegrationValue: 1725 address: 'BMS/v1/{integration}/Value/Chiller/{pointType}/{tagPath}' 1726 description: | 1727 Values published by integrations for Chiller control points. 1728 Subscribe to `BMS/v1/PUB/Metadata/Chiller/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1729 That matching metadata payload indicates the integration can publish values to this topic. 1730 1731 **MQTT wildcard examples** 1732 1733 - All integration Chiller values: `BMS/v1/+/Value/Chiller/#` 1734 parameters: 1735 integration: 1736 description: Integration identifier. 1737 pointType: 1738 enum: 1739 - GenericPoint 1740 description: Integration-published Chiller point type. 1741 tagPath: 1742 description: Must match the tagPath from the corresponding BMS metadata exactly. 1743 messages: 1744 valueMessage: 1745 $ref: '#/components/messages/ValueMessage' 1746 1747 # --------------------------------------------------------------------------- 1748 # Valve 1749 # --------------------------------------------------------------------------- 1750 1751 valveValue: 1752 address: 'BMS/v1/PUB/Value/Valve/{pointType}/{tagPath}' 1753 description: | 1754 Real-time values published by the BMS for Valve points. 1755 1756 **MQTT wildcard examples** 1757 1758 - All Valve values: `BMS/v1/PUB/Value/Valve/#` 1759 parameters: 1760 pointType: 1761 enum: 1762 - ValvePosition 1763 - Available 1764 - GenericPoint 1765 description: BMS-published Valve point type. 1766 tagPath: 1767 description: Vendor-defined hierarchical tag path. 1768 messages: 1769 valueMessage: 1770 $ref: '#/components/messages/ValueMessage' 1771 1772 valveMetadata: 1773 address: 'BMS/v1/PUB/Metadata/Valve/{pointType}/{tagPath}' 1774 description: | 1775 BMS-published metadata for Valve points. 1776 1777 **MQTT wildcard examples** 1778 1779 - All Valve metadata: `BMS/v1/PUB/Metadata/Valve/#` 1780 parameters: 1781 pointType: 1782 enum: 1783 - ValvePosition 1784 - Available 1785 - GenericPoint 1786 description: Valve point type. 1787 tagPath: 1788 description: Vendor-defined hierarchical tag path. 1789 messages: 1790 valvePosition: 1791 $ref: '#/components/messages/ValveValvePositionMsg' 1792 available: 1793 $ref: '#/components/messages/ValveAvailableMsg' 1794 genericPoint: 1795 $ref: '#/components/messages/GenericEquipmentPointMsg' 1796 1797 valveIntegrationValue: 1798 address: 'BMS/v1/{integration}/Value/Valve/{pointType}/{tagPath}' 1799 description: | 1800 Values published by integrations for Valve control points. 1801 Subscribe to `BMS/v1/PUB/Metadata/Valve/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1802 That matching metadata payload indicates the integration can publish values to this topic. 1803 1804 **MQTT wildcard examples** 1805 1806 - All integration Valve values: `BMS/v1/+/Value/Valve/#` 1807 parameters: 1808 integration: 1809 description: Integration identifier. 1810 pointType: 1811 enum: 1812 - GenericPoint 1813 description: Integration-published Valve point type. 1814 tagPath: 1815 description: Must match the tagPath from the corresponding BMS metadata exactly. 1816 messages: 1817 valueMessage: 1818 $ref: '#/components/messages/ValueMessage' 1819 1820 # --------------------------------------------------------------------------- 1821 # Pump 1822 # --------------------------------------------------------------------------- 1823 1824 pumpValue: 1825 address: 'BMS/v1/PUB/Value/Pump/{pointType}/{tagPath}' 1826 description: | 1827 Real-time values published by the BMS for Pump points. 1828 1829 **MQTT wildcard examples** 1830 1831 - All Pump values: `BMS/v1/PUB/Value/Pump/#` 1832 parameters: 1833 pointType: 1834 enum: 1835 - PumpSpeed 1836 - Available 1837 - GenericPoint 1838 description: BMS-published Pump point type. 1839 tagPath: 1840 description: Vendor-defined hierarchical tag path. 1841 messages: 1842 valueMessage: 1843 $ref: '#/components/messages/ValueMessage' 1844 1845 pumpMetadata: 1846 address: 'BMS/v1/PUB/Metadata/Pump/{pointType}/{tagPath}' 1847 description: | 1848 BMS-published metadata for Pump points. 1849 1850 **MQTT wildcard examples** 1851 1852 - All Pump metadata: `BMS/v1/PUB/Metadata/Pump/#` 1853 parameters: 1854 pointType: 1855 enum: 1856 - PumpSpeed 1857 - Available 1858 - GenericPoint 1859 description: Pump point type. 1860 tagPath: 1861 description: Vendor-defined hierarchical tag path. 1862 messages: 1863 pumpSpeed: 1864 $ref: '#/components/messages/PumpPumpSpeedMsg' 1865 available: 1866 $ref: '#/components/messages/PumpAvailableMsg' 1867 genericPoint: 1868 $ref: '#/components/messages/GenericEquipmentPointMsg' 1869 1870 pumpIntegrationValue: 1871 address: 'BMS/v1/{integration}/Value/Pump/{pointType}/{tagPath}' 1872 description: | 1873 Values published by integrations for Pump control points. 1874 Subscribe to `BMS/v1/PUB/Metadata/Pump/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1875 That matching metadata payload indicates the integration can publish values to this topic. 1876 1877 **MQTT wildcard examples** 1878 1879 - All integration Pump values: `BMS/v1/+/Value/Pump/#` 1880 parameters: 1881 integration: 1882 description: Integration identifier. 1883 pointType: 1884 enum: 1885 - GenericPoint 1886 description: Integration-published Pump point type. 1887 tagPath: 1888 description: Must match the tagPath from the corresponding BMS metadata exactly. 1889 messages: 1890 valueMessage: 1891 $ref: '#/components/messages/ValueMessage' 1892 1893 # --------------------------------------------------------------------------- 1894 # Fan 1895 # --------------------------------------------------------------------------- 1896 1897 fanValue: 1898 address: 'BMS/v1/PUB/Value/Fan/{pointType}/{tagPath}' 1899 description: | 1900 Real-time values published by the BMS for Fan points. 1901 1902 **MQTT wildcard examples** 1903 1904 - All Fan values: `BMS/v1/PUB/Value/Fan/#` 1905 parameters: 1906 pointType: 1907 enum: 1908 - FanSpeed 1909 - Available 1910 - GenericPoint 1911 description: BMS-published Fan point type. 1912 tagPath: 1913 description: Vendor-defined hierarchical tag path. 1914 messages: 1915 valueMessage: 1916 $ref: '#/components/messages/ValueMessage' 1917 1918 fanMetadata: 1919 address: 'BMS/v1/PUB/Metadata/Fan/{pointType}/{tagPath}' 1920 description: | 1921 BMS-published metadata for Fan points. 1922 1923 **MQTT wildcard examples** 1924 1925 - All Fan metadata: `BMS/v1/PUB/Metadata/Fan/#` 1926 parameters: 1927 pointType: 1928 enum: 1929 - FanSpeed 1930 - Available 1931 - GenericPoint 1932 description: Fan point type. 1933 tagPath: 1934 description: Vendor-defined hierarchical tag path. 1935 messages: 1936 fanSpeed: 1937 $ref: '#/components/messages/FanFanSpeedMsg' 1938 available: 1939 $ref: '#/components/messages/FanAvailableMsg' 1940 genericPoint: 1941 $ref: '#/components/messages/GenericEquipmentPointMsg' 1942 1943 fanIntegrationValue: 1944 address: 'BMS/v1/{integration}/Value/Fan/{pointType}/{tagPath}' 1945 description: | 1946 Values published by integrations for Fan control points. 1947 Subscribe to `BMS/v1/PUB/Metadata/Fan/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 1948 That matching metadata payload indicates the integration can publish values to this topic. 1949 1950 **MQTT wildcard examples** 1951 1952 - All integration Fan values: `BMS/v1/+/Value/Fan/#` 1953 parameters: 1954 integration: 1955 description: Integration identifier. 1956 pointType: 1957 enum: 1958 - GenericPoint 1959 description: Integration-published Fan point type. 1960 tagPath: 1961 description: Must match the tagPath from the corresponding BMS metadata exactly. 1962 messages: 1963 valueMessage: 1964 $ref: '#/components/messages/ValueMessage' 1965 1966 # --------------------------------------------------------------------------- 1967 # Damper 1968 # --------------------------------------------------------------------------- 1969 1970 damperValue: 1971 address: 'BMS/v1/PUB/Value/Damper/{pointType}/{tagPath}' 1972 description: | 1973 Real-time values published by the BMS for Damper points. 1974 1975 **MQTT wildcard examples** 1976 1977 - All Damper values: `BMS/v1/PUB/Value/Damper/#` 1978 parameters: 1979 pointType: 1980 enum: 1981 - DamperPosition 1982 - Available 1983 - GenericPoint 1984 description: BMS-published Damper point type. 1985 tagPath: 1986 description: Vendor-defined hierarchical tag path. 1987 messages: 1988 valueMessage: 1989 $ref: '#/components/messages/ValueMessage' 1990 1991 damperMetadata: 1992 address: 'BMS/v1/PUB/Metadata/Damper/{pointType}/{tagPath}' 1993 description: | 1994 BMS-published metadata for Damper points. 1995 1996 **MQTT wildcard examples** 1997 1998 - All Damper metadata: `BMS/v1/PUB/Metadata/Damper/#` 1999 parameters: 2000 pointType: 2001 enum: 2002 - DamperPosition 2003 - Available 2004 - GenericPoint 2005 description: Damper point type. 2006 tagPath: 2007 description: Vendor-defined hierarchical tag path. 2008 messages: 2009 damperPosition: 2010 $ref: '#/components/messages/DamperDamperPositionMsg' 2011 available: 2012 $ref: '#/components/messages/DamperAvailableMsg' 2013 genericPoint: 2014 $ref: '#/components/messages/GenericEquipmentPointMsg' 2015 2016 damperIntegrationValue: 2017 address: 'BMS/v1/{integration}/Value/Damper/{pointType}/{tagPath}' 2018 description: | 2019 Values published by integrations for Damper control points. 2020 Subscribe to `BMS/v1/PUB/Metadata/Damper/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 2021 That matching metadata payload indicates the integration can publish values to this topic. 2022 2023 **MQTT wildcard examples** 2024 2025 - All integration Damper values: `BMS/v1/+/Value/Damper/#` 2026 parameters: 2027 integration: 2028 description: Integration identifier. 2029 pointType: 2030 enum: 2031 - GenericPoint 2032 description: Integration-published Damper point type. 2033 tagPath: 2034 description: Must match the tagPath from the corresponding BMS metadata exactly. 2035 messages: 2036 valueMessage: 2037 $ref: '#/components/messages/ValueMessage' 2038 2039 # --------------------------------------------------------------------------- 2040 # Sensor 2041 # --------------------------------------------------------------------------- 2042 2043 sensorValue: 2044 address: 'BMS/v1/PUB/Value/Sensor/{pointType}/{tagPath}' 2045 description: | 2046 Real-time values published by the BMS for Sensor points. 2047 2048 **MQTT wildcard examples** 2049 2050 - All Sensor values: `BMS/v1/PUB/Value/Sensor/#` 2051 parameters: 2052 pointType: 2053 enum: 2054 - LiquidTemperature 2055 - LiquidDifferentialPressure 2056 - LiquidFlow 2057 - LiquidPressure 2058 - AirTemperature 2059 - AirDifferentialPressure 2060 - AirRelativeHumidity 2061 - AirFlow 2062 - AirPressure 2063 - LeakDetect 2064 - Sound 2065 - Available 2066 - GenericPoint 2067 description: BMS-published Sensor point type. 2068 tagPath: 2069 description: Vendor-defined hierarchical tag path. 2070 messages: 2071 valueMessage: 2072 $ref: '#/components/messages/ValueMessage' 2073 2074 sensorMetadata: 2075 address: 'BMS/v1/PUB/Metadata/Sensor/{pointType}/{tagPath}' 2076 description: | 2077 BMS-published metadata for Sensor points. 2078 2079 **MQTT wildcard examples** 2080 2081 - All Sensor metadata: `BMS/v1/PUB/Metadata/Sensor/#` 2082 parameters: 2083 pointType: 2084 enum: 2085 - LiquidTemperature 2086 - LiquidDifferentialPressure 2087 - LiquidFlow 2088 - LiquidPressure 2089 - AirTemperature 2090 - AirDifferentialPressure 2091 - AirRelativeHumidity 2092 - AirFlow 2093 - AirPressure 2094 - LeakDetect 2095 - Sound 2096 - Available 2097 - GenericPoint 2098 description: Sensor point type. 2099 tagPath: 2100 description: Vendor-defined hierarchical tag path. 2101 messages: 2102 liquidTemperature: 2103 $ref: '#/components/messages/SensorLiquidTemperatureMsg' 2104 liquidDifferentialPressure: 2105 $ref: '#/components/messages/SensorLiquidDifferentialPressureMsg' 2106 liquidFlow: 2107 $ref: '#/components/messages/SensorLiquidFlowMsg' 2108 liquidPressure: 2109 $ref: '#/components/messages/SensorLiquidPressureMsg' 2110 airTemperature: 2111 $ref: '#/components/messages/SensorAirTemperatureMsg' 2112 airDifferentialPressure: 2113 $ref: '#/components/messages/SensorAirDifferentialPressureMsg' 2114 airRelativeHumidity: 2115 $ref: '#/components/messages/SensorAirRelativeHumidityMsg' 2116 airFlow: 2117 $ref: '#/components/messages/SensorAirFlowMsg' 2118 airPressure: 2119 $ref: '#/components/messages/SensorAirPressureMsg' 2120 leakDetect: 2121 $ref: '#/components/messages/SensorLeakDetectMsg' 2122 available: 2123 $ref: '#/components/messages/SensorAvailableMsg' 2124 genericPoint: 2125 $ref: '#/components/messages/GenericEquipmentPointMsg' 2126 sound: 2127 $ref: '#/components/messages/SensorSoundMsg' 2128 2129 sensorIntegrationValue: 2130 address: 'BMS/v1/{integration}/Value/Sensor/{pointType}/{tagPath}' 2131 description: | 2132 Values published by integrations for Sensor control points. 2133 Subscribe to `BMS/v1/PUB/Metadata/Sensor/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 2134 That matching metadata payload indicates the integration can publish values to this topic. 2135 2136 **MQTT wildcard examples** 2137 2138 - All integration Sensor values: `BMS/v1/+/Value/Sensor/#` 2139 parameters: 2140 integration: 2141 description: Integration identifier. 2142 pointType: 2143 enum: 2144 - GenericPoint 2145 description: Integration-published Sensor point type. 2146 tagPath: 2147 description: Must match the tagPath from the corresponding BMS metadata exactly. 2148 messages: 2149 valueMessage: 2150 $ref: '#/components/messages/ValueMessage' 2151 2152 # --------------------------------------------------------------------------- 2153 # Tank 2154 # --------------------------------------------------------------------------- 2155 2156 tankValue: 2157 address: 'BMS/v1/PUB/Value/Tank/{pointType}/{tagPath}' 2158 description: | 2159 Real-time values published by the BMS for Tank points. 2160 Supports both liquid and air tanks. 2161 2162 **MQTT wildcard examples** 2163 2164 - All Tank values: `BMS/v1/PUB/Value/Tank/#` 2165 parameters: 2166 pointType: 2167 enum: 2168 - LiquidTemperature 2169 - LiquidDifferentialPressure 2170 - LiquidFlow 2171 - LiquidPressure 2172 - Status 2173 - Available 2174 - ValvePosition 2175 - PumpSpeed 2176 - FanSpeed 2177 - DamperPosition 2178 - AirTemperature 2179 - AirDifferentialPressure 2180 - AirRelativeHumidity 2181 - AirFlow 2182 - AirPressure 2183 - LeakDetect 2184 - GenericPoint 2185 description: BMS-published Tank point type. 2186 tagPath: 2187 description: Vendor-defined hierarchical tag path. 2188 messages: 2189 valueMessage: 2190 $ref: '#/components/messages/ValueMessage' 2191 2192 tankMetadata: 2193 address: 'BMS/v1/PUB/Metadata/Tank/{pointType}/{tagPath}' 2194 description: | 2195 BMS-published metadata for Tank points. 2196 Includes integration-owned points which carries the `integration` field. 2197 2198 **MQTT wildcard examples** 2199 2200 - All Tank metadata: `BMS/v1/PUB/Metadata/Tank/#` 2201 parameters: 2202 pointType: 2203 enum: 2204 - LiquidTemperature 2205 - LiquidDifferentialPressure 2206 - LiquidFlow 2207 - LiquidPressure 2208 - Status 2209 - Available 2210 - ValvePosition 2211 - PumpSpeed 2212 - FanSpeed 2213 - DamperPosition 2214 - AirTemperature 2215 - AirDifferentialPressure 2216 - AirRelativeHumidity 2217 - AirFlow 2218 - AirPressure 2219 - LeakDetect 2220 - GenericPoint 2221 description: Tank point type. 2222 tagPath: 2223 description: Vendor-defined hierarchical tag path. 2224 messages: 2225 liquidTemperature: 2226 $ref: '#/components/messages/TankLiquidTemperatureMsg' 2227 liquidDifferentialPressure: 2228 $ref: '#/components/messages/TankLiquidDifferentialPressureMsg' 2229 liquidFlow: 2230 $ref: '#/components/messages/TankLiquidFlowMsg' 2231 liquidPressure: 2232 $ref: '#/components/messages/TankLiquidPressureMsg' 2233 status: 2234 $ref: '#/components/messages/TankStatusMsg' 2235 available: 2236 $ref: '#/components/messages/TankAvailableMsg' 2237 valvePosition: 2238 $ref: '#/components/messages/TankValvePositionMsg' 2239 pumpSpeed: 2240 $ref: '#/components/messages/TankPumpSpeedMsg' 2241 fanSpeed: 2242 $ref: '#/components/messages/TankFanSpeedMsg' 2243 damperPosition: 2244 $ref: '#/components/messages/TankDamperPositionMsg' 2245 airTemperature: 2246 $ref: '#/components/messages/TankAirTemperatureMsg' 2247 airDifferentialPressure: 2248 $ref: '#/components/messages/TankAirDifferentialPressureMsg' 2249 airRelativeHumidity: 2250 $ref: '#/components/messages/TankAirRelativeHumidityMsg' 2251 airFlow: 2252 $ref: '#/components/messages/TankAirFlowMsg' 2253 airPressure: 2254 $ref: '#/components/messages/TankAirPressureMsg' 2255 leakDetect: 2256 $ref: '#/components/messages/TankLeakDetectMsg' 2257 genericPoint: 2258 $ref: '#/components/messages/GenericEquipmentPointMsg' 2259 2260 tankIntegrationValue: 2261 address: 'BMS/v1/{integration}/Value/Tank/{pointType}/{tagPath}' 2262 description: | 2263 Values published by integrations for Tank control points. 2264 Subscribe to `BMS/v1/PUB/Metadata/Tank/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 2265 That matching metadata payload indicates the integration can publish values to this topic. 2266 2267 **MQTT wildcard examples** 2268 2269 - All integration Tank values: `BMS/v1/+/Value/Tank/#` 2270 parameters: 2271 integration: 2272 description: Integration identifier. 2273 pointType: 2274 enum: 2275 - GenericPoint 2276 description: Integration-published Tank point type. 2277 tagPath: 2278 description: Must match the tagPath from the corresponding BMS metadata exactly. 2279 messages: 2280 valueMessage: 2281 $ref: '#/components/messages/ValueMessage' 2282 2283 # --------------------------------------------------------------------------- 2284 # GenericObject 2285 # --------------------------------------------------------------------------- 2286 2287 genericObjectValue: 2288 address: 'BMS/v1/PUB/Value/GenericObject/{pointType}/{tagPath}' 2289 description: | 2290 Real-time values published by the BMS for GenericObject points. 2291 Use for any equipment type not covered by a named objectType. 2292 2293 **MQTT wildcard examples** 2294 2295 - All GenericObject values: `BMS/v1/PUB/Value/GenericObject/#` 2296 parameters: 2297 pointType: 2298 enum: 2299 - LiquidTemperature 2300 - LiquidDifferentialPressure 2301 - LiquidFlow 2302 - LiquidPressure 2303 - Status 2304 - Available 2305 - ValvePosition 2306 - PumpSpeed 2307 - FanSpeed 2308 - DamperPosition 2309 - AirTemperature 2310 - AirDifferentialPressure 2311 - AirRelativeHumidity 2312 - AirFlow 2313 - AirPressure 2314 - LeakDetect 2315 - Sound 2316 - GenericPoint 2317 description: BMS-published GenericObject point type. 2318 tagPath: 2319 description: Vendor-defined hierarchical tag path. 2320 messages: 2321 valueMessage: 2322 $ref: '#/components/messages/ValueMessage' 2323 2324 genericObjectMetadata: 2325 address: 'BMS/v1/PUB/Metadata/GenericObject/{pointType}/{tagPath}' 2326 description: | 2327 BMS-published metadata for GenericObject points. 2328 Includes integration-owned points which carries the `integration` field. 2329 2330 **MQTT wildcard examples** 2331 2332 - All GenericObject metadata: `BMS/v1/PUB/Metadata/GenericObject/#` 2333 parameters: 2334 pointType: 2335 enum: 2336 - LiquidTemperature 2337 - LiquidDifferentialPressure 2338 - LiquidFlow 2339 - LiquidPressure 2340 - Status 2341 - Available 2342 - ValvePosition 2343 - PumpSpeed 2344 - FanSpeed 2345 - DamperPosition 2346 - AirTemperature 2347 - AirDifferentialPressure 2348 - AirRelativeHumidity 2349 - AirFlow 2350 - AirPressure 2351 - LeakDetect 2352 - LiquidTemperatureSpRequest 2353 - Sound 2354 - GenericPoint 2355 description: GenericObject point type. 2356 tagPath: 2357 description: Vendor-defined hierarchical tag path. 2358 messages: 2359 liquidTemperature: 2360 $ref: '#/components/messages/GenericObjectLiquidTemperatureMsg' 2361 liquidDifferentialPressure: 2362 $ref: '#/components/messages/GenericObjectLiquidDifferentialPressureMsg' 2363 liquidFlow: 2364 $ref: '#/components/messages/GenericObjectLiquidFlowMsg' 2365 liquidPressure: 2366 $ref: '#/components/messages/GenericObjectLiquidPressureMsg' 2367 status: 2368 $ref: '#/components/messages/GenericObjectStatusMsg' 2369 available: 2370 $ref: '#/components/messages/GenericObjectAvailableMsg' 2371 valvePosition: 2372 $ref: '#/components/messages/GenericObjectValvePositionMsg' 2373 pumpSpeed: 2374 $ref: '#/components/messages/GenericObjectPumpSpeedMsg' 2375 fanSpeed: 2376 $ref: '#/components/messages/GenericObjectFanSpeedMsg' 2377 damperPosition: 2378 $ref: '#/components/messages/GenericObjectDamperPositionMsg' 2379 airTemperature: 2380 $ref: '#/components/messages/GenericObjectAirTemperatureMsg' 2381 airDifferentialPressure: 2382 $ref: '#/components/messages/GenericObjectAirDifferentialPressureMsg' 2383 airRelativeHumidity: 2384 $ref: '#/components/messages/GenericObjectAirRelativeHumidityMsg' 2385 airFlow: 2386 $ref: '#/components/messages/GenericObjectAirFlowMsg' 2387 airPressure: 2388 $ref: '#/components/messages/GenericObjectAirPressureMsg' 2389 leakDetect: 2390 $ref: '#/components/messages/GenericObjectLeakDetectMsg' 2391 liquidTemperatureSpRequest: 2392 $ref: '#/components/messages/GenericObjectLiquidTemperatureSpRequestMsg' 2393 sound: 2394 $ref: '#/components/messages/GenericObjectSoundMsg' 2395 genericPoint: 2396 $ref: '#/components/messages/GenericEquipmentPointMsg' 2397 2398 genericObjectIntegrationValue: 2399 address: 'BMS/v1/{integration}/Value/GenericObject/{pointType}/{tagPath}' 2400 description: | 2401 Values published by integrations for GenericObject control points. 2402 Subscribe to `BMS/v1/PUB/Metadata/GenericObject/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 2403 That matching metadata payload indicates the integration can publish values to this topic. 2404 2405 **MQTT wildcard examples** 2406 2407 - All integration GenericObject values: `BMS/v1/+/Value/GenericObject/#` 2408 parameters: 2409 integration: 2410 description: Integration identifier. 2411 pointType: 2412 enum: 2413 - LiquidTemperatureSpRequest 2414 - GenericPoint 2415 description: Integration-published GenericObject point type. 2416 tagPath: 2417 description: Must match the tagPath from the corresponding BMS metadata exactly. 2418 messages: 2419 valueMessage: 2420 $ref: '#/components/messages/ValueMessage' 2421 2422 # --------------------------------------------------------------------------- 2423 # System 2424 # --------------------------------------------------------------------------- 2425 2426 systemBmsValue: 2427 address: 'BMS/v1/PUB/Value/System/{pointType}/{tagPath}' 2428 description: | 2429 BMS-published System values. 2430 2431 **MQTT wildcard examples** 2432 2433 - All System values: `BMS/v1/PUB/Value/System/#` 2434 parameters: 2435 pointType: 2436 enum: 2437 - HeartbeatTimestampBms 2438 - HeartbeatEchoBms 2439 - Status 2440 - Available 2441 - GenericPoint 2442 description: BMS-published System point type. 2443 tagPath: 2444 description: Vendor-defined hierarchical tag path. 2445 messages: 2446 valueMessage: 2447 $ref: '#/components/messages/ValueMessage' 2448 2449 systemMetadata: 2450 address: 'BMS/v1/PUB/Metadata/System/{pointType}/{tagPath}' 2451 description: | 2452 BMS-published metadata for all System point types. 2453 2454 **MQTT wildcard examples** 2455 2456 - All System metadata: `BMS/v1/PUB/Metadata/System/#` 2457 parameters: 2458 pointType: 2459 enum: 2460 - HeartbeatTimestampBms 2461 - HeartbeatEchoBms 2462 - HeartbeatTimestampIntegration 2463 - HeartbeatEchoIntegration 2464 - Status 2465 - Available 2466 - GenericPoint 2467 description: System point type. 2468 tagPath: 2469 description: Vendor-defined hierarchical tag path. 2470 messages: 2471 heartbeatTimestampBms: 2472 $ref: '#/components/messages/SystemHeartbeatTimestampBmsMsg' 2473 heartbeatEchoBms: 2474 $ref: '#/components/messages/SystemHeartbeatEchoBmsMsg' 2475 heartbeatTimestampIntegration: 2476 $ref: '#/components/messages/SystemHeartbeatTimestampIntegrationMsg' 2477 heartbeatEchoIntegration: 2478 $ref: '#/components/messages/SystemHeartbeatEchoIntegrationMsg' 2479 status: 2480 $ref: '#/components/messages/SystemStatusMsg' 2481 available: 2482 $ref: '#/components/messages/SystemAvailableMsg' 2483 genericPoint: 2484 $ref: '#/components/messages/GenericEquipmentPointMsg' 2485 2486 systemIntegrationValue: 2487 address: 'BMS/v1/{integration}/Value/System/{pointType}/{tagPath}' 2488 description: | 2489 Values published by integrations for System points (Integration heartbeats, Status, Available, and GenericPoint). 2490 Subscribe to `BMS/v1/PUB/Metadata/System/#` and publish only when that metadata payload includes an `integration` field whose value matches the publishing integration identifier. 2491 That matching metadata payload indicates the integration can publish values to this topic. 2492 2493 **MQTT wildcard examples** 2494 2495 - All integration System values: `BMS/v1/+/Value/System/#` 2496 parameters: 2497 integration: 2498 description: Integration identifier. 2499 pointType: 2500 enum: 2501 - HeartbeatTimestampIntegration 2502 - HeartbeatEchoIntegration 2503 - Status 2504 - Available 2505 - GenericPoint 2506 description: Integration-published System point type. 2507 tagPath: 2508 description: Vendor-defined hierarchical tag path. 2509 messages: 2510 valueMessage: 2511 $ref: '#/components/messages/ValueMessage' 2512 2513 # ============================================================================= 2514 # Operations 2515 # ============================================================================= 2516 2517 operations: 2518 2519 receiveRackValue: 2520 action: receive 2521 channel: 2522 $ref: '#/channels/rackBmsValue' 2523 messages: 2524 - $ref: '#/channels/rackBmsValue/messages/valueMessage' 2525 description: Subscribe to real-time BMS-published values for all Rack points. 2526 2527 receiveRackMetadata: 2528 action: receive 2529 channel: 2530 $ref: '#/channels/rackMetadata' 2531 messages: 2532 - $ref: '#/channels/rackMetadata/messages/rackLiquidSupplyTemperature' 2533 - $ref: '#/channels/rackMetadata/messages/rackLiquidReturnTemperature' 2534 - $ref: '#/channels/rackMetadata/messages/rackLiquidFlow' 2535 - $ref: '#/channels/rackMetadata/messages/rackLiquidDifferentialPressure' 2536 - $ref: '#/channels/rackMetadata/messages/rackLiquidDifferentialPressureSp' 2537 - $ref: '#/channels/rackMetadata/messages/rackControlValvePosition' 2538 - $ref: '#/channels/rackMetadata/messages/rackPower' 2539 - $ref: '#/channels/rackMetadata/messages/rackLeakDetect' 2540 - $ref: '#/channels/rackMetadata/messages/rackLeakSensorFault' 2541 - $ref: '#/channels/rackMetadata/messages/rackLeakDetectTray' 2542 - $ref: '#/channels/rackMetadata/messages/rackLiquidIsolationStatus' 2543 - $ref: '#/channels/rackMetadata/messages/rackElectricalIsolationStatus' 2544 - $ref: '#/channels/rackMetadata/messages/rackLiquidIsolationRequest' 2545 - $ref: '#/channels/rackMetadata/messages/rackElectricalIsolationRequest' 2546 description: Subscribe to BMS-published metadata for all Rack point types. 2547 2548 publishRackIntegrationValue: 2549 action: send 2550 channel: 2551 $ref: '#/channels/rackIntegrationValue' 2552 messages: 2553 - $ref: '#/channels/rackIntegrationValue/messages/valueMessage' 2554 description: Publish integration values for Rack control points. 2555 2556 receivePowerMeterValue: 2557 action: receive 2558 channel: 2559 $ref: '#/channels/powerMeterValue' 2560 messages: 2561 - $ref: '#/channels/powerMeterValue/messages/valueMessage' 2562 description: Subscribe to real-time BMS-published values for all PowerMeter points. 2563 2564 receivePowerMeterMetadata: 2565 action: receive 2566 channel: 2567 $ref: '#/channels/powerMeterMetadata' 2568 messages: 2569 - $ref: '#/channels/powerMeterMetadata/messages/voltage' 2570 - $ref: '#/channels/powerMeterMetadata/messages/powerFactor' 2571 - $ref: '#/channels/powerMeterMetadata/messages/frequency' 2572 - $ref: '#/channels/powerMeterMetadata/messages/apparentPower' 2573 - $ref: '#/channels/powerMeterMetadata/messages/activePower' 2574 - $ref: '#/channels/powerMeterMetadata/messages/current' 2575 - $ref: '#/channels/powerMeterMetadata/messages/currentLimit' 2576 - $ref: '#/channels/powerMeterMetadata/messages/phaseCurrent' 2577 - $ref: '#/channels/powerMeterMetadata/messages/genericPoint' 2578 description: Subscribe to BMS-published metadata for all PowerMeter points. 2579 2580 publishPowerMeterIntegrationValue: 2581 action: send 2582 channel: 2583 $ref: '#/channels/powerMeterIntegrationValue' 2584 messages: 2585 - $ref: '#/channels/powerMeterIntegrationValue/messages/valueMessage' 2586 description: Publish integration values for PowerMeter control points. 2587 2588 receiveBESSValue: 2589 action: receive 2590 channel: 2591 $ref: '#/channels/bessValue' 2592 messages: 2593 - $ref: '#/channels/bessValue/messages/valueMessage' 2594 description: Subscribe to real-time BMS-published values for BESS points. 2595 2596 receiveBESSMetadata: 2597 action: receive 2598 channel: 2599 $ref: '#/channels/bessMetadata' 2600 messages: 2601 - $ref: '#/channels/bessMetadata/messages/status' 2602 - $ref: '#/channels/bessMetadata/messages/available' 2603 - $ref: '#/channels/bessMetadata/messages/genericPoint' 2604 description: Subscribe to BMS-published metadata for BESS points. 2605 2606 publishBESSIntegrationValue: 2607 action: send 2608 channel: 2609 $ref: '#/channels/bessIntegrationValue' 2610 messages: 2611 - $ref: '#/channels/bessIntegrationValue/messages/valueMessage' 2612 description: Publish integration values for BESS control points. 2613 2614 receiveUPSValue: 2615 action: receive 2616 channel: 2617 $ref: '#/channels/upsValue' 2618 messages: 2619 - $ref: '#/channels/upsValue/messages/valueMessage' 2620 description: Subscribe to real-time BMS-published values for UPS points. 2621 2622 receiveUPSMetadata: 2623 action: receive 2624 channel: 2625 $ref: '#/channels/upsMetadata' 2626 messages: 2627 - $ref: '#/channels/upsMetadata/messages/status' 2628 - $ref: '#/channels/upsMetadata/messages/available' 2629 - $ref: '#/channels/upsMetadata/messages/genericPoint' 2630 description: Subscribe to BMS-published metadata for UPS points. 2631 2632 publishUPSIntegrationValue: 2633 action: send 2634 channel: 2635 $ref: '#/channels/upsIntegrationValue' 2636 messages: 2637 - $ref: '#/channels/upsIntegrationValue/messages/valueMessage' 2638 description: Publish integration values for UPS control points. 2639 2640 receiveATSValue: 2641 action: receive 2642 channel: 2643 $ref: '#/channels/atsValue' 2644 messages: 2645 - $ref: '#/channels/atsValue/messages/valueMessage' 2646 description: Subscribe to real-time BMS-published values for ATS points. 2647 2648 receiveATSMetadata: 2649 action: receive 2650 channel: 2651 $ref: '#/channels/atsMetadata' 2652 messages: 2653 - $ref: '#/channels/atsMetadata/messages/status' 2654 - $ref: '#/channels/atsMetadata/messages/available' 2655 - $ref: '#/channels/atsMetadata/messages/genericPoint' 2656 description: Subscribe to BMS-published metadata for ATS points. 2657 2658 publishATSIntegrationValue: 2659 action: send 2660 channel: 2661 $ref: '#/channels/atsIntegrationValue' 2662 messages: 2663 - $ref: '#/channels/atsIntegrationValue/messages/valueMessage' 2664 description: Publish integration values for ATS control points. 2665 2666 receiveGeneratorValue: 2667 action: receive 2668 channel: 2669 $ref: '#/channels/generatorValue' 2670 messages: 2671 - $ref: '#/channels/generatorValue/messages/valueMessage' 2672 description: Subscribe to real-time BMS-published values for Generator points. 2673 2674 receiveGeneratorMetadata: 2675 action: receive 2676 channel: 2677 $ref: '#/channels/generatorMetadata' 2678 messages: 2679 - $ref: '#/channels/generatorMetadata/messages/status' 2680 - $ref: '#/channels/generatorMetadata/messages/available' 2681 - $ref: '#/channels/generatorMetadata/messages/genericPoint' 2682 description: Subscribe to BMS-published metadata for Generator points. 2683 2684 publishGeneratorIntegrationValue: 2685 action: send 2686 channel: 2687 $ref: '#/channels/generatorIntegrationValue' 2688 messages: 2689 - $ref: '#/channels/generatorIntegrationValue/messages/valueMessage' 2690 description: Publish integration values for Generator control points. 2691 2692 receiveShuntValue: 2693 action: receive 2694 channel: 2695 $ref: '#/channels/shuntValue' 2696 messages: 2697 - $ref: '#/channels/shuntValue/messages/valueMessage' 2698 description: Subscribe to real-time BMS-published values for Shunt points. 2699 2700 receiveShuntMetadata: 2701 action: receive 2702 channel: 2703 $ref: '#/channels/shuntMetadata' 2704 messages: 2705 - $ref: '#/channels/shuntMetadata/messages/status' 2706 - $ref: '#/channels/shuntMetadata/messages/available' 2707 - $ref: '#/channels/shuntMetadata/messages/genericPoint' 2708 description: Subscribe to BMS-published metadata for Shunt points. 2709 2710 publishShuntIntegrationValue: 2711 action: send 2712 channel: 2713 $ref: '#/channels/shuntIntegrationValue' 2714 messages: 2715 - $ref: '#/channels/shuntIntegrationValue/messages/valueMessage' 2716 description: Publish integration values for Shunt control points. 2717 2718 receiveBreakerValue: 2719 action: receive 2720 channel: 2721 $ref: '#/channels/breakerValue' 2722 messages: 2723 - $ref: '#/channels/breakerValue/messages/valueMessage' 2724 description: Subscribe to real-time BMS-published values for Breaker points. 2725 2726 receiveBreakerMetadata: 2727 action: receive 2728 channel: 2729 $ref: '#/channels/breakerMetadata' 2730 messages: 2731 - $ref: '#/channels/breakerMetadata/messages/status' 2732 - $ref: '#/channels/breakerMetadata/messages/available' 2733 - $ref: '#/channels/breakerMetadata/messages/genericPoint' 2734 description: Subscribe to BMS-published metadata for Breaker points. 2735 2736 publishBreakerIntegrationValue: 2737 action: send 2738 channel: 2739 $ref: '#/channels/breakerIntegrationValue' 2740 messages: 2741 - $ref: '#/channels/breakerIntegrationValue/messages/valueMessage' 2742 description: Publish integration values for Breaker control points. 2743 2744 receiveCDUValue: 2745 action: receive 2746 channel: 2747 $ref: '#/channels/cduValue' 2748 messages: 2749 - $ref: '#/channels/cduValue/messages/valueMessage' 2750 description: Subscribe to real-time BMS-published values for CDU points. 2751 2752 receiveCDUMetadata: 2753 action: receive 2754 channel: 2755 $ref: '#/channels/cduMetadata' 2756 messages: 2757 - $ref: '#/channels/cduMetadata/messages/liquidTemperature' 2758 - $ref: '#/channels/cduMetadata/messages/liquidDifferentialPressure' 2759 - $ref: '#/channels/cduMetadata/messages/liquidFlow' 2760 - $ref: '#/channels/cduMetadata/messages/liquidPressure' 2761 - $ref: '#/channels/cduMetadata/messages/status' 2762 - $ref: '#/channels/cduMetadata/messages/available' 2763 - $ref: '#/channels/cduMetadata/messages/valvePosition' 2764 - $ref: '#/channels/cduMetadata/messages/pumpSpeed' 2765 - $ref: '#/channels/cduMetadata/messages/fanSpeed' 2766 - $ref: '#/channels/cduMetadata/messages/damperPosition' 2767 - $ref: '#/channels/cduMetadata/messages/airTemperature' 2768 - $ref: '#/channels/cduMetadata/messages/airDifferentialPressure' 2769 - $ref: '#/channels/cduMetadata/messages/airRelativeHumidity' 2770 - $ref: '#/channels/cduMetadata/messages/airFlow' 2771 - $ref: '#/channels/cduMetadata/messages/airPressure' 2772 - $ref: '#/channels/cduMetadata/messages/leakDetect' 2773 - $ref: '#/channels/cduMetadata/messages/liquidTemperatureSpRequest' 2774 - $ref: '#/channels/cduMetadata/messages/genericPoint' 2775 description: Subscribe to BMS-published metadata for CDU points. 2776 2777 publishCDUIntegrationValue: 2778 action: send 2779 channel: 2780 $ref: '#/channels/cduIntegrationValue' 2781 messages: 2782 - $ref: '#/channels/cduIntegrationValue/messages/valueMessage' 2783 description: Publish integration values for CDU control points. 2784 2785 receiveCoolingTowerValue: 2786 action: receive 2787 channel: 2788 $ref: '#/channels/coolingTowerValue' 2789 messages: 2790 - $ref: '#/channels/coolingTowerValue/messages/valueMessage' 2791 description: Subscribe to real-time BMS-published values for CoolingTower points. 2792 2793 receiveCoolingTowerMetadata: 2794 action: receive 2795 channel: 2796 $ref: '#/channels/coolingTowerMetadata' 2797 messages: 2798 - $ref: '#/channels/coolingTowerMetadata/messages/liquidTemperature' 2799 - $ref: '#/channels/coolingTowerMetadata/messages/liquidDifferentialPressure' 2800 - $ref: '#/channels/coolingTowerMetadata/messages/liquidFlow' 2801 - $ref: '#/channels/coolingTowerMetadata/messages/liquidPressure' 2802 - $ref: '#/channels/coolingTowerMetadata/messages/status' 2803 - $ref: '#/channels/coolingTowerMetadata/messages/available' 2804 - $ref: '#/channels/coolingTowerMetadata/messages/valvePosition' 2805 - $ref: '#/channels/coolingTowerMetadata/messages/pumpSpeed' 2806 - $ref: '#/channels/coolingTowerMetadata/messages/fanSpeed' 2807 - $ref: '#/channels/coolingTowerMetadata/messages/damperPosition' 2808 - $ref: '#/channels/coolingTowerMetadata/messages/airTemperature' 2809 - $ref: '#/channels/coolingTowerMetadata/messages/airDifferentialPressure' 2810 - $ref: '#/channels/coolingTowerMetadata/messages/airRelativeHumidity' 2811 - $ref: '#/channels/coolingTowerMetadata/messages/airFlow' 2812 - $ref: '#/channels/coolingTowerMetadata/messages/airPressure' 2813 - $ref: '#/channels/coolingTowerMetadata/messages/leakDetect' 2814 - $ref: '#/channels/coolingTowerMetadata/messages/genericPoint' 2815 description: Subscribe to BMS-published metadata for CoolingTower points. 2816 2817 publishCoolingTowerIntegrationValue: 2818 action: send 2819 channel: 2820 $ref: '#/channels/coolingTowerIntegrationValue' 2821 messages: 2822 - $ref: '#/channels/coolingTowerIntegrationValue/messages/valueMessage' 2823 description: Publish integration values for CoolingTower control points. 2824 2825 receiveHXValue: 2826 action: receive 2827 channel: 2828 $ref: '#/channels/hxValue' 2829 messages: 2830 - $ref: '#/channels/hxValue/messages/valueMessage' 2831 description: Subscribe to real-time BMS-published values for HX points. 2832 2833 receiveHXMetadata: 2834 action: receive 2835 channel: 2836 $ref: '#/channels/hxMetadata' 2837 messages: 2838 - $ref: '#/channels/hxMetadata/messages/liquidTemperature' 2839 - $ref: '#/channels/hxMetadata/messages/liquidDifferentialPressure' 2840 - $ref: '#/channels/hxMetadata/messages/liquidFlow' 2841 - $ref: '#/channels/hxMetadata/messages/liquidPressure' 2842 - $ref: '#/channels/hxMetadata/messages/status' 2843 - $ref: '#/channels/hxMetadata/messages/available' 2844 - $ref: '#/channels/hxMetadata/messages/valvePosition' 2845 - $ref: '#/channels/hxMetadata/messages/pumpSpeed' 2846 - $ref: '#/channels/hxMetadata/messages/fanSpeed' 2847 - $ref: '#/channels/hxMetadata/messages/damperPosition' 2848 - $ref: '#/channels/hxMetadata/messages/airTemperature' 2849 - $ref: '#/channels/hxMetadata/messages/airDifferentialPressure' 2850 - $ref: '#/channels/hxMetadata/messages/airRelativeHumidity' 2851 - $ref: '#/channels/hxMetadata/messages/airFlow' 2852 - $ref: '#/channels/hxMetadata/messages/airPressure' 2853 - $ref: '#/channels/hxMetadata/messages/leakDetect' 2854 - $ref: '#/channels/hxMetadata/messages/genericPoint' 2855 description: Subscribe to BMS-published metadata for HX points. 2856 2857 publishHXIntegrationValue: 2858 action: send 2859 channel: 2860 $ref: '#/channels/hxIntegrationValue' 2861 messages: 2862 - $ref: '#/channels/hxIntegrationValue/messages/valueMessage' 2863 description: Publish integration values for HX control points. 2864 2865 receiveCRAHValue: 2866 action: receive 2867 channel: 2868 $ref: '#/channels/crahValue' 2869 messages: 2870 - $ref: '#/channels/crahValue/messages/valueMessage' 2871 description: Subscribe to real-time BMS-published values for CRAH points. 2872 2873 receiveCRAHMetadata: 2874 action: receive 2875 channel: 2876 $ref: '#/channels/crahMetadata' 2877 messages: 2878 - $ref: '#/channels/crahMetadata/messages/liquidTemperature' 2879 - $ref: '#/channels/crahMetadata/messages/liquidDifferentialPressure' 2880 - $ref: '#/channels/crahMetadata/messages/liquidFlow' 2881 - $ref: '#/channels/crahMetadata/messages/liquidPressure' 2882 - $ref: '#/channels/crahMetadata/messages/status' 2883 - $ref: '#/channels/crahMetadata/messages/available' 2884 - $ref: '#/channels/crahMetadata/messages/valvePosition' 2885 - $ref: '#/channels/crahMetadata/messages/pumpSpeed' 2886 - $ref: '#/channels/crahMetadata/messages/fanSpeed' 2887 - $ref: '#/channels/crahMetadata/messages/damperPosition' 2888 - $ref: '#/channels/crahMetadata/messages/airTemperature' 2889 - $ref: '#/channels/crahMetadata/messages/airDifferentialPressure' 2890 - $ref: '#/channels/crahMetadata/messages/airRelativeHumidity' 2891 - $ref: '#/channels/crahMetadata/messages/airFlow' 2892 - $ref: '#/channels/crahMetadata/messages/airPressure' 2893 - $ref: '#/channels/crahMetadata/messages/leakDetect' 2894 - $ref: '#/channels/crahMetadata/messages/genericPoint' 2895 description: Subscribe to BMS-published metadata for CRAH points. 2896 2897 publishCRAHIntegrationValue: 2898 action: send 2899 channel: 2900 $ref: '#/channels/crahIntegrationValue' 2901 messages: 2902 - $ref: '#/channels/crahIntegrationValue/messages/valueMessage' 2903 description: Publish integration values for CRAH control points. 2904 2905 receiveCRACValue: 2906 action: receive 2907 channel: 2908 $ref: '#/channels/cracValue' 2909 messages: 2910 - $ref: '#/channels/cracValue/messages/valueMessage' 2911 description: Subscribe to real-time BMS-published values for CRAC points. 2912 2913 receiveCRACMetadata: 2914 action: receive 2915 channel: 2916 $ref: '#/channels/cracMetadata' 2917 messages: 2918 - $ref: '#/channels/cracMetadata/messages/liquidTemperature' 2919 - $ref: '#/channels/cracMetadata/messages/liquidDifferentialPressure' 2920 - $ref: '#/channels/cracMetadata/messages/liquidFlow' 2921 - $ref: '#/channels/cracMetadata/messages/liquidPressure' 2922 - $ref: '#/channels/cracMetadata/messages/status' 2923 - $ref: '#/channels/cracMetadata/messages/available' 2924 - $ref: '#/channels/cracMetadata/messages/valvePosition' 2925 - $ref: '#/channels/cracMetadata/messages/pumpSpeed' 2926 - $ref: '#/channels/cracMetadata/messages/fanSpeed' 2927 - $ref: '#/channels/cracMetadata/messages/damperPosition' 2928 - $ref: '#/channels/cracMetadata/messages/airTemperature' 2929 - $ref: '#/channels/cracMetadata/messages/airDifferentialPressure' 2930 - $ref: '#/channels/cracMetadata/messages/airRelativeHumidity' 2931 - $ref: '#/channels/cracMetadata/messages/airFlow' 2932 - $ref: '#/channels/cracMetadata/messages/airPressure' 2933 - $ref: '#/channels/cracMetadata/messages/leakDetect' 2934 - $ref: '#/channels/cracMetadata/messages/genericPoint' 2935 description: Subscribe to BMS-published metadata for CRAC points. 2936 2937 publishCRACIntegrationValue: 2938 action: send 2939 channel: 2940 $ref: '#/channels/cracIntegrationValue' 2941 messages: 2942 - $ref: '#/channels/cracIntegrationValue/messages/valueMessage' 2943 description: Publish integration values for CRAC control points. 2944 2945 receiveAHUValue: 2946 action: receive 2947 channel: 2948 $ref: '#/channels/ahuValue' 2949 messages: 2950 - $ref: '#/channels/ahuValue/messages/valueMessage' 2951 description: Subscribe to real-time BMS-published values for AHU points. 2952 2953 receiveAHUMetadata: 2954 action: receive 2955 channel: 2956 $ref: '#/channels/ahuMetadata' 2957 messages: 2958 - $ref: '#/channels/ahuMetadata/messages/liquidTemperature' 2959 - $ref: '#/channels/ahuMetadata/messages/liquidDifferentialPressure' 2960 - $ref: '#/channels/ahuMetadata/messages/liquidFlow' 2961 - $ref: '#/channels/ahuMetadata/messages/liquidPressure' 2962 - $ref: '#/channels/ahuMetadata/messages/status' 2963 - $ref: '#/channels/ahuMetadata/messages/available' 2964 - $ref: '#/channels/ahuMetadata/messages/valvePosition' 2965 - $ref: '#/channels/ahuMetadata/messages/pumpSpeed' 2966 - $ref: '#/channels/ahuMetadata/messages/fanSpeed' 2967 - $ref: '#/channels/ahuMetadata/messages/damperPosition' 2968 - $ref: '#/channels/ahuMetadata/messages/airTemperature' 2969 - $ref: '#/channels/ahuMetadata/messages/airDifferentialPressure' 2970 - $ref: '#/channels/ahuMetadata/messages/airRelativeHumidity' 2971 - $ref: '#/channels/ahuMetadata/messages/airFlow' 2972 - $ref: '#/channels/ahuMetadata/messages/airPressure' 2973 - $ref: '#/channels/ahuMetadata/messages/leakDetect' 2974 - $ref: '#/channels/ahuMetadata/messages/genericPoint' 2975 description: Subscribe to BMS-published metadata for AHU points. 2976 2977 publishAHUIntegrationValue: 2978 action: send 2979 channel: 2980 $ref: '#/channels/ahuIntegrationValue' 2981 messages: 2982 - $ref: '#/channels/ahuIntegrationValue/messages/valueMessage' 2983 description: Publish integration values for AHU control points. 2984 2985 receiveChillerValue: 2986 action: receive 2987 channel: 2988 $ref: '#/channels/chillerValue' 2989 messages: 2990 - $ref: '#/channels/chillerValue/messages/valueMessage' 2991 description: Subscribe to real-time BMS-published values for Chiller points. 2992 2993 receiveChillerMetadata: 2994 action: receive 2995 channel: 2996 $ref: '#/channels/chillerMetadata' 2997 messages: 2998 - $ref: '#/channels/chillerMetadata/messages/liquidTemperature' 2999 - $ref: '#/channels/chillerMetadata/messages/liquidDifferentialPressure' 3000 - $ref: '#/channels/chillerMetadata/messages/liquidFlow' 3001 - $ref: '#/channels/chillerMetadata/messages/liquidPressure' 3002 - $ref: '#/channels/chillerMetadata/messages/status' 3003 - $ref: '#/channels/chillerMetadata/messages/available' 3004 - $ref: '#/channels/chillerMetadata/messages/valvePosition' 3005 - $ref: '#/channels/chillerMetadata/messages/pumpSpeed' 3006 - $ref: '#/channels/chillerMetadata/messages/fanSpeed' 3007 - $ref: '#/channels/chillerMetadata/messages/damperPosition' 3008 - $ref: '#/channels/chillerMetadata/messages/airTemperature' 3009 - $ref: '#/channels/chillerMetadata/messages/airDifferentialPressure' 3010 - $ref: '#/channels/chillerMetadata/messages/airRelativeHumidity' 3011 - $ref: '#/channels/chillerMetadata/messages/airFlow' 3012 - $ref: '#/channels/chillerMetadata/messages/airPressure' 3013 - $ref: '#/channels/chillerMetadata/messages/leakDetect' 3014 - $ref: '#/channels/chillerMetadata/messages/genericPoint' 3015 description: Subscribe to BMS-published metadata for Chiller points. 3016 3017 publishChillerIntegrationValue: 3018 action: send 3019 channel: 3020 $ref: '#/channels/chillerIntegrationValue' 3021 messages: 3022 - $ref: '#/channels/chillerIntegrationValue/messages/valueMessage' 3023 description: Publish integration values for Chiller control points. 3024 3025 receiveValveValue: 3026 action: receive 3027 channel: 3028 $ref: '#/channels/valveValue' 3029 messages: 3030 - $ref: '#/channels/valveValue/messages/valueMessage' 3031 description: Subscribe to real-time BMS-published values for Valve points. 3032 3033 receiveValveMetadata: 3034 action: receive 3035 channel: 3036 $ref: '#/channels/valveMetadata' 3037 messages: 3038 - $ref: '#/channels/valveMetadata/messages/valvePosition' 3039 - $ref: '#/channels/valveMetadata/messages/available' 3040 - $ref: '#/channels/valveMetadata/messages/genericPoint' 3041 description: Subscribe to BMS-published metadata for Valve points. 3042 3043 publishValveIntegrationValue: 3044 action: send 3045 channel: 3046 $ref: '#/channels/valveIntegrationValue' 3047 messages: 3048 - $ref: '#/channels/valveIntegrationValue/messages/valueMessage' 3049 description: Publish integration values for Valve control points. 3050 3051 receivePumpValue: 3052 action: receive 3053 channel: 3054 $ref: '#/channels/pumpValue' 3055 messages: 3056 - $ref: '#/channels/pumpValue/messages/valueMessage' 3057 description: Subscribe to real-time BMS-published values for Pump points. 3058 3059 receivePumpMetadata: 3060 action: receive 3061 channel: 3062 $ref: '#/channels/pumpMetadata' 3063 messages: 3064 - $ref: '#/channels/pumpMetadata/messages/pumpSpeed' 3065 - $ref: '#/channels/pumpMetadata/messages/available' 3066 - $ref: '#/channels/pumpMetadata/messages/genericPoint' 3067 description: Subscribe to BMS-published metadata for Pump points. 3068 3069 publishPumpIntegrationValue: 3070 action: send 3071 channel: 3072 $ref: '#/channels/pumpIntegrationValue' 3073 messages: 3074 - $ref: '#/channels/pumpIntegrationValue/messages/valueMessage' 3075 description: Publish integration values for Pump control points. 3076 3077 receiveFanValue: 3078 action: receive 3079 channel: 3080 $ref: '#/channels/fanValue' 3081 messages: 3082 - $ref: '#/channels/fanValue/messages/valueMessage' 3083 description: Subscribe to real-time BMS-published values for Fan points. 3084 3085 receiveFanMetadata: 3086 action: receive 3087 channel: 3088 $ref: '#/channels/fanMetadata' 3089 messages: 3090 - $ref: '#/channels/fanMetadata/messages/fanSpeed' 3091 - $ref: '#/channels/fanMetadata/messages/available' 3092 - $ref: '#/channels/fanMetadata/messages/genericPoint' 3093 description: Subscribe to BMS-published metadata for Fan points. 3094 3095 publishFanIntegrationValue: 3096 action: send 3097 channel: 3098 $ref: '#/channels/fanIntegrationValue' 3099 messages: 3100 - $ref: '#/channels/fanIntegrationValue/messages/valueMessage' 3101 description: Publish integration values for Fan control points. 3102 3103 receiveDamperValue: 3104 action: receive 3105 channel: 3106 $ref: '#/channels/damperValue' 3107 messages: 3108 - $ref: '#/channels/damperValue/messages/valueMessage' 3109 description: Subscribe to real-time BMS-published values for Damper points. 3110 3111 receiveDamperMetadata: 3112 action: receive 3113 channel: 3114 $ref: '#/channels/damperMetadata' 3115 messages: 3116 - $ref: '#/channels/damperMetadata/messages/damperPosition' 3117 - $ref: '#/channels/damperMetadata/messages/available' 3118 - $ref: '#/channels/damperMetadata/messages/genericPoint' 3119 description: Subscribe to BMS-published metadata for Damper points. 3120 3121 publishDamperIntegrationValue: 3122 action: send 3123 channel: 3124 $ref: '#/channels/damperIntegrationValue' 3125 messages: 3126 - $ref: '#/channels/damperIntegrationValue/messages/valueMessage' 3127 description: Publish integration values for Damper control points. 3128 3129 receiveSensorValue: 3130 action: receive 3131 channel: 3132 $ref: '#/channels/sensorValue' 3133 messages: 3134 - $ref: '#/channels/sensorValue/messages/valueMessage' 3135 description: Subscribe to real-time BMS-published values for Sensor points. 3136 3137 receiveSensorMetadata: 3138 action: receive 3139 channel: 3140 $ref: '#/channels/sensorMetadata' 3141 messages: 3142 - $ref: '#/channels/sensorMetadata/messages/liquidTemperature' 3143 - $ref: '#/channels/sensorMetadata/messages/liquidDifferentialPressure' 3144 - $ref: '#/channels/sensorMetadata/messages/liquidFlow' 3145 - $ref: '#/channels/sensorMetadata/messages/liquidPressure' 3146 - $ref: '#/channels/sensorMetadata/messages/airTemperature' 3147 - $ref: '#/channels/sensorMetadata/messages/airDifferentialPressure' 3148 - $ref: '#/channels/sensorMetadata/messages/airRelativeHumidity' 3149 - $ref: '#/channels/sensorMetadata/messages/airFlow' 3150 - $ref: '#/channels/sensorMetadata/messages/airPressure' 3151 - $ref: '#/channels/sensorMetadata/messages/leakDetect' 3152 - $ref: '#/channels/sensorMetadata/messages/available' 3153 - $ref: '#/channels/sensorMetadata/messages/sound' 3154 - $ref: '#/channels/sensorMetadata/messages/genericPoint' 3155 description: Subscribe to BMS-published metadata for Sensor points. 3156 3157 publishSensorIntegrationValue: 3158 action: send 3159 channel: 3160 $ref: '#/channels/sensorIntegrationValue' 3161 messages: 3162 - $ref: '#/channels/sensorIntegrationValue/messages/valueMessage' 3163 description: Publish integration values for Sensor control points. 3164 3165 receiveTankValue: 3166 action: receive 3167 channel: 3168 $ref: '#/channels/tankValue' 3169 messages: 3170 - $ref: '#/channels/tankValue/messages/valueMessage' 3171 description: Subscribe to real-time BMS-published values for Tank points. 3172 3173 receiveTankMetadata: 3174 action: receive 3175 channel: 3176 $ref: '#/channels/tankMetadata' 3177 messages: 3178 - $ref: '#/channels/tankMetadata/messages/liquidTemperature' 3179 - $ref: '#/channels/tankMetadata/messages/liquidDifferentialPressure' 3180 - $ref: '#/channels/tankMetadata/messages/liquidFlow' 3181 - $ref: '#/channels/tankMetadata/messages/liquidPressure' 3182 - $ref: '#/channels/tankMetadata/messages/status' 3183 - $ref: '#/channels/tankMetadata/messages/available' 3184 - $ref: '#/channels/tankMetadata/messages/valvePosition' 3185 - $ref: '#/channels/tankMetadata/messages/pumpSpeed' 3186 - $ref: '#/channels/tankMetadata/messages/fanSpeed' 3187 - $ref: '#/channels/tankMetadata/messages/damperPosition' 3188 - $ref: '#/channels/tankMetadata/messages/airTemperature' 3189 - $ref: '#/channels/tankMetadata/messages/airDifferentialPressure' 3190 - $ref: '#/channels/tankMetadata/messages/airRelativeHumidity' 3191 - $ref: '#/channels/tankMetadata/messages/airFlow' 3192 - $ref: '#/channels/tankMetadata/messages/airPressure' 3193 - $ref: '#/channels/tankMetadata/messages/leakDetect' 3194 - $ref: '#/channels/tankMetadata/messages/genericPoint' 3195 description: Subscribe to BMS-published metadata for Tank points. 3196 3197 publishTankIntegrationValue: 3198 action: send 3199 channel: 3200 $ref: '#/channels/tankIntegrationValue' 3201 messages: 3202 - $ref: '#/channels/tankIntegrationValue/messages/valueMessage' 3203 description: Publish integration values for Tank control points. 3204 3205 receiveGenericObjectValue: 3206 action: receive 3207 channel: 3208 $ref: '#/channels/genericObjectValue' 3209 messages: 3210 - $ref: '#/channels/genericObjectValue/messages/valueMessage' 3211 description: Subscribe to real-time BMS-published values for GenericObject points. 3212 3213 receiveGenericObjectMetadata: 3214 action: receive 3215 channel: 3216 $ref: '#/channels/genericObjectMetadata' 3217 messages: 3218 - $ref: '#/channels/genericObjectMetadata/messages/liquidTemperature' 3219 - $ref: '#/channels/genericObjectMetadata/messages/liquidDifferentialPressure' 3220 - $ref: '#/channels/genericObjectMetadata/messages/liquidFlow' 3221 - $ref: '#/channels/genericObjectMetadata/messages/liquidPressure' 3222 - $ref: '#/channels/genericObjectMetadata/messages/status' 3223 - $ref: '#/channels/genericObjectMetadata/messages/available' 3224 - $ref: '#/channels/genericObjectMetadata/messages/valvePosition' 3225 - $ref: '#/channels/genericObjectMetadata/messages/pumpSpeed' 3226 - $ref: '#/channels/genericObjectMetadata/messages/fanSpeed' 3227 - $ref: '#/channels/genericObjectMetadata/messages/damperPosition' 3228 - $ref: '#/channels/genericObjectMetadata/messages/airTemperature' 3229 - $ref: '#/channels/genericObjectMetadata/messages/airDifferentialPressure' 3230 - $ref: '#/channels/genericObjectMetadata/messages/airRelativeHumidity' 3231 - $ref: '#/channels/genericObjectMetadata/messages/airFlow' 3232 - $ref: '#/channels/genericObjectMetadata/messages/airPressure' 3233 - $ref: '#/channels/genericObjectMetadata/messages/leakDetect' 3234 - $ref: '#/channels/genericObjectMetadata/messages/liquidTemperatureSpRequest' 3235 - $ref: '#/channels/genericObjectMetadata/messages/sound' 3236 - $ref: '#/channels/genericObjectMetadata/messages/genericPoint' 3237 description: Subscribe to BMS-published metadata for GenericObject points. 3238 3239 publishGenericObjectIntegrationValue: 3240 action: send 3241 channel: 3242 $ref: '#/channels/genericObjectIntegrationValue' 3243 messages: 3244 - $ref: '#/channels/genericObjectIntegrationValue/messages/valueMessage' 3245 description: Publish integration values for GenericObject control points. 3246 3247 receiveSystemBmsValue: 3248 action: receive 3249 channel: 3250 $ref: '#/channels/systemBmsValue' 3251 messages: 3252 - $ref: '#/channels/systemBmsValue/messages/valueMessage' 3253 description: Subscribe to BMS System values (heartbeat timestamps, status, etc.). 3254 3255 receiveSystemMetadata: 3256 action: receive 3257 channel: 3258 $ref: '#/channels/systemMetadata' 3259 messages: 3260 - $ref: '#/channels/systemMetadata/messages/heartbeatTimestampBms' 3261 - $ref: '#/channels/systemMetadata/messages/heartbeatEchoBms' 3262 - $ref: '#/channels/systemMetadata/messages/heartbeatTimestampIntegration' 3263 - $ref: '#/channels/systemMetadata/messages/heartbeatEchoIntegration' 3264 - $ref: '#/channels/systemMetadata/messages/status' 3265 - $ref: '#/channels/systemMetadata/messages/available' 3266 - $ref: '#/channels/systemMetadata/messages/genericPoint' 3267 description: Subscribe to System metadata for all System point types. 3268 3269 publishSystemIntegrationValue: 3270 action: send 3271 channel: 3272 $ref: '#/channels/systemIntegrationValue' 3273 messages: 3274 - $ref: '#/channels/systemIntegrationValue/messages/valueMessage' 3275 description: Publish integration System values to topics derived from BMS metadata. 3276 3277 # ============================================================================= 3278 # Components 3279 # ============================================================================= 3280 3281 components: 3282 3283 messages: 3284 3285 ValueMessage: 3286 name: ValueMessage 3287 title: Point Value 3288 description: | 3289 Live value message. Payload envelope is identical for all point types. 3290 The semantic meaning of `value` is determined by the corresponding 3291 metadata message. 3292 payload: 3293 type: object 3294 required: 3295 - value 3296 - timestamp 3297 - quality 3298 properties: 3299 value: 3300 oneOf: 3301 - type: number 3302 - type: 'null' 3303 description: > 3304 Live reading for the point (float). May be null when the BMS 3305 has no valid reading available. 3306 examples: 3307 - 22.96215 3308 - 0.239 3309 - null 3310 - 1 3311 3312 timestamp: 3313 type: integer 3314 description: Unix timestamp in epoch milliseconds (source event time). 3315 examples: 3316 - 1743620423000 3317 quality: 3318 type: integer 3319 description: > 3320 `1` = good quality. Any other integer indicates value is not trustworthy 3321 examples: 3322 - 1 3323 - 0 3324 additionalProperties: false 3325 3326 # Rack 3327 RackLiquidSupplyTemperatureMsg: 3328 name: RackLiquidSupplyTemperatureMsg 3329 title: Rack RackLiquidSupplyTemperature Metadata 3330 payload: 3331 $ref: '#/components/schemas/RackLiquidSupplyTemperatureMetadata' 3332 RackLiquidReturnTemperatureMsg: 3333 name: RackLiquidReturnTemperatureMsg 3334 title: Rack RackLiquidReturnTemperature Metadata 3335 payload: 3336 $ref: '#/components/schemas/RackLiquidReturnTemperatureMetadata' 3337 RackLiquidFlowMsg: 3338 name: RackLiquidFlowMsg 3339 title: Rack RackLiquidFlow Metadata 3340 payload: 3341 $ref: '#/components/schemas/RackLiquidFlowMetadata' 3342 RackLiquidDifferentialPressureMsg: 3343 name: RackLiquidDifferentialPressureMsg 3344 title: Rack RackLiquidDifferentialPressure Metadata 3345 payload: 3346 $ref: '#/components/schemas/RackLiquidDifferentialPressureMetadata' 3347 RackControlValvePositionMsg: 3348 name: RackControlValvePositionMsg 3349 title: Rack RackControlValvePosition Metadata 3350 payload: 3351 $ref: '#/components/schemas/RackControlValvePositionMetadata' 3352 RackPowerMsg: 3353 name: RackPowerMsg 3354 title: Rack RackPower Metadata 3355 payload: 3356 $ref: '#/components/schemas/RackPowerMetadata' 3357 RackLeakDetectMsg: 3358 name: RackLeakDetectMsg 3359 title: Rack RackLeakDetect Metadata 3360 payload: 3361 $ref: '#/components/schemas/RackLeakDetectMetadata' 3362 RackLeakSensorFaultMsg: 3363 name: RackLeakSensorFaultMsg 3364 title: Rack RackLeakSensorFault Metadata 3365 payload: 3366 $ref: '#/components/schemas/RackLeakSensorFaultMetadata' 3367 RackLiquidIsolationStatusMsg: 3368 name: RackLiquidIsolationStatusMsg 3369 title: Rack RackLiquidIsolationStatus Metadata 3370 payload: 3371 $ref: '#/components/schemas/RackLiquidIsolationStatusMetadata' 3372 RackElectricalIsolationStatusMsg: 3373 name: RackElectricalIsolationStatusMsg 3374 title: Rack RackElectricalIsolationStatus Metadata 3375 payload: 3376 $ref: '#/components/schemas/RackElectricalIsolationStatusMetadata' 3377 RackLeakDetectTrayMsg: 3378 name: RackLeakDetectTrayMsg 3379 title: Rack RackLeakDetectTray Metadata 3380 payload: 3381 $ref: '#/components/schemas/RackLeakDetectTrayMetadata' 3382 RackLiquidIsolationRequestMsg: 3383 name: RackLiquidIsolationRequestMsg 3384 title: Rack RackLiquidIsolationRequest Metadata 3385 payload: 3386 $ref: '#/components/schemas/RackLiquidIsolationRequestMetadata' 3387 RackElectricalIsolationRequestMsg: 3388 name: RackElectricalIsolationRequestMsg 3389 title: Rack RackElectricalIsolationRequest Metadata 3390 payload: 3391 $ref: '#/components/schemas/RackElectricalIsolationRequestMetadata' 3392 3393 # PowerMeter 3394 PowerMeterVoltageMsg: 3395 name: PowerMeterVoltageMsg 3396 title: PowerMeter Voltage Metadata 3397 payload: 3398 $ref: '#/components/schemas/PowerMeterVoltageMetadata' 3399 PowerMeterPowerFactorMsg: 3400 name: PowerMeterPowerFactorMsg 3401 title: PowerMeter PowerFactor Metadata 3402 payload: 3403 $ref: '#/components/schemas/PowerMeterPowerFactorMetadata' 3404 PowerMeterFrequencyMsg: 3405 name: PowerMeterFrequencyMsg 3406 title: PowerMeter Frequency Metadata 3407 payload: 3408 $ref: '#/components/schemas/PowerMeterFrequencyMetadata' 3409 PowerMeterApparentPowerMsg: 3410 name: PowerMeterApparentPowerMsg 3411 title: PowerMeter ApparentPower Metadata 3412 payload: 3413 $ref: '#/components/schemas/PowerMeterApparentPowerMetadata' 3414 PowerMeterActivePowerMsg: 3415 name: PowerMeterActivePowerMsg 3416 title: PowerMeter ActivePower Metadata 3417 payload: 3418 $ref: '#/components/schemas/PowerMeterActivePowerMetadata' 3419 PowerMeterCurrentMsg: 3420 name: PowerMeterCurrentMsg 3421 title: PowerMeter Current Metadata 3422 payload: 3423 $ref: '#/components/schemas/PowerMeterCurrentMetadata' 3424 PowerMeterCurrentLimitMsg: 3425 name: PowerMeterCurrentLimitMsg 3426 title: PowerMeter CurrentLimit Metadata 3427 payload: 3428 $ref: '#/components/schemas/PowerMeterCurrentLimitMetadata' 3429 PowerMeterPhaseCurrentMsg: 3430 name: PowerMeterPhaseCurrentMsg 3431 title: PowerMeter PhaseCurrent Metadata 3432 payload: 3433 $ref: '#/components/schemas/PowerMeterPhaseCurrentMetadata' 3434 3435 # Generic Equipment 3436 LiquidTemperatureMsg: 3437 name: LiquidTemperatureMsg 3438 title: LiquidTemperature Metadata 3439 payload: 3440 $ref: '#/components/schemas/LiquidTemperatureMetadata' 3441 LiquidDifferentialPressureMsg: 3442 name: LiquidDifferentialPressureMsg 3443 title: LiquidDifferentialPressure Metadata 3444 payload: 3445 $ref: '#/components/schemas/LiquidDifferentialPressureMetadata' 3446 LiquidFlowMsg: 3447 name: LiquidFlowMsg 3448 title: LiquidFlow Metadata 3449 payload: 3450 $ref: '#/components/schemas/LiquidFlowMetadata' 3451 LiquidPressureMsg: 3452 name: LiquidPressureMsg 3453 title: LiquidPressure Metadata 3454 payload: 3455 $ref: '#/components/schemas/LiquidPressureMetadata' 3456 StatusMsg: 3457 name: StatusMsg 3458 title: Status Metadata 3459 payload: 3460 $ref: '#/components/schemas/StatusMetadata' 3461 AvailableMsg: 3462 name: AvailableMsg 3463 title: Available Metadata 3464 payload: 3465 $ref: '#/components/schemas/AvailableMetadata' 3466 ValvePositionMsg: 3467 name: ValvePositionMsg 3468 title: ValvePosition Metadata 3469 payload: 3470 $ref: '#/components/schemas/ValvePositionMetadata' 3471 PumpSpeedMsg: 3472 name: PumpSpeedMsg 3473 title: PumpSpeed Metadata 3474 payload: 3475 $ref: '#/components/schemas/PumpSpeedMetadata' 3476 FanSpeedMsg: 3477 name: FanSpeedMsg 3478 title: FanSpeed Metadata 3479 payload: 3480 $ref: '#/components/schemas/FanSpeedMetadata' 3481 DamperPositionMsg: 3482 name: DamperPositionMsg 3483 title: DamperPosition Metadata 3484 payload: 3485 $ref: '#/components/schemas/DamperPositionMetadata' 3486 AirTemperatureMsg: 3487 name: AirTemperatureMsg 3488 title: AirTemperature Metadata 3489 payload: 3490 $ref: '#/components/schemas/AirTemperatureMetadata' 3491 AirDifferentialPressureMsg: 3492 name: AirDifferentialPressureMsg 3493 title: AirDifferentialPressure Metadata 3494 payload: 3495 $ref: '#/components/schemas/AirDifferentialPressureMetadata' 3496 AirFlowMsg: 3497 name: AirFlowMsg 3498 title: AirFlow Metadata 3499 payload: 3500 $ref: '#/components/schemas/AirFlowMetadata' 3501 AirPressureMsg: 3502 name: AirPressureMsg 3503 title: AirPressure Metadata 3504 payload: 3505 $ref: '#/components/schemas/AirPressureMetadata' 3506 LiquidTemperatureSpRequestMsg: 3507 name: LiquidTemperatureSpRequestMsg 3508 title: CDU LiquidTemperatureSpRequest Metadata 3509 payload: 3510 $ref: '#/components/schemas/LiquidTemperatureSpRequestMetadata' 3511 SoundMsg: 3512 name: SoundMsg 3513 title: Sound Metadata 3514 payload: 3515 $ref: '#/components/schemas/SoundMetadata' 3516 3517 # System 3518 SystemHeartbeatTimestampBmsMsg: 3519 name: SystemHeartbeatTimestampBmsMsg 3520 title: HeartbeatTimestampBms Metadata 3521 payload: 3522 $ref: '#/components/schemas/SystemHeartbeatTimestampBmsMetadata' 3523 SystemHeartbeatEchoBmsMsg: 3524 name: SystemHeartbeatEchoBmsMsg 3525 title: HeartbeatEchoBms Metadata 3526 payload: 3527 $ref: '#/components/schemas/SystemHeartbeatEchoBmsMetadata' 3528 SystemHeartbeatTimestampIntegrationMsg: 3529 name: SystemHeartbeatTimestampIntegrationMsg 3530 title: HeartbeatTimestampIntegration Metadata 3531 payload: 3532 $ref: '#/components/schemas/SystemHeartbeatTimestampIntegrationMetadata' 3533 SystemHeartbeatEchoIntegrationMsg: 3534 name: SystemHeartbeatEchoIntegrationMsg 3535 title: HeartbeatEchoIntegration Metadata 3536 payload: 3537 $ref: '#/components/schemas/SystemHeartbeatEchoIntegrationMetadata' 3538 SystemStatusMsg: 3539 name: SystemStatusMsg 3540 title: System Status Metadata 3541 payload: 3542 $ref: '#/components/schemas/SystemStatusMetadata' 3543 SystemAvailableMsg: 3544 name: SystemAvailableMsg 3545 title: System Available Metadata 3546 payload: 3547 $ref: '#/components/schemas/SystemAvailableMetadata' 3548 3549 # Generic Equipment 3550 # --- Per-objectType messages (objectType constraint) --- 3551 3552 BESSStatusMsg: 3553 name: BESSStatusMsg 3554 title: BESS Status Metadata 3555 payload: 3556 $ref: '#/components/schemas/BESSStatusMetadata' 3557 3558 BESSAvailableMsg: 3559 name: BESSAvailableMsg 3560 title: BESS Available Metadata 3561 payload: 3562 $ref: '#/components/schemas/BESSAvailableMetadata' 3563 3564 UPSStatusMsg: 3565 name: UPSStatusMsg 3566 title: UPS Status Metadata 3567 payload: 3568 $ref: '#/components/schemas/UPSStatusMetadata' 3569 3570 UPSAvailableMsg: 3571 name: UPSAvailableMsg 3572 title: UPS Available Metadata 3573 payload: 3574 $ref: '#/components/schemas/UPSAvailableMetadata' 3575 3576 ATSStatusMsg: 3577 name: ATSStatusMsg 3578 title: ATS Status Metadata 3579 payload: 3580 $ref: '#/components/schemas/ATSStatusMetadata' 3581 3582 ATSAvailableMsg: 3583 name: ATSAvailableMsg 3584 title: ATS Available Metadata 3585 payload: 3586 $ref: '#/components/schemas/ATSAvailableMetadata' 3587 3588 GeneratorStatusMsg: 3589 name: GeneratorStatusMsg 3590 title: Generator Status Metadata 3591 payload: 3592 $ref: '#/components/schemas/GeneratorStatusMetadata' 3593 3594 GeneratorAvailableMsg: 3595 name: GeneratorAvailableMsg 3596 title: Generator Available Metadata 3597 payload: 3598 $ref: '#/components/schemas/GeneratorAvailableMetadata' 3599 3600 ShuntStatusMsg: 3601 name: ShuntStatusMsg 3602 title: Shunt Status Metadata 3603 payload: 3604 $ref: '#/components/schemas/ShuntStatusMetadata' 3605 3606 ShuntAvailableMsg: 3607 name: ShuntAvailableMsg 3608 title: Shunt Available Metadata 3609 payload: 3610 $ref: '#/components/schemas/ShuntAvailableMetadata' 3611 3612 BreakerStatusMsg: 3613 name: BreakerStatusMsg 3614 title: Breaker Status Metadata 3615 payload: 3616 $ref: '#/components/schemas/BreakerStatusMetadata' 3617 3618 BreakerAvailableMsg: 3619 name: BreakerAvailableMsg 3620 title: Breaker Available Metadata 3621 payload: 3622 $ref: '#/components/schemas/BreakerAvailableMetadata' 3623 3624 ValveValvePositionMsg: 3625 name: ValveValvePositionMsg 3626 title: Valve ValvePosition Metadata 3627 payload: 3628 $ref: '#/components/schemas/ValveValvePositionMetadata' 3629 3630 PumpPumpSpeedMsg: 3631 name: PumpPumpSpeedMsg 3632 title: Pump PumpSpeed Metadata 3633 payload: 3634 $ref: '#/components/schemas/PumpPumpSpeedMetadata' 3635 3636 FanFanSpeedMsg: 3637 name: FanFanSpeedMsg 3638 title: Fan FanSpeed Metadata 3639 payload: 3640 $ref: '#/components/schemas/FanFanSpeedMetadata' 3641 3642 DamperDamperPositionMsg: 3643 name: DamperDamperPositionMsg 3644 title: Damper DamperPosition Metadata 3645 payload: 3646 $ref: '#/components/schemas/DamperDamperPositionMetadata' 3647 3648 SensorLiquidTemperatureMsg: 3649 name: SensorLiquidTemperatureMsg 3650 title: Sensor LiquidTemperature Metadata 3651 payload: 3652 $ref: '#/components/schemas/SensorLiquidTemperatureMetadata' 3653 3654 SensorLiquidDifferentialPressureMsg: 3655 name: SensorLiquidDifferentialPressureMsg 3656 title: Sensor LiquidDifferentialPressure Metadata 3657 payload: 3658 $ref: '#/components/schemas/SensorLiquidDifferentialPressureMetadata' 3659 3660 SensorLiquidFlowMsg: 3661 name: SensorLiquidFlowMsg 3662 title: Sensor LiquidFlow Metadata 3663 payload: 3664 $ref: '#/components/schemas/SensorLiquidFlowMetadata' 3665 3666 SensorLiquidPressureMsg: 3667 name: SensorLiquidPressureMsg 3668 title: Sensor LiquidPressure Metadata 3669 payload: 3670 $ref: '#/components/schemas/SensorLiquidPressureMetadata' 3671 3672 SensorAirTemperatureMsg: 3673 name: SensorAirTemperatureMsg 3674 title: Sensor AirTemperature Metadata 3675 payload: 3676 $ref: '#/components/schemas/SensorAirTemperatureMetadata' 3677 3678 SensorAirDifferentialPressureMsg: 3679 name: SensorAirDifferentialPressureMsg 3680 title: Sensor AirDifferentialPressure Metadata 3681 payload: 3682 $ref: '#/components/schemas/SensorAirDifferentialPressureMetadata' 3683 3684 SensorAirFlowMsg: 3685 name: SensorAirFlowMsg 3686 title: Sensor AirFlow Metadata 3687 payload: 3688 $ref: '#/components/schemas/SensorAirFlowMetadata' 3689 3690 SensorAirPressureMsg: 3691 name: SensorAirPressureMsg 3692 title: Sensor AirPressure Metadata 3693 payload: 3694 $ref: '#/components/schemas/SensorAirPressureMetadata' 3695 3696 SensorSoundMsg: 3697 name: SensorSoundMsg 3698 title: Sensor Sound Metadata 3699 payload: 3700 $ref: '#/components/schemas/SensorSoundMetadata' 3701 3702 ValveAvailableMsg: 3703 name: ValveAvailableMsg 3704 title: Valve Available Metadata 3705 payload: 3706 $ref: '#/components/schemas/ValveAvailableMetadata' 3707 3708 PumpAvailableMsg: 3709 name: PumpAvailableMsg 3710 title: Pump Available Metadata 3711 payload: 3712 $ref: '#/components/schemas/PumpAvailableMetadata' 3713 3714 FanAvailableMsg: 3715 name: FanAvailableMsg 3716 title: Fan Available Metadata 3717 payload: 3718 $ref: '#/components/schemas/FanAvailableMetadata' 3719 3720 DamperAvailableMsg: 3721 name: DamperAvailableMsg 3722 title: Damper Available Metadata 3723 payload: 3724 $ref: '#/components/schemas/DamperAvailableMetadata' 3725 3726 SensorAvailableMsg: 3727 name: SensorAvailableMsg 3728 title: Sensor Available Metadata 3729 payload: 3730 $ref: '#/components/schemas/SensorAvailableMetadata' 3731 3732 CDULeakDetectMsg: 3733 name: CDULeakDetectMsg 3734 title: CDU LeakDetect Metadata 3735 payload: 3736 $ref: '#/components/schemas/CDULeakDetectMetadata' 3737 3738 CoolingTowerLeakDetectMsg: 3739 name: CoolingTowerLeakDetectMsg 3740 title: CoolingTower LeakDetect Metadata 3741 payload: 3742 $ref: '#/components/schemas/CoolingTowerLeakDetectMetadata' 3743 3744 HXLeakDetectMsg: 3745 name: HXLeakDetectMsg 3746 title: HX LeakDetect Metadata 3747 payload: 3748 $ref: '#/components/schemas/HXLeakDetectMetadata' 3749 3750 CRAHLeakDetectMsg: 3751 name: CRAHLeakDetectMsg 3752 title: CRAH LeakDetect Metadata 3753 payload: 3754 $ref: '#/components/schemas/CRAHLeakDetectMetadata' 3755 3756 CRACLeakDetectMsg: 3757 name: CRACLeakDetectMsg 3758 title: CRAC LeakDetect Metadata 3759 payload: 3760 $ref: '#/components/schemas/CRACLeakDetectMetadata' 3761 3762 AHULeakDetectMsg: 3763 name: AHULeakDetectMsg 3764 title: AHU LeakDetect Metadata 3765 payload: 3766 $ref: '#/components/schemas/AHULeakDetectMetadata' 3767 3768 ChillerLeakDetectMsg: 3769 name: ChillerLeakDetectMsg 3770 title: Chiller LeakDetect Metadata 3771 payload: 3772 $ref: '#/components/schemas/ChillerLeakDetectMetadata' 3773 3774 TankLeakDetectMsg: 3775 name: TankLeakDetectMsg 3776 title: Tank LeakDetect Metadata 3777 payload: 3778 $ref: '#/components/schemas/TankLeakDetectMetadata' 3779 3780 SensorLeakDetectMsg: 3781 name: SensorLeakDetectMsg 3782 title: Sensor LeakDetect Metadata 3783 payload: 3784 $ref: '#/components/schemas/SensorLeakDetectMetadata' 3785 3786 GenericObjectLeakDetectMsg: 3787 name: GenericObjectLeakDetectMsg 3788 title: GenericObject LeakDetect Metadata 3789 payload: 3790 $ref: '#/components/schemas/GenericObjectLeakDetectMetadata' 3791 3792 CDUAirRelativeHumidityMsg: 3793 name: CDUAirRelativeHumidityMsg 3794 title: CDU AirRelativeHumidity Metadata 3795 payload: 3796 $ref: '#/components/schemas/CDUAirRelativeHumidityMetadata' 3797 3798 CoolingTowerAirRelativeHumidityMsg: 3799 name: CoolingTowerAirRelativeHumidityMsg 3800 title: CoolingTower AirRelativeHumidity Metadata 3801 payload: 3802 $ref: '#/components/schemas/CoolingTowerAirRelativeHumidityMetadata' 3803 3804 HXAirRelativeHumidityMsg: 3805 name: HXAirRelativeHumidityMsg 3806 title: HX AirRelativeHumidity Metadata 3807 payload: 3808 $ref: '#/components/schemas/HXAirRelativeHumidityMetadata' 3809 3810 CRAHAirRelativeHumidityMsg: 3811 name: CRAHAirRelativeHumidityMsg 3812 title: CRAH AirRelativeHumidity Metadata 3813 payload: 3814 $ref: '#/components/schemas/CRAHAirRelativeHumidityMetadata' 3815 3816 CRACAirRelativeHumidityMsg: 3817 name: CRACAirRelativeHumidityMsg 3818 title: CRAC AirRelativeHumidity Metadata 3819 payload: 3820 $ref: '#/components/schemas/CRACAirRelativeHumidityMetadata' 3821 3822 AHUAirRelativeHumidityMsg: 3823 name: AHUAirRelativeHumidityMsg 3824 title: AHU AirRelativeHumidity Metadata 3825 payload: 3826 $ref: '#/components/schemas/AHUAirRelativeHumidityMetadata' 3827 3828 ChillerAirRelativeHumidityMsg: 3829 name: ChillerAirRelativeHumidityMsg 3830 title: Chiller AirRelativeHumidity Metadata 3831 payload: 3832 $ref: '#/components/schemas/ChillerAirRelativeHumidityMetadata' 3833 3834 TankAirRelativeHumidityMsg: 3835 name: TankAirRelativeHumidityMsg 3836 title: Tank AirRelativeHumidity Metadata 3837 payload: 3838 $ref: '#/components/schemas/TankAirRelativeHumidityMetadata' 3839 3840 SensorAirRelativeHumidityMsg: 3841 name: SensorAirRelativeHumidityMsg 3842 title: Sensor AirRelativeHumidity Metadata 3843 payload: 3844 $ref: '#/components/schemas/SensorAirRelativeHumidityMetadata' 3845 3846 GenericObjectAirRelativeHumidityMsg: 3847 name: GenericObjectAirRelativeHumidityMsg 3848 title: GenericObject AirRelativeHumidity Metadata 3849 payload: 3850 $ref: '#/components/schemas/GenericObjectAirRelativeHumidityMetadata' 3851 3852 RackLiquidDifferentialPressureSpMsg: 3853 name: RackLiquidDifferentialPressureSpMsg 3854 title: Rack RackLiquidDifferentialPressureSp Metadata 3855 payload: 3856 $ref: '#/components/schemas/RackLiquidDifferentialPressureSpMetadata' 3857 3858 CDULiquidTemperatureMsg: 3859 name: CDULiquidTemperatureMsg 3860 title: CDU LiquidTemperature Metadata 3861 payload: 3862 $ref: '#/components/schemas/CDULiquidTemperatureMetadata' 3863 3864 CDULiquidDifferentialPressureMsg: 3865 name: CDULiquidDifferentialPressureMsg 3866 title: CDU LiquidDifferentialPressure Metadata 3867 payload: 3868 $ref: '#/components/schemas/CDULiquidDifferentialPressureMetadata' 3869 3870 CDULiquidFlowMsg: 3871 name: CDULiquidFlowMsg 3872 title: CDU LiquidFlow Metadata 3873 payload: 3874 $ref: '#/components/schemas/CDULiquidFlowMetadata' 3875 3876 CDULiquidPressureMsg: 3877 name: CDULiquidPressureMsg 3878 title: CDU LiquidPressure Metadata 3879 payload: 3880 $ref: '#/components/schemas/CDULiquidPressureMetadata' 3881 3882 CDUStatusMsg: 3883 name: CDUStatusMsg 3884 title: CDU Status Metadata 3885 payload: 3886 $ref: '#/components/schemas/CDUStatusMetadata' 3887 3888 CDUAvailableMsg: 3889 name: CDUAvailableMsg 3890 title: CDU Available Metadata 3891 payload: 3892 $ref: '#/components/schemas/CDUAvailableMetadata' 3893 3894 CDUValvePositionMsg: 3895 name: CDUValvePositionMsg 3896 title: CDU ValvePosition Metadata 3897 payload: 3898 $ref: '#/components/schemas/CDUValvePositionMetadata' 3899 3900 CDUPumpSpeedMsg: 3901 name: CDUPumpSpeedMsg 3902 title: CDU PumpSpeed Metadata 3903 payload: 3904 $ref: '#/components/schemas/CDUPumpSpeedMetadata' 3905 3906 CDUFanSpeedMsg: 3907 name: CDUFanSpeedMsg 3908 title: CDU FanSpeed Metadata 3909 payload: 3910 $ref: '#/components/schemas/CDUFanSpeedMetadata' 3911 3912 CDUDamperPositionMsg: 3913 name: CDUDamperPositionMsg 3914 title: CDU DamperPosition Metadata 3915 payload: 3916 $ref: '#/components/schemas/CDUDamperPositionMetadata' 3917 3918 CDUAirTemperatureMsg: 3919 name: CDUAirTemperatureMsg 3920 title: CDU AirTemperature Metadata 3921 payload: 3922 $ref: '#/components/schemas/CDUAirTemperatureMetadata' 3923 3924 CDUAirDifferentialPressureMsg: 3925 name: CDUAirDifferentialPressureMsg 3926 title: CDU AirDifferentialPressure Metadata 3927 payload: 3928 $ref: '#/components/schemas/CDUAirDifferentialPressureMetadata' 3929 3930 CDUAirFlowMsg: 3931 name: CDUAirFlowMsg 3932 title: CDU AirFlow Metadata 3933 payload: 3934 $ref: '#/components/schemas/CDUAirFlowMetadata' 3935 3936 CDUAirPressureMsg: 3937 name: CDUAirPressureMsg 3938 title: CDU AirPressure Metadata 3939 payload: 3940 $ref: '#/components/schemas/CDUAirPressureMetadata' 3941 3942 CoolingTowerLiquidTemperatureMsg: 3943 name: CoolingTowerLiquidTemperatureMsg 3944 title: CoolingTower LiquidTemperature Metadata 3945 payload: 3946 $ref: '#/components/schemas/CoolingTowerLiquidTemperatureMetadata' 3947 3948 CoolingTowerLiquidDifferentialPressureMsg: 3949 name: CoolingTowerLiquidDifferentialPressureMsg 3950 title: CoolingTower LiquidDifferentialPressure Metadata 3951 payload: 3952 $ref: '#/components/schemas/CoolingTowerLiquidDifferentialPressureMetadata' 3953 3954 CoolingTowerLiquidFlowMsg: 3955 name: CoolingTowerLiquidFlowMsg 3956 title: CoolingTower LiquidFlow Metadata 3957 payload: 3958 $ref: '#/components/schemas/CoolingTowerLiquidFlowMetadata' 3959 3960 CoolingTowerLiquidPressureMsg: 3961 name: CoolingTowerLiquidPressureMsg 3962 title: CoolingTower LiquidPressure Metadata 3963 payload: 3964 $ref: '#/components/schemas/CoolingTowerLiquidPressureMetadata' 3965 3966 CoolingTowerStatusMsg: 3967 name: CoolingTowerStatusMsg 3968 title: CoolingTower Status Metadata 3969 payload: 3970 $ref: '#/components/schemas/CoolingTowerStatusMetadata' 3971 3972 CoolingTowerAvailableMsg: 3973 name: CoolingTowerAvailableMsg 3974 title: CoolingTower Available Metadata 3975 payload: 3976 $ref: '#/components/schemas/CoolingTowerAvailableMetadata' 3977 3978 CoolingTowerValvePositionMsg: 3979 name: CoolingTowerValvePositionMsg 3980 title: CoolingTower ValvePosition Metadata 3981 payload: 3982 $ref: '#/components/schemas/CoolingTowerValvePositionMetadata' 3983 3984 CoolingTowerPumpSpeedMsg: 3985 name: CoolingTowerPumpSpeedMsg 3986 title: CoolingTower PumpSpeed Metadata 3987 payload: 3988 $ref: '#/components/schemas/CoolingTowerPumpSpeedMetadata' 3989 3990 CoolingTowerFanSpeedMsg: 3991 name: CoolingTowerFanSpeedMsg 3992 title: CoolingTower FanSpeed Metadata 3993 payload: 3994 $ref: '#/components/schemas/CoolingTowerFanSpeedMetadata' 3995 3996 CoolingTowerDamperPositionMsg: 3997 name: CoolingTowerDamperPositionMsg 3998 title: CoolingTower DamperPosition Metadata 3999 payload: 4000 $ref: '#/components/schemas/CoolingTowerDamperPositionMetadata' 4001 4002 CoolingTowerAirTemperatureMsg: 4003 name: CoolingTowerAirTemperatureMsg 4004 title: CoolingTower AirTemperature Metadata 4005 payload: 4006 $ref: '#/components/schemas/CoolingTowerAirTemperatureMetadata' 4007 4008 CoolingTowerAirDifferentialPressureMsg: 4009 name: CoolingTowerAirDifferentialPressureMsg 4010 title: CoolingTower AirDifferentialPressure Metadata 4011 payload: 4012 $ref: '#/components/schemas/CoolingTowerAirDifferentialPressureMetadata' 4013 4014 CoolingTowerAirFlowMsg: 4015 name: CoolingTowerAirFlowMsg 4016 title: CoolingTower AirFlow Metadata 4017 payload: 4018 $ref: '#/components/schemas/CoolingTowerAirFlowMetadata' 4019 4020 CoolingTowerAirPressureMsg: 4021 name: CoolingTowerAirPressureMsg 4022 title: CoolingTower AirPressure Metadata 4023 payload: 4024 $ref: '#/components/schemas/CoolingTowerAirPressureMetadata' 4025 4026 HXLiquidTemperatureMsg: 4027 name: HXLiquidTemperatureMsg 4028 title: HX LiquidTemperature Metadata 4029 payload: 4030 $ref: '#/components/schemas/HXLiquidTemperatureMetadata' 4031 4032 HXLiquidDifferentialPressureMsg: 4033 name: HXLiquidDifferentialPressureMsg 4034 title: HX LiquidDifferentialPressure Metadata 4035 payload: 4036 $ref: '#/components/schemas/HXLiquidDifferentialPressureMetadata' 4037 4038 HXLiquidFlowMsg: 4039 name: HXLiquidFlowMsg 4040 title: HX LiquidFlow Metadata 4041 payload: 4042 $ref: '#/components/schemas/HXLiquidFlowMetadata' 4043 4044 HXLiquidPressureMsg: 4045 name: HXLiquidPressureMsg 4046 title: HX LiquidPressure Metadata 4047 payload: 4048 $ref: '#/components/schemas/HXLiquidPressureMetadata' 4049 4050 HXStatusMsg: 4051 name: HXStatusMsg 4052 title: HX Status Metadata 4053 payload: 4054 $ref: '#/components/schemas/HXStatusMetadata' 4055 4056 HXAvailableMsg: 4057 name: HXAvailableMsg 4058 title: HX Available Metadata 4059 payload: 4060 $ref: '#/components/schemas/HXAvailableMetadata' 4061 4062 HXValvePositionMsg: 4063 name: HXValvePositionMsg 4064 title: HX ValvePosition Metadata 4065 payload: 4066 $ref: '#/components/schemas/HXValvePositionMetadata' 4067 4068 HXPumpSpeedMsg: 4069 name: HXPumpSpeedMsg 4070 title: HX PumpSpeed Metadata 4071 payload: 4072 $ref: '#/components/schemas/HXPumpSpeedMetadata' 4073 4074 HXFanSpeedMsg: 4075 name: HXFanSpeedMsg 4076 title: HX FanSpeed Metadata 4077 payload: 4078 $ref: '#/components/schemas/HXFanSpeedMetadata' 4079 4080 HXDamperPositionMsg: 4081 name: HXDamperPositionMsg 4082 title: HX DamperPosition Metadata 4083 payload: 4084 $ref: '#/components/schemas/HXDamperPositionMetadata' 4085 4086 HXAirTemperatureMsg: 4087 name: HXAirTemperatureMsg 4088 title: HX AirTemperature Metadata 4089 payload: 4090 $ref: '#/components/schemas/HXAirTemperatureMetadata' 4091 4092 HXAirDifferentialPressureMsg: 4093 name: HXAirDifferentialPressureMsg 4094 title: HX AirDifferentialPressure Metadata 4095 payload: 4096 $ref: '#/components/schemas/HXAirDifferentialPressureMetadata' 4097 4098 HXAirFlowMsg: 4099 name: HXAirFlowMsg 4100 title: HX AirFlow Metadata 4101 payload: 4102 $ref: '#/components/schemas/HXAirFlowMetadata' 4103 4104 HXAirPressureMsg: 4105 name: HXAirPressureMsg 4106 title: HX AirPressure Metadata 4107 payload: 4108 $ref: '#/components/schemas/HXAirPressureMetadata' 4109 4110 CRAHLiquidTemperatureMsg: 4111 name: CRAHLiquidTemperatureMsg 4112 title: CRAH LiquidTemperature Metadata 4113 payload: 4114 $ref: '#/components/schemas/CRAHLiquidTemperatureMetadata' 4115 4116 CRAHLiquidDifferentialPressureMsg: 4117 name: CRAHLiquidDifferentialPressureMsg 4118 title: CRAH LiquidDifferentialPressure Metadata 4119 payload: 4120 $ref: '#/components/schemas/CRAHLiquidDifferentialPressureMetadata' 4121 4122 CRAHLiquidFlowMsg: 4123 name: CRAHLiquidFlowMsg 4124 title: CRAH LiquidFlow Metadata 4125 payload: 4126 $ref: '#/components/schemas/CRAHLiquidFlowMetadata' 4127 4128 CRAHLiquidPressureMsg: 4129 name: CRAHLiquidPressureMsg 4130 title: CRAH LiquidPressure Metadata 4131 payload: 4132 $ref: '#/components/schemas/CRAHLiquidPressureMetadata' 4133 4134 CRAHStatusMsg: 4135 name: CRAHStatusMsg 4136 title: CRAH Status Metadata 4137 payload: 4138 $ref: '#/components/schemas/CRAHStatusMetadata' 4139 4140 CRAHAvailableMsg: 4141 name: CRAHAvailableMsg 4142 title: CRAH Available Metadata 4143 payload: 4144 $ref: '#/components/schemas/CRAHAvailableMetadata' 4145 4146 CRAHValvePositionMsg: 4147 name: CRAHValvePositionMsg 4148 title: CRAH ValvePosition Metadata 4149 payload: 4150 $ref: '#/components/schemas/CRAHValvePositionMetadata' 4151 4152 CRAHPumpSpeedMsg: 4153 name: CRAHPumpSpeedMsg 4154 title: CRAH PumpSpeed Metadata 4155 payload: 4156 $ref: '#/components/schemas/CRAHPumpSpeedMetadata' 4157 4158 CRAHFanSpeedMsg: 4159 name: CRAHFanSpeedMsg 4160 title: CRAH FanSpeed Metadata 4161 payload: 4162 $ref: '#/components/schemas/CRAHFanSpeedMetadata' 4163 4164 CRAHDamperPositionMsg: 4165 name: CRAHDamperPositionMsg 4166 title: CRAH DamperPosition Metadata 4167 payload: 4168 $ref: '#/components/schemas/CRAHDamperPositionMetadata' 4169 4170 CRAHAirTemperatureMsg: 4171 name: CRAHAirTemperatureMsg 4172 title: CRAH AirTemperature Metadata 4173 payload: 4174 $ref: '#/components/schemas/CRAHAirTemperatureMetadata' 4175 4176 CRAHAirDifferentialPressureMsg: 4177 name: CRAHAirDifferentialPressureMsg 4178 title: CRAH AirDifferentialPressure Metadata 4179 payload: 4180 $ref: '#/components/schemas/CRAHAirDifferentialPressureMetadata' 4181 4182 CRAHAirFlowMsg: 4183 name: CRAHAirFlowMsg 4184 title: CRAH AirFlow Metadata 4185 payload: 4186 $ref: '#/components/schemas/CRAHAirFlowMetadata' 4187 4188 CRAHAirPressureMsg: 4189 name: CRAHAirPressureMsg 4190 title: CRAH AirPressure Metadata 4191 payload: 4192 $ref: '#/components/schemas/CRAHAirPressureMetadata' 4193 4194 CRACLiquidTemperatureMsg: 4195 name: CRACLiquidTemperatureMsg 4196 title: CRAC LiquidTemperature Metadata 4197 payload: 4198 $ref: '#/components/schemas/CRACLiquidTemperatureMetadata' 4199 4200 CRACLiquidDifferentialPressureMsg: 4201 name: CRACLiquidDifferentialPressureMsg 4202 title: CRAC LiquidDifferentialPressure Metadata 4203 payload: 4204 $ref: '#/components/schemas/CRACLiquidDifferentialPressureMetadata' 4205 4206 CRACLiquidFlowMsg: 4207 name: CRACLiquidFlowMsg 4208 title: CRAC LiquidFlow Metadata 4209 payload: 4210 $ref: '#/components/schemas/CRACLiquidFlowMetadata' 4211 4212 CRACLiquidPressureMsg: 4213 name: CRACLiquidPressureMsg 4214 title: CRAC LiquidPressure Metadata 4215 payload: 4216 $ref: '#/components/schemas/CRACLiquidPressureMetadata' 4217 4218 CRACStatusMsg: 4219 name: CRACStatusMsg 4220 title: CRAC Status Metadata 4221 payload: 4222 $ref: '#/components/schemas/CRACStatusMetadata' 4223 4224 CRACAvailableMsg: 4225 name: CRACAvailableMsg 4226 title: CRAC Available Metadata 4227 payload: 4228 $ref: '#/components/schemas/CRACAvailableMetadata' 4229 4230 CRACValvePositionMsg: 4231 name: CRACValvePositionMsg 4232 title: CRAC ValvePosition Metadata 4233 payload: 4234 $ref: '#/components/schemas/CRACValvePositionMetadata' 4235 4236 CRACPumpSpeedMsg: 4237 name: CRACPumpSpeedMsg 4238 title: CRAC PumpSpeed Metadata 4239 payload: 4240 $ref: '#/components/schemas/CRACPumpSpeedMetadata' 4241 4242 CRACFanSpeedMsg: 4243 name: CRACFanSpeedMsg 4244 title: CRAC FanSpeed Metadata 4245 payload: 4246 $ref: '#/components/schemas/CRACFanSpeedMetadata' 4247 4248 CRACDamperPositionMsg: 4249 name: CRACDamperPositionMsg 4250 title: CRAC DamperPosition Metadata 4251 payload: 4252 $ref: '#/components/schemas/CRACDamperPositionMetadata' 4253 4254 CRACAirTemperatureMsg: 4255 name: CRACAirTemperatureMsg 4256 title: CRAC AirTemperature Metadata 4257 payload: 4258 $ref: '#/components/schemas/CRACAirTemperatureMetadata' 4259 4260 CRACAirDifferentialPressureMsg: 4261 name: CRACAirDifferentialPressureMsg 4262 title: CRAC AirDifferentialPressure Metadata 4263 payload: 4264 $ref: '#/components/schemas/CRACAirDifferentialPressureMetadata' 4265 4266 CRACAirFlowMsg: 4267 name: CRACAirFlowMsg 4268 title: CRAC AirFlow Metadata 4269 payload: 4270 $ref: '#/components/schemas/CRACAirFlowMetadata' 4271 4272 CRACAirPressureMsg: 4273 name: CRACAirPressureMsg 4274 title: CRAC AirPressure Metadata 4275 payload: 4276 $ref: '#/components/schemas/CRACAirPressureMetadata' 4277 4278 AHULiquidTemperatureMsg: 4279 name: AHULiquidTemperatureMsg 4280 title: AHU LiquidTemperature Metadata 4281 payload: 4282 $ref: '#/components/schemas/AHULiquidTemperatureMetadata' 4283 4284 AHULiquidDifferentialPressureMsg: 4285 name: AHULiquidDifferentialPressureMsg 4286 title: AHU LiquidDifferentialPressure Metadata 4287 payload: 4288 $ref: '#/components/schemas/AHULiquidDifferentialPressureMetadata' 4289 4290 AHULiquidFlowMsg: 4291 name: AHULiquidFlowMsg 4292 title: AHU LiquidFlow Metadata 4293 payload: 4294 $ref: '#/components/schemas/AHULiquidFlowMetadata' 4295 4296 AHULiquidPressureMsg: 4297 name: AHULiquidPressureMsg 4298 title: AHU LiquidPressure Metadata 4299 payload: 4300 $ref: '#/components/schemas/AHULiquidPressureMetadata' 4301 4302 AHUStatusMsg: 4303 name: AHUStatusMsg 4304 title: AHU Status Metadata 4305 payload: 4306 $ref: '#/components/schemas/AHUStatusMetadata' 4307 4308 AHUAvailableMsg: 4309 name: AHUAvailableMsg 4310 title: AHU Available Metadata 4311 payload: 4312 $ref: '#/components/schemas/AHUAvailableMetadata' 4313 4314 AHUValvePositionMsg: 4315 name: AHUValvePositionMsg 4316 title: AHU ValvePosition Metadata 4317 payload: 4318 $ref: '#/components/schemas/AHUValvePositionMetadata' 4319 4320 AHUPumpSpeedMsg: 4321 name: AHUPumpSpeedMsg 4322 title: AHU PumpSpeed Metadata 4323 payload: 4324 $ref: '#/components/schemas/AHUPumpSpeedMetadata' 4325 4326 AHUFanSpeedMsg: 4327 name: AHUFanSpeedMsg 4328 title: AHU FanSpeed Metadata 4329 payload: 4330 $ref: '#/components/schemas/AHUFanSpeedMetadata' 4331 4332 AHUDamperPositionMsg: 4333 name: AHUDamperPositionMsg 4334 title: AHU DamperPosition Metadata 4335 payload: 4336 $ref: '#/components/schemas/AHUDamperPositionMetadata' 4337 4338 AHUAirTemperatureMsg: 4339 name: AHUAirTemperatureMsg 4340 title: AHU AirTemperature Metadata 4341 payload: 4342 $ref: '#/components/schemas/AHUAirTemperatureMetadata' 4343 4344 AHUAirDifferentialPressureMsg: 4345 name: AHUAirDifferentialPressureMsg 4346 title: AHU AirDifferentialPressure Metadata 4347 payload: 4348 $ref: '#/components/schemas/AHUAirDifferentialPressureMetadata' 4349 4350 AHUAirFlowMsg: 4351 name: AHUAirFlowMsg 4352 title: AHU AirFlow Metadata 4353 payload: 4354 $ref: '#/components/schemas/AHUAirFlowMetadata' 4355 4356 AHUAirPressureMsg: 4357 name: AHUAirPressureMsg 4358 title: AHU AirPressure Metadata 4359 payload: 4360 $ref: '#/components/schemas/AHUAirPressureMetadata' 4361 4362 ChillerLiquidTemperatureMsg: 4363 name: ChillerLiquidTemperatureMsg 4364 title: Chiller LiquidTemperature Metadata 4365 payload: 4366 $ref: '#/components/schemas/ChillerLiquidTemperatureMetadata' 4367 4368 ChillerLiquidDifferentialPressureMsg: 4369 name: ChillerLiquidDifferentialPressureMsg 4370 title: Chiller LiquidDifferentialPressure Metadata 4371 payload: 4372 $ref: '#/components/schemas/ChillerLiquidDifferentialPressureMetadata' 4373 4374 ChillerLiquidFlowMsg: 4375 name: ChillerLiquidFlowMsg 4376 title: Chiller LiquidFlow Metadata 4377 payload: 4378 $ref: '#/components/schemas/ChillerLiquidFlowMetadata' 4379 4380 ChillerLiquidPressureMsg: 4381 name: ChillerLiquidPressureMsg 4382 title: Chiller LiquidPressure Metadata 4383 payload: 4384 $ref: '#/components/schemas/ChillerLiquidPressureMetadata' 4385 4386 ChillerStatusMsg: 4387 name: ChillerStatusMsg 4388 title: Chiller Status Metadata 4389 payload: 4390 $ref: '#/components/schemas/ChillerStatusMetadata' 4391 4392 ChillerAvailableMsg: 4393 name: ChillerAvailableMsg 4394 title: Chiller Available Metadata 4395 payload: 4396 $ref: '#/components/schemas/ChillerAvailableMetadata' 4397 4398 ChillerValvePositionMsg: 4399 name: ChillerValvePositionMsg 4400 title: Chiller ValvePosition Metadata 4401 payload: 4402 $ref: '#/components/schemas/ChillerValvePositionMetadata' 4403 4404 ChillerPumpSpeedMsg: 4405 name: ChillerPumpSpeedMsg 4406 title: Chiller PumpSpeed Metadata 4407 payload: 4408 $ref: '#/components/schemas/ChillerPumpSpeedMetadata' 4409 4410 ChillerFanSpeedMsg: 4411 name: ChillerFanSpeedMsg 4412 title: Chiller FanSpeed Metadata 4413 payload: 4414 $ref: '#/components/schemas/ChillerFanSpeedMetadata' 4415 4416 ChillerDamperPositionMsg: 4417 name: ChillerDamperPositionMsg 4418 title: Chiller DamperPosition Metadata 4419 payload: 4420 $ref: '#/components/schemas/ChillerDamperPositionMetadata' 4421 4422 ChillerAirTemperatureMsg: 4423 name: ChillerAirTemperatureMsg 4424 title: Chiller AirTemperature Metadata 4425 payload: 4426 $ref: '#/components/schemas/ChillerAirTemperatureMetadata' 4427 4428 ChillerAirDifferentialPressureMsg: 4429 name: ChillerAirDifferentialPressureMsg 4430 title: Chiller AirDifferentialPressure Metadata 4431 payload: 4432 $ref: '#/components/schemas/ChillerAirDifferentialPressureMetadata' 4433 4434 ChillerAirFlowMsg: 4435 name: ChillerAirFlowMsg 4436 title: Chiller AirFlow Metadata 4437 payload: 4438 $ref: '#/components/schemas/ChillerAirFlowMetadata' 4439 4440 ChillerAirPressureMsg: 4441 name: ChillerAirPressureMsg 4442 title: Chiller AirPressure Metadata 4443 payload: 4444 $ref: '#/components/schemas/ChillerAirPressureMetadata' 4445 GenericEquipmentPointMsg: 4446 name: GenericEquipmentPointMsg 4447 title: GenericEquipment GenericPoint Metadata 4448 payload: 4449 $ref: '#/components/schemas/GenericEquipmentPointMetadata' 4450 4451 # Generic PowerMeter 4452 GenericPowerMeterPointMsg: 4453 name: GenericPowerMeterPointMsg 4454 title: PowerMeter GenericPoint Metadata 4455 payload: 4456 $ref: '#/components/schemas/GenericPowerMeterPointMetadata' 4457 4458 # Tank 4459 TankLiquidTemperatureMsg: 4460 name: TankLiquidTemperatureMsg 4461 title: Tank LiquidTemperature Metadata 4462 payload: 4463 $ref: '#/components/schemas/TankLiquidTemperatureMetadata' 4464 4465 TankLiquidDifferentialPressureMsg: 4466 name: TankLiquidDifferentialPressureMsg 4467 title: Tank LiquidDifferentialPressure Metadata 4468 payload: 4469 $ref: '#/components/schemas/TankLiquidDifferentialPressureMetadata' 4470 4471 TankLiquidFlowMsg: 4472 name: TankLiquidFlowMsg 4473 title: Tank LiquidFlow Metadata 4474 payload: 4475 $ref: '#/components/schemas/TankLiquidFlowMetadata' 4476 4477 TankLiquidPressureMsg: 4478 name: TankLiquidPressureMsg 4479 title: Tank LiquidPressure Metadata 4480 payload: 4481 $ref: '#/components/schemas/TankLiquidPressureMetadata' 4482 4483 TankStatusMsg: 4484 name: TankStatusMsg 4485 title: Tank Status Metadata 4486 payload: 4487 $ref: '#/components/schemas/TankStatusMetadata' 4488 4489 TankAvailableMsg: 4490 name: TankAvailableMsg 4491 title: Tank Available Metadata 4492 payload: 4493 $ref: '#/components/schemas/TankAvailableMetadata' 4494 4495 TankValvePositionMsg: 4496 name: TankValvePositionMsg 4497 title: Tank ValvePosition Metadata 4498 payload: 4499 $ref: '#/components/schemas/TankValvePositionMetadata' 4500 4501 TankPumpSpeedMsg: 4502 name: TankPumpSpeedMsg 4503 title: Tank PumpSpeed Metadata 4504 payload: 4505 $ref: '#/components/schemas/TankPumpSpeedMetadata' 4506 4507 TankFanSpeedMsg: 4508 name: TankFanSpeedMsg 4509 title: Tank FanSpeed Metadata 4510 payload: 4511 $ref: '#/components/schemas/TankFanSpeedMetadata' 4512 4513 TankDamperPositionMsg: 4514 name: TankDamperPositionMsg 4515 title: Tank DamperPosition Metadata 4516 payload: 4517 $ref: '#/components/schemas/TankDamperPositionMetadata' 4518 4519 TankAirTemperatureMsg: 4520 name: TankAirTemperatureMsg 4521 title: Tank AirTemperature Metadata 4522 payload: 4523 $ref: '#/components/schemas/TankAirTemperatureMetadata' 4524 4525 TankAirDifferentialPressureMsg: 4526 name: TankAirDifferentialPressureMsg 4527 title: Tank AirDifferentialPressure Metadata 4528 payload: 4529 $ref: '#/components/schemas/TankAirDifferentialPressureMetadata' 4530 4531 TankAirFlowMsg: 4532 name: TankAirFlowMsg 4533 title: Tank AirFlow Metadata 4534 payload: 4535 $ref: '#/components/schemas/TankAirFlowMetadata' 4536 4537 TankAirPressureMsg: 4538 name: TankAirPressureMsg 4539 title: Tank AirPressure Metadata 4540 payload: 4541 $ref: '#/components/schemas/TankAirPressureMetadata' 4542 4543 # GenericObject 4544 GenericObjectLiquidTemperatureMsg: 4545 name: GenericObjectLiquidTemperatureMsg 4546 title: GenericObject LiquidTemperature Metadata 4547 payload: 4548 $ref: '#/components/schemas/GenericObjectLiquidTemperatureMetadata' 4549 4550 GenericObjectLiquidDifferentialPressureMsg: 4551 name: GenericObjectLiquidDifferentialPressureMsg 4552 title: GenericObject LiquidDifferentialPressure Metadata 4553 payload: 4554 $ref: '#/components/schemas/GenericObjectLiquidDifferentialPressureMetadata' 4555 4556 GenericObjectLiquidFlowMsg: 4557 name: GenericObjectLiquidFlowMsg 4558 title: GenericObject LiquidFlow Metadata 4559 payload: 4560 $ref: '#/components/schemas/GenericObjectLiquidFlowMetadata' 4561 4562 GenericObjectLiquidPressureMsg: 4563 name: GenericObjectLiquidPressureMsg 4564 title: GenericObject LiquidPressure Metadata 4565 payload: 4566 $ref: '#/components/schemas/GenericObjectLiquidPressureMetadata' 4567 4568 GenericObjectStatusMsg: 4569 name: GenericObjectStatusMsg 4570 title: GenericObject Status Metadata 4571 payload: 4572 $ref: '#/components/schemas/GenericObjectStatusMetadata' 4573 4574 GenericObjectAvailableMsg: 4575 name: GenericObjectAvailableMsg 4576 title: GenericObject Available Metadata 4577 payload: 4578 $ref: '#/components/schemas/GenericObjectAvailableMetadata' 4579 4580 GenericObjectValvePositionMsg: 4581 name: GenericObjectValvePositionMsg 4582 title: GenericObject ValvePosition Metadata 4583 payload: 4584 $ref: '#/components/schemas/GenericObjectValvePositionMetadata' 4585 4586 GenericObjectPumpSpeedMsg: 4587 name: GenericObjectPumpSpeedMsg 4588 title: GenericObject PumpSpeed Metadata 4589 payload: 4590 $ref: '#/components/schemas/GenericObjectPumpSpeedMetadata' 4591 4592 GenericObjectFanSpeedMsg: 4593 name: GenericObjectFanSpeedMsg 4594 title: GenericObject FanSpeed Metadata 4595 payload: 4596 $ref: '#/components/schemas/GenericObjectFanSpeedMetadata' 4597 4598 GenericObjectDamperPositionMsg: 4599 name: GenericObjectDamperPositionMsg 4600 title: GenericObject DamperPosition Metadata 4601 payload: 4602 $ref: '#/components/schemas/GenericObjectDamperPositionMetadata' 4603 4604 GenericObjectAirTemperatureMsg: 4605 name: GenericObjectAirTemperatureMsg 4606 title: GenericObject AirTemperature Metadata 4607 payload: 4608 $ref: '#/components/schemas/GenericObjectAirTemperatureMetadata' 4609 4610 GenericObjectAirDifferentialPressureMsg: 4611 name: GenericObjectAirDifferentialPressureMsg 4612 title: GenericObject AirDifferentialPressure Metadata 4613 payload: 4614 $ref: '#/components/schemas/GenericObjectAirDifferentialPressureMetadata' 4615 4616 GenericObjectAirFlowMsg: 4617 name: GenericObjectAirFlowMsg 4618 title: GenericObject AirFlow Metadata 4619 payload: 4620 $ref: '#/components/schemas/GenericObjectAirFlowMetadata' 4621 4622 GenericObjectAirPressureMsg: 4623 name: GenericObjectAirPressureMsg 4624 title: GenericObject AirPressure Metadata 4625 payload: 4626 $ref: '#/components/schemas/GenericObjectAirPressureMetadata' 4627 4628 GenericObjectLiquidTemperatureSpRequestMsg: 4629 name: GenericObjectLiquidTemperatureSpRequestMsg 4630 title: GenericObject LiquidTemperatureSpRequest Metadata 4631 payload: 4632 $ref: '#/components/schemas/GenericObjectLiquidTemperatureSpRequestMetadata' 4633 4634 GenericObjectSoundMsg: 4635 name: GenericObjectSoundMsg 4636 title: GenericObject Sound Metadata 4637 payload: 4638 $ref: '#/components/schemas/GenericObjectSoundMetadata' 4639 4640 schemas: 4641 4642 # ========================================================================= 4643 # SECTION 1 — Primitive building-block schemas 4644 # 4645 # Every field in an allOf/oneOf is a named $ref — no anonymous schemas. 4646 # Naming convention: 4647 # *Identifiers — the object-identity fields added by a base schema 4648 # *Fields — the pointType-specific fields (pointType enum + engUnit) 4649 # *Mode — a oneOf variant for identifier selection (named-object or associate) 4650 # *CommonFields — optional fields shared across a category 4651 # ========================================================================= 4652 4653 # ------------------------------------------------------------------------- 4654 # 1a. Shared primitives 4655 # ------------------------------------------------------------------------- 4656 4657 MetadataBase: 4658 type: object 4659 description: Minimum fields present on every metadata message. 4660 required: 4661 - objectType 4662 - pointType 4663 properties: 4664 objectType: 4665 type: string 4666 description: Canonical object type. Matches the objectType MQTT topic segment. 4667 pointType: 4668 type: string 4669 description: Canonical point type. Matches the pointType MQTT topic segment. 4670 4671 IntegrationPublisherFields: 4672 type: object 4673 description: > 4674 Fields added to metadata for integration-published points. Integrations 4675 MUST publish values to the exact topic corresponding to `integration` — do not construct it 4676 independently. 4677 required: 4678 - integration 4679 properties: 4680 integration: 4681 type: string 4682 description: Integration identifier responsible for publishing this value. 4683 4684 StateTextField: 4685 type: object 4686 description: Required for state/status/alarm points that carry no engineering unit. 4687 required: 4688 - stateText 4689 properties: 4690 stateText: 4691 type: array 4692 description: > 4693 State label mapping. Each entry maps a numeric state value to its 4694 human-readable label (e.g., `[{value: 0, text: "Off"}, {value: 1, text: "On"}]`). 4695 items: 4696 type: object 4697 required: [value, text] 4698 properties: 4699 value: 4700 type: integer 4701 description: Numeric state value. 4702 text: 4703 type: string 4704 description: Human-readable label for this state. 4705 additionalProperties: false 4706 4707 EquipmentPointEngUnit: 4708 type: object 4709 description: Requires a non-empty engUnit string (mutually exclusive with stateText). 4710 required: 4711 - engUnit 4712 properties: 4713 engUnit: 4714 type: string 4715 description: Engineering unit for the measurement. 4716 4717 EquipmentMeasurementModeBase: 4718 description: > 4719 Base for equipment measurement metadata. Two independent XOR constraints apply: 4720 - Identifier: named-object mode (objectName + objectId required, 4721 associateId prohibited) XOR associate mode (associateId required, no objectName/objectId). 4722 - Measurement: engUnit required XOR stateText required. 4723 These two constraints are fully independent — all four combinations are valid. 4724 Combines MetadataBase, EquipmentCommonFields, and both independent oneOf constraints. 4725 allOf: 4726 - $ref: '#/components/schemas/MetadataBase' 4727 - $ref: '#/components/schemas/EquipmentCommonFields' 4728 - oneOf: 4729 - $ref: '#/components/schemas/EquipmentNamedObjectMode' 4730 - $ref: '#/components/schemas/EquipmentAssociateMode' 4731 - oneOf: 4732 - $ref: '#/components/schemas/EquipmentPointEngUnit' 4733 - $ref: '#/components/schemas/StateTextField' 4734 4735 # ------------------------------------------------------------------------- 4736 # 1b. Rack identifier fragment 4737 # ------------------------------------------------------------------------- 4738 4739 rackLocationIdentifiers: 4740 type: object 4741 description: Rack-specific identifier fields added to all Rack metadata messages. 4742 required: 4743 - rackLocationName 4744 - rackLocationId 4745 properties: 4746 rackLocationName: 4747 type: string 4748 description: Human-readable rack name as defined by the BMS. 4749 rackLocationId: 4750 type: string 4751 description: Stable unique identifier for the rack. 4752 4753 # ------------------------------------------------------------------------- 4754 # 1c. PowerMeter identifier fragment 4755 # ------------------------------------------------------------------------- 4756 4757 PowerMeterIdentifiers: 4758 type: object 4759 description: PowerMeter-specific identifier fields added to all PowerMeter metadata messages. 4760 required: 4761 - objectName 4762 - objectId 4763 - servesId 4764 properties: 4765 objectName: 4766 type: string 4767 description: Human-readable name of the electrical device. 4768 objectId: 4769 type: string 4770 description: Stable unique identifier for the electrical device. 4771 servesId: 4772 type: array 4773 items: 4774 type: string 4775 description: List of objectIds of entities served by this power meter. 4776 4777 # ------------------------------------------------------------------------- 4778 # 1d. Generic Equipment identifier fragments 4779 # ------------------------------------------------------------------------- 4780 4781 EquipmentCommonFields: 4782 type: object 4783 description: > 4784 Optional fields common to all generic equipment metadata, regardless 4785 of identifier mode. 4786 properties: 4787 processArea: 4788 type: array 4789 items: 4790 type: string 4791 description: > 4792 List of process areas or sub-system locations within the 4793 equipment 4794 4795 EquipmentNamedObjectMode: 4796 type: object 4797 description: | 4798 **Object Mode**: use when the object is identified directly 4799 by name and ID. 4800 4801 - `objectName` and `objectId` are **required**. 4802 - `servesId` is **optional** in Named-object mode. 4803 - `associateId` must **not** be present. 4804 4805 Incompatible with `EquipmentAssociateMode` — validators enforce this via 4806 the parent `oneOf`. 4807 required: 4808 - objectName 4809 - objectId 4810 properties: 4811 objectName: 4812 type: string 4813 description: Human-readable equipment name. 4814 objectId: 4815 type: string 4816 description: Stable unique identifier for the equipment. 4817 servesId: 4818 type: array 4819 items: 4820 type: string 4821 description: > 4822 Optional list of objectIds of entities this equipment serves. Only valid in Named-object mode. 4823 Only valid in Named-object mode — must not appear in Associate mode. 4824 not: 4825 properties: 4826 associateId: 4827 type: string 4828 required: 4829 - associateId 4830 4831 EquipmentAssociateMode: 4832 type: object 4833 description: | 4834 *Associate Mode*: use when the object is referenced via an 4835 association identifier. 4836 4837 - `associateId` is **required**. 4838 - `objectName`, `objectId`, and `servesId` must **not** be present. 4839 4840 Incompatible with `EquipmentNamedObjectMode` — validators enforce this 4841 via the parent `oneOf`. 4842 required: 4843 - associateId 4844 properties: 4845 associateId: 4846 type: string 4847 description: Identifier of the associated entity. 4848 not: 4849 anyOf: 4850 - properties: 4851 objectName: 4852 type: string 4853 required: 4854 - objectName 4855 - properties: 4856 objectId: 4857 type: string 4858 required: 4859 - objectId 4860 - properties: 4861 servesId: 4862 type: array 4863 items: 4864 type: string 4865 required: 4866 - servesId 4867 4868 EquipmentIntegrationIdentifierFields: 4869 type: object 4870 description: > 4871 Extends EquipmentIntegrationMetadataBase: adds `integration` for integration-published equipment points. 4872 required: 4873 - integration 4874 properties: 4875 integration: 4876 type: string 4877 description: Integration responsible for publishing this value. 4878 4879 # ------------------------------------------------------------------------- 4880 # 1e. System identifier fragments 4881 # ------------------------------------------------------------------------- 4882 4883 SystemIntegrationIdentifiers: 4884 type: object 4885 description: > 4886 Required `integration` field for integration-published System 4887 metadata messages. 4888 required: 4889 - integration 4890 properties: 4891 integration: 4892 type: string 4893 description: Integration identifier. 4894 4895 # ========================================================================= 4896 # SECTION 2 — Composed base schemas 4897 # 4898 # Each allOf element is a named $ref — no anonymous schemas. 4899 # ========================================================================= 4900 4901 RackMetadataBase: 4902 description: > 4903 Composed base for all BMS-published Rack metadata messages. 4904 Combines MetadataBase with rackLocationIdentifiers. 4905 allOf: 4906 - $ref: '#/components/schemas/MetadataBase' 4907 - $ref: '#/components/schemas/rackLocationIdentifiers' 4908 4909 RackIntegrationMetadataBase: 4910 description: > 4911 Composed base for Integration-published Rack metadata messages. 4912 Extends RackMetadataBase with IntegrationPublisherFields. 4913 allOf: 4914 - $ref: '#/components/schemas/RackMetadataBase' 4915 - $ref: '#/components/schemas/IntegrationPublisherFields' 4916 4917 PowerMeterMetadataBase: 4918 description: > 4919 Composed base for all PowerMeter metadata messages. 4920 Combines MetadataBase with PowerMeterIdentifiers. 4921 allOf: 4922 - $ref: '#/components/schemas/MetadataBase' 4923 - $ref: '#/components/schemas/PowerMeterIdentifiers' 4924 4925 EquipmentMetadataBase: 4926 description: | 4927 Composed base for all generic equipment metadata. 4928 4929 Combines MetadataBase + EquipmentCommonFields + exactly one identifier 4930 mode from the `oneOf`: 4931 - **ObjectMode**: objectName + objectId required, 4932 servesId optional, associateId prohibited. 4933 - **Associate Mode**: associateId required, all name/id/serves 4934 fields prohibited. 4935 allOf: 4936 - $ref: '#/components/schemas/MetadataBase' 4937 - $ref: '#/components/schemas/EquipmentCommonFields' 4938 - oneOf: 4939 - $ref: '#/components/schemas/EquipmentNamedObjectMode' 4940 - $ref: '#/components/schemas/EquipmentAssociateMode' 4941 4942 EquipmentIntegrationMetadataBase: 4943 description: > 4944 Extends EquipmentMetadataBase for integration-published equipment points. 4945 Adds EquipmentIntegrationIdentifierFields (integration required). 4946 allOf: 4947 - $ref: '#/components/schemas/EquipmentMetadataBase' 4948 - $ref: '#/components/schemas/EquipmentIntegrationIdentifierFields' 4949 4950 SystemIntegrationMetadataBase: 4951 description: > 4952 Composed base for Integration-published System metadata messages. 4953 Combines MetadataBase with SystemIntegrationIdentifiers. 4954 allOf: 4955 - $ref: '#/components/schemas/MetadataBase' 4956 - $ref: '#/components/schemas/SystemIntegrationIdentifiers' 4957 4958 # ========================================================================= 4959 # SECTION 3 — PointType enum schemas (for code generation / validation) 4960 # ========================================================================= 4961 4962 RackBmsPointType: 4963 type: string 4964 description: Valid pointType values for BMS-published Rack points. 4965 enum: 4966 - RackLiquidSupplyTemperature 4967 - RackLiquidReturnTemperature 4968 - RackLiquidFlow 4969 - RackLiquidDifferentialPressure 4970 - RackLiquidDifferentialPressureSp 4971 - RackControlValvePosition 4972 - RackPower 4973 - RackLeakDetect 4974 - RackLeakSensorFault 4975 - RackLiquidIsolationStatus 4976 - RackElectricalIsolationStatus 4977 4978 RackIntegrationPointType: 4979 type: string 4980 description: Valid pointType values for Integration-published Rack points. 4981 enum: 4982 - RackLeakDetectTray 4983 - RackLiquidIsolationRequest 4984 - RackElectricalIsolationRequest 4985 4986 PowerMeterPointType: 4987 type: string 4988 description: Valid pointType values for PowerMeter points (all BMS-published). 4989 enum: 4990 - Voltage 4991 - PowerFactor 4992 - Frequency 4993 - ApparentPower 4994 - ActivePower 4995 - Current 4996 - CurrentLimit 4997 - PhaseCurrent 4998 4999 EquipmentBmsPointType: 5000 type: string 5001 description: Valid pointType values for BMS-published generic equipment points. 5002 enum: 5003 - LiquidTemperature 5004 - LiquidDifferentialPressure 5005 - LiquidFlow 5006 - LiquidPressure 5007 - Status 5008 - Available 5009 - ValvePosition 5010 - PumpSpeed 5011 - FanSpeed 5012 - DamperPosition 5013 - AirTemperature 5014 - AirDifferentialPressure 5015 - AirFlow 5016 - AirPressure 5017 - Sound 5018 - GenericPoint 5019 5020 EquipmentIntegrationPointType: 5021 type: string 5022 description: Valid pointType values for Integration-published generic equipment points. 5023 enum: 5024 - LiquidTemperatureSpRequest 5025 - GenericPoint 5026 5027 EquipmentObjectType: 5028 type: string 5029 description: Valid objectType values for generic equipment channels. 5030 enum: 5031 - CDU 5032 - CoolingTower 5033 - HX 5034 - CRAH 5035 - CRAC 5036 - AHU 5037 - Chiller 5038 - BESS 5039 - UPS 5040 - ATS 5041 - Generator 5042 - Shunt 5043 - Breaker 5044 - Valve 5045 - Pump 5046 - Fan 5047 - Damper 5048 - Sensor 5049 - Tank 5050 - GenericObject 5051 5052 SystemBmsPointType: 5053 type: string 5054 description: Valid pointType values for BMS-published System points. 5055 enum: 5056 - HeartbeatTimestampBms 5057 - HeartbeatEchoBms 5058 - Status 5059 - Available 5060 - GenericPoint 5061 5062 SystemIntegrationPointType: 5063 type: string 5064 description: Valid pointType values for Integration-published System points. 5065 enum: 5066 - HeartbeatTimestampIntegration 5067 - HeartbeatEchoIntegration 5068 - Status 5069 - Available 5070 - GenericPoint 5071 5072 # ========================================================================= 5073 # SECTION 4 — Per-pointType field fragments 5074 # 5075 # Each fragment captures only what differs per pointType: 5076 # a pointType enum constraint and (where applicable) an engUnit enum. 5077 # These are referenced as the second allOf element in each *Metadata schema. 5078 # ========================================================================= 5079 5080 # --- Rack fields --------------------------------------------------------- 5081 5082 RackLiquidSupplyTemperatureFields: 5083 type: object 5084 required: [engUnit] 5085 properties: 5086 pointType: 5087 type: string 5088 enum: [RackLiquidSupplyTemperature] 5089 objectType: 5090 type: string 5091 enum: [Rack] 5092 engUnit: 5093 type: string 5094 enum: [C] 5095 5096 RackLiquidReturnTemperatureFields: 5097 type: object 5098 required: [engUnit] 5099 properties: 5100 pointType: 5101 type: string 5102 enum: [RackLiquidReturnTemperature] 5103 objectType: 5104 type: string 5105 enum: [Rack] 5106 engUnit: 5107 type: string 5108 enum: [C] 5109 5110 RackLiquidFlowFields: 5111 type: object 5112 required: [engUnit] 5113 properties: 5114 pointType: 5115 type: string 5116 enum: [RackLiquidFlow] 5117 objectType: 5118 type: string 5119 enum: [Rack] 5120 engUnit: 5121 type: string 5122 enum: [LPM] 5123 5124 RackLiquidDifferentialPressureFields: 5125 type: object 5126 required: [engUnit] 5127 properties: 5128 pointType: 5129 type: string 5130 enum: [RackLiquidDifferentialPressure] 5131 objectType: 5132 type: string 5133 enum: [Rack] 5134 engUnit: 5135 type: string 5136 enum: [kPa] 5137 5138 RackControlValvePositionFields: 5139 type: object 5140 required: [engUnit] 5141 properties: 5142 pointType: 5143 type: string 5144 enum: [RackControlValvePosition] 5145 objectType: 5146 type: string 5147 enum: [Rack] 5148 engUnit: 5149 type: string 5150 enum: ['%'] 5151 5152 RackPowerFields: 5153 type: object 5154 required: [engUnit] 5155 properties: 5156 pointType: 5157 type: string 5158 enum: [RackPower] 5159 objectType: 5160 type: string 5161 enum: [Rack] 5162 engUnit: 5163 type: string 5164 enum: [kW] 5165 5166 RackLeakDetectFields: 5167 type: object 5168 description: '0 = No Leak, 1 = Leak. No engUnit.' 5169 required: 5170 - stateText 5171 properties: 5172 pointType: 5173 type: string 5174 enum: [RackLeakDetect] 5175 objectType: 5176 type: string 5177 enum: [Rack] 5178 stateText: 5179 type: array 5180 description: > 5181 State label mapping for leak detection. 5182 items: 5183 type: object 5184 required: [value, text] 5185 properties: 5186 value: 5187 type: integer 5188 description: Numeric state value. 5189 text: 5190 type: string 5191 description: Human-readable label for this state. 5192 additionalProperties: false 5193 examples: 5194 - 5195 - value: 0 5196 text: "NoLeak" 5197 - value: 1 5198 text: "Leak" 5199 5200 RackLeakSensorFaultFields: 5201 type: object 5202 description: '0 = No Fault, 1 = Fault. No engUnit.' 5203 required: 5204 - stateText 5205 properties: 5206 pointType: 5207 type: string 5208 enum: [RackLeakSensorFault] 5209 objectType: 5210 type: string 5211 enum: [Rack] 5212 stateText: 5213 type: array 5214 description: > 5215 State label mapping for leak sensor fault status. 5216 items: 5217 type: object 5218 required: [value, text] 5219 properties: 5220 value: 5221 type: integer 5222 description: Numeric state value. 5223 text: 5224 type: string 5225 description: Human-readable label for this state. 5226 additionalProperties: false 5227 examples: 5228 - 5229 - value: 0 5230 text: "NoFault" 5231 - value: 1 5232 text: "Fault" 5233 5234 RackLiquidIsolationStatusFields: 5235 type: object 5236 description: '0=NotIsolated, 1=Isolated. No engUnit.' 5237 required: 5238 - stateText 5239 properties: 5240 pointType: 5241 type: string 5242 enum: [RackLiquidIsolationStatus] 5243 objectType: 5244 type: string 5245 enum: [Rack] 5246 stateText: 5247 type: array 5248 description: > 5249 State label mapping for liquid isolation status. 5250 items: 5251 type: object 5252 required: [value, text] 5253 properties: 5254 value: 5255 type: integer 5256 description: Numeric state value. 5257 text: 5258 type: string 5259 description: Human-readable label for this state. 5260 additionalProperties: false 5261 examples: 5262 - 5263 - value: 0 5264 text: "NotIsolated" 5265 - value: 1 5266 text: "Isolated" 5267 5268 RackElectricalIsolationStatusFields: 5269 type: object 5270 description: '0 = NotIsolated, 1 = Isolated. No engUnit.' 5271 required: 5272 - stateText 5273 properties: 5274 pointType: 5275 type: string 5276 enum: [RackElectricalIsolationStatus] 5277 objectType: 5278 type: string 5279 enum: [Rack] 5280 stateText: 5281 type: array 5282 description: > 5283 State label mapping for electrical isolation status. 5284 items: 5285 type: object 5286 required: [value, text] 5287 properties: 5288 value: 5289 type: integer 5290 description: Numeric state value. 5291 text: 5292 type: string 5293 description: Human-readable label for this state. 5294 additionalProperties: false 5295 examples: 5296 - 5297 - value: 0 5298 text: "NotIsolated" 5299 - value: 1 5300 text: "Isolated" 5301 5302 RackLeakDetectTrayFields: 5303 type: object 5304 description: '0 = No Leak, 1 = Leak (tray sensor). No engUnit. Integration-published value.' 5305 required: 5306 - stateText 5307 properties: 5308 pointType: 5309 type: string 5310 enum: [RackLeakDetectTray] 5311 objectType: 5312 type: string 5313 enum: [Rack] 5314 stateText: 5315 type: array 5316 description: > 5317 State label mapping for tray leak detection. 5318 items: 5319 type: object 5320 required: [value, text] 5321 properties: 5322 value: 5323 type: integer 5324 description: Numeric state value. 5325 text: 5326 type: string 5327 description: Human-readable label for this state. 5328 additionalProperties: false 5329 examples: 5330 - 5331 - value: 0 5332 text: "NoLeak" 5333 - value: 1 5334 text: "Leak" 5335 5336 RackLiquidIsolationRequestFields: 5337 type: object 5338 description: '0 = Not Requested, 1 = Requested, -1 = Unknown. Integration-published value.' 5339 required: 5340 - stateText 5341 properties: 5342 pointType: 5343 type: string 5344 enum: [RackLiquidIsolationRequest] 5345 objectType: 5346 type: string 5347 enum: [Rack] 5348 stateText: 5349 type: array 5350 description: > 5351 State label mapping for liquid isolation request. 5352 items: 5353 type: object 5354 required: [value, text] 5355 properties: 5356 value: 5357 type: integer 5358 description: Numeric state value. 5359 text: 5360 type: string 5361 description: Human-readable label for this state. 5362 additionalProperties: false 5363 examples: 5364 - 5365 - value: 0 5366 text: "NoIsolationRequested" 5367 - value: 1 5368 text: "IsolationRequested" 5369 5370 RackElectricalIsolationRequestFields: 5371 type: object 5372 description: '0 = Not Requested, 1 = Requested. Integration-published value.' 5373 required: 5374 - stateText 5375 properties: 5376 pointType: 5377 type: string 5378 enum: [RackElectricalIsolationRequest] 5379 objectType: 5380 type: string 5381 enum: [Rack] 5382 stateText: 5383 type: array 5384 description: > 5385 State label mapping for electrical isolation request. 5386 items: 5387 type: object 5388 required: [value, text] 5389 properties: 5390 value: 5391 type: integer 5392 description: Numeric state value. 5393 text: 5394 type: string 5395 description: Human-readable label for this state. 5396 additionalProperties: false 5397 examples: 5398 - 5399 - value: 0 5400 text: "NoIsolationRequested" 5401 - value: 1 5402 text: "IsolationRequested" 5403 5404 # --- PowerMeter fields --------------------------------------------------- 5405 5406 VoltageFields: 5407 type: object 5408 required: [engUnit] 5409 properties: 5410 pointType: 5411 type: string 5412 enum: [Voltage] 5413 objectType: 5414 type: string 5415 enum: [PowerMeter] 5416 engUnit: 5417 type: string 5418 #enum: [V] 5419 5420 PowerFactorFields: 5421 type: object 5422 description: Dimensionless 0–1. engUnit not required. 5423 properties: 5424 pointType: 5425 type: string 5426 enum: [PowerFactor] 5427 objectType: 5428 type: string 5429 enum: [PowerMeter] 5430 5431 FrequencyFields: 5432 type: object 5433 required: [engUnit] 5434 properties: 5435 pointType: 5436 type: string 5437 enum: [Frequency] 5438 objectType: 5439 type: string 5440 enum: [PowerMeter] 5441 engUnit: 5442 type: string 5443 #enum: [Hz] 5444 5445 ApparentPowerFields: 5446 type: object 5447 required: [engUnit] 5448 properties: 5449 pointType: 5450 type: string 5451 enum: [ApparentPower] 5452 objectType: 5453 type: string 5454 enum: [PowerMeter] 5455 engUnit: 5456 type: string 5457 #enum: [kVA] 5458 5459 ActivePowerFields: 5460 type: object 5461 required: [engUnit] 5462 properties: 5463 pointType: 5464 type: string 5465 enum: [ActivePower] 5466 objectType: 5467 type: string 5468 enum: [PowerMeter] 5469 engUnit: 5470 type: string 5471 #enum: [kW] 5472 5473 CurrentFields: 5474 type: object 5475 required: [engUnit] 5476 properties: 5477 pointType: 5478 type: string 5479 enum: [Current] 5480 objectType: 5481 type: string 5482 enum: [PowerMeter] 5483 engUnit: 5484 type: string 5485 #enum: [A] 5486 5487 CurrentLimitFields: 5488 type: object 5489 required: [engUnit] 5490 properties: 5491 pointType: 5492 type: string 5493 enum: [CurrentLimit] 5494 objectType: 5495 type: string 5496 enum: [PowerMeter] 5497 engUnit: 5498 type: string 5499 #enum: [A] 5500 5501 PhaseCurrentFields: 5502 type: object 5503 description: > 5504 PhaseCurrent additionally requires `phase` to identify which electrical 5505 phase. Accepts letter form (A, B, C) or numeric form (1, 2, 3); both 5506 are valid representations of the same three-phase system. 5507 3 metadata messages per meter, one per phase. 5508 required: 5509 - engUnit 5510 - phase 5511 properties: 5512 pointType: 5513 type: string 5514 enum: [PhaseCurrent] 5515 objectType: 5516 type: string 5517 enum: [PowerMeter] 5518 engUnit: 5519 type: string 5520 #enum: [A] 5521 phase: 5522 type: string 5523 enum: [A, B, C, "1", "2", "3"] 5524 description: > 5525 Electrical phase identifier. Letter form (A/B/C) and numeric form 5526 (1/2/3) are both accepted to align with publisher conventions. 5527 5528 # --- Generic Equipment fields -------------------------------------------- 5529 # engUnit enums reflect common industry standards. 5530 # Verify with BMS configuration for site-specific values. 5531 5532 LiquidTemperatureFields: 5533 type: object 5534 required: [engUnit] 5535 properties: 5536 pointType: 5537 type: string 5538 enum: [LiquidTemperature] 5539 engUnit: 5540 type: string 5541 enum: [C] 5542 isSetpoint: 5543 type: boolean 5544 description: > 5545 Optional. When true, indicates this point is a setpoint (a target 5546 value written to control equipment behavior). 5547 5548 LiquidDifferentialPressureFields: 5549 type: object 5550 description: > 5551 Measurement fields for LiquidDifferentialPressure. Typical engUnit: kPa. 5552 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5553 constraints are independent and enforced by EquipmentMeasurementModeBase. 5554 properties: 5555 pointType: 5556 type: string 5557 enum: [LiquidDifferentialPressure] 5558 isSetpoint: 5559 type: boolean 5560 description: > 5561 Optional. When true, indicates this point is a setpoint (a target 5562 value written to control equipment behavior). 5563 5564 LiquidFlowFields: 5565 type: object 5566 description: > 5567 Measurement fields for LiquidFlow. Typical engUnit: LPM. 5568 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5569 constraints are independent and enforced by EquipmentMeasurementModeBase. 5570 properties: 5571 pointType: 5572 type: string 5573 enum: [LiquidFlow] 5574 isSetpoint: 5575 type: boolean 5576 description: > 5577 Optional. When true, indicates this point is a setpoint (a target 5578 value written to control equipment behavior). 5579 5580 LiquidPressureFields: 5581 type: object 5582 description: > 5583 Measurement fields for LiquidPressure. Typical engUnit: kPa. 5584 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5585 constraints are independent and enforced by EquipmentMeasurementModeBase. 5586 properties: 5587 pointType: 5588 type: string 5589 enum: [LiquidPressure] 5590 isSetpoint: 5591 type: boolean 5592 description: > 5593 Optional. When true, indicates this point is a setpoint (a target 5594 value written to control equipment behavior). 5595 5596 StatusFields: 5597 type: object 5598 required: 5599 - stateText 5600 properties: 5601 pointType: 5602 type: string 5603 enum: [Status] 5604 integration: 5605 type: string 5606 description: > 5607 Optional integration identifier. When present, this integration 5608 is responsible for publishing the value for this point. 5609 stateText: 5610 type: array 5611 description: > 5612 State label mapping for operating status (values vary by equipment vendor). 5613 items: 5614 type: object 5615 required: [value, text] 5616 properties: 5617 value: 5618 type: integer 5619 description: Numeric state value. 5620 text: 5621 type: string 5622 description: Human-readable label for this state. 5623 additionalProperties: false 5624 examples: 5625 - 5626 - value: 0 5627 text: "NotOperating" 5628 - value: 1 5629 text: "Operating" 5630 5631 AvailableFields: 5632 type: object 5633 required: 5634 - stateText 5635 properties: 5636 pointType: 5637 type: string 5638 enum: [Available] 5639 integration: 5640 type: string 5641 description: > 5642 Optional integration identifier. When present, this integration 5643 is responsible for publishing the value for this point. 5644 stateText: 5645 type: array 5646 description: > 5647 State label mapping for availability status (values vary by equipment vendor). 5648 items: 5649 type: object 5650 required: [value, text] 5651 properties: 5652 value: 5653 type: integer 5654 description: Numeric state value. 5655 text: 5656 type: string 5657 description: Human-readable label for this state. 5658 additionalProperties: false 5659 examples: 5660 - 5661 - value: 0 5662 text: "NotAvailable" 5663 - value: 1 5664 text: "Available" 5665 5666 ValvePositionFields: 5667 type: object 5668 description: > 5669 Measurement fields for ValvePosition. Typical engUnit: %. 5670 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5671 constraints are independent and enforced by EquipmentMeasurementModeBase. 5672 properties: 5673 pointType: 5674 type: string 5675 enum: [ValvePosition] 5676 5677 PumpSpeedFields: 5678 type: object 5679 description: > 5680 Measurement fields for PumpSpeed. Typical engUnit: RPM. 5681 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5682 constraints are independent and enforced by EquipmentMeasurementModeBase. 5683 properties: 5684 pointType: 5685 type: string 5686 enum: [PumpSpeed] 5687 5688 FanSpeedFields: 5689 type: object 5690 description: > 5691 Measurement fields for FanSpeed. Typical engUnit: RPM. 5692 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5693 constraints are independent and enforced by EquipmentMeasurementModeBase. 5694 properties: 5695 pointType: 5696 type: string 5697 enum: [FanSpeed] 5698 5699 DamperPositionFields: 5700 type: object 5701 description: > 5702 Measurement fields for DamperPosition. Typical engUnit: %. 5703 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5704 constraints are independent and enforced by EquipmentMeasurementModeBase. 5705 properties: 5706 pointType: 5707 type: string 5708 enum: [DamperPosition] 5709 5710 AirTemperatureFields: 5711 type: object 5712 required: [engUnit] 5713 properties: 5714 pointType: 5715 type: string 5716 enum: [AirTemperature] 5717 engUnit: 5718 type: string 5719 enum: [C] 5720 isSetpoint: 5721 type: boolean 5722 description: > 5723 Optional. When true, indicates this point is a setpoint (a target 5724 value written to control equipment behavior). 5725 5726 AirDifferentialPressureFields: 5727 type: object 5728 description: > 5729 Measurement fields for AirDifferentialPressure. Typical engUnit: Pa. 5730 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5731 constraints are independent and enforced by EquipmentMeasurementModeBase. 5732 properties: 5733 pointType: 5734 type: string 5735 enum: [AirDifferentialPressure] 5736 isSetpoint: 5737 type: boolean 5738 description: > 5739 Optional. When true, indicates this point is a setpoint (a target 5740 value written to control equipment behavior). 5741 5742 AirFlowFields: 5743 type: object 5744 description: > 5745 Measurement fields for AirFlow. Typical engUnit: CFM. 5746 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5747 constraints are independent and enforced by EquipmentMeasurementModeBase. 5748 properties: 5749 pointType: 5750 type: string 5751 enum: [AirFlow] 5752 isSetpoint: 5753 type: boolean 5754 description: > 5755 Optional. When true, indicates this point is a setpoint (a target 5756 value written to control equipment behavior). 5757 5758 AirPressureFields: 5759 type: object 5760 description: > 5761 Measurement fields for AirPressure. Typical engUnit: Pa. 5762 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5763 constraints are independent and enforced by EquipmentMeasurementModeBase. 5764 properties: 5765 pointType: 5766 type: string 5767 enum: [AirPressure] 5768 isSetpoint: 5769 type: boolean 5770 description: > 5771 Optional. When true, indicates this point is a setpoint (a target 5772 value written to control equipment behavior). 5773 LeakDetectFields: 5774 type: object 5775 description: '0 = No Leak, 1 = Leak. No engUnit.' 5776 required: 5777 - stateText 5778 properties: 5779 pointType: 5780 type: string 5781 enum: [LeakDetect] 5782 stateText: 5783 type: array 5784 description: > 5785 State label mapping for leak detection. 5786 items: 5787 type: object 5788 required: [value, text] 5789 properties: 5790 value: 5791 type: integer 5792 description: Numeric state value. 5793 text: 5794 type: string 5795 description: Human-readable label for this state. 5796 additionalProperties: false 5797 examples: 5798 - 5799 - value: 0 5800 text: "NoLeak" 5801 - value: 1 5802 text: "Leak" 5803 5804 AirRelativeHumidityFields: 5805 type: object 5806 description: > 5807 Measurement fields for AirRelativeHumidity. Typical engUnit: %RH. 5808 The identifier (named-object XOR associate) and measurement (engUnit XOR stateText) 5809 constraints are independent and enforced by EquipmentMeasurementModeBase. 5810 properties: 5811 pointType: 5812 type: string 5813 enum: [AirRelativeHumidity] 5814 isSetpoint: 5815 type: boolean 5816 description: > 5817 Optional. When true, indicates this point is a setpoint (a target 5818 value written to control equipment behavior). 5819 5820 LiquidTemperatureSpRequestFields: 5821 type: object 5822 description: > 5823 Setpoint request written by an integration (e.g., MEPAI) to a CDU. 5824 BMS publishes metadata; the integration publishes the value to respective value topic namespace identified by `integration` 5825 required: [engUnit] 5826 properties: 5827 pointType: 5828 type: string 5829 enum: [LiquidTemperatureSpRequest] 5830 objectType: 5831 type: string 5832 enum: [CDU] 5833 engUnit: 5834 type: string 5835 enum: [C] 5836 5837 GenericObjectLiquidTemperatureSpRequestFields: 5838 type: object 5839 description: > 5840 Setpoint request for a GenericObject. BMS publishes metadata; 5841 the integration publishes the value to the derived topic. 5842 required: [engUnit] 5843 properties: 5844 pointType: 5845 type: string 5846 enum: [LiquidTemperatureSpRequest] 5847 objectType: 5848 type: string 5849 enum: [GenericObject] 5850 engUnit: 5851 type: string 5852 enum: [C] 5853 5854 SoundFields: 5855 type: object 5856 required: [engUnit] 5857 properties: 5858 pointType: 5859 type: string 5860 enum: [Sound] 5861 engUnit: 5862 type: string 5863 # enum: [dB] 5864 5865 # --- System / Heartbeat point-type fields -------------------------------- 5866 5867 HeartbeatTimestampBmsFields: 5868 type: object 5869 description: > 5870 BMS-published heartbeat timestamp. The BMS publishes its own 5871 timestamp every 10 s; one instance globally, consumed by all 5872 connected integrations. `objectName` and `objectId` identify the 5873 BMS itself (the publisher). The `integration` field is NOT used 5874 on this point — `integration` is reserved for value-publisher 5875 identity, and the BMS is the publisher here. `scope` optionally 5876 identifies which MQTT topics this heartbeat covers. 5877 required: 5878 - objectName 5879 - objectId 5880 properties: 5881 pointType: 5882 type: string 5883 enum: [HeartbeatTimestampBms] 5884 objectName: 5885 type: string 5886 description: Human-readable name of the BMS publishing this heartbeat. 5887 objectId: 5888 type: string 5889 description: > 5890 Stable identifier for the BMS publishing this heartbeat 5891 (e.g., `"BMS"`). One instance per BMS. 5892 scope: 5893 type: string 5894 description: Identifies which MQTT topics this heartbeat covers. 5895 5896 HeartbeatEchoBmsFields: 5897 type: object 5898 description: > 5899 BMS echoes back the timestamp received from a specific integration. 5900 Published by the BMS (one instance per connected integration). The 5901 integration whose timestamp is being echoed is identified by 5902 `objectName` and `objectId` — by convention, `objectId` matches 5903 the same string used as that integration's `integration` 5904 metadata value on its other points (e.g., `objectId: "MEPAI1"`). 5905 The `integration` field is intentionally NOT present on this 5906 point: `integration` denotes the value-publisher elsewhere in 5907 the spec, and the BMS is the publisher here. The integration 5908 being echoed is encoded in `objectId`, not in `integration`. 5909 `scope` optionally identifies which BMS MQTT-client/topic 5910 namespace this echo is associated with — used when the BMS 5911 runs multiple MQTT clients connected to DSX Exchange. 5912 required: 5913 - objectName 5914 - objectId 5915 properties: 5916 pointType: 5917 type: string 5918 enum: [HeartbeatEchoBms] 5919 objectName: 5920 type: string 5921 description: > 5922 Human-readable name of the integration whose timestamp is 5923 being echoed. 5924 objectId: 5925 type: string 5926 description: > 5927 Stable identifier of the integration whose timestamp is 5928 being echoed (e.g., `"MEPAI1"`). Matches that integration's 5929 `integration` metadata value on its other points. 5930 scope: 5931 type: string 5932 description: > 5933 Optional. Identifies which BMS MQTT-client/topic namespace 5934 this echo is associated with. 5935 5936 HeartbeatTimestampIntegrationFields: 5937 type: object 5938 description: > 5939 Integration-published heartbeat timestamp. Each connected 5940 integration publishes its own timestamp every 10 s; one instance 5941 per integration. `objectName` and `objectId` identify the 5942 integration publishing this heartbeat. By convention, `objectId` 5943 matches the same string used as this integration's `integration` 5944 metadata value on its other points (e.g., `objectId: "MEPAI1"` with 5945 `integration: "MEPAI1"`). The `integration` field is required via 5946 the integration metadata base and drives the value topic. 5947 required: 5948 - objectName 5949 - objectId 5950 properties: 5951 pointType: 5952 type: string 5953 enum: [HeartbeatTimestampIntegration] 5954 objectName: 5955 type: string 5956 description: > 5957 Human-readable name of the integration publishing this 5958 heartbeat. 5959 objectId: 5960 type: string 5961 description: > 5962 Stable identifier of the integration publishing this 5963 heartbeat (e.g., `"MEPAI1"`). By convention, matches the 5964 `integration` metadata value used by this integration on 5965 its other points. 5966 5967 HeartbeatEchoIntegrationFields: 5968 type: object 5969 description: > 5970 Integration echoes the BMS timestamp. Each integration publishes 5971 its own echo of the BMS timestamp, allowing the BMS to confirm 5972 round-trip with that specific integration (one instance per 5973 connected integration). The BMS whose timestamp is being echoed 5974 is identified by `objectName` and `objectId` 5975 (e.g., `objectId: "BMS"`). The `integration` field is required via 5976 the integration metadata base and drives the value topic. 5977 required: 5978 - objectName 5979 - objectId 5980 properties: 5981 pointType: 5982 type: string 5983 enum: [HeartbeatEchoIntegration] 5984 objectName: 5985 type: string 5986 description: > 5987 Human-readable name of the BMS whose timestamp is being echoed. 5988 objectId: 5989 type: string 5990 description: > 5991 Stable identifier of the BMS whose timestamp is being 5992 echoed (e.g., `"BMS"`). 5993 5994 # ========================================================================= 5995 # SECTION 5 — Fully composed per-pointType metadata schemas 5996 # 5997 # Each schema = base $ref + fields $ref, both named. 5998 # No anonymous schemas anywhere in the allOf arrays. 5999 # ========================================================================= 6000 6001 # --- Rack — BMS published ------------------------------------------------ 6002 6003 RackLiquidSupplyTemperatureMetadata: 6004 allOf: 6005 - $ref: '#/components/schemas/RackMetadataBase' 6006 - $ref: '#/components/schemas/RackLiquidSupplyTemperatureFields' 6007 unevaluatedProperties: false 6008 6009 RackLiquidReturnTemperatureMetadata: 6010 allOf: 6011 - $ref: '#/components/schemas/RackMetadataBase' 6012 - $ref: '#/components/schemas/RackLiquidReturnTemperatureFields' 6013 unevaluatedProperties: false 6014 6015 RackLiquidFlowMetadata: 6016 allOf: 6017 - $ref: '#/components/schemas/RackMetadataBase' 6018 - $ref: '#/components/schemas/RackLiquidFlowFields' 6019 unevaluatedProperties: false 6020 6021 RackLiquidDifferentialPressureMetadata: 6022 allOf: 6023 - $ref: '#/components/schemas/RackMetadataBase' 6024 - $ref: '#/components/schemas/RackLiquidDifferentialPressureFields' 6025 unevaluatedProperties: false 6026 6027 RackLiquidDifferentialPressureSpFields: 6028 type: object 6029 required: [engUnit] 6030 properties: 6031 pointType: 6032 type: string 6033 enum: [RackLiquidDifferentialPressureSp] 6034 objectType: 6035 type: string 6036 enum: [Rack] 6037 engUnit: 6038 type: string 6039 enum: [kPa] 6040 isSetpoint: 6041 type: boolean 6042 description: > 6043 Optional inclusion. Indicates this point is a target value written to control equipment behavior. 6044 6045 RackLiquidDifferentialPressureSpMetadata: 6046 allOf: 6047 - $ref: '#/components/schemas/RackMetadataBase' 6048 - $ref: '#/components/schemas/RackLiquidDifferentialPressureSpFields' 6049 unevaluatedProperties: false 6050 6051 RackControlValvePositionMetadata: 6052 allOf: 6053 - $ref: '#/components/schemas/RackMetadataBase' 6054 - $ref: '#/components/schemas/RackControlValvePositionFields' 6055 unevaluatedProperties: false 6056 6057 RackPowerMetadata: 6058 allOf: 6059 - $ref: '#/components/schemas/RackMetadataBase' 6060 - $ref: '#/components/schemas/RackPowerFields' 6061 unevaluatedProperties: false 6062 6063 RackLeakDetectMetadata: 6064 allOf: 6065 - $ref: '#/components/schemas/RackMetadataBase' 6066 - $ref: '#/components/schemas/RackLeakDetectFields' 6067 unevaluatedProperties: false 6068 6069 RackLeakSensorFaultMetadata: 6070 allOf: 6071 - $ref: '#/components/schemas/RackMetadataBase' 6072 - $ref: '#/components/schemas/RackLeakSensorFaultFields' 6073 unevaluatedProperties: false 6074 6075 RackLiquidIsolationStatusMetadata: 6076 allOf: 6077 - $ref: '#/components/schemas/RackMetadataBase' 6078 - $ref: '#/components/schemas/RackLiquidIsolationStatusFields' 6079 unevaluatedProperties: false 6080 6081 RackElectricalIsolationStatusMetadata: 6082 allOf: 6083 - $ref: '#/components/schemas/RackMetadataBase' 6084 - $ref: '#/components/schemas/RackElectricalIsolationStatusFields' 6085 unevaluatedProperties: false 6086 6087 # --- Rack — Integration published ---------------------------------------- 6088 6089 RackLeakDetectTrayMetadata: 6090 allOf: 6091 - $ref: '#/components/schemas/RackIntegrationMetadataBase' 6092 - $ref: '#/components/schemas/RackLeakDetectTrayFields' 6093 unevaluatedProperties: false 6094 6095 RackLiquidIsolationRequestMetadata: 6096 allOf: 6097 - $ref: '#/components/schemas/RackIntegrationMetadataBase' 6098 - $ref: '#/components/schemas/RackLiquidIsolationRequestFields' 6099 unevaluatedProperties: false 6100 6101 RackElectricalIsolationRequestMetadata: 6102 allOf: 6103 - $ref: '#/components/schemas/RackIntegrationMetadataBase' 6104 - $ref: '#/components/schemas/RackElectricalIsolationRequestFields' 6105 unevaluatedProperties: false 6106 6107 # --- PowerMeter ---------------------------------------------------------- 6108 6109 PowerMeterVoltageMetadata: 6110 allOf: 6111 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6112 - $ref: '#/components/schemas/VoltageFields' 6113 unevaluatedProperties: false 6114 6115 PowerMeterPowerFactorMetadata: 6116 allOf: 6117 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6118 - $ref: '#/components/schemas/PowerFactorFields' 6119 unevaluatedProperties: false 6120 6121 PowerMeterFrequencyMetadata: 6122 allOf: 6123 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6124 - $ref: '#/components/schemas/FrequencyFields' 6125 unevaluatedProperties: false 6126 6127 PowerMeterApparentPowerMetadata: 6128 allOf: 6129 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6130 - $ref: '#/components/schemas/ApparentPowerFields' 6131 unevaluatedProperties: false 6132 6133 PowerMeterActivePowerMetadata: 6134 allOf: 6135 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6136 - $ref: '#/components/schemas/ActivePowerFields' 6137 unevaluatedProperties: false 6138 6139 PowerMeterCurrentMetadata: 6140 allOf: 6141 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6142 - $ref: '#/components/schemas/CurrentFields' 6143 unevaluatedProperties: false 6144 6145 PowerMeterCurrentLimitMetadata: 6146 allOf: 6147 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6148 - $ref: '#/components/schemas/CurrentLimitFields' 6149 unevaluatedProperties: false 6150 6151 PowerMeterPhaseCurrentMetadata: 6152 allOf: 6153 - $ref: '#/components/schemas/PowerMeterMetadataBase' 6154 - $ref: '#/components/schemas/PhaseCurrentFields' 6155 unevaluatedProperties: false 6156 6157 # --- Generic Equipment — BMS published ----------------------------------- 6158 6159 LiquidTemperatureMetadata: 6160 allOf: 6161 - $ref: '#/components/schemas/EquipmentMetadataBase' 6162 - $ref: '#/components/schemas/LiquidTemperatureFields' 6163 unevaluatedProperties: false 6164 6165 LiquidDifferentialPressureMetadata: 6166 allOf: 6167 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6168 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 6169 unevaluatedProperties: false 6170 6171 LiquidFlowMetadata: 6172 allOf: 6173 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6174 - $ref: '#/components/schemas/LiquidFlowFields' 6175 unevaluatedProperties: false 6176 6177 LiquidPressureMetadata: 6178 allOf: 6179 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6180 - $ref: '#/components/schemas/LiquidPressureFields' 6181 unevaluatedProperties: false 6182 6183 StatusMetadata: 6184 allOf: 6185 - $ref: '#/components/schemas/EquipmentMetadataBase' 6186 - $ref: '#/components/schemas/StatusFields' 6187 unevaluatedProperties: false 6188 6189 AvailableMetadata: 6190 allOf: 6191 - $ref: '#/components/schemas/EquipmentMetadataBase' 6192 - $ref: '#/components/schemas/AvailableFields' 6193 unevaluatedProperties: false 6194 6195 ValvePositionMetadata: 6196 allOf: 6197 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6198 - $ref: '#/components/schemas/ValvePositionFields' 6199 unevaluatedProperties: false 6200 6201 PumpSpeedMetadata: 6202 allOf: 6203 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6204 - $ref: '#/components/schemas/PumpSpeedFields' 6205 unevaluatedProperties: false 6206 6207 FanSpeedMetadata: 6208 allOf: 6209 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6210 - $ref: '#/components/schemas/FanSpeedFields' 6211 unevaluatedProperties: false 6212 6213 DamperPositionMetadata: 6214 allOf: 6215 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6216 - $ref: '#/components/schemas/DamperPositionFields' 6217 unevaluatedProperties: false 6218 6219 AirTemperatureMetadata: 6220 allOf: 6221 - $ref: '#/components/schemas/EquipmentMetadataBase' 6222 - $ref: '#/components/schemas/AirTemperatureFields' 6223 unevaluatedProperties: false 6224 6225 AirDifferentialPressureMetadata: 6226 allOf: 6227 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6228 - $ref: '#/components/schemas/AirDifferentialPressureFields' 6229 unevaluatedProperties: false 6230 6231 AirFlowMetadata: 6232 allOf: 6233 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6234 - $ref: '#/components/schemas/AirFlowFields' 6235 unevaluatedProperties: false 6236 6237 AirPressureMetadata: 6238 allOf: 6239 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6240 - $ref: '#/components/schemas/AirPressureFields' 6241 unevaluatedProperties: false 6242 6243 SoundMetadata: 6244 allOf: 6245 - $ref: '#/components/schemas/EquipmentMetadataBase' 6246 - $ref: '#/components/schemas/SoundFields' 6247 unevaluatedProperties: false 6248 6249 # --- Generic Equipment — Integration published --------------------------- 6250 6251 LiquidTemperatureSpRequestMetadata: 6252 allOf: 6253 - $ref: '#/components/schemas/EquipmentIntegrationMetadataBase' 6254 - $ref: '#/components/schemas/LiquidTemperatureSpRequestFields' 6255 unevaluatedProperties: false 6256 6257 # --- System -------------------------------------------------------------- 6258 6259 SystemHeartbeatTimestampBmsMetadata: 6260 allOf: 6261 - $ref: '#/components/schemas/MetadataBase' 6262 - $ref: '#/components/schemas/HeartbeatTimestampBmsFields' 6263 unevaluatedProperties: false 6264 6265 SystemHeartbeatEchoBmsMetadata: 6266 allOf: 6267 - $ref: '#/components/schemas/MetadataBase' 6268 - $ref: '#/components/schemas/HeartbeatEchoBmsFields' 6269 unevaluatedProperties: false 6270 6271 SystemHeartbeatTimestampIntegrationMetadata: 6272 allOf: 6273 - $ref: '#/components/schemas/SystemIntegrationMetadataBase' 6274 - $ref: '#/components/schemas/HeartbeatTimestampIntegrationFields' 6275 unevaluatedProperties: false 6276 6277 SystemHeartbeatEchoIntegrationMetadata: 6278 allOf: 6279 - $ref: '#/components/schemas/SystemIntegrationMetadataBase' 6280 - $ref: '#/components/schemas/HeartbeatEchoIntegrationFields' 6281 unevaluatedProperties: false 6282 6283 SystemObjectTypeFields: 6284 type: object 6285 properties: 6286 objectType: 6287 type: string 6288 enum: [System] 6289 6290 SystemStatusMetadata: 6291 allOf: 6292 - $ref: '#/components/schemas/EquipmentMetadataBase' 6293 - $ref: '#/components/schemas/StatusFields' 6294 - $ref: '#/components/schemas/SystemObjectTypeFields' 6295 unevaluatedProperties: false 6296 6297 SystemAvailableMetadata: 6298 allOf: 6299 - $ref: '#/components/schemas/EquipmentMetadataBase' 6300 - $ref: '#/components/schemas/AvailableFields' 6301 - $ref: '#/components/schemas/SystemObjectTypeFields' 6302 unevaluatedProperties: false 6303 6304 # --- Per-objectType objectType field fragments ------------------------- 6305 BESSObjectTypeFields: 6306 type: object 6307 properties: 6308 objectType: 6309 type: string 6310 enum: [BESS] 6311 6312 UPSObjectTypeFields: 6313 type: object 6314 properties: 6315 objectType: 6316 type: string 6317 enum: [UPS] 6318 6319 ATSObjectTypeFields: 6320 type: object 6321 properties: 6322 objectType: 6323 type: string 6324 enum: [ATS] 6325 6326 GeneratorObjectTypeFields: 6327 type: object 6328 properties: 6329 objectType: 6330 type: string 6331 enum: [Generator] 6332 6333 ShuntObjectTypeFields: 6334 type: object 6335 properties: 6336 objectType: 6337 type: string 6338 enum: [Shunt] 6339 6340 BreakerObjectTypeFields: 6341 type: object 6342 properties: 6343 objectType: 6344 type: string 6345 enum: [Breaker] 6346 6347 CDUObjectTypeFields: 6348 type: object 6349 properties: 6350 objectType: 6351 type: string 6352 enum: [CDU] 6353 6354 CoolingTowerObjectTypeFields: 6355 type: object 6356 properties: 6357 objectType: 6358 type: string 6359 enum: [CoolingTower] 6360 6361 HXObjectTypeFields: 6362 type: object 6363 properties: 6364 objectType: 6365 type: string 6366 enum: [HX] 6367 6368 CRAHObjectTypeFields: 6369 type: object 6370 properties: 6371 objectType: 6372 type: string 6373 enum: [CRAH] 6374 6375 CRACObjectTypeFields: 6376 type: object 6377 properties: 6378 objectType: 6379 type: string 6380 enum: [CRAC] 6381 6382 AHUObjectTypeFields: 6383 type: object 6384 properties: 6385 objectType: 6386 type: string 6387 enum: [AHU] 6388 6389 ChillerObjectTypeFields: 6390 type: object 6391 properties: 6392 objectType: 6393 type: string 6394 enum: [Chiller] 6395 6396 ValveObjectTypeFields: 6397 type: object 6398 properties: 6399 objectType: 6400 type: string 6401 enum: [Valve] 6402 6403 PumpObjectTypeFields: 6404 type: object 6405 properties: 6406 objectType: 6407 type: string 6408 enum: [Pump] 6409 6410 FanObjectTypeFields: 6411 type: object 6412 properties: 6413 objectType: 6414 type: string 6415 enum: [Fan] 6416 6417 DamperObjectTypeFields: 6418 type: object 6419 properties: 6420 objectType: 6421 type: string 6422 enum: [Damper] 6423 6424 SensorObjectTypeFields: 6425 type: object 6426 properties: 6427 objectType: 6428 type: string 6429 enum: [Sensor] 6430 6431 TankObjectTypeFields: 6432 type: object 6433 properties: 6434 objectType: 6435 type: string 6436 enum: [Tank] 6437 6438 GenericObjectObjectTypeFields: 6439 type: object 6440 properties: 6441 objectType: 6442 type: string 6443 enum: [GenericObject] 6444 6445 # ========================================================================= 6446 # Per-objectType metadata schemas (objectType constraint for examples) 6447 # ========================================================================= 6448 6449 BESSStatusMetadata: 6450 allOf: 6451 - $ref: '#/components/schemas/EquipmentMetadataBase' 6452 - $ref: '#/components/schemas/StatusFields' 6453 - $ref: '#/components/schemas/BESSObjectTypeFields' 6454 unevaluatedProperties: false 6455 6456 BESSAvailableMetadata: 6457 allOf: 6458 - $ref: '#/components/schemas/EquipmentMetadataBase' 6459 - $ref: '#/components/schemas/AvailableFields' 6460 - $ref: '#/components/schemas/BESSObjectTypeFields' 6461 unevaluatedProperties: false 6462 6463 UPSStatusMetadata: 6464 allOf: 6465 - $ref: '#/components/schemas/EquipmentMetadataBase' 6466 - $ref: '#/components/schemas/StatusFields' 6467 - $ref: '#/components/schemas/UPSObjectTypeFields' 6468 unevaluatedProperties: false 6469 6470 UPSAvailableMetadata: 6471 allOf: 6472 - $ref: '#/components/schemas/EquipmentMetadataBase' 6473 - $ref: '#/components/schemas/AvailableFields' 6474 - $ref: '#/components/schemas/UPSObjectTypeFields' 6475 unevaluatedProperties: false 6476 6477 ATSStatusMetadata: 6478 allOf: 6479 - $ref: '#/components/schemas/EquipmentMetadataBase' 6480 - $ref: '#/components/schemas/StatusFields' 6481 - $ref: '#/components/schemas/ATSObjectTypeFields' 6482 unevaluatedProperties: false 6483 6484 ATSAvailableMetadata: 6485 allOf: 6486 - $ref: '#/components/schemas/EquipmentMetadataBase' 6487 - $ref: '#/components/schemas/AvailableFields' 6488 - $ref: '#/components/schemas/ATSObjectTypeFields' 6489 unevaluatedProperties: false 6490 6491 GeneratorStatusMetadata: 6492 allOf: 6493 - $ref: '#/components/schemas/EquipmentMetadataBase' 6494 - $ref: '#/components/schemas/StatusFields' 6495 - $ref: '#/components/schemas/GeneratorObjectTypeFields' 6496 unevaluatedProperties: false 6497 6498 GeneratorAvailableMetadata: 6499 allOf: 6500 - $ref: '#/components/schemas/EquipmentMetadataBase' 6501 - $ref: '#/components/schemas/AvailableFields' 6502 - $ref: '#/components/schemas/GeneratorObjectTypeFields' 6503 unevaluatedProperties: false 6504 6505 ShuntStatusMetadata: 6506 allOf: 6507 - $ref: '#/components/schemas/EquipmentMetadataBase' 6508 - $ref: '#/components/schemas/StatusFields' 6509 - $ref: '#/components/schemas/ShuntObjectTypeFields' 6510 unevaluatedProperties: false 6511 6512 ShuntAvailableMetadata: 6513 allOf: 6514 - $ref: '#/components/schemas/EquipmentMetadataBase' 6515 - $ref: '#/components/schemas/AvailableFields' 6516 - $ref: '#/components/schemas/ShuntObjectTypeFields' 6517 unevaluatedProperties: false 6518 6519 BreakerStatusMetadata: 6520 allOf: 6521 - $ref: '#/components/schemas/EquipmentMetadataBase' 6522 - $ref: '#/components/schemas/StatusFields' 6523 - $ref: '#/components/schemas/BreakerObjectTypeFields' 6524 unevaluatedProperties: false 6525 6526 BreakerAvailableMetadata: 6527 allOf: 6528 - $ref: '#/components/schemas/EquipmentMetadataBase' 6529 - $ref: '#/components/schemas/AvailableFields' 6530 - $ref: '#/components/schemas/BreakerObjectTypeFields' 6531 unevaluatedProperties: false 6532 6533 ValveValvePositionMetadata: 6534 allOf: 6535 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6536 - $ref: '#/components/schemas/ValvePositionFields' 6537 - $ref: '#/components/schemas/ValveObjectTypeFields' 6538 unevaluatedProperties: false 6539 6540 PumpPumpSpeedMetadata: 6541 allOf: 6542 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6543 - $ref: '#/components/schemas/PumpSpeedFields' 6544 - $ref: '#/components/schemas/PumpObjectTypeFields' 6545 unevaluatedProperties: false 6546 6547 FanFanSpeedMetadata: 6548 allOf: 6549 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6550 - $ref: '#/components/schemas/FanSpeedFields' 6551 - $ref: '#/components/schemas/FanObjectTypeFields' 6552 unevaluatedProperties: false 6553 6554 DamperDamperPositionMetadata: 6555 allOf: 6556 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6557 - $ref: '#/components/schemas/DamperPositionFields' 6558 - $ref: '#/components/schemas/DamperObjectTypeFields' 6559 unevaluatedProperties: false 6560 6561 ValveAvailableMetadata: 6562 allOf: 6563 - $ref: '#/components/schemas/EquipmentMetadataBase' 6564 - $ref: '#/components/schemas/AvailableFields' 6565 - $ref: '#/components/schemas/ValveObjectTypeFields' 6566 unevaluatedProperties: false 6567 6568 PumpAvailableMetadata: 6569 allOf: 6570 - $ref: '#/components/schemas/EquipmentMetadataBase' 6571 - $ref: '#/components/schemas/AvailableFields' 6572 - $ref: '#/components/schemas/PumpObjectTypeFields' 6573 unevaluatedProperties: false 6574 6575 FanAvailableMetadata: 6576 allOf: 6577 - $ref: '#/components/schemas/EquipmentMetadataBase' 6578 - $ref: '#/components/schemas/AvailableFields' 6579 - $ref: '#/components/schemas/FanObjectTypeFields' 6580 unevaluatedProperties: false 6581 6582 DamperAvailableMetadata: 6583 allOf: 6584 - $ref: '#/components/schemas/EquipmentMetadataBase' 6585 - $ref: '#/components/schemas/AvailableFields' 6586 - $ref: '#/components/schemas/DamperObjectTypeFields' 6587 unevaluatedProperties: false 6588 6589 SensorAvailableMetadata: 6590 allOf: 6591 - $ref: '#/components/schemas/EquipmentMetadataBase' 6592 - $ref: '#/components/schemas/AvailableFields' 6593 - $ref: '#/components/schemas/SensorObjectTypeFields' 6594 unevaluatedProperties: false 6595 6596 SensorLiquidTemperatureMetadata: 6597 allOf: 6598 - $ref: '#/components/schemas/EquipmentMetadataBase' 6599 - $ref: '#/components/schemas/LiquidTemperatureFields' 6600 - $ref: '#/components/schemas/SensorObjectTypeFields' 6601 unevaluatedProperties: false 6602 6603 SensorLiquidDifferentialPressureMetadata: 6604 allOf: 6605 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6606 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 6607 - $ref: '#/components/schemas/SensorObjectTypeFields' 6608 unevaluatedProperties: false 6609 6610 SensorLiquidFlowMetadata: 6611 allOf: 6612 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6613 - $ref: '#/components/schemas/LiquidFlowFields' 6614 - $ref: '#/components/schemas/SensorObjectTypeFields' 6615 unevaluatedProperties: false 6616 6617 SensorLiquidPressureMetadata: 6618 allOf: 6619 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6620 - $ref: '#/components/schemas/LiquidPressureFields' 6621 - $ref: '#/components/schemas/SensorObjectTypeFields' 6622 unevaluatedProperties: false 6623 6624 SensorAirTemperatureMetadata: 6625 allOf: 6626 - $ref: '#/components/schemas/EquipmentMetadataBase' 6627 - $ref: '#/components/schemas/AirTemperatureFields' 6628 - $ref: '#/components/schemas/SensorObjectTypeFields' 6629 unevaluatedProperties: false 6630 6631 SensorAirDifferentialPressureMetadata: 6632 allOf: 6633 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6634 - $ref: '#/components/schemas/AirDifferentialPressureFields' 6635 - $ref: '#/components/schemas/SensorObjectTypeFields' 6636 unevaluatedProperties: false 6637 6638 SensorAirFlowMetadata: 6639 allOf: 6640 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6641 - $ref: '#/components/schemas/AirFlowFields' 6642 - $ref: '#/components/schemas/SensorObjectTypeFields' 6643 unevaluatedProperties: false 6644 6645 SensorAirPressureMetadata: 6646 allOf: 6647 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6648 - $ref: '#/components/schemas/AirPressureFields' 6649 - $ref: '#/components/schemas/SensorObjectTypeFields' 6650 unevaluatedProperties: false 6651 6652 SensorSoundMetadata: 6653 allOf: 6654 - $ref: '#/components/schemas/EquipmentMetadataBase' 6655 - $ref: '#/components/schemas/SoundFields' 6656 - $ref: '#/components/schemas/SensorObjectTypeFields' 6657 unevaluatedProperties: false 6658 6659 SensorLeakDetectMetadata: 6660 allOf: 6661 - $ref: '#/components/schemas/EquipmentMetadataBase' 6662 - $ref: '#/components/schemas/LeakDetectFields' 6663 - $ref: '#/components/schemas/SensorObjectTypeFields' 6664 unevaluatedProperties: false 6665 6666 SensorAirRelativeHumidityMetadata: 6667 allOf: 6668 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6669 - $ref: '#/components/schemas/AirRelativeHumidityFields' 6670 - $ref: '#/components/schemas/SensorObjectTypeFields' 6671 unevaluatedProperties: false 6672 6673 CDULiquidTemperatureMetadata: 6674 allOf: 6675 - $ref: '#/components/schemas/EquipmentMetadataBase' 6676 - $ref: '#/components/schemas/LiquidTemperatureFields' 6677 - $ref: '#/components/schemas/CDUObjectTypeFields' 6678 unevaluatedProperties: false 6679 6680 CDULiquidDifferentialPressureMetadata: 6681 allOf: 6682 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6683 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 6684 - $ref: '#/components/schemas/CDUObjectTypeFields' 6685 unevaluatedProperties: false 6686 6687 CDULiquidFlowMetadata: 6688 allOf: 6689 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6690 - $ref: '#/components/schemas/LiquidFlowFields' 6691 - $ref: '#/components/schemas/CDUObjectTypeFields' 6692 unevaluatedProperties: false 6693 6694 CDULiquidPressureMetadata: 6695 allOf: 6696 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6697 - $ref: '#/components/schemas/LiquidPressureFields' 6698 - $ref: '#/components/schemas/CDUObjectTypeFields' 6699 unevaluatedProperties: false 6700 6701 CDUStatusMetadata: 6702 allOf: 6703 - $ref: '#/components/schemas/EquipmentMetadataBase' 6704 - $ref: '#/components/schemas/StatusFields' 6705 - $ref: '#/components/schemas/CDUObjectTypeFields' 6706 unevaluatedProperties: false 6707 6708 CDUAvailableMetadata: 6709 allOf: 6710 - $ref: '#/components/schemas/EquipmentMetadataBase' 6711 - $ref: '#/components/schemas/AvailableFields' 6712 - $ref: '#/components/schemas/CDUObjectTypeFields' 6713 unevaluatedProperties: false 6714 6715 CDUValvePositionMetadata: 6716 allOf: 6717 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6718 - $ref: '#/components/schemas/ValvePositionFields' 6719 - $ref: '#/components/schemas/CDUObjectTypeFields' 6720 unevaluatedProperties: false 6721 6722 CDUPumpSpeedMetadata: 6723 allOf: 6724 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6725 - $ref: '#/components/schemas/PumpSpeedFields' 6726 - $ref: '#/components/schemas/CDUObjectTypeFields' 6727 unevaluatedProperties: false 6728 6729 CDUFanSpeedMetadata: 6730 allOf: 6731 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6732 - $ref: '#/components/schemas/FanSpeedFields' 6733 - $ref: '#/components/schemas/CDUObjectTypeFields' 6734 unevaluatedProperties: false 6735 6736 CDUDamperPositionMetadata: 6737 allOf: 6738 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6739 - $ref: '#/components/schemas/DamperPositionFields' 6740 - $ref: '#/components/schemas/CDUObjectTypeFields' 6741 unevaluatedProperties: false 6742 6743 CDUAirTemperatureMetadata: 6744 allOf: 6745 - $ref: '#/components/schemas/EquipmentMetadataBase' 6746 - $ref: '#/components/schemas/AirTemperatureFields' 6747 - $ref: '#/components/schemas/CDUObjectTypeFields' 6748 unevaluatedProperties: false 6749 6750 CDUAirDifferentialPressureMetadata: 6751 allOf: 6752 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6753 - $ref: '#/components/schemas/AirDifferentialPressureFields' 6754 - $ref: '#/components/schemas/CDUObjectTypeFields' 6755 unevaluatedProperties: false 6756 6757 CDUAirFlowMetadata: 6758 allOf: 6759 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6760 - $ref: '#/components/schemas/AirFlowFields' 6761 - $ref: '#/components/schemas/CDUObjectTypeFields' 6762 unevaluatedProperties: false 6763 6764 CDUAirPressureMetadata: 6765 allOf: 6766 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6767 - $ref: '#/components/schemas/AirPressureFields' 6768 - $ref: '#/components/schemas/CDUObjectTypeFields' 6769 unevaluatedProperties: false 6770 6771 CDULeakDetectMetadata: 6772 allOf: 6773 - $ref: '#/components/schemas/EquipmentMetadataBase' 6774 - $ref: '#/components/schemas/LeakDetectFields' 6775 - $ref: '#/components/schemas/CDUObjectTypeFields' 6776 unevaluatedProperties: false 6777 6778 CDUAirRelativeHumidityMetadata: 6779 allOf: 6780 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6781 - $ref: '#/components/schemas/AirRelativeHumidityFields' 6782 - $ref: '#/components/schemas/CDUObjectTypeFields' 6783 unevaluatedProperties: false 6784 6785 CoolingTowerLiquidTemperatureMetadata: 6786 allOf: 6787 - $ref: '#/components/schemas/EquipmentMetadataBase' 6788 - $ref: '#/components/schemas/LiquidTemperatureFields' 6789 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6790 unevaluatedProperties: false 6791 6792 CoolingTowerLiquidDifferentialPressureMetadata: 6793 allOf: 6794 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6795 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 6796 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6797 unevaluatedProperties: false 6798 6799 CoolingTowerLiquidFlowMetadata: 6800 allOf: 6801 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6802 - $ref: '#/components/schemas/LiquidFlowFields' 6803 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6804 unevaluatedProperties: false 6805 6806 CoolingTowerLiquidPressureMetadata: 6807 allOf: 6808 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6809 - $ref: '#/components/schemas/LiquidPressureFields' 6810 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6811 unevaluatedProperties: false 6812 6813 CoolingTowerStatusMetadata: 6814 allOf: 6815 - $ref: '#/components/schemas/EquipmentMetadataBase' 6816 - $ref: '#/components/schemas/StatusFields' 6817 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6818 unevaluatedProperties: false 6819 6820 CoolingTowerAvailableMetadata: 6821 allOf: 6822 - $ref: '#/components/schemas/EquipmentMetadataBase' 6823 - $ref: '#/components/schemas/AvailableFields' 6824 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6825 unevaluatedProperties: false 6826 6827 CoolingTowerValvePositionMetadata: 6828 allOf: 6829 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6830 - $ref: '#/components/schemas/ValvePositionFields' 6831 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6832 unevaluatedProperties: false 6833 6834 CoolingTowerPumpSpeedMetadata: 6835 allOf: 6836 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6837 - $ref: '#/components/schemas/PumpSpeedFields' 6838 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6839 unevaluatedProperties: false 6840 6841 CoolingTowerFanSpeedMetadata: 6842 allOf: 6843 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6844 - $ref: '#/components/schemas/FanSpeedFields' 6845 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6846 unevaluatedProperties: false 6847 6848 CoolingTowerDamperPositionMetadata: 6849 allOf: 6850 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6851 - $ref: '#/components/schemas/DamperPositionFields' 6852 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6853 unevaluatedProperties: false 6854 6855 CoolingTowerAirTemperatureMetadata: 6856 allOf: 6857 - $ref: '#/components/schemas/EquipmentMetadataBase' 6858 - $ref: '#/components/schemas/AirTemperatureFields' 6859 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6860 unevaluatedProperties: false 6861 6862 CoolingTowerAirDifferentialPressureMetadata: 6863 allOf: 6864 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6865 - $ref: '#/components/schemas/AirDifferentialPressureFields' 6866 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6867 unevaluatedProperties: false 6868 6869 CoolingTowerAirFlowMetadata: 6870 allOf: 6871 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6872 - $ref: '#/components/schemas/AirFlowFields' 6873 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6874 unevaluatedProperties: false 6875 6876 CoolingTowerAirPressureMetadata: 6877 allOf: 6878 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6879 - $ref: '#/components/schemas/AirPressureFields' 6880 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6881 unevaluatedProperties: false 6882 6883 CoolingTowerLeakDetectMetadata: 6884 allOf: 6885 - $ref: '#/components/schemas/EquipmentMetadataBase' 6886 - $ref: '#/components/schemas/LeakDetectFields' 6887 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6888 unevaluatedProperties: false 6889 6890 CoolingTowerAirRelativeHumidityMetadata: 6891 allOf: 6892 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6893 - $ref: '#/components/schemas/AirRelativeHumidityFields' 6894 - $ref: '#/components/schemas/CoolingTowerObjectTypeFields' 6895 unevaluatedProperties: false 6896 6897 HXLiquidTemperatureMetadata: 6898 allOf: 6899 - $ref: '#/components/schemas/EquipmentMetadataBase' 6900 - $ref: '#/components/schemas/LiquidTemperatureFields' 6901 - $ref: '#/components/schemas/HXObjectTypeFields' 6902 unevaluatedProperties: false 6903 6904 HXLiquidDifferentialPressureMetadata: 6905 allOf: 6906 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6907 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 6908 - $ref: '#/components/schemas/HXObjectTypeFields' 6909 unevaluatedProperties: false 6910 6911 HXLiquidFlowMetadata: 6912 allOf: 6913 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6914 - $ref: '#/components/schemas/LiquidFlowFields' 6915 - $ref: '#/components/schemas/HXObjectTypeFields' 6916 unevaluatedProperties: false 6917 6918 HXLiquidPressureMetadata: 6919 allOf: 6920 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6921 - $ref: '#/components/schemas/LiquidPressureFields' 6922 - $ref: '#/components/schemas/HXObjectTypeFields' 6923 unevaluatedProperties: false 6924 6925 HXStatusMetadata: 6926 allOf: 6927 - $ref: '#/components/schemas/EquipmentMetadataBase' 6928 - $ref: '#/components/schemas/StatusFields' 6929 - $ref: '#/components/schemas/HXObjectTypeFields' 6930 unevaluatedProperties: false 6931 6932 HXAvailableMetadata: 6933 allOf: 6934 - $ref: '#/components/schemas/EquipmentMetadataBase' 6935 - $ref: '#/components/schemas/AvailableFields' 6936 - $ref: '#/components/schemas/HXObjectTypeFields' 6937 unevaluatedProperties: false 6938 6939 HXValvePositionMetadata: 6940 allOf: 6941 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6942 - $ref: '#/components/schemas/ValvePositionFields' 6943 - $ref: '#/components/schemas/HXObjectTypeFields' 6944 unevaluatedProperties: false 6945 6946 HXPumpSpeedMetadata: 6947 allOf: 6948 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6949 - $ref: '#/components/schemas/PumpSpeedFields' 6950 - $ref: '#/components/schemas/HXObjectTypeFields' 6951 unevaluatedProperties: false 6952 6953 HXFanSpeedMetadata: 6954 allOf: 6955 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6956 - $ref: '#/components/schemas/FanSpeedFields' 6957 - $ref: '#/components/schemas/HXObjectTypeFields' 6958 unevaluatedProperties: false 6959 6960 HXDamperPositionMetadata: 6961 allOf: 6962 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6963 - $ref: '#/components/schemas/DamperPositionFields' 6964 - $ref: '#/components/schemas/HXObjectTypeFields' 6965 unevaluatedProperties: false 6966 6967 HXAirTemperatureMetadata: 6968 allOf: 6969 - $ref: '#/components/schemas/EquipmentMetadataBase' 6970 - $ref: '#/components/schemas/AirTemperatureFields' 6971 - $ref: '#/components/schemas/HXObjectTypeFields' 6972 unevaluatedProperties: false 6973 6974 HXAirDifferentialPressureMetadata: 6975 allOf: 6976 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6977 - $ref: '#/components/schemas/AirDifferentialPressureFields' 6978 - $ref: '#/components/schemas/HXObjectTypeFields' 6979 unevaluatedProperties: false 6980 6981 HXAirFlowMetadata: 6982 allOf: 6983 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6984 - $ref: '#/components/schemas/AirFlowFields' 6985 - $ref: '#/components/schemas/HXObjectTypeFields' 6986 unevaluatedProperties: false 6987 6988 HXAirPressureMetadata: 6989 allOf: 6990 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 6991 - $ref: '#/components/schemas/AirPressureFields' 6992 - $ref: '#/components/schemas/HXObjectTypeFields' 6993 unevaluatedProperties: false 6994 6995 HXLeakDetectMetadata: 6996 allOf: 6997 - $ref: '#/components/schemas/EquipmentMetadataBase' 6998 - $ref: '#/components/schemas/LeakDetectFields' 6999 - $ref: '#/components/schemas/HXObjectTypeFields' 7000 unevaluatedProperties: false 7001 7002 HXAirRelativeHumidityMetadata: 7003 allOf: 7004 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7005 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7006 - $ref: '#/components/schemas/HXObjectTypeFields' 7007 unevaluatedProperties: false 7008 7009 CRAHLiquidTemperatureMetadata: 7010 allOf: 7011 - $ref: '#/components/schemas/EquipmentMetadataBase' 7012 - $ref: '#/components/schemas/LiquidTemperatureFields' 7013 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7014 unevaluatedProperties: false 7015 7016 CRAHLiquidDifferentialPressureMetadata: 7017 allOf: 7018 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7019 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7020 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7021 unevaluatedProperties: false 7022 7023 CRAHLiquidFlowMetadata: 7024 allOf: 7025 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7026 - $ref: '#/components/schemas/LiquidFlowFields' 7027 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7028 unevaluatedProperties: false 7029 7030 CRAHLiquidPressureMetadata: 7031 allOf: 7032 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7033 - $ref: '#/components/schemas/LiquidPressureFields' 7034 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7035 unevaluatedProperties: false 7036 7037 CRAHStatusMetadata: 7038 allOf: 7039 - $ref: '#/components/schemas/EquipmentMetadataBase' 7040 - $ref: '#/components/schemas/StatusFields' 7041 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7042 unevaluatedProperties: false 7043 7044 CRAHAvailableMetadata: 7045 allOf: 7046 - $ref: '#/components/schemas/EquipmentMetadataBase' 7047 - $ref: '#/components/schemas/AvailableFields' 7048 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7049 unevaluatedProperties: false 7050 7051 CRAHValvePositionMetadata: 7052 allOf: 7053 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7054 - $ref: '#/components/schemas/ValvePositionFields' 7055 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7056 unevaluatedProperties: false 7057 7058 CRAHPumpSpeedMetadata: 7059 allOf: 7060 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7061 - $ref: '#/components/schemas/PumpSpeedFields' 7062 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7063 unevaluatedProperties: false 7064 7065 CRAHFanSpeedMetadata: 7066 allOf: 7067 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7068 - $ref: '#/components/schemas/FanSpeedFields' 7069 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7070 unevaluatedProperties: false 7071 7072 CRAHDamperPositionMetadata: 7073 allOf: 7074 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7075 - $ref: '#/components/schemas/DamperPositionFields' 7076 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7077 unevaluatedProperties: false 7078 7079 CRAHAirTemperatureMetadata: 7080 allOf: 7081 - $ref: '#/components/schemas/EquipmentMetadataBase' 7082 - $ref: '#/components/schemas/AirTemperatureFields' 7083 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7084 unevaluatedProperties: false 7085 7086 CRAHAirDifferentialPressureMetadata: 7087 allOf: 7088 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7089 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7090 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7091 unevaluatedProperties: false 7092 7093 CRAHAirFlowMetadata: 7094 allOf: 7095 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7096 - $ref: '#/components/schemas/AirFlowFields' 7097 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7098 unevaluatedProperties: false 7099 7100 CRAHAirPressureMetadata: 7101 allOf: 7102 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7103 - $ref: '#/components/schemas/AirPressureFields' 7104 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7105 unevaluatedProperties: false 7106 7107 CRAHLeakDetectMetadata: 7108 allOf: 7109 - $ref: '#/components/schemas/EquipmentMetadataBase' 7110 - $ref: '#/components/schemas/LeakDetectFields' 7111 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7112 unevaluatedProperties: false 7113 7114 CRAHAirRelativeHumidityMetadata: 7115 allOf: 7116 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7117 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7118 - $ref: '#/components/schemas/CRAHObjectTypeFields' 7119 unevaluatedProperties: false 7120 7121 CRACLiquidTemperatureMetadata: 7122 allOf: 7123 - $ref: '#/components/schemas/EquipmentMetadataBase' 7124 - $ref: '#/components/schemas/LiquidTemperatureFields' 7125 - $ref: '#/components/schemas/CRACObjectTypeFields' 7126 unevaluatedProperties: false 7127 7128 CRACLiquidDifferentialPressureMetadata: 7129 allOf: 7130 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7131 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7132 - $ref: '#/components/schemas/CRACObjectTypeFields' 7133 unevaluatedProperties: false 7134 7135 CRACLiquidFlowMetadata: 7136 allOf: 7137 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7138 - $ref: '#/components/schemas/LiquidFlowFields' 7139 - $ref: '#/components/schemas/CRACObjectTypeFields' 7140 unevaluatedProperties: false 7141 7142 CRACLiquidPressureMetadata: 7143 allOf: 7144 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7145 - $ref: '#/components/schemas/LiquidPressureFields' 7146 - $ref: '#/components/schemas/CRACObjectTypeFields' 7147 unevaluatedProperties: false 7148 7149 CRACStatusMetadata: 7150 allOf: 7151 - $ref: '#/components/schemas/EquipmentMetadataBase' 7152 - $ref: '#/components/schemas/StatusFields' 7153 - $ref: '#/components/schemas/CRACObjectTypeFields' 7154 unevaluatedProperties: false 7155 7156 CRACAvailableMetadata: 7157 allOf: 7158 - $ref: '#/components/schemas/EquipmentMetadataBase' 7159 - $ref: '#/components/schemas/AvailableFields' 7160 - $ref: '#/components/schemas/CRACObjectTypeFields' 7161 unevaluatedProperties: false 7162 7163 CRACValvePositionMetadata: 7164 allOf: 7165 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7166 - $ref: '#/components/schemas/ValvePositionFields' 7167 - $ref: '#/components/schemas/CRACObjectTypeFields' 7168 unevaluatedProperties: false 7169 7170 CRACPumpSpeedMetadata: 7171 allOf: 7172 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7173 - $ref: '#/components/schemas/PumpSpeedFields' 7174 - $ref: '#/components/schemas/CRACObjectTypeFields' 7175 unevaluatedProperties: false 7176 7177 CRACFanSpeedMetadata: 7178 allOf: 7179 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7180 - $ref: '#/components/schemas/FanSpeedFields' 7181 - $ref: '#/components/schemas/CRACObjectTypeFields' 7182 unevaluatedProperties: false 7183 7184 CRACDamperPositionMetadata: 7185 allOf: 7186 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7187 - $ref: '#/components/schemas/DamperPositionFields' 7188 - $ref: '#/components/schemas/CRACObjectTypeFields' 7189 unevaluatedProperties: false 7190 7191 CRACAirTemperatureMetadata: 7192 allOf: 7193 - $ref: '#/components/schemas/EquipmentMetadataBase' 7194 - $ref: '#/components/schemas/AirTemperatureFields' 7195 - $ref: '#/components/schemas/CRACObjectTypeFields' 7196 unevaluatedProperties: false 7197 7198 CRACAirDifferentialPressureMetadata: 7199 allOf: 7200 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7201 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7202 - $ref: '#/components/schemas/CRACObjectTypeFields' 7203 unevaluatedProperties: false 7204 7205 CRACAirFlowMetadata: 7206 allOf: 7207 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7208 - $ref: '#/components/schemas/AirFlowFields' 7209 - $ref: '#/components/schemas/CRACObjectTypeFields' 7210 unevaluatedProperties: false 7211 7212 CRACAirPressureMetadata: 7213 allOf: 7214 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7215 - $ref: '#/components/schemas/AirPressureFields' 7216 - $ref: '#/components/schemas/CRACObjectTypeFields' 7217 unevaluatedProperties: false 7218 7219 CRACLeakDetectMetadata: 7220 allOf: 7221 - $ref: '#/components/schemas/EquipmentMetadataBase' 7222 - $ref: '#/components/schemas/LeakDetectFields' 7223 - $ref: '#/components/schemas/CRACObjectTypeFields' 7224 unevaluatedProperties: false 7225 7226 CRACAirRelativeHumidityMetadata: 7227 allOf: 7228 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7229 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7230 - $ref: '#/components/schemas/CRACObjectTypeFields' 7231 unevaluatedProperties: false 7232 7233 AHULiquidTemperatureMetadata: 7234 allOf: 7235 - $ref: '#/components/schemas/EquipmentMetadataBase' 7236 - $ref: '#/components/schemas/LiquidTemperatureFields' 7237 - $ref: '#/components/schemas/AHUObjectTypeFields' 7238 unevaluatedProperties: false 7239 7240 AHULiquidDifferentialPressureMetadata: 7241 allOf: 7242 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7243 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7244 - $ref: '#/components/schemas/AHUObjectTypeFields' 7245 unevaluatedProperties: false 7246 7247 AHULiquidFlowMetadata: 7248 allOf: 7249 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7250 - $ref: '#/components/schemas/LiquidFlowFields' 7251 - $ref: '#/components/schemas/AHUObjectTypeFields' 7252 unevaluatedProperties: false 7253 7254 AHULiquidPressureMetadata: 7255 allOf: 7256 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7257 - $ref: '#/components/schemas/LiquidPressureFields' 7258 - $ref: '#/components/schemas/AHUObjectTypeFields' 7259 unevaluatedProperties: false 7260 7261 AHUStatusMetadata: 7262 allOf: 7263 - $ref: '#/components/schemas/EquipmentMetadataBase' 7264 - $ref: '#/components/schemas/StatusFields' 7265 - $ref: '#/components/schemas/AHUObjectTypeFields' 7266 unevaluatedProperties: false 7267 7268 AHUAvailableMetadata: 7269 allOf: 7270 - $ref: '#/components/schemas/EquipmentMetadataBase' 7271 - $ref: '#/components/schemas/AvailableFields' 7272 - $ref: '#/components/schemas/AHUObjectTypeFields' 7273 unevaluatedProperties: false 7274 7275 AHUValvePositionMetadata: 7276 allOf: 7277 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7278 - $ref: '#/components/schemas/ValvePositionFields' 7279 - $ref: '#/components/schemas/AHUObjectTypeFields' 7280 unevaluatedProperties: false 7281 7282 AHUPumpSpeedMetadata: 7283 allOf: 7284 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7285 - $ref: '#/components/schemas/PumpSpeedFields' 7286 - $ref: '#/components/schemas/AHUObjectTypeFields' 7287 unevaluatedProperties: false 7288 7289 AHUFanSpeedMetadata: 7290 allOf: 7291 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7292 - $ref: '#/components/schemas/FanSpeedFields' 7293 - $ref: '#/components/schemas/AHUObjectTypeFields' 7294 unevaluatedProperties: false 7295 7296 AHUDamperPositionMetadata: 7297 allOf: 7298 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7299 - $ref: '#/components/schemas/DamperPositionFields' 7300 - $ref: '#/components/schemas/AHUObjectTypeFields' 7301 unevaluatedProperties: false 7302 7303 AHUAirTemperatureMetadata: 7304 allOf: 7305 - $ref: '#/components/schemas/EquipmentMetadataBase' 7306 - $ref: '#/components/schemas/AirTemperatureFields' 7307 - $ref: '#/components/schemas/AHUObjectTypeFields' 7308 unevaluatedProperties: false 7309 7310 AHUAirDifferentialPressureMetadata: 7311 allOf: 7312 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7313 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7314 - $ref: '#/components/schemas/AHUObjectTypeFields' 7315 unevaluatedProperties: false 7316 7317 AHUAirFlowMetadata: 7318 allOf: 7319 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7320 - $ref: '#/components/schemas/AirFlowFields' 7321 - $ref: '#/components/schemas/AHUObjectTypeFields' 7322 unevaluatedProperties: false 7323 7324 AHUAirPressureMetadata: 7325 allOf: 7326 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7327 - $ref: '#/components/schemas/AirPressureFields' 7328 - $ref: '#/components/schemas/AHUObjectTypeFields' 7329 unevaluatedProperties: false 7330 7331 AHULeakDetectMetadata: 7332 allOf: 7333 - $ref: '#/components/schemas/EquipmentMetadataBase' 7334 - $ref: '#/components/schemas/LeakDetectFields' 7335 - $ref: '#/components/schemas/AHUObjectTypeFields' 7336 unevaluatedProperties: false 7337 7338 AHUAirRelativeHumidityMetadata: 7339 allOf: 7340 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7341 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7342 - $ref: '#/components/schemas/AHUObjectTypeFields' 7343 unevaluatedProperties: false 7344 7345 ChillerLiquidTemperatureMetadata: 7346 allOf: 7347 - $ref: '#/components/schemas/EquipmentMetadataBase' 7348 - $ref: '#/components/schemas/LiquidTemperatureFields' 7349 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7350 unevaluatedProperties: false 7351 7352 ChillerLiquidDifferentialPressureMetadata: 7353 allOf: 7354 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7355 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7356 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7357 unevaluatedProperties: false 7358 7359 ChillerLiquidFlowMetadata: 7360 allOf: 7361 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7362 - $ref: '#/components/schemas/LiquidFlowFields' 7363 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7364 unevaluatedProperties: false 7365 7366 ChillerLiquidPressureMetadata: 7367 allOf: 7368 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7369 - $ref: '#/components/schemas/LiquidPressureFields' 7370 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7371 unevaluatedProperties: false 7372 7373 ChillerStatusMetadata: 7374 allOf: 7375 - $ref: '#/components/schemas/EquipmentMetadataBase' 7376 - $ref: '#/components/schemas/StatusFields' 7377 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7378 unevaluatedProperties: false 7379 7380 ChillerAvailableMetadata: 7381 allOf: 7382 - $ref: '#/components/schemas/EquipmentMetadataBase' 7383 - $ref: '#/components/schemas/AvailableFields' 7384 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7385 unevaluatedProperties: false 7386 7387 ChillerValvePositionMetadata: 7388 allOf: 7389 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7390 - $ref: '#/components/schemas/ValvePositionFields' 7391 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7392 unevaluatedProperties: false 7393 7394 ChillerPumpSpeedMetadata: 7395 allOf: 7396 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7397 - $ref: '#/components/schemas/PumpSpeedFields' 7398 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7399 unevaluatedProperties: false 7400 7401 ChillerFanSpeedMetadata: 7402 allOf: 7403 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7404 - $ref: '#/components/schemas/FanSpeedFields' 7405 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7406 unevaluatedProperties: false 7407 7408 ChillerDamperPositionMetadata: 7409 allOf: 7410 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7411 - $ref: '#/components/schemas/DamperPositionFields' 7412 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7413 unevaluatedProperties: false 7414 7415 ChillerAirTemperatureMetadata: 7416 allOf: 7417 - $ref: '#/components/schemas/EquipmentMetadataBase' 7418 - $ref: '#/components/schemas/AirTemperatureFields' 7419 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7420 unevaluatedProperties: false 7421 7422 ChillerAirDifferentialPressureMetadata: 7423 allOf: 7424 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7425 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7426 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7427 unevaluatedProperties: false 7428 7429 ChillerAirFlowMetadata: 7430 allOf: 7431 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7432 - $ref: '#/components/schemas/AirFlowFields' 7433 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7434 unevaluatedProperties: false 7435 7436 ChillerAirPressureMetadata: 7437 allOf: 7438 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7439 - $ref: '#/components/schemas/AirPressureFields' 7440 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7441 unevaluatedProperties: false 7442 7443 ChillerLeakDetectMetadata: 7444 allOf: 7445 - $ref: '#/components/schemas/EquipmentMetadataBase' 7446 - $ref: '#/components/schemas/LeakDetectFields' 7447 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7448 unevaluatedProperties: false 7449 7450 ChillerAirRelativeHumidityMetadata: 7451 allOf: 7452 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7453 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7454 - $ref: '#/components/schemas/ChillerObjectTypeFields' 7455 unevaluatedProperties: false 7456 7457 # --- Tank — BMS published ------------------------------------------------ 7458 7459 TankLiquidTemperatureMetadata: 7460 allOf: 7461 - $ref: '#/components/schemas/EquipmentMetadataBase' 7462 - $ref: '#/components/schemas/LiquidTemperatureFields' 7463 - $ref: '#/components/schemas/TankObjectTypeFields' 7464 unevaluatedProperties: false 7465 7466 TankLiquidDifferentialPressureMetadata: 7467 allOf: 7468 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7469 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7470 - $ref: '#/components/schemas/TankObjectTypeFields' 7471 unevaluatedProperties: false 7472 7473 TankLiquidFlowMetadata: 7474 allOf: 7475 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7476 - $ref: '#/components/schemas/LiquidFlowFields' 7477 - $ref: '#/components/schemas/TankObjectTypeFields' 7478 unevaluatedProperties: false 7479 7480 TankLiquidPressureMetadata: 7481 allOf: 7482 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7483 - $ref: '#/components/schemas/LiquidPressureFields' 7484 - $ref: '#/components/schemas/TankObjectTypeFields' 7485 unevaluatedProperties: false 7486 7487 TankStatusMetadata: 7488 allOf: 7489 - $ref: '#/components/schemas/EquipmentMetadataBase' 7490 - $ref: '#/components/schemas/StatusFields' 7491 - $ref: '#/components/schemas/TankObjectTypeFields' 7492 unevaluatedProperties: false 7493 7494 TankAvailableMetadata: 7495 allOf: 7496 - $ref: '#/components/schemas/EquipmentMetadataBase' 7497 - $ref: '#/components/schemas/AvailableFields' 7498 - $ref: '#/components/schemas/TankObjectTypeFields' 7499 unevaluatedProperties: false 7500 7501 TankValvePositionMetadata: 7502 allOf: 7503 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7504 - $ref: '#/components/schemas/ValvePositionFields' 7505 - $ref: '#/components/schemas/TankObjectTypeFields' 7506 unevaluatedProperties: false 7507 7508 TankPumpSpeedMetadata: 7509 allOf: 7510 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7511 - $ref: '#/components/schemas/PumpSpeedFields' 7512 - $ref: '#/components/schemas/TankObjectTypeFields' 7513 unevaluatedProperties: false 7514 7515 TankFanSpeedMetadata: 7516 allOf: 7517 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7518 - $ref: '#/components/schemas/FanSpeedFields' 7519 - $ref: '#/components/schemas/TankObjectTypeFields' 7520 unevaluatedProperties: false 7521 7522 TankDamperPositionMetadata: 7523 allOf: 7524 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7525 - $ref: '#/components/schemas/DamperPositionFields' 7526 - $ref: '#/components/schemas/TankObjectTypeFields' 7527 unevaluatedProperties: false 7528 7529 TankAirTemperatureMetadata: 7530 allOf: 7531 - $ref: '#/components/schemas/EquipmentMetadataBase' 7532 - $ref: '#/components/schemas/AirTemperatureFields' 7533 - $ref: '#/components/schemas/TankObjectTypeFields' 7534 unevaluatedProperties: false 7535 7536 TankAirDifferentialPressureMetadata: 7537 allOf: 7538 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7539 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7540 - $ref: '#/components/schemas/TankObjectTypeFields' 7541 unevaluatedProperties: false 7542 7543 TankAirFlowMetadata: 7544 allOf: 7545 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7546 - $ref: '#/components/schemas/AirFlowFields' 7547 - $ref: '#/components/schemas/TankObjectTypeFields' 7548 unevaluatedProperties: false 7549 7550 TankAirPressureMetadata: 7551 allOf: 7552 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7553 - $ref: '#/components/schemas/AirPressureFields' 7554 - $ref: '#/components/schemas/TankObjectTypeFields' 7555 unevaluatedProperties: false 7556 7557 TankLeakDetectMetadata: 7558 allOf: 7559 - $ref: '#/components/schemas/EquipmentMetadataBase' 7560 - $ref: '#/components/schemas/LeakDetectFields' 7561 - $ref: '#/components/schemas/TankObjectTypeFields' 7562 unevaluatedProperties: false 7563 7564 TankAirRelativeHumidityMetadata: 7565 allOf: 7566 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7567 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7568 - $ref: '#/components/schemas/TankObjectTypeFields' 7569 unevaluatedProperties: false 7570 7571 # --- Tank — Integration published ---------------------------------------- 7572 7573 # --- GenericObject — BMS published ---------------------------------------- 7574 7575 GenericObjectLiquidTemperatureMetadata: 7576 allOf: 7577 - $ref: '#/components/schemas/EquipmentMetadataBase' 7578 - $ref: '#/components/schemas/LiquidTemperatureFields' 7579 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7580 unevaluatedProperties: false 7581 7582 GenericObjectLiquidDifferentialPressureMetadata: 7583 allOf: 7584 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7585 - $ref: '#/components/schemas/LiquidDifferentialPressureFields' 7586 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7587 unevaluatedProperties: false 7588 7589 GenericObjectLiquidFlowMetadata: 7590 allOf: 7591 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7592 - $ref: '#/components/schemas/LiquidFlowFields' 7593 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7594 unevaluatedProperties: false 7595 7596 GenericObjectLiquidPressureMetadata: 7597 allOf: 7598 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7599 - $ref: '#/components/schemas/LiquidPressureFields' 7600 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7601 unevaluatedProperties: false 7602 7603 GenericObjectStatusMetadata: 7604 allOf: 7605 - $ref: '#/components/schemas/EquipmentMetadataBase' 7606 - $ref: '#/components/schemas/StatusFields' 7607 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7608 unevaluatedProperties: false 7609 7610 GenericObjectAvailableMetadata: 7611 allOf: 7612 - $ref: '#/components/schemas/EquipmentMetadataBase' 7613 - $ref: '#/components/schemas/AvailableFields' 7614 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7615 unevaluatedProperties: false 7616 7617 GenericObjectValvePositionMetadata: 7618 allOf: 7619 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7620 - $ref: '#/components/schemas/ValvePositionFields' 7621 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7622 unevaluatedProperties: false 7623 7624 GenericObjectPumpSpeedMetadata: 7625 allOf: 7626 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7627 - $ref: '#/components/schemas/PumpSpeedFields' 7628 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7629 unevaluatedProperties: false 7630 7631 GenericObjectFanSpeedMetadata: 7632 allOf: 7633 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7634 - $ref: '#/components/schemas/FanSpeedFields' 7635 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7636 unevaluatedProperties: false 7637 7638 GenericObjectDamperPositionMetadata: 7639 allOf: 7640 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7641 - $ref: '#/components/schemas/DamperPositionFields' 7642 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7643 unevaluatedProperties: false 7644 7645 GenericObjectAirTemperatureMetadata: 7646 allOf: 7647 - $ref: '#/components/schemas/EquipmentMetadataBase' 7648 - $ref: '#/components/schemas/AirTemperatureFields' 7649 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7650 unevaluatedProperties: false 7651 7652 GenericObjectAirDifferentialPressureMetadata: 7653 allOf: 7654 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7655 - $ref: '#/components/schemas/AirDifferentialPressureFields' 7656 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7657 unevaluatedProperties: false 7658 7659 GenericObjectAirFlowMetadata: 7660 allOf: 7661 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7662 - $ref: '#/components/schemas/AirFlowFields' 7663 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7664 unevaluatedProperties: false 7665 7666 GenericObjectAirPressureMetadata: 7667 allOf: 7668 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7669 - $ref: '#/components/schemas/AirPressureFields' 7670 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7671 unevaluatedProperties: false 7672 7673 GenericObjectSoundMetadata: 7674 allOf: 7675 - $ref: '#/components/schemas/EquipmentMetadataBase' 7676 - $ref: '#/components/schemas/SoundFields' 7677 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7678 unevaluatedProperties: false 7679 7680 GenericObjectLeakDetectMetadata: 7681 allOf: 7682 - $ref: '#/components/schemas/EquipmentMetadataBase' 7683 - $ref: '#/components/schemas/LeakDetectFields' 7684 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7685 unevaluatedProperties: false 7686 7687 GenericObjectAirRelativeHumidityMetadata: 7688 allOf: 7689 - $ref: '#/components/schemas/EquipmentMeasurementModeBase' 7690 - $ref: '#/components/schemas/AirRelativeHumidityFields' 7691 - $ref: '#/components/schemas/GenericObjectObjectTypeFields' 7692 unevaluatedProperties: false 7693 7694 # --- GenericObject — Integration published -------------------------------- 7695 7696 GenericObjectLiquidTemperatureSpRequestMetadata: 7697 allOf: 7698 - $ref: '#/components/schemas/EquipmentIntegrationMetadataBase' 7699 - $ref: '#/components/schemas/GenericObjectLiquidTemperatureSpRequestFields' 7700 unevaluatedProperties: false 7701 7702 # ========================================================================= 7703 # GenericPoint — field fragment and composed schemas 7704 # ========================================================================= 7705 7706 GenericPointFields: 7707 type: object 7708 description: > 7709 Field fragment for a vendor-specific or unmapped GenericPoint. 7710 `processArea` is required. 7711 7712 `engUnit` and `stateText` are both optional but **mutually exclusive** — 7713 include at most one. See the two variants below. 7714 required: 7715 - processArea 7716 properties: 7717 pointType: 7718 type: string 7719 enum: [GenericPoint] 7720 processArea: 7721 type: array 7722 items: 7723 type: string 7724 description: > 7725 Required for GenericPoint. Describes the measurement context. 7726 phase: 7727 type: string 7728 enum: [A, B, C, "1", "2", "3"] 7729 description: > 7730 Optional electrical phase identifier. Use for phase-specific 7731 generic measurements on power-capable equipment. Letter form 7732 (A/B/C) and numeric form (1/2/3) are both accepted. 7733 integration: 7734 type: string 7735 description: > 7736 Optional integration identifier. When present, this integration 7737 is responsible for publishing the value for this point. 7738 The value topic is derived using the standard topic derivation rule. 7739 isSetpoint: 7740 type: boolean 7741 description: > 7742 Optional. When true, indicates this point is a setpoint (a target 7743 value written to control equipment behavior). 7744 anyOf: 7745 - title: Measurement 7746 description: > 7747 Continuous measurement with a known engineering unit. 7748 When `engUnit` is present, `stateText` must be absent. 7749 properties: 7750 engUnit: 7751 type: string 7752 description: > 7753 Engineering unit for the measurement. 7754 not: 7755 required: [stateText] 7756 - title: State 7757 description: > 7758 Binary or enumerated state point. 7759 When `stateText` is present, `engUnit` must be absent. 7760 properties: 7761 stateText: 7762 type: array 7763 description: > 7764 State label mapping. Each entry maps a numeric state value to its 7765 human-readable label (e.g., `[{value: 0, text: "Off"}, {value: 1, text: "On"}]`). 7766 items: 7767 type: object 7768 required: [value, text] 7769 properties: 7770 value: 7771 type: integer 7772 description: Numeric state value. 7773 text: 7774 type: string 7775 description: Human-readable label for this state. 7776 additionalProperties: false 7777 not: 7778 required: [engUnit] 7779 7780 GenericEquipmentPointMetadata: 7781 description: | 7782 Metadata for a GenericPoint on any generic equipment objectType. 7783 7784 Follows the standard equipment identifier modes: 7785 - **Named-object mode**: objectName + objectId required; servesId 7786 optional; associateId prohibited. 7787 - **Associate mode**: associateId required; objectName/objectId/servesId 7788 prohibited. 7789 7790 Unlike typed points, `engUnit` and `stateText` are both optional. 7791 `processArea` is required. 7792 allOf: 7793 - $ref: '#/components/schemas/EquipmentMetadataBase' 7794 - $ref: '#/components/schemas/GenericPointFields' 7795 unevaluatedProperties: false 7796 7797 GenericPowerMeterPointMetadata: 7798 description: | 7799 Metadata for a GenericPoint on PowerMeter equipment. 7800 Inherits the standard PowerMeter identifiers 7801 (objectName, objectId, servesId all required). 7802 `processArea` is required. `engUnit`, `stateText`, `phase`, and 7803 `integration` are optional. 7804 allOf: 7805 - $ref: '#/components/schemas/PowerMeterMetadataBase' 7806 - $ref: '#/components/schemas/GenericPointFields' 7807 unevaluatedProperties: false