Skip to content
Innomesh Docs
Room Manager CE 2.24.0 · updated 31 August 2026

Available Actions

An action is a method a macro script can call. This page lists every action available for configuration, its parameters and their types, and which CE version introduced it.

Actions are called on one of two things:

Called onWhat it looks like
A manager, affecting the room as a wholeaudio.SetAudioMute("program.audio.1", true) where audio is the manager’s binding, shown beside each manager’s name below
A device, affecting whichever device the macro action’s Device ID points atdevice.SetPowerOn()

The parameters for each action must all be present and in the order shown. Two or more actions can share the same name but take a different number of parameters.

❗ Important
Do not confuse a binding with a guid.
  • A binding is the name a macro script uses to call a manager or device: audio in audio.SetAudioMute(...). Visibility conditions use the binding too.
  • A guid is the name an event trigger uses to reference the same manager or device: audio.manager.
  • This page lists each action’s binding and Available States lists each state’s guid. Use each exactly as listed.

Manager Actions

Room-wide operations. Each manager’s binding, the name a script calls it by, is shown beside its title.

Room Controller binding: "room"

SignatureDescriptionSince
SetRoomMode(mode: string)

Switches the room to the given Room Mode and publishes room.RoomMode.

  • "Off" (capitalised exactly) powers the room down unless the room is configured Always On.
  • Any other value starts the room or switches modes, re-applying the mode's Default Routes and startup behaviour even when the mode is unchanged.
2.0.0
SetSourceSelect(sourceId: string, destinationType: string)

Routes an AV Source to the given Destination Type, or to every Destination Type when "All" is passed; a Condition configured on the AV Source can veto the route.

  • Passing "None" runs the Source Deselection Behaviour of each destination of that type.
  • Passing "Off" (capitalised exactly) breaks video on that type and runs the Shutdown Behaviour of every AV Destination in the room.
2.0.0
SetDestinationGroupSourceSelect(destinationGroupId: string, sourceId: string)

Routes an AV Source to every destination in a Destination Group, addressed by the group's ID.

  • Routes made through a group carry that ID, which routing Conditions can test as DestinationGroupId.
2.7.4
SetPreview(sourceId: string)

Routes an AV Source to every preview monitor configured under AV Destinations / Preview.

2.0.0
SetMainVolume(volume: integer)

Sets every visible Program Audio fader to the given level (0-100): the room's main volume control.

  • Setting 0 also mutes each channel.
2.0.0
Toggle(toggleId: string)

Flips the named toggle and publishes the new value under room.ToggleStates.

  • It creates the toggle on first use (so the first call publishes true).
2.7.4
TriggerMacro(macroId: string)

Runs another macro's actions immediately, ignoring that macro's triggers.

  • Per-action Delays inside the target macro still apply.
2.4.0
SetDestGroupSourceIfPrimary(destGroupId: string, sourceId: string)

Performs SetDestinationGroupSourceSelect only while this room is actively linked as the primary room.

  • It is intended for startup macros shared between linkable rooms.
  • When this room is not actively linked as the primary room, the action does nothing.
2.10.4
SetDestGroupSourceIfSecondary(destGroupId: string, sourceId: string)

Performs SetDestinationGroupSourceSelect only while this room is actively linked as a secondary room.

  • It is intended for startup macros shared between linkable rooms.
  • When this room is not actively linked as a secondary room, the action does nothing.
2.10.4
RouteEncoderDecoderStreamByDeviceId(encoderId: string, decoderId: string)

Routes the encoder's current video and audio streams to the decoder. Both arguments are Device IDs of AV stream devices.

2.0.0
RouteEncoderDecoderVideoStreamByDeviceId(encoderId: string, decoderId: string)

Routes only the encoder's current video stream to the decoder. Both arguments are Device IDs of AV stream devices.

2.0.0
RouteEncoderDecoderAudioStreamByDeviceId(encoderId: string, decoderId: string)

Routes only the encoder's current audio stream to the decoder. Both arguments are Device IDs of AV stream devices.

2.0.0
PairUsb(remoteDeviceId: string, localDeviceId: string)

Pairs the USB peripherals on the remote device (keyboard/mouse side) with the local device (PC side) at port index 0.

  • It sets the pairing on both ends.
2.7.4
PairUsb(remoteDeviceId: string, localDeviceId: string, index: integer)

Pairs the USB peripherals on the remote device (keyboard/mouse side) with the local device (PC side) at the given port index.

  • It sets the pairing on both ends.
2.7.4

Audio Manager binding: "audio"

SignatureDescriptionSince
SetAudioLevel(channelId: string, level: integer)

Sets an audio channel's level (0-100) and publishes audio.ChannelAudioLevel for it.

  • Setting the level to 0 also mutes the channel.
  • A muted channel configured with "Unmute When Adjusting Fader" unmutes according to its "Unmute Behaviour".
2.0.0
SetAudioMute(channelId: string, mute: boolean)

Mutes or unmutes an audio channel and publishes audio.ChannelAudioMute for it.

  • Channels whose "Link to Channel ID" points at this channel follow the same mute.
2.0.0
MuteAllAudio()

Mutes every audio channel CE controls.

  • Program Audio, Microphones, and Auxiliary Audio are muted.
  • Recorder, pod, and room link channels are also muted where they are configured.
2.0.0
ResetRoomAudio()

Resets every Program Audio, Microphone, and Auxiliary Audio fader with a configured Default level back to that level.

  • The reset then re-applies each channel's startup or shutdown mute and phantom power for the room's current on or off state.
  • When Unique Source Levels is enabled, each AV Source's stored audio level is also reset to its configured "Default Audio Level".
2.15.1
ResetMicrophoneAudioLevels()

Resets every visible Microphone fader with a configured Default level back to that level.

2.0.0
SetCeilingMicMute(mute: boolean)

Mutes or unmutes every configured Ceiling Microphone, whether controlled directly as a device or through a DSP microphone channel.

  • The combined state is published as audio.CeilingMicsMuted.
2.0.0
SetSourceLevelDefaults()

Resets each AV Source's stored audio level to its configured "Default Audio Level" and marks the source unmuted.

  • The values take effect when the source is next routed to Program Audio.
  • The action does nothing unless Unique Source Levels is enabled.
2.0.0
SetSinkControl(sinkId: string, action: string)

Sends a "pair" or "cancel" pairing command to a Microphone Receiver, addressed by its configured ID.

  • The action is matched case-insensitively, and any value other than "pair" or "cancel" is ignored.
2.19.0

Video Manager binding: "video"

SignatureDescriptionSince
VideoBreak(displayType: string, type: string)

Breaks the route to every destination of the given Destination Type.

  • Each Output Switch with a configured Break Input is switched to that input.
  • The destination decoder's video and audio streams are cleared.
  • Currently the type argument is ignored: each Output Switch breaks according to its own configured Type.
2.0.0
SetDisplayImageMute(displayId: string, imageMute: boolean, screenFollow: boolean)

Image mutes or unmutes a single display (the display is video muted or unmuted).

  • With screenFollow true, the display's motors also retract on mute and extend on unmute.
2.7.4
OnImageMuteAll()

Image mutes the whole room.

  • Every AV Destination runs its configured Source Deselection Behaviour.
  • Display motors set to "Retract On Mute" retract.
  • The room's published ImageMuted state is set to true.
2.0.0
OnImageUnmuteAll()

Restores every AV Destination from image mute by reversing its Source Deselection Behaviour.

  • Display motors extend.
  • The room's published ImageMuted state is cleared.
2.0.0
IndividualDisplayVideoMuteOn(deviceId: string)

Sends the video mute command directly to one display device, addressed by its Device ID.

  • The video mute is a device command only: routing state is untouched.
2.0.0
IndividualDisplayVideoMuteOff(deviceId: string)

Sends the video unmute command directly to one display device, addressed by its Device ID.

  • The video unmute is a device command only: routing state is untouched.
2.0.0
VideoMuteOn(displayType: string)

Video mutes every display of the given Destination Type.

  • Currently no displays are skipped: disabled and manually image muted displays are muted too.
2.0.0
VideoMuteOff(displayType: string)

Video unmutes every display of the given Destination Type.

  • The action also releases the matrix mute on displays whose Source Deselection Behaviour is "Matrix Mute".
  • Disabled displays are skipped by the video unmute.
2.0.0
SetDisplayVideoFreeze(displayId: string, freeze: boolean)

Freezes or unfreezes the video output on a single display, addressed by its Display ID.

2.9.1
SetDisplayVideoFreezeByType(destinationType: string, freeze: boolean)

Freezes or unfreezes the video output on every display of the given Destination Type.

2.9.1
ActivateAllMotors()

Extends the motors configured against every display, e.g. lowering projection screens.

  • Motors marked "Manual Control Only" are skipped by the extend.
2.7.4
DeactivateAllMotors()

Retracts the motors configured against every display, e.g. raising projection screens.

  • Motors marked "Manual Control Only" are skipped by the retract.
2.7.4
SetContentScene(sceneId: string)

Recalls a scene on every Content Layout's multi-window processor, sending the scene's configured preset value to each device.

2.18.0
SetContentScene(contentId: string, sceneId: string)

Recalls a scene on one Content Layout's multi-window processor, sending the scene's configured preset value to the device.

2.18.0
RouteAvStream(encoderId: string, decoderId: string)

Routes the encoder's video and audio streams to the decoder, both addressed by Device ID.

  • The action also unmutes the decoder's video and audio.
  • When the decoder is audio-only and the encoder publishes no separate audio stream, the decoder joins the encoder's video stream instead.
2.17.0
SetAudioStream(encoderId: string, decoderId: string)

Routes only the encoder's audio stream to the decoder, both addressed by Device ID.

  • On success the action also unmutes the decoder's video and audio.
  • The action does nothing when the encoder publishes no audio stream.
2.18.0
SetDestinationDisabled(destinationId: string, disabled: boolean)

Disables or re-enables an AV Destination and publishes the change.

  • Disabling runs the destination's Shutdown Behaviour: power off or soft off (each also retracting the display's motors) or matrix break; routing skips the destination until it is re-enabled.
2.10.4

Camera Manager binding: "camera"

SignatureDescriptionSince
PresetRecall(id: string, preset: string)

Recalls a preset on one camera, resolved against the Camera Source's configured Presets by ID and then by Label.

  • A preset value that matches neither a configured Preset ID nor a Label is sent to the camera as-is.
2.13.0
PowerOnCameras(allCameras: boolean)

Powers on cameras, honouring each Camera Source's Power Off Behaviour.

  • "Power Off" cameras receive the power-on command.
  • "Privacy" cameras recall their first configured preset and are marked powered on.
  • Cameras with "Power On By Default" unchecked are skipped unless allCameras is true.
2.13.3
PowerOffCameras()

Powers off every camera, honouring each Camera Source's Power Off Behaviour.

  • "Power Off" cameras receive the power-off command.
  • "Privacy" cameras recall their Privacy Preset Value and are marked powered off.
2.13.0
SetCameraPower(cameraId: string, power: boolean)

Powers a single camera on or off by its Camera Source ID.

2.13.0

Document Camera Manager binding: "documentcamera"

SignatureDescriptionSince
PowerOnAllDocumentCameras()

Powers on the device behind every configured Document Camera Source.

2.12.0
PowerOffAllDocumentCameras()

Powers off the device behind every configured Document Camera Source.

2.12.0

Media Player Manager binding: "mediaplayer"

SignatureDescriptionSince
SetMediaPlayerControl(mediaPlayerSourceId: string, operation: string)

Sends a transport or navigation control to the device behind a Media Player Source.

  • Playback operations: "play", "pause", "stop", "fast forward", "rewind", "next", "previous".
  • Navigation operations: "up", "down", "left", "right", "enter" or "select", "menu", "return", "options", "setup", "subtitle", "audio", "info".
  • The digits "0" to "9" send number keys.
  • The operation is matched case-insensitively; an unrecognised operation is ignored.
2.24.0

Lighting Manager binding: "lighting"

SignatureDescriptionSince
PresetRecall(presetId: string)

Recalls a lighting preset by its ID.

  • A Lighting Preset is recalled on its lighting controller.
  • A Channel Preset or a fader's stepped preset sets each configured fader to its preset Value.
  • The recalled preset is published as the selected lighting preset.
2.9.1
SetFaderLevel(faderId: string, level: integer, channelId: string)

Sets a Lighting Fader's level (0-100).

  • On relay-based lighting, a level above 50 closes each targeted channel and a level at or below 50 opens it.
2.9.1
Toggle(toggleId: string)

Flips a Lighting Toggle to the opposite of its last toggled state.

  • Toggling on sends the Toggle On Value to its channels, or triggers the configured Toggle On ID on a lighting controller.
  • Toggling off does the same with the Toggle Off Value or Toggle Off ID.
2.9.1

Timer Manager binding: "timer"

SignatureDescriptionSince
SetTimerMode(timerId: string, modeId: string)

Switches a timer to one of its configured Modes by mode entry ID.

  • The mode entry's Mode value ("clock", "timer", or "stopwatch") is sent to the timer device.
  • The applied mode ID is published per timer.
  • Unrecognised timer or mode IDs are ignored.
2.20.0
SetTimerColour(timerId: string, colourId: string)

Sets a timer's display colour to one of its configured Colours.

  • The colour value is sent to the timer device.
  • The applied colour ID is published per timer.
  • Unrecognised timer or colour IDs are ignored.
2.20.0

IPTV Manager binding: "iptv"

SignatureDescriptionSince
SetIptvControl(guid: string, control: string, value: string)

Sends a channel command to the set-top box behind an IPTV control.

  • A control of "up" or "down" steps the channel.
  • A control of "set" recalls a configured channel's Channel URI.
  • The control is matched case-insensitively.
2.7.4
PowerOnAllIptvs()

Powers on every set-top box device in the room.

  • All set-top box devices are targeted, not only those configured under IPTV Controls.
2.7.4
PowerOffAllIptvs()

Powers off every set-top box device in the room.

  • All set-top box devices are targeted, not only those configured under IPTV Controls.
2.7.4

Bluetooth Manager binding: "bluetooth"

SignatureDescriptionSince
SetBluetoothControl(operation: string, bluetoothControlId: string)

Performs a Bluetooth operation on the sink device behind a configured Bluetooth control.

  • An operation of "pair" starts pairing.
  • An operation of "disconnect" closes the active connection.
  • An operation of "cancel" aborts an in-progress pairing.
  • The operation is matched case-insensitively.
  • Unknown operations are ignored.
2.17.0

Sensor Manager binding: "sensor"

SignatureDescriptionSince
ResetSensorShutdownTimer()

Restarts the occupancy shutdown countdown from the configured Sensor Shutdown Delay.

2.24.0

Conferencing Manager binding: "conferencing"

SignatureDescriptionSince
PerformConferencingAction(action: string)

Performs a call control on the room's conferencing codec.

  • Call handling: "accept call", "reject call", "end call".
  • Media controls: "enable content sharing", "disable content sharing", "camera mute", "camera unmute", "microphone mute", "microphone unmute", "toggle microphone mute".
  • DTMF tones: "dtmf 0" to "dtmf 9", "dtmf *", "dtmf #".
  • The action is matched case-insensitively; an unsupported action is ignored.
  • DTMF actions are ignored while no call is active.
2.24.0
JoinConferencingMeeting(meetingId: string)

Joins a booked meeting from the codec's current bookings list by its meeting ID.

  • The join is refused, and reported to the UI as a failed join, when the meeting is not in the current bookings list, the booking carries no dialable address, or the codec is not communicating.
2.24.0
SetConferencingLayout(layout: string)

Sets the codec's conferencing screen layout.

  • The layout name is passed to the codec as-is.
2.24.0

Device Actions

Operations on a single device. The macro action’s Device ID decides which device runs it, and the device must be of the type listed.

Display

SignatureDescriptionSince
SetPowerOn()

Powers on the display.

  • If a "Default Input" is configured, the display then switches to that input; on projectors this also clears video mute.
2.0.0
SetPowerOff()

Powers off the display; on projectors this also clears video mute.

2.0.0
PollPowerOn()

Polls the display for its power state and sends power-on only when it is fully off or cooling.

  • A warming display receives no command.
  • Sending power-on only when the display is fully off or cooling makes this action safe for repeating macros.
  • If a "Default Input" is configured, the display switches to that input whether or not the power-on command is sent.
2.0.0
SetVideoInput(input: string)

Switches the display to the given video input; on projectors this also clears video mute.

  • The action is ignored while the display is off or powering off.
  • Unrecognised input names are also ignored.
2.0.0
SetVideoMute(mute: boolean)

Video mutes (true) or unmutes (false) the display, blanking the picture without changing power.

  • The video mute change is ignored while the display is off or powering off.
2.0.0

Camera

SignatureDescriptionSince
SetPowerOn()

Powers on the camera.

2.0.0
SetPowerOff()

Powers off the camera. Also resets the camera's published current preset to "None".

2.0.0
SetTrackingOn()

Enables automatic tracking on the camera. Also resets the camera's published current preset to "None".

2.0.0
SetTrackingOff()

Disables automatic tracking on the camera. Also resets the camera's published current preset to "None".

2.0.0
PresetRecall(preset: string)

Recalls the given preset on the camera and publishes it as the camera's current preset.

  • The value is sent to the device as-is.
2.0.0

Document Camera

SignatureDescriptionSince
SetPowerOn()

Powers on the document camera.

2.0.0
SetPowerOff()

Powers off the document camera.

  • Also resets the published lamp state to off.
  • Clears the document camera's published current preset.
2.0.0
ZoomToValue(zoomLevel: integer)

Zooms the document camera to an absolute zoom level and publishes the new level.

2.0.0
ToggleAutoFocus()

Flips the document camera between auto and manual focus, to the opposite of its reported auto focus state.

  • Also clears the document camera's published current preset.
2.4.0
LampOn()

Turns the document camera's lamp on. Also clears the document camera's published current preset.

2.0.0
LampOff()

Turns the document camera's lamp off. Also clears the document camera's published current preset.

2.0.0
LampToggle()

Flips the document camera's lamp to the opposite of its reported lamp state.

  • Also clears the document camera's published current preset.
2.0.0
PresetRecall(preset: string)

Recalls the given preset on the document camera and publishes it as the document camera's current preset.

  • The value is sent to the device as-is.
2.0.0

IPTV

SignatureDescriptionSince
SetPowerOn()

Powers on the set-top box.

2.0.0
SetPowerOff()

Powers off the set-top box.

2.0.0
ChannelUp()

Steps the set-top box to the next channel.

  • The channel step is ignored while the set-top box is off or powering off.
2.0.0
ChannelDown()

Steps the set-top box to the previous channel.

  • The channel step is ignored while the set-top box is off or powering off.
2.0.0
ChannelRecall(channel: string)

Tunes the set-top box to the given channel and publishes it as the current channel.

  • The action is ignored while the set-top box is off or powering off.
2.0.0

Timer

SignatureDescriptionSince
SetTimer(duration: integer)

Sets the countdown duration in seconds.

  • The duration becomes both the timer's active duration and the initial duration that ResetTimer restores.
2.19.0
StartTimer()

Starts the timer, or resumes it if paused.

2.19.0
StopTimer()

Stops the timer and clears both its active and initial durations to zero.

  • Once the timer is stopped, ResetTimer can no longer restore the original duration.
2.19.0
PauseTimer()

Pauses the timer, holding the current value so StartTimer can resume it.

2.19.0
ResetTimer()

Resets the timer to its initial duration (the value last set with SetTimer).

  • The reset discards any ExtendTime or ReduceTime adjustments.
  • The reset preserves the current run state.
2.19.0
SetMode(mode: string)

Switches the timer's operating mode: "clock" (time of day), "timer" (countdown), or "stopwatch" (count up).

  • Switching mode stops any running timer and clears the current countdown.
  • Mode support is driver-dependent.
2.19.0
ExtendTime()

Extends the time remaining on the countdown by the driver's default step, 60 seconds where supported.

  • The initial duration that ResetTimer restores is unaffected.
  • Some drivers ignore the default-step ExtendTime call.
2.19.0
ExtendTime(seconds: integer)

Extends the time remaining on the countdown by the given number of seconds.

  • The initial duration that ResetTimer restores is unaffected.
2.19.0
ReduceTime()

Reduces the time remaining on the countdown by the driver's default step, 60 seconds where supported.

  • The initial duration that ResetTimer restores is unaffected.
  • Some drivers ignore the default-step ReduceTime call.
2.19.0
ReduceTime(seconds: integer)

Reduces the time remaining on the countdown by the given number of seconds.

  • The initial duration that ResetTimer restores is unaffected.
2.19.0
SetColour(colour: string)

Sets the timer's display colour and publishes it as the timer's current colour. The value is sent to the device as-is.

2.19.0
SetColour(r: integer, g: integer, b: integer)

Sets the timer's display colour from red, green, and blue components (0-255).

  • Currently the timer's published current colour is not updated.
2.19.0

Motor

SignatureDescriptionSince
Extend()

Extends the motor (the down direction), e.g. lowering a projection screen or display lifter.

  • Any pending motor movement commands are dropped first.
2.0.0
Retract()

Retracts the motor (the up direction), e.g. raising a projection screen or display lifter.

  • Any pending motor movement commands are dropped first.
2.0.0
Stop()

Stops the motor's current movement.

2.0.0

Bluetooth

SignatureDescriptionSince
Pair()

Starts Bluetooth pairing on the device, making it discoverable; progress is published as the device's sink status.

2.17.0
CancelPair()

Cancels an in-progress Bluetooth pairing attempt.

2.17.0
CloseConnection()

Disconnects the currently connected Bluetooth device.

2.17.0

Lighting Controller

SignatureDescriptionSince
PresetRecall(guid: string)

Recalls a registered lighting preset on the controller, using the area, preset id and fade time from the preset's configuration.

  • The preset recall is ignored when guid is not a registered preset.
2.0.0
SetFaderLevel(guid: string, level: integer)

Sets every channel of a registered lighting fader to the given level, using the fader's configured area and fade time.

  • The level change is ignored when guid is not a registered fader.
2.0.0
Toggle(guid: string, toggle: boolean)

Turns a registered lighting toggle on or off by recalling its configured on or off preset on the toggle's area.

  • The action is ignored when guid is not a registered toggle.
2.0.0

Touch Panel

SignatureDescriptionSince
SetColour(r: integer, g: integer, b: integer, ledType: string)

Sets the LED at ledType to the given RGB colour.

  • Setting a colour ends any Flash in progress on the same ledType.
  • Only Qbic touch panels support LED control. On any other touch panel this does nothing.
  • ledType is "all" for every LED on the panel, or an LED position the panel reports, which on Qbic panels is "front" or "side".
2.18.0
Flash(r: integer, g: integer, b: integer, repeatCount: integer, onInterval: integer, offInterval: integer, ledType: string)

Flashes the LED at ledType between the given RGB colour and off for repeatCount cycles.

  • The onInterval and offInterval values are in seconds.
  • After the repeatCount cycles, the LED reverts to its previous colour.
  • A repeatCount of 0 flashes the LED until the next SetColour or Flash.
  • Only Qbic touch panels support LED control. On any other touch panel this does nothing.
  • ledType is "all" for every LED on the panel, or an LED position the panel reports, which on Qbic panels is "front" or "side".
2.18.0

DSP

SignatureDescriptionSince
SetVolumeLevel(guid: string, volumePercent: integer)

Sets a DSP fader to the given level (0-100).

2.0.0
SetVolumeMute(guid: string, mute: boolean)

Mutes (true) or unmutes (false) a DSP fader.

2.0.0
PresetRecall(preset: string)

Recalls a preset or snapshot on the DSP, sending the value to the device as-is.

2.0.0

Encoder / Decoder

SignatureDescriptionSince
SetVideoStream(stream: string)

Sets the video stream the device sends or receives; pass "" to clear the stream, blanking a decoder.

2.0.0
SetAudioStream(stream: string)

Sets the audio stream the device sends or receives; pass "" to clear the stream.

2.0.0
SetVideoMute(mute: boolean)

Video mutes (true) or unmutes (false) the device's video output.

2.0.0
SetVolumeMute(mute: boolean)

Mutes (true) or unmutes (false) the device's audio output.

2.0.0

Switcher

SignatureDescriptionSince
SetVolumeLevel(level: integer)

Sets the switcher's output volume to the given level (0-100).

  • The volume change is ignored on switchers whose driver does not support volume control.
2.0.0
SetVolumeMute(mute: boolean)

Mutes (true) or unmutes (false) the switcher's audio output.

  • The mute change is ignored on switchers whose driver does not support volume control.
2.0.0
SetAudioVideoInput(input: string)

Switches both audio and video to the given input on the switcher.

2.0.0