@riddix/hamh 2.1.0-alpha.827 → 2.1.0-alpha.828

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.
@@ -132628,7 +132628,8 @@ WARNING: ${includeIdentity ? "This backup contains sensitive Matter identity dat
132628
132628
  customFanSpeedTags: config11.customFanSpeedTags,
132629
132629
  fanWindPresets: config11.fanWindPresets,
132630
132630
  fanRestoreSpeedOnPowerOn: config11.fanRestoreSpeedOnPowerOn,
132631
- composedEntities: config11.composedEntities
132631
+ composedEntities: config11.composedEntities,
132632
+ disableMomentaryFlip: config11.disableMomentaryFlip
132632
132633
  });
132633
132634
  mappingsRestored++;
132634
132635
  }
@@ -132784,7 +132785,8 @@ WARNING: ${includeIdentity ? "This backup contains sensitive Matter identity dat
132784
132785
  customServiceAreas: config11.customServiceAreas,
132785
132786
  customFanSpeedTags: config11.customFanSpeedTags,
132786
132787
  fanWindPresets: config11.fanWindPresets,
132787
- composedEntities: config11.composedEntities
132788
+ composedEntities: config11.composedEntities,
132789
+ disableMomentaryFlip: config11.disableMomentaryFlip
132788
132790
  });
132789
132791
  mappingsRestored++;
132790
132792
  }
@@ -133641,7 +133643,8 @@ function entityMappingApi(mappingStorage) {
133641
133643
  climateKeepModeOnIdle: body.climateKeepModeOnIdle,
133642
133644
  climateExposeFan: body.climateExposeFan,
133643
133645
  climateAutoMode: body.climateAutoMode,
133644
- composedEntities: body.composedEntities
133646
+ composedEntities: body.composedEntities,
133647
+ disableMomentaryFlip: body.disableMomentaryFlip
133645
133648
  };
133646
133649
  const config11 = await mappingStorage.setMapping(request);
133647
133650
  res.status(200).json(config11);
@@ -134127,7 +134130,8 @@ function configToProfileEntry(config11) {
134127
134130
  disableClimateFanControl: config11.disableClimateFanControl,
134128
134131
  climateKeepModeOnIdle: config11.climateKeepModeOnIdle,
134129
134132
  climateExposeFan: config11.climateExposeFan,
134130
- climateAutoMode: config11.climateAutoMode
134133
+ climateAutoMode: config11.climateAutoMode,
134134
+ disableMomentaryFlip: config11.disableMomentaryFlip
134131
134135
  };
134132
134136
  }
134133
134137
  function mappingProfileApi(mappingStorage) {
@@ -134261,7 +134265,8 @@ function mappingProfileApi(mappingStorage) {
134261
134265
  disableClimateFanControl: entry.disableClimateFanControl,
134262
134266
  climateKeepModeOnIdle: entry.climateKeepModeOnIdle,
134263
134267
  climateExposeFan: entry.climateExposeFan,
134264
- climateAutoMode: entry.climateAutoMode
134268
+ climateAutoMode: entry.climateAutoMode,
134269
+ disableMomentaryFlip: entry.disableMomentaryFlip
134265
134270
  });
134266
134271
  applied++;
134267
134272
  } catch (e) {
@@ -138475,9 +138480,10 @@ var EntityMappingStorage = class extends Service {
138475
138480
  climateKeepModeOnIdle: request.climateKeepModeOnIdle || void 0,
138476
138481
  climateExposeFan: request.climateExposeFan || void 0,
138477
138482
  climateAutoMode: request.climateAutoMode || void 0,
138478
- composedEntities: request.composedEntities?.filter((e) => e.entityId?.trim()) ?? void 0
138483
+ composedEntities: request.composedEntities?.filter((e) => e.entityId?.trim()) ?? void 0,
138484
+ disableMomentaryFlip: request.disableMomentaryFlip || void 0
138479
138485
  };
138480
- if (!config11.matterDeviceType && !config11.customName && !config11.customProductName && !config11.customVendorName && !config11.customSerialNumber && config11.customVendorId === void 0 && config11.disabled !== true && !config11.filterLifeEntity && !config11.cleaningModeEntity && !config11.temperatureEntity && !config11.humidityEntity && !config11.batteryEntity && !config11.disableBatteryMapping && !config11.chargingStateEntity && !config11.roomEntities && !config11.disableLockPin && !config11.lockUsercodeService && config11.lockUsercodeSlot === void 0 && config11.lockPinMinLength === void 0 && config11.lockPinMaxLength === void 0 && !config11.powerEntity && !config11.energyEntity && !config11.pressureEntity && !config11.suctionLevelEntity && !config11.mopIntensityEntity && (!config11.customServiceAreas || config11.customServiceAreas.length === 0) && (!config11.customFanSpeedTags || Object.keys(config11.customFanSpeedTags).length === 0) && (!config11.fanWindPresets || (config11.fanWindPresets.natural?.length ?? 0) === 0 && (config11.fanWindPresets.sleep?.length ?? 0) === 0) && !config11.fanRestoreSpeedOnPowerOn && !config11.currentRoomEntity && !config11.cleanedAreaEntity && !config11.disableCustomAreaRoomModes && !config11.valetudoIdentifier && !config11.coverSwapOpenClose && !config11.coverExposeAsDimmableLight && !config11.selectExposeAsSwitch && !config11.selectSwitchOnOption && !config11.selectSwitchOffOption && !config11.coverSliderDebounceMs && !config11.updateThrottleMs && !config11.disableClimateOnOff && !config11.disableClimateFanControl && !config11.climateKeepModeOnIdle && !config11.climateExposeFan && !config11.climateAutoMode && (!config11.composedEntities || config11.composedEntities.length === 0)) {
138486
+ if (!config11.matterDeviceType && !config11.customName && !config11.customProductName && !config11.customVendorName && !config11.customSerialNumber && config11.customVendorId === void 0 && config11.disabled !== true && !config11.filterLifeEntity && !config11.cleaningModeEntity && !config11.temperatureEntity && !config11.humidityEntity && !config11.batteryEntity && !config11.disableBatteryMapping && !config11.chargingStateEntity && !config11.roomEntities && !config11.disableLockPin && !config11.lockUsercodeService && config11.lockUsercodeSlot === void 0 && config11.lockPinMinLength === void 0 && config11.lockPinMaxLength === void 0 && !config11.powerEntity && !config11.energyEntity && !config11.pressureEntity && !config11.suctionLevelEntity && !config11.mopIntensityEntity && (!config11.customServiceAreas || config11.customServiceAreas.length === 0) && (!config11.customFanSpeedTags || Object.keys(config11.customFanSpeedTags).length === 0) && (!config11.fanWindPresets || (config11.fanWindPresets.natural?.length ?? 0) === 0 && (config11.fanWindPresets.sleep?.length ?? 0) === 0) && !config11.fanRestoreSpeedOnPowerOn && !config11.currentRoomEntity && !config11.cleanedAreaEntity && !config11.disableCustomAreaRoomModes && !config11.valetudoIdentifier && !config11.coverSwapOpenClose && !config11.coverExposeAsDimmableLight && !config11.selectExposeAsSwitch && !config11.selectSwitchOnOption && !config11.selectSwitchOffOption && !config11.coverSliderDebounceMs && !config11.updateThrottleMs && !config11.disableClimateOnOff && !config11.disableClimateFanControl && !config11.climateKeepModeOnIdle && !config11.climateExposeFan && !config11.climateAutoMode && (!config11.composedEntities || config11.composedEntities.length === 0) && !config11.disableMomentaryFlip) {
138481
138487
  bridgeMap.delete(request.entityId);
138482
138488
  } else {
138483
138489
  bridgeMap.set(request.entityId, config11);
@@ -158281,20 +158287,25 @@ var OnOffServerBase = class extends OnOffServer {
158281
158287
  }
158282
158288
  const homeAssistant = this.agent.get(HomeAssistantEntityBehavior);
158283
158289
  const action = turnOn ? turnOn(void 0, this.agent) : defaultOnOffAction(homeAssistant.entityId, true);
158284
- applyPatchState(this.state, { onOff: true });
158290
+ const skipMomentaryFlip = turnOff === null && homeAssistant.state.mapping?.disableMomentaryFlip;
158291
+ if (!skipMomentaryFlip) {
158292
+ applyPatchState(this.state, { onOff: true });
158293
+ }
158285
158294
  if (!action) {
158286
158295
  return;
158287
158296
  }
158288
158297
  logger207.info(`[${homeAssistant.entityId}] Turning ON -> ${action.action}`);
158289
158298
  notifyLightTurnedOn(homeAssistant.entityId);
158290
- const now = Date.now();
158291
- sweepOptimisticOnOff(now);
158292
- optimisticOnOffState.set(homeAssistant.entityId, {
158293
- expectedOnOff: true,
158294
- timestamp: now
158295
- });
158299
+ if (!skipMomentaryFlip) {
158300
+ const now = Date.now();
158301
+ sweepOptimisticOnOff(now);
158302
+ optimisticOnOffState.set(homeAssistant.entityId, {
158303
+ expectedOnOff: true,
158304
+ timestamp: now
158305
+ });
158306
+ }
158296
158307
  homeAssistant.callAction(action);
158297
- if (turnOff === null) {
158308
+ if (turnOff === null && !skipMomentaryFlip) {
158298
158309
  setTimeout(this.callback(this.autoReset), 1e3);
158299
158310
  }
158300
158311
  }
@@ -161768,6 +161779,9 @@ var ButtonOnOffServerBase = class extends OnOffServer {
161768
161779
  on() {
161769
161780
  const homeAssistant = this.agent.get(HomeAssistantEntityBehavior);
161770
161781
  homeAssistant.callAction({ action: "button.press" });
161782
+ if (homeAssistant.state.mapping?.disableMomentaryFlip) {
161783
+ return;
161784
+ }
161771
161785
  setTimeout(this.callback(this.resetToOff), 1e3);
161772
161786
  }
161773
161787
  off() {