@@ -22,19 +22,21 @@ bool operator !=(CiColor p1, CiColor p2) {
22
22
23
23
PhilipsHueLight::PhilipsHueLight (unsigned int id, QString originalState, QString modelId) :
24
24
id(id), originalState(originalState) {
25
- // Hue system model ids.
26
- const std::set<QString> HUE_BULBS_MODEL_IDS = { " LCT001 " , " LCT002 " , " LCT003 " };
27
- const std::set<QString> LIVING_COLORS_MODEL_IDS = { " LLC001" , " LLC005" , " LLC006" , " LLC007" , " LLC011" , " LLC012" ,
25
+ // Hue system model ids (http://www.developers.meethue.com/documentation/supported-lights) .
26
+ // Light strips, color iris, ...
27
+ const std::set<QString> GAMUT_A_MODEL_IDS = { " LLC001" , " LLC005" , " LLC006" , " LLC007" , " LLC010 " , " LLC011" , " LLC012" ,
28
28
" LLC013" , " LST001" };
29
+ // Hue bulbs, spots, ...
30
+ const std::set<QString> GAMUT_B_MODEL_IDS = { " LCT001" , " LCT002" , " LCT003" , " LLM001" };
29
31
// Find id in the sets and set the appropiate color space.
30
- if (HUE_BULBS_MODEL_IDS.find (modelId) != HUE_BULBS_MODEL_IDS.end ()) {
32
+ if (GAMUT_A_MODEL_IDS.find (modelId) != GAMUT_A_MODEL_IDS.end ()) {
33
+ colorSpace.red = {0 .703f , 0 .296f };
34
+ colorSpace.green = {0 .2151f , 0 .7106f };
35
+ colorSpace.blue = {0 .138f , 0 .08f };
36
+ } else if (GAMUT_B_MODEL_IDS.find (modelId) != GAMUT_B_MODEL_IDS.end ()) {
31
37
colorSpace.red = {0 .675f , 0 .322f };
32
38
colorSpace.green = {0 .4091f , 0 .518f };
33
39
colorSpace.blue = {0 .167f , 0 .04f };
34
- } else if (LIVING_COLORS_MODEL_IDS.find (modelId) != LIVING_COLORS_MODEL_IDS.end ()) {
35
- colorSpace.red = {0 .703f , 0 .296f };
36
- colorSpace.green = {0 .214f , 0 .709f };
37
- colorSpace.blue = {0 .139f , 0 .081f };
38
40
} else {
39
41
colorSpace.red = {1 .0f , 0 .0f };
40
42
colorSpace.green = {0 .0f , 1 .0f };
0 commit comments