@camstack/addon-provider-bosch 0.1.30 → 0.1.32

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.
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-BioIJ3NA.js");
3
- const require_account_integration_offline = require("../account-integration-offline-BMoYdiX2.js");
2
+ const require_dist = require("../dist-CStkg32S.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-B9C4OAHn.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");
@@ -1443,7 +1443,6 @@ function homeConnectFinishResult(account) {
1443
1443
  * proxy reaches nothing else. (Not verified against the live pages: no vendor credentials.)
1444
1444
  */
1445
1445
  var HOME_CONNECT_LOGIN_HOSTS = ["api.home-connect.com", "singlekey-id.com"];
1446
- var HOME_CONNECT_PROXY_PREFIX = "login";
1447
1446
  var HOME_CONNECT_APP_SCHEME = HOME_CONNECT_REDIRECT_URI.slice(0, HOME_CONNECT_REDIRECT_URI.indexOf("://") + 3);
1448
1447
  var homeConnectSignInClaims = require_account_integration_offline.createSignInClaims();
1449
1448
  /** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
@@ -3901,9 +3900,9 @@ var COLD_DISHWASHER_STATUS = {
3901
3900
  program: null,
3902
3901
  selectedProgram: null,
3903
3902
  availablePrograms: [],
3904
- remainingSeconds: null,
3905
- delayedStartSeconds: null,
3906
- progressPercent: null,
3903
+ remaining: null,
3904
+ delayedStart: null,
3905
+ progress: null,
3907
3906
  doorOpen: null,
3908
3907
  doorLocked: null,
3909
3908
  remoteStartAllowed: null,
@@ -3958,9 +3957,9 @@ function dishwasherStatusFromFeatures(input) {
3958
3957
  program: programKey(valueOf(input, activeEntity)),
3959
3958
  selectedProgram: programKey(valueOf(input, selectedEntity)),
3960
3959
  availablePrograms: [...availableProgramKeys(description)],
3961
- remainingSeconds: secondsFrom(remaining),
3962
- delayedStartSeconds: secondsFrom(delayed),
3963
- progressPercent: progress !== null && progress >= 0 && progress <= 100 ? progress : null,
3960
+ remaining: secondsFrom(remaining),
3961
+ delayedStart: secondsFrom(delayed),
3962
+ progress: progress !== null && progress >= 0 && progress <= 100 ? progress : null,
3964
3963
  doorOpen: doorRaw === null ? null : doorRaw === "Open",
3965
3964
  doorLocked: doorRaw === null ? null : doorRaw === "Locked",
3966
3965
  remoteStartAllowed: boolOf(valueOf(input, findEntity(description, ["status"], ["RemoteControlStartAllowed"]))),
@@ -4316,7 +4315,7 @@ function childSliceFromValue(input) {
4316
4315
  return kwh === null ? null : {
4317
4316
  cap: "power-meter",
4318
4317
  status: {
4319
- kwhTotal: kwh,
4318
+ energy: kwh,
4320
4319
  lastFetchedAt: nowMs
4321
4320
  }
4322
4321
  };
@@ -4878,7 +4877,7 @@ var HomeConnectDishwasherDevice = class extends require_dist.BaseDevice {
4878
4877
  publishRunningSlice(slice) {
4879
4878
  const fetchedAt = Date.now();
4880
4879
  const previous = this.runtimeState.getCapState(RUNNING_CAP);
4881
- const next = require_dist.runningFromDishwasherOperation(slice.operationState, slice.program, previous, fetchedAt, slice.remainingSeconds);
4880
+ const next = require_dist.runningFromDishwasherOperation(slice.operationState, slice.program, previous, fetchedAt, slice.remaining);
4882
4881
  this.runtimeState.setCapState(RUNNING_CAP, next);
4883
4882
  }
4884
4883
  };
@@ -5385,12 +5384,11 @@ var BoschHomeConnectProviderAddon = class extends require_dist.BaseDeviceProvide
5385
5384
  async serveLoginProxy() {
5386
5385
  const proxy = new require_dist.VendorLoginProxy({
5387
5386
  addonId: this.ctx.id,
5388
- prefix: HOME_CONNECT_PROXY_PREFIX,
5389
5387
  logger: this.ctx.logger
5390
5388
  });
5391
5389
  try {
5392
5390
  this.loginPlane = await this.ctx.dataPlane?.serve({
5393
- prefix: "login",
5391
+ prefix: "vendor-login",
5394
5392
  access: "admin",
5395
5393
  handler: proxy.handler
5396
5394
  }) ?? null;
@@ -1,5 +1,5 @@
1
- import { A as defineCustomActions, B as string, D as errMsg, E as DeviceType, F as boolean, H as unknown, I as literal, M as isSecretMarkerLike, N as _enum, O as createEvent, P as array, R as object, T as DeviceRole, U as EventCategory, V as union, _ as numericSensorCapability, a as VendorLoginProxy, b as runningFromDishwasherOperation, d as deviceAdoptionCapability, f as dishwasherCapability, g as ingestReading, i as RUNNING_STATE_COLD, j as isSecretMarker, k as customAction, l as connectionTestCapability, m as eventEmitterCapability, n as BaseDeviceProvider, p as enumSensorCapability, r as DishwasherOperationStateSchema, s as binaryCapability, t as BaseDevice, u as consumablesCapability, v as powerMeterCapability, x as runningStateCapability, y as quantityFromUnit, z as record } from "../dist-DBUnIovD.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-pv6cqOKu.mjs";
1
+ import { A as customAction, B as record, D as DeviceType, E as DeviceRole, F as array, H as union, I as boolean, L as literal, M as isSecretMarker, N as isSecretMarkerLike, O as errMsg, P as _enum, S as runningStateCapability, U as unknown, V as string, W as EventCategory, _ as ingestReading, b as quantityFromUnit, c as binaryCapability, d as consumablesCapability, f as deviceAdoptionCapability, h as eventEmitterCapability, i as RUNNING_STATE_COLD, j as defineCustomActions, k as createEvent, m as enumSensorCapability, n as BaseDeviceProvider, o as VendorLoginProxy, p as dishwasherCapability, r as DishwasherOperationStateSchema, t as BaseDevice, u as connectionTestCapability, v as numericSensorCapability, x as runningFromDishwasherOperation, y as powerMeterCapability, z as object } from "../dist-n4Mk3Uu1.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-CSmJOed1.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  import { connect } from "node:tls";
5
5
  import { inflateRawSync } from "node:zlib";
@@ -1442,7 +1442,6 @@ function homeConnectFinishResult(account) {
1442
1442
  * proxy reaches nothing else. (Not verified against the live pages: no vendor credentials.)
1443
1443
  */
1444
1444
  var HOME_CONNECT_LOGIN_HOSTS = ["api.home-connect.com", "singlekey-id.com"];
1445
- var HOME_CONNECT_PROXY_PREFIX = "login";
1446
1445
  var HOME_CONNECT_APP_SCHEME = HOME_CONNECT_REDIRECT_URI.slice(0, HOME_CONNECT_REDIRECT_URI.indexOf("://") + 3);
1447
1446
  var homeConnectSignInClaims = createSignInClaims();
1448
1447
  /** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
@@ -3900,9 +3899,9 @@ var COLD_DISHWASHER_STATUS = {
3900
3899
  program: null,
3901
3900
  selectedProgram: null,
3902
3901
  availablePrograms: [],
3903
- remainingSeconds: null,
3904
- delayedStartSeconds: null,
3905
- progressPercent: null,
3902
+ remaining: null,
3903
+ delayedStart: null,
3904
+ progress: null,
3906
3905
  doorOpen: null,
3907
3906
  doorLocked: null,
3908
3907
  remoteStartAllowed: null,
@@ -3957,9 +3956,9 @@ function dishwasherStatusFromFeatures(input) {
3957
3956
  program: programKey(valueOf(input, activeEntity)),
3958
3957
  selectedProgram: programKey(valueOf(input, selectedEntity)),
3959
3958
  availablePrograms: [...availableProgramKeys(description)],
3960
- remainingSeconds: secondsFrom(remaining),
3961
- delayedStartSeconds: secondsFrom(delayed),
3962
- progressPercent: progress !== null && progress >= 0 && progress <= 100 ? progress : null,
3959
+ remaining: secondsFrom(remaining),
3960
+ delayedStart: secondsFrom(delayed),
3961
+ progress: progress !== null && progress >= 0 && progress <= 100 ? progress : null,
3963
3962
  doorOpen: doorRaw === null ? null : doorRaw === "Open",
3964
3963
  doorLocked: doorRaw === null ? null : doorRaw === "Locked",
3965
3964
  remoteStartAllowed: boolOf(valueOf(input, findEntity(description, ["status"], ["RemoteControlStartAllowed"]))),
@@ -4315,7 +4314,7 @@ function childSliceFromValue(input) {
4315
4314
  return kwh === null ? null : {
4316
4315
  cap: "power-meter",
4317
4316
  status: {
4318
- kwhTotal: kwh,
4317
+ energy: kwh,
4319
4318
  lastFetchedAt: nowMs
4320
4319
  }
4321
4320
  };
@@ -4877,7 +4876,7 @@ var HomeConnectDishwasherDevice = class extends BaseDevice {
4877
4876
  publishRunningSlice(slice) {
4878
4877
  const fetchedAt = Date.now();
4879
4878
  const previous = this.runtimeState.getCapState(RUNNING_CAP);
4880
- const next = runningFromDishwasherOperation(slice.operationState, slice.program, previous, fetchedAt, slice.remainingSeconds);
4879
+ const next = runningFromDishwasherOperation(slice.operationState, slice.program, previous, fetchedAt, slice.remaining);
4881
4880
  this.runtimeState.setCapState(RUNNING_CAP, next);
4882
4881
  }
4883
4882
  };
@@ -5384,12 +5383,11 @@ var BoschHomeConnectProviderAddon = class extends BaseDeviceProvider {
5384
5383
  async serveLoginProxy() {
5385
5384
  const proxy = new VendorLoginProxy({
5386
5385
  addonId: this.ctx.id,
5387
- prefix: HOME_CONNECT_PROXY_PREFIX,
5388
5386
  logger: this.ctx.logger
5389
5387
  });
5390
5388
  try {
5391
5389
  this.loginPlane = await this.ctx.dataPlane?.serve({
5392
- prefix: "login",
5390
+ prefix: "vendor-login",
5393
5391
  access: "admin",
5394
5392
  handler: proxy.handler
5395
5393
  }) ?? null;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-BioIJ3NA.js");
3
- const require_account_integration_offline = require("../account-integration-offline-BMoYdiX2.js");
2
+ const require_dist = require("../dist-CStkg32S.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-B9C4OAHn.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  //#region src/homecom/config.ts
6
6
  var HOMECOM_BRANDS = ["bosch", "buderus"];
@@ -1234,7 +1234,6 @@ var homeComSignInAttempts = require_account_integration_offline.createSignInAtte
1234
1234
  //#region src/homecom/homecom-sign-in-proxy.ts
1235
1235
  /** SingleKey ID serves the whole HomeCom login. (Not verified against the live pages: no vendor credentials.) */
1236
1236
  var HOMECOM_LOGIN_HOSTS = ["singlekey-id.com"];
1237
- var HOMECOM_PROXY_PREFIX = "login";
1238
1237
  var HOMECOM_APP_SCHEME = HOMECOM_REDIRECT_URI.slice(0, HOMECOM_REDIRECT_URI.indexOf("://") + 3);
1239
1238
  var homeComSignInClaims = require_account_integration_offline.createSignInClaims();
1240
1239
  /** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
@@ -2143,12 +2142,11 @@ var BoschHomeComProviderAddon = class extends require_dist.BaseDeviceProvider {
2143
2142
  async serveLoginProxy() {
2144
2143
  const proxy = new require_dist.VendorLoginProxy({
2145
2144
  addonId: this.ctx.id,
2146
- prefix: HOMECOM_PROXY_PREFIX,
2147
2145
  logger: this.ctx.logger
2148
2146
  });
2149
2147
  try {
2150
2148
  this.loginPlane = await this.ctx.dataPlane?.serve({
2151
- prefix: "login",
2149
+ prefix: "vendor-login",
2152
2150
  access: "admin",
2153
2151
  handler: proxy.handler
2154
2152
  }) ?? null;
@@ -1,5 +1,5 @@
1
- import { A as defineCustomActions, B as string, D as errMsg, E as DeviceType, F as boolean, I as literal, L as number, M as isSecretMarkerLike, N as _enum, P as array, R as object, U as EventCategory, a as VendorLoginProxy, c as climateControlCapability, d as deviceAdoptionCapability, j as isSecretMarker, k as customAction, l as connectionTestCapability, n as BaseDeviceProvider, t as BaseDevice, w as waterHeaterCapability } from "../dist-DBUnIovD.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-pv6cqOKu.mjs";
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-n4Mk3Uu1.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-CSmJOed1.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  //#region src/homecom/config.ts
5
5
  var HOMECOM_BRANDS = ["bosch", "buderus"];
@@ -1233,7 +1233,6 @@ var homeComSignInAttempts = createSignInAttemptStore();
1233
1233
  //#region src/homecom/homecom-sign-in-proxy.ts
1234
1234
  /** SingleKey ID serves the whole HomeCom login. (Not verified against the live pages: no vendor credentials.) */
1235
1235
  var HOMECOM_LOGIN_HOSTS = ["singlekey-id.com"];
1236
- var HOMECOM_PROXY_PREFIX = "login";
1237
1236
  var HOMECOM_APP_SCHEME = HOMECOM_REDIRECT_URI.slice(0, HOMECOM_REDIRECT_URI.indexOf("://") + 3);
1238
1237
  var homeComSignInClaims = createSignInClaims();
1239
1238
  /** Start an attempt whose `authorizeUrl` is the hub-relative proxied login page. */
@@ -2142,12 +2141,11 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
2142
2141
  async serveLoginProxy() {
2143
2142
  const proxy = new VendorLoginProxy({
2144
2143
  addonId: this.ctx.id,
2145
- prefix: HOMECOM_PROXY_PREFIX,
2146
2144
  logger: this.ctx.logger
2147
2145
  });
2148
2146
  try {
2149
2147
  this.loginPlane = await this.ctx.dataPlane?.serve({
2150
- prefix: "login",
2148
+ prefix: "vendor-login",
2151
2149
  access: "admin",
2152
2150
  handler: proxy.handler
2153
2151
  }) ?? null;
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-BioIJ3NA.js");
5
+ const require_dist = require("../dist-CStkg32S.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");
@@ -1096,11 +1096,11 @@ var TEMP_CAP = "temperature-sensor";
1096
1096
  var BATTERY_CAP = "battery";
1097
1097
  var VALVE_CAP = "heating-valve";
1098
1098
  var TEMP_COLD = {
1099
- celsius: 0,
1099
+ temperature: 0,
1100
1100
  lastFetchedAt: 0
1101
1101
  };
1102
1102
  var BATTERY_COLD = {
1103
- percentage: null,
1103
+ level: null,
1104
1104
  charging: "unknown",
1105
1105
  sleeping: false,
1106
1106
  lastUpdated: 0
@@ -1137,12 +1137,12 @@ var ShcTrvDevice = class extends ShcBaseDevice {
1137
1137
  if (typeof temperature === "number" && Number.isFinite(temperature)) {
1138
1138
  const prev = this.runtimeState.getCapState(TEMP_CAP);
1139
1139
  this.runtimeState.setCapState(TEMP_CAP, {
1140
- celsius: temperature,
1140
+ temperature,
1141
1141
  lastFetchedAt: now
1142
1142
  });
1143
- if (prev !== void 0 && prev.celsius !== temperature && prev.lastFetchedAt !== 0) this.deviceLog("info", "SHC temperature updated from controller", {
1143
+ if (prev !== void 0 && prev.temperature !== temperature && prev.lastFetchedAt !== 0) this.deviceLog("info", "SHC temperature updated from controller", {
1144
1144
  celsius: temperature,
1145
- previous: prev.celsius
1145
+ previous: prev.temperature
1146
1146
  });
1147
1147
  }
1148
1148
  } catch {}
@@ -1162,7 +1162,7 @@ var ShcTrvDevice = class extends ShcBaseDevice {
1162
1162
  try {
1163
1163
  const batt = await client.getServiceState(this.shcDeviceId, "BatteryLevel");
1164
1164
  this.runtimeState.setCapState(BATTERY_CAP, {
1165
- percentage: batt.batteryLevel ?? null,
1165
+ level: batt.batteryLevel ?? null,
1166
1166
  charging: "unknown",
1167
1167
  sleeping: false,
1168
1168
  lastUpdated: now
@@ -1,4 +1,4 @@
1
- import { A as defineCustomActions, B as string, C as temperatureSensorCapability, D as errMsg, E as DeviceType, I as literal, L as number, N as _enum, P as array, R as object, S as switchCapability, U as EventCategory, c as climateControlCapability, d as deviceAdoptionCapability, h as heatingValveCapability, k as customAction, l as connectionTestCapability, n as BaseDeviceProvider, o as batteryCapability, t as BaseDevice } from "../dist-DBUnIovD.mjs";
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-n4Mk3Uu1.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { request } from "node:https";
@@ -1097,11 +1097,11 @@ var TEMP_CAP = "temperature-sensor";
1097
1097
  var BATTERY_CAP = "battery";
1098
1098
  var VALVE_CAP = "heating-valve";
1099
1099
  var TEMP_COLD = {
1100
- celsius: 0,
1100
+ temperature: 0,
1101
1101
  lastFetchedAt: 0
1102
1102
  };
1103
1103
  var BATTERY_COLD = {
1104
- percentage: null,
1104
+ level: null,
1105
1105
  charging: "unknown",
1106
1106
  sleeping: false,
1107
1107
  lastUpdated: 0
@@ -1138,12 +1138,12 @@ var ShcTrvDevice = class extends ShcBaseDevice {
1138
1138
  if (typeof temperature === "number" && Number.isFinite(temperature)) {
1139
1139
  const prev = this.runtimeState.getCapState(TEMP_CAP);
1140
1140
  this.runtimeState.setCapState(TEMP_CAP, {
1141
- celsius: temperature,
1141
+ temperature,
1142
1142
  lastFetchedAt: now
1143
1143
  });
1144
- if (prev !== void 0 && prev.celsius !== temperature && prev.lastFetchedAt !== 0) this.deviceLog("info", "SHC temperature updated from controller", {
1144
+ if (prev !== void 0 && prev.temperature !== temperature && prev.lastFetchedAt !== 0) this.deviceLog("info", "SHC temperature updated from controller", {
1145
1145
  celsius: temperature,
1146
- previous: prev.celsius
1146
+ previous: prev.temperature
1147
1147
  });
1148
1148
  }
1149
1149
  } catch {}
@@ -1163,7 +1163,7 @@ var ShcTrvDevice = class extends ShcBaseDevice {
1163
1163
  try {
1164
1164
  const batt = await client.getServiceState(this.shcDeviceId, "BatteryLevel");
1165
1165
  this.runtimeState.setCapState(BATTERY_CAP, {
1166
- percentage: batt.batteryLevel ?? null,
1166
+ level: batt.batteryLevel ?? null,
1167
1167
  charging: "unknown",
1168
1168
  sleeping: false,
1169
1169
  lastUpdated: now
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-bosch",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
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",