homey-api 3.0.0-rc.5 → 3.0.0-rc.7
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/lib/HomeyAPI/HomeyAPIV2/ManagerDevices/Capability.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerDevices/Device.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerDrivers/Driver.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerDrivers/PairSession.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/AdvancedFlow.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/Flow.js +3 -3
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardAction.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardCondition.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardTrigger.js +2 -2
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlow.js +4 -4
- package/lib/HomeyAPI/HomeyAPIV2/ManagerFlowToken/FlowToken.js +3 -3
- package/lib/HomeyAPI/HomeyAPIV2/ManagerInsights/Log.js +2 -3
- package/lib/HomeyAPI/HomeyAPIV3/Item.js +12 -1
- package/lib/HomeyAPI/HomeyAPIV3/Manager.js +21 -36
- package/lib/HomeyAPI/HomeyAPIV3/ManagerDevices/Device.js +3 -1
- package/lib/HomeyAPI/HomeyAPIV3/ManagerFlow/FlowCard.js +8 -0
- package/lib/HomeyAPI/HomeyAPIV3/ManagerFlowToken/FlowToken.js +4 -1
- package/lib/HomeyAPI/HomeyAPIV3/ManagerInsights/Log.js +8 -0
- package/package.json +1 -1
|
@@ -4,8 +4,8 @@ const CapabilityV3 = require('../../HomeyAPIV3/ManagerDevices/Capability');
|
|
|
4
4
|
|
|
5
5
|
class Capability extends CapabilityV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.id = `${item.uri}:${item.id}`;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
@@ -4,8 +4,8 @@ const DeviceV3 = require('../../HomeyAPIV3/ManagerDevices/Device');
|
|
|
4
4
|
|
|
5
5
|
class Device extends DeviceV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.driverId = `${item.driverUri}:${item.driverId}`;
|
|
11
11
|
delete item.driverUri;
|
|
@@ -4,8 +4,8 @@ const DriverV3 = require('../../HomeyAPIV3/ManagerDrivers/Driver');
|
|
|
4
4
|
|
|
5
5
|
class Driver extends DriverV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.ownerId = item.id;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
@@ -4,8 +4,8 @@ const PairSessionV3 = require('../../HomeyAPIV3/ManagerDrivers/PairSession');
|
|
|
4
4
|
|
|
5
5
|
class PairSession extends PairSessionV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.driverId = `${item.driverUri}:${item.driverId}`;
|
|
11
11
|
item.ownerUri = item.driverUri;
|
|
@@ -4,7 +4,7 @@ const AdvancedFlowV3 = require('../../HomeyAPIV3/ManagerFlow/Flow');
|
|
|
4
4
|
|
|
5
5
|
class AdvancedFlow extends AdvancedFlowV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
7
|
+
static transformGet(item) {
|
|
8
8
|
if (item.cards) {
|
|
9
9
|
for (const card of Object.values(item.cards)) {
|
|
10
10
|
card.id = `${card.ownerUri}:${card.id}`;
|
|
@@ -14,7 +14,7 @@ class AdvancedFlow extends AdvancedFlowV3 {
|
|
|
14
14
|
return item;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
static
|
|
17
|
+
static transformSet(item) {
|
|
18
18
|
if (item.cards) {
|
|
19
19
|
for (const card of Object.values(item.cards)) {
|
|
20
20
|
card.ownerUri = card.id.split(':', 3).join(':');
|
|
@@ -4,8 +4,8 @@ const FlowV3 = require('../../HomeyAPIV3/ManagerFlow/Flow');
|
|
|
4
4
|
|
|
5
5
|
class Flow extends FlowV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
if (item.trigger) {
|
|
11
11
|
item.trigger.id = `${item.trigger.uri}:${item.trigger.id}`;
|
|
@@ -29,7 +29,7 @@ class Flow extends FlowV3 {
|
|
|
29
29
|
return item;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
static
|
|
32
|
+
static transformSet(item) {
|
|
33
33
|
if (item.trigger) {
|
|
34
34
|
item.trigger.uri = item.trigger.id.split(':', 3).join(':');
|
|
35
35
|
item.trigger.id = item.trigger.id.split(':').reverse()[0];
|
|
@@ -4,8 +4,8 @@ const FlowCardActionV3 = require('../../HomeyAPIV3/ManagerFlow/FlowCardAction');
|
|
|
4
4
|
|
|
5
5
|
class FlowCardAction extends FlowCardActionV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.id = `${item.uri}:${item.id}`;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
@@ -4,8 +4,8 @@ const FlowCardConditionV3 = require('../../HomeyAPIV3/ManagerFlow/FlowCardCondit
|
|
|
4
4
|
|
|
5
5
|
class FlowCardCondition extends FlowCardConditionV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.id = `${item.uri}:${item.id}`;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
@@ -4,8 +4,8 @@ const FlowCardTriggerV3 = require('../../HomeyAPIV3/ManagerFlow/FlowCardTrigger'
|
|
|
4
4
|
|
|
5
5
|
class FlowCardTrigger extends FlowCardTriggerV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.id = `${item.uri}:${item.id}`;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
@@ -23,7 +23,7 @@ class ManagerFlow extends Manager {
|
|
|
23
23
|
...props
|
|
24
24
|
}) {
|
|
25
25
|
return this.__super__.createFlow({
|
|
26
|
-
flow: Flow.
|
|
26
|
+
flow: Flow.transformSet(flow),
|
|
27
27
|
...props,
|
|
28
28
|
});
|
|
29
29
|
}
|
|
@@ -33,7 +33,7 @@ class ManagerFlow extends Manager {
|
|
|
33
33
|
...props
|
|
34
34
|
}) {
|
|
35
35
|
return this.__super__.updateFlow({
|
|
36
|
-
flow: Flow.
|
|
36
|
+
flow: Flow.transformSet(flow),
|
|
37
37
|
...props,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -43,7 +43,7 @@ class ManagerFlow extends Manager {
|
|
|
43
43
|
...props
|
|
44
44
|
}) {
|
|
45
45
|
return this.__super__.createAdvancedFlow({
|
|
46
|
-
advancedflow: AdvancedFlow.
|
|
46
|
+
advancedflow: AdvancedFlow.transformSet(advancedflow),
|
|
47
47
|
...props,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
@@ -53,7 +53,7 @@ class ManagerFlow extends Manager {
|
|
|
53
53
|
...props
|
|
54
54
|
}) {
|
|
55
55
|
return this.__super__.updateAdvancedFlow({
|
|
56
|
-
advancedflow: AdvancedFlow.
|
|
56
|
+
advancedflow: AdvancedFlow.transformSet(advancedflow),
|
|
57
57
|
...props,
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -4,15 +4,15 @@ const FlowTokenV3 = require('../../HomeyAPIV3/ManagerFlowToken/FlowToken');
|
|
|
4
4
|
|
|
5
5
|
class FlowToken extends FlowTokenV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
7
|
+
static transformGet(item) {
|
|
8
8
|
// TODO: Remove FlowTokenV3.transform and uncomment this after front-end does not use FlowToken.uri|id|uriObj anymore!
|
|
9
|
-
// item = super.
|
|
9
|
+
// item = super.transformGet(item);
|
|
10
10
|
|
|
11
11
|
item.ownerUri = item.uri;
|
|
12
12
|
item.ownerId = item.id;
|
|
13
|
-
item.ownerName = item.uriObj.name;
|
|
14
13
|
item.id = `${item.ownerUri}:${item.ownerId}`;
|
|
15
14
|
|
|
15
|
+
delete item.ownerName; // Prepare for back-end change
|
|
16
16
|
delete item.uri;
|
|
17
17
|
delete item.uriObj;
|
|
18
18
|
|
|
@@ -4,12 +4,11 @@ const LogV3 = require('../../HomeyAPIV3/ManagerInsights/Log');
|
|
|
4
4
|
|
|
5
5
|
class Log extends LogV3 {
|
|
6
6
|
|
|
7
|
-
static
|
|
8
|
-
item = super.
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
9
|
|
|
10
10
|
item.ownerId = item.id;
|
|
11
11
|
item.ownerUri = item.uri;
|
|
12
|
-
item.ownerName = item.uriObj.name;
|
|
13
12
|
item.id = `${item.uri}:${item.id}`;
|
|
14
13
|
|
|
15
14
|
delete item.uri;
|
|
@@ -68,6 +68,13 @@ class Item extends EventEmitter {
|
|
|
68
68
|
|
|
69
69
|
this[key] = value;
|
|
70
70
|
}
|
|
71
|
+
|
|
72
|
+
this.emit('update', properties);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
__delete() {
|
|
76
|
+
this.destroy();
|
|
77
|
+
this.emit('delete');
|
|
71
78
|
}
|
|
72
79
|
|
|
73
80
|
async connect() {
|
|
@@ -173,7 +180,11 @@ class Item extends EventEmitter {
|
|
|
173
180
|
this.disconnect().catch(() => { });
|
|
174
181
|
}
|
|
175
182
|
|
|
176
|
-
static
|
|
183
|
+
static transformGet(item) {
|
|
184
|
+
return item;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
static transformSet(item) {
|
|
177
188
|
return item;
|
|
178
189
|
}
|
|
179
190
|
|
|
@@ -258,7 +258,7 @@ class Manager extends EventEmitter {
|
|
|
258
258
|
switch (operation.crud.type) {
|
|
259
259
|
case 'getOne': {
|
|
260
260
|
let item = { ...result };
|
|
261
|
-
item = Item.
|
|
261
|
+
item = Item.transformGet(item);
|
|
262
262
|
item = new Item({
|
|
263
263
|
id: item.id,
|
|
264
264
|
homey: this.homey,
|
|
@@ -277,7 +277,7 @@ class Manager extends EventEmitter {
|
|
|
277
277
|
|
|
278
278
|
// Add all to cache
|
|
279
279
|
for (let item of Object.values(result)) {
|
|
280
|
-
item = Item.
|
|
280
|
+
item = Item.transformGet(item);
|
|
281
281
|
if (this.__cache[itemId][item.id]) {
|
|
282
282
|
items[item.id] = this.__cache[itemId][item.id];
|
|
283
283
|
items[item.id].__update(item);
|
|
@@ -314,13 +314,13 @@ class Manager extends EventEmitter {
|
|
|
314
314
|
case 'createOne':
|
|
315
315
|
case 'updateOne': {
|
|
316
316
|
let item = { ...result };
|
|
317
|
-
item = Item.
|
|
317
|
+
item = Item.transformGet(item);
|
|
318
318
|
|
|
319
319
|
if (this.__cache[itemId][item.id]) {
|
|
320
320
|
item = this.__cache[itemId][item.id];
|
|
321
321
|
item.__update(item);
|
|
322
322
|
} else {
|
|
323
|
-
item = Item.
|
|
323
|
+
item = Item.transformGet(item);
|
|
324
324
|
item = new Item({
|
|
325
325
|
id: item.id,
|
|
326
326
|
homey: this.homey,
|
|
@@ -412,53 +412,38 @@ class Manager extends EventEmitter {
|
|
|
412
412
|
|
|
413
413
|
switch (operation) {
|
|
414
414
|
case 'create': {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
item = new Item({
|
|
418
|
-
id:
|
|
415
|
+
data = Item.transformGet(data);
|
|
416
|
+
|
|
417
|
+
const item = new Item({
|
|
418
|
+
id: data.id,
|
|
419
419
|
homey: this.homey,
|
|
420
420
|
manager: this,
|
|
421
|
-
properties: { ...
|
|
421
|
+
properties: { ...data },
|
|
422
422
|
});
|
|
423
|
+
this.__cache[itemId][data.id] = item;
|
|
423
424
|
|
|
424
|
-
|
|
425
|
-
this.__cache[itemId][item.id].emit('create');
|
|
426
|
-
|
|
427
|
-
return this.emit(`${itemId}.create`, item);
|
|
425
|
+
break;
|
|
428
426
|
}
|
|
429
427
|
case 'update': {
|
|
430
|
-
|
|
431
|
-
item = Item.transform(item);
|
|
428
|
+
data = Item.transformGet(data);
|
|
432
429
|
|
|
433
|
-
if (this.__cache[itemId][
|
|
434
|
-
item = this.__cache[itemId][
|
|
435
|
-
item.__update(
|
|
436
|
-
item.emit('update');
|
|
437
|
-
} else {
|
|
438
|
-
item = new Item({
|
|
439
|
-
id: item.id,
|
|
440
|
-
homey: this.homey,
|
|
441
|
-
manager: this,
|
|
442
|
-
properties: { ...item },
|
|
443
|
-
});
|
|
444
|
-
this.__cache[itemId][item.id] = item;
|
|
430
|
+
if (this.__cache[itemId][data.id]) {
|
|
431
|
+
const item = this.__cache[itemId][data.id];
|
|
432
|
+
item.__update(data);
|
|
445
433
|
}
|
|
446
434
|
|
|
447
|
-
|
|
435
|
+
break;
|
|
448
436
|
}
|
|
449
437
|
case 'delete': {
|
|
450
|
-
|
|
451
|
-
item = Item.transform(item);
|
|
438
|
+
data = Item.transformGet(data);
|
|
452
439
|
|
|
453
|
-
if (this.__cache[itemId][
|
|
454
|
-
this.__cache[itemId][
|
|
455
|
-
|
|
440
|
+
if (this.__cache[itemId][data.id]) {
|
|
441
|
+
const item = this.__cache[itemId][data.id];
|
|
442
|
+
item.__delete();
|
|
456
443
|
delete this.__cache[itemId][item.id];
|
|
457
444
|
}
|
|
458
445
|
|
|
459
|
-
|
|
460
|
-
id: item.id,
|
|
461
|
-
});
|
|
446
|
+
break;
|
|
462
447
|
}
|
|
463
448
|
default:
|
|
464
449
|
break;
|
|
@@ -195,7 +195,9 @@ class Device extends Item {
|
|
|
195
195
|
}), {});
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
static
|
|
198
|
+
static transformGet(item) {
|
|
199
|
+
item = super.transformGet(item);
|
|
200
|
+
|
|
199
201
|
if (item.capabilitiesObj) {
|
|
200
202
|
for (const capabilityObj of Object.values(item.capabilitiesObj)) {
|
|
201
203
|
if (capabilityObj.lastUpdated) {
|
|
@@ -4,6 +4,14 @@ const Item = require('../Item');
|
|
|
4
4
|
|
|
5
5
|
class FlowCard extends Item {
|
|
6
6
|
|
|
7
|
+
static transformGet(item) {
|
|
8
|
+
item = super.transformGet(item);
|
|
9
|
+
|
|
10
|
+
delete item.ownerName; // Prepare for back-end change
|
|
11
|
+
|
|
12
|
+
return item;
|
|
13
|
+
}
|
|
14
|
+
|
|
7
15
|
}
|
|
8
16
|
|
|
9
17
|
module.exports = FlowCard;
|
|
@@ -5,10 +5,13 @@ const Item = require('../Item');
|
|
|
5
5
|
class FlowToken extends Item {
|
|
6
6
|
|
|
7
7
|
// TODO: Remove when back-end has removed these properties.
|
|
8
|
-
static
|
|
8
|
+
static transformGet(item) {
|
|
9
|
+
item = super.transformGet(item);
|
|
10
|
+
|
|
9
11
|
delete item.uri;
|
|
10
12
|
delete item.id;
|
|
11
13
|
delete item.uriObj;
|
|
14
|
+
delete item.ownerName; // Prepare for back-end change
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
}
|