# yaml-language-server: $schema=http://json-schema.org/draft-07/schema
# SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
# SPDX-License-Identifier: Apache-2.0
---
allOf:
- type: object
  properties:

    in:
      type: object
      properties:
        signals:
          $ref: ../signal_list.yaml

    out:
      type: object
      properties:
        duplicate_ioa_is_sequence:
          type: boolean
          default: false
          description: |
            Treat consecutive signals with the same IOA as a sequence by assigning subsequent IOAs.

        signals:
          type: array
          items:
            $ref: ./signals/iec60870_signal.yaml

    address:
      type: string
      default: localhost
      description: |
        Hostname or IP address for the IEC60870 slave to listen on.

    port:
      type: number
      default: 2404
      description: |
        Port number of the IEC60870 slave.

    ca:
      type: number
      default: 1
      description: |
        Common Address of the IEC60870 slave.

    low_priority_queue:
      type: number
      default: 100
      description: |
        Message queue size for the periodic messages (increase on dropped simulation data messages).

    high_priority_queue:
      type: number
      default: 100
      description: |
        Message queue size for interrogation responses (increase on missing signals in interrogation response).

    apci_t0:
      type: number

    apci_t1:
      type: number

    apci_t2:
      type: number

    apci_t3:
      type: number

    apci_k:
      type: number

    apci_w:
      type: number

- $ref: ../node.yaml
