mirror of
https://github.com/jwetzell/showbridge-docs.git
synced 2026-08-10 08:03:38 +00:00
work on auto-generating parts of docs from JSONSchema
This commit is contained in:
@@ -3,24 +3,22 @@ title: SQLite
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `db.sqlite` module can open/create SQLite databases
|
||||
|
||||
- **type**: `db.sqlite`
|
||||
- **params**:
|
||||
- **dsn**: the data source name, this can be a file path or the special `:memory:` name for an in-memory DB
|
||||
<SchemaInfo type="module" id="db.sqlite"></SchemaInfo>
|
||||
|
||||
This module implements the `DatabaseModule` interface.
|
||||
|
||||
## Cap
|
||||
|
||||
### Example snippet
|
||||
### Example
|
||||
|
||||
Opens an in-memory SQLite database
|
||||
|
||||
```yaml
|
||||
- id: db
|
||||
- id: myDatabase
|
||||
type: db.sqlite
|
||||
params:
|
||||
dsn: ":memory:"
|
||||
params:
|
||||
dsn: ":memory:"
|
||||
```
|
||||
|
||||
@@ -4,12 +4,11 @@ sidebar:
|
||||
label: Server
|
||||
order: 2
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `http.server` module emits a message for every HTTP request that is made to the server.
|
||||
|
||||
- **type**: `http.server`
|
||||
- **params**:
|
||||
- **port**: TCP port to listen for HTTP requests on
|
||||
<SchemaInfo type="module" id="http.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ sidebar:
|
||||
---
|
||||
|
||||
import { Aside } from "@astrojs/starlight/components";
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
<Aside type="caution">
|
||||
This module is not currently included in the docker builds of
|
||||
@@ -14,9 +15,7 @@ import { Aside } from "@astrojs/starlight/components";
|
||||
|
||||
The `midi.input` module connects to a midi device (or virtual device) and emits MIDI messages that come in on that port. This module does not support output.
|
||||
|
||||
- **type**: `midi.input`
|
||||
- **params**:
|
||||
- **port**: name of the MIDI port to connect to
|
||||
<SchemaInfo type="module" id="midi.input"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ sidebar:
|
||||
---
|
||||
|
||||
import { Aside } from "@astrojs/starlight/components";
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
<Aside type="caution">
|
||||
This module is not currently included in the docker builds of
|
||||
@@ -14,9 +15,7 @@ import { Aside } from "@astrojs/starlight/components";
|
||||
|
||||
The `midi.output` module connects to a midi device (or virtual device) and allows sending MIDI messages out to that device. This module does not produce any messages and so using it as an `input` to a [route](/concepts/routes) would be pointless.
|
||||
|
||||
- **type**: `midi.output`
|
||||
- **params**:
|
||||
- **port**: name of the MIDI port to connect to
|
||||
<SchemaInfo type="module" id="midi.output"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,14 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `mqtt.client` module connects to a MQTT broker and emits a message messages based on the subscribed topic it receives from the port. This module is also capable of publishing MQTT messages to the connected broker.
|
||||
|
||||
- **type**: `mqtt.client`
|
||||
- **params**:
|
||||
- **broker**: connection string for the mqtt broker (`mqtt://test.mosquitto.org:1833`)
|
||||
- **topic** mqtt topic to subscribe to
|
||||
- **clientId** client ID for this connection to the broker
|
||||
<SchemaInfo type="module" id="mqtt.client"></SchemaInfo>
|
||||
|
||||
This module implements the `PubSubModule` interface.
|
||||
|
||||
|
||||
@@ -4,13 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module connects to a [NATS](https://nats.io/) server and subscribes to a subject.
|
||||
|
||||
- **type**: `nats.client`
|
||||
- **params**:
|
||||
- **url**: the URL of the NATS server to connect to (e.g. `nats://localhost:4222`)
|
||||
- **subject**: the subject to subscribe to
|
||||
<SchemaInfo type="module" id="nats.client"></SchemaInfo>
|
||||
|
||||
This module implements the `PubSubModule` interface.
|
||||
|
||||
|
||||
@@ -4,22 +4,20 @@ sidebar:
|
||||
label: Server
|
||||
order: 2
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module starts a NATS server that listens for incoming connections.
|
||||
|
||||
- **type**: `nats.server`
|
||||
- **params**:
|
||||
- **ip**: (optional) the IP address to bind the server to defaults to `0.0.0.0`
|
||||
- **port**: (optional) the port to listen on defaults to `4222`
|
||||
<SchemaInfo type="module" id="nats.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
Start a local NATS server listening on port 5555
|
||||
|
||||
```yaml
|
||||
- id: httpServer
|
||||
type: http.server
|
||||
- id: natsServer
|
||||
type: nats.server
|
||||
params:
|
||||
ip: 127.0.0.1
|
||||
port: 5555
|
||||
port: 4222
|
||||
```
|
||||
|
||||
@@ -4,19 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `net.tcp.client` module connects to TCP server and emits messages based on the data it receives from the server that it connects to. Messages are determined by "framing" techniques as TCP is a stream based protocol. The module will attempt to reconnect anytime the connection is closed.
|
||||
|
||||
- **type**: `net.tcp.client`
|
||||
- **params**:
|
||||
- **host**: IP or FQDN to connect to
|
||||
- **port**: TCP port to connect to
|
||||
- **framing**: how to chunk the TCP stream into "messages"
|
||||
- LF `\n`
|
||||
- CR `\r`
|
||||
- CRLF `\r\n`
|
||||
- [SLIP](https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol)
|
||||
- RAW (no framing is done bytes are sent out as they are received)
|
||||
<SchemaInfo type="module" id="net.tcp.client"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,19 +4,11 @@ sidebar:
|
||||
label: Server
|
||||
order: 2
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `net.tcp.server` module emits a message messages based on the data it receives from clients that connect to it. Messages are determined by "framing" techniques as TCP is a stream based protocol.
|
||||
|
||||
- **type**: `net.tcp.server`
|
||||
- **params**:
|
||||
- **ip**: (optional) IP address to bind the TCP server to, if left out it will listen on all interfaces
|
||||
- **port**: TCP port to listen on
|
||||
- **framing**: how to chunk of the incoming TCP stream into "messages"
|
||||
- LF `\n`
|
||||
- CR `\r`
|
||||
- CRLF `\r\n`
|
||||
- [SLIP](https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol)
|
||||
- RAW (no framing is done bytes are sent out as they are received)
|
||||
<SchemaInfo type="module" id="net.tcp.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,13 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `net.udp.client` module sends messages to a the configured `host` and `port`. This module does not produce any messages and so using it as an `input` to a [route](/concepts/routes) would be pointless.
|
||||
|
||||
- **type**: `net.udp.client`
|
||||
- **params**:
|
||||
- **host**: IP or FQDN to send message to
|
||||
- **port**: UDP port to send messages to
|
||||
<SchemaInfo type="module" id="net.udp.client"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,11 +4,9 @@ sidebar:
|
||||
label: Multicast
|
||||
order: 3
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
- **type**: `net.udp.multicast`
|
||||
- **params**:
|
||||
- **ip**: the multicast IP address to listen to
|
||||
- **port**: the port to listen on
|
||||
<SchemaInfo type="module" id="net.udp.multicast"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,14 +4,11 @@ sidebar:
|
||||
label: Server
|
||||
order: 2
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `net.udp.server` module emits a message for every incoming UDP datagram.
|
||||
|
||||
- **type**: `net.udp.server`
|
||||
- **params**:
|
||||
- **ip**: (optional) IP address to bind the UDP server to, if left out it will listen on all interfaces
|
||||
- **port**: UDP port to listen on
|
||||
- **bufferSize**: (optional) Size of the read buffer for incoming UDP datagrams, defaults to `2048`
|
||||
<SchemaInfo type="module" id="net.udp.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
|
||||
- **type**: `psn.client`
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module listens on the [PosiStageNet](http://posistage.net/) multicast address and emits tracker states anytime a new PSN message is received.
|
||||
|
||||
<SchemaInfo type="module" id="psn.client"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -4,13 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `redis.client` module connects to a Redis server. This module does not produce any messages and so using it as an `input` to a [route](/concepts/routes) would be pointless.
|
||||
|
||||
- **type**: `redis.client`
|
||||
- **params**:
|
||||
- **host**: the Redis server host
|
||||
- **port**: the Redis server port
|
||||
<SchemaInfo type="module" id="redis.client"></SchemaInfo>
|
||||
|
||||
This module implements the `KeyValueModule` interface.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
import { Aside } from "@astrojs/starlight/components";
|
||||
|
||||
<Aside type="caution">
|
||||
@@ -14,16 +14,7 @@ import { Aside } from "@astrojs/starlight/components";
|
||||
|
||||
The `serial.client` module connects to a serial device and emits a message messages based on the data it receives from the port. Messages are determined by "framing" techniques as serial is a stream based protocol.
|
||||
|
||||
- **type**: `serial.client`
|
||||
- **params**:
|
||||
- **port**: serial port to connect to i.e `/dev/ttyS0`
|
||||
- **baudRate** baud rate to use when connecting to serial port
|
||||
- **framing**: how to chunk the serial stream into "messages"
|
||||
- LF `\n`
|
||||
- CR `\r`
|
||||
- CRLF `\r\n`
|
||||
- [SLIP](https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol)
|
||||
- RAW (no framing is done bytes are sent out as they are received)
|
||||
<SchemaInfo type="module" id="serial.client"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,15 +4,11 @@ sidebar:
|
||||
label: Server
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections and emits call events when a new call is received. This can be used with cheap SIP gateway devices to connect an analog phone line and do interesting things like [firing QLab cues with phone calls](/examples/dial-a-cue).
|
||||
|
||||
- **type**: `sip.call.server`
|
||||
- **params**:
|
||||
- **ip**: (optional) the IP address to bind the server to defaults to `0.0.0.0`
|
||||
- **port**: (optional) the port to listen on defaults to `5060`
|
||||
- **transport**: (optional) the transport protocol to use (e.g. `udp`, `tcp`, `ws`) defaults to `udp`
|
||||
- **userAgent**: (optional) the User-Agent string to use in SIP responses defaults to `showbridge`
|
||||
<SchemaInfo type="module" id="sip.call.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -4,16 +4,11 @@ sidebar:
|
||||
label: Server
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections. When a call is received this module will emit events based on the touch tones (DTMF) received during the call. The event is sent out whenever the use presses the separator key defined in the params.
|
||||
|
||||
- **type**: `sip.dtmf.server`
|
||||
- **params**:
|
||||
- **ip**: (optional) the IP address to bind the server to defaults to `0.0.0.0`
|
||||
- **port**: (optional) the port to listen on defaults to `5060`
|
||||
- **transport**: (optional) the transport protocol to use (e.g. `udp`, `tcp`, `ws`) defaults to `udp`
|
||||
- **userAgent**: (optional) the User-Agent string to use in SIP responses defaults to `showbridge`
|
||||
- **separator**: the DTMF separator key to know when to emit events
|
||||
<SchemaInfo type="module" id="sip.dtmf.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
@@ -3,12 +3,11 @@ title: Interval
|
||||
sidebar:
|
||||
order: 2
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `time.interval` module emits a message at a specified duration. Sending any message to this module will reset the interval timer.
|
||||
|
||||
- **type**: `time.interval`
|
||||
- **params**:
|
||||
- **duration**: time in milliseconds between messsages
|
||||
<SchemaInfo type="module" id="time.interval"/>
|
||||
|
||||
### Example snippet
|
||||
|
||||
|
||||
@@ -3,12 +3,11 @@ title: Timer
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `time.timer` module emits only one message after a specified duration. Sending any message to this module will reset the timer.
|
||||
|
||||
- **type**: `time.timer`
|
||||
- **params**:
|
||||
- **duration**: time in milliseconds to wait before emitting message
|
||||
<SchemaInfo type="module" id="time.timer"></SchemaInfo>
|
||||
|
||||
### Example snippet
|
||||
|
||||
|
||||
@@ -4,12 +4,11 @@ sidebar:
|
||||
label: Client
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../components/SchemaInfo.astro';
|
||||
|
||||
The `websocket.client` module opens a websocket connection to the specified URL. This module supports both text and binary websocket messages.
|
||||
|
||||
- **type**: `websocket.client`
|
||||
- **params**:
|
||||
- **url**: the full url to connect to (`wss://echo.websocket.org`)
|
||||
<SchemaInfo type="module" id="websocket.client"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
Reference in New Issue
Block a user