Ga naar de inhoud
Voor developers

Breid Presenter uit via MQTT

Elke Presenter-installatie bevat een lokale MQTT-broker. Maak via TCP of WebSocket op het lokale netwerk eigen bediening, stage-tools, lichtbruggen of automatisering — zonder Presenter zelf aan te passen.

Liever het productoverzicht? Ga naar Presenter.

Waarom MQTT?

Presenter gebruikt MQTT al voor QR Remote, live status en lokale AI-topics. Dezelfde broker is beschikbaar voor jouw clients op het kerk-LAN. De ingebouwde broker is MQTT v5-conform en accepteert ook MQTT v3.1.1 / v3.0-clients — je kunt dus met beide verbinden. Je publiceert en abonneert zoals bij elke MQTT-app; Presenter reageert op control-berichten en publiceert deck- en statusupdates.

Verbinden met de ingebouwde broker

Als Presenter draait, luistert de broker op het LAN-adres van de computer. Is de standaardpoort bezet, dan probeert Presenter het volgende nummer in het bereik.

TransportEindpuntenToelichting
MQTT over TCPtcp://<presenter-lan-ip>:1883–1887Geschikt voor desktop-scripts, Node, Python en hardwarebruggen.
MQTT over WebSocketws://<presenter-lan-ip>:9883–9887/mqttPad is altijd /mqtt. Gebruik vanuit browsers of WebSocket-clients.
tcp://192.168.1.40:1883
ws://192.168.1.40:9883/mqtt

Aan de slag

Gebruik een MQTT v5- of v3.x-client (TCP of WebSocket). Richt die op de Presenter-host terwijl een dienst open is (of nadat Remote is gestart zodat de broker actief is). Presenter’s eigen Remote-verkeer gebruikt MQTT 3.1.1; v5-only features werken voor jouw clients en worden gedegradeerd wanneer je ze mixt met v3-peers.

  • Blijf op hetzelfde wifi-/LAN als de Presenter-computer voor lokale toegang.
  • Haal het host-IP uit Presenter’s netwerk-/Remote QR-UI, of uit de clientlijst van je router.
  • Als 1883 of 9883 faalt, probeer de volgende poort in het fallback-bereik — Presenter logt de gebonden poorten bij het starten.
  • QoS 0 is gebruikelijk voor live bediening; houd payloads klein en JSON in UTF-8.

Remote-topicboom

De meeste integraties gebruiken het Remote-voorvoegsel. Vervang {prefix} door proweave/remote op een typische LAN-setup, of proweave/<machine-scope>/remote wanneer Presenter aan een machine-MAC is gekoppeld.

Voorvoegsel: proweave/remote (LAN-standaard) of proweave/<scope>/remote. Session-ID’s komen uit pairing — pair eerst, publiceer daarna onder die sessie.

TopicpatroonRichtingDoel
{prefix}/pairClient → PresenterOTP-/pairverzoek om een sessie te maken
{prefix}/<sessionId>/pairedPresenter → ClientPair geaccepteerd of geweigerd
{prefix}/<sessionId>/controlClient → PresenterCommando’s (advance, goto, blank, …)
{prefix}/<sessionId>/heartbeatClient → PresenterSessie levend houden; rol controller of viewer
{prefix}/<sessionId>/deckPresenter → ClientVolledige deck-JSON voor controllers
{prefix}/<sessionId>/statePresenter → ClientLive beamer-/controllerstatus
{prefix}/<sessionId>/viewer/statePresenter → ClientViewer-slide-raster (en chunk-varianten)
{prefix}/ai/*Engine ↔ PresenterLokale AI-topics

Vorm van control-payloads

Publiceer JSON naar {prefix}/<sessionId>/control na een geslaagde pair. Veldnamen volgen remoteControlPayload van Presenter (cmd plus optionele navigatievelden).

{
  "cmd": "advance"
}

{
  "cmd": "goto",
  "deckIdx": 2,
  "page": 0
}
cmdBetekenis
presentPresentatie starten
stopPresentatie stoppen
advanceVolgende cue / slidestap
backVorige cue / slidestap
gotoSpringen met deckIdx / page (en gerelateerde velden)
blankScherm blanken of herstellen
nextItemVolgend deck-item
prevItemVorig deck-item
setStanzaSpringen binnen liedstructuur
setPagePDF- / multipagina-cue-pagina zetten
pingBereikbaarheidscheck

Veiligheid en grenzen

  • Behandel de broker als LAN-dienst — forward poorten niet naar het openbare internet.
  • Iedereen die naar /control van een gepaarde sessie kan publiceren, kan het live deck bedienen; bescherm het netwerk en de pair-flow.
  • Topics onder proweave/<scope>/remote/ kunnen ook naar SundayAssist Cloud worden gebridged als cloud-remote aanstaat — test eerst op LAN.
  • Deze pagina beschrijft het integratievlak zoals geleverd; velden kunnen groeien. Observeer /deck en /state vanuit een echte Remote-sessie tijdens prototypen.
  • Breaking changes in topicnamen zijn zeldzaam; als je een publieke integratie ship’t, mail [email protected] zodat we je kunnen waarschuwen vóór een rename.

Bouw met ons mee

Wil je upstream bijdragen, of heb je een stabiel contract nodig voor een kerk-AV-product? We denken graag mee.