-
Notifications
You must be signed in to change notification settings - Fork 145
/
createZone.js
42 lines (34 loc) · 1.15 KB
/
createZone.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
'use strict';
const hueApi = require('../../../dist/cjs');
// If using this code outside of this library the above should be replaced with
// const hueApi = require('node-hue-api');
const v3 = hueApi.v3
, discovery = hueApi.discovery
;
const model = v3.model;
// Replace this with your Bridge User name
const USERNAME = require('../../../test/support/testValues').username;
discovery.nupnpSearch()
.then(searchResults => {
const host = searchResults[0].ipaddress;
return v3.api.createLocal(host).connect(USERNAME);
})
.then(api => {
const newZone = model.createZone();
// The name of the new zone we are creating
newZone.name = 'Testing Zone Creation';
// The array of light ids that will be in the zone
newZone.lights = [2, 3, 4, 5];
// The class for the zone, this has to be selected from the valid value, consult the documentation for details
newZone.class = 'Toilet';
return api.groups.createGroup(newZone)
.then(zone => {
console.log(zone.toStringDetailed());
// Delete the new Zone
return api.groups.deleteGroup(zone);
});
})
.catch(err => {
console.error(err);
})
;