UDP Input

Last modified by Alexander Mott on 2025/08/28 18:51

ShowRunnerCLC™ can accept commands via UDP.  Feedback is not provided.

Enable the UDP listener by specifying a port in the config:

"UdpListener":
  {
    "ListenPort": 45794
  },

Commands are sent to objects by GlobalId followed by the Action and then any relevant Properties (Properties are interpreted in the order shown). They are dot delimited and terminated with a carriage return.
Format: GlobalId.ActionName[.ActionPropertyValue]\x0D

To obtain a list of GlobalIds for objects use console command sr show global ids.  Global Actions use a GlobalId of 0.

To obtain a list of Actions available by object type use console command sr show actions. The table below includes all of the available Actions available as of ShowRunnerCLC™ version 3.019, but it is possible additional actions have been added since and it is always best to run this command on the installed processor to get version-specific actions.

An example of a UDP command follows the actions table.

ShowRunnerCLC™ Actions Table

 TypeActionAction DescriptionReference PropertyReference RequiredTriggersSupported Properties
EDmxReceiverDisableTurns off E-DMX Receivern/aFalseDigital, Analogn/a
EDmxReceiverEnableTurns on the E-DMX Receivern/aFalseDigital, Analogn/a
EDmxReceiverUpdateLoadsDisableDisables the transfer of E-DMX Values to hardware loadsn/aFalseDigital, Analogn/a
EDmxReceiverUpdateLoadsEnableEnables the transfer of E-DMX Values to hardware loadsn/aFalseDigital, Analogn/a
GlobalActionsCctSourceSensorSelect which sensor the system will accept CCT values fromSensorIdTrueDigital, Analog'SensorId':(Integer)'Id of the sensor to use as reference'
GlobalActionsDemandResponseOffTurns demand response off system widen/aFalseDigital, Analogn/a
GlobalActionsDemandResponseOnTurns demand response system widen/aFalseDigital, Analogn/a
GlobalActionsExecuteExecutes the global actionActionIdTrueDigital, Analog'ActionId':(Integer)'Action to recall'
GlobalActionsExecuteLastEventExecutes the last event that fired before the current time globally and in each groupn/aFalseDigital, AnalogGlobal':(Boolean)'Recall last global event'
'GroupUniqueIds':(String)'Limits group IDs to those specified in the list. Specify n/a if all groups or comma separated list of UniqueIDs'
GlobalActionsLogAdds an entry to the system logn/aFalseDigital, AnalogMessage':(String)'Message to add to the log'
'Severity':(String)'Severity, default to 'Notice' if not specified. Valid values: Notice | Warn | Error | Exception'
GlobalActionsMasterOffTurns off areas system widen/aFalseDigital, Analogn/a
GlobalActionsMasterOnTurns On areas system widen/aFalseDigital, Analogn/a
GlobalActionsMasterOverrideOffDeactivates the system wide overriden/aFalseDigital, Analogn/a
GlobalActionsMasterOverrideOnActivates the system wide overriden/aFalseDigital, Analogn/a
GlobalActionsNodeOffTurns off areas system widen/aFalseDigital, Analog'NodeId':(String)'GUID of the Node'
GlobalActionsNodeOnTurns On areas system widen/aFalseDigital, Analog'NodeId':(String)'GUID of the Node'
GlobalActionsRemoteGlobalExecuteExecute a global action on a remote systemn/aFalseDigital, AnalogGlobalActionId':(Integer)'Global Action Id on the Remote System to execute'
'RemoteSystemId':(Integer)'System ID of the Remote System'
GlobalActionsSchedulerDisableDisables the schedulern/aFalseDigital, Analogn/a
GlobalActionsSchedulerEnableEnables the schedulern/aFalseDigital, Analogn/a
GlobalActionsTagOffTurns off areas system widen/aFalseDigital, Analog'TagId':(String)'GUID of the Tag'
GlobalActionsTagOnTurns On areas system widen/aFalseDigital, Analog'TagId':(String)'GUID of the Tag'
LoadCctLowerLowers the CCT for a CCT loadn/aFalseDigital, Analogn/a
LoadCctRaiseCctRaises the light level on the loadn/aFalseDigital, Analogn/a
LoadCctRaiseLowerRaises/Lowers the CCT on the loadn/aFalseDigital, Analogn/a
LoadCctStopStop CCT raise/lower on the loadn/aFalseDigital, Analogn/a
LoadDisableTurns off the load and prevents it from being controlledn/aFalseDigital, Analogn/a
LoadEnableEnables the load and allows normal operationn/aFalseDigital, Analogn/a
LoadLowerLowers the loadn/aFalseDigital, Analogn/a
LoadLowerSceneLowers all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise'
LoadOffTurns off the loadn/aFalseDigital, Analogn/a
LoadOnTurns on the loadn/aFalseDigital, Analogn/a
LoadOnWithTimeoutTurns on the load for a specified timeTimeoutFalseDigital, Analog'Timeout':(Integer)'Timeout in seconds'
LoadOverrideDisableDeactivates override on the loadn/aFalseDigital, Analogn/a
LoadOverrideEnableActivates override on the loadn/aFalseDigital, Analogn/a
LoadRaiseRaises the light level on the loadn/aFalseDigital, Analogn/a
LoadRaiseLowerRaise/Lowers the light level on the loadn/aFalseDigital, Analogn/a
LoadRaiseLowerSceneRaises/Lowers all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise/lower'
LoadRaiseSceneRaises all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise'
LoadRecallSceneRecalls the specified scene on this loadSceneIdFalseDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadReleaseSceneReleases the scene from the load, functionally turning off any loads that are included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadSceneToggleSceneToggle switches between two scenes on a loadOnSceneTrueDigital, AnalogOffScene':(Integer)'Scene used when toggle triggers the off state'
'OnScene':(Integer)'Scene used when toggle triggers the on state'
LoadSetCctRecalls the specified Cct on this loadCctTrueDigital, AnalogCct':(Integer)'Cct to recall'
'FadeTime':(Double)'Fade time to recall level over'
LoadSetLevelRecalls the specified level on this loadLevelTrueDigital, AnalogFadeTime':(Double)'Fade time to recall level over'
'Level':(Integer)'Level to recall'
LoadSetLevelByByteRecalls the specified level on this load as a byteLevelTrueDigital, AnalogFadeTime':(Double)'Fade time to recall level over'
'Level':(Integer)'Level to recall as a byte'
LoadStopStop raise/lower on the loadn/aFalseDigital, Analogn/a
LoadStopSceneReleases the scene from the load, functionally turning off any loads that are included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadToggleToggles the loadn/aFalseDigital, Analogn/a
LoadControllerOverrideDisableDeactivates override on the load controllern/aFalseDigital, Analogn/a
LoadControllerOverrideEnableActivates override on the load controllern/aFalseDigital, Analogn/a
LoadControllerRecallSceneRecalls the specified scene on this loadSceneIdFalseDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadControllerReleaseSceneReleases the specified scene on this load controllerSceneIdFalseDigital, Analog'SceneId':(Integer)'Scene Number to Release'
OutputSignalDisableDisables the output signaln/aFalseDigital, Analogn/a
OutputSignalEnableEnables the output signaln/aFalseDigital, Analogn/a
PartitionSensorCombinedReports the sensor is combinedn/aFalseNonen/a
PartitionSensorDisableDisables the paritition sensorn/aFalseDigital, Analogn/a
PartitionSensorDividedReports the sensor is Dividedn/aFalseNonen/a
PartitionSensorEnableEnables the partition sensorn/aFalseDigital, Analogn/a
PartitionSensorModeAutoSets the sensor to auto moden/aFalseDigital, Analogn/a
PartitionSensorModeCombinedSets the sensor to combined moden/aFalseDigital, Analogn/a
PartitionSensorModeDividedSets the sensor to divided moden/aFalseDigital, Analogn/a
PhotocellAboveThresholdPhotocell reading is above the threshold (it's bright out)n/aFalseNonen/a
PhotocellBelowThresholdPhotocell reading is below the threshold (it's dark out)n/aFalseNonen/a
PhotocellDisableDisables the photocell sensorn/aFalseDigital, Analogn/a
PhotocellEnableEnables the photocell sensorn/aFalseDigital, Analogn/a
ShadeCloseCloses the shaden/aFalseDigital, Analogn/a
ShadeJogCloseJog Close the shadeJogTimeTrueDigital, Analog'JogTime':(Integer)'Time to Jog in ms'
ShadeJogOpenJog Open the shadeJogTimeTrueDigital, Analog'JogTime':(Integer)'Time to Jog in ms'
ShadeLowerLowers the shaden/aFalseDigital, Analogn/a
ShadeNextPresetSteps to the next preset on the shade, goes back to start if at endn/aFalseDigital, Analogn/a
ShadeOpenOpens the shaden/aFalseDigital, Analogn/a
ShadePreviousPresetSteps to the Previous preset on the shade, goes back to end if at startn/aFalseDigital, Analogn/a
ShadeRaiseRaises the shaden/aFalseDigital, Analogn/a
ShadeSetPositionSets the position of the shadePositionTrueDigital, Analog'Position':(Integer)'Position of the shade 0-65535'
ShadeStopStop raise/lower on the loadn/aFalseDigital, Analogn/a
ShadeToggleToggles the shade between open and closen/aFalseDigital, Analogn/a
LoadGroupDisableTurns off the load and prevents it from being controlledn/aFalseDigital, Analogn/a
LoadGroupEnableEnables the load and allows normal operationn/aFalseDigital, Analogn/a
LoadGroupLowerLowers the loadn/aFalseDigital, Analogn/a
LoadGroupOffTurns off the loadn/aFalseDigital, Analogn/a
LoadGroupOnTurns on the loadn/aFalseDigital, Analogn/a
LoadGroupOnWithTimeoutTurns on the load group for a specified timeTimeoutFalseDigital, Analog'Timeout':(Integer)'Timeout in seconds'
LoadGroupOverrideDisableDeactivates override on the loadn/aFalseDigital, Analogn/a
LoadGroupOverrideEnableActivates override on the loadn/aFalseDigital, Analogn/a
LoadGroupRaiseRaises the light level on the loadn/aFalseDigital, Analogn/a
LoadGroupRaiseLowerRaise/Lowers the light level on the loadn/aFalseDigital, Analogn/a
LoadGroupRaiseLowerSceneRaises/Lowers all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise/lower'
LoadGroupRecallSceneRecalls the specified scene on this loadSceneIdFalseDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadGroupReleaseSceneReleases the scene from the load, functionally turning off any loads that are included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to recall'
LoadGroupSceneToggleSceneToggle switches between two scenes on a loadOnSceneTrueDigital, AnalogOffScene':(Integer)'Scene used when toggle triggers the off state'
'OnScene':(Integer)'Scene used when toggle triggers the on state'
LoadGroupSetCctRecalls the specified Cct on this loadCctTrueDigital, Analog'Cct':(Integer)'Cct to recall'
LoadGroupSetLevelRecalls the specified level on this loadLevelTrueDigital, AnalogFadeTime':(Double)'Fade time to recall level over'
'Level':(Integer)'Level to recall'
LoadGroupStopStop raise/lower on the loadn/aFalseDigital, Analogn/a
LoadGroupStopSceneStops the raise/lower on any load that is included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to affect'
LoadGroupToggleToggles the loadn/aFalseDigital, Analogn/a
ShadeGroupCloseCloses the shaden/aFalseDigital, Analogn/a
ShadeGroupNextPresetSteps to the next preset on the shade, goes back to start if at endn/aFalseDigital, Analogn/a
ShadeGroupOpenOpens the shaden/aFalseDigital, Analogn/a
ShadeGroupPreviousPresetSteps to the Previous preset on the shade, goes back to end if at startn/aFalseDigital, Analogn/a
ShadeGroupStopStop raise/lower on the loadn/aFalseDigital, Analogn/a
BaseKeypadDisableDisables the keypadn/aFalseDigital, Analogn/a
BaseKeypadEnableEnables the keypadn/aFalseDigital, Analogn/a
BaseKeypadEnableToggleToggles Enable for the keypadn/aFalseDigital, Analogn/a
BaseKeypadMasterRaiseLowerReferenceEvaluates to see if the referenced HostGlobalId is in the master raise/lower listGlobalIdsTrueNone'GlobalIds':(String)'GlobalIds to reference when comparing to see if master raise/lower is active. Use comma/dash separated list of numbers.'
AreaCancelTimeoutCancel Timeout operationn/aFalseDigital, Analogn/a
AreaExtendOccupancyTimeoutSettingExtend the Occupancy Timeout Setting in the areaTimeoutTrueDigital, Analog'Timeout':(Integer)'Timeout in seconds'
AreaLowerLowers the arean/aFalseDigital, Analogn/a
AreaLowerSceneLowers all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to lower'
AreaOccupancyModeChanges the occupancy mode of an areaModeTrueDigital, Analog'Mode':(String)'Name of the mode'
AreaOccupiedReports the occupied status of an arean/aFalseNonen/a
AreaOffTurns off the arean/aFalseDigital, Analogn/a
AreaOnTurns on the arean/aFalseDigital, Analogn/a
AreaOnWithTimeoutTurns on the area for a specified timeTimeoutFalseDigital, Analog'Timeout':(Integer)'Timeout in Seconds'
AreaOverrideDisableDeactivates override on the arean/aFalseDigital, Analogn/a
AreaOverrideEnableActivates override on the arean/aFalseDigital, Analogn/a
AreaRaiseRaises the light level on the arean/aFalseDigital, Analogn/a
AreaRaiseLowerRaise/Lowers the light level on the arean/aFalseDigital, Analogn/a
AreaRaiseLowerSceneRaises/Lowers all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise/lower'
AreaRaiseSceneRaises all loads that belong to a sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to raise'
AreaRecallLastLevelTurns RecallLastLevel the arean/aFalseDigital, Analogn/a
AreaRecallSceneRecalls the specified scene on this loadSceneIdFalseDigital, Analog'SceneId':(Integer)'Scene Number to recall'
AreaReleaseSceneReleases the scene from the load, functionally turning off any loads that are included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to recall'
AreaSceneCycleSceneCycle steps through a list of scenesOnSceneTrueDigital, AnalogOnScene':(Integer)'Scene used to indicate feedback'
'SceneList':(String)'Comma and dash delimited list of scenes to cycle through'
AreaSceneToggleSceneToggle switches between two scenes on an areaOnSceneTrueDigital, AnalogOffScene':(Integer)'Scene used when toggle triggers the off state'
'OnScene':(Integer)'Scene used when toggle triggers the on state'
AreaSetCctRecalls the specified Cct on this areaCctTrueDigital, Analog'Cct':(Integer)'Cct to recall'
AreaSetCctAutoSets the CCT Mode to auton/aFalseDigital, Analogn/a
AreaShadeCloseClose All Area Shadesn/aFalseDigital, Analogn/a
AreaShadeOpenOpen All Area Shadesn/aFalseDigital, Analogn/a
AreaShadeStopStop All Area Shadesn/aFalseDigital, Analogn/a
AreaStopStop raise/lower on the arean/aFalseDigital, Analogn/a
AreaStopSceneStops the raise/lower on any load that is included in the sceneSceneIdTrueDigital, Analog'SceneId':(Integer)'Scene Number to affect'
AreaToggleToggles the area on/offn/aFalseDigital, Analogn/a
KeyswitchActiveReports the keyswitch staten/aFalseDigital, Analogn/a
KeyswitchDisableDisables the keyswitchn/aFalseDigital, Analogn/a
KeyswitchEnableEnables the keyswitchn/aFalseDigital, Analogn/a
OccupancyDisableDisables the occupancy sensorn/aFalseDigital, Analogn/a
OccupancyEnableEnables the occupancy sensorn/aFalseDigital, Analogn/a
OccupancyOccupiedReports the occupied status of an occupancy sensorn/aFalseNonen/a

Example to Recall Scene 1 on Area with Global Id 51:

From "sr show global ids":
+-----+-----------------+----------------------------------+
| ID  | Type            | Name                             |
+-----+-----------------+----------------------------------+
| 51  | Area            | Boardroom A                      |

+-----+-----------------+----------------------------------+
From "sr show actions":
+-----------------+-------------------------------+----------------------------------------------------------+--------------------+---------+-----------------+--------------------------------------------------------------------------------+
| Type            | Action                        | Description                                              | Reference Property | Ref Req | Triggers        | Supported Properties                                                           |
+-----------------+-------------------------------+----------------------------------------------------------+--------------------+---------+-----------------+--------------------------------------------------------------------------------+
| Area            | RecallScene                   | Recalls the specified scene on this load                 | SceneId            | False   | Digital, Analog | 'SceneId':(Integer)'Scene Number to recall'                                    |
+-----------------+-------------------------------+----------------------------------------------------------+--------------------+---------+-----------------+--------------------------------------------------------------------------------+

UDP Command to send:
51.RecallScene.1\x0D