Siren and light configuration
This API is based on the Device Configuration API framework. For guidance on how to use these APIs, see Device Configuration APIs.
The VAPIX® Siren and light configuration API allows you to manage signaling features on devices with sirens or lights, such as cameras or standalone IoT devices. These signals can be used for various purposes, such as notifications, alerts, and deterrence.
This API allows you to control individual device components, referred to as functions. A function is a controllable hardware element, like a speaker or light, that operates independently from other functions on the same device. For example, a device can include separate light functions like "AudioLED" or "SignalingLED", or speaker functions like "AudioSpeaker".
Each function supports a list of patterns, where a pattern defines how that function behaves. For a siren, a pattern can be a sound file, while a light describes behavior such as steady on, flashing, or alternating. Patterns are configured with additional settings like intensity (volume for sirens, brightness for lights), duration, speed, colors, and priority.
Priority determines which activity takes precedence when multiple tasks attempt to control the same function. All tasks created by activating a function have an associated priority. When a function is activated, a task is created that represents the ongoing activity. This task can later be stopped or queried. If multiple tasks are targeting the same function, only the one with the highest priority will be active at any given time. If that task ends, the next highest-priority task becomes active.
To simplify control, a pattern and its associated settings, including priority, can be saved as a named profile. Profiles allow users to activate functions using a predefined setup, reducing complexity and enabling more convenient operation. Profiles also have the ability to resume playing if the device is restarted.
Use cases
Start a light pattern
Use the start action to initiate a light pattern and set related parameters.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/light/patterns/Blink/start \
--data '{
"data": {
"colors": [
"red"
],
"duration": {
"unit": "REPETITIONS",
"value": 10
},
"intensity": 5,
"priority": 3,
"speed": 1
}
}'
POST /config/rest/siren-and-light/v2/functions/light/patterns/Blink/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"colors": [
"red"
],
"duration": {
"unit": "REPETITIONS",
"value": 10
},
"intensity": 5,
"priority": 3,
"speed": 1
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"taskId": "0"
}
}
Start a profile
Use the start action to start the "Fire_Alarm" profile if the fire alarm is triggered.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Fire_Alarm/start \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/profiles/Fire_Alarm/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"tasks": [
{
"function": "SignalingLED",
"taskId": "3"
},
{
"function": "AudioSpeaker",
"taskId": "4"
}
]
}
}
Start a profile with a delay
Use the start action with a timestamp scheduled to begin 0.5 seconds in the future. This allows multiple units to be synchronized to start simultaneously.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Exit/start \
--data '{
"data": {
"startAt": "2008-07-05T13:14Z"
}
}'
POST /config/rest/siren-and-light/v2/profiles/Exit/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"startAt": "2008-07-05T13:14Z"
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"tasks": [
{
"function": "SignalingLED",
"taskId": "3"
}
]
}
}
Start a light pattern with a delay
Specify a 'startAt' timestamp about 0.5 seconds ahead to synchronize multiple devices or functions.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/light/patterns/Alternate/start \
--data '{
"data": {
"colors": [
"red",
"green"
],
"duration": {
"unit": "REPETITIONS",
"value": 10
},
"intensity": 5,
"priority": 3,
"speed": 1,
"startAt": "2008-07-05T13:14Z"
}
}'
POST /config/rest/siren-and-light/v2/functions/light/patterns/Alternate/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"colors": [
"red",
"green"
],
"duration": {
"unit": "REPETITIONS",
"value": 10
},
"intensity": 5,
"priority": 3,
"speed": 1,
"startAt": "2008-07-05T13:14Z"
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"taskId": "0"
}
}
Stop all tasks for a specific function
Use the stop action to stop the siren function when you want to stop playing a sound but you don't know taskId or which profile is playing.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/siren/stop \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/functions/siren/stop HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Stop all tasks for all functions
Use the stop action to stop all active tasks without knowing what is playing.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/stop \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/stop HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Get device status
Get all tasks that are running for all functions.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions
GET /config/rest/siren-and-light/v2/functions HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": [
{
"function": "siren",
"functionClass": "SIREN",
"powerMode": "FULL",
"scheduledStartSupported": false,
"scheduledStartToleranceMs_supported": false,
"calibrationStatus": null,
"patterns": [
{
"audioVisualizer": false,
"colors": null,
"defaultColors": null,
"defaultIntensity": 0,
"defaultIntensityLimited": null,
"defaultPriority": 3,
"defaultSpeed": null,
"intensity": [
0
],
"intensityLimited": null,
"maxNbrColors": null,
"minNbrColors": null,
"pattern": "Off",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": null
},
{
"audioVisualizer": false,
"colors": null,
"defaultColors": null,
"defaultIntensity": 2,
"defaultIntensityLimited": null,
"defaultPriority": 3,
"defaultSpeed": null,
"intensity": [
1,
2,
3,
4,
5
],
"intensityLimited": null,
"maxNbrColors": null,
"minNbrColors": null,
"pattern": "Alarm: Alarm high pitch",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": null
},
{
"audioVisualizer": false,
"colors": null,
"defaultColors": null,
"defaultIntensity": 2,
"defaultIntensityLimited": null,
"defaultPriority": 3,
"defaultSpeed": null,
"intensity": [
1,
2,
3,
4,
5
],
"intensityLimited": null,
"maxNbrColors": null,
"minNbrColors": null,
"pattern": "Alarm: Single beep",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": null
}
],
"tasks": [
{
"intensity": 1,
"durationLeft": 12,
"pattern": "Alarm: Single beep",
"priority": 3,
"profile": "test",
"taskId": "2"
}
]
},
{
"function": "SignalingLED",
"functionClass": "LIGHT",
"powerMode": "FULL",
"calibrationStatus": "CALIBRATED",
"scheduledStartSupported": true,
"scheduledStartToleranceMs": 3000,
"scheduledStartToleranceMs_supported": true,
"patterns": [
{
"audioVisualizer": false,
"colors": null,
"defaultColors": null,
"defaultIntensity": 0,
"defaultIntensityLimited": 0,
"defaultPriority": 3,
"defaultSpeed": 1,
"intensity": [
0
],
"intensityLimited": [
0
],
"maxNbrColors": null,
"minNbrColors": null,
"pattern": "Off",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": [
1
]
},
{
"colors": [
"red",
"green",
"blue",
"amber",
"white",
"yellow",
"pink",
"purple",
"turquoise"
],
"defaultColors": [
"red"
],
"defaultIntensity": 3,
"defaultIntensityLimited": 3,
"defaultPriority": 3,
"defaultSpeed": 1,
"intensity": [
1,
2,
3,
4,
5
],
"intensityLimited": [
1,
2,
3
],
"maxNbrColors": 1,
"minNbrColors": 1,
"pattern": "Steady",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": [
1
]
},
{
"audioVisualizer": false,
"colors": [
"red",
"green",
"blue",
"amber",
"white",
"yellow",
"pink",
"purple",
"turquoise"
],
"defaultColors": [
"red",
"blue"
],
"defaultIntensity": 3,
"defaultIntensityLimited": 3,
"defaultPriority": 3,
"defaultSpeed": 3,
"intensity": [
1,
2,
3,
4,
5
],
"intensityLimited": [
1,
2,
3
],
"maxNbrColors": 9,
"minNbrColors": 2,
"pattern": "Alternate",
"priority": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"speed": [
1,
2,
3,
4,
5
]
}
],
"tasks": [
{
"colors": [
"white"
],
"intensity": 3,
"pattern": "Rotate",
"priority": 3,
"profile": "Profile 1",
"speed": 3,
"taskId": "1"
}
]
}
]
}
Update intensity of a task
Updates the intensity for an active function.
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/SignalingLED/tasks/1/intensity \
--data '{
"data": 2
}'
PATCH /config/rest/siren-and-light/v2/functions/SignalingLED/tasks/1/intensity HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": 2
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Get profiles
Get all available profiles.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles
GET /config/rest/siren-and-light/v2/profiles HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": [
{
"description": "This is a description.",
"functions": [
{
"function": "siren",
"functionClass": "SIREN",
"intensity": 2,
"pattern": "Alarm: Soft triple beep",
"patternAvailable": true,
"priority": 3
},
{
"colors": [
"white"
],
"function": "SignalingLED",
"functionClass": "LIGHT",
"intensity": 3,
"pattern": "Random",
"priority": 3,
"speed": 3
}
],
"profile": "Profile 1",
"resumeOnStartup": true
},
{
"description": "Description for Profile 2",
"functions": [
{
"colors": [
"white"
],
"function": "SignalingLED",
"functionClass": "LIGHT",
"intensity": 3,
"pattern": "Rotate",
"patternAvailable": true,
"priority": 3,
"speed": 3
}
],
"profile": "Profile 2",
"resumeOnStartup": false
}
]
}
Add profile
Create a profile that will restart on reboot. It will fail if a profile with the same name already exists or if the maximum number of profiles (30) has been reached.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles \
--data '{
"data": {
"profile": "Test",
"description": "Test profile",
"resumeOnStartup": true
}
}'
POST /config/rest/siren-and-light/v2/profiles HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"profile": "Test",
"description": "Test profile",
"resumeOnStartup": true
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status": "success",
"data": {}
}
Add a function to the profile. Each profile can only have one light function and one siren function.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Test/functions \
--data '{
"data": {
"colors": [
"red"
],
"duration": {
"unit": "SECONDS",
"value": 10
},
"function": "SignalingLED",
"intensity": 5,
"pattern": "steady",
"priority": 13,
"speed": 5
}
}'
POST /config/rest/siren-and-light/v2/profiles/Test/functions HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"colors": [
"red"
],
"duration": {
"unit": "SECONDS",
"value": 10
},
"function": "SignalingLED",
"intensity": 5,
"pattern": "steady",
"priority": 13,
"speed": 5
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status": "success",
"data": {}
}
Remove profile
Removes an existing siren and light pattern profile from the device. If the profile is currently active, it will be stopped as part of the removal process.
- curl
- HTTP
curl --request DELETE \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Test
DELETE /config/rest/siren-and-light/v2/profiles/Test HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Update intensity of a function in a profile
Updates the intensity for the function in a profile. If the profile is active, the intensity gets immediately updated. The new intensity is also stored in the profile.
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Test/functions/SignalingLED \
--data '{
"data": 1
}'
PATCH /config/rest/siren-and-light/v2/profiles/Test/functions/SignalingLED HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": 1
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Start maintenance mode
Maintenance mode mutes any siren-type functions while active. It can be set for a specific duration or run indefinitely until manually stopped.
- If a time value is provided, it represents the duration in seconds that maintenance mode will stay active.
- If no time value is given, the mode will remain active indefinitely until stopped. Note that not all devices support maintenance mode.
Check whether maintenance mode is supported on this device:
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/maintenanceMode/supported
GET /config/rest/siren-and-light/v2/maintenanceMode/supported HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": true
}
Start maintenance mode that stops after 10 seconds.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/maintenanceMode/start \
--data '{
"data": {
"time": 10
}
}'
POST /config/rest/siren-and-light/v2/maintenanceMode/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"time": 10
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Start maintenance mode that runs indefinitely.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/maintenanceMode/start \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/maintenanceMode/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Stop maintenance mode
Stop maintenance mode if it has been started without a timeout.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/maintenanceMode/stop \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/maintenanceMode/stop HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Check if maintenance mode is running
Check if the maintenance mode is currently running.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/maintenanceMode/running
GET /config/rest/siren-and-light/v2/maintenanceMode/running HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": false
}
Verify the operational condition with a health check
Some functions use health checks to verify if they are fully operational. They generally run a short test sequence and report back if a function is healthy or not. If a check fails, detailed information is available in the device’s system log.
Check if a function supports health check.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/SignalingLED/healthCheckSupported
GET /config/rest/siren-and-light/v2/functions/SignalingLED/healthCheckSupported HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": true
}
Run health check for the function.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/SignalingLED/runHealthCheck \
--data '{
"data": {}
}'
POST /config/rest/siren-and-light/v2/functions/SignalingLED/runHealthCheck HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"isHealthy": true
}
}
Set beam shape for function
Some functions support beam shapes. This is indicated by the property beamShape_supported. If supported, the default beam shape can be set from a collection of supported beam shapes. The default beam shape is what is used if not overridden by a profile or when starting a task.
If the default beam shape is updated and a profile that does not override the beam shape is running, the beam shape will be immediately updated for the running profile.
Check if beam shapes are supported.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/beamShape_supported
GET /config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/beamShape_supported HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": true
}
Get supported beam shapes.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/beamShapes
GET /config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/beamShapes HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": [
{
"beamShape": "Wide"
},
{
"beamShape": "Mid"
},
{
"beamShape": "Spot"
},
{
"beamShape": "Left"
},
{
"beamShape": "Right"
},
{
"beamShape": "Panoramic left"
},
{
"beamShape": "Panoramic right"
}
]
}
Set default beam shape.
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/default \
--data '{
"data": "Wide"
}'
PATCH /config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/default HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": "Wide"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success"
}
Get the currently default beam shape.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/default
GET /config/rest/siren-and-light/v2/functions/IlluminatorLED/beamShape/default HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": "Wide"
}
Override beam shape
The beam shape can be overridden either when starting a task or using a profile with the beamShapeOverride property.
If neither a task nor a profile overrides the beam shape, the default beam shape is used.
The property beamShape_supported indicates whether the function supports beam shapes.
If supported, the beamShape property returns the current beam shape (either the default or the overridden value).
It is not possible to determine if a task without a profile has started with an overridden beam shape. Additionally, its beam shape will not be updated if the function’s default beam shape changes.
The property beamShapeOverride_supported indicates whether the function supports beam shape overrides. If the profile overrides the default beam shape, the beamShapeOverride property indicates which beam shape is applied. If no override is set, the property value is null.
Start a task that overrides the functions beam shape.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/functions/light/patterns/Steady/start \
--data '{
"data": {
"beamShapeOverride": "Spot",
"colors": [
"white"
],
"duration": {
"unit": "SECONDS",
"value": 2
},
"intensity": 1,
"priority": 3,
"speed": 1
}
}'
POST /config/rest/siren-and-light/v2/functions/light/patterns/Steady/start HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"beamShapeOverride": "Spot",
"colors": [
"white"
],
"duration": {
"unit": "SECONDS",
"value": 2
},
"intensity": 1,
"priority": 3,
"speed": 1
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"taskId": "0"
}
}
Add a profile function that overrides the functions beam shape.
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Test/functions \
--data '{
"data": {
"beamShapeOverride": "Mid",
"colors": [
"white"
],
"duration": {
"unit": "SECONDS",
"value": 10
},
"function": "IlluminatorLED",
"intensity": 5,
"pattern": "Steady",
"priority": 5,
"speed": 1
}
}'
POST /config/rest/siren-and-light/v2/profiles/Test/functions HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": {
"beamShapeOverride": "Mid",
"colors": [
"white"
],
"duration": {
"unit": "SECONDS",
"value": 10
},
"function": "IlluminatorLED",
"intensity": 5,
"pattern": "Steady",
"priority": 5,
"speed": 1
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status": "success",
"data": {}
}
Set default beam shape for a profile function, do not override.
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/siren-and-light/v2/profiles/Test/functions/IlluminatorLED/beamShapeOverride \
--data '{
"data": null
}'
PATCH /config/rest/siren-and-light/v2/profiles/Test/functions/IlluminatorLED/beamShapeOverride HTTP/1.1
HOST: my-device
Content-Type: application/json
{
"data": null
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {}
}
Error codes
The following error codes can occur when using this API:
| Error code | Description | | 100 | The specified pattern is invalid or does not exist. | | 101 | The specified intensity is invalid, e.g. it may exceed the available power. | | 102 | The specified priority is not supported for the chosen function and pattern. | | 103 | The specified speed is is not supported for the chosen function and pattern. | | 104 | The specified function is invalid, e.g. it does not exist or the combination of function and pattern is invalid. | | 105 | The specified number of colors is invalid, the pattern does not support the number of colors. | | 106 | The specified color is invalid, e.g. the combination of function and pattern does not support this color. | | 107 | The specified duration unit is invalid, see the DurationUnit type for valid values. | | 108 | The specified duration value is invalid, e.g. the number of repetitions exceed the maximum value. | | 109 | The specified profile does not exist. | | 110 | The specified timestamp is invalid, it must be in ISO 8601 format and within the time diff tolerance for the function. | | 111 | The specified beam shape is is not supported for the chosen function. |
API definition
Structure
siren-and-light.v2 (Root Entity)
├── stop (Action)
├── functions (Entity Collection)
├── calibrationStatus (Property)
├── function (Property)
├── functionClass (Property)
├── healthCheckSupported (Property)
├── powerMode (Property)
├── scheduledStartSupported (Property)
├── scheduledStartToleranceMs (Property)
├── calibrationStatus_supported (Property)
├── scheduledStartToleranceMs_supported (Property)
├── beamShape_supported (Property)
├── runHealthCheck (Action)
├── stop (Action)
├── beamShape (Entity)
├── default (Property)
├── beamShapes (Entity Collection)
├── beamShape (Property)
├── patterns (Entity Collection)
├── audioVisualizer (Property)
├── colors (Property)
├── defaultColors (Property)
├── defaultIntensity (Property)
├── defaultIntensityLimited (Property)
├── defaultPriority (Property)
├── defaultSpeed (Property)
├── defaultThreshold (Property)
├── intensity (Property)
├── intensityLimited (Property)
├── maxNbrColors (Property)
├── minNbrColors (Property)
├── pattern (Property)
├── priority (Property)
├── speed (Property)
├── colors_supported (Property)
├── defaultColors_supported (Property)
├── defaultIntensityLimited_supported (Property)
├── defaultSpeed_supported (Property)
├── defaultThreshold_supported (Property)
├── intensityLimited_supported (Property)
├── maxNbrColors_supported (Property)
├── minNbrColors_supported (Property)
├── speed_supported (Property)
├── start (Action)
├── tasks (Entity Collection)
├── beamShape (Property)
├── colors (Property)
├── durationLeft (Property)
├── intensity (Property)
├── pattern (Property)
├── priority (Property)
├── profile (Property)
├── speed (Property)
├── taskId (Property)
├── threshold (Property)
├── beamShape_supported (Property)
├── colors_supported (Property)
├── durationLeft_supported (Property)
├── profile_supported (Property)
├── speed_supported (Property)
├── threshold_supported (Property)
├── stop (Action)
├── maintenanceMode (Entity)
├── running (Property)
├── supported (Property)
├── start (Action)
├── stop (Action)
├── profiles (Entity Collection)
├── description (Property)
├── profile (Property)
├── resumeOnStartup (Property)
├── description_supported (Property)
├── start (Action)
├── stop (Action)
├── functions (Entity Collection)
├── beamShapeOverride (Property)
├── colors (Property)
├── duration (Property)
├── function (Property)
├── functionClass (Property)
├── intensity (Property)
├── pattern (Property)
├── patternAvailable (Property)
├── priority (Property)
├── speed (Property)
├── threshold (Property)
├── beamShapeOverride_supported (Property)
├── colors_supported (Property)
├── duration_supported (Property)
├── speed_supported (Property)
├── threshold_supported (Property)
Entities
siren-and-light.v2
- Description: Siren and Light Root Entity
- Type: Singleton
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
This entity has no properties.
Actions
stop
- Description: Send a request to stop all tasks for all functions
- Request Datatype: EmptyJson
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.functions
- Description: The collection of siren and light functions
- Type: Collection (Key Property: function)
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
calibrationStatus
- Description: Whether the function has been calibrated
- Datatype: CalibrationStatusString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
function
- Description: The name of the function
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
functionClass
- Description: The class of the function
- Datatype: FunctionClass
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
healthCheckSupported
- Description: Whether the function supports health check
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
powerMode
- Description: The power mode used by the function
- Datatype: PowerModeString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
scheduledStartSupported
- Description: Whether the function supports scheduled start
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
scheduledStartToleranceMs
- Description: The maximum allowed deviation for the scheduled start timestamp, in milliseconds
- Datatype: IntegerMinimum1
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
calibrationStatus_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
scheduledStartToleranceMs_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
beamShape_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions Properties
runHealthCheck
- Description: Send a request to run health check
- Request Datatype: EmptyJson
- Response Datatype: RunHealthCheckResponse
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
stop
- Description: Send a request to stop all running tasks on the function
- Request Datatype: EmptyJson
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.functions.beamShape
- Description: The default and supported beam shapes
- Type: Singleton
- Operations
- Get
- Attributes
- Dynamic Support: Yes
Properties
default
- Description: The default beam shape
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
This entity has no actions.
siren-and-light.v2.functions.beamShape.beamShapes
- Description: The supported beam shapes
- Type: Collection (Key Property: beamShape)
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
beamShape
- Description: The name of the beam shape
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions ##### Properties
This entity has no actions.
siren-and-light.v2.functions.patterns
- Description: The supported patterns
- Type: Collection (Key Property: pattern)
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
audioVisualizer
- Description: Whether the pattern is synchronized with audio
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
colors
- Description: The possible colors
- Datatype: ColorsArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
defaultColors
- Description: The default colors
- Datatype: ColorsArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
defaultIntensity
- Description: The default intensity on full power
- Datatype: Integer0To5
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultIntensityLimited
- Description: The default intensity on limited power
- Datatype: Integer0To5
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
defaultPriority
- Description: The default priority
- Datatype: Integer1To10
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultSpeed
- Description: The default speed
- Datatype: Integer1To5
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
defaultThreshold
- Description: The default threshold of audio visualizer
- Datatype: Integer0To100
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
intensity
- Description: The possible intensities on full power
- Datatype: IntegerArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
intensityLimited
- Description: The possible intensities on limited power
- Datatype: IntegerArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
maxNbrColors
- Description: The maximum number of colors allowed
- Datatype: integer
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
minNbrColors
- Description: The minimum number of colors required
- Datatype: integer
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
pattern
- Description: The name of the pattern
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
priority
- Description: The possible priorities
- Datatype: IntegerArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
speed
- Description: The possible speeds
- Datatype: IntegerArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
colors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultColors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultIntensityLimited_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultSpeed_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
defaultThreshold_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
intensityLimited_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
maxNbrColors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
minNbrColors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
speed_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
start
- Description: Send a request to start pattern
- Request Datatype: StartPatternRequest
- Response Datatype: StartPatternResponse
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.functions.tasks
- Description: Active tasks
- Type: Collection (Key Property: taskId)
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
beamShape
- Description: The beam shape of the pattern
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
colors
- Description: A list of colors used in the pattern
- Datatype: ColorsArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
durationLeft
- Description: The number of seconds left
- Datatype: IntegerMinimum0
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
intensity
- Description: The intensity level
- Datatype: Integer0To5
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
pattern
- Description: The name of the pattern
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
priority
- Description: The priority level
- Datatype: Integer1To13
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
profile
- Description: The name of the profile
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
speed
- Description: The speed of the pattern
- Datatype: Integer1To5
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
taskId
- Description: The ID of the task
- Datatype: TaskId
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
threshold
- Description: The threshold value to trigger the audio visualizer
- Datatype: Integer0To100
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
beamShape_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
colors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
durationLeft_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
profile_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
speed_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
threshold_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
stop
- Description: Send a request to stop the task
- Request Datatype: EmptyJson
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.maintenanceMode
- Description: Maintenance mode
- Type: Singleton
- Operations
- Get
- Attributes
- Dynamic Support: No
Properties
running
- Description: Whether maintenance mode is currently running
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
supported
- Description: Whether maintenance mode is supported
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
start
- Description: Start maintenance mode
- Request Datatype: StartMaintenanceModeRequest
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
stop
- Description: Stop maintenance mode
- Request Datatype: EmptyJson
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.profiles
- Description: The collection of siren and light profiles
- Type: Collection (Key Property: profile)
- Operations
- Get
- Add (Permissions: admin, operator)
- Required properties: profile
- Optional properties: description, resumeOnStartup
- Remove (Permissions: admin, operator)
- Attributes
- Dynamic Support: No
Properties
description
- Description: Description of the profile
- Datatype: DescriptionString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
profile
- Description: The name of the profile
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
resumeOnStartup
- Description: Whether the profile should resume after restart
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
description_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
start
- Description: Send a request to start a Siren and Light profile
- Request Datatype: StartProfileRequest
- Response Datatype: StartProfileResponse
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
stop
- Description: Send a request to stop a Siren and Light profile
- Request Datatype: EmptyJson
- Response Datatype: EmptyJson
- Trigger Permissions: admin, operator
- Attributes
- Dynamic Support: No
siren-and-light.v2.profiles.functions
- Description: Functions in profile
- Type: Collection (Key Property: function)
- Operations
- Get
- Add (Permissions: admin, operator)
- Required properties: function, pattern
- Optional properties: intensity, speed, colors, duration, priority, threshold, beamShapeOverride
- Remove (Permissions: admin, operator)
- Attributes
- Dynamic Support: No
Properties
beamShapeOverride
- Description: Override beam shape for this function
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
colors
- Description: A list of colors used in the pattern
- Datatype: ColorsArray
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
duration
- Description: The duration the function stays active
- Datatype: Duration
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
function
- Description: The name of the function
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
functionClass
- Description: The class of function
- Datatype: FunctionClass
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
intensity
- Description: The intensity level
- Datatype: Integer0To5
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
pattern
- Description: The name of the pattern
- Datatype: NameString
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
patternAvailable
- Description: Whether the pattern is currently available
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
priority
- Description: The priority level
- Datatype: Integer1To13
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
speed
- Description: The speed of the pattern
- Datatype: Integer1To5
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
threshold
- Description: The threshold value to trigger the audio visualizer
- Datatype: Integer0To100
- Operations
- Get (Permissions: admin, operator)
- Set (Permissions: admin, operator)
- Attributes
- Nullable: Yes
- Dynamic Support: Yes / Dynamic Enum: No / Dynamic Range: No
beamShapeOverride_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
colors_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
duration_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
speed_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
threshold_supported
- Description:
- Datatype: boolean
- Operations
- Get (Permissions: admin, operator)
- Attributes
- Nullable: No
- Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions
This entity has no actions.
Data Types
CalibrationStatusString
- Description: The calibration status
- Type: string
- Enum Values: "CALIBRATED", "UNCALIBRATED"
ColorsArray
- Description: A list of colors used in the pattern
- Type: array
- Element type: string
- Null Value: No
DescriptionString
- Description: The description of a profile
- Type: string
- Minimum Length: 1
- Maximum Length: 250
- Pattern:
^(?! )[\p{L}\p{N} .:*,;/_\-+{}!#$%()='\x22?@\[\]^]+(?<! )$
Duration
- Description: Duration input
- Type: complex
- Fields
- unit
- Description: The unit of duration that can be 'seconds', 'repetitions', and 'continuous
- Type: DurationUnit
- Nullable: No / Gettable: Yes
- value
- Description: Duration value in seconds or number of pattern repetitions
- Type: integer
- Nullable: No / Gettable: Yes
- unit
If a duration object is supplied, to e.g. siren-and-light.v2.functions/light/patterns/{name}/start, both unit and value must be set. If a duration object is not supplied, the duration is set to CONTINUOUS.
DurationUnit
- Description: The unit of duration
- Type: string
- Enum Values: "SECONDS", "REPETITIONS", "CONTINUOUS"
EmptyJson
- Description: Empty response object
- Type: complex
FunctionClass
- Description: The class of the function
- Type: string
- Enum Values: "SIREN", "LIGHT"
FunctionTaskIdMap
- Description: Map of function and task ID
- Type: complex
- Fields
- function
- Description: The name of the function
- Type: NameString
- Nullable: No / Gettable: Yes
- taskId
- Description: The ID of the task
- Type: TaskId
- Nullable: No / Gettable: Yes
- function
FunctionTaskList
- Description: List of function and task ID maps
- Type: array
- Element type: FunctionTaskIdMap
- Null Value: No
Integer0To100
- Description: Limited integer
- Type: integer
- Minimum Value: 0
- Maximum Value: 100
Integer0To5
- Description: Limited integer
- Type: integer
- Minimum Value: 0
- Maximum Value: 5
Integer1To10
- Description: Limited integer
- Type: integer
- Minimum Value: 1
- Maximum Value: 10
Integer1To13
- Description: Limited integer
- Type: integer
- Minimum Value: 1
- Maximum Value: 13
Integer1To5
- Description: Limited integer
- Type: integer
- Minimum Value: 1
- Maximum Value: 5
IntegerArray
- Description: Integer values
- Type: array
- Element type: integer
- Null Value: No
IntegerMinimum0
- Description: Limited integer
- Type: integer
- Minimum Value: 0
IntegerMinimum1
- Description: Limited integer
- Type: integer
- Minimum Value: 1
NameString
- Description: The name of a profile, function, pattern or beam shape
- Type: string
- Minimum Length: 1
- Maximum Length: 50
- Pattern:
^(?! )[a-zA-Z0-9 .:*,;/_\-+{}!#$%()='\x22?@\[\]^]+(?<! )$
PowerModeString
- Description: The power mode
- Type: string
- Enum Values: "FULL", "LIMITED", "LIMITED_LEVEL_2"
RunHealthCheckResponse
- Description: The response from health check
- Type: complex
- Fields
- isHealthy
- Description: Health check result, passed or failed
- Type: boolean
- Nullable: No / Gettable: Yes
- isHealthy
StartMaintenanceModeRequest
- Description: The request to start maintenance mode
- Type: complex
- Fields
- time
- Description: The number of seconds that maintenance mode is active
- Type: IntegerMinimum1
- Nullable: Yes / Gettable: Yes
- time
StartPatternRequest
- Description: The request to start pattern
- Type: complex
- Fields
- beamShapeOverride
- Description: Override beam shape for the pattern
- Type: NameString
- Nullable: Yes / Gettable: Yes
- colors
- Description: A list of colors used in the pattern
- Type: ColorsArray
- Nullable: Yes / Gettable: Yes
- duration
- Description: The duration the function stays active
- Type: Duration
- Nullable: Yes / Gettable: Yes
- intensity
- Description: The intensity level
- Type: Integer0To5
- Nullable: Yes / Gettable: Yes
- priority
- Description: The priority level
- Type: Integer1To10
- Nullable: Yes / Gettable: Yes
- speed
- Description: The speed of the pattern
- Type: Integer1To5
- Nullable: Yes / Gettable: Yes
- startAt
- Description: Optional timestamp for scheduled start; only valid if the function supports scheduled start and must be within scheduledStartToleranceMs
- Type: Timestamp
- Nullable: Yes / Gettable: Yes
- threshold
- Description: The threshold value to trigger the audio visualizer
- Type: Integer0To100
- Nullable: Yes / Gettable: Yes
- beamShapeOverride
StartPatternResponse
- Description: The response from start pattern
- Type: complex
- Fields
- taskId
- Description: Id of started task
- Type: TaskId
- Nullable: No / Gettable: Yes
- taskId
StartProfileRequest
- Description: Request structure for starting a Siren and Light profile
- Type: complex
- Fields
- startAt
- Description: Optional timestamp for scheduled start; only valid if the function supports scheduled start and must be within scheduledStartToleranceMs
- Type: Timestamp
- Nullable: Yes / Gettable: Yes
- startAt
StartProfileResponse
- Description: The response from start profile
- Type: complex
- Fields
- tasks
- Description: List of started tasks
- Type: FunctionTaskList
- Nullable: No / Gettable: Yes
- tasks
TaskId
- Description: The ID of the task
- Type: string
- Minimum Length: 1
- Maximum Length: 10
Timestamp
- Description: A timestamp in ISO 8601 format
- Type: string
- Format: date-time