@camstack/addon-provider-bosch 0.1.24 → 0.1.25

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-cVQVYhpv.js");
3
- const require_account_integration_offline = require("../account-integration-offline-Dcy3K68x.js");
2
+ const require_dist = require("../dist-Csx3t_1B.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-BPV9TTp1.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");
@@ -4241,7 +4241,6 @@ function childSliceFromValue(input) {
4241
4241
  cap: "power-meter",
4242
4242
  status: {
4243
4243
  kwhTotal: kwh,
4244
- unit: "kWh",
4245
4244
  lastFetchedAt: nowMs
4246
4245
  }
4247
4246
  };
@@ -4249,11 +4248,16 @@ function childSliceFromValue(input) {
4249
4248
  case "numeric-sensor": {
4250
4249
  if (typeof raw !== "number" || !Number.isFinite(raw)) return null;
4251
4250
  const unit = input.entity === void 0 ? binding.unit ?? null : resolveUnit(input.entity);
4251
+ const quantity = unit === null ? "none" : require_dist.quantityFromUnit(unit);
4252
+ const stored = quantity === void 0 || quantity === "device" ? null : require_dist.ingestReading({
4253
+ value: raw,
4254
+ rawUnit: unit ?? void 0,
4255
+ quantity
4256
+ });
4252
4257
  return {
4253
4258
  cap: "numeric-sensor",
4254
4259
  status: {
4255
- value: raw,
4256
- ...unit !== null ? { unit } : {},
4260
+ value: stored !== null && stored.ok ? stored.value : null,
4257
4261
  lastFetchedAt: nowMs
4258
4262
  }
4259
4263
  };
@@ -5007,6 +5011,14 @@ var HomeConnectSensorDevice = class extends require_dist.BaseDevice {
5007
5011
  raw: client.getFeatures(this.#haId).get(this.#binding.key),
5008
5012
  nowMs: Date.now()
5009
5013
  });
5014
+ if (slice?.cap === "numeric-sensor" && slice.status.value === null) this.ctx.logger.warn("numeric reading refused", {
5015
+ tags: { deviceId: this.id },
5016
+ meta: {
5017
+ quantity: "device",
5018
+ unit: "",
5019
+ reason: "unknown-unit"
5020
+ }
5021
+ });
5010
5022
  if (slice === null) {
5011
5023
  this.markOnline(false);
5012
5024
  return;
@@ -1,5 +1,5 @@
1
- import { A as _enum, C as DeviceType, D as defineCustomActions, E as customAction, F as record, I as string, L as union, M as literal, O as isSecretMarker, P as object, R as unknown, S as DeviceRole, T as createEvent, _ as runningFromDishwasherOperation, c as connectionTestCapability, d as dishwasherCapability, f as enumSensorCapability, g as powerMeterCapability, h as numericSensorCapability, i as RUNNING_STATE_COLD, j as array, k as isSecretMarkerLike, l as consumablesCapability, n as BaseDeviceProvider, o as binaryCapability, p as eventEmitterCapability, r as DishwasherOperationStateSchema, t as BaseDevice, u as deviceAdoptionCapability, v as runningStateCapability, w as errMsg, z as EventCategory } from "../dist-QNoZItyP.mjs";
2
- import { a as parseOAuthCallback, i as loginFailureForAttempt, n as cascadeRemoveDevicesForIntegration, r as createSignInAttemptStore, t as setIntegrationDevicesOnline } from "../account-integration-offline-BPXEESM5.mjs";
1
+ import { A as isSecretMarker, B as unknown, D as createEvent, E as errMsg, I as object, L as record, M as _enum, N as array, O as customAction, P as literal, R as string, T as DeviceType, V as EventCategory, _ as powerMeterCapability, b as runningStateCapability, c as connectionTestCapability, d as dishwasherCapability, f as enumSensorCapability, g as numericSensorCapability, h as ingestReading, i as RUNNING_STATE_COLD, j as isSecretMarkerLike, k as defineCustomActions, l as consumablesCapability, n as BaseDeviceProvider, o as binaryCapability, p as eventEmitterCapability, r as DishwasherOperationStateSchema, t as BaseDevice, u as deviceAdoptionCapability, v as quantityFromUnit, w as DeviceRole, y as runningFromDishwasherOperation, z as union } from "../dist-DPDLG8_g.mjs";
2
+ import { a as parseOAuthCallback, i as loginFailureForAttempt, n as cascadeRemoveDevicesForIntegration, r as createSignInAttemptStore, t as setIntegrationDevicesOnline } from "../account-integration-offline-BcUPRaQD.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  import { connect } from "node:tls";
5
5
  import { inflateRawSync } from "node:zlib";
@@ -4240,7 +4240,6 @@ function childSliceFromValue(input) {
4240
4240
  cap: "power-meter",
4241
4241
  status: {
4242
4242
  kwhTotal: kwh,
4243
- unit: "kWh",
4244
4243
  lastFetchedAt: nowMs
4245
4244
  }
4246
4245
  };
@@ -4248,11 +4247,16 @@ function childSliceFromValue(input) {
4248
4247
  case "numeric-sensor": {
4249
4248
  if (typeof raw !== "number" || !Number.isFinite(raw)) return null;
4250
4249
  const unit = input.entity === void 0 ? binding.unit ?? null : resolveUnit(input.entity);
4250
+ const quantity = unit === null ? "none" : quantityFromUnit(unit);
4251
+ const stored = quantity === void 0 || quantity === "device" ? null : ingestReading({
4252
+ value: raw,
4253
+ rawUnit: unit ?? void 0,
4254
+ quantity
4255
+ });
4251
4256
  return {
4252
4257
  cap: "numeric-sensor",
4253
4258
  status: {
4254
- value: raw,
4255
- ...unit !== null ? { unit } : {},
4259
+ value: stored !== null && stored.ok ? stored.value : null,
4256
4260
  lastFetchedAt: nowMs
4257
4261
  }
4258
4262
  };
@@ -5006,6 +5010,14 @@ var HomeConnectSensorDevice = class extends BaseDevice {
5006
5010
  raw: client.getFeatures(this.#haId).get(this.#binding.key),
5007
5011
  nowMs: Date.now()
5008
5012
  });
5013
+ if (slice?.cap === "numeric-sensor" && slice.status.value === null) this.ctx.logger.warn("numeric reading refused", {
5014
+ tags: { deviceId: this.id },
5015
+ meta: {
5016
+ quantity: "device",
5017
+ unit: "",
5018
+ reason: "unknown-unit"
5019
+ }
5020
+ });
5009
5021
  if (slice === null) {
5010
5022
  this.markOnline(false);
5011
5023
  return;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-cVQVYhpv.js");
3
- const require_account_integration_offline = require("../account-integration-offline-Dcy3K68x.js");
2
+ const require_dist = require("../dist-Csx3t_1B.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-BPV9TTp1.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 _enum, C as DeviceType, D as defineCustomActions, E as customAction, I as string, M as literal, N as number, O as isSecretMarker, P as object, c as connectionTestCapability, j as array, k as isSecretMarkerLike, n as BaseDeviceProvider, s as climateControlCapability, t as BaseDevice, u as deviceAdoptionCapability, w as errMsg, x as waterHeaterCapability, z as EventCategory } from "../dist-QNoZItyP.mjs";
2
- import { a as parseOAuthCallback, i as loginFailureForAttempt, n as cascadeRemoveDevicesForIntegration, r as createSignInAttemptStore, t as setIntegrationDevicesOnline } from "../account-integration-offline-BPXEESM5.mjs";
1
+ import { A as isSecretMarker, C as waterHeaterCapability, E as errMsg, F as number, I as object, M as _enum, N as array, O as customAction, P as literal, R as string, T as DeviceType, V as EventCategory, c as connectionTestCapability, j as isSecretMarkerLike, k as defineCustomActions, n as BaseDeviceProvider, s as climateControlCapability, t as BaseDevice, u as deviceAdoptionCapability } from "../dist-DPDLG8_g.mjs";
2
+ import { a as parseOAuthCallback, i as loginFailureForAttempt, n as cascadeRemoveDevicesForIntegration, r as createSignInAttemptStore, t as setIntegrationDevicesOnline } from "../account-integration-offline-BcUPRaQD.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_dist = require("../dist-cVQVYhpv.js");
5
+ const require_dist = require("../dist-Csx3t_1B.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 _enum, C as DeviceType, D as defineCustomActions, E as customAction, I as string, M as literal, N as number, P as object, a as batteryCapability, b as temperatureSensorCapability, c as connectionTestCapability, j as array, m as heatingValveCapability, n as BaseDeviceProvider, s as climateControlCapability, t as BaseDevice, u as deviceAdoptionCapability, w as errMsg, y as switchCapability, z as EventCategory } from "../dist-QNoZItyP.mjs";
1
+ import { E as errMsg, F as number, I as object, M as _enum, N as array, O as customAction, P as literal, R as string, S as temperatureSensorCapability, T as DeviceType, V as EventCategory, a as batteryCapability, c as connectionTestCapability, k as defineCustomActions, m as heatingValveCapability, n as BaseDeviceProvider, s as climateControlCapability, t as BaseDevice, u as deviceAdoptionCapability, x as switchCapability } from "../dist-DPDLG8_g.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { request } from "node:https";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-bosch",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
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",