homebridge-lifx-plugin 0.1.19 → 0.2.1

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.
package/README.md CHANGED
@@ -16,11 +16,10 @@
16
16
 
17
17
  LIFX plugin for [Homebridge](https://github.com/homebridge/homebridge).
18
18
 
19
+ _**This is the first lifx plugin that officially supports adaptive lighting ☀️ | 🌑**_
20
+
19
21
  A plugin that automatically adds Lifx bulbs on the network to the Homebridge instead of tediously registering the lights individually via homekit.
20
22
 
21
- Individual lights can be added manually.
22
-
23
-
24
23
  This plugin will be updated regularly in the future, because I see it as a small heart task and use it personally.
25
24
 
26
25
  The reason to create this plugin was the use of several published already existing lifx-plugins for homebridge and the anger struggeling with lifx and homekit. Unfortunately, all the plugins I tested slowed down homebridge so I couldn't access my devices from outside my network.
@@ -28,11 +27,23 @@ This plugin should fix that problem and add some extra functionality
28
27
 
29
28
  Also, lights that were not connected to the power were marked as "not responding".
30
29
  This plugin automatically sets the status of these lights to offline as soon as the light can no longer be reached.
31
-
30
+
32
31
  I appreciate anyone who would like to use my plugin and welcome comments of any kind.
33
32
 
34
33
  Of course, sometimes no error is left out, so forgive me if you might have problems and stay tuned. Updates will follow as soon as possible!
35
34
 
35
+ ## 💡 Features
36
+
37
+ <img width="125" alt="adaptive lighting" src="https://user-images.githubusercontent.com/94163719/153251331-0889fb02-97ba-4038-affe-3a573178e32f.jpg" align="right">
38
+
39
+
40
+ - __Adaptive Lighting__
41
+ - __Different dim settings for brightness, color and On/Off__
42
+ - __Addind lights automatically__
43
+ - __Addind lights individually__
44
+ - __Exclusions for individual bulbs__
45
+ - __Default route for different NICs__
46
+
36
47
 
37
48
  ## 🚀 Quick Start
38
49
 
@@ -43,14 +54,31 @@ npm i homebridge-lifx-plugin
43
54
  ```
44
55
 
45
56
  or use the awesome [Homebridge Config Ui X plugin](https://www.npmjs.com/package/homebridge-config-ui-x)
46
-
57
+
58
+ <img width="250" alt="settings" src="https://user-images.githubusercontent.com/94163719/149901919-8fcd4673-c8a9-4ba3-8b60-7b511d06a7fe.png" align="right">
59
+
47
60
  ### 2. **Setup**
48
-
61
+
62
+ To make sure your bulbs are automatically detected, enter your correct broadcast address in advanced settings.
63
+ If you don't know what broadcast address means, [have a look at this comment](https://github.com/calvarium/homebridge-lifx-plugin/issues/9#issuecomment-1028757142).
64
+
65
+ You can retrieve your broadcast address with the following command:
66
+
67
+ ***Windows***
68
+ ```console
69
+ ipconfig
70
+ ```
71
+
72
+ ***Mac/Linux***
73
+ ```console
74
+ ifconfig
75
+ ```
76
+
49
77
  All settings can be configured in the [Homebridge Plugin Settings GUI](https://github.com/oznu/homebridge-config-ui-x/wiki/Developers:-Plugin-Settings-GUI)
50
78
 
51
- <img width="800" alt="Bildschirmfoto 2021-12-16 um 09 21 54" src="https://user-images.githubusercontent.com/94163719/146334682-bcaa0f20-1f83-4e7f-9bd9-337204249196.png">
79
+ All options can be found under [Settings](#⚙️-settings)
80
+ <br clear="right"/>
52
81
 
53
- Options can be found under [Settings](#⚙️-settings)
54
82
 
55
83
  ### 3. **Enjoy** 😎💡
56
84
 
@@ -91,11 +119,13 @@ You can now create exceptions for your bulbs that should not be registered with
91
119
 
92
120
  |Title |Name |Type |Value |Default|Description
93
121
  |-----------------------|--------|-----------|--------------|---|-----------
122
+ |Default Route |`default` |`string` |ip|0.0.0.0 |Default route address to bind the udp connection to
94
123
  |Broadcast Address |`broadcast` |`string` |ip|255.255.255.255 |Broadcast address of your network to detect bulbs automatically
95
124
  |Offline Tolerance |`lightOfflineTolerance` |`integer` |1...∞ |3|A light is offline if not seen for the given amount of discoveries
96
125
  |Handler Timeout |`messageHandlerTimeout` |`integer` |100...∞ |45000|In ms, if not answer in time an error is provided to get methods
97
126
  |Resend Packet Delay |`resendPacketDelay` |`integer` |50...∞ |150|Delay between packages if light did not receive a packet
98
127
  |Resend Packet Max Times |`resendMaxTimes` |`integer` |0...∞ |3|Resend packages x times if light did not receive a packet
128
+ |Update |`updates` |`boolean` |true/false |true|Disable if you don't want the plugin to check for updates
99
129
 
100
130
  ### Example Configuration
101
131
 
@@ -150,6 +180,8 @@ You can now create exceptions for your bulbs that should not be registered with
150
180
  - [x] Mark bulb as offline if it could not be reached
151
181
  - [x] Enable adding bulbs manually when autoDiscover is active
152
182
  - [x] Added exclusions for bulbs to not be registered (thanks to [L0T8](https://github.com/L0T8))
183
+ - [x] Added default route for different NICs (thanks to [andyvirus](https://github.com/andyvirus))
184
+ - [x] Implement adaptive Lighting (thanks to [joelrichards](https://github.com/joelrichards))
153
185
  - [ ] Separate dim settings for brightness, color and On/Off
154
186
  - [ ] Configure lights individually
155
187
  - [ ] Accessories will show as "no response" until plugin has successfully initialised
@@ -179,4 +211,4 @@ If you find something that does not fit yet open an issue, I will take care of i
179
211
  - LIFX Original (by [andyvirus](https://github.com/andyvirus))
180
212
  - LIFX Colour 1000 (by [andyvirus](https://github.com/andyvirus))
181
213
  - LIFX GU10 (by [L0T8](https://github.com/L0T8))
182
- - LIFX Mini Day & Dusk (by [L0T8](https://github.com/L0T8))
214
+ - LIFX Mini Day & Dusk (by [L0T8](https://github.com/L0T8))
@@ -34,6 +34,13 @@
34
34
  "minimum": 0,
35
35
  "description": "Time to fade in milliseconds for changing color"
36
36
  },
37
+ "default": {
38
+ "title": "Default Route",
39
+ "type": "string",
40
+ "format": "hostname",
41
+ "default": "0.0.0.0",
42
+ "description": "Default route address to bind the udp connection to"
43
+ },
37
44
  "broadcast": {
38
45
  "title": "Broadcast Address",
39
46
  "type": "string",
@@ -68,6 +75,12 @@
68
75
  "minimum": 0,
69
76
  "description": "Resend packages x times if light did not receive a packet"
70
77
  },
78
+ "updates": {
79
+ "title": "Updates",
80
+ "description": "Check if you don't care about updates",
81
+ "type": "boolean",
82
+ "default": true
83
+ },
71
84
  "debug": {
72
85
  "title": "Enable Debug Mode",
73
86
  "type": "boolean",
@@ -195,11 +208,13 @@
195
208
  "expandable": true,
196
209
  "expanded": false,
197
210
  "items": [
211
+ "default",
198
212
  "broadcast",
199
213
  "lightOfflineTolerance",
200
214
  "messageHandlerTimeout",
201
215
  "resendPacketDelay",
202
216
  "resendMaxTimes",
217
+ "updates",
203
218
  "debug"
204
219
  ]
205
220
  }
package/dist/bulb.d.ts CHANGED
@@ -35,5 +35,7 @@ export default class Bulb {
35
35
  getColorTemperatur(): number;
36
36
  getKelvin(value: any): number;
37
37
  private getKelvinRange;
38
+ private convertHomeKitColorTemperatureToHomeKitColor;
39
+ private convertColorTemperatureFromHomeKitToKelvin;
38
40
  }
39
41
  //# sourceMappingURL=bulb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulb.d.ts","sourceRoot":"","sources":["../src/bulb.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI;IAqBrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArB3B,OAAO,CAAC,WAAW,CAAC,CAAe;IAEnC,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,eAAe,CAGrB;gBAGiB,KAAK,KAAA,EACL,QAAQ,KAAA;IAGd,IAAI,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAU1B,OAAO;IAIP,UAAU;IAIV,eAAe;IAIf,aAAa;IAIb,cAAc;IAId,SAAS;IAOT,SAAS;IAOV,YAAY,CAAC,QAAQ,KAAA;IAc3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,QAAQ;IAIV,kBAAkB,CAAC,KAAK,KAAA;IAMxB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAO5C,SAAS,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IASjC,sBAAsB,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IAS9C,kBAAkB,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IAS1C,MAAM,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA;IAIhB,KAAK,CAAC,KAAK,KAAA;IAUX,aAAa,CAAC,KAAK,KAAA;IAKnB,MAAM,CAAC,KAAK,KAAA;IAKZ,aAAa,CAAC,KAAK,KAAA;IAKnB,SAAS,CAAC,KAAK,EAAE,MAAM;IAO7B,KAAK;IAIL,aAAa;IAIb,MAAM;IAIN,aAAa;IAIb,kBAAkB;IAWX,SAAS,CAAC,KAAK,KAAA;IAKtB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"bulb.d.ts","sourceRoot":"","sources":["../src/bulb.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,IAAI;IAqBrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArB3B,OAAO,CAAC,WAAW,CAAC,CAAe;IAEnC,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,eAAe,CAGrB;gBAGiB,KAAK,KAAA,EACL,QAAQ,KAAA;IAGd,IAAI,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAU1B,OAAO;IAIP,UAAU;IAIV,eAAe;IAIf,aAAa;IAIb,cAAc;IAId,SAAS;IAOT,SAAS;IAOV,YAAY,CAAC,QAAQ,KAAA;IAc3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,QAAQ;IAIV,kBAAkB,CAAC,KAAK,KAAA;IAMxB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA;IAO5C,SAAS,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IASjC,sBAAsB,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IAS9C,kBAAkB,CAAC,QAAQ,KAAA,EAAE,aAAa,KAAA;IAS1C,MAAM,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA;IAIhB,KAAK,CAAC,KAAK,KAAA;IAUX,aAAa,CAAC,KAAK,KAAA;IAKnB,MAAM,CAAC,KAAK,KAAA;IAKZ,aAAa,CAAC,KAAK,KAAA;IAKnB,SAAS,CAAC,KAAK,EAAE,MAAM;IAS7B,KAAK;IAIL,aAAa;IAIb,MAAM;IAIN,aAAa;IAIb,kBAAkB;IAWX,SAAS,CAAC,KAAK,KAAA;IAKtB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,4CAA4C;IA6BpD,OAAO,CAAC,0CAA0C;CAOnD"}
package/dist/bulb.js CHANGED
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable max-len */
6
7
  const products_json_1 = __importDefault(require("./products.json"));
7
8
  class Bulb {
8
9
  constructor(light, Settings) {
@@ -20,7 +21,7 @@ class Bulb {
20
21
  };
21
22
  this.FirmwareVersion = {
22
23
  majorVersion: 0,
23
- minorVersion: 1,
24
+ minorVersion: 0,
24
25
  };
25
26
  }
26
27
  async Init(callback, error) {
@@ -139,8 +140,9 @@ class Bulb {
139
140
  this.update(this.States, this.Settings.ColorDuration);
140
141
  }
141
142
  async setKelvin(value) {
142
- this.States.color.hue = 0;
143
- this.States.color.saturation = 0;
143
+ const color = this.convertHomeKitColorTemperatureToHomeKitColor(value);
144
+ this.States.color.hue = color.h;
145
+ this.States.color.saturation = color.s;
144
146
  this.States.color.kelvin = this.getKelvin(value);
145
147
  this.update(this.States, this.Settings.ColorDuration);
146
148
  }
@@ -157,8 +159,8 @@ class Bulb {
157
159
  return this.States.color.saturation;
158
160
  }
159
161
  getColorTemperatur() {
160
- const max = this.getKelvinRange();
161
- let tmp = Math.round((640) / (max / this.States.color.kelvin));
162
+ const range = this.getKelvinRange();
163
+ let tmp = Math.round((640) / (range.max / this.States.color.kelvin));
162
164
  if (tmp > 500) {
163
165
  tmp = 500;
164
166
  }
@@ -168,14 +170,55 @@ class Bulb {
168
170
  return tmp;
169
171
  }
170
172
  getKelvin(value) {
171
- const max = this.getKelvinRange();
172
- return max - Math.round((max) / (640 / value));
173
+ const range = this.getKelvinRange();
174
+ return this.convertColorTemperatureFromHomeKitToKelvin(value, range.min, range.max);
173
175
  }
174
176
  getKelvinRange() {
177
+ var _a, _b;
175
178
  if (this.ProductInfo) {
176
- return this.ProductInfo.features.temperature_range.reduce((a, b) => a + b);
179
+ return {
180
+ min: (_a = this.ProductInfo) === null || _a === void 0 ? void 0 : _a.features.temperature_range[0],
181
+ max: (_b = this.ProductInfo) === null || _b === void 0 ? void 0 : _b.features.temperature_range[1],
182
+ };
177
183
  }
178
- return 10500;
184
+ return { min: 1500, max: 9000 };
185
+ }
186
+ convertHomeKitColorTemperatureToHomeKitColor(value) {
187
+ const dKelvin = 10000 / value;
188
+ const rgb = [
189
+ dKelvin > 66 ? 351.97690566805693 + 0.114206453784165 * (dKelvin - 55) - 40.25366309332127 * Math.log(dKelvin - 55) : 255,
190
+ dKelvin > 66 ? 325.4494125711974 + 0.07943456536662342 * (dKelvin - 50) - 28.0852963507957 * Math.log(dKelvin - 55) : 104.49216199393888 * Math.log(dKelvin - 2) - 0.44596950469579133 * (dKelvin - 2) - 155.25485562709179,
191
+ dKelvin > 66 ? 255 : 115.67994401066147 * Math.log(dKelvin - 10) + 0.8274096064007395 * (dKelvin - 10) - 254.76935184120902,
192
+ ].map(v => Math.max(0, Math.min(255, v)) / 255);
193
+ const max = Math.max(...rgb);
194
+ const min = Math.min(...rgb);
195
+ let h = 0;
196
+ const d = max - min, s = max ? 100 * d / max : 0, b = 100 * max;
197
+ if (d) {
198
+ switch (max) {
199
+ case rgb[0]:
200
+ h = (rgb[1] - rgb[2]) / d + (rgb[1] < rgb[2] ? 6 : 0);
201
+ break;
202
+ case rgb[1]:
203
+ h = (rgb[2] - rgb[0]) / d + 2;
204
+ break;
205
+ default:
206
+ h = (rgb[0] - rgb[1]) / d + 4;
207
+ break;
208
+ }
209
+ h *= 60;
210
+ }
211
+ return {
212
+ h: Math.round(h),
213
+ s: Math.round(s),
214
+ b: Math.round(b),
215
+ };
216
+ }
217
+ convertColorTemperatureFromHomeKitToKelvin(value, min, max) {
218
+ const scale = max;
219
+ const adjustedValue = (value - 71) * (max - min) / (600 - 71) + 153;
220
+ const convertedValue = Math.round((scale * min / (max - min)) * ((max / adjustedValue) - 1));
221
+ return Math.min(scale, Math.max(min, convertedValue));
179
222
  }
180
223
  }
181
224
  exports.default = Bulb;
package/dist/bulb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bulb.js","sourceRoot":"","sources":["../src/bulb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulb.js","sourceRoot":"","sources":["../src/bulb.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
1
+ import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic, AdaptiveLightingController } from 'homebridge';
2
2
  import { LifxPlatformAccessory } from './platformAccessory';
3
3
  export declare class LifxHomebridgePlatform implements DynamicPlatformPlugin {
4
4
  readonly log: Logger;
@@ -6,6 +6,7 @@ export declare class LifxHomebridgePlatform implements DynamicPlatformPlugin {
6
6
  readonly api: API;
7
7
  readonly Service: typeof Service;
8
8
  readonly Characteristic: typeof Characteristic;
9
+ readonly AdaptiveLightingController: typeof AdaptiveLightingController;
9
10
  private lifxClient;
10
11
  private bulbs;
11
12
  readonly cachedAccessories: PlatformAccessory[];
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5H,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,qBAAa,sBAAuB,YAAW,qBAAqB;aAYhD,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAb1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,KAAK,CAAC;IAEd,SAAgB,iBAAiB,EAAE,iBAAiB,EAAE,CAAM;IAC5D,SAAgB,WAAW,EAAE,qBAAqB,EAAE,CAAM;gBAGxC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAe1B,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C,eAAe;IAwCf,OAAO,CAAC,KAAK,KAAA;IAIb,mBAAmB,CAAC,KAAK,KAAA;IAIzB,oBAAoB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAMhC,aAAa,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAQ9B,eAAe,CAAC,KAAK,KAAA;IAQrB,WAAW,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;CAcxB"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAClI,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,qBAAa,sBAAuB,YAAW,qBAAqB;aAahD,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAd1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IACpF,SAAgB,0BAA0B,EAAE,OAAO,0BAA0B,CAA2C;IAGxH,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,KAAK,CAAC;IAEd,SAAgB,iBAAiB,EAAE,iBAAiB,EAAE,CAAM;IAC5D,SAAgB,WAAW,EAAE,qBAAqB,EAAE,CAAM;gBAGxC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAe1B,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAU/C,eAAe;IA6Cf,OAAO,CAAC,KAAK,KAAA;IAIb,mBAAmB,CAAC,KAAK,KAAA;IAIzB,oBAAoB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAMhC,aAAa,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAQ9B,eAAe,CAAC,KAAK,KAAA;IAQrB,WAAW,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;CAcxB"}
package/dist/platform.js CHANGED
@@ -14,6 +14,7 @@ class LifxHomebridgePlatform {
14
14
  this.api = api;
15
15
  this.Service = this.api.hap.Service;
16
16
  this.Characteristic = this.api.hap.Characteristic;
17
+ this.AdaptiveLightingController = this.api.hap.AdaptiveLightingController;
17
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
19
  this.lifxClient = new lifx_lan_client_1.default.Client();
19
20
  this.cachedAccessories = [];
@@ -29,6 +30,8 @@ class LifxHomebridgePlatform {
29
30
  }
30
31
  configureAccessory(accessory) {
31
32
  this.log.debug('Loading accessory from cache:', accessory.displayName);
33
+ const service = accessory.getService(this.Service.AccessoryInformation);
34
+ service.removeCharacteristic(service.getCharacteristic(this.Characteristic.FirmwareRevision));
32
35
  this.cachedAccessories.push(accessory);
33
36
  }
34
37
  discoverDevices() {
@@ -52,15 +55,21 @@ class LifxHomebridgePlatform {
52
55
  this.config.broadcast = '0.0.0.0';
53
56
  }
54
57
  this.log.debug('Initialising lan client');
55
- this.lifxClient.init({
56
- broadcast: this.config.broadcast,
57
- lightOfflineTolerance: this.config.lightOfflineTolerance,
58
- messageHandlerTimeout: this.config.messageHandlerTimeout,
59
- resendPacketDelay: this.config.resendPacketDelay,
60
- resendMaxTimes: this.config.resendMaxTimes,
61
- debug: this.config.debug,
62
- lights: this.bulbs || [],
63
- });
58
+ try {
59
+ this.lifxClient.init({
60
+ address: this.config.default,
61
+ broadcast: this.config.broadcast,
62
+ lightOfflineTolerance: this.config.lightOfflineTolerance,
63
+ messageHandlerTimeout: this.config.messageHandlerTimeout,
64
+ resendPacketDelay: this.config.resendPacketDelay,
65
+ resendMaxTimes: this.config.resendMaxTimes,
66
+ debug: this.config.debug,
67
+ lights: this.bulbs || [],
68
+ });
69
+ }
70
+ catch (error) {
71
+ this.log.error('Error initializing listener', error);
72
+ }
64
73
  }
65
74
  //should bulbs be defined here?
66
75
  getUuid(light) {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@ export declare class LifxPlatformAccessory {
6
6
  private readonly light;
7
7
  private service;
8
8
  private watcher;
9
+ private adaptiveLightingController;
9
10
  private bulb;
10
11
  constructor(platform: LifxHomebridgePlatform, Accessory: PlatformAccessory, light: any, settings: any);
11
12
  setHardwareCharacteristics(): void;
13
+ setSoftwareCharacteristics(): void;
12
14
  bindFunctions(): void;
13
15
  setOn(value: CharacteristicValue): Promise<void>;
14
16
  setBrightness(value: CharacteristicValue): Promise<void>;
@@ -24,5 +26,6 @@ export declare class LifxPlatformAccessory {
24
26
  updateSaturation(): void;
25
27
  updateBrightness(): void;
26
28
  updateKelvin(): void;
29
+ adaptiveLightingSupport(): boolean;
27
30
  }
28
31
  //# sourceMappingURL=platformAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIpD,qBAAa,qBAAqB;IAO9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAC;IAEhB,OAAO,CAAC,IAAI,CAAC;gBAGM,QAAQ,EAAE,sBAAsB,EACjC,SAAS,EAAE,iBAAiB,EAC3B,KAAK,KAAA,EACtB,QAAQ,KAAA;IAiBV,0BAA0B;IAS1B,aAAa;IA0BP,KAAK,CAAC,KAAK,EAAE,mBAAmB;IAMhC,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAMxC,MAAM,CAAC,KAAK,EAAE,mBAAmB;IAMjC,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAMxC,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAM1C,WAAW,CAAC,GAAG,KAAA;IAMT,UAAU;IASV,YAAY;IAOZ,8BAA8B;IAepC,QAAQ;IAIR,SAAS;IAIT,gBAAgB;IAIhB,gBAAgB;IAIhB,YAAY;CAIb"}
1
+ {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIpD,qBAAa,qBAAqB;IAQ9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK;IATxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,0BAA0B,CAAC;IAEnC,OAAO,CAAC,IAAI,CAAC;gBAGM,QAAQ,EAAE,sBAAsB,EACjC,SAAS,EAAE,iBAAiB,EAC3B,KAAK,KAAA,EACtB,QAAQ,KAAA;IAmBV,0BAA0B;IAO1B,0BAA0B;IAW1B,aAAa;IAgCP,KAAK,CAAC,KAAK,EAAE,mBAAmB;IAMhC,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAMxC,MAAM,CAAC,KAAK,EAAE,mBAAmB;IAMjC,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAMxC,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAO1C,WAAW,CAAC,GAAG,KAAA;IAMT,UAAU;IASV,YAAY;IAOZ,8BAA8B;IAepC,QAAQ;IAIR,SAAS;IAIT,gBAAgB;IAIhB,gBAAgB;IAIhB,YAAY;IAKZ,uBAAuB;CAIxB"}
@@ -14,16 +14,24 @@ class LifxPlatformAccessory {
14
14
  this.service = this.Accessory.getService(this.platform.Service.Lightbulb) || this.Accessory.addService(this.platform.Service.Lightbulb);
15
15
  this.bulb.Init(() => {
16
16
  this.setHardwareCharacteristics();
17
+ this.setSoftwareCharacteristics();
17
18
  this.bindFunctions();
18
19
  this.resetWatcher();
19
20
  }, (error) => this.handleError(error));
20
21
  }
21
22
  setHardwareCharacteristics() {
22
23
  this.Accessory.getService(this.platform.Service.AccessoryInformation)
23
- .setCharacteristic(this.platform.Characteristic.FirmwareRevision, this.bulb.getVersion())
24
24
  .setCharacteristic(this.platform.Characteristic.Manufacturer, this.bulb.getVendorName())
25
25
  .setCharacteristic(this.platform.Characteristic.Model, this.bulb.getProductName())
26
26
  .setCharacteristic(this.platform.Characteristic.SerialNumber, this.bulb.getSerialNumber());
27
+ }
28
+ setSoftwareCharacteristics() {
29
+ const version = this.bulb.getVersion();
30
+ if (version !== '0.0' && this.platform.config.updates) {
31
+ const service = this.Accessory.getService(this.platform.Service.AccessoryInformation);
32
+ service.addCharacteristic(this.platform.Characteristic.FirmwareRevision);
33
+ service.setCharacteristic(this.platform.Characteristic.FirmwareRevision, version);
34
+ }
27
35
  this.service.setCharacteristic(this.platform.Characteristic.Name, this.bulb.getName());
28
36
  }
29
37
  bindFunctions() {
@@ -34,6 +42,10 @@ class LifxPlatformAccessory {
34
42
  if (this.bulb.hasKelvin()) {
35
43
  this.service.getCharacteristic(this.platform.Characteristic.ColorTemperature)
36
44
  .onSet(this.setKelvin.bind(this));
45
+ if (this.adaptiveLightingSupport()) {
46
+ this.adaptiveLightingController = new this.platform.AdaptiveLightingController(this.service);
47
+ this.Accessory.configureController(this.adaptiveLightingController);
48
+ }
37
49
  }
38
50
  else {
39
51
  this.service.removeCharacteristic(this.service.getCharacteristic(this.platform.Characteristic.ColorTemperature));
@@ -72,6 +84,7 @@ class LifxPlatformAccessory {
72
84
  async setKelvin(value) {
73
85
  this.resetWatcher();
74
86
  this.bulb.setKelvin(value);
87
+ this.updateLightbuldCharacteristics();
75
88
  this.platform.log.debug('Set Characteristic Kelvin -> ', value);
76
89
  }
77
90
  handleError(err) {
@@ -119,6 +132,10 @@ class LifxPlatformAccessory {
119
132
  updateKelvin() {
120
133
  this.service.updateCharacteristic(this.platform.Characteristic.ColorTemperature, this.bulb.getColorTemperatur());
121
134
  }
135
+ // Checks homebridge version to see if Adaptive Lighting is supported
136
+ adaptiveLightingSupport() {
137
+ return (this.platform.api.versionGreaterOrEqual && this.platform.api.versionGreaterOrEqual('v1.3.0-beta.23'));
138
+ }
122
139
  }
123
140
  exports.LifxPlatformAccessory = LifxPlatformAccessory;
124
141
  //# sourceMappingURL=platformAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "displayName": "Lifx Plugin",
4
4
  "name": "homebridge-lifx-plugin",
5
- "version": "0.1.19",
5
+ "version": "0.2.1",
6
6
  "description": "This plugin is a bridge between lifx smart bulbs and your apple homekit",
7
7
  "funding": {
8
8
  "type": "paypal",