2020-07-31 13:26:23 -07:00
import {
INodeProperties ,
} from 'n8n-workflow' ;
export const lightOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'light' ,
] ,
} ,
} ,
options : [
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete an light' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Retrieve an light' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Retrieve all lights' ,
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update an light' ,
}
] ,
default : 'update' ,
description : 'The operation to perform.'
}
] as INodeProperties [ ] ;
export const lightFields = [
2020-08-03 01:06:46 -07:00
2020-07-31 13:26:23 -07:00
/* -------------------------------------------------------------------------- */
/* light:delete */
/* -------------------------------------------------------------------------- */
{
displayName : 'Light ID' ,
name : 'lightId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
operation : [
'delete' ,
] ,
resource : [
'light' ,
] ,
} ,
} ,
default : '' ,
} ,
2020-08-03 01:06:46 -07:00
2020-07-31 13:26:23 -07:00
/* -------------------------------------------------------------------------- */
/* light:getAll */
/* -------------------------------------------------------------------------- */
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'light' ,
] ,
} ,
} ,
default : false ,
description : 'If all results should be returned or only up to a given limit.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'light' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 500 ,
} ,
default : 100 ,
description : 'How many results to return.' ,
} ,
2020-08-03 01:06:46 -07:00
2020-07-31 13:26:23 -07:00
/* -------------------------------------------------------------------------- */
/* light:get */
/* -------------------------------------------------------------------------- */
{
displayName : 'Light ID' ,
name : 'lightId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
operation : [
'get' ,
] ,
resource : [
'light' ,
] ,
} ,
} ,
default : '' ,
} ,
2020-08-03 01:06:46 -07:00
2020-07-31 13:26:23 -07:00
/* -------------------------------------------------------------------------- */
/* light:update */
/* -------------------------------------------------------------------------- */
{
displayName : 'Light ID' ,
name : 'lightId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getLights' ,
} ,
required : true ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'light' ,
] ,
} ,
} ,
default : '' ,
} ,
{
displayName : 'On' ,
name : 'on' ,
type : 'boolean' ,
required : true ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'light' ,
] ,
} ,
} ,
2020-08-03 01:06:46 -07:00
default : true ,
description : 'On/Off state of the light.' ,
2020-07-31 13:26:23 -07:00
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
resource : [
'light' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Alert Effect' ,
name : 'alert' ,
type : 'options' ,
options : [
{
name : 'none' ,
value : 'none' ,
description : 'the light is not performing an alert effect' ,
} ,
{
name : 'Select' ,
value : 'select' ,
description : 'The light is performing one breathe cycle.' ,
} ,
{
name : 'LSelect' ,
value : 'lselect' ,
description : 'The light is performing breathe cycles for 15 seconds or until an "alert": "none" command is received' ,
} ,
] ,
default : '' ,
2020-08-03 01:06:46 -07:00
description : 'The alert effect, is a temporary change to the bulb’ s state' ,
2020-07-31 13:26:23 -07:00
} ,
{
displayName : 'Brightness' ,
name : 'bri' ,
type : 'number' ,
typeOptions : {
minValue : 1 ,
maxValue : 254 ,
} ,
default : 100 ,
description : 'The brightness value to set the light to.Brightness is a scale from 1 (the minimum the light is capable of) to 254 (the maximum).' ,
} ,
{
displayName : 'Brightness Increments' ,
name : 'bri_inc' ,
type : 'number' ,
typeOptions : {
minValue : - 254 ,
maxValue : 254 ,
} ,
default : 0 ,
2020-08-03 01:06:46 -07:00
description : 'Increments or decrements the value of the brightness. This value is ignored if the Brightness attribute is provided.' ,
2020-07-31 13:26:23 -07:00
} ,
{
displayName : 'Color Temperature' ,
name : 'ct' ,
type : 'number' ,
default : 0 ,
description : 'The Mired color temperature of the light. 2012 connected lights are capable of 153 (6500K) to 500 (2000K).' ,
} ,
{
displayName : 'Color Temperature Increments' ,
name : 'ct_inc' ,
type : 'number' ,
typeOptions : {
minValue : - 65534 ,
maxValue : 65534 ,
} ,
default : 0 ,
description : 'Increments or decrements the value of the ct. ct_inc is ignored if the ct attribute is provided' ,
} ,
2020-08-03 01:06:46 -07:00
{
displayName : 'Coordinates' ,
name : 'xy' ,
type : 'string' ,
default : '' ,
placeholder : '0.64394,0.33069' ,
description : ` The x and y coordinates of a color in CIE color space.</br>
The first entry is the x coordinate and the second entry is the y coordinate . Both x and y are between 0 and 1 ` ,
} ,
{
displayName : 'Coordinates Increments' ,
name : 'xy_inc' ,
type : 'string' ,
default : '' ,
placeholder : '0.5,0.5' ,
description : ` Increments or decrements the value of the xy. This value is ignored if the Coordinates attribute is provided. Any ongoing color transition is stopped. Max value [0.5, 0.5] ` ,
} ,
2020-07-31 13:26:23 -07:00
{
displayName : 'Dynamic Effect' ,
name : 'effect' ,
type : 'options' ,
options : [
{
name : 'none' ,
value : 'none' ,
} ,
{
name : 'Color Loop' ,
value : 'colorloop' ,
} ,
] ,
default : '' ,
description : 'The dynamic effect of the light.' ,
} ,
{
displayName : 'Hue' ,
name : 'hue' ,
type : 'number' ,
typeOptions : {
minValue : 0 ,
maxValue : 65535 ,
} ,
default : 0 ,
description : 'The hue value to set light to.The hue value is a wrapping value between 0 and 65535. Both 0 and 65535 are red, 25500 is green and 46920 is blue.' ,
} ,
{
displayName : 'Hue Increments' ,
name : 'hue_inc' ,
type : 'number' ,
typeOptions : {
minValue : - 65534 ,
maxValue : 65534 ,
} ,
default : 0 ,
2020-08-03 01:06:46 -07:00
description : 'Increments or decrements the value of the hue. Hue Increments is ignored if the Hue attribute is provided.' ,
2020-07-31 13:26:23 -07:00
} ,
{
displayName : 'Saturation' ,
name : 'sat' ,
type : 'number' ,
typeOptions : {
minValue : 0 ,
maxValue : 254 ,
} ,
default : 0 ,
description : 'Saturation of the light. 254 is the most saturated (colored) and 0 is the least saturated (white).' ,
} ,
{
displayName : 'Saturation Increments' ,
name : 'sat_inc' ,
type : 'number' ,
typeOptions : {
minValue : - 254 ,
maxValue : 254 ,
} ,
default : 0 ,
2020-08-03 01:06:46 -07:00
description : 'Increments or decrements the value of the sat. This value is ignored if the Saturation attribute is provided.' ,
2020-07-31 13:26:23 -07:00
} ,
{
displayName : 'Transition Time' ,
name : 'transitiontime' ,
type : 'number' ,
typeOptions : {
minVale : 1 ,
} ,
default : 4 ,
description : 'The duration in seconds of the transition from the light’ s current state to the new state' ,
} ,
] ,
} ,
] as INodeProperties [ ] ;