Bitfocus Companion

Control Cliqer from Bitfocus Companion with the built-in Cliqer module, auto-installed and ready to use.

Cliqer integrates with Bitfocus Companion, the popular open-source button-control software for live production. The Cliqer module is installed automatically when Cliqer detects Companion on your system, so there is no manual setup.

Auto-Install: The Cliqer module is bundled with the app and placed in Companion's modules folder on launch. When a newer version ships, the app updates it in place.
Availability: The module (v1.2.2) ships with the Cliqer desktop app 2.0.7 and later (and the legacy 1.x app). It requires Bitfocus Companion 4.2 or newer.

How It Works

Cliqer runs two loopback servers that the module connects to: an HTTP action API on 127.0.0.1:24601 for button actions, and a WebSocket on 127.0.0.1:9052 that streams live timer updates and app state for feedbacks and variables.

Same machine: Both servers are loopback-only, so Companion must run on the same computer as Cliqer for actions to fire and feedbacks to update.

Setup

  1. Install Bitfocus Companion (4.2 or newer) and launch it at least once
  2. Launch Cliqer, it drops the Cliqer module into Companion's modules folder
  3. Restart Companion once so it picks up the module, then add a Cliqer connection (it points at 127.0.0.1, action API port 24601)
Automatic updates: Each time Cliqer launches it checks whether a newer module version is bundled and updates the modules folder in place. If Companion is holding the current module open, the refresh is deferred to a later launch rather than left half-written.

Available Actions

The module provides 19 actions, grouped by category:

CategoryActions
ClickLeft Click, Right Click
TimerStart / Pause Timer, Reset Timer, +1 / +2 / +5 Minutes, −1 / −2 / −5 Minutes
PresetsTimer Preset 1 / 2 / 3 / 4 (5, 10, 15, 20 minutes)
CallersCaller to Program (choose caller 1–9), Clear Program (cut to black)
ControlStop Screen Share, Toggle Program NDI Output, Toggle Timer NDI Output
How presets resolve: The four preset actions send fixed durations of 5, 10, 15 and 20 minutes. Cliqer selects the matching preset in your Timer panel when one is configured for that number of minutes, otherwise it sets the timer directly to that duration.
Caller, share and NDI actions act on the presentation host. Taking a caller to program, clearing program, stopping a share and the NDI toggles run against the Cliqer app on this machine; the caller mixer is a macOS feature. An action with nothing to act on returns success and does nothing.

Feedbacks

Feedbacks change a button's appearance based on live state. The module defines 11 feedbacks:

FeedbackTrue when
Timer RunningThe timer is actively counting
Timer StoppedThe timer is paused
Timer OvertimeThe timer has passed 0:00 in countdown mode
Timer Yellow (Warning Phase)The timer is nearing its limit
Timer Red Flash (At Zero / Overtime)Flashes as the timer hits zero / runs into overtime
Caller On Air (Program)The selected caller is live on the program bus
Caller ConnectedThe selected caller slot has a connected caller
Screen Share ActiveA screen share is on the program feed
Program NDI Output ActiveThe program NDI output is on
Timer NDI Output ActiveThe timer NDI output is on

The module also defines a Timer Green (Talk Phase) feedback that Cliqer 2.x does not currently drive, so it stays inactive.

Variables

The module exposes 14 variables for use in button text and triggers. Reference them by the connection label, for example $(Cliqer:timer_display) when the connection is named Cliqer:

VariableDescriptionExample
timer_displayCurrent timer value (MM:SS)14:30
timer_minutesMinutes component14
timer_secondsSeconds component30
timer_stateTimer staterunning / stopped
preset1_labelpreset4_labelPreset durations (MM:SS)05:00
program_callerName of the caller currently on programJane
callers_countConnected callers3
viewers_countAudience / viewers128
presenters_countConnected presenters2
room_idCurrent room IDABC123
room_urlShareable room linkhttps://cliqer.io/ABC123

Presets

The module ships ready-made button presets so you can build a control surface by dragging, grouped into the same categories as the actions: Click, Timer, Presets, Callers and Control. Drop them onto a Companion page for instant slide, timer, caller and output control.

Platform Support

PlatformAuto-Install Location
macOS~/Library/Application Support/companion/modules/
Windows%APPDATA%\companion\modules\

The module is placed in a cliqer-cliqer-<version> folder inside that directory (for example cliqer-cliqer-1.2.2). When Cliqer installs an update it removes the previous version folder first, so only the current version remains.

Troubleshooting

Module Not Appearing in Companion

  • Ensure Companion is installed and has been launched at least once before Cliqer
  • Companion scans its modules folder only at startup, so restart Companion once after Cliqer's first launch and the Cliqer connection type will appear
  • The Refresh modules button in Companion refreshes its online store, not the local modules folder, so restart Companion to surface a freshly installed module

Actions Not Firing

  • Confirm the connection targets 127.0.0.1 on action API port 24601
  • A legacy Cliqer 1 build briefly served this API on port 2222, which broke stock module actions; module v1.2.2 with Cliqer 2 uses 24601, so use the default port
  • Only one Cliqer instance can own the local ports on a machine — see the Stream Deck notes

Timer Feedbacks or Variables Not Updating

  • The live timer and app-state feed uses the loopback WebSocket on port 9052, so Companion must run on the same computer as Cliqer
  • Slide and timer actions can still succeed over HTTP even when the feed is not connected, so if buttons fire but feedbacks stay static, check the connection status in Companion

See also: Stream Deck Integration · Timer