@camstack/addon-provider-bosch 0.1.41 → 0.1.42

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 CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.42] - 2026-11-06
11
+
12
+ ### Changed
13
+
14
+ - Translations that were silently ignored because the catalog nested its keys are now loaded.
15
+
10
16
  ## [0.1.41] - 2026-11-06
11
17
 
12
18
  ### Changed
@@ -1,4 +1,4 @@
1
- const require_bosch_instances = require("./bosch-instances-CNLo570R.js");
1
+ const require_bosch_instances = require("./bosch-instances-CINVxMF_.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/shared/oauth-callback.ts
4
4
  /** A code on its own: no scheme, no query, no separators. */
@@ -1,4 +1,4 @@
1
- import { Z as errMsg } from "./bosch-instances-C1zZd1KP.mjs";
1
+ import { Z as errMsg } from "./bosch-instances-BmvHlGiY.mjs";
2
2
  import { randomBytes } from "node:crypto";
3
3
  //#region src/shared/oauth-callback.ts
4
4
  /** A code on its own: no scheme, no query, no separators. */
@@ -5981,7 +5981,7 @@ var ZodIssueCode = {
5981
5981
  var ZodFirstPartyTypeKind;
5982
5982
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5983
5983
  //#endregion
5984
- //#region ../types/dist/sleep-CdKka2ri.mjs
5984
+ //#region ../types/dist/sleep-D7ZKm4nb.mjs
5985
5985
  /**
5986
5986
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5987
5987
  * window to float samples (D455).
@@ -6750,10 +6750,33 @@ function rowsDepsOver(api) {
6750
6750
  };
6751
6751
  }
6752
6752
  var PREFIX = "records/";
6753
+ /**
6754
+ * Cross-realm brand. An addon bundles its own copy of this module (D15) while
6755
+ * `ctx.records` is the HOST's door, so an error thrown by the host is an
6756
+ * instance of the host's classes, not of the addon's. The brand plus the code
6757
+ * make `instanceof` answer by identity of the failure, not of the copy.
6758
+ */
6759
+ var RECORDS_ERROR_BRAND = Symbol.for("camstack.records-error");
6760
+ function carriesBrand(value) {
6761
+ return typeof value === "object" && value !== null && Reflect.get(value, RECORDS_ERROR_BRAND) === true;
6762
+ }
6753
6763
  /** The base of every records failure. `detail` is the human part of the message. */
6754
6764
  var RecordsError = class extends Error {
6765
+ /** The code a subclass stands for; the base stands for every code. */
6766
+ static code = void 0;
6767
+ /**
6768
+ * `instanceof` across copies of this module: any branded error is a
6769
+ * `RecordsError`, and is an instance of a subclass only when its code is the
6770
+ * subclass's code. Same-copy answers are unchanged.
6771
+ */
6772
+ static [Symbol.hasInstance](value) {
6773
+ if (Function.prototype[Symbol.hasInstance].call(this, value)) return true;
6774
+ if (!carriesBrand(value)) return false;
6775
+ return this.code === void 0 || value.code === this.code;
6776
+ }
6755
6777
  code;
6756
6778
  detail;
6779
+ [RECORDS_ERROR_BRAND] = true;
6757
6780
  constructor(code, detail) {
6758
6781
  super(`${PREFIX}${code}: ${detail}`);
6759
6782
  this.name = "RecordsError";
@@ -6762,29 +6785,33 @@ var RecordsError = class extends Error {
6762
6785
  }
6763
6786
  };
6764
6787
  /** A write guarded by `ifRev` found another revision (or an existing row for `ifRev: 0`). */
6765
- var RevConflictError = class extends RecordsError {
6788
+ var RevConflictError = class RevConflictError extends RecordsError {
6789
+ static code = "rev-conflict";
6766
6790
  constructor(detail) {
6767
- super("rev-conflict", detail);
6791
+ super(RevConflictError.code, detail);
6768
6792
  this.name = "RevConflictError";
6769
6793
  }
6770
6794
  };
6771
6795
  /** The keychain could not store or serve a value: explicit, never an empty string. */
6772
- var RecordSecretUnavailableError = class extends RecordsError {
6796
+ var RecordSecretUnavailableError = class RecordSecretUnavailableError extends RecordsError {
6797
+ static code = "secret-unavailable";
6773
6798
  constructor(detail) {
6774
- super("secret-unavailable", detail);
6799
+ super(RecordSecretUnavailableError.code, detail);
6775
6800
  this.name = "RecordSecretUnavailableError";
6776
6801
  }
6777
6802
  };
6778
- var InvalidRecordError = class extends RecordsError {
6803
+ var InvalidRecordError = class InvalidRecordError extends RecordsError {
6804
+ static code = "invalid-record";
6779
6805
  constructor(detail) {
6780
- super("invalid-record", detail);
6806
+ super(InvalidRecordError.code, detail);
6781
6807
  this.name = "InvalidRecordError";
6782
6808
  }
6783
6809
  };
6784
6810
  /** A kind declaration the engine refuses (non-additive change, bad shape, wrong file). */
6785
- var DeclarationRefusedError = class extends RecordsError {
6811
+ var DeclarationRefusedError = class DeclarationRefusedError extends RecordsError {
6812
+ static code = "declaration-refused";
6786
6813
  constructor(detail) {
6787
- super("declaration-refused", detail);
6814
+ super(DeclarationRefusedError.code, detail);
6788
6815
  this.name = "DeclarationRefusedError";
6789
6816
  }
6790
6817
  };
@@ -5981,7 +5981,7 @@ var ZodIssueCode = {
5981
5981
  var ZodFirstPartyTypeKind;
5982
5982
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5983
5983
  //#endregion
5984
- //#region ../types/dist/sleep-CdKka2ri.mjs
5984
+ //#region ../types/dist/sleep-D7ZKm4nb.mjs
5985
5985
  /**
5986
5986
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5987
5987
  * window to float samples (D455).
@@ -6750,10 +6750,33 @@ function rowsDepsOver(api) {
6750
6750
  };
6751
6751
  }
6752
6752
  var PREFIX = "records/";
6753
+ /**
6754
+ * Cross-realm brand. An addon bundles its own copy of this module (D15) while
6755
+ * `ctx.records` is the HOST's door, so an error thrown by the host is an
6756
+ * instance of the host's classes, not of the addon's. The brand plus the code
6757
+ * make `instanceof` answer by identity of the failure, not of the copy.
6758
+ */
6759
+ var RECORDS_ERROR_BRAND = Symbol.for("camstack.records-error");
6760
+ function carriesBrand(value) {
6761
+ return typeof value === "object" && value !== null && Reflect.get(value, RECORDS_ERROR_BRAND) === true;
6762
+ }
6753
6763
  /** The base of every records failure. `detail` is the human part of the message. */
6754
6764
  var RecordsError = class extends Error {
6765
+ /** The code a subclass stands for; the base stands for every code. */
6766
+ static code = void 0;
6767
+ /**
6768
+ * `instanceof` across copies of this module: any branded error is a
6769
+ * `RecordsError`, and is an instance of a subclass only when its code is the
6770
+ * subclass's code. Same-copy answers are unchanged.
6771
+ */
6772
+ static [Symbol.hasInstance](value) {
6773
+ if (Function.prototype[Symbol.hasInstance].call(this, value)) return true;
6774
+ if (!carriesBrand(value)) return false;
6775
+ return this.code === void 0 || value.code === this.code;
6776
+ }
6755
6777
  code;
6756
6778
  detail;
6779
+ [RECORDS_ERROR_BRAND] = true;
6757
6780
  constructor(code, detail) {
6758
6781
  super(`${PREFIX}${code}: ${detail}`);
6759
6782
  this.name = "RecordsError";
@@ -6762,29 +6785,33 @@ var RecordsError = class extends Error {
6762
6785
  }
6763
6786
  };
6764
6787
  /** A write guarded by `ifRev` found another revision (or an existing row for `ifRev: 0`). */
6765
- var RevConflictError = class extends RecordsError {
6788
+ var RevConflictError = class RevConflictError extends RecordsError {
6789
+ static code = "rev-conflict";
6766
6790
  constructor(detail) {
6767
- super("rev-conflict", detail);
6791
+ super(RevConflictError.code, detail);
6768
6792
  this.name = "RevConflictError";
6769
6793
  }
6770
6794
  };
6771
6795
  /** The keychain could not store or serve a value: explicit, never an empty string. */
6772
- var RecordSecretUnavailableError = class extends RecordsError {
6796
+ var RecordSecretUnavailableError = class RecordSecretUnavailableError extends RecordsError {
6797
+ static code = "secret-unavailable";
6773
6798
  constructor(detail) {
6774
- super("secret-unavailable", detail);
6799
+ super(RecordSecretUnavailableError.code, detail);
6775
6800
  this.name = "RecordSecretUnavailableError";
6776
6801
  }
6777
6802
  };
6778
- var InvalidRecordError = class extends RecordsError {
6803
+ var InvalidRecordError = class InvalidRecordError extends RecordsError {
6804
+ static code = "invalid-record";
6779
6805
  constructor(detail) {
6780
- super("invalid-record", detail);
6806
+ super(InvalidRecordError.code, detail);
6781
6807
  this.name = "InvalidRecordError";
6782
6808
  }
6783
6809
  };
6784
6810
  /** A kind declaration the engine refuses (non-additive change, bad shape, wrong file). */
6785
- var DeclarationRefusedError = class extends RecordsError {
6811
+ var DeclarationRefusedError = class DeclarationRefusedError extends RecordsError {
6812
+ static code = "declaration-refused";
6786
6813
  constructor(detail) {
6787
- super("declaration-refused", detail);
6814
+ super(DeclarationRefusedError.code, detail);
6788
6815
  this.name = "DeclarationRefusedError";
6789
6816
  }
6790
6817
  };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_bosch_instances = require("../bosch-instances-CNLo570R.js");
3
- const require_account_integration_offline = require("../account-integration-offline-bVxt6lq-.js");
2
+ const require_bosch_instances = require("../bosch-instances-CINVxMF_.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-D2xBMGsR.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_tls = require("node:tls");
6
6
  let node_zlib = require("node:zlib");
@@ -1,5 +1,5 @@
1
- import { A as RecordIntegrationInstances, B as array, C as powerMeterCapability, E as runningStateCapability, F as entryBody, G as record, H as literal, I as isSecretMarker, J as unknown, K as string, L as isSecretMarkerLike, M as customAction, N as defineCustomActions, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, S as numericSensorCapability, T as runningFromDishwasherOperation, V as boolean, W as object, X as DeviceType, Y as DeviceRole, Z as errMsg, _ as enumSensorCapability, a as BaseDevice, b as ingestReading, c as RUNNING_STATE_COLD, f as binaryCapability, g as dishwasherCapability, h as deviceAdoptionCapability, i as testBoschInstance, j as createEvent, m as consumablesCapability, n as boschRowsPorts, o as BaseDeviceProvider, q as union, r as keepBodyKeys, s as DishwasherOperationStateSchema, t as boschRowsMigration, u as VendorLoginProxy, v as eventEmitterCapability, w as quantityFromUnit, x as integrationInstancesCapability, z as _enum } from "../bosch-instances-C1zZd1KP.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-B0GiHxM5.mjs";
1
+ import { A as RecordIntegrationInstances, B as array, C as powerMeterCapability, E as runningStateCapability, F as entryBody, G as record, H as literal, I as isSecretMarker, J as unknown, K as string, L as isSecretMarkerLike, M as customAction, N as defineCustomActions, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, S as numericSensorCapability, T as runningFromDishwasherOperation, V as boolean, W as object, X as DeviceType, Y as DeviceRole, Z as errMsg, _ as enumSensorCapability, a as BaseDevice, b as ingestReading, c as RUNNING_STATE_COLD, f as binaryCapability, g as dishwasherCapability, h as deviceAdoptionCapability, i as testBoschInstance, j as createEvent, m as consumablesCapability, n as boschRowsPorts, o as BaseDeviceProvider, q as union, r as keepBodyKeys, s as DishwasherOperationStateSchema, t as boschRowsMigration, u as VendorLoginProxy, v as eventEmitterCapability, w as quantityFromUnit, x as integrationInstancesCapability, z as _enum } from "../bosch-instances-BmvHlGiY.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-cC99EePp.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  import { connect } from "node:tls";
5
5
  import { inflateRawSync } from "node:zlib";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_bosch_instances = require("../bosch-instances-CNLo570R.js");
3
- const require_account_integration_offline = require("../account-integration-offline-bVxt6lq-.js");
2
+ const require_bosch_instances = require("../bosch-instances-CINVxMF_.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-D2xBMGsR.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  //#region src/homecom/config.ts
6
6
  var HOMECOM_BRANDS = ["bosch", "buderus"];
@@ -1,5 +1,5 @@
1
- import { A as RecordIntegrationInstances, B as array, F as entryBody, H as literal, K as string, M as customAction, N as defineCustomActions, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, U as number, V as boolean, W as object, X as DeviceType, Z as errMsg, a as BaseDevice, h as deviceAdoptionCapability, i as testBoschInstance, k as waterHeaterCapability, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, r as keepBodyKeys, t as boschRowsMigration, u as VendorLoginProxy, x as integrationInstancesCapability, z as _enum } from "../bosch-instances-C1zZd1KP.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-B0GiHxM5.mjs";
1
+ import { A as RecordIntegrationInstances, B as array, F as entryBody, H as literal, K as string, M as customAction, N as defineCustomActions, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, U as number, V as boolean, W as object, X as DeviceType, Z as errMsg, a as BaseDevice, h as deviceAdoptionCapability, i as testBoschInstance, k as waterHeaterCapability, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, r as keepBodyKeys, t as boschRowsMigration, u as VendorLoginProxy, x as integrationInstancesCapability, z as _enum } from "../bosch-instances-BmvHlGiY.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-cC99EePp.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  //#region src/homecom/config.ts
5
5
  var HOMECOM_BRANDS = ["bosch", "buderus"];
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_bosch_instances = require("../bosch-instances-CNLo570R.js");
5
+ const require_bosch_instances = require("../bosch-instances-CINVxMF_.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");
@@ -1,4 +1,4 @@
1
- import { A as RecordIntegrationInstances, B as array, D as switchCapability, F as entryBody, H as literal, K as string, M as customAction, N as defineCustomActions, O as temperatureSensorCapability, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, U as number, W as object, X as DeviceType, Z as errMsg, a as BaseDevice, d as batteryCapability, h as deviceAdoptionCapability, i as testBoschInstance, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, r as keepBodyKeys, t as boschRowsMigration, x as integrationInstancesCapability, y as heatingValveCapability, z as _enum } from "../bosch-instances-C1zZd1KP.mjs";
1
+ import { A as RecordIntegrationInstances, B as array, D as switchCapability, F as entryBody, H as literal, K as string, M as customAction, N as defineCustomActions, O as temperatureSensorCapability, P as defineEntryKind, Q as EventCategory, R as rowsDepsOver, U as number, W as object, X as DeviceType, Z as errMsg, a as BaseDevice, d as batteryCapability, h as deviceAdoptionCapability, i as testBoschInstance, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, r as keepBodyKeys, t as boschRowsMigration, x as integrationInstancesCapability, y as heatingValveCapability, z as _enum } from "../bosch-instances-BmvHlGiY.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
@@ -3,7 +3,7 @@
3
3
  "bosch-home-connect.name": "Bosch Home Connect",
4
4
  "bosch-homecom.name": "Bosch HomeCom",
5
5
  "homecom.s_account.title": "HomeCom account",
6
- "homecom.s_account.description": "Sign in with your SingleKey ID. Copy the code as described below, then paste it here.",
6
+ "homecom.s_account.description": "Sign in with your SingleKey ID. A new tab opens the sign-in page through this hub and finishes on its own.",
7
7
  "homecom.s_account.__homecom-sign-in.label": "HomeCom",
8
8
  "homecom.s_account.accountLabel.label": "Account",
9
9
  "homecom.s_account.gatewayCount.label": "Gateways",
@@ -15,7 +15,7 @@
15
15
  "homecom.s_account.brand.label": "Brand",
16
16
  "homecom.s_account.region.label": "Region",
17
17
  "home-connect.s_gateway.title": "Home Connect",
18
- "home-connect.s_gateway.description": "Sign in with your Home Connect account. Paste the address the browser stops on (hcauth://auth/prod?code=…).",
18
+ "home-connect.s_gateway.description": "Sign in with your Home Connect account. A new tab opens the sign-in page through this hub and finishes on its own.",
19
19
  "home-connect.s_gateway.__home-connect-sign-in.label": "Home Connect",
20
20
  "home-connect.s_gateway.accountLabel.label": "Account",
21
21
  "home-connect.s_gateway.appliances.label": "Appliances",
@@ -32,19 +32,6 @@
32
32
  "shc.s_connection.token.label": "Controller token",
33
33
  "shc.s_connection.sslCertificate.label": "Client certificate (PEM)",
34
34
  "shc.s_connection.sslKey.label": "Client private key (PEM)",
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.",
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
- }
35
+ "homecom.s_account.__homecom-code-help.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.",
36
+ "homecom.s_account.gatewayId.description": "Filled from the account. Type one only when you need to override the choice."
50
37
  }
package/i18n/it.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bosch-home-connect.name": "Bosch Home Connect",
4
4
  "bosch-homecom.name": "Bosch HomeCom",
5
5
  "homecom.s_account.title": "Account HomeCom",
6
- "homecom.s_account.description": "Accedi con il tuo SingleKey ID. Copia il codice come descritto sotto, poi incollalo qui.",
6
+ "homecom.s_account.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.",
7
7
  "homecom.s_account.__homecom-sign-in.label": "HomeCom",
8
8
  "homecom.s_account.accountLabel.label": "Account",
9
9
  "homecom.s_account.gatewayCount.label": "Gateway",
@@ -15,7 +15,7 @@
15
15
  "homecom.s_account.brand.label": "Marchio",
16
16
  "homecom.s_account.region.label": "Regione",
17
17
  "home-connect.s_gateway.title": "Home Connect",
18
- "home-connect.s_gateway.description": "Accedi con il tuo account Home Connect. Incolla l'indirizzo su cui si ferma il browser (hcauth://auth/prod?code=…).",
18
+ "home-connect.s_gateway.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.",
19
19
  "home-connect.s_gateway.__home-connect-sign-in.label": "Home Connect",
20
20
  "home-connect.s_gateway.accountLabel.label": "Account",
21
21
  "home-connect.s_gateway.appliances.label": "Elettrodomestici",
@@ -32,19 +32,6 @@
32
32
  "shc.s_connection.token.label": "Token del controller",
33
33
  "shc.s_connection.sslCertificate.label": "Certificato client (PEM)",
34
34
  "shc.s_connection.sslKey.label": "Chiave privata client (PEM)",
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.",
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
- }
35
+ "homecom.s_account.__homecom-code-help.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.",
36
+ "homecom.s_account.gatewayId.description": "Compilato dall'account. Scrivilo solo se devi sostituire la scelta."
50
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-bosch",
3
- "version": "0.1.41",
3
+ "version": "0.1.42",
4
4
  "description": "Bosch smart-home device-provider addons for CamStack — SHC, Home Connect, and HomeCom cloud integrations (scaffold)",
5
5
  "keywords": [
6
6
  "camstack",
@@ -132,7 +132,7 @@
132
132
  }
133
133
  ],
134
134
  "requires": {
135
- "server": ">=1.2.787"
135
+ "server": ">=1.2.788"
136
136
  }
137
137
  },
138
138
  "files": [