„api.yaml“ ändern

This commit is contained in:
Christian Alzer 2023-12-08 09:42:10 +00:00
parent b67ab7fd35
commit 71a2f6d217

741
api.yaml
View File

@ -1,359 +1,384 @@
openapi: 3.0.0 openapi: 3.0.0
servers: servers:
- url: //hombach.de/api - url: //hombach.de/api
description: Hombach WT 20 description: Hombach WT 20
info: info:
description: | description: |
# Introduction # Introduction
Diese Dokumentation beschreibt die Modelle und SChnittstellen der WT 20 API von Hombach. Mit dieser können Wärmeübertrager Diese Dokumentation beschreibt die Modelle und SChnittstellen der WT 20 API von Hombach. Mit dieser können Wärmeübertrager
ausgelegt und nachgerechnet werden. ausgelegt und nachgerechnet werden.
*Diese Dokumentation ist momentan noch WIP* *Diese Dokumentation ist momentan noch WIP*
version: 0.1.0 version: 0.1.0
title: WT 20 API title: WT 20 API
termsOfService: 'http://hombach.de' termsOfService: 'http://hombach.de'
contact: contact:
name: API Support name: API Support
email: info@hombach.de email: info@hombach.de
url: https://hombach.de/api/doc url: https://hombach.de/api/doc
license: license:
name: proprietary name: proprietary
tags: tags:
- name: Hilfe - name: Hilfe
description: Hilfe mit der API description: Hilfe mit der API
- name: Berechnung - name: Berechnung
description: Berechnung von Wärmeübertragern description: Berechnung von Wärmeübertragern
- name: geo - name: geo
x-displayName: Das Geometrie-Modell x-displayName: Das Geometrie-Modell
description: | description: |
<SchemaDefinition schemaRef="#/components/schemas/geo" /> <SchemaDefinition schemaRef="#/components/schemas/geo" />
- name: betrp - name: betrp
x-displayName: Das Betriebspunkt-Modell x-displayName: Das Betriebspunkt-Modell
description: | description: |
<SchemaDefinition schemaRef="#/components/schemas/betrp" /> <SchemaDefinition schemaRef="#/components/schemas/betrp" />
x-tagGroups: x-tagGroups:
- name: Hilfe - name: Hilfe
tags: tags:
- Hilfe - Hilfe
- name: Berechnung - name: Berechnung
tags: tags:
- Berechnung - Berechnung
paths: paths:
/help: /help:
get: get:
tags: tags:
- Hilfe - Hilfe
summary: Liefert eine Hilfs-Übersicht der API summary: Liefert eine Hilfs-Übersicht der API
description: Liefert einige mögliche Werte für den Parameter "command". Identisch mit "command":"help" description: Liefert einige mögliche Werte für den Parameter "command". Identisch mit "command":"help"
responses: responses:
'200': '200':
description: successful operation description: successful operation
content: content:
application/json: application/json:
schema: schema:
type: object type: object
minProperties: 2 minProperties: 2
additionalProperties: additionalProperties:
type: string type: string
'/help/{query}': '/help/{query}':
get: get:
tags: tags:
- Hilfe - Hilfe
summary: Auflistung Werte für einen Parameter summary: Auflistung Werte für einen Parameter
description: Liefert eine Liste möglicher Werte für den abgefragten Parameter description: Liefert eine Liste möglicher Werte für den abgefragten Parameter
parameters: parameters:
- name: query - name: query
in: path in: path
desciption: Abzufragender Parameter desciption: Abzufragender Parameter
required: true required: true
schema: schema:
$ref: '#/components/schemas/mode' $ref: '#/components/schemas/mode'
responses: responses:
'200': '200':
description: successful operation description: successful operation
example: example:
- key: 22 - key: 22
name: 22 name: 22
mat_key: Cu mat_key: Cu
diameter: 22 diameter: 22
nenndurchmesser: DN 20 nenndurchmesser: DN 20
thickness: 1.5 thickness: 1.5
- key: 28 - key: 28
name: 28 name: 28
mat_key: Cu mat_key: Cu
diameter: 28 diameter: 28
nenndurchmesser: DN 25 nenndurchmesser: DN 25
thickness: 1.5 thickness: 1.5
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/mode' $ref: '#/components/schemas/mode'
components: components:
schemas: schemas:
ApiResponse: ApiResponse:
type: object type: object
properties: properties:
code: code:
type: integer type: integer
format: int32 format: int32
type: type:
type: string type: string
message: message:
type: string type: string
mode: mode:
type: string type: string
description: Das Kommando, mit dem die API angesprochen wird description: Das Kommando, mit dem die API angesprochen wird
example: query_sam example: query_sam
enum: enum:
- help - help
- query_med - query_med
- query_kmed - query_kmed
- query_ansch_typ - query_ansch_typ
- query_lam - query_lam
- query_mat - query_mat
- query_rohr - query_rohr
- query_sam - query_sam
- query_calc_options - query_calc_options
- query_baugr - query_baugr
- query_dim - query_dim
- query_keys - query_keys
- query_keys_export - query_keys_export
command: command:
type: string type: string
description: Das Kommando, mit dem die API angesprochen wird description: Das Kommando, mit dem die API angesprochen wird
example: help example: help
enum: enum:
- auslegung - auslegung
- nachrechnung - nachrechnung
- reserve - reserve
- abort - abort
kind: kind:
type: string type: string
description: Das Kommando, mit dem die Berechnungsmethode der API bestimmt wird description: Das Kommando, mit dem die Berechnungsmethode der API bestimmt wird
example: direktverdampfer example: direktverdampfer
default: wt default: wt
enum: enum:
- wt - wt
- direktverdampfer - direktverdampfer
- verflüssiger - verflüssiger
- umkehrbetrieb - umkehrbetrieb
geo: geo:
type: object type: object
description: Definiert die Ausführung (die Geometrie) des Wärmeübertragers description: Definiert die Ausführung (die Geometrie) des Wärmeübertragers
required: required:
- lb - lb
- hb - hb
- rohr_key - rohr_key
- lam_key - lam_key
discriminator: discriminator:
propertyName: ^geoType propertyName: geoType
mapping: mapping:
WT: '#/components/schemas/geoWT' WT: '#/components/schemas/geoWT'
DV: '#/components/schemas/geoDV' DV: '#/components/schemas/geoDV'
VF: '#/components/schemas/geoVF' VF: '#/components/schemas/geoVF'
properties: properties:
lb: lb:
description: Berippte/lichte Breite description: Berippte/lichte Breite
type: number type: number
minimum: 125 minimum: 125
maximum: 5200 maximum: 5200
example: 920 example: 920
hb: hb:
description: Berippte/lichte Höhe description: Berippte/lichte Höhe
type: number type: number
minimum: 125 minimum: 125
maximum: 2880 maximum: 2880
example: 600 example: 600
rohr_key: rohr_key:
description: Zu verwendendes Rohr description: Zu verwendendes Rohr
type: string type: string
example: example:
- key: C12x0.35 - key: C12x0.35
- key: C9.5x0.3 - key: C9.5x0.3
Kreise_fixed: Kreise_fixed:
type: boolean type: boolean
description: true, wenn die Anzahl der Kreise vorgegeben werden soll description: true, wenn die Anzahl der Kreise vorgegeben werden soll
default: false default: false
Kreise: Kreise:
type: integer type: integer
description: Anzahl der Kreise. Wird berechnet, wenn Kreise_fixed=false description: Anzahl der Kreise. Wird berechnet, wenn Kreise_fixed=false
allowEmptyValue: true allowEmptyValue: true
example: 8 example: 8
lam_key: lam_key:
description: Zu verwendende Lamelle description: Zu verwendende Lamelle
type: string type: string
example: example:
- key: 12:30x26v1 - key: 12:30x26v1
- key: 9.5:25x22v1 - key: 9.5:25x22v1
lam_abst_fixed: lam_abst_fixed:
type: boolean type: boolean
description: true, wenn Lamellenabstand vorgegeben werden soll description: true, wenn Lamellenabstand vorgegeben werden soll
default: false default: false
lam_abst: lam_abst:
type: number type: number
description: Lamellenabstand (mm). Wird berechnet, wenn lam_abst_fixed=false description: Lamellenabstand (mm). Wird berechnet, wenn lam_abst_fixed=false
allowEmptyValue: true allowEmptyValue: true
example: 2.5 example: 2.5
teile: teile:
type: integer type: integer
description: Anzahl der Teile des Wärmeübertragers, description: Anzahl der Teile des Wärmeübertragers,
example: 1 example: 1
default: 1 default: 1
RR_fixed: RR_fixed:
type: boolean type: boolean
description: true, wenn die Anzahl der Rohrreihen vorgegeben werden soll description: true, wenn die Anzahl der Rohrreihen vorgegeben werden soll
default: false default: false
RR: RR:
type: integer type: integer
description: Anzahl der Rohrreihen. Wird berechnet, wenn RR_fixed=false description: Anzahl der Rohrreihen. Wird berechnet, wenn RR_fixed=false
example: 6 example: 6
allowEmptyValue: true allowEmptyValue: true
geoWT: geoWT:
description: Definiert die Ausführung (die Geometrie) eines Wasser/Sole Wärmeübertragers description: Definiert die Ausführung (die Geometrie) eines Wasser/Sole Wärmeübertragers
allOf: allOf:
- $ref: '#/components/schemas/geo' - $ref: '#/components/schemas/geo'
- type: object - type: object
properties: properties:
sam_fixed : sam_fixed :
type: boolean type: boolean
description: true, wenn der Sammlerdurchmesser vorgegeben werden soll description: true, wenn der Sammlerdurchmesser vorgegeben werden soll
default: false default: false
sammler_key : sammler_key :
description: Zu verwendender Sammlerdurchmesser description: Zu verwendender Sammlerdurchmesser
type: string type: string
example: example:
- key: 28 - key: 28
- key: 32 - key: 32
geoDV: geoDV:
description: Definiert die Ausführung (die Geometrie) eines Direktverdampfers description: Definiert die Ausführung (die Geometrie) eines Direktverdampfers
allOf: allOf:
- $ref: '#/components/schemas/geo' - $ref: '#/components/schemas/geo'
- type: object - type: object
properties: properties:
anz_med_kreise: anz_med_kreise:
type: integer type: integer
description: Anzahl separater Kältekreise description: Anzahl separater Kältekreise
default: 1 default: 1
example: 2 example: 2
sam_fixed : minimum: 1
type: boolean maximum: 6
description: true, wenn die Sammlerdurchmesser vorgegeben werden sollen sam_fixed :
default: false type: boolean
sammler_key : description: true, wenn die Sammlerdurchmesser vorgegeben werden sollen
description: Zu verwendende Sammlerdurchmesser default: false
type: string sammler_key :
example: description: Zu verwendende Sammlerdurchmesser
- key: 28 type: string
- key: 32 example:
betrp: - key: 28
type: object - key: 32
description: Ein Betriebspunkt eines Wärmeübertragers geoVF:
required: description: Definiert die Ausführung (die Geometrie) eines Verflüssigers
- select_luftstrom allOf:
- luft_temp_ein - $ref: '#/components/schemas/geo'
- select_FLE - type: object
properties: properties:
select_luftstrom: anz_med_kreise:
type: integer type: integer
description: | description: Anzahl separater Kältekreise
Gibt an in welcher Einheit der Luftstrom vorgegeben wird. default: 1
* `0` für Luftvolumenstrom (m³/h) example: 2
* `1` für Luftmassenstrom (kg/h) minimum: 1
default: 0 maximum: 6
luft_volstrom_bez: sam_fixed :
type: number type: boolean
description: Vorgabe des Luftvolumenstroms bei Bezugsdichte (m³/h), wenn `"select_luftstrom":"0"` description: true, wenn die Sammlerdurchmesser vorgegeben werden sollen
example: 6000 default: false
luft_masstrom_feucht: sammler_key :
type: number description: Zu verwendende Sammlerdurchmesser
description: Vorgabe des feuchten Luftmassenstroms (kg/h), wenn `"select_luftstrom":"1"` type: string
example: 7200 example:
luft_temp_ein: - key: 28
type: number - key: 32
description: Lufttemperatur (°C) am Eintritt betrp:
example: 32 type: object
luft_temp_aus: description: Ein Betriebspunkt eines Wärmeübertragers
type: number required:
description: | - select_luftstrom
**Erforlderlich für Auslegung** - luft_temp_ein
Lufttemperatur (°C) am Austritt - select_FLE
example: 16 properties:
select_FLE: select_luftstrom:
type: integer type: integer
description: | description: |
Gibt an in welcher Einheit die Luftfeuchtigkeit vorgegeben wird. Gibt an in welcher Einheit der Luftstrom vorgegeben wird.
* `0` für relative Feuchte (%) * `0` für Luftvolumenstrom (m³/h)
* `1` für absolute feuchte (g/kg) * `1` für Luftmassenstrom (kg/h)
default: 0 default: 0
luft_relfeu_ein: luft_volstrom_bez:
type: number type: number
description: Relative Feuchte (%) der Luft am Eintritt description: Vorgabe des Luftvolumenstroms bei Bezugsdichte (m³/h), wenn `"select_luftstrom":"0"`
example: 40 example: 6000
luft_absfeu_ein: luft_masstrom_feucht:
type: number type: number
description: Absolute Feuchte (g/kg) der Luft am Eintritt description: Vorgabe des feuchten Luftmassenstroms (kg/h), wenn `"select_luftstrom":"1"`
example: 10.6 example: 7200
betrpWT: luft_temp_ein:
description: Definiert einen Betriebspunkt eines Wasser/Sole Wärmeübertragers type: number
allOf: description: Lufttemperatur (°C) am Eintritt
- $ref: '#/components/schemas/betrp' example: 32
- type: object luft_temp_aus:
required: type: number
- med_key description: |
- med_temp_ein **Erforlderlich für Auslegung**
properties: Lufttemperatur (°C) am Austritt
med_key: example: 16
type: string select_FLE:
description: Gibt an, welches Medium zu verwenden ist type: integer
example: description: |
- wasser Gibt an in welcher Einheit die Luftfeuchtigkeit vorgegeben wird.
- Antifrogen N * `0` für relative Feuchte (%)
med_konz: * `1` für absolute feuchte (g/kg)
type: number default: 0
description: Konzentration (%) des Frostschutzmittels luft_relfeu_ein:
example: 34 type: number
med_temp_ein: description: Relative Feuchte (%) der Luft am Eintritt
type: number example: 40
description: Vorlauftemperatur (°C) des Mediums luft_absfeu_ein:
example: 6 type: number
med_temp_aus: description: Absolute Feuchte (g/kg) der Luft am Eintritt
type: number example: 10.6
description: Rücklauftemperatur (°C) des Mediums betrpWT:
example: 12 description: Definiert einen Betriebspunkt eines Wasser/Sole Wärmeübertragers
med_volstrom: allOf:
type: number - $ref: '#/components/schemas/betrp'
description: | - type: object
**Erforderlich bei Nachrechnung und Reserve** required:
Volumenstrom (L/h) des Mediums - med_key
example: 3400 - med_temp_ein
med_masstrom: properties:
type: number med_key:
description: | type: string
**Erforderlich bei Nachrechnung und Reserve** description: Gibt an, welches Medium zu verwenden ist
Massenstrom (kg/h) des Mediums example:
example: 3400 - wasser
select_KA: - Antifrogen N
type: integer med_konz:
description: | type: number
**Erforderlich bei Nachrechnung und Reserve** description: Konzentration (%) des Frostschutzmittels
Gibt an in welcher Einheit der Mediumstrom vorgegeben wird. example: 34
* `0` für Volumenstrom (L/h) med_temp_ein:
* `1` für Massenstrom (kg/h) type: number
default: 0 description: Vorlauftemperatur (°C) des Mediums
requestBodies: example: 6
securitySchemes: med_temp_aus:
api_key: type: number
description: > description: Rücklauftemperatur (°C) des Mediums
For this sample, you can use the api key `special-key` to test the example: 12
authorization filters. med_volstrom:
type: apiKey type: number
name: api_key description: |
in: header **Erforderlich bei Nachrechnung und Reserve**
examples: Volumenstrom (L/h) des Mediums
geo: example: 3400
value: med_masstrom:
lb: 920 type: number
hb: 600 description: |
rohr_key: C9.5x0.3 **Erforderlich bei Nachrechnung und Reserve**
Massenstrom (kg/h) des Mediums
example: 3400
select_KA:
type: integer
description: |
**Erforderlich bei Nachrechnung und Reserve**
Gibt an in welcher Einheit der Mediumstrom vorgegeben wird.
* `0` für Volumenstrom (L/h)
* `1` für Massenstrom (kg/h)
default: 0
requestBodies:
securitySchemes:
api_key:
description: >
For this sample, you can use the api key `special-key` to test the
authorization filters.
type: apiKey
name: api_key
in: header
examples:
geo:
value:
lb: 920
hb: 600
rohr_key: C9.5x0.3
lam_key: 9.5:25x22v1 lam_key: 9.5:25x22v1