@o-lukas/homebridge-smartthings-tv 1.0.5 → 1.1.0
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 +113 -14
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +2 -2
- package/dist/platform.js.map +1 -1
- package/package.json +31 -16
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Homebridge SmartThings TV
|
|
2
2
|
|
|
3
3
|
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
4
|
+
[](https://github.com/semantic-release/semantic-release)
|
|
4
5
|

|
|
5
6
|

|
|
6
7
|

|
|
7
8
|

|
|
8
9
|
[](https://github.com/o-lukas/homebridge-smartthings-tv/actions/workflows/build.yml)
|
|
9
|
-
[](https://github.com/o-lukas/homebridge-smartthings-tv/actions/workflows/publish.yml)
|
|
10
10
|
|
|
11
11
|
This is a plugin for [Homebridge](https://github.com/homebridge/homebridge). It offers some basic functions to control Samsung TVs using the SmartThings API.
|
|
12
12
|
|
|
@@ -14,38 +14,137 @@ This is a plugin for [Homebridge](https://github.com/homebridge/homebridge). It
|
|
|
14
14
|
|
|
15
15
|
The easiest way to configure the plugin is to use [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x) which should contain a description for every needed property. The only property needed to make the plugin work is the SmartThings API token. The other properties enable some additional functions but are not mandatory for the plugin to work.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## Configuration example
|
|
18
|
+
|
|
19
|
+
The following snippet shows the most simple configuration you can use for the plugin:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"bridge": {
|
|
24
|
+
},
|
|
25
|
+
"accessories": [],
|
|
26
|
+
"platforms": [
|
|
27
|
+
{
|
|
28
|
+
"token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
29
|
+
"platform": "smartthings-tv"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The following snippets shows all available properties you can use for the plugin:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"bridge": {
|
|
40
|
+
},
|
|
41
|
+
"accessories": [],
|
|
42
|
+
"platforms": [
|
|
43
|
+
{
|
|
44
|
+
"token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
45
|
+
"capabilityLogging": true,
|
|
46
|
+
"registerApplications": true,
|
|
47
|
+
"deviceMappings": [
|
|
48
|
+
{
|
|
49
|
+
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
50
|
+
"macAddress": "xx:xx:xx:xx:xx:xx",
|
|
51
|
+
"ipAddress": "xx:xx:xx:xx:xx:xx"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
55
|
+
"macAddress": "xx:xx:xx:xx:xx:xx",
|
|
56
|
+
"ipAddress": "xx:xx:xx:xx:xx:xx"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"platform": "smartthings-tv"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Available configuration properties
|
|
66
|
+
|
|
67
|
+
### token
|
|
68
|
+
|
|
69
|
+
The SmartThings API token is needed to authenticate the requests sent to the SmartThings API. To generate a token open [SmartThings website]( https://account.smartthings.com/tokens) and generate a new one (make sure at least devices is selected).
|
|
70
|
+
|
|
71
|
+
### capabilityLogging
|
|
72
|
+
|
|
73
|
+
The SmartThings API returns the list of supported actions of a device as capabilities. For implementing new features it is neccessary to know the scheme the capability uses. Enable this property to log all capabilities of supported SmartThings devices.
|
|
74
|
+
|
|
75
|
+
### registerApplications
|
|
76
|
+
|
|
77
|
+
To use installed application as input sources, a [predefined list of applications](./src/res/apps.json) will be used. This list will be checked for availability at the TV(s) and eventually be registered as input sources. Make sure to have the TV(s) turned on when starting your instance as this functionality requires your TV(s) be turned on to determine whether an application is installed or not. On startup the applications will be opened to determine if they are available. Do not use your TV until the input source is being changed back to the first one (usually Live TV).
|
|
78
|
+
|
|
79
|
+
### deviceMappings
|
|
80
|
+
|
|
81
|
+
Use the device mappings when e.g. turning on the accessory does not work as expected. When a device mapping is available the wake-on-lan functionality is used to turn on the device instead of the SmartThings API. To make use of the functionality you must enter the mapping using the SmartThings device ID and the mac address of the device. If status does not show up properly you can use the ping functionality to determine the device status. To make use of it you must enter the SmartThings device ID and the ip address of the device.
|
|
82
|
+
|
|
83
|
+
#### deviceId
|
|
84
|
+
|
|
85
|
+
The SmartThings device id. Check the log or go to https://account.smartthings.com/ and get the device id.
|
|
86
|
+
|
|
87
|
+
### macAddress
|
|
88
|
+
|
|
89
|
+
The mac address of the device to turn device on using wake-on-lan functionality.
|
|
90
|
+
|
|
91
|
+
### ipAddress
|
|
92
|
+
|
|
93
|
+
The IP address of the device (assign a static IP address to make sure it does not change) to determine the status using ping.
|
|
94
|
+
|
|
95
|
+
# Common issues
|
|
96
|
+
|
|
97
|
+
## TV does not show in HomeKit
|
|
98
|
+
|
|
99
|
+
After starting you have to add the TV manually to HomeKit because they are published as external accessory to get over the limit of only one TV per bridge.
|
|
100
|
+
|
|
101
|
+
## TV does not turn on
|
|
102
|
+
|
|
103
|
+
The command to turn the TV on using the SmartThings API does not work for some TVs. To solve this problem you can use the built-in wake-on-lan functionality. To activate this functionality add a device mapping containing the device id and the mac address of your TV.
|
|
18
104
|
|
|
19
105
|
```json
|
|
20
106
|
{
|
|
21
107
|
"bridge": {
|
|
22
|
-
...
|
|
23
108
|
},
|
|
24
109
|
"accessories": [],
|
|
25
110
|
"platforms": [
|
|
26
|
-
...
|
|
27
111
|
{
|
|
28
|
-
"token": "
|
|
29
|
-
"capabilityLogging": "log capabilitys implemented by device",
|
|
30
|
-
"registerApplications": "register applications as input sources",
|
|
112
|
+
"token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
31
113
|
"deviceMappings": [
|
|
32
114
|
{
|
|
33
|
-
"deviceId": "
|
|
34
|
-
"macAddress": "
|
|
35
|
-
"ipAddress": "the ip address of the device (optionally needed for ping functionality)"
|
|
115
|
+
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
116
|
+
"macAddress": "xx:xx:xx:xx:xx:xx"
|
|
36
117
|
}
|
|
37
118
|
],
|
|
38
119
|
"platform": "smartthings-tv"
|
|
39
120
|
}
|
|
40
|
-
...
|
|
41
121
|
]
|
|
42
122
|
}
|
|
43
123
|
```
|
|
44
124
|
|
|
45
|
-
|
|
125
|
+
## TV state does not match actual state
|
|
46
126
|
|
|
47
|
-
|
|
48
|
-
|
|
127
|
+
Some TVs report a false active state using the SmartThings API. To get the actual state of the television you can use the build-in ping functionality. To activate this functionality add a device mapping containing the device id and the IP address of your TV.
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"bridge": {
|
|
132
|
+
},
|
|
133
|
+
"accessories": [],
|
|
134
|
+
"platforms": [
|
|
135
|
+
{
|
|
136
|
+
"token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
137
|
+
"deviceMappings": [
|
|
138
|
+
{
|
|
139
|
+
"deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
140
|
+
"ipAddress": "xx:xx:xx:xx:xx:xx"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"platform": "smartthings-tv"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
```
|
|
49
148
|
|
|
50
149
|
***
|
|
51
150
|
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -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;AAI5H,OAAO,EAAE,iBAAiB,EAA4B,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE5F;;GAEG;AACH,cAAM,aAAa;aACW,QAAQ,EAAE,MAAM;aAAkB,UAAU,EAAE,MAAM;aAAkB,SAAS,EAAE,MAAM;gBAAvF,QAAQ,EAAE,MAAM,EAAkB,UAAU,EAAE,MAAM,EAAkB,SAAS,EAAE,MAAM;CAEpH;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;aAK7C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAN1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;gBAGlE,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAgB1B;;OAEG;IAEH,kBAAkB,CAAC,UAAU,EAAE,iBAAiB;IAIhD;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAe9D;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;
|
|
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;AAI5H,OAAO,EAAE,iBAAiB,EAA4B,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE5F;;GAEG;AACH,cAAM,aAAa;aACW,QAAQ,EAAE,MAAM;aAAkB,UAAU,EAAE,MAAM;aAAkB,SAAS,EAAE,MAAM;gBAAvF,QAAQ,EAAE,MAAM,EAAkB,UAAU,EAAE,MAAM,EAAkB,SAAS,EAAE,MAAM;CAEpH;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;aAK7C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAN1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;gBAGlE,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAgB1B;;OAEG;IAEH,kBAAkB,CAAC,UAAU,EAAE,iBAAiB;IAIhD;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAe9D;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;IAczF;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS;CAiBrG"}
|
package/dist/platform.js
CHANGED
|
@@ -71,10 +71,10 @@ class SmartThingsPlatform {
|
|
|
71
71
|
var _a, _b;
|
|
72
72
|
switch ((_a = device.ocf) === null || _a === void 0 ? void 0 : _a.ocfDeviceType) {
|
|
73
73
|
case 'oic.d.tv':
|
|
74
|
-
this.registerTvDevice(client, device, deviceMappings.find(mapping => mapping.deviceId === device.deviceId));
|
|
74
|
+
this.registerTvDevice(client, device, deviceMappings === null || deviceMappings === void 0 ? void 0 : deviceMappings.find(mapping => mapping.deviceId === device.deviceId));
|
|
75
75
|
break;
|
|
76
76
|
default:
|
|
77
|
-
this.log.info('Ignoring SmartThingsDevice:', device, 'because device type', (_b = device.ocf) === null || _b === void 0 ? void 0 : _b.ocfDeviceType, 'is not implemented');
|
|
77
|
+
this.log.info('Ignoring SmartThingsDevice:', device.name ? device.name + ' (' + device.deviceId + ')' : device.deviceId, 'because device type', (_b = device.ocf) === null || _b === void 0 ? void 0 : _b.ocfDeviceType, 'is not implemented');
|
|
78
78
|
break;
|
|
79
79
|
}
|
|
80
80
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAEA,yCAAyC;AACzC,+CAA4C;AAC5C,oDAA4F;AAE5F;;GAEG;AACH,MAAM,aAAa;IACjB,YAA4B,QAAgB,EAAkB,UAAkB,EAAkB,SAAiB;QAAvF,aAAQ,GAAR,QAAQ,CAAQ;QAAkB,eAAU,GAAV,UAAU,CAAQ;QAAkB,cAAS,GAAT,SAAS,CAAQ;IACnH,CAAC;CACF;AAED;;GAEG;AACH,MAAa,mBAAmB;IAI9B,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QANV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAOlF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC3D,OAAO;SACR;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAEvD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,6DAA6D;IAC7D,kBAAkB,CAAC,UAA6B;QAC9C,mBAAmB;IACrB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAa,EAAE,cAA+B;QAC5D,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,IAAI,mCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;aAClB,IAAI,CAAC,OAAO,CAAC,EAAE;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,MAAyB,EAAE,MAAc,EAAE,cAA+B;;QACvF,QAAQ,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,EAAE;YACjC,KAAK,UAAU;gBACb,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAEA,yCAAyC;AACzC,+CAA4C;AAC5C,oDAA4F;AAE5F;;GAEG;AACH,MAAM,aAAa;IACjB,YAA4B,QAAgB,EAAkB,UAAkB,EAAkB,SAAiB;QAAvF,aAAQ,GAAR,QAAQ,CAAQ;QAAkB,eAAU,GAAV,UAAU,CAAQ;QAAkB,cAAS,GAAT,SAAS,CAAQ;IACnH,CAAC;CACF;AAED;;GAEG;AACH,MAAa,mBAAmB;IAI9B,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QANV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAOlF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC3D,OAAO;SACR;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAEvD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,6DAA6D;IAC7D,kBAAkB,CAAC,UAA6B;QAC9C,mBAAmB;IACrB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAa,EAAE,cAA+B;QAC5D,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,IAAI,mCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;aAClB,IAAI,CAAC,OAAO,CAAC,EAAE;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,MAAyB,EAAE,MAAc,EAAE,cAA+B;;QACvF,QAAQ,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,EAAE;YACjC,KAAK,UAAU;gBACb,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7G,MAAM;YAER;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EACzC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAC1E,qBAAqB,EAAE,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;gBAC1E,MAAM;SACT;IACH,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAyB,EAAE,MAAc,EAAE,aAAwC;;QAClG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnH,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACtF,OAAO;SACR;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAA,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,SAAS,CAAC,QAAQ,8CAAqC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,sBAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAE9D,IAAI,yBAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EACnI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAlGD,kDAkGC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Homebridge SmartThings TV",
|
|
3
3
|
"name": "@o-lukas/homebridge-smartthings-tv",
|
|
4
|
-
"version": "1.0
|
|
5
|
-
"description": "
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"description": "This is a plugin for Homebridge. It offers some basic functions to control Samsung TVs using the SmartThings API.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/o-lukas/homebridge-smartthings-tv/issues"
|
|
13
13
|
},
|
|
14
|
+
"funding": {
|
|
15
|
+
"type": "paypal",
|
|
16
|
+
"url": "https://paypal.me/00lukas"
|
|
17
|
+
},
|
|
14
18
|
"engines": {
|
|
15
19
|
"node": ">=14.18.1",
|
|
16
20
|
"homebridge": ">=1.3.5"
|
|
@@ -20,7 +24,8 @@
|
|
|
20
24
|
"lint": "eslint src/**.ts --max-warnings=0",
|
|
21
25
|
"watch": "npm run build && npm link && nodemon",
|
|
22
26
|
"build": "rimraf ./dist && tsc",
|
|
23
|
-
"prepublishOnly": "npm run lint && npm run build"
|
|
27
|
+
"prepublishOnly": "npm run lint && npm run build",
|
|
28
|
+
"semantic-release": "semantic-release"
|
|
24
29
|
},
|
|
25
30
|
"keywords": [
|
|
26
31
|
"homebridge",
|
|
@@ -32,26 +37,36 @@
|
|
|
32
37
|
"television",
|
|
33
38
|
"remote"
|
|
34
39
|
],
|
|
35
|
-
"funding": {
|
|
36
|
-
"type": "paypal",
|
|
37
|
-
"url": "https://paypal.me/00lukas"
|
|
38
|
-
},
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@smartthings/core-sdk": "^
|
|
41
|
+
"@smartthings/core-sdk": "^6.0.0",
|
|
41
42
|
"ping": "^0.4.4",
|
|
42
43
|
"wol": "^1.0.7"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@types/node": "^18.15.
|
|
46
|
+
"@types/node": "^18.15.11",
|
|
46
47
|
"@types/ping": "^0.4.1",
|
|
47
48
|
"@types/wol": "^1.0.1",
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
49
|
-
"@typescript-eslint/parser": "^5.
|
|
50
|
-
"eslint": "^8.
|
|
49
|
+
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
50
|
+
"@typescript-eslint/parser": "^5.57.0",
|
|
51
|
+
"eslint": "^8.37.0",
|
|
51
52
|
"homebridge": "^1.6.0",
|
|
52
|
-
"nodemon": "^2.0.
|
|
53
|
-
"rimraf": "^4.4.
|
|
53
|
+
"nodemon": "^2.0.22",
|
|
54
|
+
"rimraf": "^4.4.1",
|
|
54
55
|
"ts-node": "^10.9.1",
|
|
55
|
-
"typescript": "^5.0.
|
|
56
|
+
"typescript": "^5.0.3",
|
|
57
|
+
"semantic-release": "^21.0.0"
|
|
58
|
+
},
|
|
59
|
+
"release": {
|
|
60
|
+
"branches": [
|
|
61
|
+
"main",
|
|
62
|
+
{
|
|
63
|
+
"name": "beta",
|
|
64
|
+
"prerelease": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "alpha",
|
|
68
|
+
"prerelease": true
|
|
69
|
+
}
|
|
70
|
+
]
|
|
56
71
|
}
|
|
57
|
-
}
|
|
72
|
+
}
|