@camstack/addon-provider-bosch 0.1.29 → 0.1.31
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/CHANGELOG.md +12 -0
- package/dist/{account-integration-offline-C-XbrgLs.mjs → account-integration-offline-Cfcp8s5x.mjs} +115 -2
- package/dist/{account-integration-offline-DMtMWixt.js → account-integration-offline-IvvrXQDg.js} +126 -1
- package/dist/{dist-DzSesBKb.mjs → dist-DxO4cucS.mjs} +1137 -83
- package/dist/{dist-CyLs51d2.js → dist-NdDwxHvT.js} +1154 -82
- package/dist/home-connect/addon.js +347 -259
- package/dist/home-connect/addon.mjs +347 -259
- package/dist/homecom/addon.js +92 -12
- package/dist/homecom/addon.mjs +92 -12
- package/dist/shc/addon.js +1 -1
- package/dist/shc/addon.mjs +1 -1
- package/i18n/en.json +14 -1
- package/i18n/it.json +14 -1
- package/package.json +1 -1
package/dist/homecom/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("../dist-
|
|
3
|
-
const require_account_integration_offline = require("../account-integration-offline-
|
|
2
|
+
const require_dist = require("../dist-NdDwxHvT.js");
|
|
3
|
+
const require_account_integration_offline = require("../account-integration-offline-IvvrXQDg.js");
|
|
4
4
|
let node_crypto = require("node:crypto");
|
|
5
5
|
//#region src/homecom/config.ts
|
|
6
6
|
var HOMECOM_BRANDS = ["bosch", "buderus"];
|
|
@@ -51,19 +51,13 @@ var HIDDEN_UNTIL_ADVANCED = {
|
|
|
51
51
|
field: "__hidden__",
|
|
52
52
|
equals: "yes"
|
|
53
53
|
};
|
|
54
|
-
var HOMECOM_CODE_HELP =
|
|
55
|
-
"Before you sign in, open the browser's developer tools, choose the Network tab, and turn on Preserve log.",
|
|
56
|
-
"Sign in with SingleKey. The page will say it has network problems. Ignore that: the browser tried to open the Bosch app and could not.",
|
|
57
|
-
"In the Network list, filter by code= and open the request whose address starts with com.bosch.tt.dashtt.pointt://app/login?code=",
|
|
58
|
-
"Copy that whole address, or only the code, and paste it in the box under the sign-in button.",
|
|
59
|
-
"On a phone the same redirect fails unless the Bosch app is installed. Use a desktop browser to copy the code."
|
|
60
|
-
].join("\n\n");
|
|
54
|
+
var HOMECOM_CODE_HELP = "If the page does not finish, copy the address it stops on (it starts with com.bosch.tt.dashtt.pointt://app/login?code=) or only the code, and paste it in the box under the sign-in button.";
|
|
61
55
|
function buildHomeComFormSchema() {
|
|
62
56
|
return { sections: [{
|
|
63
57
|
id: "account",
|
|
64
58
|
title: "HomeCom account",
|
|
65
59
|
titleKey: "provider-bosch:homecom.s_account.title",
|
|
66
|
-
description: "Sign in with your SingleKey ID.
|
|
60
|
+
description: "Sign in with your SingleKey ID. A new tab opens the sign-in page through this hub and finishes on its own.",
|
|
67
61
|
descriptionKey: "provider-bosch:homecom.s_account.description",
|
|
68
62
|
columns: 1,
|
|
69
63
|
fields: [
|
|
@@ -83,6 +77,7 @@ function buildHomeComFormSchema() {
|
|
|
83
77
|
providerLabel: "SingleKey ID",
|
|
84
78
|
beginAction: "beginSignIn",
|
|
85
79
|
completeAction: "finishSignIn",
|
|
80
|
+
claimAction: "claimSignIn",
|
|
86
81
|
signOutAction: "signOut",
|
|
87
82
|
accountKey: "accountLabel",
|
|
88
83
|
countKey: "gatewayCount",
|
|
@@ -225,6 +220,27 @@ var homeComActions = require_dist.defineCustomActions({
|
|
|
225
220
|
kind: "mutation",
|
|
226
221
|
auth: "admin"
|
|
227
222
|
}),
|
|
223
|
+
/**
|
|
224
|
+
* The form asks while the proxied login page is open: `pending` until the hub captured the
|
|
225
|
+
* app-scheme redirect and finished the exchange, then the same fields `finishSignIn` returns.
|
|
226
|
+
* Claimed once. A failed exchange answers with its operator-facing message as an error.
|
|
227
|
+
*/
|
|
228
|
+
claimSignIn: require_dist.customAction(require_dist.object({ attemptId: require_dist.string().min(1) }), require_dist.object({
|
|
229
|
+
pending: require_dist.boolean(),
|
|
230
|
+
token: require_dist.string().optional().meta({ secret: true }),
|
|
231
|
+
refresh: require_dist.string().optional().meta({ secret: true }),
|
|
232
|
+
username: require_dist.string().optional().meta({ secret: true }),
|
|
233
|
+
accountLabel: require_dist.string().optional(),
|
|
234
|
+
gatewayCount: require_dist.number().optional(),
|
|
235
|
+
summary: require_dist.string().optional(),
|
|
236
|
+
gatewayId: require_dist.string().optional(),
|
|
237
|
+
brand: HomeComBrandSchema.optional(),
|
|
238
|
+
region: HomeComRegionSchema.optional(),
|
|
239
|
+
choices: require_dist.array(gatewayChoice).optional()
|
|
240
|
+
}), {
|
|
241
|
+
kind: "mutation",
|
|
242
|
+
auth: "admin"
|
|
243
|
+
}),
|
|
228
244
|
signOut: require_dist.customAction(require_dist.object({}), require_dist.object({
|
|
229
245
|
signedOut: require_dist.literal(true),
|
|
230
246
|
summary: require_dist.string()
|
|
@@ -1215,6 +1231,37 @@ function finishedFromGateways(tokens, resolved, listFailure) {
|
|
|
1215
1231
|
}
|
|
1216
1232
|
var homeComSignInAttempts = require_account_integration_offline.createSignInAttemptStore();
|
|
1217
1233
|
//#endregion
|
|
1234
|
+
//#region src/homecom/homecom-sign-in-proxy.ts
|
|
1235
|
+
/** SingleKey ID serves the whole HomeCom login. (Not verified against the live pages: no vendor credentials.) */
|
|
1236
|
+
var HOMECOM_LOGIN_HOSTS = ["singlekey-id.com"];
|
|
1237
|
+
var HOMECOM_APP_SCHEME = HOMECOM_REDIRECT_URI.slice(0, HOMECOM_REDIRECT_URI.indexOf("://") + 3);
|
|
1238
|
+
var homeComSignInClaims = require_account_integration_offline.createSignInClaims();
|
|
1239
|
+
/** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
|
|
1240
|
+
function beginHomeComProxiedSignIn(deps) {
|
|
1241
|
+
const nowMs = deps.nowMs ?? (() => Date.now());
|
|
1242
|
+
const published = publishHomeComSignIn(homeComSignInAttempts, nowMs());
|
|
1243
|
+
if (deps.proxy === null) return published;
|
|
1244
|
+
const entry = require_account_integration_offline.openSignInProxy({
|
|
1245
|
+
proxy: deps.proxy,
|
|
1246
|
+
claims: homeComSignInClaims,
|
|
1247
|
+
addonId: deps.addonId,
|
|
1248
|
+
attemptId: published.attemptId,
|
|
1249
|
+
authorizeUrl: published.authorizeUrl,
|
|
1250
|
+
hosts: HOMECOM_LOGIN_HOSTS,
|
|
1251
|
+
appScheme: HOMECOM_APP_SCHEME,
|
|
1252
|
+
finish: (callback) => finishHomeComSignIn({
|
|
1253
|
+
attemptId: published.attemptId,
|
|
1254
|
+
callback,
|
|
1255
|
+
nowMs: nowMs()
|
|
1256
|
+
}, homeComSignInAttempts, deps.fetchFn !== void 0 ? { fetchFn: deps.fetchFn } : {}),
|
|
1257
|
+
nowMs
|
|
1258
|
+
});
|
|
1259
|
+
return {
|
|
1260
|
+
attemptId: published.attemptId,
|
|
1261
|
+
authorizeUrl: entry
|
|
1262
|
+
};
|
|
1263
|
+
}
|
|
1264
|
+
//#endregion
|
|
1218
1265
|
//#region src/homecom/homecom-token-persist.ts
|
|
1219
1266
|
function unreadable(value) {
|
|
1220
1267
|
return require_dist.isSecretMarker(value) || require_dist.isSecretMarkerLike(value);
|
|
@@ -2024,11 +2071,14 @@ var BoschHomeComProviderAddon = class extends require_dist.BaseDeviceProvider {
|
|
|
2024
2071
|
[require_dist.DeviceType.WaterHeater]: HomeComWaterHeaterDevice
|
|
2025
2072
|
};
|
|
2026
2073
|
clients = null;
|
|
2074
|
+
loginProxy = null;
|
|
2075
|
+
loginPlane = null;
|
|
2027
2076
|
constructor() {
|
|
2028
2077
|
super({});
|
|
2029
2078
|
}
|
|
2030
2079
|
async onInitialize() {
|
|
2031
2080
|
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
2081
|
+
await this.serveLoginProxy();
|
|
2032
2082
|
const persistDeps = {
|
|
2033
2083
|
getSettings: (id) => this.ctx.api.integrations.getSettings.query({ id }),
|
|
2034
2084
|
setSettings: (input) => this.ctx.api.integrations.setSettings.mutate(input),
|
|
@@ -2063,9 +2113,19 @@ var BoschHomeComProviderAddon = class extends require_dist.BaseDeviceProvider {
|
|
|
2063
2113
|
customActions: homeComActions,
|
|
2064
2114
|
actionHandlers: {
|
|
2065
2115
|
beginSignIn: async () => ({
|
|
2066
|
-
...
|
|
2067
|
-
|
|
2116
|
+
...beginHomeComProxiedSignIn({
|
|
2117
|
+
proxy: this.loginProxy,
|
|
2118
|
+
addonId: this.ctx.id
|
|
2119
|
+
}),
|
|
2120
|
+
summary: "Open the sign-in page and sign in."
|
|
2068
2121
|
}),
|
|
2122
|
+
claimSignIn: async (input) => {
|
|
2123
|
+
const claim = homeComSignInClaims.claim(input.attemptId, Date.now());
|
|
2124
|
+
return claim.state === "pending" ? { pending: true } : {
|
|
2125
|
+
pending: false,
|
|
2126
|
+
...claim.result
|
|
2127
|
+
};
|
|
2128
|
+
},
|
|
2069
2129
|
finishSignIn: async (input) => finishHomeComSignIn({
|
|
2070
2130
|
attemptId: input.attemptId,
|
|
2071
2131
|
callback: input.callback,
|
|
@@ -2078,7 +2138,27 @@ var BoschHomeComProviderAddon = class extends require_dist.BaseDeviceProvider {
|
|
|
2078
2138
|
}
|
|
2079
2139
|
};
|
|
2080
2140
|
}
|
|
2141
|
+
/** The hub's HTTPS face for the vendor's login pages (D955): admin session only. */
|
|
2142
|
+
async serveLoginProxy() {
|
|
2143
|
+
const proxy = new require_dist.VendorLoginProxy({
|
|
2144
|
+
addonId: this.ctx.id,
|
|
2145
|
+
logger: this.ctx.logger
|
|
2146
|
+
});
|
|
2147
|
+
try {
|
|
2148
|
+
this.loginPlane = await this.ctx.dataPlane?.serve({
|
|
2149
|
+
prefix: "vendor-login",
|
|
2150
|
+
access: "admin",
|
|
2151
|
+
handler: proxy.handler
|
|
2152
|
+
}) ?? null;
|
|
2153
|
+
if (this.loginPlane !== null) this.loginProxy = proxy;
|
|
2154
|
+
} catch (err) {
|
|
2155
|
+
this.ctx.logger.warn("HomeCom login proxy failed to serve — sign-in falls back to paste", { meta: { error: require_dist.errMsg(err) } });
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2081
2158
|
async onShutdown() {
|
|
2159
|
+
await this.loginPlane?.dispose().catch(() => void 0);
|
|
2160
|
+
this.loginPlane = null;
|
|
2161
|
+
this.loginProxy = null;
|
|
2082
2162
|
try {
|
|
2083
2163
|
await this.clients?.shutdown();
|
|
2084
2164
|
} catch (err) {
|
package/dist/homecom/addon.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
import { a as
|
|
1
|
+
import { A as customAction, D as DeviceType, F as array, I as boolean, L as literal, M as isSecretMarker, N as isSecretMarkerLike, O as errMsg, P as _enum, R as number, T as waterHeaterCapability, V as string, W as EventCategory, f as deviceAdoptionCapability, j as defineCustomActions, l as climateControlCapability, n as BaseDeviceProvider, o as VendorLoginProxy, t as BaseDevice, u as connectionTestCapability, z as object } from "../dist-DxO4cucS.mjs";
|
|
2
|
+
import { a as createSignInAttemptStore, i as openSignInProxy, n as cascadeRemoveDevicesForIntegration, o as loginFailureForAttempt, r as createSignInClaims, s as parseOAuthCallback, t as setIntegrationDevicesOnline } from "../account-integration-offline-Cfcp8s5x.mjs";
|
|
3
3
|
import { createHash, randomBytes } from "node:crypto";
|
|
4
4
|
//#region src/homecom/config.ts
|
|
5
5
|
var HOMECOM_BRANDS = ["bosch", "buderus"];
|
|
@@ -50,19 +50,13 @@ var HIDDEN_UNTIL_ADVANCED = {
|
|
|
50
50
|
field: "__hidden__",
|
|
51
51
|
equals: "yes"
|
|
52
52
|
};
|
|
53
|
-
var HOMECOM_CODE_HELP =
|
|
54
|
-
"Before you sign in, open the browser's developer tools, choose the Network tab, and turn on Preserve log.",
|
|
55
|
-
"Sign in with SingleKey. The page will say it has network problems. Ignore that: the browser tried to open the Bosch app and could not.",
|
|
56
|
-
"In the Network list, filter by code= and open the request whose address starts with com.bosch.tt.dashtt.pointt://app/login?code=",
|
|
57
|
-
"Copy that whole address, or only the code, and paste it in the box under the sign-in button.",
|
|
58
|
-
"On a phone the same redirect fails unless the Bosch app is installed. Use a desktop browser to copy the code."
|
|
59
|
-
].join("\n\n");
|
|
53
|
+
var HOMECOM_CODE_HELP = "If the page does not finish, copy the address it stops on (it starts with com.bosch.tt.dashtt.pointt://app/login?code=) or only the code, and paste it in the box under the sign-in button.";
|
|
60
54
|
function buildHomeComFormSchema() {
|
|
61
55
|
return { sections: [{
|
|
62
56
|
id: "account",
|
|
63
57
|
title: "HomeCom account",
|
|
64
58
|
titleKey: "provider-bosch:homecom.s_account.title",
|
|
65
|
-
description: "Sign in with your SingleKey ID.
|
|
59
|
+
description: "Sign in with your SingleKey ID. A new tab opens the sign-in page through this hub and finishes on its own.",
|
|
66
60
|
descriptionKey: "provider-bosch:homecom.s_account.description",
|
|
67
61
|
columns: 1,
|
|
68
62
|
fields: [
|
|
@@ -82,6 +76,7 @@ function buildHomeComFormSchema() {
|
|
|
82
76
|
providerLabel: "SingleKey ID",
|
|
83
77
|
beginAction: "beginSignIn",
|
|
84
78
|
completeAction: "finishSignIn",
|
|
79
|
+
claimAction: "claimSignIn",
|
|
85
80
|
signOutAction: "signOut",
|
|
86
81
|
accountKey: "accountLabel",
|
|
87
82
|
countKey: "gatewayCount",
|
|
@@ -224,6 +219,27 @@ var homeComActions = defineCustomActions({
|
|
|
224
219
|
kind: "mutation",
|
|
225
220
|
auth: "admin"
|
|
226
221
|
}),
|
|
222
|
+
/**
|
|
223
|
+
* The form asks while the proxied login page is open: `pending` until the hub captured the
|
|
224
|
+
* app-scheme redirect and finished the exchange, then the same fields `finishSignIn` returns.
|
|
225
|
+
* Claimed once. A failed exchange answers with its operator-facing message as an error.
|
|
226
|
+
*/
|
|
227
|
+
claimSignIn: customAction(object({ attemptId: string().min(1) }), object({
|
|
228
|
+
pending: boolean(),
|
|
229
|
+
token: string().optional().meta({ secret: true }),
|
|
230
|
+
refresh: string().optional().meta({ secret: true }),
|
|
231
|
+
username: string().optional().meta({ secret: true }),
|
|
232
|
+
accountLabel: string().optional(),
|
|
233
|
+
gatewayCount: number().optional(),
|
|
234
|
+
summary: string().optional(),
|
|
235
|
+
gatewayId: string().optional(),
|
|
236
|
+
brand: HomeComBrandSchema.optional(),
|
|
237
|
+
region: HomeComRegionSchema.optional(),
|
|
238
|
+
choices: array(gatewayChoice).optional()
|
|
239
|
+
}), {
|
|
240
|
+
kind: "mutation",
|
|
241
|
+
auth: "admin"
|
|
242
|
+
}),
|
|
227
243
|
signOut: customAction(object({}), object({
|
|
228
244
|
signedOut: literal(true),
|
|
229
245
|
summary: string()
|
|
@@ -1214,6 +1230,37 @@ function finishedFromGateways(tokens, resolved, listFailure) {
|
|
|
1214
1230
|
}
|
|
1215
1231
|
var homeComSignInAttempts = createSignInAttemptStore();
|
|
1216
1232
|
//#endregion
|
|
1233
|
+
//#region src/homecom/homecom-sign-in-proxy.ts
|
|
1234
|
+
/** SingleKey ID serves the whole HomeCom login. (Not verified against the live pages: no vendor credentials.) */
|
|
1235
|
+
var HOMECOM_LOGIN_HOSTS = ["singlekey-id.com"];
|
|
1236
|
+
var HOMECOM_APP_SCHEME = HOMECOM_REDIRECT_URI.slice(0, HOMECOM_REDIRECT_URI.indexOf("://") + 3);
|
|
1237
|
+
var homeComSignInClaims = createSignInClaims();
|
|
1238
|
+
/** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
|
|
1239
|
+
function beginHomeComProxiedSignIn(deps) {
|
|
1240
|
+
const nowMs = deps.nowMs ?? (() => Date.now());
|
|
1241
|
+
const published = publishHomeComSignIn(homeComSignInAttempts, nowMs());
|
|
1242
|
+
if (deps.proxy === null) return published;
|
|
1243
|
+
const entry = openSignInProxy({
|
|
1244
|
+
proxy: deps.proxy,
|
|
1245
|
+
claims: homeComSignInClaims,
|
|
1246
|
+
addonId: deps.addonId,
|
|
1247
|
+
attemptId: published.attemptId,
|
|
1248
|
+
authorizeUrl: published.authorizeUrl,
|
|
1249
|
+
hosts: HOMECOM_LOGIN_HOSTS,
|
|
1250
|
+
appScheme: HOMECOM_APP_SCHEME,
|
|
1251
|
+
finish: (callback) => finishHomeComSignIn({
|
|
1252
|
+
attemptId: published.attemptId,
|
|
1253
|
+
callback,
|
|
1254
|
+
nowMs: nowMs()
|
|
1255
|
+
}, homeComSignInAttempts, deps.fetchFn !== void 0 ? { fetchFn: deps.fetchFn } : {}),
|
|
1256
|
+
nowMs
|
|
1257
|
+
});
|
|
1258
|
+
return {
|
|
1259
|
+
attemptId: published.attemptId,
|
|
1260
|
+
authorizeUrl: entry
|
|
1261
|
+
};
|
|
1262
|
+
}
|
|
1263
|
+
//#endregion
|
|
1217
1264
|
//#region src/homecom/homecom-token-persist.ts
|
|
1218
1265
|
function unreadable(value) {
|
|
1219
1266
|
return isSecretMarker(value) || isSecretMarkerLike(value);
|
|
@@ -2023,11 +2070,14 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
|
|
|
2023
2070
|
[DeviceType.WaterHeater]: HomeComWaterHeaterDevice
|
|
2024
2071
|
};
|
|
2025
2072
|
clients = null;
|
|
2073
|
+
loginProxy = null;
|
|
2074
|
+
loginPlane = null;
|
|
2026
2075
|
constructor() {
|
|
2027
2076
|
super({});
|
|
2028
2077
|
}
|
|
2029
2078
|
async onInitialize() {
|
|
2030
2079
|
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
2080
|
+
await this.serveLoginProxy();
|
|
2031
2081
|
const persistDeps = {
|
|
2032
2082
|
getSettings: (id) => this.ctx.api.integrations.getSettings.query({ id }),
|
|
2033
2083
|
setSettings: (input) => this.ctx.api.integrations.setSettings.mutate(input),
|
|
@@ -2062,9 +2112,19 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
|
|
|
2062
2112
|
customActions: homeComActions,
|
|
2063
2113
|
actionHandlers: {
|
|
2064
2114
|
beginSignIn: async () => ({
|
|
2065
|
-
...
|
|
2066
|
-
|
|
2115
|
+
...beginHomeComProxiedSignIn({
|
|
2116
|
+
proxy: this.loginProxy,
|
|
2117
|
+
addonId: this.ctx.id
|
|
2118
|
+
}),
|
|
2119
|
+
summary: "Open the sign-in page and sign in."
|
|
2067
2120
|
}),
|
|
2121
|
+
claimSignIn: async (input) => {
|
|
2122
|
+
const claim = homeComSignInClaims.claim(input.attemptId, Date.now());
|
|
2123
|
+
return claim.state === "pending" ? { pending: true } : {
|
|
2124
|
+
pending: false,
|
|
2125
|
+
...claim.result
|
|
2126
|
+
};
|
|
2127
|
+
},
|
|
2068
2128
|
finishSignIn: async (input) => finishHomeComSignIn({
|
|
2069
2129
|
attemptId: input.attemptId,
|
|
2070
2130
|
callback: input.callback,
|
|
@@ -2077,7 +2137,27 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
|
|
|
2077
2137
|
}
|
|
2078
2138
|
};
|
|
2079
2139
|
}
|
|
2140
|
+
/** The hub's HTTPS face for the vendor's login pages (D955): admin session only. */
|
|
2141
|
+
async serveLoginProxy() {
|
|
2142
|
+
const proxy = new VendorLoginProxy({
|
|
2143
|
+
addonId: this.ctx.id,
|
|
2144
|
+
logger: this.ctx.logger
|
|
2145
|
+
});
|
|
2146
|
+
try {
|
|
2147
|
+
this.loginPlane = await this.ctx.dataPlane?.serve({
|
|
2148
|
+
prefix: "vendor-login",
|
|
2149
|
+
access: "admin",
|
|
2150
|
+
handler: proxy.handler
|
|
2151
|
+
}) ?? null;
|
|
2152
|
+
if (this.loginPlane !== null) this.loginProxy = proxy;
|
|
2153
|
+
} catch (err) {
|
|
2154
|
+
this.ctx.logger.warn("HomeCom login proxy failed to serve — sign-in falls back to paste", { meta: { error: errMsg(err) } });
|
|
2155
|
+
}
|
|
2156
|
+
}
|
|
2080
2157
|
async onShutdown() {
|
|
2158
|
+
await this.loginPlane?.dispose().catch(() => void 0);
|
|
2159
|
+
this.loginPlane = null;
|
|
2160
|
+
this.loginProxy = null;
|
|
2081
2161
|
try {
|
|
2082
2162
|
await this.clients?.shutdown();
|
|
2083
2163
|
} catch (err) {
|
package/dist/shc/addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
//#region \0rolldown/runtime.js
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
//#endregion
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-NdDwxHvT.js");
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
7
7
|
let node_https = require("node:https");
|
|
8
8
|
let node_child_process = require("node:child_process");
|
package/dist/shc/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as customAction, C as switchCapability, D as DeviceType, F as array, L as literal, O as errMsg, P as _enum, R as number, V as string, W as EventCategory, f as deviceAdoptionCapability, g as heatingValveCapability, j as defineCustomActions, l as climateControlCapability, n as BaseDeviceProvider, s as batteryCapability, t as BaseDevice, u as connectionTestCapability, w as temperatureSensorCapability, z as object } from "../dist-DxO4cucS.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { request } from "node:https";
|
package/i18n/en.json
CHANGED
|
@@ -33,5 +33,18 @@
|
|
|
33
33
|
"shc.s_connection.sslCertificate.label": "Client certificate (PEM)",
|
|
34
34
|
"shc.s_connection.sslKey.label": "Client private key (PEM)",
|
|
35
35
|
"homecom.s_account.__homecom-code-help.label": "Before you sign in, open the browser's developer tools, choose the Network tab, and turn on Preserve log.\n\nSign in with SingleKey. The page will say it has network problems. Ignore that: the browser tried to open the Bosch app and could not.\n\nIn the Network list, filter by code= and open the request whose address starts with com.bosch.tt.dashtt.pointt://app/login?code=\n\nCopy that whole address, or only the code, and paste it in the box under the sign-in button.\n\nOn a phone the same redirect fails unless the Bosch app is installed. Use a desktop browser to copy the code.",
|
|
36
|
-
"homecom.s_account.gatewayId.description": "Filled from the account. Type one only when you need to override the choice."
|
|
36
|
+
"homecom.s_account.gatewayId.description": "Filled from the account. Type one only when you need to override the choice.",
|
|
37
|
+
"homecom": {
|
|
38
|
+
"s_account": {
|
|
39
|
+
"description": "Sign in with your SingleKey ID. A new tab opens the sign-in page through this hub and finishes on its own.",
|
|
40
|
+
"__homecom-code-help": {
|
|
41
|
+
"label": "If the page does not finish, copy the address it stops on (it starts with com.bosch.tt.dashtt.pointt://app/login?code=) or only the code, and paste it in the box under the sign-in button."
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"home-connect": {
|
|
46
|
+
"s_gateway": {
|
|
47
|
+
"description": "Sign in with your Home Connect account. A new tab opens the sign-in page through this hub and finishes on its own."
|
|
48
|
+
}
|
|
49
|
+
}
|
|
37
50
|
}
|
package/i18n/it.json
CHANGED
|
@@ -33,5 +33,18 @@
|
|
|
33
33
|
"shc.s_connection.sslCertificate.label": "Certificato client (PEM)",
|
|
34
34
|
"shc.s_connection.sslKey.label": "Chiave privata client (PEM)",
|
|
35
35
|
"homecom.s_account.__homecom-code-help.label": "Prima di accedere, apri gli strumenti per sviluppatori del browser, scegli la scheda Rete (Network) e attiva \"Conserva registro\" (Preserve log).\n\nAccedi con SingleKey. La pagina dirà che ci sono problemi di rete. Ignoralo: il browser ha provato ad aprire l'app Bosch e non c'è riuscito.\n\nNell'elenco Rete filtra per code= e apri la richiesta il cui indirizzo inizia con com.bosch.tt.dashtt.pointt://app/login?code=\n\nCopia l'indirizzo intero, oppure solo il codice, e incollalo nella casella sotto il pulsante di accesso.\n\nSu un telefono lo stesso reindirizzamento fallisce se l'app Bosch non è installata. Per copiare il codice usa un browser da computer.",
|
|
36
|
-
"homecom.s_account.gatewayId.description": "Compilato dall'account. Scrivilo solo se devi sostituire la scelta."
|
|
36
|
+
"homecom.s_account.gatewayId.description": "Compilato dall'account. Scrivilo solo se devi sostituire la scelta.",
|
|
37
|
+
"homecom": {
|
|
38
|
+
"s_account": {
|
|
39
|
+
"description": "Accedi con il tuo SingleKey ID. Si apre una nuova scheda con la pagina di accesso tramite questo hub e si conclude da sola.",
|
|
40
|
+
"__homecom-code-help": {
|
|
41
|
+
"label": "Se la pagina non si conclude, copia l indirizzo su cui si ferma (inizia con com.bosch.tt.dashtt.pointt://app/login?code=) oppure solo il codice, e incollalo nel riquadro sotto il pulsante di accesso."
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"home-connect": {
|
|
46
|
+
"s_gateway": {
|
|
47
|
+
"description": "Accedi con il tuo account Home Connect. Si apre una nuova scheda con la pagina di accesso tramite questo hub e si conclude da sola."
|
|
48
|
+
}
|
|
49
|
+
}
|
|
37
50
|
}
|
package/package.json
CHANGED