WT-20/api.yaml

359 lines
11 KiB
YAML

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