Update BOM for Lighting Products
LightProductBOMRule
Calculates non-3D lighting-related products and updates BOM.
Notification level: Not applicable
Key | Value |
---|---|
ID | LightProductBOMRule |
Translation key | Not applicable |
Behavior
This rule calculates non-3D products which are needed for lighting solution such as transformers, cord sets and dimmer control and updates the Bill Of Materials (BOM).
The computation is based on the sum of wattage and the total number of lights and is done for each group of adjacent units separately. If the total wattage or the number of lights in a group of adjacent cabinets is not covered by the conditions defined in the overload, then there is no product (transformer, power supplys cord, intermediate cord, dimmer etc.) added to the item list and to the BOM.
Notes
- The products (transformers, cords, dimmers etc.) can be shared by several cabinets if they are adjacent.
- Cabinets are adjacent if they are in contact on one side (left or right) and if their back side is aligned. For wall and high cabinets, they must also have the top aligned. Two base cabinets with the same dimensions placed against each other on the back (island) are also considered as adjacent. In other cases, cabinets are not considered as adjacent by the Light Product BOM Rule.
The Range Manager needs to define in the overloads the following information:
- Wattage ranges
- Lighting count ranges
- Lighting products needed for each combination of wattage range and lighing count range
- External ID of the supported lighting products (which will trigger the rule and be considered for wattage computation)
Trigger Conditions
BOM computation.
Overload Parameters
lightingWattageRange
Mandatory parameter – Type: array
Array of objects describing the information of the following:
- Range of the wattage value
- Range of the lighting count
- Products required based on wattage range and lighting count range
Key name | Type | Default value | Description |
---|---|---|---|
min | Number | – | Mandatory The min value of the wattage range. The value is excluded when comparing with the calculated wattage value. |
max | Number | – | Mandatory The max value of the wattage range. The value is included when comparing with the calculated wattage value. |
lightingCountRange | Array of object | – | Mandatory The range of lighting count and products required for each ranage |
The lightingCountRange
key contains an array of object, and each object defines the range of lighting count and products required for the specific wattage range and lighting count range. The following table presents the structure of object.
Key name | Type | Default value | Description |
---|---|---|---|
min | Number | – | Mandatory The min value of the lighting count range. The value is excluded when comparing with the calculated lighting count value. |
max | Number | – | Mandatory The max value of the lighting count range. The value is included when comparing with the calculated lighting count value. |
products | Array of object | – | Mandatory The list of products which are required for a specific combination of wattage range and lighting count range. For each object, it contains: - id : the external ID of product required. For example: the id of the transformers, the cords, or the controllers - quantity : the quantity required |
Here is an example of the lightingWattageRange
:
{
"min" : 0,
"max" : 10,
"lightingCountRange" : [
{
"min" : 0,
"max" : 3,
"products": [
{
"id" : "id of 10w transformer",
"count" : 1
},
{
"id" : "id of power supply",
"count" : 1
}
]
},
{
"min" : 3,
"max" : 9,
"products": [
{
"id" : "id of 30w transformer",
"count" : 1
},
{
"id" : "id of power supply",
"count" : 1
}
]
}
...
]
}
According to the example shown before, if the total wattage calculated equals to 9 and the total count of lights product equals to 3, then it needs one 10w transformer and one power supply. If the total wattage calculated equals to 8 and the total count of lights product equals to 4, then it needs one 30w transformer and one power supply.
supportedLightsID
Mandatory parameter – Type: array
List of external IDs of lighting products supported for this rule. In case of generic products, it should use the ID of generic product instead of the ID of mapping product.
Notes
- When calculating the wattage of lights product, if it is a generic product, it will use the
wattage
parameter of the mapping product.
Key name | Type | Default value | Description |
---|---|---|---|
supportedLightsID | Array | – | Mandatory The list of external ID of lighting products supported for the rule |
Sample
Here is an example of the overloads for this rule.
{
"supportedLightsID": [
"14126",
"13944",
"14081",
"18106",
"15468"
],
"lightingWattageRange": [
{
"max": 10,
"min": 0,
"lightingCountRange": [
{
"max": 3,
"min": 0,
"products": [
{
"id": 17717,
"count": 0
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 0
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 9,
"min": 3,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 0
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 12,
"min": 9,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 18,
"min": 12,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 21,
"min": 18,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 27,
"min": 21,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 30,
"min": 27,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 3
},
{
"id": 17718,
"count": 1
}
]
}
]
},
{
"max": 30,
"min": 10,
"lightingCountRange": [
{
"max": 3,
"min": 0,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 0
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 9,
"min": 3,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 0
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 12,
"min": 9,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 18,
"min": 12,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 21,
"min": 18,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 27,
"min": 21,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 30,
"min": 27,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 3
},
{
"id": 17718,
"count": 1
}
]
}
]
},
{
"max": 40,
"min": 30,
"lightingCountRange": [
{
"max": 3,
"min": 0,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 9,
"min": 3,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 12,
"min": 9,
"products": [
{
"id": 17717,
"count": 1
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 18,
"min": 12,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 1
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 21,
"min": 18,
"products": [
{
"id": 17717,
"count": 2
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 27,
"min": 21,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 0
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 2
},
{
"id": 17718,
"count": 1
}
]
},
{
"max": 30,
"min": 27,
"products": [
{
"id": 17717,
"count": 3
},
{
"id": 17715,
"count": 1
},
{
"id": 17714,
"count": 1
},
{
"id": 17711,
"count": 3
},
{
"id": 17718,
"count": 1
}
]
}
]
}
]
}
Illustration
The illustration below shows four wall cabinets, each of them has a top light. For this adjacent cabinets, the total wattage is 10w and the total count of lights is 4. Based on the sample overloads shown before, it needs one 30w transformer, one power supply cords, and one wireless dimmer.
The computation of bom is the following:
{
"dbID": "17717",
"reference": "30w_transformer_f",
"name": "30W transformer F",
"commercialDescription": "30W transformer",
"quantity": 1,
....
},
{
"dbID": "17714",
"reference": "power_supply_cord_f",
"name": "Power supply cord F",
"quantity": 1,
...
},
{
"dbID": "17718",
"reference": "wireless_dimmer",
"name": "Wireless dimmer",
"quantity": 1,
....
}