UNPKG

lavva.exalushome.extalife

Version:

Library implementing communication and abstraction layers for ExtaLife API in ExalusHome system

2 lines 21.1 kB
"use strict";(self.webpackChunklavva_exalushome_extalife=self.webpackChunklavva_exalushome_extalife||[]).push([[400],{6532:(e,t,n)=>{n.d(t,{W:()=>r,_:()=>i});class i{constructor(e){this.DeviceGuid="",this.DeviceGuid=e}}class r{constructor(e,t){this.DeviceGuid="",this.Channel=0,this.DeviceGuid=e,this.Channel=t}}},3400:(e,t,n)=>{n.r(t),n.d(t,{FacadeConfigurationErrorCode:()=>f,ZfBidiConfigService:()=>w});var i,r,a=n(5046),o=n(6440),s=n(5389),c=n(6895),l=n(624),d=n(5564),u=n(7418),h=n(2160),v=n(4533),b=n(6532);!function(e){e[e.Disabled=0]="Disabled",e[e.MovementTimeCalibration=1]="MovementTimeCalibration",e[e.LamellaTiltCalibration=2]="LamellaTiltCalibration"}(i||(i={})),function(e){e[e.Automatic=0]="Automatic",e[e.ForceType90=1]="ForceType90",e[e.ForceType180=2]="ForceType180"}(r||(r={}));var f,p=n(9967),C=function(e,t,n,i){return new(n||(n=Promise))((function(r,a){function o(e){try{c(i.next(e))}catch(e){a(e)}}function s(e){try{c(i.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((i=i.apply(e,t||[])).next())}))};class w{constructor(){this._connection=null,this._lamelaCalibrationContext=new F,this._connection=a.V.Get(c.c.ServiceName),this._controllerConfigurationService=a.V.Get(v.Q.ServiceName),this._logger=a.V.Get(d.m.ServiceName)}GetServiceName(){return w.ServiceName}RunAutomaticLamelaPositionCalibrationAsync(e,t){var n,r,s;return C(this,void 0,void 0,(function*(){const c=a.V.Get(p.Z.ServiceName);try{if(!e.Channels.any((e=>e.Number===t)))return new l.tp(f.InvalidChannelNumber,`Cannot calibrate facade blind - invalid channel number: ${t}`);const a=yield this.GetCalibrationStatusAsync(e,t);if(null!=a.Type)return new l.tp(f.OtherError,"Cannot calibrate facade blind - unable to get current calibration status.");if(a.CalibrationProgress!=i.Disabled)return new l.tp(f.CalibrationsIsCurrentlyRunning,"Cannot calibrate facade blind - calibration of device is currently running.");const s=new u.PR;if(s.Position=u.s8.Stop,(yield e.Channels.first((e=>e.Number==t)).ExecuteTaskAsync(s))!==h.G.Executed)return new l.tp(f.DeviceNotResponding,"Cannot calibrate facade blind - device is not responding.");yield null===(n=this._controllerConfigurationService)||void 0===n?void 0:n.EnterConfigurationModeAsync();const d=yield null===(r=this._connection)||void 0===r?void 0:r.SendAndWaitForResponseAsync(new y(new b.W(e.Guid,t)),8e3,!1);if(null==d||null==d.Status)return new l.tp(f.OtherError,"Cannot calibrate facade blind - calibration request failed for an unknown reason.");if(d.Status!==o.qb.OK)return new l.tp(f.OtherError,`Cannot calibrate facade blind - calibration request failed - request status code: ${d.Status}`);c.DisallowHibernation();const v=new Promise(((n,r)=>{let a=0;const o=setInterval((()=>C(this,void 0,void 0,(function*(){var r=yield this.GetCalibrationStatusAsync(e,t);if(null!=r.Type)a++,a>6&&(clearInterval(o),n(f.DeviceNotResponding));else switch(r.CalibrationProgress){case i.MovementTimeCalibration:this._logger.Debug("Facade blind calibration in progress..."),a=0;break;case i.LamellaTiltCalibration:n(f.CalibrationsIsCurrentlyRunning);break;default:this._logger.Debug("Facade blind calibration finished!"),clearInterval(o),n(r)}}))),2e3)})),p=yield v;if(yield this.StopCalibrationAsync(e,t),c.AllowHibernation(),null==p.CalibrationProgress)switch(p){case f.DeviceNotResponding:return new l.tp(f.DeviceNotResponding,"Facade calibration canceled - device not responding!");case f.CalibrationsIsCurrentlyRunning:return new l.tp(f.CalibrationsIsCurrentlyRunning,"Cannot calibrate facade blind - calibration of device is currently running.")}return p}catch(e){return null===(s=this._controllerConfigurationService)||void 0===s||s.ExitConfigurationModeAsync(),c.AllowHibernation(),this._logger.Error(w.ServiceName,`Cannot calibrate facade blind. ${e}`),new l.tp(f.OtherError,"Cannot calibrate facade blind - unknown error.")}}))}StopCalibrationAsync(e,t){var n,i;return C(this,void 0,void 0,(function*(){try{if(!e.Channels.any((e=>e.Number===t)))return o.qb.WrongData;const r=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new m(new b.W(e.Guid,t)),8e3,!1);return null==r||null==r.Status?(this._logger.Error("Failed to stop calibration - unknow error."),o.qb.FatalError):(r.Status!==o.qb.OK&&this._logger.Error(`Failed to stop calibration - response status: ${r.Status}`),null===(i=this._controllerConfigurationService)||void 0===i||i.ExitConfigurationModeAsync(),r.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot stop facade blind calibration. ${e}`),o.qb.FatalError}}))}LamelaTiltCalibration(e,t){try{return e.Channels.any((e=>e.Number===t))?{InitCalibrationAsync:()=>C(this,void 0,void 0,(function*(){var n,r;const a=e.Channels.first((e=>e.Number==t)),c=yield this.GetCalibrationStatusAsync(e,t);if(this._lamelaCalibrationContext=new F,null!=c.Type)return new l.tp(f.OtherError,"Cannot calibrate facade blind - unable to get current calibration status.");if(c.CalibrationProgress!=i.Disabled)return new l.tp(f.CalibrationsIsCurrentlyRunning,"Cannot calibrate facade blind - calibration of device is currently running.");if(c.TravelTimeCalibration=!1)return new l.tp(f.TravelTimeCalibrationNotValid,"Cannot calibrate facade blind - please preform travel time calibration first by running automatic position calibration.");const d=new u.PR;if(d.FacadeAction=u.s8.Stop,(yield a.ExecuteTaskAsync(d))!=h.G.Executed)return new l.tp(f.OtherError,"Cannot calibrate facade blind - unable to stop blind.");const v=new u.PR;if(v.FacadeAction=u.s8.TiltAndPercentage,v.Position=80,v.Tilt=100,(yield a.ExecuteTaskAsync(v))!=h.G.Executed)return new l.tp(f.OtherError,"Cannot calibrate facade blind - unable to set correct position.");const p=new Promise(((t,n)=>{const i=Date.now()+12e4,r=setInterval((()=>{this._logger.Debug(w.ServiceName,"Lamela tilt calibration initialization - seting blind to calibration position..."),Date.now()>i?(e.OnDeviceStateRefreshedOrChangedEvent().Unsubscribe(o),clearInterval(r),n(new l.tp(f.DeviceNotResponding,"Cannot calibrate facade blind - unable to get correct blind position for calibration."))):a.ExecuteTaskAsync(new u.Ci)}),2e3),o=i=>{i.TypeAsEnum==s._s.FacadePosition&&(80==i.Data.Position?(this._logger.Debug(w.ServiceName,"Lamela tilt calibration initialization - correct position was set, position: 80%"),e.OnDeviceStateRefreshedOrChangedEvent().Unsubscribe(o),clearInterval(r),t(i.Data)):255==i.Data.Position&&(e.OnDeviceStateRefreshedOrChangedEvent().Unsubscribe(o),clearInterval(r),n(new l.tp(f.TravelTimeCalibrationNotValid,"Cannot calibrate facade blind - please preform travel time calibration first by running automatic position calibration."))))};e.OnDeviceStateRefreshedOrChangedEvent().Subscribe(o)}));try{yield p}catch(e){return e}yield null===(n=this._controllerConfigurationService)||void 0===n?void 0:n.EnterConfigurationModeAsync();const C=yield null===(r=this._connection)||void 0===r?void 0:r.SendAndWaitForResponseAsync(new E(new b.W(e.Guid,t)),8e3,!1);return null==C||null==C.Status?new l.tp(f.OtherError,"Cannot calibrate facade blind - unable to start calibration."):C.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot calibrate facade blind - unable to start calibration - response status: ${C.Status}`):(this._lamelaCalibrationContext.CalibrationInitialized=!0,o.qb.OK)})),LamelaManualCalibration:{MoveOneStepDownAsync:()=>C(this,void 0,void 0,(function*(){var n;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new N(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?o.qb.FatalError:i.Status})),MoveOneStepUpAsync:()=>C(this,void 0,void 0,(function*(){var n;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new A(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?o.qb.FatalError:i.Status}))},ConfirmFirstPositionAsync:()=>C(this,void 0,void 0,(function*(){var n;try{if(!this._lamelaCalibrationContext.CalibrationInitialized)return o.qb.OperationNotPermitted;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new D(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?o.qb.FatalError:(i.Status==o.qb.OK&&(this._lamelaCalibrationContext.FirstPositionConfirmed=!0),i.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot confirm first tilt lamela position. ${e}`),o.qb.FatalError}})),ConfirmSecondPositionAsync:()=>C(this,void 0,void 0,(function*(){var n;try{if(!this._lamelaCalibrationContext.CalibrationInitialized||!this._lamelaCalibrationContext.FirstPositionConfirmed)return o.qb.OperationNotPermitted;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new k(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?o.qb.FatalError:(i.Status==o.qb.OK&&(this._lamelaCalibrationContext.FirstPositionConfirmed=!0),i.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot confirm second tilt lamela position. ${e}`),o.qb.FatalError}})),EndCalibrationAsync:()=>C(this,void 0,void 0,(function*(){var n;try{if(this._lamelaCalibrationContext=new F,(yield this.StopCalibrationAsync(e,t))!=o.qb.OK)return o.qb.Error;const i=new u.PR;return i.FacadeAction=u.s8.Open,e.ExecuteDeviceTaskAsync(i),null===(n=this._connection)||void 0===n||n.SendAndWaitForResponseAsync(new _(new b.W(e.Guid,t)),8e3,!1),o.qb.OK}catch(e){return this._logger.Error(w.ServiceName,`Cannot finish lamela tilt calibration. ${e}`),o.qb.FatalError}}))}:new l.tp(f.InvalidChannelNumber,`Cannot get lamela tilt calibration functions - invalid channel number, channel: ${t}`)}catch(e){return new l.tp(f.OtherError,"Cannot get lamela tilt calibration functions - unknown error.")}}GetCalibrationStatusAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{if(!e.Channels.any((e=>e.Number===t)))return new l.tp(f.InvalidChannelNumber,`Cannot get facade calibration status - invalid channel number: ${t}`);const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new S(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?new l.tp(f.OtherError,"Cannot get facade calibration status - unknown error."):i.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot get facade calibration status - controller responded with error code: ${i.Status}.`):null==i.Data?new l.tp(f.NoData,"Cannot get facade calibration status - no data in response."):i.Data}catch(e){return this._logger.Error(w.ServiceName,`Cannot get facade calibration status. ${e}`),new l.tp(f.OtherError,"Cannot get facade calibration status - unknown error.")}}))}ChangeMovementDirectionAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{if(!e.Channels.any((e=>e.Number===t)))return o.qb.WrongData;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new g(new b.W(e.Guid,t)),8e3,!1);return null==i||null==i.Status?(this._logger.Error("Failed to change movement direction - unknow error."),o.qb.FatalError):(i.Status!==o.qb.OK&&this._logger.Error(`Failed to change movement direction - response status: ${i.Status}`),i.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot change movement direction. ${e}`),o.qb.FatalError}}))}IsWindSensorsPairedAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{const t=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new x(e.Guid),8e3,!1);return null==t||null==t.Status?new l.tp(f.OtherError,"Cannot check if any wind sensor is paired - unknown error."):t.Status===o.qb.OK&&null!=t.Data&&t.Data.IsPaired}catch(e){return this._logger.Error(w.ServiceName,`Cannot check if any wind sensor is paired. ${e}`),new l.tp(f.OtherError,"Cannot check if any wind sensor is paired - unknown error.")}}))}GetWindSensorActiveAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{if(!(yield this.IsWindSensorsPairedAsync(e,t)))return new l.tp(f.WindSensorNotPaired,"Cannot get wind sensor lock time - wind sensor not paired.");const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new R(e.Guid),8e3,!1);return null==i||null==i.Status?new l.tp(f.OtherError,"Cannot check if 'wind detection lock' functionality is active - unknown error."):i.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot check if 'wind detection lock' functionality is active - response status: ${i.Status}.`):null==i.Data?new l.tp(f.NoData,"Cannot check if 'wind detection lock' - no data in response."):i.Data}catch(e){return this._logger.Error(w.ServiceName,`Cannot check if 'wind detection lock' functionality is active. ${e}`),new l.tp(f.OtherError,"Cannot check if 'wind detection lock' functionality is active - unknown error.")}}))}SetWindSensorActiveAsync(e,t,n){var i;return C(this,void 0,void 0,(function*(){if(!(yield this.IsWindSensorsPairedAsync(e,t)))return o.qb.ResourceIsNotAvailable;const r=yield null===(i=this._connection)||void 0===i?void 0:i.SendAndWaitForResponseAsync(new O(e.Guid,n),8e3,!1);return null==r||null==r.Status?(this._logger.Error(w.ServiceName,"Failed to change device parameters - unknow error."),o.qb.FatalError):(r.Status!==o.qb.OK&&this._logger.Error(w.ServiceName,`Failed to change device parameters, response status: ${r.Status}`),r.Status)}))}GetWindSensorLockTimeAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{if(!(yield this.IsWindSensorsPairedAsync(e,t)))return new l.tp(f.WindSensorNotPaired,"Cannot get wind sensor lock time - wind sensor not paired.");const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new P(e.Guid),8e3,!1);return null==i||null==i.Status?new l.tp(f.OtherError,"Cannot get wind sensor lock time - unknown error."):i.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot get wind sensor lock time - response status: ${i.Status}.`):null==i.Data?new l.tp(f.NoData,"Cannot get wind sensor lock time - no data in response."):i.Data}catch(e){return this._logger.Error(w.ServiceName,`Cannot get wind sensor lock time. ${e}`),new l.tp(f.OtherError,"Cannot get wind sensor lock time - unknown error.")}}))}SetWindSensorLockTimeAsync(e,t,n){var i;return C(this,void 0,void 0,(function*(){try{if(!(yield this.IsWindSensorsPairedAsync(e,t)))return o.qb.ResourceIsNotAvailable;const r=yield null===(i=this._connection)||void 0===i?void 0:i.SendAndWaitForResponseAsync(new $(new W(e.Guid,n)),8e3,!1);return null==r||null==r.Status?(this._logger.Error(w.ServiceName,"Failed to set wind sensor lock time - unknow error."),o.qb.FatalError):(r.Status!==o.qb.OK&&this._logger.Error(w.ServiceName,`Failed to set wind sensor lock time, response status: ${r.Status}`),r.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot set wind sensor lock time. ${e}`),o.qb.FatalError}}))}IsBlindLockedByWindSensorAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{if(!(yield this.IsWindSensorsPairedAsync(e,t)))return new l.tp(f.WindSensorNotPaired,"Cannot check if blind is blocked - wind sensor not paired.");const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new G(e.Guid),8e3,!1);return null==i||null==i.Status?new l.tp(f.OtherError,"Cannot check if blind is blocked - unknown error."):i.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot check if blind is blocked - response status: ${i.Status}.`):null==i.Data?new l.tp(f.NoData,"Cannot check if blind is blocked - no data in response."):i.Data}catch(e){return this._logger.Error(w.ServiceName,`Cannot check if blind is blocked. ${e}`),new l.tp(f.OtherError,"Cannot check if blind is blocked - unknown error.")}}))}ClearBlindLockByWindSensorAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{(yield this.IsWindSensorsPairedAsync(e,t))||o.qb.ResourceIsNotAvailable;const i=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new q(e.Guid),8e3,!1);return null==i||null==i.Status?(this._logger.Error(w.ServiceName,"Failed to change device parameters - unknow error."),o.qb.FatalError):(i.Status!==o.qb.OK&&this._logger.Error(w.ServiceName,`Failed to change device parameters, response status: ${i.Status}`),i.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot clear wind blockade state. ${e}`),o.qb.FatalError}}))}GetFacadeTypeDetectionAsync(e,t){var n;return C(this,void 0,void 0,(function*(){try{const t=yield null===(n=this._connection)||void 0===n?void 0:n.SendAndWaitForResponseAsync(new T(new b._(e.Guid)),8e3,!1);return null==t||null==t.Status?new l.tp(f.OtherError,"Cannot get facade detection settings - unknown error."):t.Status!==o.qb.OK?new l.tp(f.OtherError,`Cannot get facade detection settings - controller responded with error code: ${t.Status}.`):null==t.Data?new l.tp(f.NoData,"Cannot get facade detection settings - no data in response."):t.Data.FacadeDetection}catch(e){return this._logger.Error(w.ServiceName,`Cannot get facade detection settings. ${e}`),new l.tp(f.OtherError,"Cannot get facade detection settings - unknown error.")}}))}SetFacadeTypeDetectionAsync(e,t,n){var i;return C(this,void 0,void 0,(function*(){try{const t=yield null===(i=this._connection)||void 0===i?void 0:i.SendAndWaitForResponseAsync(new M(new I(e.Guid,n)),8e3,!1);return null==t||null==t.Status?(this._logger.Error(w.ServiceName,"Failed to facade detection settings - unknow error."),o.qb.FatalError):(t.Status!==o.qb.OK&&this._logger.Error(w.ServiceName,`Failed to facade detection settings, response status: ${t.Status}`),t.Status)}catch(e){return this._logger.Error(w.ServiceName,`Cannot facade detection settings. ${e}`),o.qb.FatalError}}))}}w.ServiceName="ZfBidiConfigService",function(e){e.InvalidChannelNumber="InvalidChannelNumber",e.OtherError="OtherError",e.CalibrationsIsCurrentlyRunning="CalibrationsIsCurrentlyRunning",e.DeviceNotResponding="DeviceNotResponding",e.WindSensorNotPaired="WindSensorNotPaired",e.TravelTimeCalibrationNotValid="TravelTimeCalibrationNotValid",e.NoData="NoData"}(f||(f={}));class g extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/direction/reverse",this.Method=o.n$.Post,this.Data=e}}class S extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/status",this.Method=o.n$.Get,this.Data=e}}class y extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/start",this.Method=o.n$.Post,this.Data=e}}class m extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/stop",this.Method=o.n$.Post,this.Data=e}}class E extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/lamella/tilt/calibration/start",this.Method=o.n$.Post,this.Data=e}}class A extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/step/up",this.Method=o.n$.Post,this.Data=e}}class N extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/step/down",this.Method=o.n$.Post,this.Data=e}}class D extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/lamella/position/first/confirm",this.Method=o.n$.Post,this.Data=e}}class k extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/lamella/position/second/confirm",this.Method=o.n$.Post,this.Data=e}}class _ extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/calibration/configuration",this.Method=o.n$.Get,this.Data=e}}class F{constructor(){this.CalibrationInitialized=!1,this.FirstPositionConfirmed=!1,this.SeconfPositionConfirmed=!1}}class x extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/facade/sensor/paired",this.Method=o.n$.Get,this.Data=e}}class R extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/wind/sensor/status",this.Method=o.n$.Get,this.Data=e}}class O extends o.NE{constructor(e,t){super(),this.Resource=t?"/extalife/device/parameters/wind/activate/":"/extalife/device/parameters/wind/deactivate/",this.Method=o.n$.Post,this.Data=e}}class P extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/wind/blockade/time",this.Method=o.n$.Get,this.Data=e}}class W{constructor(e,t){this.DeviceGuid="",this.Minutes=0,this.DeviceGuid=e,this.Minutes=t}}class $ extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/wind/blockade/time",this.Method=o.n$.Put,this.Data=e}}class G extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/wind/blockade/",this.Method=o.n$.Get,this.Data=e}}class q extends o.NE{constructor(e){super(),this.Resource="/extalife/device/parameters/wind/blockade/",this.Method=o.n$.Delete,this.Data=e}}class I{constructor(e,t){this.DeviceGuid="",this.FacadeDetection=r.Automatic,this.DeviceGuid=e,this.FacadeDetection=t}}class T extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/type/detection",this.Method=o.n$.Get,this.Data=e}}class M extends o.NE{constructor(e){super(),this.Resource="/extalife/device/facade/type/detection",this.Method=o.n$.Put,this.Data=e}}}}]); //# sourceMappingURL=400-exalushome-extalife.bundle.js.map