SFPTisiKeypad

ISI Keypad..  Reports the state, scene, and setting selected on a keypad. A keypad may consist of one or more push buttons or toggle switches, each optionally including a lamp indicator such as an LED.  

Overview

This profile uses a profile-specific Usage field for the program ID. The Usage field must be set to the same value as the Variant described in the ISI Requirements section of this profile.

The following figure summarizes the ISI Keypad profile inputs and outputs.

Use Cases

The following sections summarize the use cases supported by the Keypad profile.

Required Use Cases

The following list summarizes the required use cases for the Keypad profile.

  • Support configurable keypad buttons, where each button can be configured to do any of the following actions:
    • Recall a scene if the scene is not currently on, or turn the current scene off.
    • Turn on the current scene if it is not on, or turn the current scene off.
  • Report estimated or actual power factor.
  • Store a friendly name assigned by a user interface device for the keypad.

Optional Use Cases

The following list summarizes the optional use cases for the Keypad profile.

  • Support any or all of the following actions in addition to the required keypad actions:
    • Increase the current lighting intensity.
    • Decrease the current lighting intensity.
    • Cycle the lighting intensity—increasing intensity until 100% is reached, then decreasing.
    • Set an absolute level for connected lamps.
  • Send a command with a specified scene to all connected devices to learn a new scene with their current settings.
  • Report total power consumption.
  • Report total run-hours.
  • Wink the state of the keypad.
  • Specify a heartbeat rate for the keypad output.
  • Specify an update throttle for the keypad output.
  • Specify a major and minor model number for the functional block implementation.
  • Store a friendly name for the keypad location (for example, the room name).
  • Generate an alarm when the run-time exceeds a specified value.

ISI Requirements

Devices implementing the ISI Keypad profile must implement the interoperable self-installation (ISI) protocol. A functional block implementing this profile must support manual and controlled enrollment with one assembly as described in this section, and may optionally support automatic enrollment for use by UI or gateway applications, and may also support additional assemblies.

A functional block implementing the ISI Keypad profile will typically be connected with functional blocks implementing one or more of the following functional profiles (functional blocks implementing other profiles may also be connected):

  • ISI Keypad Profile
  • ISI Lamp and Appliance Module Profile
  • ISI Monitor Point Profile
  • ISI Occupancy Sensor Profile
  • ISI Sunblind Actuator Profile

A device implementing this profile must include a Connect button for each keypad functional block. A keypad device may implement multiple keypad functional blocks, in which case it will have one Connect button for each functional block. When a Connect button is pressed or an isiOpen controlled enrollment request is received from an enrollment controller, a CSMO message will be broadcast with the values listed in the Offered Value column in the following table. The offered assembly will consist of the nvoSwitch and nviSwitchFb functional block members sharing assembly member number 1.

When a CSMO message is received by an application implementing this profile, the connection invitation will be provisionally approved if the fields of the CSMO message match the Accepted Value column in the following table. A provisionally approved connection invitation will be accepted if the user presses the Connect button, or if an isiCreate controlled enrollment request is received from an enrollment controller.

CSMO Field Offered Value Accepted Value
Category 30 (ISI Lighting) 30 (ISI Lighting)
NV Direction 3 (Various) Any value
Width 1 Any value
Functional Profile Lamp and Appliance Module Profile Number Any value
NV Type SNVT_switch_2 index SNVT_switch_2 index
Variant See below Any value with bits 5 and 6 clear (Variant masked with 0x60 must be 0)
Acknowledged Flag 0 0
Polled Flag 0 0
Scope 0 (Standard) 0 (Standard)

When offering a connection, the Variant field is used to specify which optional network variables and features are available. The Variant values are defined by the following C declaration (using Neuron C bit packing):

typedef struct KeypadVariant {
    unsigned reserved: 4;
    unsigned buttonHold: 1;
    unsigned runTime: 1;
    unsigned energyMonitor: 1;
    unsigned feedback: 1;
} KeypadVariant;

For example, a Variant value of 0 is a keypad without a feedback input and without run time or energy reporting; a Variant value of 3 is a keypad with a feedback input and energy reporting but without run time reporting; a Variant value of 7 is a dimmable lamp with run time and energy reporting.

The Variant value will also be specified in the Usage field of the program ID for any device implementing this profile.

 

Network Variables

Configuration Properties

nvoSwitch

nviSwitchFb
nvoRunHours

cpButtonAction
cpName1
cpName2

cpButtonColor
cpButtonRepeatInterval
cpDefaultOutput
cpFbMajVer
cpFbMinVer
cpInFbDelay
cpLightingGroupEn
cpLocation
cpMaxSendTime
cpMinSendTime
cpName3
cpRunHrAlarm
cpRunHrInit
cpSceneName

 

Details:

Resource Set: Standard 00:00:00:00:00:00:00:00-0
Index: 88
Obsolete: no
Key: 3253
Inheriting: no
Principal Variable nvoSwitch


Mandatory Network Variables

nvoSwitchSwitch output value.:   Selected state, scene, and setting output. Also reports power consumption by the keypad, which may be measured or estimated. 
Member Number: 2
Base type:
SNVT_switch_2
Direction: output
Service: any


Optional Network Variables

nviSwitchFbSwitch feedback input.:   Optional feedback input that may be used to synchronize the keypad state to other devices such as other keypads and lamps. 
Member Number: 1
Base type:
SNVT_switch_2
Direction: input
Service: any
nvoRunHoursRunning hours output.:   Reports total running hours. 
Member Number: 3
Base type:
SNVT_elapsed_tm
Direction: output
Service: any


Mandatory Configuration Properties

cpName1Name part 1.:   Part 1 of the name of the functional block to be used by optional user interface applications. May optionally used with SCPTname2 and SCPTname3. Must be implemented as a configuration network variable.  
Member Number: 1
Base type:
SCPTname1
Applies to SFPTisiKeypad
Array: not permitted
Default: CE_UTF_8
cpName2Name part 2.:   Part 2 of the name of the functional block to be used by optional user interface applications. Must be used with SCPTname1 and may optionally be used with SCPTname3. This part is concatenated after part 1, and may optionally be followed by part 3. Must be implemented as a configuration network variable.  
Member Number: 2
Base type:
SCPTname2
Applies to SFPTisiKeypad
Array: not permitted
Default: 00*12
cpButtonActionButton pressed action.:   Button action definition used to create a button pressed action array, with an entry per button. This SCPT defines the minimum entries required by the ISI profiles.  
Member Number: 5
Base type:
SCPTbuttonPressAction
Applies to SFPTisiKeypad
Array: not permitted
Default: BTA_TOGGLE_STATE 0,0


Optional Configuration Properties

cpName3Name part 3.:   Part 3 of the name of the functional block to be used by optional user interface applications. Must be used with SCPTname1 and SCPTname2. This part, if present, is concatenated with parts 1 and 2. Must be implemented as a configuration network variable.  
Member Number: 3
Base type:
SCPTname3
Applies to SFPTisiKeypad
Array: not permitted
Default: 00*12
cpLocationLocation:   Provides descriptive physical location information related to the object. 
Member Number: 4
Base type:
SCPTlocation
Applies to SFPTisiKeypad
Array: not permitted
Default: 00*31
cpButtonColorButton color.:   Button color configuration for on and off states of a button. May be used to create an array that is used with a SCPTbuttonAction array to specify keypad button behavior.  
Member Number: 6
Base type:
SCPTbuttonColor
Applies to SFPTisiKeypad
Array: not permitted
Default: 0 0 0 0 0 0
cpMinSendTimeMinimum send time (throttle):   The minimum period of time between consecutive transmissions of the current value. 
Member Number: 7
Base type:
SCPTminSendTime
Applies to SFPTisiKeypad
Array: not permitted
Default: 0,0
cpMaxSendTimeMaximum send time (heartbeat):   The maximum period of time between consecutive transmissions of the current value. If this value is set to the invalid value, the heartbeat interval will be two minutes when occupied and 20 minutes when unoccupied--this is the default behavior. Must be implemented as a configuration network variable.  
Member Number: 8
Base type:
SCPTmaxSendTime
Applies to nviSwitchFb
Array: not permitted
Default: 0,0
cpDefaultOutputDefault output.:   Output value at power-on reset or when overridden. 
Member Number: 9
Base type:
SCPTdefOutput
Applies to SFPTisiKeypad
Array: not permitted
Default: 00*4
cpInFbDelayInput value feedback delay.:   The time period after the last update in a succession of changes to the input, before the feedback output is updated. 
Member Number: 10
Base type:
SCPTinFbDly
Applies to SFPTisiKeypad
Array: not permitted
Maximum: 0 0:0:59:999
Default: 0 0:0:0:0
cpFbMajVerFunctional block major version number.:   Major version number for the associated functional block. See also cpFbMinVer. 
Member Number: 11
Base type:
SCPTobjMajVer
Applies to SFPTisiKeypad
Flags: constant
Array: not permitted
Default: 1
cpFbMinVerFunctional block minor version.:   Minor version number for the associated functional block. See also cpFbMajVer. 
Member Number: 12
Base type:
SCPTobjMinVer
Applies to SFPTisiKeypad
Flags: device specific, constant
Array: not permitted
Default: 0
cpRunHrInitRunning hours counter initialization.:   The initial value of the running hours counter network variable. 
Member Number: 13
Base type:
SCPTrunHrInit
Applies to nvoRunHours
Flags: device specific, constant, modify when disabled
Array: not permitted
Maximum: 0 255:0:0:0
Default: 0 0:0:0:0
cpRunHrAlarmRunning hours alarm threshold level.:   The alarm threshold for the running hours counter. 
Member Number: 14
Base type:
SCPTrunHrAlarm
Applies to nvoRunHours
Flags: modify when disabled
Array: not permitted
Maximum: 0 255:0:0:0
Default: 0 0:0:0:0
cpButtonRepeatIntervalButton repeat interval.:   Time between updates when a button is held down. The updates themselves may be throttled by the application or a SCPTminSendTime CP. Used to create an array used with a SCPTbuttonAction CP array.  
Member Number: 16
Base type:
SCPTbuttonRepeatInterval
Applies to SFPTisiKeypad
Array: not permitted
Default: 0
cpSceneNameScene name.:   Name for a scene to be used by optional user interface applications. Used to create an array that supplements a scene table created with a SCPTscene array. 
Member Number: 17
Base type:
SCPTsceneName
Applies to SFPTisiKeypad
Array: not permitted
Default: CE_UTF_8
cpLightingGroupEnLighting group enable.:   Bit masks to enable or disable up to 64 ISI lighting groups. Group 0 is not used. Groups may also be enabled or disabled using a SNVT_switch_2 update. 
Member Number: 18
Base type:
SCPTlightingGroupEnable
Applies to SFPTisiKeypad
Array: not permitted
Default: 0 0 0 0 0 0 0 0