@camstack/addon-provider-homeassistant 1.2.655 → 1.2.657

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,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.657] - 2026-11-04
11
+
12
+ ### Changed
13
+
14
+ - Home Assistant broker migrations no longer read as 'skipped-newer' (and no false 'Database is newer' alert) after the addon boots
15
+
16
+ ## [1.2.656] - 2026-11-04
17
+
18
+ ### Changed
19
+
20
+ - Home Assistant export: each instance's export switch, image-link address and exported devices now live in one record per instance; a migration moves the old settings and integration values, and the export no longer reads them
21
+
10
22
  ## [1.2.655] - 2026-11-04
11
23
 
12
24
  ### Changed
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_ha_instance_settings = require("./ha-instance-settings-5Ms7yRju.js");
2
+ const require_ha_instance_settings = require("./ha-instance-settings-DJXP_6Rg.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_zlib = require("node:zlib");
5
5
  //#region src/ha-admin-link.ts
@@ -7868,6 +7868,7 @@ function statusOf(info) {
7868
7868
  function buildHaInstances(records, deps) {
7869
7869
  return new require_ha_instance_settings.RecordIntegrationInstances(records, haBrokersEntryKind, {
7870
7870
  description: {
7871
+ role: "both",
7871
7872
  instanceMode: "multiple",
7872
7873
  kind: "connection",
7873
7874
  canTest: true,
@@ -8965,7 +8966,7 @@ var HaProviderAddon = class HaProviderAddon extends require_ha_instance_settings
8965
8966
  onChanged: (id) => this.syncBrokerRuntime(id),
8966
8967
  probe: (settings) => this.requireRegistry().testSettings(settings)
8967
8968
  });
8968
- await this.runMigrations(require_ha_instance_settings.defineAddonMigrations(ADDON_MIGRATIONS.filter((m) => m.meta.id === FLATTEN_BROKER_RECORDS_ID), this.flattenPorts(records)));
8969
+ await this.runMigrations(require_ha_instance_settings.defineAddonMigrations(ADDON_MIGRATIONS, this.flattenPorts(records)), { only: [FLATTEN_BROKER_RECORDS_ID] });
8969
8970
  this.activeBrokers = await this.loadPersistedBrokers();
8970
8971
  this.registry = new HaBrokerRegistry(this.ctx.logger, this.ctx.eventBus);
8971
8972
  this.registry.setOnBrokerConnected((brokerId) => {
@@ -8982,7 +8983,7 @@ var HaProviderAddon = class HaProviderAddon extends require_ha_instance_settings
8982
8983
  this.reconcileAllConnectedBrokers();
8983
8984
  }, HaProviderAddon.RESYNC_INTERVAL_MS);
8984
8985
  this.ctx.logger.info("ha provider initialised", { meta: { brokerCount: this.activeBrokers.length } });
8985
- await this.runMigrations(require_ha_instance_settings.defineAddonMigrations(ADDON_MIGRATIONS.filter((m) => m.meta.id !== FLATTEN_BROKER_RECORDS_ID), this.flattenPorts(records)));
8986
+ await this.runMigrations(require_ha_instance_settings.defineAddonMigrations(ADDON_MIGRATIONS, this.flattenPorts(records)), { only: ADDON_MIGRATIONS.map((m) => m.meta.id).filter((id) => id !== FLATTEN_BROKER_RECORDS_ID) });
8986
8987
  await this.reconcileIntegrationsToBrokers();
8987
8988
  this.subscribeIntegrationLifecycle();
8988
8989
  return [
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as enumSensorCapability, $t as baseUnitOf, A as automationControlCapability, B as calendarSourceCapability, Bt as tamperCapability, C as RecordIntegrationInstances, Cn as EventCategory, Ct as prepareNotification, D as airQualitySensorCapability, Dt as publicEndpointReaderFrom, E as addonRoutesCapability, F as brightnessCapability, Ft as scriptRunnerCapability, Gt as vacuumControlCapability, H as climateControlCapability, Ht as tryConvertDelta, I as brokerCapability, J as controlCapability, Jt as waterHeaterCapability, Kt as valveCapability, L as buildAddonRouteProvider, Lt as smokeCapability, M as bestLocationMatch, Mt as runningFromMediaPlayer, N as binaryCapability, Nt as runningFromVacuumState, O as alarmPanelCapability, Ot as quantityFromUnit, P as boardKeySourceCapability, Pt as runningStateCapability, Qt as RecordSecretUnavailableError, R as buildDeviceAdminUrl, S as RUNNING_STATE_COLD, Sn as errMsg, St as preconditionOf, T as accessoriesCapability, Tt as pressureSensorCapability, U as colorCapability, Ut as tryConvertUnit, V as carbonMonoxideCapability, Vt as temperatureSensorCapability, W as connectivityCapability, Wt as updateCapability, X as deviceAdminLinkCapability, Y as coverCapability, Yt as weatherCapability, Z as deviceAdoptionCapability, _n as unknown, _t as notifierCapability, at as gasCapability, bn as DeviceRole, bt as parseAdminBase, c as BaseDevice, cn as array, ct as imageCapability, dn as literal, dt as lawnMowerControlCapability, en as createEvent, et as eventEmitterCapability, fn as number, ft as lockControlCapability, g as EnumSensorDateTimeFormatSchema, gn as union, gt as notificationOutputCapability, hn as string, ht as normalizeUnit, i as HA_BROKER_KIND, in as entryBody, it as floodCapability, j as batteryCapability, jt as runningFromLawnMower, k as ambientLightSensorCapability, kt as resolveAttachmentUrls, l as BaseDeviceProvider, ln as boolean, lt as ingestReading, mn as record, mt as motionCapability, nn as defineEntryKind, nt as flattenNestedRecords, ot as humidifierCapability, pn as object, pt as mediaPlayerCapability, q as contactCapability, qt as vibrationCapability, rn as defineRecordKinds, rt as flattenPortsOver, sn as _enum, st as humiditySensorCapability, t as haInstanceSettingsPortsOver, tn as defineAddonMigrations, tt as fanControlCapability, un as discriminatedUnion, ut as integrationInstancesCapability, vn as url, vt as numericSensorCapability, w as TargetSchema, wt as presenceCapability, xn as DeviceType, xt as powerMeterCapability, yn as DeviceFeature, z as buttonCapability, zt as switchCapability } from "./ha-instance-settings-DLDNOmgL.mjs";
1
+ import { $ as fanControlCapability, $t as createEvent, A as bestLocationMatch, At as runningFromMediaPlayer, B as climateControlCapability, Bt as tryConvertDelta, C as accessoriesCapability, Ct as pressureSensorCapability, D as ambientLightSensorCapability, Dt as resolveAttachmentUrls, E as alarmPanelCapability, Et as quantityFromUnit, F as buildAddonRouteProvider, Ft as smokeCapability, G as contactCapability, Gt as vibrationCapability, H as connectivityCapability, Ht as updateCapability, I as buildDeviceAdminUrl, J as deviceAdminLinkCapability, K as controlCapability, Kt as waterHeaterCapability, L as buttonCapability, Lt as switchCapability, M as boardKeySourceCapability, Mt as runningStateCapability, N as brightnessCapability, Nt as scriptRunnerCapability, O as automationControlCapability, P as brokerCapability, Q as eventEmitterCapability, Qt as baseUnitOf, R as calendarSourceCapability, Rt as tamperCapability, S as TargetSchema, Sn as EventCategory, St as presenceCapability, T as airQualitySensorCapability, Tt as publicEndpointReaderFrom, Ut as vacuumControlCapability, V as colorCapability, Vt as tryConvertUnit, Wt as valveCapability, Xt as RecordSecretUnavailableError, Y as deviceAdoptionCapability, Z as enumSensorCapability, _n as url, at as humiditySensorCapability, b as RUNNING_STATE_COLD, bn as DeviceType, bt as preconditionOf, cn as boolean, ct as integrationInstancesCapability, dn as number, dt as mediaPlayerCapability, en as defineAddonMigrations, et as flattenNestedRecords, fn as object, ft as motionCapability, gn as unknown, gt as numericSensorCapability, hn as union, ht as notifierCapability, it as humidifierCapability, j as binaryCapability, jt as runningFromVacuumState, k as batteryCapability, kt as runningFromLawnMower, ln as discriminatedUnion, lt as lawnMowerControlCapability, m as EnumSensorDateTimeFormatSchema, mn as string, mt as notificationOutputCapability, n as HA_BROKER_KIND, nn as defineRecordKinds, nt as floodCapability, o as BaseDevice, on as _enum, ot as imageCapability, pn as record, pt as normalizeUnit, q as coverCapability, qt as weatherCapability, rn as entryBody, rt as gasCapability, s as BaseDeviceProvider, sn as array, st as ingestReading, t as haInstanceSettingsPortsOver, tn as defineEntryKind, tt as flattenPortsOver, un as literal, ut as lockControlCapability, vn as DeviceFeature, vt as parseAdminBase, w as addonRoutesCapability, x as RecordIntegrationInstances, xn as errMsg, xt as prepareNotification, yn as DeviceRole, yt as powerMeterCapability, z as carbonMonoxideCapability, zt as temperatureSensorCapability } from "./ha-instance-settings-CxalgfRa.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
4
4
  //#region src/ha-admin-link.ts
@@ -7847,6 +7847,7 @@ function statusOf(info) {
7847
7847
  function buildHaInstances(records, deps) {
7848
7848
  return new RecordIntegrationInstances(records, haBrokersEntryKind, {
7849
7849
  description: {
7850
+ role: "both",
7850
7851
  instanceMode: "multiple",
7851
7852
  kind: "connection",
7852
7853
  canTest: true,
@@ -8944,7 +8945,7 @@ var HaProviderAddon = class HaProviderAddon extends BaseDeviceProvider {
8944
8945
  onChanged: (id) => this.syncBrokerRuntime(id),
8945
8946
  probe: (settings) => this.requireRegistry().testSettings(settings)
8946
8947
  });
8947
- await this.runMigrations(defineAddonMigrations(ADDON_MIGRATIONS.filter((m) => m.meta.id === FLATTEN_BROKER_RECORDS_ID), this.flattenPorts(records)));
8948
+ await this.runMigrations(defineAddonMigrations(ADDON_MIGRATIONS, this.flattenPorts(records)), { only: [FLATTEN_BROKER_RECORDS_ID] });
8948
8949
  this.activeBrokers = await this.loadPersistedBrokers();
8949
8950
  this.registry = new HaBrokerRegistry(this.ctx.logger, this.ctx.eventBus);
8950
8951
  this.registry.setOnBrokerConnected((brokerId) => {
@@ -8961,7 +8962,7 @@ var HaProviderAddon = class HaProviderAddon extends BaseDeviceProvider {
8961
8962
  this.reconcileAllConnectedBrokers();
8962
8963
  }, HaProviderAddon.RESYNC_INTERVAL_MS);
8963
8964
  this.ctx.logger.info("ha provider initialised", { meta: { brokerCount: this.activeBrokers.length } });
8964
- await this.runMigrations(defineAddonMigrations(ADDON_MIGRATIONS.filter((m) => m.meta.id !== FLATTEN_BROKER_RECORDS_ID), this.flattenPorts(records)));
8965
+ await this.runMigrations(defineAddonMigrations(ADDON_MIGRATIONS, this.flattenPorts(records)), { only: ADDON_MIGRATIONS.map((m) => m.meta.id).filter((id) => id !== FLATTEN_BROKER_RECORDS_ID) });
8965
8966
  await this.reconcileIntegrationsToBrokers();
8966
8967
  this.subscribeIntegrationLifecycle();
8967
8968
  return [