@camstack/addon-provider-homematic 1.2.67 → 1.2.68

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/dist/addon.js CHANGED
@@ -33178,7 +33178,15 @@ var BaseDeviceProvider = class extends BaseAddon {
33178
33178
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
33179
33179
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
33180
33180
  await this.healSavedConfig(saved, savedDevices);
33181
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
33181
+ try {
33182
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
33183
+ } catch (err) {
33184
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
33185
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
33186
+ deviceId: saved.id,
33187
+ stableId: saved.stableId
33188
+ } });
33189
+ }
33182
33190
  restored.add(saved.id);
33183
33191
  };
33184
33192
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
package/dist/addon.mjs CHANGED
@@ -33179,7 +33179,15 @@ var BaseDeviceProvider = class extends BaseAddon {
33179
33179
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
33180
33180
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
33181
33181
  await this.healSavedConfig(saved, savedDevices);
33182
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
33182
+ try {
33183
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
33184
+ } catch (err) {
33185
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
33186
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
33187
+ deviceId: saved.id,
33188
+ stableId: saved.stableId
33189
+ } });
33190
+ }
33183
33191
  restored.add(saved.id);
33184
33192
  };
33185
33193
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.2.67",
3
+ "version": "1.2.68",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",