node-switchbot 1.6.0-beta.7 → 1.6.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -391,7 +391,7 @@ class SwitchbotAdvertising {
|
|
|
391
391
|
let red = byte3;
|
|
392
392
|
let green = byte4;
|
|
393
393
|
let blue = byte5;
|
|
394
|
-
let
|
|
394
|
+
let color_temperature = byte6;
|
|
395
395
|
let state = byte7 & 0b01111111 ? true : false;
|
|
396
396
|
let brightness = byte7 & 0b01111111;
|
|
397
397
|
let delay = byte8 & 0b10000000;
|
|
@@ -403,7 +403,7 @@ class SwitchbotAdvertising {
|
|
|
403
403
|
let data = {
|
|
404
404
|
model: "u",
|
|
405
405
|
modelName: "WoBulb",
|
|
406
|
-
|
|
406
|
+
color_temperature: color_temperature,
|
|
407
407
|
state: state,
|
|
408
408
|
red: red,
|
|
409
409
|
green: green,
|
|
@@ -35,10 +35,114 @@ class SwitchbotDeviceWoBulb extends SwitchbotDevice {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* @returns {Promise<
|
|
38
|
+
* @returns {Promise<number>} resolves with brightness percent
|
|
39
|
+
*/
|
|
40
|
+
setBrightness(brightness) {
|
|
41
|
+
if (typeof brightness != "number") {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
reject(
|
|
44
|
+
new Error(
|
|
45
|
+
"The type of target brightness percentage is incorrent: " +
|
|
46
|
+
typeof brightness
|
|
47
|
+
)
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (brightness > 100) {
|
|
52
|
+
brightness = 100;
|
|
53
|
+
} else if (brightness < 0) {
|
|
54
|
+
brightness = 0;
|
|
55
|
+
}
|
|
56
|
+
return this._setState([0x02, 0x14]);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @returns {Promise<number>} resolves with brightness percent
|
|
61
|
+
*/
|
|
62
|
+
setColorTemperature(color_temperature) {
|
|
63
|
+
if (typeof color_temperature != "number") {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
reject(
|
|
66
|
+
new Error(
|
|
67
|
+
"The type of target brightness percentage is incorrent: " +
|
|
68
|
+
typeof brightness
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (color_temperature > 100) {
|
|
74
|
+
color_temperature = 100;
|
|
75
|
+
} else if (color_temperature < 0) {
|
|
76
|
+
color_temperature = 0;
|
|
77
|
+
}
|
|
78
|
+
return this._setState([0x02, 0x17, color_temperature]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @returns {Promise<number>} resolves with brightness percent
|
|
39
83
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
84
|
+
setRGB(brightness, red, green, blue) {
|
|
85
|
+
if (typeof brightness != "number") {
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
reject(
|
|
88
|
+
new Error(
|
|
89
|
+
"The type of target brightness percentage is incorrent: " +
|
|
90
|
+
typeof brightness
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (typeof red != "number") {
|
|
96
|
+
return new Promise((resolve, reject) => {
|
|
97
|
+
reject(
|
|
98
|
+
new Error(
|
|
99
|
+
"The type of target red is incorrent: " +
|
|
100
|
+
typeof red
|
|
101
|
+
)
|
|
102
|
+
);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (typeof green != "number") {
|
|
106
|
+
return new Promise((resolve, reject) => {
|
|
107
|
+
reject(
|
|
108
|
+
new Error(
|
|
109
|
+
"The type of target green is incorrent: " +
|
|
110
|
+
typeof green
|
|
111
|
+
)
|
|
112
|
+
);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (typeof blue != "number") {
|
|
116
|
+
return new Promise((resolve, reject) => {
|
|
117
|
+
reject(
|
|
118
|
+
new Error(
|
|
119
|
+
"The type of target blue is incorrent: " +
|
|
120
|
+
typeof blue
|
|
121
|
+
)
|
|
122
|
+
);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (brightness > 100) {
|
|
126
|
+
brightness = 100;
|
|
127
|
+
} else if (brightness < 0) {
|
|
128
|
+
brightness = 0;
|
|
129
|
+
}
|
|
130
|
+
if (red > 255) {
|
|
131
|
+
red = 255;
|
|
132
|
+
} else if (red < 0) {
|
|
133
|
+
red = 0;
|
|
134
|
+
}
|
|
135
|
+
if (green > 255) {
|
|
136
|
+
green = 255;
|
|
137
|
+
} else if (green < 0) {
|
|
138
|
+
green = 0;
|
|
139
|
+
}
|
|
140
|
+
if (blue > 255) {
|
|
141
|
+
blue = 255;
|
|
142
|
+
} else if (blue < 0) {
|
|
143
|
+
blue = 0;
|
|
144
|
+
}
|
|
145
|
+
return this._setState([0x02, 0x12, brightness, red, green, blue]);
|
|
42
146
|
}
|
|
43
147
|
|
|
44
148
|
/**
|
|
@@ -35,10 +35,108 @@ class SwitchbotDeviceWoStrip extends SwitchbotDevice {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* @returns {Promise<
|
|
38
|
+
* @returns {Promise<number>} resolves with brightness percent
|
|
39
|
+
*/
|
|
40
|
+
setBrightness(brightness) {
|
|
41
|
+
if (typeof brightness != "number") {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
reject(
|
|
44
|
+
new Error(
|
|
45
|
+
"The type of target brightness percentage is incorrent: " +
|
|
46
|
+
typeof brightness
|
|
47
|
+
)
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (brightness > 100) {
|
|
52
|
+
brightness = 100;
|
|
53
|
+
} else if (brightness < 0) {
|
|
54
|
+
brightness = 0;
|
|
55
|
+
}
|
|
56
|
+
return this._setState([0x02, 0x14]);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @returns {Promise<number>} resolves with color temperature
|
|
61
|
+
*/
|
|
62
|
+
setColorTemperature(color_temperature) {
|
|
63
|
+
if (color_temperature) {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
reject(
|
|
66
|
+
new Error(
|
|
67
|
+
"Strip Light Doesn't Support Color temperature: " +
|
|
68
|
+
typeof color_temperature
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @returns {Promise<number>} resolves with brightness + rgb
|
|
39
77
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
78
|
+
setRGB(brightness, red, green, blue) {
|
|
79
|
+
if (typeof brightness != "number") {
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
reject(
|
|
82
|
+
new Error(
|
|
83
|
+
"The type of target brightness percentage is incorrent: " +
|
|
84
|
+
typeof brightness
|
|
85
|
+
)
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (typeof red != "number") {
|
|
90
|
+
return new Promise((resolve, reject) => {
|
|
91
|
+
reject(
|
|
92
|
+
new Error(
|
|
93
|
+
"The type of target red is incorrent: " +
|
|
94
|
+
typeof red
|
|
95
|
+
)
|
|
96
|
+
);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (typeof green != "number") {
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
101
|
+
reject(
|
|
102
|
+
new Error(
|
|
103
|
+
"The type of target green is incorrent: " +
|
|
104
|
+
typeof green
|
|
105
|
+
)
|
|
106
|
+
);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (typeof blue != "number") {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
reject(
|
|
112
|
+
new Error(
|
|
113
|
+
"The type of target blue is incorrent: " +
|
|
114
|
+
typeof blue
|
|
115
|
+
)
|
|
116
|
+
);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (brightness > 100) {
|
|
120
|
+
brightness = 100;
|
|
121
|
+
} else if (brightness < 0) {
|
|
122
|
+
brightness = 0;
|
|
123
|
+
}
|
|
124
|
+
if (red > 255) {
|
|
125
|
+
red = 255;
|
|
126
|
+
} else if (red < 0) {
|
|
127
|
+
red = 0;
|
|
128
|
+
}
|
|
129
|
+
if (green > 255) {
|
|
130
|
+
green = 255;
|
|
131
|
+
} else if (green < 0) {
|
|
132
|
+
green = 0;
|
|
133
|
+
}
|
|
134
|
+
if (blue > 255) {
|
|
135
|
+
blue = 255;
|
|
136
|
+
} else if (blue < 0) {
|
|
137
|
+
blue = 0;
|
|
138
|
+
}
|
|
139
|
+
return this._setState([0x02, 0x12, brightness, red, green, blue]);
|
|
42
140
|
}
|
|
43
141
|
|
|
44
142
|
/**
|
package/package.json
CHANGED