@eribbey/homebridge-ntfy 1.2.1 → 1.2.2
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 +1 -2
- package/dist/ntfy-client.d.ts +7 -0
- package/dist/ntfy-client.js +17 -6
- package/dist/ntfy-client.js.map +1 -1
- package/dist/platform.d.ts +2 -0
- package/dist/platform.js +21 -1
- package/dist/platform.js.map +1 -1
- package/dist/switch-accessory.js +13 -10
- package/dist/switch-accessory.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@eribbey/homebridge-ntfy)
|
|
4
4
|
[](https://www.npmjs.com/package/@eribbey/homebridge-ntfy)
|
|
5
|
-
[](https://git.ribbey.net/evan/homebridge-ntfy/actions)
|
|
6
5
|
|
|
7
6
|
> Maintained fork of [emilof/homebridge-ntfy](https://github.com/emilof/homebridge-ntfy), published as
|
|
8
7
|
> [`@eribbey/homebridge-ntfy`](https://www.npmjs.com/package/@eribbey/homebridge-ntfy). Adds support for custom
|
|
@@ -87,7 +86,7 @@ An alternative is to edit the Homebridge JSON config file manually by adding the
|
|
|
87
86
|
| └ `priority` | `string` \| `number` | No | Priority of the message, either a name (`max`, `high`, `default`, `low`, `min`) or ntfy's numeric equivalent (`5`-`1`). Default: **default**. [[More info](https://docs.ntfy.sh/publish/#message-priority)] |
|
|
88
87
|
| └ `tags` | `string` | No | Tag message with emoji or text tag. A comma-separated list of tag names. [[More info](https://docs.ntfy.sh/emojis)] |
|
|
89
88
|
| └ `json` | `string` | Yes/No | Required if `useJson` is set to `true`. For advanced users ONLY. The value must be a valid JSON string (escaped) and adhere to ntfy's JSON message format. [[More info](https://docs.ntfy.sh/subscribe/api/#json-message-format)] |
|
|
90
|
-
| └ `cooldownTime` | `number` | No | Minimum time before this message can be sent again. Default: no cooldown. |
|
|
89
|
+
| └ `cooldownTime` | `number` | No | Minimum time, in milliseconds, before this message can be sent again. Default: no cooldown. |
|
|
91
90
|
|
|
92
91
|
### Example config
|
|
93
92
|
|
package/dist/ntfy-client.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export declare class NtfyClient {
|
|
|
35
35
|
sendMessage(request: MessageRequest | string): Promise<boolean>;
|
|
36
36
|
private sendMessageRequest;
|
|
37
37
|
private sendMessageJson;
|
|
38
|
+
/**
|
|
39
|
+
* Redirects are never followed: on a 301/302 the POST is replayed as a GET
|
|
40
|
+
* without its body, which ntfy answers with 200, so the message would be
|
|
41
|
+
* dropped while reporting success. Failing loudly lets the user point the
|
|
42
|
+
* server URL at where it redirects to (typically http:// -> https://).
|
|
43
|
+
*/
|
|
44
|
+
private requestConfig;
|
|
38
45
|
private baseHeaders;
|
|
39
46
|
private buildAuthHeader;
|
|
40
47
|
private logRequestError;
|
package/dist/ntfy-client.js
CHANGED
|
@@ -61,7 +61,7 @@ export class NtfyClient {
|
|
|
61
61
|
headers.Tags = encodeHeaderValue(request.tags);
|
|
62
62
|
}
|
|
63
63
|
try {
|
|
64
|
-
const response = await axios.post(url, body,
|
|
64
|
+
const response = await axios.post(url, body, this.requestConfig(headers));
|
|
65
65
|
this.log.debug('Success! Result:', response.data);
|
|
66
66
|
return true;
|
|
67
67
|
}
|
|
@@ -76,10 +76,7 @@ export class NtfyClient {
|
|
|
76
76
|
// ntfy takes JSON publishes at its root path. The trailing slash keeps a
|
|
77
77
|
// base path like https://host/ntfy pointing at /ntfy/ - without it a
|
|
78
78
|
// reverse proxy may redirect, and redirected POSTs turn into GETs.
|
|
79
|
-
const response = await axios.post(`${this.serverAddress}/`, json,
|
|
80
|
-
headers: this.baseHeaders(),
|
|
81
|
-
timeout: this.timeoutMs,
|
|
82
|
-
});
|
|
79
|
+
const response = await axios.post(`${this.serverAddress}/`, json, this.requestConfig(this.baseHeaders()));
|
|
83
80
|
this.log.debug('Success! Result:', response.data);
|
|
84
81
|
return true;
|
|
85
82
|
}
|
|
@@ -88,6 +85,15 @@ export class NtfyClient {
|
|
|
88
85
|
return false;
|
|
89
86
|
}
|
|
90
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Redirects are never followed: on a 301/302 the POST is replayed as a GET
|
|
90
|
+
* without its body, which ntfy answers with 200, so the message would be
|
|
91
|
+
* dropped while reporting success. Failing loudly lets the user point the
|
|
92
|
+
* server URL at where it redirects to (typically http:// -> https://).
|
|
93
|
+
*/
|
|
94
|
+
requestConfig(headers) {
|
|
95
|
+
return { headers, timeout: this.timeoutMs, maxRedirects: 0 };
|
|
96
|
+
}
|
|
91
97
|
baseHeaders() {
|
|
92
98
|
return this.authHeader ? { Authorization: this.authHeader } : {};
|
|
93
99
|
}
|
|
@@ -103,8 +109,13 @@ export class NtfyClient {
|
|
|
103
109
|
}
|
|
104
110
|
logRequestError(error) {
|
|
105
111
|
if (axios.isAxiosError(error) && error.response) {
|
|
106
|
-
const { status, data } = error.response;
|
|
112
|
+
const { status, data, headers } = error.response;
|
|
107
113
|
const details = typeof data === 'string' ? data : JSON.stringify(data);
|
|
114
|
+
if (status >= 300 && status < 400) {
|
|
115
|
+
this.log.error(`ntfy request failed: ${status} - the server sent a redirect to ${headers?.location ?? 'another address'}. `
|
|
116
|
+
+ 'Following it would drop the message, so set the server URL to the address it redirects to.');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
108
119
|
if (status === 401 || status === 403) {
|
|
109
120
|
this.log.error(`ntfy request failed: ${status} - the server rejected the credentials. `
|
|
110
121
|
+ 'Check the authentication settings and that the token or user is allowed to publish to this topic.', details);
|
package/dist/ntfy-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ntfy-client.js","sourceRoot":"","sources":["../src/ntfy-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,OAAO,UAAU;IAIF;IACA;IAEA;IANF,UAAU,CAAU;IAErC,YACmB,GAAY,EACZ,aAAqB,EACtC,IAAe,EACE,YAAY,kBAAkB;QAH9B,QAAG,GAAH,GAAG,CAAS;QACZ,kBAAa,GAAb,aAAa,CAAQ;QAErB,cAAS,GAAT,SAAS,CAAqB;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QACtD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAEzE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAE7B,MAAM,OAAO,GAA2B,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ntfy-client.js","sourceRoot":"","sources":["../src/ntfy-client.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
package/dist/platform.js
CHANGED
|
@@ -4,6 +4,7 @@ import { NtfyClient } from './ntfy-client.js';
|
|
|
4
4
|
import { isValidJson, normalizeServerUrl } from './utils.js';
|
|
5
5
|
/** ntfy's own rule for topic names: https://docs.ntfy.sh/publish/#picking-a-topic */
|
|
6
6
|
const TOPIC_PATTERN = /^[-_A-Za-z0-9]{1,64}$/;
|
|
7
|
+
const TOPIC_RULE = '\'topic\' may only contain letters, numbers, \'-\' and \'_\' (max 64):';
|
|
7
8
|
export class NtfyPlatform {
|
|
8
9
|
log;
|
|
9
10
|
config;
|
|
@@ -109,13 +110,23 @@ export class NtfyPlatform {
|
|
|
109
110
|
else if (!isValidJson(message.json)) {
|
|
110
111
|
error = 'Invalid JSON message config - \'json\' is malformed:';
|
|
111
112
|
}
|
|
113
|
+
else {
|
|
114
|
+
// ntfy only accepts a JSON publish that is an object naming its topic
|
|
115
|
+
const topic = this.jsonTopic(message.json);
|
|
116
|
+
if (topic === undefined) {
|
|
117
|
+
error = 'Invalid JSON message config - \'json\' must be a JSON object with a \'topic\' string:';
|
|
118
|
+
}
|
|
119
|
+
else if (!TOPIC_PATTERN.test(topic)) {
|
|
120
|
+
error = `Invalid JSON message config - ${TOPIC_RULE}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
112
123
|
}
|
|
113
124
|
else {
|
|
114
125
|
if (!message.topic) {
|
|
115
126
|
error = 'Invalid message config - \'topic\' is missing:';
|
|
116
127
|
}
|
|
117
128
|
else if (!TOPIC_PATTERN.test(message.topic)) {
|
|
118
|
-
error =
|
|
129
|
+
error = `Invalid message config - ${TOPIC_RULE}`;
|
|
119
130
|
}
|
|
120
131
|
}
|
|
121
132
|
if (error) {
|
|
@@ -124,5 +135,14 @@ export class NtfyPlatform {
|
|
|
124
135
|
}
|
|
125
136
|
return true;
|
|
126
137
|
}
|
|
138
|
+
/** The topic of an already-parseable JSON payload, or undefined when it has none. */
|
|
139
|
+
jsonTopic(json) {
|
|
140
|
+
const payload = JSON.parse(json);
|
|
141
|
+
if (typeof payload !== 'object' || payload === null || Array.isArray(payload)) {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
const { topic } = payload;
|
|
145
|
+
return typeof topic === 'string' ? topic : undefined;
|
|
146
|
+
}
|
|
127
147
|
}
|
|
128
148
|
//# sourceMappingURL=platform.js.map
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7D,qFAAqF;AACrF,MAAM,aAAa,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/switch-accessory.js
CHANGED
|
@@ -37,22 +37,25 @@ export class SwitchAccessory {
|
|
|
37
37
|
this.log.debug('setOn:', value);
|
|
38
38
|
this.isOn = value;
|
|
39
39
|
this.onCharacteristic.updateValue(this.isOn);
|
|
40
|
+
// Only turning the switch on triggers anything; switching it off (by hand,
|
|
41
|
+
// or by an automation) is not a suppressed trigger even during cooldown
|
|
42
|
+
if (!this.isOn) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
40
45
|
if (this.inCooldown) {
|
|
41
46
|
this.log.info('Still in cooldown:', this.message.name);
|
|
42
47
|
await wait(250);
|
|
43
48
|
this.resetSwitch();
|
|
44
49
|
return;
|
|
45
50
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
.finally(() => this.resetSwitch());
|
|
55
|
-
}
|
|
51
|
+
void this.triggerCooldown(this.message.cooldownTime);
|
|
52
|
+
// Not awaited: HomeKit expects onSet to return promptly, and a slow or
|
|
53
|
+
// unreachable ntfy server would otherwise leave the switch unresponsive
|
|
54
|
+
// and trip Homebridge's slow-plugin warnings. The switch stays on while
|
|
55
|
+
// the message is in flight, then resets.
|
|
56
|
+
this.pendingSend = this.sendMessage()
|
|
57
|
+
.catch((error) => this.log.error('Failed to send message:', this.message.name, error))
|
|
58
|
+
.finally(() => this.resetSwitch());
|
|
56
59
|
}
|
|
57
60
|
async getOn() {
|
|
58
61
|
return this.isOn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-accessory.js","sourceRoot":"","sources":["../src/switch-accessory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,OAAO,eAAe;IAYP;IACA;IACA;IACA;IAdX,GAAG,CAAU;IACb,OAAO,CAAU;IACjB,gBAAgB,CAAiB;IAEjC,IAAI,GAAG,KAAK,CAAC;IACb,UAAU,GAAG,KAAK,CAAC;IAE3B,sEAAsE;IACtE,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/C,YACmB,QAAsB,EACtB,SAA4B,EAC5B,UAAsB,EACtB,OAAgB;QAHhB,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAmB;QAC5B,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAAS;QAEjC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAExB,4BAA4B;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1F,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW;iBACR,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,iBAAiB,CAAC;iBAC/E,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC;iBAC5E,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAExF,kDAAkD;QAClD,IAAI,CAAC,gBAAgB;aAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAA0B;QAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,GAAG,KAAgB,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"switch-accessory.js","sourceRoot":"","sources":["../src/switch-accessory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@eribbey/homebridge-ntfy",
|
|
3
3
|
"displayName": "Homebridge Ntfy",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.2.
|
|
5
|
+
"version": "1.2.2",
|
|
6
6
|
"description": "Homebridge plugin to send notifications through ntfy from HomeKit, with support for custom self-hosted servers and authentication",
|
|
7
7
|
"author": "Evan Ribbey",
|
|
8
8
|
"contributors": [
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
|
-
"homepage": "https://
|
|
15
|
+
"homepage": "https://github.com/evan-ribbey/homebridge-ntfy#readme",
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "git+https://
|
|
18
|
+
"url": "git+https://github.com/evan-ribbey/homebridge-ntfy.git"
|
|
19
19
|
},
|
|
20
20
|
"bugs": {
|
|
21
|
-
"url": "https://
|
|
21
|
+
"url": "https://github.com/evan-ribbey/homebridge-ntfy/issues"
|
|
22
22
|
},
|
|
23
23
|
"keywords": [
|
|
24
24
|
"homebridge",
|