asyncapi: 2.4.0
channels:
  /device/{deviceId}/goal/route:
    parameters:
      deviceId:
        schema:
          $ref: shared.yaml#/components/schemas/deviceId
    subscribe:
      bindings:
        $ref: '#/components/channelBindings/MQTTStatusBinding'
      message:
        $ref: '#/components/messages/routeSet'
      tags:
        - name: drone
  /device/{deviceId}/status:
    parameters:
      deviceId:
        schema:
          $ref: shared.yaml#/components/schemas/deviceId
    publish:
      bindings:
        $ref: '#/components/channelBindings/MQTTStatusBinding'
      message:
        $ref: '#/components/messages/statusInformation'
      tags:
        - name: drone
components:
  channelBindings:
    MQTTCommandBinding:
      mqtt:
        qos: 2
        retain: false
    MQTTStatusBinding:
      mqtt:
        qos: 1
        retain: true
  messages:
    routeSet:
      description: Sets a list of waypoints in local frame of reference of the device to achieve the goal set
      payload:
        $ref: shared.yaml#/components/schemas/route
      tags:
        - name: drone
    statusInformation:
      description: Sends information of the drone current position and the 2D map information to be sent to the orchestrator
      payload:
        $ref: shared.yaml#/components/schemas/drone_status
      tags:
        - name: drone
info:
  contact:
    email: Jan.Janssen@dfki.de
    name: Jan Janssen
  description: |-
    # REXASI-PRO Drone ASynchron API
    This document is written from the Point of View from the drones.

    ## YAML specification

    You can find the newest openapi specification on [openapi.yaml](openapi.yaml).
    The human readable description of the openapi can be found [openapi.html](openapi.html).

    You can find the newest asyncapi specification on [drone-asyncapi.yaml](drone-asyncapi.yaml).
    The human readable description of the asyncapi can be found [drone-asyncapi.html](drone-asyncapi.html).

    **NOTE**: Commit: 7967a30 Date: 2023.10.26_16:10:05
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: REXASI-PRO Drone ASynchron API
  version: v0.1
servers:
  production:
    protocol: MQTTS
    url: orchestrator.rexasi-pro.spindoxlabs.com:8883
  testing:
    protocol: MQTT
    url: localhost:1883
