Skip to main content

Connector setup

A connector describes how the runtime reaches an external system. Create it with Create new connector, select its type, and open the generated file in the Forms Editor.

Create a connector in VS Code​

  1. Open the AVstudio project and the Command Palette (⇧⌘P / Ctrl+Shift+P).
  2. Run AVstudio: Create new connector.
  3. Choose WebSocket, Web, MQTT, Crestron, AMX, KNX, or DoorBird.
  4. Enter a descriptive filename, such as docs-api for an HTTP service. NG supplies the type's extension.
  5. The generated file opens in AVS Forms Editor. Confirm the type badge and the path under connectors/.
  6. Fill in the connection settings for your system and save the document with ⌘S / Ctrl+S.
  7. Select the connector in the action, datasource, or feedback configuration that will use it.

Connector type picker in VS Code showing the six available creation types

The older 0.1.54 capture shows six types. The 27.0.29 picker also includes AMX.

The Command Palette also exposes individual Create new Web connector, Create new MQTT connector, and corresponding commands for the other available types. These skip the general type picker.

The screenshots show configuration screens, not established connections. The HTTP example uses api.example.invalid as a placeholder; replace it with your service's endpoint when configuring your own project. The MQTT example is an unconfigured template.

Supported creation commands​

ConnectorFile extensionConfiguration to check
Web / HTTP.webHost and request headers
WebSocket.websocketEndpoint, security, reconnect and keepalive
MQTT.mqttBroker endpoint, port, path, credentials, keepalive
Crestron.crestronProcessor host, IP ID, room ID/token where applicable, global joins
KNX.knxBAOS connection, gateway endpoint, credentials
DoorBird.doorbirdDevice host, port, credentials, security
AMX.amxHost, room, key, credentials, security, reconnect and keepalive

The existence of a file extension or a marketing integration list does not imply that a dedicated creation workflow is enabled. This table follows the installed extension's commands.

Web / HTTP connector​

Use a Web connector to hold the service host and shared request headers. The endpoint/query or outgoing operation is configured by the datasource or action that uses it.

Web connector in VS Code with a placeholder host and an Accept application/json header

FieldWhat to enter
HostThe service's base address, using the scheme required by the endpoint. The illustrated placeholder is https://api.example.invalid.
HeadersRequest header key/value pairs required by the service.
Add headerAdd a new row, then enter its key and value.
Delete button on a headerRemove that row from the connector configuration.

For a JSON API, the example header Accept: application/json requests JSON responses. It does not authenticate the request or guarantee the response shape. Add authentication headers only as required by the actual service.

To consume incoming data, open a datasource, choose Web (HTTP), select this connector in Web Connector, and configure URL postfix and optional polling. To send an HTTP request from a control, create a Web action and configure its method, target, body, and response handling. See Datasources and Actions.

MQTT connector​

The MQTT form separates broker connection settings from the topics and payloads used by consumers.

MQTT connector template in VS Code showing host, port, path, credentials, security, and timeout units

FieldWhat to configure
HostBroker endpoint reachable by the intended runtime.
PortThe listener's port. Use the broker's configured transport and listener, not an assumed default.
PathThe path required by the broker endpoint, where applicable.
Username / PasswordCredentials accepted by that broker.
Secure connectionMatch the endpoint's secure transport configuration.
Reconnect TimeoutRetry interval in milliseconds; the generated template shows 5000.
Keepalive TimeoutMQTT keepalive in seconds; the template shows 60.

The different timeout units matter: 5000 ms is five seconds, while 60 sec is one minute. A smaller reconnect interval does not fix invalid credentials or an incompatible listener.

Configure an incoming topic in the datasource's MQTT tab. Configure an outgoing topic, value, and retain behavior in an MQTT action. These are consumer settings, not fields on the connector shown above. Test publishing and receiving separately, including whether the final runtime supports the broker's configured transport.

Crestron connector​

The Crestron form exposes processor and authentication settings followed by project-wide feedback joins.

Crestron connector in the VS Code Forms Editor with connection fields and global feedback joins

FieldPurpose
HostProcessor address appropriate for the deployment.
IPIDThe interface identifier expected by the control-system configuration.
Room ID / Auth TokenDeployment-specific room/authentication values where required.
Get tokenRetrieves an existing processor token over SSH and offers generation when retrieval fails. Follow Retrieve a processor token.
Crestron global joinsShared incoming signals for page routing, notifications, datasource refresh, and connection feedback.

The global join fields are Analog page flip signal feedback, Serial page flip signal feedback, Notification signal feedback, Refresh data sources signal feedback, Refresh single data source signal feedback, and Connected signal feedback. Map them to the processor program deliberately; template values are not a completed join map.

Individual control actions and feedback still need their own configuration. See the Crestron guide for that workflow.

AMX connector​

Choose AMX in Create new connector, or run Create new AMX connector. Open the .amx file and enter Host, optional Port, Room, Key, Username, Password, and Secure connection as required by your system. Room selects /web/ui/<room>/ws; Key is the public key used for password encryption during authentication. The default port is 8080. Reconnect Timeout and Keepalive Timeout use milliseconds (defaults 5000 and 30000 respectively).

Save and start Live Preview, then inspect connection state in Connectors. The runtime reconnects after unexpected closure and sends a keepalive while connected. In 27.0.29, AMX variable get/set is not implemented; verify the required control workflow separately.

Other connector types​

KNX BAOS gateways​

Create a KNX connector, give it a gateway-specific name, then configure Host, Port, Username, Password, security, and the connection timeouts shown by the form. A project can have separate connectors for multiple BAOS devices; select the intended connector in each action or incoming binding.

The October 2026 Product Guide's tested configuration uses BAOS 777. That example does not establish compatibility with every BAOS gateway. Verify the gateway's actual connection settings, then test a known datapoint's command and feedback using the required ID and format. See KNX for the action workflow.

Additional connection settings​

TypeSetup details to confirm
WebSocketMatch Host, Port, Path, security, and Reconnect Timeout to the server. Configure the message payload in the consuming action and incoming data in the appropriate binding or datasource.
KNXThe documented connector uses a BAOS connection. Configure the gateway host, port, credentials, and security as required. Actions and bindings select the datapoint ID and format separately.
DoorBirdConfigure one connector per device, with host, optional port, credentials, and security settings. Device-specific control choices belong to the consuming control or action.
AMXCreation is available since 27.0.0; authenticated live connection/status since 27.0.3. Variable read/write remains unimplemented.

For protocol-specific considerations, see Supported protocols. Use the units displayed by each form; do not copy a timeout value between connector types without checking its meaning.

Environment values and passwords​

In 27.0.29, all seven connector types accept @env:KEY@ in connection fields, including Web host/headers, credentials, ports, and security options. Values resolve when the driver starts; switching the active environment in Live Preview restarts affected drivers. See Environment files for typed values and the independent production-build selection.

Password fields are masked. Their copy button copies the stored value without revealing it in the form; when the stored value is an environment token, it is that reference rather than an invitation to expose deployment credentials. Unset boolean selectors no longer preselect True. Set the required transport/security value explicitly or bind it to a typed env key.

An empty Web header key is skipped with a runtime warning and flagged by Health Check. Correct or remove incomplete rows rather than treating a skipped header as applied authentication.

Configure and reference​

Keep connector files under connectors/. Preserve the generated structure: the file extension and stored type must agree. Renaming docs-api.web to a different extension does not convert its settings into another protocol.

References elsewhere include the folder and extension: connectors/docs-api.web, not just docs-api.web or docs-api. Select the file in the consuming picker whenever possible.

ConsumerWhat it adds to the connection
ActionAn outgoing operation, such as an HTTP request, MQTT publish, or KNX write. Many action types store the reference in connectorUid.
DatasourceIncoming structured data, with a source-specific connector field plus endpoint/topic and any transformations.
Variable or element feedback bindingAn incoming signal/datapoint and the mapping to application state or display.

A saved connector alone does not create a datasource, send a command, or attach feedback. Configure and test each part of the path you need. After moving or renaming a connector, revisit its consumers and run the health check to catch stale references.

Test the complete path​

  1. Save the connector and run Run Project Health Check.
  2. Configure one control, datasource, or variable to use it.
  3. Open Live Preview and inspect available logs at info or debug.
  4. For an outgoing action, confirm that the system receives the expected command or payload.
  5. For incoming data, inspect the actual response or signal and confirm the UI updates.
  6. Repeat on the final runtime, whose network access and browser behavior may differ from the workstation.

Successful validation of the file is different from successful communication with the device. Check both directions when the interface depends on commands and feedback.

SymptomWhat to check
Connector is missing from a consumer's pickerCheck the file's folder, extension, stored type, and whether that consumer supports the chosen connector type.
Connection does not openVerify host, port, protocol/security, authentication, and reachability from the runtime.
HTTP request succeeds but data is blankInspect the response shape and the datasource's field paths, formatter, and filters.
MQTT has no updatesVerify the listener/transport, topic, publisher, credentials, and expected payload format.
Commands work but state does not updateConfigure incoming feedback separately and match its signal or datapoint.
Workstation preview works but the panel failsCheck the panel's network access and runtime support using the same endpoint and operation.
Repeated reconnectsCheck server logs and configuration before shortening retry intervals.
Reference fails after renamingReselect the connector in its consumers and save those documents.

Connector and environment files can contain credentials. Use placeholders in shared screenshots and examples, and keep production secrets out of public documentation.