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