CLASS1.CONTROL
Control functionality. One of the main concepts of VSCP is that it is an event driven protocol. Commands are sent out as events to the network not as events to specific devices. A device can belong to a zone which select limit events of interest for the particular node.. If there is a need to control a specific device the registry model should be used. This is the only way to directly control a device.
VSCP_TYPE_CONTROL_GENERAL
VSCP_TYPE_CONTROL_MUTE
Mute/Un-mute all sound generating nodes in a zone
Data byte | Description |
---|---|
0 | If equal to zero no mute else mute. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_ALL_LAMPS
Turn on/off lamps on nodes in zone.
Data byte | Description |
---|---|
0 | If equal to zero off else on. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
See also CLASS1.CONTROL, Type=40 and CLASS1.CONTROL, Type=42 which don't use byte 0 but instead are separated in two distinct events.
VSCP_TYPE_CONTROL_OPEN
Perform open on all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_CLOSE
Perform close on all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_TURNON
Turn On a nodes in a zone/subzone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_TURNOFF
Turn Off a nodes in a zone/subzone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_START
Start all nodes in a zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_STOP
Stop all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_RESET
Perform Reset on all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_INTERRUPT
Perform Interrupt on all nodes in zone.
Data byte | Description |
---|---|
0 | Interrupt level. (0 – 255 , zero is lowest interrupt level. ). |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SLEEP
Perform Sleep on all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_WAKEUP
Wakeup all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_RESUME
Resume all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_PAUSE
Pause all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_ACTIVATE
Activate all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_DEACTIVATE
Deactivate all nodes in zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_RESERVED17
VSCP_TYPE_CONTROL_RESERVED18
VSCP_TYPE_CONTROL_RESERVED19
VSCP_TYPE_CONTROL_DIM_LAMPS
Dim all dimmer devices on a segment to a specified dim value.
Data byte | Description |
---|---|
0 | Value (0 – 100) . 0 = off, 100 = full on. 254 dim down one step. 255 dim up one step. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_CHANGE_CHANNEL
This is typical for changing TV channels or for changing AV amp input source etc.
Data byte | Description |
---|---|
0 | A value between 0 and 127 indicates the channel number. A value between 128 to 157 is change down by the specified number of channels. A value between 160 to 191 is change up by the specified number of channels. A value of 255 means that this is an extended change channel event and that the channel number is sent in byte 3 and after if needed. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_CHANGE_LEVEL
Change an absolute level.
Data byte | Description |
---|---|
0 | Absolute level. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_RELATIVE_CHANGE_LEVEL
Relative Change Level request
Data byte | Description |
---|---|
0 | Relative level. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_MEASUREMENT_REQUEST
Measurement Request
Data byte | Description |
---|---|
0 | Zero indicates all measurements supported by node should be sent (as separate events). Non-zero indicates a node specific index specifying which measurement to send. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_STREAM_DATA
Request to stream data
Data byte | Description |
---|---|
0 | Sequence number which is increase by one for each stream data event sent. |
1-7 | Stream data. |
Use this event for streamed data out from a node. The source is then given by the nickname. If a specific received is needed use Zoned Stream.
VSCP_TYPE_CONTROL_SYNC
Synchronize events on a segment.
Data byte | Description |
---|---|
0 | Sensor index for a sensor within a module (see data coding. 255 is all sensors. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
The sensor index can be used to index units within a module also or used as some other indexing schema.
VSCP_TYPE_CONTROL_ZONED_STREAM_DATA
Request streamed data from nodes identified by zone/subzone.
Data byte | Description |
---|---|
0 | Sequence number which is increase by one for each stream data event sent. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Stream data. |
VSCP_TYPE_CONTROL_SET_PRESET
Some nodes may have pre-set configurations to choose from. With this event a pre-set can be set for a zone/sub-zone.
A node that receive and act on this event send CLASS1.INFORMATION,
Type=48 as a response event.
Data byte | Description |
---|---|
0 | Code for pre-set to set. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_TOGGLE_STATE
Toggle the state of a node.
Note: This may be a bad design option as it often demands that the state should be known for the node on beforehand.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_TIMED_PULSE_ON
With this event it is possible to generate a timed pulse that is on for a specified time.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3 | Control byte. |
4-7 | Set time as a long with MSB in the first byte. |
The control byte have the following bits defined
Bit | Description |
---|---|
0-3 | Time code (see table below) |
4 | Reserved |
5 | Reserved |
6 | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on. |
7 | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. |
Code | Description |
---|---|
0 | Time specified in microseconds. |
1 | Time specified in milliseconds. |
2 | Time specified in seconds. |
3 | Time specified in minutes. |
4 | Time specified in hours. |
5 | Time specified in days. |
VSCP_TYPE_CONTROL_TIMED_PULSE_OFF
With this event it is possible to generate a timed pulse that is off for a specified time.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3 | Control byte. |
4-7 | Set time as a long with MSB in the first byte. |
The control byte have the following bits defined
Bit | Description |
---|---|
0-3 | Time code (see table below) |
4 | Reserved |
5 | Reserved |
6 | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on. |
7 | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. |
Code | Description |
---|---|
0 | Time specified in microseconds. |
1 | Time specified in milliseconds. |
2 | Time specified in seconds. |
3 | Time specified in minutes. |
4 | Time specified in hours. |
5 | Time specified in days. |
VSCP_TYPE_CONTROL_SET_COUNTRY_LANGUAGE
Set country and language.
Data byte | Description |
---|---|
0 | Country/Language code. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Country/Language code specific |
Language code | Description | Example |
---|---|---|
0 | Custom coded system | Byte 3 = 0 English, Byte 3 = 1 German or similar. |
1 | ISO 639-1 | nl for Dutch, en for English. |
2 | ISO 639-2/T | nid for Dutch, eng for English. |
3 | ISO 639-2/B | dut for Dutch, eng for English. |
4 | ISO 639-3 | nid for Dutch, eng for English. |
5 | IETF (RFC-5646/4647) | en-US for American English. en-GB British. |
ISO codes can be found here
VSCP_TYPE_CONTROL_BIG_CHANGE_LEVEL
Big Change level can be used in situations when the one byte level of CLASS1.CONTROL, Type=22 is not enough.
Data byte | Description |
---|---|
0 | Index |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Level as signed integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the signed integer (MSB first). |
VSCP_TYPE_CONTROL_SHUTTER_UP
Move shutter up.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SHUTTER_DOWN
Move shutter down.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SHUTTER_LEFT
Move shutter left.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SHUTTER_RIGHT
Move shutter right.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SHUTTER_MIDDLE
Move shutter to middle position.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SHUTTER_PRESET
Move shutter to preset position.
Data byte | Description |
---|---|
0 | Index. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3 | Position 0-100. |
VSCP_TYPE_CONTROL_ALL_LAMPS_ON
Turn on all lamps in a zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
See also CLASS1.CONTROL, Type=2
VSCP_TYPE_CONTROL_ALL_LAMPS_OFF
Turn off all lamps in a zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
See also CLASS1.CONTROL, Type=2
VSCP_TYPE_CONTROL_LOCK
Lock devices in a zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_UNLOCK
Unlock devices in a zone.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_PWM
With this event it is possible to set duty cycle output such as PWM.
Data byte | Description |
---|---|
0 | Repeat/counter: 0=repeat forever, >0 number of repeats |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3 | Control byte. |
4 | Time-On MSB |
5 | Time-On LSB |
6 | Time-Off MSB |
7 | Time-Off LSB |
The control byte have the following bits defined
Bit | Description |
---|---|
0-3 | Time code (see table below) |
4 | Reserved |
5 | Reserved |
6 | Reserved |
7 | Reserved |
Code | Description |
---|---|
0 | Time specified in microseconds. |
1 | Time specified in milliseconds. |
2 | Time specified in seconds. |
3 | Time specified in minutes. |
4 | Time specified in hours. |
5 | Time specified in days. |
VSCP_TYPE_CONTROL_TOKEN_LOCK
Lock devices with token.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |
VSCP_TYPE_CONTROL_TOKEN_UNLOCK
Unlock devices with token.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |
VSCP_TYPE_CONTROL_SET_SECURITY_LEVEL
Set security level.
Data byte | Description |
---|---|
0 | Security level to set. 0-255 (Higher value is higher security level). |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_SET_SECURITY_PIN
Set security pin.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Security pin. This pin can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |
VSCP_TYPE_CONTROL_SET_SECURITY_PASSWORD
Set security password.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Security password. This password can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an UTF-8 string with a length set bt event data length - 3 |
VSCP_TYPE_CONTROL_SET_SECURITY_TOKEN
Set security token.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |
VSCP_TYPE_CONTROL_REQUEST_SECURITY_TOKEN
Request new security token.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
VSCP_TYPE_CONTROL_INCREMENT
Increment value.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Increment as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default increment value. |
VSCP_TYPE_CONTROL_DECREMENT
Decrement value.
Data byte | Description |
---|---|
0 | Optional byte that have a meaning given by the issuer of the event. |
1 | Zone for which event applies to (0-255). 255 is all zones. |
2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |
3-7 | Decrement as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default decrement value. |