diff --git a/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml b/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml index cf240f99d..1953d8eaa 100644 --- a/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml +++ b/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml @@ -2,5 +2,84 @@ --- allOf: - - $ref: ../node.yaml +- type: object + properties: + in: + type: object + properties: + signals: + $ref: ./signals/iec61850_goose_subscriber_signal.yaml + + interface: + type: string + + with_timestamp: + type: boolean + + subscribers: + type: object + additionalProperties: + type: object + required: + - go_cb_ref + properties: + go_cb_ref: + type: string + + dst_address: + type: string + + app_id: + type: integer + + trigger: + type: string + enum: + - always + - change + default: always + + out: + type: object + properties: + signals: + $ref: ../signal_list.yaml + + resend_interval: + type: number + default: 1 + description: | + Time interval for periodic resend of last sample in floating point seconds. + + interface: + type: string + default: localhost + description: | + Name of the ethernet interface to send on. + + publishers: + type: array + items: + type: object + properties: + go_id: + type: string + go_cb_ref: + type: string + data_set_ref: + type: string + dst_address: + type: string + app_id: + type: integer + conf_rev: + type: integer + time_allowed_to_live: + type: integer + burst: + type: integer + data: + type: array + items: + $ref: ./signals/iec61850_goose_publisher_data.yaml diff --git a/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_data.yaml b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_data.yaml new file mode 100644 index 000000000..ee4a5b8b2 --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_data.yaml @@ -0,0 +1,30 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +allOf: +- type: object + required: + - mms_type + properties: + mms_type: + type: string + enum: + - boolean + - int8 + - int16 + - int32 + - int64 + - int8u + - int16u + - int32u + - float32 + - float64 + - bitstring + description: | + Expected basic data type in received array. + + mms_bitstring_size: + type: integer + default: 32 + description: | + Size metadata for mms_type bitstring. diff --git a/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_publisher_data.yaml b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_publisher_data.yaml new file mode 100644 index 000000000..a4fdf1ace --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_publisher_data.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +allOf: +- oneOf: + - type: object + properties: + value: + oneOf: + - type: integer + - type: number + - type: boolean + description: | + Constant signal value. + + - type: object + required: + - signal + properties: + signal: + type: string + description: | + Name of the input signal for the value. + +- $ref: ./iec61850_goose_data.yaml diff --git a/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_subscriber_signal.yaml b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_subscriber_signal.yaml new file mode 100644 index 000000000..7a83e130b --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/signals/iec61850_goose_subscriber_signal.yaml @@ -0,0 +1,19 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +allOf: +- type: object + required: + - index + - subscriber + properties: + index: + type: number + description: | + Index within the received GOOSE event array. + + subscriber: + type: string + +- $ref: ./iec61850_goose_data.yaml +- $ref: ../../signal.yaml