For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • DSX Exchange
    • Architecture
    • Pre-Deployment
    • Deployment
    • Integrator Quickstart
    • Operations
    • Authentication
    • BMS Integration
    • Validated Capabilities
  • Schema
      • Overview
      • Messages
      • Schemas
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • How to use this spec
  • Topic structure
  • Publisher rules
  • Integration publishing contract
  • Topic derivation rule
  • Contract
  • Example flow
  • Metadata types and concepts
  • Raw AsyncAPI Spec
SchemaBMS Event Bus

BMS Event Bus 1.0.0

||View as Markdown|
Previous

Validated Capabilities

Next

Metadata

Telemetry and control event catalog for the Building Management System (BMS) over MQTT. Provides real-time point values and point metadata for all supported object and point types.

How to use this spec

Each monitored point follows a Value / Metadata pattern:

  • Value messages carry the live reading (value, timestamp, quality).

    Subscribe to a value channel to receive real-time telemetry. Values are published whenever they change and republished every 100 seconds when they do not change.

  • Metadata messages describe the point (units, identifiers, relationships).

    Always receive metadata before interpreting values. Metadata is retained and published once at startup. It is subsequently published every 100 seconds.

Topic structure

PublisherTopic TypePattern
BMSValueBMS/v1/PUB/Value/{objectType}/{pointType}/{tagPath}
BMSMetadataBMS/v1/PUB/Metadata/{objectType}/{pointType}/{tagPath}
IntegrationValueBMS/v1/{integration}/Value/{objectType}/{pointType}/{tagPath}

The {tagPath} is a vendor-defined hierarchical path and may contain multiple / segments. Each {tagPath} must be unique for each point and is usually derived from the BMS system based on the BMS point name.

Use # to subscribe to all topics under a given hierarchy (multi-level wildcard).

Use + to match exactly one topic level (single-level wildcard).

Publisher rules

  • BMS publishes all metadata — including for points whose values are written by integrations.

  • BMS publishes its own point values on BMS/v1/PUB/Value/....

  • Integrations are any system (MQTT Client) external to the BMS. Whenever they need to directly send messages to the BMS, they publish values on BMS/v1/{integration}/Value/.... Integrations do not publish metadata.

Integration publishing contract

This rule applies globally to every integration-published point across all objectTypes.

BMS publishes metadata for every monitored point — including points whose values are written by external integrations. For such points the metadata payload contains an integration field identifying which integration owns that point’s value.

Metadata fieldTypeMeaning
integrationstringIdentifier of the integration that must publish the value for this point

Topic derivation rule

The value topic is derived methodically from the respective metadata topic (published by BMS) that carried the integration field. DSX Exchange Access Control Lists will typically be created so that MQTT Clients are provided access to publish and subscribe to specific namespaces that align with the [Publisher]:

BMS/v1/[Publisher]/[TopicType]/{objectType}/{pointType}/{tagPath}

SegmentMetadata topicValue topic
PublisherPUBvalue of integration field in metadata
TopicTypeMetadataValue
Remainder{objectType}/{pointType}/{tagPath}{objectType}/{pointType}/{tagPath}

In other words, the Publisher integration will derive the following value topic to publish based on the corresponding BMS metadata:

BMS/v1/PUB/Metadata/{objectType}/{pointType}/{tagPath}
↓ replace PUB → {integration}, Metadata → Value
BMS/v1/{integration}/Value/{objectType}/{pointType}/{tagPath}

Contract

When an integration receives a BMS metadata message and the integration field matches its own identifier, the integration MUST:

  1. Note the full metadata topic it arrived on.
  2. Derive the value topic by substituting PUB → own identifier and Metadata → Value, keeping {objectType}/{pointType}/{tagPath} unchanged.
  3. Publish value messages to that derived topic.

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).

Example flow

BMS publishes metadata →
Topic: BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5
Payload: { ..., "integration": "MEPAI", ... }
Integration "MEPAI" receives the metadata, recognises its identifier,
derives its value topic →
BMS/v1/PUB/Metadata/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5
↓ PUB→MEPAI, Metadata→Value
BMS/v1/MEPAI/Value/CDU/LiquidTemperatureSpRequest/site1/row3/cdu5

MEPAI publishes its setpoint reading to that derived topic.

The same contract governs all other integration-published points, including Rack/RackLeakDetectTray, Rack/RackLiquidIsolationRequest, Rack/RackElectricalIsolationRequest, System/HeartbeatTimestampIntegration, System/HeartbeatEchoIntegration, CDU/LiquidTemperatureSpRequest, and any future integration-owned pointTypes.

Metadata types and concepts

  • objectType: Object Types are restricted to specific strings in accordance with this AsyncAPI. They typically represent BMS equipment or devices.

    • System: A System can be the BMS or an Integration to the BMS. Heartbeat points and system-to-system communication point types are typically defined inside of a System object type. System Heartbeat point types are expected to operate as follows. An integration may choose to use the Echo points or not.

      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.

Raw AsyncAPI Spec

View / copy the raw AsyncAPI YAML
1# Copyright 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2# SPDX-License-Identifier: Apache-2.0
3
4asyncapi: 3.1.0
5
6info:
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
181channels:
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
2069operations:
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
2678components:
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