Keypad Configuration

Version 33.1 by Alexander Mott on 2022/09/17 03:28

Overview

The showrunner™ program includes several pre-built keypad types suitable for a wide variety of applications. In addition to standard keypad types, showrunner™ supports custom "X-Type" keypad configurations. Custom keypads can be configured from the showrunnerHUB™ Web Interface, or they can be manually added to the config and enabled using the XPanel Touchscreen interface. The SHOWRUNNER™ Keypad Types page page lists all the available built-in keypad types for the most common keypad models:

It is recommended to use built-in keypad types whenever possible, as configuring custom (X-Type) keypads is a more complex and time-consuming process. If custom keypad programming is required, there are several methods of configuring custom actions detailed in subsequent sections.

Built-In Keypad Configuration

showrunnerHUB™

XPanel

Custom (X-Type) Keypad Configuration

The showrunner™ X-Type keypad is a customizable keypad type available for Cameo, Horizon, GLPPA-KP, and Zūm Wired keypads. See this document for a list of possible keypad layouts for all keypad types. It is recommended to customize keypads using the showrunnerHUB™ UI whenever possible, as keypads which have been manually customized in the configuration will be missing certain attributes that are required to allow them to be subsequently editable from the showrunnerHUB™ UI.

showrunnerHUB™

Downloadable instructions for configuring X-Type keypads from the showrunnerHUB™ UI are available here.

Custom keypads can be configured from the showrunnerHUB™ Web Interface, or they can be manually added to the config and enabled using the XPanel Touchscreen interface.

The table below is a comprehensive list of actions which can be used to manually configure X-Type keypads from the SrConfig.json file. The table was generated using showrunner™ v3.019, but can be viewed for any version of showrunner™ by connecting to a processor running the desired version of showrunner™ and running the command: sr sh ac

Note that actions with "None" listed under "Triggers" are read-only and are only able to be used for keypad or keyswitch feedback.

X-Type Templates

X-Type Actions Table

Below is a table of possible actions for X-Type keypads (taken from the SHOWRUNNER™ Keypad Types page.

-Type 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