homebridge-plejd 1.3.4 → 1.3.7
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +17 -1
- package/README.md +14 -17
- package/dist/index.d.ts +2 -3
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/model/device.d.ts +0 -1
- package/dist/model/device.js +1 -2
- package/dist/model/plejdSite.d.ts +0 -1
- package/dist/model/plejdSite.js +44 -47
- package/dist/model/plejdSite.js.map +1 -1
- package/dist/model/userInputConfig.d.ts +0 -1
- package/dist/model/userInputConfig.js +1 -2
- package/dist/plejdApi.d.ts +3 -4
- package/dist/plejdApi.js +124 -123
- package/dist/plejdApi.js.map +1 -1
- package/dist/plejdPlatform.d.ts +8 -9
- package/dist/plejdPlatform.js +190 -188
- package/dist/plejdPlatform.js.map +1 -1
- package/dist/plejdPlatformAccessory.d.ts +3 -4
- package/dist/plejdPlatformAccessory.js +46 -48
- package/dist/plejdPlatformAccessory.js.map +1 -1
- package/dist/plejdService.d.ts +2 -3
- package/dist/plejdService.js +262 -258
- package/dist/plejdService.js.map +1 -1
- package/dist/plejdUtils.d.ts +1 -2
- package/dist/plejdUtils.js +11 -17
- package/dist/plejdUtils.js.map +1 -1
- package/dist/settings.d.ts +0 -1
- package/dist/settings.js +6 -9
- package/dist/settings.js.map +1 -1
- package/package.json +20 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/model/device.d.ts.map +0 -1
- package/dist/model/plejdSite.d.ts.map +0 -1
- package/dist/model/userInputConfig.d.ts.map +0 -1
- package/dist/plejdApi.d.ts.map +0 -1
- package/dist/plejdPlatform.d.ts.map +0 -1
- package/dist/plejdPlatformAccessory.d.ts.map +0 -1
- package/dist/plejdService.d.ts.map +0 -1
- package/dist/plejdUtils.d.ts.map +0 -1
- package/dist/settings.d.ts.map +0 -1
- package/my-site.json +0 -2427
package/CHANGELOG.md
CHANGED
@@ -1,7 +1,23 @@
|
|
1
|
+
#### 1.3.6 (2024-06-20)
|
2
|
+
|
3
|
+
Fix import issues and update configurations
|
4
|
+
|
5
|
+
#### 1.3.6 (2024-06-20)
|
6
|
+
|
7
|
+
Update dependencies
|
8
|
+
|
9
|
+
#### 1.3.5 (2024-03-14)
|
10
|
+
|
11
|
+
Update dependencies
|
12
|
+
|
1
13
|
#### 1.3.4 (2023-06-18)
|
14
|
+
|
2
15
|
Move internal plugin errors to debug mode, reducing clutter in the log.
|
16
|
+
|
3
17
|
#### 1.3.3 (2023-06-10)
|
18
|
+
|
4
19
|
Improve log messages & minor improvements
|
5
20
|
|
6
21
|
#### 1.3.2-beta (2023-06-10)
|
7
|
-
|
22
|
+
|
23
|
+
Added possibility to hide items from HomeKit by adding "hidden": true to a device in the config.json file.
|
package/README.md
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
<SPAN ALIGN="CENTER" STYLE="text-align:center">
|
3
2
|
<DIV ALIGN="CENTER" STYLE="text-align:center">
|
4
3
|
|
@@ -8,7 +7,7 @@
|
|
8
7
|
|
9
8
|
### Official support is released using the Plejd gateway
|
10
9
|
|
11
|
-
#### This addon exist if you don't want to use yet another
|
10
|
+
#### This addon exist if you don't want to use yet another hardware to control your Plejd devices
|
12
11
|
|
13
12
|
[![Build and Lint](https://img.shields.io/github/workflow/status/herlix/homebridge-plejd/Build%20and%20Lint?style=flat-square)](https://github.com/Herlix/homebridge-plejd/actions/workflows/build.yml)
|
14
13
|
[![Build and Lint](https://img.shields.io/npm/dm/homebridge-plejd?style=flat-square)](https://github.com/Herlix/homebridge-plejd/actions/workflows/build.yml)
|
@@ -16,7 +15,6 @@
|
|
16
15
|
</DIV>
|
17
16
|
</SPAN>
|
18
17
|
|
19
|
-
|
20
18
|
## Docker Compose
|
21
19
|
|
22
20
|
I'm running this in docker-compose on a Raspberry PI 4b 8gb.
|
@@ -24,19 +22,18 @@ I'm running this in docker-compose on a Raspberry PI 4b 8gb.
|
|
24
22
|
Raspberry pi is running Debian Bullseye (Raspberry Pi OS) with docker and docker compose installed, nothing extra.
|
25
23
|
|
26
24
|
```yml
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
25
|
+
homebridge:
|
26
|
+
image: oznu/homebridge:latest
|
27
|
+
restart: unless-stopped
|
28
|
+
network_mode: host
|
29
|
+
privileged: true
|
30
|
+
volumes:
|
31
|
+
- /home/pi/.homebridge:/homebridge
|
32
|
+
logging:
|
33
|
+
driver: json-file
|
34
|
+
options:
|
35
|
+
max-size: "10mb"
|
36
|
+
max-file: "1"
|
40
37
|
```
|
41
38
|
|
42
39
|
### If not docker: Dependencies needed for Raspberry PI
|
@@ -65,7 +62,7 @@ Device info can be found like [this](./docs/Device%20Info.md)!
|
|
65
62
|
|
66
63
|
This plugin lacks testing for multiple platforms. Feel free to test on your system. The main dependency [@abandonware/Noble](https://github.com/abandonware/noble) is your guide in case of your separate system. Usually BLE is the problem.
|
67
64
|
|
68
|
-
Feel free to open a ticket if you can't get it working.
|
65
|
+
Feel free to open a ticket if you can't get it working.
|
69
66
|
|
70
67
|
## Thanks
|
71
68
|
|
package/dist/index.d.ts
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
import { API } from
|
1
|
+
import { API } from "homebridge";
|
2
2
|
/**
|
3
3
|
* This method registers the platform with Homebridge
|
4
4
|
*/
|
5
5
|
declare const _default: (api: API) => void;
|
6
|
-
export
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
6
|
+
export default _default;
|
package/dist/index.js
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
import { PLATFORM_NAME, PLUGIN_NAME } from "./settings.js";
|
2
|
+
import { PlejdPlatform } from "./plejdPlatform.js";
|
3
|
+
/**
|
4
|
+
* This method registers the platform with Homebridge
|
5
|
+
*/
|
6
|
+
export default (api) => {
|
7
|
+
api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, PlejdPlatform);
|
6
8
|
};
|
7
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,eAAe,CAAC,GAAQ,EAAE,EAAE;IAC1B,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAClE,CAAC,CAAC"}
|
package/dist/model/device.d.ts
CHANGED
package/dist/model/device.js
CHANGED
package/dist/model/plejdSite.js
CHANGED
@@ -1,107 +1,104 @@
|
|
1
|
-
"use strict";
|
2
1
|
// Generated by https://quicktype.io
|
3
|
-
|
4
|
-
exports.TitleSv = exports.TitleEn = exports.TitleKey = exports.PredefinedLoadObjectID = exports.LoadType = exports.DescriptionSv = exports.DescriptionEn = exports.DescriptionKey = exports.SiteType = exports.PredefinedLoadClassName = exports.AllowedDimCurvesClassName = exports.AllowedDimCurvesType = exports.DimCurve = exports.OutputSettingClassName = exports.BootState = exports.InputSettingClassName = exports.ButtonType = exports.ObjectID = exports.DataType = exports.OutputType = exports.DeviceClassName = exports.PurpleType = void 0;
|
5
|
-
var PurpleType;
|
2
|
+
export var PurpleType;
|
6
3
|
(function (PurpleType) {
|
7
4
|
PurpleType["Object"] = "Object";
|
8
|
-
})(PurpleType
|
9
|
-
var DeviceClassName;
|
5
|
+
})(PurpleType || (PurpleType = {}));
|
6
|
+
export var DeviceClassName;
|
10
7
|
(function (DeviceClassName) {
|
11
8
|
DeviceClassName["Device"] = "Device";
|
12
|
-
})(DeviceClassName
|
13
|
-
var OutputType;
|
9
|
+
})(DeviceClassName || (DeviceClassName = {}));
|
10
|
+
export var OutputType;
|
14
11
|
(function (OutputType) {
|
15
12
|
OutputType["Light"] = "LIGHT";
|
16
|
-
})(OutputType
|
17
|
-
var DataType;
|
13
|
+
})(OutputType || (OutputType = {}));
|
14
|
+
export var DataType;
|
18
15
|
(function (DataType) {
|
19
16
|
DataType["File"] = "File";
|
20
|
-
})(DataType
|
21
|
-
var ObjectID;
|
17
|
+
})(DataType || (DataType = {}));
|
18
|
+
export var ObjectID;
|
22
19
|
(function (ObjectID) {
|
23
20
|
ObjectID["BcKqEZhBlZ"] = "BcKqEZhBlZ";
|
24
21
|
ObjectID["D4Dw87Hq21"] = "D4DW87HQ21";
|
25
22
|
ObjectID["DtkZ3Ev3DI"] = "dtkZ3Ev3DI";
|
26
23
|
ObjectID["LjUH1MRUUa"] = "LjUH1mRUUa";
|
27
24
|
ObjectID["OTNDhFmsnJ"] = "oTNDhFmsnJ";
|
28
|
-
})(ObjectID
|
29
|
-
var ButtonType;
|
25
|
+
})(ObjectID || (ObjectID = {}));
|
26
|
+
export var ButtonType;
|
30
27
|
(function (ButtonType) {
|
31
28
|
ButtonType["PushButton"] = "PushButton";
|
32
|
-
})(ButtonType
|
33
|
-
var InputSettingClassName;
|
29
|
+
})(ButtonType || (ButtonType = {}));
|
30
|
+
export var InputSettingClassName;
|
34
31
|
(function (InputSettingClassName) {
|
35
32
|
InputSettingClassName["PlejdDeviceInputSetting"] = "PlejdDeviceInputSetting";
|
36
|
-
})(InputSettingClassName
|
37
|
-
var BootState;
|
33
|
+
})(InputSettingClassName || (InputSettingClassName = {}));
|
34
|
+
export var BootState;
|
38
35
|
(function (BootState) {
|
39
36
|
BootState["UseLast"] = "UseLast";
|
40
|
-
})(BootState
|
41
|
-
var OutputSettingClassName;
|
37
|
+
})(BootState || (BootState = {}));
|
38
|
+
export var OutputSettingClassName;
|
42
39
|
(function (OutputSettingClassName) {
|
43
40
|
OutputSettingClassName["PlejdDeviceOutputSetting"] = "PlejdDeviceOutputSetting";
|
44
|
-
})(OutputSettingClassName
|
45
|
-
var DimCurve;
|
41
|
+
})(OutputSettingClassName || (OutputSettingClassName = {}));
|
42
|
+
export var DimCurve;
|
46
43
|
(function (DimCurve) {
|
47
44
|
DimCurve["LinearLogarithmicSlidingProportion"] = "LinearLogarithmicSlidingProportion";
|
48
|
-
})(DimCurve
|
49
|
-
var AllowedDimCurvesType;
|
45
|
+
})(DimCurve || (DimCurve = {}));
|
46
|
+
export var AllowedDimCurvesType;
|
50
47
|
(function (AllowedDimCurvesType) {
|
51
48
|
AllowedDimCurvesType["Relation"] = "Relation";
|
52
|
-
})(AllowedDimCurvesType
|
53
|
-
var AllowedDimCurvesClassName;
|
49
|
+
})(AllowedDimCurvesType || (AllowedDimCurvesType = {}));
|
50
|
+
export var AllowedDimCurvesClassName;
|
54
51
|
(function (AllowedDimCurvesClassName) {
|
55
52
|
AllowedDimCurvesClassName["DimCurve"] = "DimCurve";
|
56
53
|
AllowedDimCurvesClassName["PlejdMesh"] = "PlejdMesh";
|
57
54
|
AllowedDimCurvesClassName["Site"] = "Site";
|
58
55
|
AllowedDimCurvesClassName["User"] = "_User";
|
59
56
|
AllowedDimCurvesClassName["UserProfile"] = "UserProfile";
|
60
|
-
})(AllowedDimCurvesClassName
|
61
|
-
var PredefinedLoadClassName;
|
57
|
+
})(AllowedDimCurvesClassName || (AllowedDimCurvesClassName = {}));
|
58
|
+
export var PredefinedLoadClassName;
|
62
59
|
(function (PredefinedLoadClassName) {
|
63
60
|
PredefinedLoadClassName["PredefinedLoad"] = "PredefinedLoad";
|
64
|
-
})(PredefinedLoadClassName
|
65
|
-
var SiteType;
|
61
|
+
})(PredefinedLoadClassName || (PredefinedLoadClassName = {}));
|
62
|
+
export var SiteType;
|
66
63
|
(function (SiteType) {
|
67
64
|
SiteType["Pointer"] = "Pointer";
|
68
|
-
})(SiteType
|
69
|
-
var DescriptionKey;
|
65
|
+
})(SiteType || (SiteType = {}));
|
66
|
+
export var DescriptionKey;
|
70
67
|
(function (DescriptionKey) {
|
71
68
|
DescriptionKey["TrailingDescription"] = "TrailingDescription";
|
72
69
|
DescriptionKey["TrailingDim02Description"] = "TrailingDim02Description";
|
73
|
-
})(DescriptionKey
|
74
|
-
var DescriptionEn;
|
70
|
+
})(DescriptionKey || (DescriptionKey = {}));
|
71
|
+
export var DescriptionEn;
|
75
72
|
(function (DescriptionEn) {
|
76
73
|
DescriptionEn["The230VIncandescentHalogenElectronicTransformatorMax100W"] = "230V Incandescent / Halogen, Electronic transformator - Max 100W";
|
77
74
|
DescriptionEn["The230VIncandescentHalogenElectronicTransformatorMax300W"] = "230V Incandescent / Halogen, Electronic transformator - Max 300W";
|
78
|
-
})(DescriptionEn
|
79
|
-
var DescriptionSv;
|
75
|
+
})(DescriptionEn || (DescriptionEn = {}));
|
76
|
+
export var DescriptionSv;
|
80
77
|
(function (DescriptionSv) {
|
81
78
|
DescriptionSv["The230VDimbarLEDLjusk\u00E4llaMax100VA"] = "230V dimbar LED ljusk\u00E4lla - Max 100VA";
|
82
79
|
DescriptionSv["The230VDimbarLEDLjusk\u00E4llaMax200VA"] = "230V dimbar LED ljusk\u00E4lla - Max 200VA";
|
83
|
-
})(DescriptionSv
|
84
|
-
var LoadType;
|
80
|
+
})(DescriptionSv || (DescriptionSv = {}));
|
81
|
+
export var LoadType;
|
85
82
|
(function (LoadType) {
|
86
83
|
LoadType["TrailingEdge"] = "Trailing Edge";
|
87
84
|
LoadType["TrailingEdgeDim02"] = "Trailing Edge Dim02";
|
88
|
-
})(LoadType
|
89
|
-
var PredefinedLoadObjectID;
|
85
|
+
})(LoadType || (LoadType = {}));
|
86
|
+
export var PredefinedLoadObjectID;
|
90
87
|
(function (PredefinedLoadObjectID) {
|
91
88
|
PredefinedLoadObjectID["The6NawurOZ7M"] = "6nawurOZ7m";
|
92
89
|
PredefinedLoadObjectID["The7ES04HWWfG"] = "7ES04HWWfG";
|
93
|
-
})(PredefinedLoadObjectID
|
94
|
-
var TitleKey;
|
90
|
+
})(PredefinedLoadObjectID || (PredefinedLoadObjectID = {}));
|
91
|
+
export var TitleKey;
|
95
92
|
(function (TitleKey) {
|
96
93
|
TitleKey["TrailingDim02Title"] = "TrailingDim02Title";
|
97
94
|
TitleKey["TrailingTitle"] = "TrailingTitle";
|
98
|
-
})(TitleKey
|
99
|
-
var TitleEn;
|
95
|
+
})(TitleKey || (TitleKey = {}));
|
96
|
+
export var TitleEn;
|
100
97
|
(function (TitleEn) {
|
101
98
|
TitleEn["LEDTrailingEdgeCommon"] = "LED Trailing Edge (Common)";
|
102
|
-
})(TitleEn
|
103
|
-
var TitleSv;
|
99
|
+
})(TitleEn || (TitleEn = {}));
|
100
|
+
export var TitleSv;
|
104
101
|
(function (TitleSv) {
|
105
102
|
TitleSv["LEDBakkantVanligast"] = "LED Bakkant (Vanligast)";
|
106
|
-
})(TitleSv
|
103
|
+
})(TitleSv || (TitleSv = {}));
|
107
104
|
//# sourceMappingURL=plejdSite.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plejdSite.js","sourceRoot":"","sources":["../../src/model/plejdSite.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"plejdSite.js","sourceRoot":"","sources":["../../src/model/plejdSite.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAwDpC,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,+BAAiB,CAAA;AACnB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;AAwBD,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,oCAAiB,CAAA;AACnB,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B;AAED,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,6BAAe,CAAA;AACjB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;AA0CD,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,yBAAa,CAAA;AACf,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;AAC3B,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAkBD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,uCAAyB,CAAA;AAC3B,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;AAED,MAAM,CAAN,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,4EAAmD,CAAA;AACrD,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,QAEhC;AAoDD,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAED,MAAM,CAAN,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,+EAAqD,CAAA;AACvD,CAAC,EAFW,sBAAsB,KAAtB,sBAAsB,QAEjC;AAED,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,qFAAyE,CAAA;AAC3E,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAkCD,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;AACvB,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B;AAED,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IACrB,oDAAuB,CAAA;IACvB,0CAAa,CAAA;IACb,2CAAc,CAAA;IACd,wDAA2B,CAAA;AAC7B,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC;AAED,MAAM,CAAN,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;AACnC,CAAC,EAFW,uBAAuB,KAAvB,uBAAuB,QAElC;AAQD,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;AACrB,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6DAA2C,CAAA;IAC3C,uEAAqD,CAAA;AACvD,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8IAA6H,CAAA;IAC7H,8IAA6H,CAAA;AAC/H,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sGAA2E,CAAA;IAC3E,sGAA2E,CAAA;AAC7E,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,0CAA8B,CAAA;IAC9B,qDAAyC,CAAA;AAC3C,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,sDAA4B,CAAA;IAC5B,sDAA4B,CAAA;AAC9B,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qDAAyC,CAAA;IACzC,2CAA+B,CAAA;AACjC,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,+DAAoD,CAAA;AACtD,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB;AAED,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,0DAA+C,CAAA;AACjD,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB"}
|
package/dist/plejdApi.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import EventEmitter from
|
3
|
-
import { Logger } from
|
4
|
-
import { Site } from
|
2
|
+
import EventEmitter from "events";
|
3
|
+
import { Logger } from "homebridge";
|
4
|
+
import { Site } from "./model/plejdSite.js";
|
5
5
|
export default class PlejdRemoteApi extends EventEmitter {
|
6
6
|
log: Logger;
|
7
7
|
siteName: string;
|
@@ -16,4 +16,3 @@ export default class PlejdRemoteApi extends EventEmitter {
|
|
16
16
|
private getSites;
|
17
17
|
private getSite;
|
18
18
|
}
|
19
|
-
//# sourceMappingURL=plejdApi.d.ts.map
|
package/dist/plejdApi.js
CHANGED
@@ -1,32 +1,35 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
const
|
7
|
-
const
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
import axios from "axios";
|
2
|
+
import EventEmitter from "events";
|
3
|
+
const API_APP_ID = "zHtVqXt8k4yFyk2QGmgp48D9xZr2G94xWYnF4dak";
|
4
|
+
const API_BASE_URL = "https://cloud.plejd.com/parse/";
|
5
|
+
const API_LOGIN_URL = "login";
|
6
|
+
const API_SITE_LIST_URL = "functions/getSiteList";
|
7
|
+
const API_SITE_DETAILS_URL = "functions/getSiteById";
|
8
|
+
export default class PlejdRemoteApi extends EventEmitter {
|
9
|
+
log;
|
10
|
+
siteName;
|
11
|
+
username;
|
12
|
+
password;
|
13
|
+
includeRoomsAsLights;
|
14
|
+
sessionToken;
|
15
|
+
site;
|
14
16
|
constructor(log, siteName, username, password, includeRoomsAsLights) {
|
15
17
|
super();
|
16
|
-
this.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
this.log = log;
|
19
|
+
this.includeRoomsAsLights = includeRoomsAsLights;
|
20
|
+
this.siteName = siteName;
|
21
|
+
this.username = username;
|
22
|
+
this.password = password;
|
23
|
+
}
|
24
|
+
getPlejdRemoteSite = () => {
|
25
|
+
return new Promise((resolve, reject) => {
|
26
|
+
this.login()
|
27
|
+
.then(() => {
|
28
|
+
this.getSites()
|
29
|
+
.then((site) => {
|
30
|
+
this.getSite(site)
|
21
31
|
.then((site) => {
|
22
|
-
|
23
|
-
.then((site) => {
|
24
|
-
resolve(site);
|
25
|
-
})
|
26
|
-
.catch((e) => {
|
27
|
-
this.log.error(`${e}`);
|
28
|
-
reject(e);
|
29
|
-
});
|
32
|
+
resolve(site);
|
30
33
|
})
|
31
34
|
.catch((e) => {
|
32
35
|
this.log.error(`${e}`);
|
@@ -37,106 +40,104 @@ class PlejdRemoteApi extends events_1.default {
|
|
37
40
|
this.log.error(`${e}`);
|
38
41
|
reject(e);
|
39
42
|
});
|
43
|
+
})
|
44
|
+
.catch((e) => {
|
45
|
+
this.log.error(`${e}`);
|
46
|
+
reject(e);
|
40
47
|
});
|
41
|
-
};
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
}
|
73
|
-
});
|
74
|
-
};
|
75
|
-
this.getSites = () => {
|
76
|
-
const instance = axios_1.default.create({
|
77
|
-
baseURL: API_BASE_URL,
|
78
|
-
headers: {
|
79
|
-
'X-Parse-Application-Id': API_APP_ID,
|
80
|
-
'X-Parse-Session-Token': this.sessionToken,
|
81
|
-
'Content-Type': 'application/json',
|
82
|
-
},
|
48
|
+
});
|
49
|
+
};
|
50
|
+
login = () => {
|
51
|
+
const instance = axios.create({
|
52
|
+
baseURL: API_BASE_URL,
|
53
|
+
headers: {
|
54
|
+
"X-Parse-Application-Id": API_APP_ID,
|
55
|
+
"Content-Type": "application/json",
|
56
|
+
},
|
57
|
+
});
|
58
|
+
return new Promise((resolve, reject) => {
|
59
|
+
instance
|
60
|
+
.post(API_LOGIN_URL, {
|
61
|
+
username: this.username,
|
62
|
+
password: this.password,
|
63
|
+
})
|
64
|
+
.then((response) => {
|
65
|
+
this.log.debug("plejd-api: got session token response");
|
66
|
+
this.sessionToken = response.data.sessionToken;
|
67
|
+
if (!this.sessionToken) {
|
68
|
+
reject("no session token received.");
|
69
|
+
return;
|
70
|
+
}
|
71
|
+
resolve(response.data.sessionToken);
|
72
|
+
})
|
73
|
+
.catch((error) => {
|
74
|
+
if (error.response.status === 400) {
|
75
|
+
reject("error: server returned status 400. probably invalid credentials, please verify.");
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
reject("error: unable to retrieve session token response: " + error);
|
79
|
+
}
|
83
80
|
});
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
81
|
+
});
|
82
|
+
};
|
83
|
+
getSites = () => {
|
84
|
+
const instance = axios.create({
|
85
|
+
baseURL: API_BASE_URL,
|
86
|
+
headers: {
|
87
|
+
"X-Parse-Application-Id": API_APP_ID,
|
88
|
+
"X-Parse-Session-Token": this.sessionToken,
|
89
|
+
"Content-Type": "application/json",
|
90
|
+
},
|
91
|
+
});
|
92
|
+
return new Promise((resolve, reject) => {
|
93
|
+
this.log.debug("Sending POST to " + API_BASE_URL + API_SITE_LIST_URL);
|
94
|
+
instance
|
95
|
+
.post(API_SITE_LIST_URL)
|
96
|
+
.then((response) => {
|
97
|
+
this.log.debug("plejd-api: got detailed sites response");
|
98
|
+
const site = response.data.result.find((x) => x.site.title === this.siteName);
|
99
|
+
if (!site) {
|
100
|
+
reject("failed to find a site named " + this.siteName);
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
resolve(site);
|
104
|
+
})
|
105
|
+
.catch((error) => {
|
106
|
+
return reject("plejd-api: unable to retrieve list of sites. error: " + error);
|
110
107
|
});
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
return
|
131
|
-
}
|
108
|
+
});
|
109
|
+
};
|
110
|
+
getSite = (site) => {
|
111
|
+
const instance = axios.create({
|
112
|
+
baseURL: API_BASE_URL,
|
113
|
+
headers: {
|
114
|
+
"X-Parse-Application-Id": API_APP_ID,
|
115
|
+
"X-Parse-Session-Token": this.sessionToken,
|
116
|
+
"Content-Type": "application/json",
|
117
|
+
},
|
118
|
+
});
|
119
|
+
return new Promise((resolve, reject) => {
|
120
|
+
this.log.debug("Sending POST to " + API_BASE_URL + API_SITE_DETAILS_URL);
|
121
|
+
instance
|
122
|
+
.post(API_SITE_DETAILS_URL, { siteId: site.site.siteId })
|
123
|
+
.then((response) => {
|
124
|
+
this.log.debug("plejd-api: got site details response");
|
125
|
+
if (response.data.result.length === 0) {
|
126
|
+
reject("No devices fount");
|
127
|
+
return;
|
128
|
+
}
|
129
|
+
this.site = response.data.result[0];
|
130
|
+
if (this.site) {
|
131
|
+
resolve(this.site);
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
reject("No Crypto has been retrieved yet");
|
135
|
+
}
|
136
|
+
})
|
137
|
+
.catch((error) => {
|
138
|
+
return reject("plejd-api: unable to retrieve the crypto key. error: " + error);
|
132
139
|
});
|
133
|
-
};
|
134
|
-
|
135
|
-
this.includeRoomsAsLights = includeRoomsAsLights;
|
136
|
-
this.siteName = siteName;
|
137
|
-
this.username = username;
|
138
|
-
this.password = password;
|
139
|
-
}
|
140
|
+
});
|
141
|
+
};
|
140
142
|
}
|
141
|
-
exports.default = PlejdRemoteApi;
|
142
143
|
//# sourceMappingURL=plejdApi.js.map
|
package/dist/plejdApi.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"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"}
|