# 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
  required:
  - interface
  properties:
    in:
      type: object
      properties:
        check_dst_address:
          type: boolean
          default: false

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

    out:
      type: object
      required:
      - signals
      - sv_id
      properties:
        signals:
          type: array
          items:
            $ref: ./signals/iec61850_signal.yaml

        sv_id:
          type: string

        conf_rev:
          type: integer

        smp_mod:
          type: string
          enum:
          - per_nominal_period
          - samples_per_second
          - seconds_per_sample

        smp_synch:
          type: string
          enum:
          - not_synchronized
          - local_clock
          - global_clock

        smp_rate:
          type: integer

        vlan:
          type: object
          properties:
            enabled:
              type: boolean
              default: true

            id:
              type: integer
              default: 0

            priority:
              type: integer
              default: 4

    interface:
      type: string
      description: Name of network interface to/from which this node will publish/subscribe for SV frames.

    app_id:
      type: integer
      default: 0x4000

    dst_address:
      type: string
      default: 01:0c:cd:01:00:01

- $ref: ../node.yaml
