{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/images/plants/house-2@3x.jpg","webpack:///./src/assets/images/plants/house-3@3x.jpg","webpack:///./src/assets/images/plants/house-2.jpg","webpack:///./src/assets/images/plants/entrance_plant_5@3x.jpg","webpack:///./src/assets/images/plants/entrance_plant_1@3x.jpg","webpack:///./src/core/config/emitter.ts","webpack:///./src/views/components/ListItemCheck/ListItemCheck.vue?cf3a","webpack:///./src/views/components/ListItemCheck/ListItemCheck.ts","webpack:///./src/views/components/ListItemCheck/ListItemCheck.vue","webpack:///./src/assets/images/plants/entrance_plant_4@3x.jpg","webpack:///./client-generator/generated-clients/plants.ts","webpack:///./src/assets/images/plants/apt-2@2x.jpg","webpack:///./src/assets/images/plants/entrance_plant_4@2x.jpg","webpack:///./src/assets/images/plants/plantType/smart-home.jpg","webpack:///./src/core/store/action-types.ts","webpack:///./src/assets/images/plants/entrance_plant_3@2x.jpg","webpack:///./src/views/containers/TheHeader/TheHeader.scss?eba0","webpack:///./src/views/components/ScrollableTabView/ScrollableTabView.scss?4013","webpack:///./src/assets/images/plants/entrance_plant_1.jpg","webpack:///./src/assets/images/plants/apt-1@3x.jpg","webpack:///./src/assets/images/plants/plantType/smart-home@2x.jpg","webpack:///./src/assets/images/icons/icon-profile.svg","webpack:///./src/assets/images/plants/apt-1@2x.jpg","webpack:///./src/assets/images/plants/entrance_plant_3.jpg","webpack:///./src/App.vue?7408","webpack:///./src/core/services/slots-assign-rules-service/slots-assign-rules-interfaces.ts","webpack:///./src/core/utils/emitter-events.ts","webpack:///./src/assets/images/plants/add-your-image-here.jpg","webpack:///./src/assets/images/plants/house-3@2x.jpg","webpack:///./client-generator/generated-clients/device-settings.ts","webpack:///./src/assets/images/plants/apt-2@3x.jpg","webpack:///./src/assets/images/plants/apt-1.jpg","webpack:///./src/views/containers/TheSidebar/TheSidebar.scss?236a","webpack:///./src/views/containers/MainContainer/MainContainer.vue?4022","webpack:///./src/views/containers/TheHeader/TheHeader.vue?a9cc","webpack:///./src/views/containers/TheHeader/DialogReportProblem/DialogReportProblem.vue?1540","webpack:///./client-generator/generated-clients/graylog.ts","webpack:///./src/core/services/graylog-service.ts","webpack:///./src/views/containers/TheHeader/DialogReportProblem/DialogReportProblem.ts","webpack:///./src/views/containers/TheHeader/DialogReportProblem/DialogReportProblem.vue","webpack:///./src/views/containers/TheHeader/TheHeader.ts","webpack:///./src/views/containers/TheHeader/TheHeader.vue","webpack:///./src/views/containers/TheSidebar/TheSidebar.vue?182c","webpack:///./src/views/containers/TheSidebar/TheSidebar.ts","webpack:///./src/views/containers/TheSidebar/TheSidebar.vue","webpack:///./src/views/containers/MainContainer/MainContainer.ts","webpack:///./src/views/containers/MainContainer/MainContainer.vue","webpack:///./src/core/router/routes.ts","webpack:///./src/core/router/index.ts","webpack:///./src/assets/images/logo-text-min.svg","webpack:///./src/assets/images/plants/entrance_plant_3@3x.jpg","webpack:///./src/assets/images/plants/house-2@2x.jpg","webpack:///./src/core/services/auth.service.ts","webpack:///./src/core/utils/nanobuffer.ts","webpack:///./src/core/utils/global-errors.ts","webpack:///./src/views/components/ListItemRadio/ListItemRadio.scss?9aa6","webpack:///./src/views/components/WizardStepper/WizardStepper.scss?3d86","webpack:///./src/assets/images/plants/entrance_plant_5@2x.jpg","webpack:///./src/assets/images/plants/entrance_plant_5.jpg","webpack:///./src/assets/images/plants/entrance_plant_2.jpg","webpack:///./src/core/services/ui-service/ui.service.ts","webpack:///./src/core/store/ui-state.store.module.ts","webpack:///./src/core/store/root-state.store.module.ts","webpack:///./src/core/store/store.ts","webpack:///./src/assets/images/plants/house-1@2x.jpg","webpack:///./src/assets/images/icons/icon-mail.svg","webpack:///./src/assets/images/plants/entrance_plant_1@2x.jpg","webpack:///./src/assets/images/plants/plantType/smart-home@3x.jpg","webpack:///./node_modules/primelocale lazy ^\\.\\/.*\\.json$ namespace object","webpack:///./src/assets/images/plants/house-1.jpg","webpack:///./src/assets/images/plants/house-3.jpg","webpack:///./src/assets/images/plants/entrance_plant_2@2x.jpg","webpack:///./src/assets/images/plants sync ^\\.\\/.*\\.jpg$","webpack:///./src/assets/images/plants/apt-2.jpg","webpack:///./src/assets/images/plants sync ^\\.\\/.*@2x\\.jpg$","webpack:///./src/App.vue?f5ce","webpack:///./src/App.ts","webpack:///./src/App.vue","webpack:///./src/core/config/config-primevue.ts","webpack:///./src/core/config/config-elementplus.ts","webpack:///./src/views/components/WizardStepper/WizardStepper.vue?fab0","webpack:///./src/views/components/WizardStepper/WizardStepper.ts","webpack:///./src/views/components/WizardStepper/WizardStepper.vue","webpack:///./src/views/components/InlineSvgScoped/InlineSvgScoped.vue?aaed","webpack:///./src/views/components/InlineSvgScoped/InlineSvgScoped.ts","webpack:///./src/views/components/InlineSvgScoped/InlineSvgScoped.vue","webpack:///./src/views/components/ScrollableTabView/ScrollableTabView.vue?886d","webpack:///./src/views/components/ScrollableTabView/ScrollableTabView.ts","webpack:///./src/views/components/ScrollableTabView/ScrollableTabView.vue","webpack:///./src/views/components/ListItemRadio/ListItemRadio.vue?f6e1","webpack:///./src/views/components/ListItemRadio/ListItemRadio.ts","webpack:///./src/views/components/ListItemRadio/ListItemRadio.vue","webpack:///./src/main.ts","webpack:///./src/core/translations/strings/index.ts","webpack:///./src/core/translations/i18n.ts","webpack:///./src/views/components/ListItemCheck/ListItemCheck.scss?1e1f","webpack:///./src/assets/images/plants/entrance_plant_4.jpg","webpack:///./src/assets/images/logo.svg","webpack:///./src/assets/images/plants/house-1@3x.jpg","webpack:///./src/assets/images/icons/icon-setting.svg","webpack:///./src/assets/images/plants/entrance_plant_2@3x.jpg","webpack:///./src/assets/images/plants sync ^\\.\\/.*@3x\\.jpg$","webpack:///./src/core/utils/utils.ts","webpack:///./src/assets/images/icons/icon-plants.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_component_Checkbox","onClick","$event","setValue","disabled","inputId","modelValue","binary","$slots","for","label","last","this","some","val","newModelValue","checked","filter","$emit","props","required","String","Boolean","default","emits","__exports__","ActivationType","ActuatorModalityType","Client","baseUrl","instance","jsonParseReviver","a","body","cancelToken","url_","replace","content_","JSON","stringify","options_","method","url","headers","catch","_error","isAxiosError","response","_response","processEntranceplantPOST","status","_headers","k","_responseText","result201","resultData201","throwException","plantdesktopid","lastupdate","encodeURIComponent","toJSON","processEntranceplantGET","result200","resultData200","EntrancePlantDetailDTO","fromJS","result204","resultData204","processApartmentDELETE","processApartmentPOST","processApartmentPUT","apartmentid","processLabelPOST","Array","isArray","item","ApartmentLabelDTO","processLabelPUT","labelid","processLabelDELETE","processApartmentbrfa","processBadgeDELETE","processBadgeAll","BadgeDTO","processBadgePOST","processCallingcoderecap","CallingCodeDTO","responseType","processCsv","contentDisposition","fileNameMatch","exec","fileName","processEditinfo","processFloor","processGateDELETE","processGatePOST","GateDTO","processGatePUT","processGatemessageDELETE","processGatemessagePOST","GateMessageDTO","processGatemessagePUT","processGuestDELETE","processGuestPOST","GateGuestDTO","processGuestPUT","processInvitationCsv","processMassiveinvitation","processResidentinvitationDELETE","processResidentinvitationPOST","processResidents","processImport","processSharingproDELETE","processSharingproPOST","processSharingproPUT","processStructure","processSwitchboardDELETE","processSwitchboardPOST","SwitchboardDTO","processSwitchboardPUT","processSyncwitheliot","SyncInfo","processSyncstatus","processVirtualdevices","processUserspermissions","EpUserRole","processRandomkeypadcode","processSendlogs","processPlantPOST","processPlantDELETE","PlantDetailDTO","processPlantGET","processPlantPUT","processAddFakeDevices","processAggregateCommandsAll","AggregateCommandDTO","processAggregateCommandsPOST","commandid","processAggregateCommandsDELETE","processAggregateCommandsGET","processAggregateCommandsPUT","processAlarmsystem","PlantAlarmSystemDTO","processAllDevices","DeviceDTO","processC300eosSettingsGET","PlantC300EOSSettingsDTO","processC300eosSettingsPUT","processClonePlant","linkableobjecttype","processCommandDevices","names","forEach","processDuplicatePlant","processRoomsPOST","roomid","processRoomsDELETE","processRoomsPUT","processRoomObjectsPOST","roomobjectid","processRoomObjectsGET","RoomObjectDTO","processRoomObjectsPUT","filterDevices","lightType","heatingSystemControlType","coolingSystemControlType","sharedSystemControlType","processDevices","processThermoGET","ThermoRoomObjectDTO","processThermoPUT","processSceneActionsList","SceneActionsListsDTO","processSceneConditionsList","SceneConditionsListsDTO","processSceneTriggersList","SceneTriggersListsDTO","processScenesAll","SceneDTO","processScenesPOST","sceneid","processScenesDELETE","processScenesGET","processScenesPUT","processCloneScene","processToggleDisable","processSession","PlantSessionDTO","userEmail","processSharingDELETE","processSharingPOST","processTransferOwnership","deviceuuid","processUpdateDeviceSettings","objectid","processDeleteRoomObject","pageNumber","pageSize","plantsOrderBy","plantsOrderByAsc","filterPlantTagKeys","searchText","favoritesOnly","processPlantsList","PlantListDTOPaginatedResult","processTagsList","PlantTagDTO","processTogglePlantFromFavorites","Action","_data","id","init","ActionDTO","objectName","sceneObjectType","actionParams","VdeFunction","description","address","ActivationFunction","AddressBookSorting","ActuatorSettings","AddRoomObjectDTO","devices","Device","isHidden","isManagePosition","thermoTypeOfObject","thermoAssociatedPump","AddressingType","AddressPumps","number","idSlot","deviceid","linksId","AggregateCommandType","LinkableObject","extDevices","ExtDevice","AggregateCommandActionListItemDTO","aggregateCommandType","subItemList","SceneActionListItemDTO","isPlaceholder","rooms","RoomDTO","roomObjectType","AlarmPartitionState","AlarmPartitionStatus","componentType","deviceConfiguration","Condition","isSuspended","AlarmSensorStatus","AlarmSensorStatusScene","AlarmType","AlarmSystemSensorDTO","sensorName","sensorAddress","roomName","Trigger","ApartmentInvitationStatusEnum","ApartmentDTO","apartmentId","buildingId","floorId","riserId","index","internal","scsAddr","badgeList","keypadCode","buildingCode","riserCode","floorCode","apartmentCode","labels","canInvite","ApartmentInvitationDTO","email","BitmaskDaliLoadTypes","labelId","surname","companyName","information","houseHolder","manuallyEdited","labelType","isPrivate","callingCode","imageBase64","imageName","badgeCode","apartment","gateGuest","BaseShuttersCommandSettingsObjectDTO","shutterMode","BaseShuttersCommandSettingsResult","CallType","BuildingCreateDTO","apartmentsCount","BuildingDTO","risers","RiserDTO","floors","FloorDTO","apartments","keypadCodePasspartoutCode","BuildingImportDto","ButtonTrigger","CameraType","riserDoubleChars","floorDoubleChars","apartmentDoubleChars","CameraFunction","ColoredLightType","CommandDirection","CommandIcon","CommandOpeningTime","Color","g","b","isKnownColor","isEmpty","isNamedColor","isSystemColor","ColoredLightExtDevice","coloredLightType","philipsHueBridge","philipsHueLamp","philipsHueLampName","lifxLamp","dmxMacAddress","dmxNode","ComponentType","CompromisedType","ConctactType","CommandSettings","ConfigurationType","ContactType","DaliType","ConditionDTO","conditionParams","DenominationMode","DateAndTimeTrigger","time","weekDays","DefaultDevicesSettingsDTO","deviceUid","thermoProbeSettings","ThermoProbeSettingsObjectParam","shuttersActuatorSettings","ShuttersActuatorSettingsObjectParam","lightsActuatorSettings","LightsActuatorSettingsObjectDTO","lockCommandSettings","LockCommandSettingsObjectDTO","lockActuatorSettings","LockActuatorSettingsObjectParam","lightsCommandSettings","LightsCommandSettingsObjectDTO","shuttersCommandSettings","ShuttersCommandSettingsObjectDTO","selectedCommandIcon","hasChangeIconButtonVisible","activeLinksLabel","selectedComponentType","thermoActuatorType","isAggregateRoomObject","roomType","identifier","ObjectAction","linkableObjectId","sceneLightState","dimmerStatus","dimmerPercentage","dimmerFadeIn","dimmerFadeOut","selectedColor","workingMode","temperature","sceneShutterState","sceneShutterPosition","isShutterPositionManagement","sceneSocketState","sceneBlindState","sceneLockState","thermostatStatus","thermostatTypeOfObject","thermostatTriggerTemperature","sceneFancoilState","fancoilSpeed","sceneTowelWarmerState","sceneColoredLightsState","coloredLightsIntensity","coloredLightsTemperature","coloredLightsColor","scenePlayerState","playerVolume","playerSourceType","playerSourceId","playerSourceDescription","alarmPin","alarmPartitions","alarmPartitionStatus","alarmSensorStatusScene","alarmPartitionorSceneId","alarmType","duration","delay","sceneLoadManagementStatus","DefaultObjectAction","isEnabled","DelayValue","DeviceBrightness","uid","model","modelObject","hasSubModule","isManaged","isShutterWithPosition","canHandlePreset","isAnomaly","isBlocking","isF422Acompatible","problemType","isIgnored","slots","Slot","functionType","systemType","componentTypes","isDoubleDimmer","canHandleDoubleDimmer","thermoSystemControlType","deviceBrightness","showLedsInStandby","isProximityEnabled","deviceProximity","deviceIconsVisibility","ledIntensity","interface","ledModality","hasRefresherFeedback","hasChanges","fwVersion","firmwareVersion","Version","DeviceIconsVisibility","DeviceLedModality","DeviceProximity","isActuatorDevice","isCommandDevice","isThermostatDevice","isThermoProbeDevice","isAssigned","isAssignedCommand","isAssignedActuator","isAssignedActuatorAndCommand","settingsVisibility","DeviceSettingsVisibilityDTO","defaultSettings","DeviceGlobalSettingsDTO","DevicesFilterByType","DeviceSettingsDTO","deviceId","LightsActuatorSettingsResultList","LightsCommandSettingsResultList","LockActuatorSettingsResult","lockCommandSettingsResult","LockCommandSettingsResultList","shutterActuatorSettings","ShutterActuatorSettingsResult","shutterCommandSettings","ShutterCommandSettingsResultList","ThermoProbeSettingsResult","commandIcon","hasSettings","hasBrightness","hasProximity","hasStandby","hasLedIntensity","hasLedModality","hasRefreshFeedback","DimmerStatus","DimmerWorkingMode","EPDeviceTypeEnum","EPDeviceConfigDTO","deviceName","pScsAddress","lockTimingValue","hasMultipleCall","callRepetitions","isSelectedStairCaseLight","isSelectedGeneral","hasLockReleaseTone","hasCallTone","typeOfCallSignalValue","isSelectedScreenInterfaceAutomatic","isSelectedScreenInterfaceDark","isSelectedScreenInterfaceLight","isSelectedLedCameraLightingAlwaysOn","isSelectedLedCameraLightingDuringTheCall","isSelectedHomePage","homePageMessage","EPDeviceConfigNetwork","isConnectedToEliot","isReferenceRemote","isWiFiNetwork","isDhcpEnabled","ipAddress","submask","gateway","primaryDns","secondaryDns","macAddress","networkName","EPDeviceDTO","isConfigured","isCommissioned","cloudId","dspMacAddress","cloudPublicKey","masterSecretKey","config","switchboardId","needsToSyncManually","activationStatus","lastSyncDateTime","Date","toString","configNetwork","toISOString","EnergyMeterAndLoadControlType","EditAggregateCommandDTO","aggregateCommand","deviceSettings","EditRoomObjectDTO","roomObject","EditThermoRoomObjectDTO","thermoRoomObject","EntrancePlantProRoles","desktopId","country","tags","icon","customIconImageUrl","customIconDataUrl","lastModify","lastModifyByDesktop","lastModifyBy","UserDTO","sharedWith","PlantSharingDTO","isFavourite","owner","usersIdFavorites","plantType","addressBookSorting","language","addressingType","keypadCodePasspartoutMode","keypadCodeRequiredLength","maxNumberOfLabelsForApartment","denominationBuildings","denominationRisers","denominationFloors","denominationApartments","wizardState","gates","buildings","switchboards","gateGuests","hiddenGuests","HiddenGuestDTO","apartmentInvitations","brfaBlockDigits","brfaRiserDigits","brfaFloorDigits","brfaApartmentDigits","gateMessages","callingCodeShowAddressBook","syncStatus","PlantSyncStatusDTO","scsAddressHelper","ScsAddressHelperDTO","timeZone","EntrancePlantHeadCreateDTO","EntrancePlantInfoCreateDTO","EpDeviceActivationStatus","EntrancePlantStructureCreateDTO","wizardStep","headCreate","infoCreate","buildingsCreate","gateCreate","plantConfigStructure","RFAConfigDTO","gateConfigStructure","GateConfigDTO","ExtComponentType","ExternalSensorType","roles","isOnlyBuildingAdmin","FunctionType","FloorConfigDTO","numberOfApartments","IntercomType","LabelType","Language","LightType","scsAddress","gateName","newPeSelected","keypadSelected","smartReaderSelected","connectedBuildingIds","connectedRiserIds","connectedApartmentsIds","gateId","virtualDevicesApt","isDateAlways","durationSince","durationUntil","isTimeAlways","timesSlots","TimeSlot","repetitionDays","gateIds","isRecurrent","isOneTimeGuest","title","text","GeneralCommandsAndGroupsAction","GraylogEntrancePanelMessageDTO","userMessage","plantDesktopId","frontendVersion","guid","keyCode","IntercomFunction","LightsLoadTypes","LightsOnOffMode","LightsSensorOperatingMode","LightsSensorSensitivity","LightsVoltageOptions","LightsActuatorItemSettingsDTO","isZeroCrossingEnabled","relayStatusAfterReset","isRestoreStateAfterResetEnabled","isMinimumregulationLevelEnabled","minimumRegulationLevelValue","minimumRegulationLevelSelectedPickerValue","SimpleIntPickerValue","loadType","voltageType","hasPUL","hasMoreThanOneSlotSettings","indexes","isGroupZeroCrossingVisible","isZeroCrossing1EnabledFollow2","isZeroCrossing1DisabledFollow2","isZeroCrossing2EnabledFollow1","isZeroCrossing2DisabledFollow1","isGroupRelayStatusAfterResetVisible","isGroupRestoreStatusAfterResetVisible","isGroupMinimumRegulationLevelVisible","isGroupLoadTypeVisible","hasLoadTypesForGroup7","hasLoadTypesForGroup9","isGroupVoltageVisible","isGroupPULVisible","saveTo","minimumRegulationLevelPickerValues","isGroupMinimumRegulationLevelToggleVisible","isZeroCrossingWarningVisible","LightsActuatorSettingsResult","results","LightsCommandItemSettingsDTO","timedDelayPickerValues","lightsOnOffMode","minimumRegulationLevel","timedDelayPickerSelectedValue","isTimedDelayVisible","LigthsCommandSettings","currentSettings","isOptionOnOffVisible","isOptionOffVisible","isOptionOnVisible","isOptionOnRegulationVisible","isOptionToggleVisible","isOptionToggleOnOffVisible","isOptionButtonVisible","isOptionTimedVisible","availableDelayValues","isContactTypeVisibile","conctactType","isConctactTypeVisibile","hasBrightness4Params","hasLedIntentisy","disabledModules","LightsCommandSettingsResult","lightsOnOffTimedDelay","Line","LineMisuration","typeofContact","powerON","fadeIn","fadeOut","dimmingSpeed","ObjectDuplication","LocksCommandItemSettingsDTO","isVde","LockCommandSettingsResult","commandOpeningTime","scsLevel","isAppliedToAllSameTypeCommands","ObjectCondition","stateComparer","lightState","dimmerState","dimmerPowerState","dimmerPercent","isShutterPositionManaged","shutterModality","shutterState","shutterPosition","blindState","socketState","lockState","thermostatState","thermostatModalityState","thermostatConditionState","thermostatTemperature","thermostatHumidity","towelWarmerState","fancoilState","fancoilSpeedState","coloredLightsState","coloredLightStateComparer","sceneColoredLightsColor","playerTriggerMode","playerTriggerPowerState","energyMeterKw","alarmPartitionState","alarmSensorState","alarmSensorObjectStatus","sceneLoadManagementPower","PasspartoutModes","ObjectTrigger","ParamCreateLinkModule","ParamsScenesId","button","PlantIconEnum","partitions","PlantAlarmSystemPartitionDTO","scenes","PlantAlarmSystemSceneDTO","sensors","partitionId","partitionName","sceneId","sceneName","gwId","gwIpAddress","gwSubnetMask","gwPrimaryDNS","gwSecondaryDNS","gwDefaultGateway","gwMacAddress","isAutoSetupEnabled","isTemperatureDisplayed","ntpServer","dateTime","temperatureType","isPhysicalConfig","nValue","pValue","mValue","isAnsweringMachineEnabled","isProfessionalStudioEnabled","isWaterCycleEnabled","openAutomaticallyDaysDelay","minutesToKeepOpen","arePumpsOpenedAutomatically","isInterlockSystemEnabled","interlockExcludedDevices","vdeIntercomFunctions","vdeCameraFunctions","vdeActivationFunctions","isThermoExternalCentralUnit","selectedThermostat","seasonChange3477Mode","isSeasonModeAuto","isKeypadLockOutSeason","seasonChangeAutoType","selected3477Device","seasonChangeAutoStartWinterDate","seasonChangeAutoStartSummerDate","hasOneSeason","PlantDTO","mxServer","PlantMxServerDTO","roomsCounts","PlantRoomCount","isGatewayNotConfigured","lastScanDate","aggregateCommandsCount","scenesCount","PlantStatus","PlantListDTO","justSynchronized","lastSessionDateTime","sessionLocked","sessionLockedBy","plantTypeIcon","total","isAlarmConfigured","alarmConfiguration","count","renewSessionSeconds","userId","invitedEmail","confirmed","PlantType","PlantsOrderBy","isPlantActive","isFullyConfigured","synchronized","connected","areVirtualDevicesSentToEliot","areVirtualDevicesChanged","changesToSyncCount","canSyncRemotely","isRemoteSyncFailedAndRetryIsAllowed","syncInfo","isImportant","usages","PlayerSystem","PlayerExtDevice","playerSystem","ProblemType","ProbeSettings","isLedmanaged","externalSensorType","RelayStatusAfterResetOptions","ResetType","floorsWithoutRiser","RiserConfigDTO","RoomObjectType","RoomType","roomObjects","RoomObjectActionListItemDTO","thermo99SelectedZone","thermo99HasFancoil","hasConfigurationToEnd","SceneBlindState","SceneColoredLightsColor","SceneColoredLightsState","isAddAction","isUnselectEnabled","isStateChanged","waitTime","isSelected","heatingSetpointLow","heatingSetpointHigh","coolingSetpointLow","coolingSetpointHigh","minRange","maxRange","oldTemperature","aggregateCommandsActions","roomObjectsActions","SceneDimmerPowerState","SceneDimmerState","SceneFancoilSpeedState","SceneFancoilState","SceneLightState","SceneLoadManagementState","SceneLockState","SceneObjectType","ScenePlayerState","ScenePlayerTriggerMode","SceneShutterModality","SceneShutterState","SceneSocketState","SceneStateComparer","SceneThermostatConditionState","SceneThermostatModalityState","SceneThermostatState","SceneTowelWarmerState","conditionsRoomsList","TriggersAndConditionsRoomItemDTO","isDisabled","isEditable","actions","triggers","TriggerDTO","conditions","SceneType","SceneWeatherCrepuscular","SceneWeatherForecastState","SceneWeatherModality","triggersRoomsList","compatibleDevices","ScsLevel","SeasonChange3477Mode","SeasonChangeAutoType","availableScsAddressSwitchboard","availableScsAddressGate","firstAvailableScsAddressSwitchboard","firstAvailableScsAddressGate","ServerModel","ShutterMode","ShutterMotorType","shutterMotorType","stopPulseDuration","upDownPulseDuration","hasPreset","presetValue","stopTime","delayBetweenDoorsTime","ShutterCommandItemSettingsDTO","commandDirection","isManagedPosition","showBistableAndBladesControl","showMonostableAndBistable","showBladesControlAndBistable","showPreset","showCommandDirection","ShutterCommandSettingsResult","SlotStatus","isGroupMotorTypeVisible","canHaveStandardAutomaticMotorType","isGroupModeVisible","isGroupPresetVisible","isGroupStopTimeTypeVisible","isGroupDelayBetweenDoorsVisible","stopPulseDurationPickerValues","upDownPulseDurationPickerValues","stopTimePickerValues","delayBetweenDoorsTimePickerValues","configured","keyObject","links_id","groups_id","linkedObjects","configurationType","modalityTypeConfiguration","thermoActuatorTypes","assignedComponentType","isSetting","paramsKo","scenes_id","commandSettings","probeSettings","actuatorSettings","isShutterSelfCommandActuatorSlot","mX_Id_ThermoCU","destinationLevel","indexFather","overWrite","SystemControlType","SystemType","TemperatureType","SwitchboardConfigDTO","switchboard","currentlySyncing","startTimeStamp","isFailed","ThermoActuatorType","ThermoAssociatedPump","ThermoActuactor","function","valve","ThermoTypeOfObject","ThermostatStatus","ThermoOldInformation","isLedmanagedVisible","isExternalSensorTypeVisible","actuatorModalityType","configurationSteps","nextStep","objectDuplication","resetType","isApplyAllTemperatureRange","heatingAntifreeze","coolingThermalProtection","isAutoCommutation","isApplyAllCirculationPumpDelay","delayHeatingPumps","delayCoolingPumps","isApplyAllCelsiusFahrenheit","isApplyAllButtonsManagement","areButtonsEnabled","isApplyAllBacklight","isBacklightEnabled","backlightLevel","isManualHeatingOverrideEnabled","heatingRegulationBand","fanSpeed2ForHeating","fanSpeed3ForHeating","valvesTimeForHeatingFanCoil","isManualCoolingOverrideEnabled","coolingRegulationBand","fanSpeed2ForCooling","fanSpeed3ForCooling","valvesTimeForCoolingFanCoil","isApplyAllWindowsContact","isIconAlwaysOff","isLocalContactNumberEnabled","numberOfWindowsContact","openingContactTypeHeating","openingContactTempHeating","openingContactDelayHeating","timeoutOpeningHeating","closingContactTypeHeating","closingContactTempHeating","closingContactDelayHeating","timeoutClosingHeating","openingContactTypeCooling","openingContactTempCooling","openingContactDelayCooling","timeoutOpeningCooling","closingContactTypeCooling","closingContactTempCooling","closingContactDelayCooling","timeoutClosingCooling","isInterlockingExcluded","pumpsDelay","thermoUKFanSpeed","thermoUKFanSpeed2","thermoUKFanSpeed3","plantId","roomId","isNotFullyConfigured","isEdit","isApplyAllTemperatureVisualization","isCoolingVentilationEnabled","isHeatingVentilationEnabled","timeoutCoolingVentilation","timeoutHeatingVentilation","thermoOldInformation","thermo","tempAddressPumps","ToroidDirection","TimeCondition","startTime","endTime","timeSince","timeUntil","WeekDay","TransferOwnershipDTO","password","shouldCurrentUserRightsBeRemoved","triggerParams","TriggersAndConditionsRoomObjectItemDTO","major","minor","build","revision","majorRevision","minorRevision","WaitTimeAction","XmeterExtDevice","ApiException","isApiException","obj","SET_ACCOUNT","SET_APP_LOADING","SET_SELECTED_PLANT","SET_SIDEBAR_EXPANDED","SET_SELECTED_PLANT_ID","SET_CONTEXTUAL_MENU_ITEMS","SET_SELECTED_ENTRANCE_PLANT","SET_SELECTED_ENTRANCE_PLANT_ID","SET_USER_PERMISSIONS","SET_ADMIN_VIEW","SET_OFFLINE_PLANT","SET_SYNC_INFO","SlotRuleServiceType","FETCH_PLANT","HANDLE_REFRESH_PLANT","MANAGE_ELIOT_PARSE_EXCEPTION","AUTOMATION_WIZARD_NEXT_CALLED","linkableobjectid","processAggregateCommandsDefault","processRoomObjectDefault","processThermoDefault","_component_TheHeader","_component_router_view","_component_ElScrollbar","_component_TheSidebar","_component_Toast","routeName","showSidebar","_","position","_hoisted_5","_hoisted_6","_hoisted_7","to","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_component_InlineSvgScoped","_component_router_link","_component_ElDropdownItem","_component_ElDropdownMenu","_component_ElDropdown","_component_DialogReportProblem","_component_Dialog","$attrs","version","$t","trigger","placement","dropdown","style","toggleReportProblemDialog","toggleDialogProfile","profilePageEnabled","logout","isVisibleDialogReportProblem","onHideDialog","visible","isVisibleDialogProfile","header","modal","height","width","iframeProfileSrc","_component_Textarea","_component_Button","isDialogVisible","onHide","doHideDialog","showHeader","closable","rows","theMessage","handleHideDialog","sendMessage","processLog","logs","GraylogMessageDTO","graylogClient","isVisible","getBuffer","$store","dispatch","log","$config","FRONTEND_VERSION","watch","newValue","PROFILE_URL","alert","authService","components","DialogReportProblem","computed","_component_MegaMenu","isSidebarExpanded","menuItemsContextual","orientation","doShow","Menu","MegaMenu","$route","currentRoute","includes","TheHeader","TheSidebar","Toast","APP_TITLE","PlantsHub","PlantsListPage","PlantDetailHub","PlantDashboardPage","PlantDevicesPage","PlantSettingsPage","PlantRoomPage","AutomationWizardPage","ThermoWizardPage","LoggedOutPage","UserNotAllowedPage","CommandsGroupsPage","CommandWizard","PlantScenesPage","SceneWizard","PlantAlarmSystem","EntrancePlantDetailHub","EntrancePlantDashboardPage","EntrancePlantGatePage","EntrancePlantSettingsPage","EntrancePlantResidentsPage","EntrancePlantGuestsPage","EntrancePlantMessagesPage","EntrancePlantBadgesPage","EntrancePlantSwitchboardsPage","EntrancePlantStructureBuildingPage","routes","path","redirect","component","beforeEnter","children","meta","params","requiresPlant","router","history","afterEach","store","beforeEach","from","next","matched","record","LOGOUT_IN_PROGRESS","$msalInstance","$scopes","service","appConfig","auth","clientId","AZUREABB2C_CLIENTID","authority","AZUREADB2C_AUTHORITY","knownAuthorities","AZUREADB2C_KNOWN_AUTHORITY","cache","cacheLocation","storeAuthStateInCookie","AZUREABB2C_FULL_ACCESS_SCOPE","handleRedirectPromise","outcome","loggingOut","localStorage","getItem","removeItem","getAccount","getToken","errorCode","acquireTokenRedirect","scopes","redirectUri","getHostname","accounts","getAllAccounts","location","protocol","host","hostname","account","acquireTokenSilent","forceRefresh","tokenResponse","accessToken","setItem","now","logoutRedirect","state","maxSize","TypeError","isNaN","RangeError","_buffer","_head","_maxSize","_size","newMaxSize","tmp","NanoBuffer","Math","min","iterator","done","errorBuffer","defaultConsoleError","arguments","addError","msg","lineNo","columnNo","join","checkSectionEnabled","sectionKey","APP_CONFIG","UI_ENABLED","keys","rule","sectionKeyValue","UISvc","UIStateModule","namespaced","getters","roomEditEnabled","plantEditEnabled","roomConfigEnabled","plantDeleteEnabled","plantAddRoomEnabled","scenesActionsEnabled","plantEditListEnabled","scenesAddSceneEnabled","plantDeleteListEnabled","roomObjectDeleteEnabled","plantInlineRenameEnabled","plantDeviceSettingsEditEnabled","plantServerUseMHS1Only","plantC300EosSettingsEditEnabled","commandsAndGroupsAddGroupEnabled","commandsAndGroupsGroupActionsEnabled","plantRoomObjectSettingsEditDialog","devicesPageAddDeviceEnabled","devicesPageFilterZigbeeEnabled","plantEditImageCustomEnabled","RootStateModule","UI","isLoading","currentPlant","selectedPlantId","currentEntrancePlant","selectedEntrancePlantId","currentUserPermissions","adminView","offlinePlant","mutations","isExpanded","plant","menuItems","userPermissions","commit","map","webpackAsyncContext","req","ids","webpackContext","webpackContextResolve","_component_ProgressSpinner","isAuthenticated","$emitter","on","manageEliotParseException","$router","off","$toast","add","severity","summary","life","configPrimeVue","app","directive","use","setPrimeVueLocale","supportedLang","localeLang","i18n","global","locale","localeFile","localeTrad","values","disabledClasses","disabledSteps","x","_component_InlineSVG","ariaLabel","transformSource","transform","nameMap","svg","makeIdsUnique","elements","newName","uuid","xhref","getAttributeNS","newHrefId","setAttributeNS","attrs","attributes","setAttributeId","attributeName","attributeValue","attributesToReplace","regex","match","matchAll","originalMaskName","newMaskName","Number","fill","_withId","ref","role","_directive_ripple","scrollable","backwardIsDisabled","navBackward","onScroll","tabs","tab","getKey","d_activeIndex","isTabDisabled","onTabClick","onKeydown","onTabKeydown","tabindex","forwardIsDisabled","navForward","lazy","activeIndex","updateInkBar","updateButtonState","originalEvent","updateScrollBar","which","tabHeader","$refs","nav","inkbar","getWidth","left","getOffset","scrollIntoView","block","content","scrollLeft","scrollWidth","round","child","preventDefault","prevBtn","nextBtn","reduce","acc","el","getVisibleButtonWidths","pos","lastPos","offsetWidth","getComputedStyle","parseFloat","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","rect","getBoundingClientRect","top","scrollY","documentElement","scrollTop","scrollX","isTabPanel","nestedChild","directives","_component_RadioButton","setRadioValue","localValue","sublabel","v","fetchDefaultClientSettings","uiSettings","azureAdb2CClientId","azureAdb2CAuthority","PLANT_REFRESH_INTERVAL","plantRefreshInterval","azureAdb2CKnownAuthority","azureAdb2CFullAccessScope","INSTRUMENTATION_KEY","instrumentationKey","profileUrl","ENTRANCE_PLANT_ENABLED","entrancePlantEnabled","applyDefaultClientSettings","settings","loco","appRootUrl","configUrl","defaults","baseURL","API_ENDPOINT","globalProperties","emitter","appInsights","enableAutoRouteTracking","disableFetchTracking","enableCorsCorrelation","enableRequestHeaderTracking","enableResponseHeaderTracking","distributedTracingMode","W3C","loadAppInsights","$appInsight","ListItemCheck","mount","strings","it","en","de","es","fr","nl","sk","pt","pl","cs","msgs","parse","replaceAll","browserLang","navigator","split","fallbackLocale","messages","fallbackWarn","missingWarn","silentTranslationWarn","cloneObject","roomObjectTypeIconMapping","None","Lock","Light","Blind","Alarm","Xmeter","Socket","Player","Shutter","Fancoil","WirelessCommand","Thermostat","Thermostat99zones","TowelWarmer","ColoredLight","AlarmSensor","DimmerDmx","ScheduledScenarioPlus","Contact","DimmerDali","Actuactor","CentralLoadControl","ActuactorLoadControl","VdeLock","StaircaseLight","FloorCall","Unknown","roomObjectTypeLabelMapping","extDeviceTypeIconMapping","AlarmCentralUnit","sceneObjectTypeIconMapping","Email","Dimmer","Command","Weather","DateTime","GroupOfShutters","GroupOfLights","ColoredLights","GeneralCommandsLights","GeneralCommandsShutters","PushNotificationAction","Dali","objectTypes","defaultNewPlant","ICON_1","AUTOMATION_PLANT","defaultNewEntrancePlant","ENTRANCE_PLANT","getRoomIconFromType","iconName","Livingroom","Bathroom","Kitchen","Bedroom","Lobby","Corridor","Garage","Outdoor","Stairs","Dining_room","Toilets","Home_office","Custom","Electrical_cabinet","getObjectIconFromType","objectType","getObjectLabelFromType","getExtDeviceIconFromType","extDeviceType","getObjectDescLabel","Heating","Cooling","HeatingAndCooling","Yes","getDeviceIconName","getThermo99Description","getPlantIconImages","ICON_2","ICON_3","ICON_4","ICON_5","getEpPlantIconImages","getPlantIconImageUrls","getEpPlantIconImageUrls","getPlantIconImageUrlsByType","plantCustomIconUrl","ICON_CUSTOM","find","image","getDeviceIcon","device","getExtDeviceIdentifier","extDevice","player","Nuvo","coloredLight","Dmx","Lifx","PhilipsHue","xmDevice","getExtDeviceActiveLink","getDeviceIconFromSettings","getConfiguredChannelsOrModulesSettings","getPlantLastModifyByIcon","getPlantLastModifyByLabel","getUserInitialsForBubble","user","initials","emailParts","firstEmailPart","usernameParts","toUpperCase","getSlotClass","slot","className","Configured","NotConfigured","NotUsed","secondsToFormattedTime","seconds","theDate","setSeconds","getUTCHours","padStart","getUTCMinutes","getUTCSeconds","formattedTimeToSeconds","formattedTime","hours","minutes","secondsFinal","parseInt","getCurrentThermoActuatorType","roomObjectId","convertThermoRuleServiceTypeToThermoActuatorType","ruleServiceType","logMappingError","THERMO_HEATING_ACTUATORS","HeatingValve","THERMO_COOLING_ACTUATORS","CoolingValve","THERMO_HEATING_PUMPS","HeatingPump","THERMO_COOLING_PUMPS","CoolingPump","THERMO_SHARED_ACTUATORS","SharedValve","THERMO_SHARED_PUMPS","SharedPump","defaultSceneTypes","Wake_Up","BedTime","Home","Away","isDefaultScene","getGeneralGroupIconFromType","groupType","General","getSceneObjectIconFromType","isValidEnum","sleep","timeMs","getRandomInt","max","ceil","floor","random","NAME_VALIDATION_DEBOUNCE_TIME","resolveObjectPath","prev","curr","self","hasDeviceSettingsButtonVisible","setting","hasDeviceCommandIconButtonVisible","parseShutterActuatorSettings","getStopTime","initialStopTime","quotient","remainder","getMxServerSettingsLabel","Classe300EOS","validLanguages","deepEquals","arrA","arrB","dateA","dateB","getTime","regexpA","RegExp","regexpB","setLanguageByCode","English","Italian","German","Dutch","French","Portuguese","Spanish","Czech","Polish"],"mappings":"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","file":"js/app.145c3195.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"page-plant-scenes\":\"page-plant-scenes\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\",\"page-assign-room-object~page-plant-room\":\"page-assign-room-object~page-plant-room\",\"page-plant-room\":\"page-plant-room\",\"page-assign-room-object\":\"page-assign-room-object\",\"page-assign-thermo-room-object\":\"page-assign-thermo-room-object\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\":\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\",\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\",\"page-entranceplant-detail\":\"page-entranceplant-detail\",\"page-plant-detail\":\"page-plant-detail\",\"page-plants-list\":\"page-plants-list\",\"page-entranceplant-settings~page-entranceplant-structure-building\":\"page-entranceplant-settings~page-entranceplant-structure-building\",\"page-entranceplant-structure-building\":\"page-entranceplant-structure-building\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"page-entranceplant-dashboard~page-entranceplant-gate\",\"page-entranceplant-dashboard\":\"page-entranceplant-dashboard\",\"page-plant-dashboard\":\"page-plant-dashboard\",\"page-wizard-command\":\"page-wizard-command\",\"page-wizard-scene\":\"page-wizard-scene\",\"page-commands-groups\":\"page-commands-groups\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\":\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-residents\":\"page-entranceplant-residents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-messages\":\"page-entranceplant-messages\",\"page-entranceplant-switchboards\":\"page-entranceplant-switchboards\",\"page-logged-out\":\"page-logged-out\",\"page-plant-alarmsystem\":\"page-plant-alarmsystem\",\"page-plant-c300eos-settings\":\"page-plant-c300eos-settings\",\"page-plant-devices\":\"page-plant-devices\",\"page-plants-hub\":\"page-plants-hub\",\"page-user-not-allowed\":\"page-user-not-allowed\"}[chunkId]||chunkId) + \".\" + {\"chunk-2d0a4fbe\":\"636be916\",\"chunk-2d0aa24d\":\"b79db73a\",\"chunk-2d0ababa\":\"e3a26150\",\"chunk-2d0afa3e\":\"c92ba88f\",\"chunk-2d0b2ecc\":\"818f2105\",\"chunk-2d0b363f\":\"14226618\",\"chunk-2d0b3a2c\":\"d2a37a14\",\"chunk-2d0b3dbd\":\"f04af197\",\"chunk-2d0b5d0d\":\"5f2b5439\",\"chunk-2d0b8e54\":\"ae86b0a7\",\"chunk-2d0b9cfd\":\"17fd4283\",\"chunk-2d0ba186\":\"e2c78bbf\",\"chunk-2d0c42e0\":\"39c14e07\",\"chunk-2d0c76c8\":\"1cf3e561\",\"chunk-2d0c77dd\":\"2e7f9d30\",\"chunk-2d0c80c6\":\"d1f13c29\",\"chunk-2d0c80e1\":\"cc9a6335\",\"chunk-2d0cc7b6\":\"4924e1e5\",\"chunk-2d0d6b10\":\"fd04342f\",\"chunk-2d0da78e\":\"e44b8993\",\"chunk-2d0dd109\":\"347d8468\",\"chunk-2d0ddfac\":\"520ddc78\",\"chunk-2d0de792\":\"c74cc1f1\",\"chunk-2d0e1763\":\"b4df3e01\",\"chunk-2d0e17d2\":\"a4cb29d5\",\"chunk-2d0e4cbe\":\"75651be4\",\"chunk-2d0e5ef5\":\"a819c8b9\",\"chunk-2d0e5f22\":\"38cfed5b\",\"chunk-2d0e6190\":\"1ebc3126\",\"chunk-2d0e68f3\":\"a7eda7d1\",\"chunk-2d0e905a\":\"9e52214e\",\"chunk-2d0e96ec\":\"5eab2c76\",\"chunk-2d0f064b\":\"910fb8dc\",\"chunk-2d207bd3\":\"6d0edfcf\",\"chunk-2d2082a5\":\"82e01878\",\"chunk-2d20960a\":\"33fca6be\",\"chunk-2d2097ac\":\"68c8c860\",\"chunk-2d20e885\":\"af884287\",\"chunk-2d20f735\":\"81e5ecb2\",\"chunk-2d215c53\":\"2a0e30ca\",\"chunk-2d215c67\":\"f1e4ae6a\",\"chunk-2d2171a2\":\"507362d9\",\"chunk-2d2172a7\":\"25558357\",\"chunk-2d217c1c\":\"f7bc242c\",\"chunk-2d21b489\":\"2b0f068d\",\"chunk-2d21eead\":\"63a22161\",\"chunk-2d22234a\":\"c9587d34\",\"chunk-2d224940\":\"da767121\",\"chunk-2d224950\":\"0962286f\",\"chunk-2d229810\":\"3c66260b\",\"chunk-2d229b78\":\"1532a990\",\"chunk-2d22d3a8\":\"9f9682b6\",\"chunk-2d22fd14\":\"f969a333\",\"chunk-2d2306c4\":\"f42bcc6c\",\"chunk-2d237d30\":\"88e84353\",\"chunk-2d23810c\":\"f5e68143\",\"chunk-535f3e48\":\"e411c363\",\"page-plant-scenes\":\"d5e1c048\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"ebedd6e6\",\"chunk-10df1248\":\"e87cf04e\",\"page-assign-room-object~page-plant-room\":\"06d84ffb\",\"page-plant-room\":\"be6d55d4\",\"chunk-fcfb38d8\":\"0dfa1f6b\",\"page-assign-room-object\":\"e8eade7a\",\"page-assign-thermo-room-object\":\"57ac299a\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\":\"d16d2e7e\",\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\":\"4a38d7d8\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"bfd7e8fc\",\"page-entranceplant-detail\":\"0dc970fe\",\"page-plant-detail\":\"72ec0820\",\"page-plants-list\":\"cdf42cf8\",\"page-entranceplant-settings~page-entranceplant-structure-building\":\"c74e01cf\",\"page-entranceplant-structure-building\":\"f386a734\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"dea3c3cb\",\"page-entranceplant-dashboard\":\"e2d3764b\",\"page-plant-dashboard\":\"29c48449\",\"page-wizard-command\":\"62ccdf64\",\"page-wizard-scene\":\"0080ede6\",\"page-commands-groups\":\"47b2e0e5\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\":\"c8e8cc4b\",\"page-entranceplant-badges\":\"72556a6c\",\"page-entranceplant-guests\":\"f0c5bec5\",\"page-entranceplant-gate\":\"87a9397f\",\"page-entranceplant-residents\":\"f1661e7f\",\"page-entranceplant-settings\":\"52797690\",\"page-entranceplant-messages\":\"6cb97266\",\"page-entranceplant-switchboards\":\"5ba1a73a\",\"page-logged-out\":\"f8413859\",\"page-plant-alarmsystem\":\"8b70e2bf\",\"page-plant-c300eos-settings\":\"2dade07f\",\"page-plant-devices\":\"374d4921\",\"page-plants-hub\":\"f40a0152\",\"page-user-not-allowed\":\"f5b28eb7\",\"chunk-0266b1e7\":\"40f16c2f\",\"chunk-08a8c660\":\"d88bd1d2\",\"chunk-2a007f92\":\"ceca5335\",\"chunk-3aa1ad77\":\"a7384faf\",\"chunk-4261c4e3\":\"e1966287\",\"chunk-438c5044\":\"24244386\",\"chunk-5cdd4d1a\":\"8a1dc6cf\",\"chunk-6ed3c7e1\":\"2b1c6709\",\"chunk-d0f99ae0\":\"f33ffdc3\",\"chunk-80ff68c2\":\"b93a18e6\",\"chunk-73a2bccc\":\"72eb484c\",\"chunk-9d213646\":\"594eb772\",\"chunk-5db06c9e\":\"8fb09689\",\"chunk-07d6f150\":\"e278dc35\",\"chunk-1dd59c46\":\"f1257709\",\"chunk-5d28b7a4\":\"aedb0b6d\",\"chunk-73e34c32\":\"4ed7f8cf\",\"chunk-76dd081b\":\"9aa8f130\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-535f3e48\":1,\"page-plant-scenes\":1,\"chunk-10df1248\":1,\"page-plant-room\":1,\"chunk-fcfb38d8\":1,\"page-assign-room-object\":1,\"page-assign-thermo-room-object\":1,\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\":1,\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":1,\"page-entranceplant-detail\":1,\"page-plant-detail\":1,\"page-plants-list\":1,\"page-entranceplant-settings~page-entranceplant-structure-building\":1,\"page-entranceplant-structure-building\":1,\"page-entranceplant-dashboard~page-entranceplant-gate\":1,\"page-entranceplant-dashboard\":1,\"page-plant-dashboard\":1,\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\":1,\"page-entranceplant-guests\":1,\"page-entranceplant-residents\":1,\"page-entranceplant-settings\":1,\"page-entranceplant-messages\":1,\"page-logged-out\":1,\"page-plant-alarmsystem\":1,\"page-plant-c300eos-settings\":1,\"page-plant-devices\":1,\"page-plants-hub\":1,\"chunk-5db06c9e\":1,\"chunk-1dd59c46\":1,\"chunk-76dd081b\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"page-plant-scenes\":\"page-plant-scenes\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\",\"page-assign-room-object~page-plant-room\":\"page-assign-room-object~page-plant-room\",\"page-plant-room\":\"page-plant-room\",\"page-assign-room-object\":\"page-assign-room-object\",\"page-assign-thermo-room-object\":\"page-assign-thermo-room-object\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\":\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\",\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\",\"page-entranceplant-detail\":\"page-entranceplant-detail\",\"page-plant-detail\":\"page-plant-detail\",\"page-plants-list\":\"page-plants-list\",\"page-entranceplant-settings~page-entranceplant-structure-building\":\"page-entranceplant-settings~page-entranceplant-structure-building\",\"page-entranceplant-structure-building\":\"page-entranceplant-structure-building\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"page-entranceplant-dashboard~page-entranceplant-gate\",\"page-entranceplant-dashboard\":\"page-entranceplant-dashboard\",\"page-plant-dashboard\":\"page-plant-dashboard\",\"page-wizard-command\":\"page-wizard-command\",\"page-wizard-scene\":\"page-wizard-scene\",\"page-commands-groups\":\"page-commands-groups\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\":\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-residents\":\"page-entranceplant-residents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-messages\":\"page-entranceplant-messages\",\"page-entranceplant-switchboards\":\"page-entranceplant-switchboards\",\"page-logged-out\":\"page-logged-out\",\"page-plant-alarmsystem\":\"page-plant-alarmsystem\",\"page-plant-c300eos-settings\":\"page-plant-c300eos-settings\",\"page-plant-devices\":\"page-plant-devices\",\"page-plants-hub\":\"page-plants-hub\",\"page-user-not-allowed\":\"page-user-not-allowed\"}[chunkId]||chunkId) + \".\" + {\"chunk-2d0a4fbe\":\"31d6cfe0\",\"chunk-2d0aa24d\":\"31d6cfe0\",\"chunk-2d0ababa\":\"31d6cfe0\",\"chunk-2d0afa3e\":\"31d6cfe0\",\"chunk-2d0b2ecc\":\"31d6cfe0\",\"chunk-2d0b363f\":\"31d6cfe0\",\"chunk-2d0b3a2c\":\"31d6cfe0\",\"chunk-2d0b3dbd\":\"31d6cfe0\",\"chunk-2d0b5d0d\":\"31d6cfe0\",\"chunk-2d0b8e54\":\"31d6cfe0\",\"chunk-2d0b9cfd\":\"31d6cfe0\",\"chunk-2d0ba186\":\"31d6cfe0\",\"chunk-2d0c42e0\":\"31d6cfe0\",\"chunk-2d0c76c8\":\"31d6cfe0\",\"chunk-2d0c77dd\":\"31d6cfe0\",\"chunk-2d0c80c6\":\"31d6cfe0\",\"chunk-2d0c80e1\":\"31d6cfe0\",\"chunk-2d0cc7b6\":\"31d6cfe0\",\"chunk-2d0d6b10\":\"31d6cfe0\",\"chunk-2d0da78e\":\"31d6cfe0\",\"chunk-2d0dd109\":\"31d6cfe0\",\"chunk-2d0ddfac\":\"31d6cfe0\",\"chunk-2d0de792\":\"31d6cfe0\",\"chunk-2d0e1763\":\"31d6cfe0\",\"chunk-2d0e17d2\":\"31d6cfe0\",\"chunk-2d0e4cbe\":\"31d6cfe0\",\"chunk-2d0e5ef5\":\"31d6cfe0\",\"chunk-2d0e5f22\":\"31d6cfe0\",\"chunk-2d0e6190\":\"31d6cfe0\",\"chunk-2d0e68f3\":\"31d6cfe0\",\"chunk-2d0e905a\":\"31d6cfe0\",\"chunk-2d0e96ec\":\"31d6cfe0\",\"chunk-2d0f064b\":\"31d6cfe0\",\"chunk-2d207bd3\":\"31d6cfe0\",\"chunk-2d2082a5\":\"31d6cfe0\",\"chunk-2d20960a\":\"31d6cfe0\",\"chunk-2d2097ac\":\"31d6cfe0\",\"chunk-2d20e885\":\"31d6cfe0\",\"chunk-2d20f735\":\"31d6cfe0\",\"chunk-2d215c53\":\"31d6cfe0\",\"chunk-2d215c67\":\"31d6cfe0\",\"chunk-2d2171a2\":\"31d6cfe0\",\"chunk-2d2172a7\":\"31d6cfe0\",\"chunk-2d217c1c\":\"31d6cfe0\",\"chunk-2d21b489\":\"31d6cfe0\",\"chunk-2d21eead\":\"31d6cfe0\",\"chunk-2d22234a\":\"31d6cfe0\",\"chunk-2d224940\":\"31d6cfe0\",\"chunk-2d224950\":\"31d6cfe0\",\"chunk-2d229810\":\"31d6cfe0\",\"chunk-2d229b78\":\"31d6cfe0\",\"chunk-2d22d3a8\":\"31d6cfe0\",\"chunk-2d22fd14\":\"31d6cfe0\",\"chunk-2d2306c4\":\"31d6cfe0\",\"chunk-2d237d30\":\"31d6cfe0\",\"chunk-2d23810c\":\"31d6cfe0\",\"chunk-535f3e48\":\"597a50de\",\"page-plant-scenes\":\"a7d7cc5a\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"31d6cfe0\",\"chunk-10df1248\":\"15f6877c\",\"page-assign-room-object~page-plant-room\":\"31d6cfe0\",\"page-plant-room\":\"dd0cc9ac\",\"chunk-fcfb38d8\":\"c25de897\",\"page-assign-room-object\":\"5bffaf39\",\"page-assign-thermo-room-object\":\"303e1a77\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~d1037692\":\"31d6cfe0\",\"page-entranceplant-detail~page-entranceplant-residents~page-plant-detail~page-plants-list\":\"13eaf5c1\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"c49468d2\",\"page-entranceplant-detail\":\"806ac63a\",\"page-plant-detail\":\"c0772118\",\"page-plants-list\":\"8b56bcc5\",\"page-entranceplant-settings~page-entranceplant-structure-building\":\"6484f797\",\"page-entranceplant-structure-building\":\"e099d8f0\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"6340eda5\",\"page-entranceplant-dashboard\":\"8e2b045c\",\"page-plant-dashboard\":\"b6394919\",\"page-wizard-command\":\"31d6cfe0\",\"page-wizard-scene\":\"31d6cfe0\",\"page-commands-groups\":\"31d6cfe0\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-residents\":\"b2e9aa17\",\"page-entranceplant-badges\":\"31d6cfe0\",\"page-entranceplant-guests\":\"0ac46006\",\"page-entranceplant-gate\":\"31d6cfe0\",\"page-entranceplant-residents\":\"da86b665\",\"page-entranceplant-settings\":\"f4390665\",\"page-entranceplant-messages\":\"0207025c\",\"page-entranceplant-switchboards\":\"31d6cfe0\",\"page-logged-out\":\"4f6becb5\",\"page-plant-alarmsystem\":\"69248f9e\",\"page-plant-c300eos-settings\":\"cb3810e0\",\"page-plant-devices\":\"7c7758f4\",\"page-plants-hub\":\"44b2783a\",\"page-user-not-allowed\":\"31d6cfe0\",\"chunk-0266b1e7\":\"31d6cfe0\",\"chunk-08a8c660\":\"31d6cfe0\",\"chunk-2a007f92\":\"31d6cfe0\",\"chunk-3aa1ad77\":\"31d6cfe0\",\"chunk-4261c4e3\":\"31d6cfe0\",\"chunk-438c5044\":\"31d6cfe0\",\"chunk-5cdd4d1a\":\"31d6cfe0\",\"chunk-6ed3c7e1\":\"31d6cfe0\",\"chunk-d0f99ae0\":\"31d6cfe0\",\"chunk-80ff68c2\":\"31d6cfe0\",\"chunk-73a2bccc\":\"31d6cfe0\",\"chunk-9d213646\":\"31d6cfe0\",\"chunk-5db06c9e\":\"5bffaf39\",\"chunk-07d6f150\":\"31d6cfe0\",\"chunk-1dd59c46\":\"164c2835\",\"chunk-5d28b7a4\":\"31d6cfe0\",\"chunk-73e34c32\":\"31d6cfe0\",\"chunk-76dd081b\":\"f72e46c0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/house-2@3x.1f235271.jpg\";","module.exports = __webpack_public_path__ + \"img/house-3@3x.7b89f7e4.jpg\";","module.exports = __webpack_public_path__ + \"img/house-2.7fb0024f.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_5@3x.49501172.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_1@3x.84d92fd0.jpg\";","import mitt from 'mitt';\nexport default mitt();\n","import { createVNode as _createVNode, resolveComponent as _resolveComponent, renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createVNode(\"div\", { class: \"row-line\" }, null, -1)\nconst _hoisted_2 = { class: \"row-content p-field-checkbox\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"row-line\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Checkbox = _resolveComponent(\"Checkbox\")\n\n return (_openBlock(), _createBlock(\"div\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.setValue())),\n class: [\"list-item-check\", { 'listitem-disabled': _ctx.disabled }]\n }, [\n _hoisted_1,\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"span\", _hoisted_3, [\n _createVNode(_component_Checkbox, {\n disabled: _ctx.disabled,\n inputId: _ctx.inputId,\n name: _ctx.name,\n modelValue: _ctx.modelValue,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.modelValue = $event)),\n value: _ctx.value,\n binary: _ctx.binary\n }, null, 8, [\"disabled\", \"inputId\", \"name\", \"modelValue\", \"value\", \"binary\"]),\n _renderSlot(_ctx.$slots, \"checkbox-label\", {}, () => [\n _createVNode(\"label\", {\n class: \"ml-2\",\n for: _ctx.inputId\n }, _toDisplayString(_ctx.label), 9, [\"for\"])\n ])\n ]),\n _renderSlot(_ctx.$slots, \"checkbox-sublabel\")\n ]),\n (_ctx.last)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_4))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { deepEquals } from '@/core/utils/utils';\nimport { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'ListItemCheck',\n props: {\n modelValue: {\n required: true,\n },\n name: {\n required: true,\n type: String,\n },\n inputId: {\n required: true,\n type: String,\n },\n label: {\n required: true,\n type: String,\n },\n value: {\n required: false,\n },\n last: {\n type: Boolean,\n default: false,\n required: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n required: false,\n },\n binary: {\n type: Boolean,\n default: false,\n required: false,\n },\n },\n emits: ['update:modelValue','update:value'],\n})\nexport default class ListItemCheck extends Vue {\n modelValue!: any;\n name!: string;\n inputId!: string;\n value!: any;\n last!: boolean;\n label!: string;\n disabled!: boolean;\n binary!: boolean;\n\n get checked() {\n return this.binary ? this.modelValue : this.modelValue.some((val: any) => deepEquals(val, this.value));\n }\n\n setValue() {\n if(this.disabled) return;\n let newModelValue;\n if (this.binary) {\n newModelValue = !this.modelValue;\n } else {\n if (this.checked)\n newModelValue = this.modelValue.filter((val: any) => !deepEquals(val, this.value));\n else\n newModelValue = this.modelValue ? [...this.modelValue, this.value] : [this.value];\n }\n this.$emit('update:value', this.value);\n this.$emit('update:modelValue', newModelValue);\n }\n}\n","import { render } from \"./ListItemCheck.vue?vue&type=template&id=6218c67e&ts=true\"\nimport script from \"./ListItemCheck.ts?vue&type=script&lang=ts\"\nexport * from \"./ListItemCheck.ts?vue&type=script&lang=ts\"\n\nimport \"./ListItemCheck.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/entrance_plant_4@3x.844ee995.jpg\";","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.13.2.0 (NJsonSchema v10.5.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class Client {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n this.instance = instance ? instance : axios.create();\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * Insert new pe plant for current user, returns plant id (Auth)\n * @param body (optional) \n * @return Entrance Plant successfully added\n */\n entranceplantPOST(body: EntrancePlantStructureCreateDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processEntranceplantPOST(_response);\n });\n }\n\n protected processEntranceplantPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = resultData201 !== undefined ? resultData201 : null;\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get a plant for current user. If lastupdate is provided returns 204 if no updates are found (Auth)\n * @param lastupdate (optional) \n * @return Plant\n */\n entranceplantGET(plantdesktopid: number, lastupdate: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (lastupdate === null)\n throw new Error(\"The parameter 'lastupdate' cannot be null.\");\n else if (lastupdate !== undefined)\n url_ += \"lastupdate=\" + encodeURIComponent(lastupdate ? \"\" + lastupdate.toJSON() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processEntranceplantGET(_response);\n });\n }\n\n protected processEntranceplantGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EntrancePlantDetailDTO.fromJS(resultData200);\n return result200;\n } else if (status === 204) {\n const _responseText = response.data;\n let result204: any = null;\n let resultData204 = _responseText;\n result204 = EntrancePlantDetailDTO.fromJS(resultData204);\n return result204;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete apartment for current user (Auth)\n * @param body (optional) \n * @return Apartment successfully deleted\n */\n apartmentDELETE(plantdesktopid: number, body: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processApartmentDELETE(_response);\n });\n }\n\n protected processApartmentDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add apartments for current user (Auth)\n * @param body (optional) \n * @return Apartments successfully added\n */\n apartmentPOST(plantdesktopid: number, body: BuildingCreateDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processApartmentPOST(_response);\n });\n }\n\n protected processApartmentPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit apartment for current user (Auth)\n * @param body (optional) \n * @return Apartment successfully updated\n */\n apartmentPUT(plantdesktopid: number, body: ApartmentDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processApartmentPUT(_response);\n });\n }\n\n protected processApartmentPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add apartment label (Auth)\n * @param body (optional) \n * @return Label successfully added\n */\n labelPOST(plantdesktopid: number, apartmentid: string, body: ApartmentLabelDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment/{apartmentid}/label\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (apartmentid === undefined || apartmentid === null)\n throw new Error(\"The parameter 'apartmentid' must be defined.\");\n url_ = url_.replace(\"{apartmentid}\", encodeURIComponent(\"\" + apartmentid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processLabelPOST(_response);\n });\n }\n\n protected processLabelPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ApartmentLabelDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit apartment label (Auth)\n * @param body (optional) \n * @return Label successfully updated\n */\n labelPUT(plantdesktopid: number, apartmentid: string, body: ApartmentLabelDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment/{apartmentid}/label\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (apartmentid === undefined || apartmentid === null)\n throw new Error(\"The parameter 'apartmentid' must be defined.\");\n url_ = url_.replace(\"{apartmentid}\", encodeURIComponent(\"\" + apartmentid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processLabelPUT(_response);\n });\n }\n\n protected processLabelPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ApartmentLabelDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete apartment label (Auth)\n * @return Label successfully deleted\n */\n labelDELETE(plantdesktopid: number, apartmentid: string, labelid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartment/{apartmentid}/label/{labelid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (apartmentid === undefined || apartmentid === null)\n throw new Error(\"The parameter 'apartmentid' must be defined.\");\n url_ = url_.replace(\"{apartmentid}\", encodeURIComponent(\"\" + apartmentid));\n if (labelid === undefined || labelid === null)\n throw new Error(\"The parameter 'labelid' must be defined.\");\n url_ = url_.replace(\"{labelid}\", encodeURIComponent(\"\" + labelid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processLabelDELETE(_response);\n });\n }\n\n protected processLabelDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ApartmentLabelDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add apartment BRFA for current user (Auth)\n * @param body (optional) \n * @return Apartment successfully added\n */\n apartmentbrfa(plantdesktopid: number, body: ApartmentDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/apartmentbrfa\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processApartmentbrfa(_response);\n });\n }\n\n protected processApartmentbrfa(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete badge for current user (Auth)\n * @param body (optional) \n * @return Badge successfully deleted\n */\n badgeDELETE(plantdesktopid: number, body: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/badge\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processBadgeDELETE(_response);\n });\n }\n\n protected processBadgeDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get badges for current user (Auth)\n * @return Badges\n */\n badgeAll(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/badge\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processBadgeAll(_response);\n });\n }\n\n protected processBadgeAll(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BadgeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new badge for current user (Auth)\n * @param body (optional) \n * @return Badge successfully added\n */\n badgePOST(plantdesktopid: number, body: BadgeDTO[] | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/badge\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processBadgePOST(_response);\n });\n }\n\n protected processBadgePOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get informations for calling code example (Auth)\n * @return Informations for calling code example\n */\n callingcoderecap(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/callingcoderecap\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCallingcoderecap(_response);\n });\n }\n\n protected processCallingcoderecap(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallingCodeDTO.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get csv for selected plant (Auth)\n * @return Returns CSV file\n */\n csv(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/csv\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCsv(_response);\n });\n }\n\n protected processCsv(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return Promise.resolve({ fileName: fileName, status: status, data: response.data as Blob, headers: _headers });\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit plant info (Auth)\n * @param body (optional) \n * @return Plant info succesfully edited\n */\n editinfo(plantdesktopid: number, body: EntrancePlantInfoCreateDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/editinfo\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processEditinfo(_response);\n });\n }\n\n protected processEditinfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit floor for current user (Auth)\n * @param body (optional) \n * @return Floor successfully updated\n */\n floor(plantdesktopid: number, body: FloorDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/floor\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processFloor(_response);\n });\n }\n\n protected processFloor(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete the gate (Auth)\n * @param body (optional) \n * @return Delete selected gate\n */\n gateDELETE(plantdesktopid: number, body: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gate\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGateDELETE(_response);\n });\n }\n\n protected processGateDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * create new gate (Auth)\n * @param body (optional) \n * @return Gate successfully added\n */\n gatePOST(plantdesktopid: number, body: GateConfigDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gate\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGatePOST(_response);\n });\n }\n\n protected processGatePOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = GateDTO.fromJS(resultData201);\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Update the gate (Auth)\n * @param body (optional) \n * @return Updated selected gate\n */\n gatePUT(plantdesktopid: number, body: { [key: string]: GateConfigDTO; } | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gate\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGatePUT(_response);\n });\n }\n\n protected processGatePUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete gate message (Auth)\n * @param body (optional) \n * @return Gate message successfully deleted\n */\n gatemessageDELETE(plantdesktopid: number, body: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gatemessage\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGatemessageDELETE(_response);\n });\n }\n\n protected processGatemessageDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add gate message (Auth)\n * @param body (optional) \n * @return Gate message successfully added\n */\n gatemessagePOST(plantdesktopid: number, body: GateMessageDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gatemessage\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGatemessagePOST(_response);\n });\n }\n\n protected processGatemessagePOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = GateMessageDTO.fromJS(resultData201);\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit gate message (Auth)\n * @param body (optional) \n * @return Gate message successfully edited\n */\n gatemessagePUT(plantdesktopid: number, body: GateMessageDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gatemessage\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGatemessagePUT(_response);\n });\n }\n\n protected processGatemessagePUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete guest for current user (Auth)\n * @param body (optional) \n * @return guest successfully deleted\n */\n guestDELETE(plantdesktopid: number, body: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/guest\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGuestDELETE(_response);\n });\n }\n\n protected processGuestDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new guest for current user, returns guest id (Auth)\n * @param body (optional) \n * @return guest successfully added\n */\n guestPOST(plantdesktopid: number, body: GateGuestDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/guest\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGuestPOST(_response);\n });\n }\n\n protected processGuestPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = GateGuestDTO.fromJS(resultData201);\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit guest for current user (Auth)\n * @param body (optional) \n * @return guest successfully updated\n */\n guestPUT(plantdesktopid: number, body: GateGuestDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/guest\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGuestPUT(_response);\n });\n }\n\n protected processGuestPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get csv for massive invitation (Auth)\n * @return Returns CSV file\n */\n invitationCsv(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/invitation-csv\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processInvitationCsv(_response);\n });\n }\n\n protected processInvitationCsv(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n return Promise.resolve({ fileName: fileName, status: status, data: response.data as Blob, headers: _headers });\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Massive invite residents to their apartment (Auth)\n * @param body (optional) \n * @return Invitations sent\n */\n massiveinvitation(plantdesktopid: number, body: ApartmentInvitationDTO[] | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/massiveinvitation\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processMassiveinvitation(_response);\n });\n }\n\n protected processMassiveinvitation(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Remove resident invite (Auth)\n * @param body (optional) \n * @return Invitation removed\n */\n residentinvitationDELETE(plantdesktopid: number, body: ApartmentInvitationDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/residentinvitation\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processResidentinvitationDELETE(_response);\n });\n }\n\n protected processResidentinvitationDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Invite resident to their apartment (Auth)\n * @param body (optional) \n * @return Invitation sent\n */\n residentinvitationPOST(plantdesktopid: number, body: ApartmentInvitationDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/residentinvitation\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processResidentinvitationPOST(_response);\n });\n }\n\n protected processResidentinvitationPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit entrance plant residents (Auth)\n * @param body (optional) \n * @return Entrance Plant successfully updated\n */\n residents(plantdesktopid: number, body: EntrancePlantDetailDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/residents\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processResidents(_response);\n });\n }\n\n protected processResidents(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Import Labels (Auth)\n * @param body (optional) \n * @return import labels from csv\n */\n import(plantdesktopid: number, body: BuildingImportDto | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/residents/import\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processImport(_response);\n });\n }\n\n protected processImport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallingCodeDTO.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Un-share a plant to a user (Auth)\n * @param body (optional) \n * @return Un-shared\n */\n sharingproDELETE(plantdesktopid: number, body: EpUserRole | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/sharingpro\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSharingproDELETE(_response);\n });\n }\n\n protected processSharingproDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Share a plant with a user and give role (Auth)\n * @param body (optional) \n * @return Shared\n */\n sharingproPOST(plantdesktopid: number, body: EpUserRole | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/sharingpro\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSharingproPOST(_response);\n });\n }\n\n protected processSharingproPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Revoke role of a plant user (Auth)\n * @param body (optional) \n * @return Role revoked\n */\n sharingproPUT(plantdesktopid: number, body: EpUserRole | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/sharingpro\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSharingproPUT(_response);\n });\n }\n\n protected processSharingproPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit entrance plant for current user (Auth)\n * @param body (optional) \n * @return Entrance Plant successfully updated\n */\n structure(plantdesktopid: number, body: EntrancePlantStructureCreateDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/structure\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processStructure(_response);\n });\n }\n\n protected processStructure(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete switchboard for current user (Auth)\n * @param body (optional) \n * @return Switchboard successfully deleted\n */\n switchboardDELETE(plantdesktopid: number, body: SwitchboardDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/switchboard\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSwitchboardDELETE(_response);\n });\n }\n\n protected processSwitchboardDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new switchboard for current user, returns switchboard id (Auth)\n * @param body (optional) \n * @return Switchboard successfully added\n */\n switchboardPOST(plantdesktopid: number, body: SwitchboardConfigDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/switchboard\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSwitchboardPOST(_response);\n });\n }\n\n protected processSwitchboardPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = SwitchboardDTO.fromJS(resultData201);\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit switchboard for current user (Auth)\n * @param body (optional) \n * @return Switchboard successfully updated\n */\n switchboardPUT(plantdesktopid: number, body: SwitchboardConfigDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/switchboard\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSwitchboardPUT(_response);\n });\n }\n\n protected processSwitchboardPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Sync plant (Auth)\n * @return Sync started\n */\n syncwitheliot(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/syncwitheliot\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSyncwitheliot(_response);\n });\n }\n\n protected processSyncwitheliot(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SyncInfo.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Plant sync status (Auth)\n * @return Sync in progress\n */\n syncstatus(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/syncwitheliot/syncstatus\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSyncstatus(_response);\n });\n }\n\n protected processSyncstatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SyncInfo.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Update virtual devices on Eliot (Auth)\n * @return Virtual devices updated\n */\n virtualdevices(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/syncwitheliot/virtualdevices\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processVirtualdevices(_response);\n });\n }\n\n protected processVirtualdevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get users permissions for current entrance plant. (Auth)\n * @return Users role and permissions\n */\n userspermissions(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/userspermissions\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processUserspermissions(_response);\n });\n }\n\n protected processUserspermissions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EpUserRole.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get a random generated code (Auth)\n * @param length (optional) \n * @return Random generated keypad code\n */\n randomkeypadcode(length: number | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/randomkeypadcode?\";\n if (length === null)\n throw new Error(\"The parameter 'length' cannot be null.\");\n else if (length !== undefined)\n url_ += \"length=\" + encodeURIComponent(\"\" + length) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRandomkeypadcode(_response);\n });\n }\n\n protected processRandomkeypadcode(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Send devices log to graylog (Auth)\n * @param body (optional) \n * @return Logs sent\n */\n sendlogs(body: GraylogEntrancePanelMessageDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/sendlogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendlogs(_response);\n });\n }\n\n protected processSendlogs(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new plant for current user, returns plant id (Auth)\n * @param body (optional) \n * @return Plant successfully added\n */\n plantPOST(body: PlantDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPlantPOST(_response);\n });\n }\n\n protected processPlantPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = resultData201 !== undefined ? resultData201 : null;\n return result201;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete a plant (Auth)\n * @return Plant deleted\n */\n plantDELETE(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPlantDELETE(_response);\n });\n }\n\n protected processPlantDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantDetailDTO.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get a plant for current user. If lastupdate is provided returns 204 if no updates are found (Auth)\n * @param lastupdate (optional) \n * @return Plant\n */\n plantGET(plantdesktopid: number, lastupdate: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (lastupdate === null)\n throw new Error(\"The parameter 'lastupdate' cannot be null.\");\n else if (lastupdate !== undefined)\n url_ += \"lastupdate=\" + encodeURIComponent(lastupdate ? \"\" + lastupdate.toJSON() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPlantGET(_response);\n });\n }\n\n protected processPlantGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantDetailDTO.fromJS(resultData200);\n return result200;\n } else if (status === 204) {\n const _responseText = response.data;\n let result204: any = null;\n let resultData204 = _responseText;\n result204 = PlantDetailDTO.fromJS(resultData204);\n return result204;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit a plant for current user (Auth)\n * @param body (optional) \n * @return Plant successfully updated\n */\n plantPUT(plantdesktopid: number, body: PlantDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPlantPUT(_response);\n });\n }\n\n protected processPlantPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add fake plant devices (only for testing purpose) (Auth)\n * @return Fake devices added successfully\n */\n addFakeDevices(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/add-fake-devices\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"PATCH\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAddFakeDevices(_response);\n });\n }\n\n protected processAddFakeDevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 409) {\n const _responseText = response.data;\n return throwException(\"Plant has already some devices\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant general commands and groups (Auth)\n * @return List of aggregate commands\n */\n aggregateCommandsAll(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/aggregate-commands\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsAll(_response);\n });\n }\n\n protected processAggregateCommandsAll(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AggregateCommandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add a general command or group (Auth)\n * @param body (optional) \n * @return AggregateCommandDTO\n */\n aggregateCommandsPOST(plantdesktopid: number, body: EditAggregateCommandDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/aggregate-commands\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsPOST(_response);\n });\n }\n\n protected processAggregateCommandsPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete a general command or group (Auth)\n * @return Aggregate command deleted\n */\n aggregateCommandsDELETE(plantdesktopid: number, commandid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/aggregate-commands/{commandid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (commandid === undefined || commandid === null)\n throw new Error(\"The parameter 'commandid' must be defined.\");\n url_ = url_.replace(\"{commandid}\", encodeURIComponent(\"\" + commandid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsDELETE(_response);\n });\n }\n\n protected processAggregateCommandsDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or command doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get general command or group (Auth)\n * @return AggregateCommandDTO\n */\n aggregateCommandsGET(plantdesktopid: number, commandid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/aggregate-commands/{commandid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (commandid === undefined || commandid === null)\n throw new Error(\"The parameter 'commandid' must be defined.\");\n url_ = url_.replace(\"{commandid}\", encodeURIComponent(\"\" + commandid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsGET(_response);\n });\n }\n\n protected processAggregateCommandsGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AggregateCommandDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or aggregate command doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit a general command or group (Auth)\n * @param body (optional) \n * @return AggregateCommandDTO\n */\n aggregateCommandsPUT(plantdesktopid: number, commandid: string, body: EditAggregateCommandDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/aggregate-commands/{commandid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (commandid === undefined || commandid === null)\n throw new Error(\"The parameter 'commandid' must be defined.\");\n url_ = url_.replace(\"{commandid}\", encodeURIComponent(\"\" + commandid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsPUT(_response);\n });\n }\n\n protected processAggregateCommandsPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or aggregate command doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant alarm system (Auth)\n * @return Plant alarm system\n */\n alarmsystem(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/alarmsystem\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAlarmsystem(_response);\n });\n }\n\n protected processAlarmsystem(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantAlarmSystemDTO.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant devices (Auth)\n * @return List of plant devices\n */\n allDevices(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/all-devices\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAllDevices(_response);\n });\n }\n\n protected processAllDevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviceDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant c300eos-settings (Auth)\n * @param lastupdate (optional) \n * @return Plant mxserver\n */\n c300eosSettingsGET(plantdesktopid: number, lastupdate: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/c300eos-settings?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (lastupdate === null)\n throw new Error(\"The parameter 'lastupdate' cannot be null.\");\n else if (lastupdate !== undefined)\n url_ += \"lastupdate=\" + encodeURIComponent(lastupdate ? \"\" + lastupdate.toJSON() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processC300eosSettingsGET(_response);\n });\n }\n\n protected processC300eosSettingsGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantC300EOSSettingsDTO.fromJS(resultData200);\n return result200;\n } else if (status === 204) {\n const _responseText = response.data;\n let result204: any = null;\n let resultData204 = _responseText;\n result204 = PlantC300EOSSettingsDTO.fromJS(resultData204);\n return result204;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit plant c300eos-settings (Auth)\n * @param body (optional) \n * @return C300EOSSettings\n */\n c300eosSettingsPUT(plantdesktopid: number, body: PlantC300EOSSettingsDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/c300eos-settings\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processC300eosSettingsPUT(_response);\n });\n }\n\n protected processC300eosSettingsPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantC300EOSSettingsDTO.fromJS(resultData200);\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"some fields are invalid\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Clone a plant for current user (Auth)\n * @return Plant successfully cloned\n */\n clonePlant(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/clone-plant\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processClonePlant(_response);\n });\n }\n\n protected processClonePlant(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get commands devices from a plant (Auth)\n * @param linkableobjecttype (optional) 0 = Light\n \n 1 = Shutter\n \n 2 = Socket\n \n 3 = Lock\n \n 4 = Thermostat\n \n 5 = Fancoil\n \n 6 = TowelWarmer\n \n 7 = WirelessCommand\n \n 8 = Blind\n \n 9 = Player\n \n 10 = Xmeter\n \n 11 = Alarm\n \n 12 = ColoredLight\n \n 13 = ScheduledScenarioPlus\n \n 14 = None\n \n 15 = Contact\n \n 16 = AlarmSensor\n \n 17 = Thermostat99zones\n \n 18 = DimmerDmx\n \n 19 = DimmerDali\n \n 20 = Actuactor\n \n 21 = CentralLoadControl\n \n 22 = ActuactorLoadControl\n \n 23 = VdeLock\n \n 24 = StaircaseLight\n \n 25 = FloorCall\n \n 26 = Unknown\n * @return List of command devices from plant\n */\n commandDevices(plantdesktopid: number, linkableobjecttype: RoomObjectType | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/command-devices?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (linkableobjecttype === null)\n throw new Error(\"The parameter 'linkableobjecttype' cannot be null.\");\n else if (linkableobjecttype !== undefined)\n url_ += \"linkableobjecttype=\" + encodeURIComponent(\"\" + linkableobjecttype) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCommandDevices(_response);\n });\n }\n\n protected processCommandDevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviceDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or room doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Duplicate a plant for current user (Auth)\n * @param names (optional) \n * @return Plant successfully duplicated\n */\n duplicatePlant(plantdesktopid: number, names: string[] | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/duplicate-plant?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (names === null)\n throw new Error(\"The parameter 'names' cannot be null.\");\n else if (names !== undefined)\n names && names.forEach(item => { url_ += \"names=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processDuplicatePlant(_response);\n });\n }\n\n protected processDuplicatePlant(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new rooms for current plant (Auth)\n * @param body (optional) \n * @return Rooms successfully added to plant\n */\n roomsPOST(plantdesktopid: number, body: PlantRoomCount[] | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomsPOST(_response);\n });\n }\n\n protected processRoomsPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete room (Auth)\n * @return Room deleted\n */\n roomsDELETE(plantdesktopid: number, roomid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomsDELETE(_response);\n });\n }\n\n protected processRoomsDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or Room don\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Update a room for a plant (Auth)\n * @param body (optional) \n * @return Room successfully updated\n */\n roomsPUT(plantdesktopid: number, roomid: string, body: RoomUpdateDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomsPUT(_response);\n });\n }\n\n protected processRoomsPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or Room don\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Insert new objects for current room's plant (Auth)\n * @param body (optional) \n * @return Objects successfully added to plant room\n */\n roomObjectsPOST(plantdesktopid: number, roomid: string, body: AddRoomObjectDTO[] | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomObjectsPOST(_response);\n });\n }\n\n protected processRoomObjectsPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned or room not found\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get a room object for a plant (Auth)\n * @return RoomObject\n */\n roomObjectsGET(plantdesktopid: number, roomid: string, roomobjectid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects/{roomobjectid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (roomobjectid === undefined || roomobjectid === null)\n throw new Error(\"The parameter 'roomobjectid' must be defined.\");\n url_ = url_.replace(\"{roomobjectid}\", encodeURIComponent(\"\" + roomobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomObjectsGET(_response);\n });\n }\n\n protected processRoomObjectsGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoomObjectDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant, room or object doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit a room object for a plant (Auth)\n * @param body (optional) \n * @return RoomObject\n */\n roomObjectsPUT(plantdesktopid: number, roomid: string, roomobjectid: string, body: EditRoomObjectDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects/{roomobjectid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (roomobjectid === undefined || roomobjectid === null)\n throw new Error(\"The parameter 'roomobjectid' must be defined.\");\n url_ = url_.replace(\"{roomobjectid}\", encodeURIComponent(\"\" + roomobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomObjectsPUT(_response);\n });\n }\n\n protected processRoomObjectsPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoomObjectDTO.fromJS(resultData200);\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant, room or object doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get compatible scanned devices into a plant (Auth)\n * @param filterDevices (optional) 0 = ALL\n \n 1 = ACTUATORS\n \n 2 = COMMANDS\n \n 3 = THERMO\n \n 4 = THERMO_PROBE\n \n 5 = THERMO_HEATING_ACTUATORS\n \n 6 = THERMO_COOLING_ACTUATORS\n \n 7 = THERMO_HEATING_PUMPS\n \n 8 = THERMO_COOLING_PUMPS\n \n 9 = THERMO_SHARED_ACTUATORS\n \n 10 = THERMO_SHARED_PUMPS\n * @param lightType (optional) 0 = None\n \n 1 = OnOff\n \n 2 = Dimmer\n * @param heatingSystemControlType (optional) 0 = None\n \n 1 = OneOnOffValve\n \n 2 = OneOpenCloseValve\n \n 3 = OneProportionalValve\n \n 4 = TwoTubesOnOffValve\n \n 5 = TwoTubesProportionalValve\n \n 6 = TwoTubesProportionalSpeedControlValve\n \n 7 = FourTubesOnOffValve\n \n 8 = FourTubesProportionalValve\n \n 9 = FourTubesProportionalSpeedControlValve\n \n 10 = GatewayMode\n \n 11 = Pump\n * @param coolingSystemControlType (optional) 0 = None\n \n 1 = OneOnOffValve\n \n 2 = OneOpenCloseValve\n \n 3 = OneProportionalValve\n \n 4 = TwoTubesOnOffValve\n \n 5 = TwoTubesProportionalValve\n \n 6 = TwoTubesProportionalSpeedControlValve\n \n 7 = FourTubesOnOffValve\n \n 8 = FourTubesProportionalValve\n \n 9 = FourTubesProportionalSpeedControlValve\n \n 10 = GatewayMode\n \n 11 = Pump\n * @param sharedSystemControlType (optional) 0 = None\n \n 1 = OneOnOffValve\n \n 2 = OneOpenCloseValve\n \n 3 = OneProportionalValve\n \n 4 = TwoTubesOnOffValve\n \n 5 = TwoTubesProportionalValve\n \n 6 = TwoTubesProportionalSpeedControlValve\n \n 7 = FourTubesOnOffValve\n \n 8 = FourTubesProportionalValve\n \n 9 = FourTubesProportionalSpeedControlValve\n \n 10 = GatewayMode\n \n 11 = Pump\n * @return List of compatible devices from last scan\n */\n devices(plantdesktopid: number, roomid: string, roomobjectid: string, filterDevices: DevicesFilterByType | undefined, lightType: LightType | undefined, heatingSystemControlType: SystemControlType | undefined, coolingSystemControlType: SystemControlType | undefined, sharedSystemControlType: SystemControlType | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects/{roomobjectid}/devices?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (roomobjectid === undefined || roomobjectid === null)\n throw new Error(\"The parameter 'roomobjectid' must be defined.\");\n url_ = url_.replace(\"{roomobjectid}\", encodeURIComponent(\"\" + roomobjectid));\n if (filterDevices === null)\n throw new Error(\"The parameter 'filterDevices' cannot be null.\");\n else if (filterDevices !== undefined)\n url_ += \"filterDevices=\" + encodeURIComponent(\"\" + filterDevices) + \"&\";\n if (lightType === null)\n throw new Error(\"The parameter 'lightType' cannot be null.\");\n else if (lightType !== undefined)\n url_ += \"LightType=\" + encodeURIComponent(\"\" + lightType) + \"&\";\n if (heatingSystemControlType === null)\n throw new Error(\"The parameter 'heatingSystemControlType' cannot be null.\");\n else if (heatingSystemControlType !== undefined)\n url_ += \"HeatingSystemControlType=\" + encodeURIComponent(\"\" + heatingSystemControlType) + \"&\";\n if (coolingSystemControlType === null)\n throw new Error(\"The parameter 'coolingSystemControlType' cannot be null.\");\n else if (coolingSystemControlType !== undefined)\n url_ += \"CoolingSystemControlType=\" + encodeURIComponent(\"\" + coolingSystemControlType) + \"&\";\n if (sharedSystemControlType === null)\n throw new Error(\"The parameter 'sharedSystemControlType' cannot be null.\");\n else if (sharedSystemControlType !== undefined)\n url_ += \"SharedSystemControlType=\" + encodeURIComponent(\"\" + sharedSystemControlType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processDevices(_response);\n });\n }\n\n protected processDevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviceDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or room doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get a thermo room object for a plant (Auth)\n * @return RoomObject\n */\n thermoGET(plantdesktopid: number, roomid: string, roomobjectid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects/thermo/{roomobjectid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (roomobjectid === undefined || roomobjectid === null)\n throw new Error(\"The parameter 'roomobjectid' must be defined.\");\n url_ = url_.replace(\"{roomobjectid}\", encodeURIComponent(\"\" + roomobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processThermoGET(_response);\n });\n }\n\n protected processThermoGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ThermoRoomObjectDTO.fromJS(resultData200);\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Room object is not a thermo\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant, room or object doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit a thermo room object for a plant (Auth)\n * @param body (optional) \n * @return RoomObject\n */\n thermoPUT(plantdesktopid: number, roomid: string, roomobjectid: string, body: EditThermoRoomObjectDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/rooms/{roomid}/room-objects/thermo/{roomobjectid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (roomobjectid === undefined || roomobjectid === null)\n throw new Error(\"The parameter 'roomobjectid' must be defined.\");\n url_ = url_.replace(\"{roomobjectid}\", encodeURIComponent(\"\" + roomobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processThermoPUT(_response);\n });\n }\n\n protected processThermoPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ThermoRoomObjectDTO.fromJS(resultData200);\n return result200;\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Room object is not a thermo\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant, room or object doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant scene wizard actions list (Auth)\n * @return List of plant scene actions\n */\n sceneActionsList(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scene-actions-list\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSceneActionsList(_response);\n });\n }\n\n protected processSceneActionsList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SceneActionsListsDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant scene wizard conditions list (Auth)\n * @return List of plant scene conditions\n */\n sceneConditionsList(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scene-conditions-list\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSceneConditionsList(_response);\n });\n }\n\n protected processSceneConditionsList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SceneConditionsListsDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant scene wizard triggers list (Auth)\n * @return List of plant scene triggers\n */\n sceneTriggersList(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scene-triggers-list\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSceneTriggersList(_response);\n });\n }\n\n protected processSceneTriggersList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SceneTriggersListsDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant scenes (Auth)\n * @return List of plant scenes\n */\n scenesAll(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processScenesAll(_response);\n });\n }\n\n protected processScenesAll(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SceneDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Add a scene (Auth)\n * @param body (optional) \n * @return SceneDTO\n */\n scenesPOST(plantdesktopid: number, body: SceneDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processScenesPOST(_response);\n });\n }\n\n protected processScenesPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete a scene (Auth)\n * @return Scene deleted\n */\n scenesDELETE(plantdesktopid: number, sceneid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes/{sceneid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (sceneid === undefined || sceneid === null)\n throw new Error(\"The parameter 'sceneid' must be defined.\");\n url_ = url_.replace(\"{sceneid}\", encodeURIComponent(\"\" + sceneid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processScenesDELETE(_response);\n });\n }\n\n protected processScenesDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or scene doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get plant scene (Auth)\n * @return SceneDTO\n */\n scenesGET(plantdesktopid: number, sceneid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes/{sceneid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (sceneid === undefined || sceneid === null)\n throw new Error(\"The parameter 'sceneid' must be defined.\");\n url_ = url_.replace(\"{sceneid}\", encodeURIComponent(\"\" + sceneid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processScenesGET(_response);\n });\n }\n\n protected processScenesGET(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SceneDTO.fromJS(resultData200);\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or scene doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Edit a scene (Auth)\n * @param body (optional) \n * @return SceneDTO\n */\n scenesPUT(plantdesktopid: number, sceneid: string, body: SceneDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes/{sceneid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (sceneid === undefined || sceneid === null)\n throw new Error(\"The parameter 'sceneid' must be defined.\");\n url_ = url_.replace(\"{sceneid}\", encodeURIComponent(\"\" + sceneid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processScenesPUT(_response);\n });\n }\n\n protected processScenesPUT(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some field are null, empty or invalid\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or scene doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Clone a scene (Auth)\n * @return Scene successfully cloned\n */\n cloneScene(plantdesktopid: number, sceneid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes/{sceneid}/clone-scene\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (sceneid === undefined || sceneid === null)\n throw new Error(\"The parameter 'sceneid' must be defined.\");\n url_ = url_.replace(\"{sceneid}\", encodeURIComponent(\"\" + sceneid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCloneScene(_response);\n });\n }\n\n protected processCloneScene(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = SceneDTO.fromJS(resultData201);\n return result201;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or scene doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Toggle enable or disable scene (Auth)\n * @return Scene status successfully toggled, return status [enabled, disabled]\n */\n toggleDisable(plantdesktopid: number, sceneid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/scenes/{sceneid}/toggle-disable\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (sceneid === undefined || sceneid === null)\n throw new Error(\"The parameter 'sceneid' must be defined.\");\n url_ = url_.replace(\"{sceneid}\", encodeURIComponent(\"\" + sceneid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processToggleDisable(_response);\n });\n }\n\n protected processToggleDisable(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or scene doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Renew user session for a plant (Auth)\n * @return Session renewed\n */\n session(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/session\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSession(_response);\n });\n }\n\n protected processSession(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantSessionDTO.fromJS(resultData200);\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Un-share a plant to a user (Auth)\n * @param userEmail (optional) \n * @return Un-shared\n */\n sharingDELETE(plantdesktopid: number, userEmail: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/sharing?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (userEmail === null)\n throw new Error(\"The parameter 'userEmail' cannot be null.\");\n else if (userEmail !== undefined)\n url_ += \"userEmail=\" + encodeURIComponent(\"\" + userEmail) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSharingDELETE(_response);\n });\n }\n\n protected processSharingDELETE(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Share a plant with a user (Auth)\n * @param userEmail (optional) \n * @return Shared\n */\n sharingPOST(plantdesktopid: number, userEmail: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/sharing?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (userEmail === null)\n throw new Error(\"The parameter 'userEmail' cannot be null.\");\n else if (userEmail !== undefined)\n url_ += \"userEmail=\" + encodeURIComponent(\"\" + userEmail) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSharingPOST(_response);\n });\n }\n\n protected processSharingPOST(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Transfer ownership of a plant to another user (Auth)\n * @param userEmail (optional) \n * @param body (optional) \n * @return Ownership transfered successfully\n */\n transferOwnership(plantdesktopid: number, userEmail: string | undefined, body: TransferOwnershipDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/transfer-ownership?\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (userEmail === null)\n throw new Error(\"The parameter 'userEmail' cannot be null.\");\n else if (userEmail !== undefined)\n url_ += \"userEmail=\" + encodeURIComponent(\"\" + userEmail) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTransferOwnership(_response);\n });\n }\n\n protected processTransferOwnership(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Invalid field values: password field is null or empty or password is not valid\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"You are not the owner of this plant\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 409) {\n const _responseText = response.data;\n return throwException(\"The plant is not shared with the user inserted email\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Update device settings (Auth)\n * @param body (optional) \n * @return Device settings updated successfully\n */\n updateDeviceSettings(plantdesktopid: number, deviceuuid: string, body: DeviceGlobalSettingsDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/{plantdesktopid}/update-device-settings/{deviceuuid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (deviceuuid === undefined || deviceuuid === null)\n throw new Error(\"The parameter 'deviceuuid' must be defined.\");\n url_ = url_.replace(\"{deviceuuid}\", encodeURIComponent(\"\" + deviceuuid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processUpdateDeviceSettings(_response);\n });\n }\n\n protected processUpdateDeviceSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n return throwException(\"Some fields are null or empty\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant or device doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Delete room logical object (Auth)\n * @return Object deleted\n */\n deleteRoomObject(plantdesktopid: number, roomid: string, objectid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plant/delete-room-object/{plantdesktopid}/{roomid}/{objectid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n if (roomid === undefined || roomid === null)\n throw new Error(\"The parameter 'roomid' must be defined.\");\n url_ = url_.replace(\"{roomid}\", encodeURIComponent(\"\" + roomid));\n if (objectid === undefined || objectid === null)\n throw new Error(\"The parameter 'objectid' must be defined.\");\n url_ = url_.replace(\"{objectid}\", encodeURIComponent(\"\" + objectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processDeleteRoomObject(_response);\n });\n }\n\n protected processDeleteRoomObject(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get All plants of current user (Auth)\n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @param plantsOrderBy (optional) 0 = PLANT_NAME\n \n 1 = MODIFIED_DATE\n * @param plantsOrderByAsc (optional) \n * @param filterPlantTagKeys (optional) \n * @param searchText (optional) \n * @param favoritesOnly (optional) \n * @return List of user's plants\n */\n plantsList(pageNumber: number | undefined, pageSize: number | undefined, plantsOrderBy: PlantsOrderBy | undefined, plantsOrderByAsc: boolean | undefined, filterPlantTagKeys: string[] | undefined, searchText: string | undefined, favoritesOnly: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/plants-list?\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n if (plantsOrderBy === null)\n throw new Error(\"The parameter 'plantsOrderBy' cannot be null.\");\n else if (plantsOrderBy !== undefined)\n url_ += \"PlantsOrderBy=\" + encodeURIComponent(\"\" + plantsOrderBy) + \"&\";\n if (plantsOrderByAsc === null)\n throw new Error(\"The parameter 'plantsOrderByAsc' cannot be null.\");\n else if (plantsOrderByAsc !== undefined)\n url_ += \"PlantsOrderByAsc=\" + encodeURIComponent(\"\" + plantsOrderByAsc) + \"&\";\n if (filterPlantTagKeys === null)\n throw new Error(\"The parameter 'filterPlantTagKeys' cannot be null.\");\n else if (filterPlantTagKeys !== undefined)\n filterPlantTagKeys && filterPlantTagKeys.forEach(item => { url_ += \"FilterPlantTagKeys=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (searchText === null)\n throw new Error(\"The parameter 'searchText' cannot be null.\");\n else if (searchText !== undefined)\n url_ += \"SearchText=\" + encodeURIComponent(\"\" + searchText) + \"&\";\n if (favoritesOnly === null)\n throw new Error(\"The parameter 'favoritesOnly' cannot be null.\");\n else if (favoritesOnly !== undefined)\n url_ += \"FavoritesOnly=\" + encodeURIComponent(\"\" + favoritesOnly) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPlantsList(_response);\n });\n }\n\n protected processPlantsList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PlantListDTOPaginatedResult.fromJS(resultData200);\n return result200;\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"Generic error\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get All tags associated to my plants (Auth)\n * @return List of all tags associated to my plants\n */\n tagsList( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/tags-list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTagsList(_response);\n });\n }\n\n protected processTagsList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PlantTagDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"Generic error\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Toggle plant from favorites for a user (Auth)\n * @return Plant successfully toggled, return favorite status\n */\n togglePlantFromFavorites(plantdesktopid: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/toggle-plant-from-favorites/{plantdesktopid}\";\n if (plantdesktopid === undefined || plantdesktopid === null)\n throw new Error(\"The parameter 'plantdesktopid' must be defined.\");\n url_ = url_.replace(\"{plantdesktopid}\", encodeURIComponent(\"\" + plantdesktopid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTogglePlantFromFavorites(_response);\n });\n }\n\n protected processTogglePlantFromFavorites(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n return result200;\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status === 404) {\n const _responseText = response.data;\n return throwException(\"Plant doesn\\'t exist or not owned\", status, _responseText, _headers);\n } else if (status === 412) {\n const _responseText = response.data;\n return throwException(\"Eliot parse exception\", status, _responseText, _headers);\n } else if (status === 503) {\n const _responseText = response.data;\n return throwException(\"Eliot API not working\", status, _responseText, _headers);\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n}\n\nexport class Action implements IAction {\n id?: number;\n\n constructor(data?: IAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Action {\n data = typeof data === 'object' ? data : {};\n let result = new Action();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data; \n }\n}\n\nexport interface IAction {\n id?: number;\n}\n\nexport class ActionDTO implements IActionDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n actionParams?: Action | undefined;\n\n constructor(data?: IActionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.objectName = _data[\"objectName\"];\n this.sceneObjectType = _data[\"sceneObjectType\"];\n this.actionParams = _data[\"actionParams\"] ? Action.fromJS(_data[\"actionParams\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ActionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ActionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"objectName\"] = this.objectName;\n data[\"sceneObjectType\"] = this.sceneObjectType;\n data[\"actionParams\"] = this.actionParams ? this.actionParams.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IActionDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n actionParams?: Action | undefined;\n}\n\nexport class VdeFunction implements IVdeFunction {\n id?: number;\n description?: string | undefined;\n address?: number;\n\n constructor(data?: IVdeFunction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): VdeFunction {\n data = typeof data === 'object' ? data : {};\n let result = new VdeFunction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"address\"] = this.address;\n return data; \n }\n}\n\nexport interface IVdeFunction {\n id?: number;\n description?: string | undefined;\n address?: number;\n}\n\nexport class ActivationFunction extends VdeFunction implements IActivationFunction {\n type?: ActivationType;\n\n constructor(data?: IActivationFunction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ActivationFunction {\n data = typeof data === 'object' ? data : {};\n let result = new ActivationFunction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IActivationFunction extends IVdeFunction {\n type?: ActivationType;\n}\n\n/** 0 = Generic 1 = Lock */\nexport enum ActivationType {\n Generic = 0,\n Lock = 1,\n}\n\n/** 0 = None 1 = Separate 2 = Shared 3 = Mixed */\nexport enum ActuatorModalityType {\n None = 0,\n Separate = 1,\n Shared = 2,\n Mixed = 3,\n}\n\nexport class ActuatorSettings implements IActuatorSettings {\n\n constructor(data?: IActuatorSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): ActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data; \n }\n}\n\nexport interface IActuatorSettings {\n}\n\nexport class AddRoomObjectDTO implements IAddRoomObjectDTO {\n name?: string | undefined;\n type?: RoomObjectType;\n devices?: Device[] | undefined;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n\n constructor(data?: IAddRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n this.isHidden = _data[\"isHidden\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n }\n }\n\n static fromJS(data: any): AddRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AddRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"isHidden\"] = this.isHidden;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n return data; \n }\n}\n\nexport interface IAddRoomObjectDTO {\n name?: string | undefined;\n type?: RoomObjectType;\n devices?: Device[] | undefined;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n}\n\n/** 0 = Surname 1 = Apartment */\nexport enum AddressBookSorting {\n Surname = 0,\n Apartment = 1,\n}\n\nexport class AddressPumps implements IAddressPumps {\n number?: string | undefined;\n idSlot?: string | undefined;\n deviceid?: string | undefined;\n linksId?: string[] | undefined;\n\n constructor(data?: IAddressPumps) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.idSlot = _data[\"idSlot\"];\n this.deviceid = _data[\"deviceid\"];\n if (Array.isArray(_data[\"linksId\"])) {\n this.linksId = [] as any;\n for (let item of _data[\"linksId\"])\n this.linksId!.push(item);\n }\n }\n }\n\n static fromJS(data: any): AddressPumps {\n data = typeof data === 'object' ? data : {};\n let result = new AddressPumps();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"idSlot\"] = this.idSlot;\n data[\"deviceid\"] = this.deviceid;\n if (Array.isArray(this.linksId)) {\n data[\"linksId\"] = [];\n for (let item of this.linksId)\n data[\"linksId\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IAddressPumps {\n number?: string | undefined;\n idSlot?: string | undefined;\n deviceid?: string | undefined;\n linksId?: string[] | undefined;\n}\n\n/** 0 = AddressBook 1 = BuildingRiserFloorApartment 2 = DirectCall_Alphanumeric 3 = DirectCall_NumbersOnly */\nexport enum AddressingType {\n AddressBook = 0,\n BuildingRiserFloorApartment = 1,\n DirectCall_Alphanumeric = 2,\n DirectCall_NumbersOnly = 3,\n}\n\nexport class LinkableObject implements ILinkableObject {\n id?: string | undefined;\n name?: string | undefined;\n devices?: Device[] | undefined;\n extDevices?: ExtDevice[] | undefined;\n\n constructor(data?: ILinkableObject) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LinkableObject {\n data = typeof data === 'object' ? data : {};\n let result = new LinkableObject();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILinkableObject {\n id?: string | undefined;\n name?: string | undefined;\n devices?: Device[] | undefined;\n extDevices?: ExtDevice[] | undefined;\n}\n\nexport class AggregateCommand extends LinkableObject implements IAggregateCommand {\n rooms?: Room[] | undefined;\n objectsName?: string[] | undefined;\n type?: AggregateCommandType;\n roomObjectType?: RoomObjectType;\n address?: string | undefined;\n\n constructor(data?: IAggregateCommand) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"rooms\"])) {\n this.rooms = [] as any;\n for (let item of _data[\"rooms\"])\n this.rooms!.push(Room.fromJS(item));\n }\n if (Array.isArray(_data[\"objectsName\"])) {\n this.objectsName = [] as any;\n for (let item of _data[\"objectsName\"])\n this.objectsName!.push(item);\n }\n this.type = _data[\"type\"];\n this.roomObjectType = _data[\"roomObjectType\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): AggregateCommand {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rooms)) {\n data[\"rooms\"] = [];\n for (let item of this.rooms)\n data[\"rooms\"].push(item.toJSON());\n }\n if (Array.isArray(this.objectsName)) {\n data[\"objectsName\"] = [];\n for (let item of this.objectsName)\n data[\"objectsName\"].push(item);\n }\n data[\"type\"] = this.type;\n data[\"roomObjectType\"] = this.roomObjectType;\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAggregateCommand extends ILinkableObject {\n rooms?: Room[] | undefined;\n objectsName?: string[] | undefined;\n type?: AggregateCommandType;\n roomObjectType?: RoomObjectType;\n address?: string | undefined;\n}\n\nexport class AggregateCommandActionListItemDTO implements IAggregateCommandActionListItemDTO {\n aggregateCommandType?: AggregateCommandType;\n subItemList?: SceneActionListItemDTO[] | undefined;\n name?: string | undefined;\n\n constructor(data?: IAggregateCommandActionListItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.aggregateCommandType = _data[\"aggregateCommandType\"];\n if (Array.isArray(_data[\"subItemList\"])) {\n this.subItemList = [] as any;\n for (let item of _data[\"subItemList\"])\n this.subItemList!.push(SceneActionListItemDTO.fromJS(item));\n }\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): AggregateCommandActionListItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateCommandActionListItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"aggregateCommandType\"] = this.aggregateCommandType;\n if (Array.isArray(this.subItemList)) {\n data[\"subItemList\"] = [];\n for (let item of this.subItemList)\n data[\"subItemList\"].push(item.toJSON());\n }\n data[\"name\"] = this.name;\n return data; \n }\n}\n\nexport interface IAggregateCommandActionListItemDTO {\n aggregateCommandType?: AggregateCommandType;\n subItemList?: SceneActionListItemDTO[] | undefined;\n name?: string | undefined;\n}\n\nexport class AggregateCommandDTO implements IAggregateCommandDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: AggregateCommandType;\n isPlaceholder?: boolean;\n rooms?: RoomDTO[] | undefined;\n roomObjectType?: RoomObjectType;\n\n constructor(data?: IAggregateCommandDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.isPlaceholder = _data[\"isPlaceholder\"];\n if (Array.isArray(_data[\"rooms\"])) {\n this.rooms = [] as any;\n for (let item of _data[\"rooms\"])\n this.rooms!.push(RoomDTO.fromJS(item));\n }\n this.roomObjectType = _data[\"roomObjectType\"];\n }\n }\n\n static fromJS(data: any): AggregateCommandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateCommandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"isPlaceholder\"] = this.isPlaceholder;\n if (Array.isArray(this.rooms)) {\n data[\"rooms\"] = [];\n for (let item of this.rooms)\n data[\"rooms\"].push(item.toJSON());\n }\n data[\"roomObjectType\"] = this.roomObjectType;\n return data; \n }\n}\n\nexport interface IAggregateCommandDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: AggregateCommandType;\n isPlaceholder?: boolean;\n rooms?: RoomDTO[] | undefined;\n roomObjectType?: RoomObjectType;\n}\n\n/** 0 = General 1 = Group */\nexport enum AggregateCommandType {\n General = 0,\n Group = 1,\n}\n\nexport class AlarmAction extends Action implements IAlarmAction {\n isSuspended?: boolean;\n alarmType?: AlarmType;\n alarmState?: AlarmPartitionState;\n alarmPartitionOrSceneId?: string | undefined;\n alarmPin?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isSuspended = _data[\"isSuspended\"];\n this.alarmType = _data[\"alarmType\"];\n this.alarmState = _data[\"alarmState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmPin = _data[\"alarmPin\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmAction {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isSuspended\"] = this.isSuspended;\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmState\"] = this.alarmState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmPin\"] = this.alarmPin;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmAction extends IAction {\n isSuspended?: boolean;\n alarmType?: AlarmType;\n alarmState?: AlarmPartitionState;\n alarmPartitionOrSceneId?: string | undefined;\n alarmPin?: string | undefined;\n alarmName?: string | undefined;\n}\n\nexport class ExtDevice implements IExtDevice {\n componentType?: ExtComponentType;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n\n constructor(data?: IExtDevice) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentType = _data[\"componentType\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new ExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentType\"] = this.componentType;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n return data; \n }\n}\n\nexport interface IExtDevice {\n componentType?: ExtComponentType;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n}\n\nexport class AlarmCentralUnitExtDevice extends ExtDevice implements IAlarmCentralUnitExtDevice {\n readonly address?: string | undefined;\n\n constructor(data?: IAlarmCentralUnitExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): AlarmCentralUnitExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmCentralUnitExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmCentralUnitExtDevice extends IExtDevice {\n address?: string | undefined;\n}\n\nexport class Condition implements ICondition {\n id?: number;\n isSuspended?: boolean;\n\n constructor(data?: ICondition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.isSuspended = _data[\"isSuspended\"];\n }\n }\n\n static fromJS(data: any): Condition {\n data = typeof data === 'object' ? data : {};\n let result = new Condition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"isSuspended\"] = this.isSuspended;\n return data; \n }\n}\n\nexport interface ICondition {\n id?: number;\n isSuspended?: boolean;\n}\n\nexport class AlarmCondition extends Condition implements IAlarmCondition {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.alarmType = _data[\"alarmType\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmCondition {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmCondition extends ICondition {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n}\n\n/** 0 = Disarmed 1 = Exit 2 = Armed 3 = PreAlarm 4 = Ready_To_Arm 5 = Alarm 6 = Armed_Immediate 7 = Tamper 8 = None */\nexport enum AlarmPartitionState {\n Disarmed = 0,\n Exit = 1,\n Armed = 2,\n PreAlarm = 3,\n Ready_To_Arm = 4,\n Alarm = 5,\n Armed_Immediate = 6,\n Tamper = 7,\n None = 8,\n}\n\n/** 0 = Disarm 1 = Arm_With_Delay 2 = Arm_Without_Delay */\nexport enum AlarmPartitionStatus {\n Disarm = 0,\n Arm_With_Delay = 1,\n Arm_Without_Delay = 2,\n}\n\nexport class AlarmSensorExtDevice extends ExtDevice implements IAlarmSensorExtDevice {\n readonly address?: string | undefined;\n readonly senrosName?: string | undefined;\n\n constructor(data?: IAlarmSensorExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n (this).senrosName = _data[\"senrosName\"];\n }\n }\n\n static fromJS(data: any): AlarmSensorExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmSensorExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n data[\"senrosName\"] = this.senrosName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmSensorExtDevice extends IExtDevice {\n address?: string | undefined;\n senrosName?: string | undefined;\n}\n\n/** 0 = Idle 1 = Tamper 2 = Trigger 3 = Mask */\nexport enum AlarmSensorStatus {\n Idle = 0,\n Tamper = 1,\n Trigger = 2,\n Mask = 3,\n}\n\n/** 0 = None 1 = Normal 2 = Alarm */\nexport enum AlarmSensorStatusScene {\n None = 0,\n Normal = 1,\n Alarm = 2,\n}\n\nexport class AlarmSystemSensorDTO implements IAlarmSystemSensorDTO {\n sensorName?: string | undefined;\n sensorAddress?: string | undefined;\n roomName?: string | undefined;\n\n constructor(data?: IAlarmSystemSensorDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sensorName = _data[\"sensorName\"];\n this.sensorAddress = _data[\"sensorAddress\"];\n this.roomName = _data[\"roomName\"];\n }\n }\n\n static fromJS(data: any): AlarmSystemSensorDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmSystemSensorDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sensorName\"] = this.sensorName;\n data[\"sensorAddress\"] = this.sensorAddress;\n data[\"roomName\"] = this.roomName;\n return data; \n }\n}\n\nexport interface IAlarmSystemSensorDTO {\n sensorName?: string | undefined;\n sensorAddress?: string | undefined;\n roomName?: string | undefined;\n}\n\nexport class Trigger implements ITrigger {\n id?: number;\n isSuspended?: boolean;\n address?: string | undefined;\n\n constructor(data?: ITrigger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.isSuspended = _data[\"isSuspended\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): Trigger {\n data = typeof data === 'object' ? data : {};\n let result = new Trigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"isSuspended\"] = this.isSuspended;\n data[\"address\"] = this.address;\n return data; \n }\n}\n\nexport interface ITrigger {\n id?: number;\n isSuspended?: boolean;\n address?: string | undefined;\n}\n\nexport class AlarmTrigger extends Trigger implements IAlarmTrigger {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.alarmType = _data[\"alarmType\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmTrigger extends ITrigger {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n}\n\n/** 0 = Partition 1 = AlarmSystemType */\nexport enum AlarmType {\n Partition = 0,\n AlarmSystemType = 1,\n}\n\nexport class ApartmentDTO implements IApartmentDTO {\n apartmentId?: string;\n buildingId?: string | undefined;\n floorId?: string | undefined;\n riserId?: string | undefined;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n internal?: string | undefined;\n scsAddr?: number;\n badgeList?: string[] | undefined;\n keypadCode?: string | undefined;\n buildingCode?: string | undefined;\n riserCode?: string | undefined;\n floorCode?: string | undefined;\n apartmentCode?: string | undefined;\n labels?: ApartmentLabelDTO[] | undefined;\n canInvite?: boolean;\n\n constructor(data?: IApartmentDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.apartmentId = _data[\"apartmentId\"];\n this.buildingId = _data[\"buildingId\"];\n this.floorId = _data[\"floorId\"];\n this.riserId = _data[\"riserId\"];\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n this.internal = _data[\"internal\"];\n this.scsAddr = _data[\"scsAddr\"];\n if (Array.isArray(_data[\"badgeList\"])) {\n this.badgeList = [] as any;\n for (let item of _data[\"badgeList\"])\n this.badgeList!.push(item);\n }\n this.keypadCode = _data[\"keypadCode\"];\n this.buildingCode = _data[\"buildingCode\"];\n this.riserCode = _data[\"riserCode\"];\n this.floorCode = _data[\"floorCode\"];\n this.apartmentCode = _data[\"apartmentCode\"];\n if (Array.isArray(_data[\"labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"labels\"])\n this.labels!.push(ApartmentLabelDTO.fromJS(item));\n }\n this.canInvite = _data[\"canInvite\"];\n }\n }\n\n static fromJS(data: any): ApartmentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ApartmentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"apartmentId\"] = this.apartmentId;\n data[\"buildingId\"] = this.buildingId;\n data[\"floorId\"] = this.floorId;\n data[\"riserId\"] = this.riserId;\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n data[\"internal\"] = this.internal;\n data[\"scsAddr\"] = this.scsAddr;\n if (Array.isArray(this.badgeList)) {\n data[\"badgeList\"] = [];\n for (let item of this.badgeList)\n data[\"badgeList\"].push(item);\n }\n data[\"keypadCode\"] = this.keypadCode;\n data[\"buildingCode\"] = this.buildingCode;\n data[\"riserCode\"] = this.riserCode;\n data[\"floorCode\"] = this.floorCode;\n data[\"apartmentCode\"] = this.apartmentCode;\n if (Array.isArray(this.labels)) {\n data[\"labels\"] = [];\n for (let item of this.labels)\n data[\"labels\"].push(item.toJSON());\n }\n data[\"canInvite\"] = this.canInvite;\n return data; \n }\n}\n\nexport interface IApartmentDTO {\n apartmentId?: string;\n buildingId?: string | undefined;\n floorId?: string | undefined;\n riserId?: string | undefined;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n internal?: string | undefined;\n scsAddr?: number;\n badgeList?: string[] | undefined;\n keypadCode?: string | undefined;\n buildingCode?: string | undefined;\n riserCode?: string | undefined;\n floorCode?: string | undefined;\n apartmentCode?: string | undefined;\n labels?: ApartmentLabelDTO[] | undefined;\n canInvite?: boolean;\n}\n\nexport class ApartmentInvitationDTO implements IApartmentInvitationDTO {\n apartmentId?: string;\n email?: string | undefined;\n status?: ApartmentInvitationStatusEnum;\n\n constructor(data?: IApartmentInvitationDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.apartmentId = _data[\"apartmentId\"];\n this.email = _data[\"email\"];\n this.status = _data[\"status\"];\n }\n }\n\n static fromJS(data: any): ApartmentInvitationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ApartmentInvitationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"apartmentId\"] = this.apartmentId;\n data[\"email\"] = this.email;\n data[\"status\"] = this.status;\n return data; \n }\n}\n\nexport interface IApartmentInvitationDTO {\n apartmentId?: string;\n email?: string | undefined;\n status?: ApartmentInvitationStatusEnum;\n}\n\n/** 0 = Pending 1 = Confirmed */\nexport enum ApartmentInvitationStatusEnum {\n Pending = 0,\n Confirmed = 1,\n}\n\nexport class ApartmentLabelDTO implements IApartmentLabelDTO {\n labelId?: string;\n surname?: string | undefined;\n name?: string | undefined;\n companyName?: string | undefined;\n information?: string | undefined;\n houseHolder?: boolean;\n manuallyEdited?: boolean;\n labelType?: LabelType;\n isPrivate?: boolean;\n callingCode?: string | undefined;\n imageBase64?: string | undefined;\n imageName?: string | undefined;\n\n constructor(data?: IApartmentLabelDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.labelId = _data[\"labelId\"];\n this.surname = _data[\"surname\"];\n this.name = _data[\"name\"];\n this.companyName = _data[\"companyName\"];\n this.information = _data[\"information\"];\n this.houseHolder = _data[\"houseHolder\"];\n this.manuallyEdited = _data[\"manuallyEdited\"];\n this.labelType = _data[\"labelType\"];\n this.isPrivate = _data[\"isPrivate\"];\n this.callingCode = _data[\"callingCode\"];\n this.imageBase64 = _data[\"imageBase64\"];\n this.imageName = _data[\"imageName\"];\n }\n }\n\n static fromJS(data: any): ApartmentLabelDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ApartmentLabelDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"labelId\"] = this.labelId;\n data[\"surname\"] = this.surname;\n data[\"name\"] = this.name;\n data[\"companyName\"] = this.companyName;\n data[\"information\"] = this.information;\n data[\"houseHolder\"] = this.houseHolder;\n data[\"manuallyEdited\"] = this.manuallyEdited;\n data[\"labelType\"] = this.labelType;\n data[\"isPrivate\"] = this.isPrivate;\n data[\"callingCode\"] = this.callingCode;\n data[\"imageBase64\"] = this.imageBase64;\n data[\"imageName\"] = this.imageName;\n return data; \n }\n}\n\nexport interface IApartmentLabelDTO {\n labelId?: string;\n surname?: string | undefined;\n name?: string | undefined;\n companyName?: string | undefined;\n information?: string | undefined;\n houseHolder?: boolean;\n manuallyEdited?: boolean;\n labelType?: LabelType;\n isPrivate?: boolean;\n callingCode?: string | undefined;\n imageBase64?: string | undefined;\n imageName?: string | undefined;\n}\n\nexport class BadgeDTO implements IBadgeDTO {\n badgeCode?: string | undefined;\n apartment?: ApartmentDTO;\n gateGuest?: GateGuestDTO;\n\n constructor(data?: IBadgeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.badgeCode = _data[\"badgeCode\"];\n this.apartment = _data[\"apartment\"] ? ApartmentDTO.fromJS(_data[\"apartment\"]) : undefined;\n this.gateGuest = _data[\"gateGuest\"] ? GateGuestDTO.fromJS(_data[\"gateGuest\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BadgeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BadgeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"badgeCode\"] = this.badgeCode;\n data[\"apartment\"] = this.apartment ? this.apartment.toJSON() : undefined;\n data[\"gateGuest\"] = this.gateGuest ? this.gateGuest.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IBadgeDTO {\n badgeCode?: string | undefined;\n apartment?: ApartmentDTO;\n gateGuest?: GateGuestDTO;\n}\n\nexport class BaseShuttersCommandSettingsObjectDTO implements IBaseShuttersCommandSettingsObjectDTO {\n shutterMode?: ShutterMode;\n\n constructor(data?: IBaseShuttersCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shutterMode = _data[\"shutterMode\"];\n }\n }\n\n static fromJS(data: any): BaseShuttersCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BaseShuttersCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shutterMode\"] = this.shutterMode;\n return data; \n }\n}\n\nexport interface IBaseShuttersCommandSettingsObjectDTO {\n shutterMode?: ShutterMode;\n}\n\nexport class BaseShuttersCommandSettingsResult implements IBaseShuttersCommandSettingsResult {\n shutterMode?: ShutterMode;\n\n constructor(data?: IBaseShuttersCommandSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shutterMode = _data[\"shutterMode\"];\n }\n }\n\n static fromJS(data: any): BaseShuttersCommandSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new BaseShuttersCommandSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shutterMode\"] = this.shutterMode;\n return data; \n }\n}\n\nexport interface IBaseShuttersCommandSettingsResult {\n shutterMode?: ShutterMode;\n}\n\n/** 0 = None 1 = Dimmer 2 = ColorTemperature 4 = Color 8 = Color1 16 = Color2 */\nexport enum BitmaskDaliLoadTypes {\n None = 0,\n Dimmer = 1,\n ColorTemperature = 2,\n Color = 4,\n Color1 = 8,\n Color2 = 16,\n}\n\nexport class BuildingCreateDTO implements IBuildingCreateDTO {\n buildingId?: string | undefined;\n name?: string | undefined;\n apartmentsCount?: number;\n\n constructor(data?: IBuildingCreateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.buildingId = _data[\"buildingId\"];\n this.name = _data[\"name\"];\n this.apartmentsCount = _data[\"apartmentsCount\"];\n }\n }\n\n static fromJS(data: any): BuildingCreateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BuildingCreateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"buildingId\"] = this.buildingId;\n data[\"name\"] = this.name;\n data[\"apartmentsCount\"] = this.apartmentsCount;\n return data; \n }\n}\n\nexport interface IBuildingCreateDTO {\n buildingId?: string | undefined;\n name?: string | undefined;\n apartmentsCount?: number;\n}\n\nexport class BuildingDTO implements IBuildingDTO {\n buildingId?: string;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n risers?: RiserDTO[] | undefined;\n floors?: FloorDTO[] | undefined;\n apartments?: ApartmentDTO[] | undefined;\n keypadCodePasspartoutCode?: string | undefined;\n\n constructor(data?: IBuildingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.buildingId = _data[\"buildingId\"];\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"risers\"])) {\n this.risers = [] as any;\n for (let item of _data[\"risers\"])\n this.risers!.push(RiserDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"floors\"])) {\n this.floors = [] as any;\n for (let item of _data[\"floors\"])\n this.floors!.push(FloorDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"apartments\"])) {\n this.apartments = [] as any;\n for (let item of _data[\"apartments\"])\n this.apartments!.push(ApartmentDTO.fromJS(item));\n }\n this.keypadCodePasspartoutCode = _data[\"keypadCodePasspartoutCode\"];\n }\n }\n\n static fromJS(data: any): BuildingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BuildingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"buildingId\"] = this.buildingId;\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n if (Array.isArray(this.risers)) {\n data[\"risers\"] = [];\n for (let item of this.risers)\n data[\"risers\"].push(item.toJSON());\n }\n if (Array.isArray(this.floors)) {\n data[\"floors\"] = [];\n for (let item of this.floors)\n data[\"floors\"].push(item.toJSON());\n }\n if (Array.isArray(this.apartments)) {\n data[\"apartments\"] = [];\n for (let item of this.apartments)\n data[\"apartments\"].push(item.toJSON());\n }\n data[\"keypadCodePasspartoutCode\"] = this.keypadCodePasspartoutCode;\n return data; \n }\n}\n\nexport interface IBuildingDTO {\n buildingId?: string;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n risers?: RiserDTO[] | undefined;\n floors?: FloorDTO[] | undefined;\n apartments?: ApartmentDTO[] | undefined;\n keypadCodePasspartoutCode?: string | undefined;\n}\n\nexport class BuildingImportDto implements IBuildingImportDto {\n buildingId?: string;\n name?: string | undefined;\n keypadCode?: string | undefined;\n apartments?: ApartmentDTO[] | undefined;\n\n constructor(data?: IBuildingImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.buildingId = _data[\"buildingId\"];\n this.name = _data[\"name\"];\n this.keypadCode = _data[\"keypadCode\"];\n if (Array.isArray(_data[\"apartments\"])) {\n this.apartments = [] as any;\n for (let item of _data[\"apartments\"])\n this.apartments!.push(ApartmentDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BuildingImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new BuildingImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"buildingId\"] = this.buildingId;\n data[\"name\"] = this.name;\n data[\"keypadCode\"] = this.keypadCode;\n if (Array.isArray(this.apartments)) {\n data[\"apartments\"] = [];\n for (let item of this.apartments)\n data[\"apartments\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IBuildingImportDto {\n buildingId?: string;\n name?: string | undefined;\n keypadCode?: string | undefined;\n apartments?: ApartmentDTO[] | undefined;\n}\n\nexport class ButtonTrigger extends Trigger implements IButtonTrigger {\n devices?: Device[] | undefined;\n\n constructor(data?: IButtonTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ButtonTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new ButtonTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IButtonTrigger extends ITrigger {\n devices?: Device[] | undefined;\n}\n\n/** 0 = Pointtopoint 1 = ToAll */\nexport enum CallType {\n Pointtopoint = 0,\n ToAll = 1,\n}\n\nexport class CallingCodeDTO implements ICallingCodeDTO {\n buildingCode?: string | undefined;\n riserCode?: string | undefined;\n floorCode?: string | undefined;\n apartmentCode?: string | undefined;\n riserDoubleChars?: boolean;\n floorDoubleChars?: boolean;\n apartmentDoubleChars?: boolean;\n\n constructor(data?: ICallingCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.buildingCode = _data[\"buildingCode\"];\n this.riserCode = _data[\"riserCode\"];\n this.floorCode = _data[\"floorCode\"];\n this.apartmentCode = _data[\"apartmentCode\"];\n this.riserDoubleChars = _data[\"riserDoubleChars\"];\n this.floorDoubleChars = _data[\"floorDoubleChars\"];\n this.apartmentDoubleChars = _data[\"apartmentDoubleChars\"];\n }\n }\n\n static fromJS(data: any): CallingCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CallingCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"buildingCode\"] = this.buildingCode;\n data[\"riserCode\"] = this.riserCode;\n data[\"floorCode\"] = this.floorCode;\n data[\"apartmentCode\"] = this.apartmentCode;\n data[\"riserDoubleChars\"] = this.riserDoubleChars;\n data[\"floorDoubleChars\"] = this.floorDoubleChars;\n data[\"apartmentDoubleChars\"] = this.apartmentDoubleChars;\n return data; \n }\n}\n\nexport interface ICallingCodeDTO {\n buildingCode?: string | undefined;\n riserCode?: string | undefined;\n floorCode?: string | undefined;\n apartmentCode?: string | undefined;\n riserDoubleChars?: boolean;\n floorDoubleChars?: boolean;\n apartmentDoubleChars?: boolean;\n}\n\nexport class CameraFunction extends VdeFunction implements ICameraFunction {\n type?: CameraType;\n\n constructor(data?: ICameraFunction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): CameraFunction {\n data = typeof data === 'object' ? data : {};\n let result = new CameraFunction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ICameraFunction extends IVdeFunction {\n type?: CameraType;\n}\n\n/** 0 = Private 1 = Public 2 = TVCC */\nexport enum CameraType {\n Private = 0,\n Public = 1,\n TVCC = 2,\n}\n\nexport class Color implements IColor {\n readonly r?: number;\n readonly g?: number;\n readonly b?: number;\n readonly a?: number;\n readonly isKnownColor?: boolean;\n readonly isEmpty?: boolean;\n readonly isNamedColor?: boolean;\n readonly isSystemColor?: boolean;\n readonly name?: string | undefined;\n\n constructor(data?: IColor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).r = _data[\"r\"];\n (this).g = _data[\"g\"];\n (this).b = _data[\"b\"];\n (this).a = _data[\"a\"];\n (this).isKnownColor = _data[\"isKnownColor\"];\n (this).isEmpty = _data[\"isEmpty\"];\n (this).isNamedColor = _data[\"isNamedColor\"];\n (this).isSystemColor = _data[\"isSystemColor\"];\n (this).name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): Color {\n data = typeof data === 'object' ? data : {};\n let result = new Color();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"r\"] = this.r;\n data[\"g\"] = this.g;\n data[\"b\"] = this.b;\n data[\"a\"] = this.a;\n data[\"isKnownColor\"] = this.isKnownColor;\n data[\"isEmpty\"] = this.isEmpty;\n data[\"isNamedColor\"] = this.isNamedColor;\n data[\"isSystemColor\"] = this.isSystemColor;\n data[\"name\"] = this.name;\n return data; \n }\n}\n\nexport interface IColor {\n r?: number;\n g?: number;\n b?: number;\n a?: number;\n isKnownColor?: boolean;\n isEmpty?: boolean;\n isNamedColor?: boolean;\n isSystemColor?: boolean;\n name?: string | undefined;\n}\n\nexport class ColoredLightExtDevice extends ExtDevice implements IColoredLightExtDevice {\n coloredLightType?: ColoredLightType;\n readonly philipsHueBridge?: string | undefined;\n readonly philipsHueLamp?: string | undefined;\n readonly philipsHueLampName?: string | undefined;\n readonly lifxLamp?: string | undefined;\n readonly dmxMacAddress?: string | undefined;\n readonly dmxNode?: string | undefined;\n\n constructor(data?: IColoredLightExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.coloredLightType = _data[\"coloredLightType\"];\n (this).philipsHueBridge = _data[\"philipsHueBridge\"];\n (this).philipsHueLamp = _data[\"philipsHueLamp\"];\n (this).philipsHueLampName = _data[\"philipsHueLampName\"];\n (this).lifxLamp = _data[\"lifxLamp\"];\n (this).dmxMacAddress = _data[\"dmxMacAddress\"];\n (this).dmxNode = _data[\"dmxNode\"];\n }\n }\n\n static fromJS(data: any): ColoredLightExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new ColoredLightExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"coloredLightType\"] = this.coloredLightType;\n data[\"philipsHueBridge\"] = this.philipsHueBridge;\n data[\"philipsHueLamp\"] = this.philipsHueLamp;\n data[\"philipsHueLampName\"] = this.philipsHueLampName;\n data[\"lifxLamp\"] = this.lifxLamp;\n data[\"dmxMacAddress\"] = this.dmxMacAddress;\n data[\"dmxNode\"] = this.dmxNode;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IColoredLightExtDevice extends IExtDevice {\n coloredLightType?: ColoredLightType;\n philipsHueBridge?: string | undefined;\n philipsHueLamp?: string | undefined;\n philipsHueLampName?: string | undefined;\n lifxLamp?: string | undefined;\n dmxMacAddress?: string | undefined;\n dmxNode?: string | undefined;\n}\n\n/** 0 = None 1 = PhilipsHue 2 = Lifx 3 = Dmx */\nexport enum ColoredLightType {\n None = 0,\n PhilipsHue = 1,\n Lifx = 2,\n Dmx = 3,\n}\n\n/** 0 = None 1 = Up 2 = Down */\nexport enum CommandDirection {\n None = 0,\n Up = 1,\n Down = 2,\n}\n\n/** 0 = None 1 = Generic1 2 = Generic2 3 = Generic3 4 = Generic4 5 = Generic5 6 = Generic6 7 = Generic7 8 = Generic8 9 = Generic9 10 = Day 11 = Night 12 = Entrance 13 = Exit 14 = Key 15 = Fan 16 = Ring 17 = A 18 = B 19 = C 20 = D 21 = E 22 = F 23 = G 24 = H 25 = I 26 = J 27 = K 28 = L 29 = M 30 = N 31 = O 32 = P 33 = Q 34 = R 35 = S 36 = T 37 = U 38 = V 39 = W 40 = X 41 = Y 42 = Z 43 = Zero 44 = One 45 = Two 46 = Three 47 = Four 48 = Five 49 = Six 50 = Seven 51 = Eight 52 = Nine 53 = DefaultLoad 54 = Disabled1M 55 = Disabled2M 56 = Disabled3M 57 = LightGroup 58 = Shutter 59 = DimmerP2P 60 = DimmerGroup 61 = Player 62 = Disabled1Mb 63 = Disabled3Mb 64 = C_wrong */\nexport enum CommandIcon {\n None = 0,\n Generic1 = 1,\n Generic2 = 2,\n Generic3 = 3,\n Generic4 = 4,\n Generic5 = 5,\n Generic6 = 6,\n Generic7 = 7,\n Generic8 = 8,\n Generic9 = 9,\n Day = 10,\n Night = 11,\n Entrance = 12,\n Exit = 13,\n Key = 14,\n Fan = 15,\n Ring = 16,\n A = 17,\n B = 18,\n C = 19,\n D = 20,\n E = 21,\n F = 22,\n G = 23,\n H = 24,\n I = 25,\n J = 26,\n K = 27,\n L = 28,\n M = 29,\n N = 30,\n O = 31,\n P = 32,\n Q = 33,\n R = 34,\n S = 35,\n T = 36,\n U = 37,\n V = 38,\n W = 39,\n X = 40,\n Y = 41,\n Z = 42,\n Zero = 43,\n One = 44,\n Two = 45,\n Three = 46,\n Four = 47,\n Five = 48,\n Six = 49,\n Seven = 50,\n Eight = 51,\n Nine = 52,\n DefaultLoad = 53,\n Disabled1M = 54,\n Disabled2M = 55,\n Disabled3M = 56,\n LightGroup = 57,\n Shutter = 58,\n DimmerP2P = 59,\n DimmerGroup = 60,\n Player = 61,\n Disabled1Mb = 62,\n Disabled3Mb = 63,\n C_wrong = 64,\n}\n\n/** 0 = HalfSecond 1 = TwoSecond */\nexport enum CommandOpeningTime {\n HalfSecond = 0,\n TwoSecond = 1,\n}\n\nexport class CommandSettings implements ICommandSettings {\n\n constructor(data?: ICommandSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): CommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new CommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data; \n }\n}\n\nexport interface ICommandSettings {\n}\n\n/** 0 = None 1 = Thermo 2 = Probe 3 = Actuator 4 = ShutterActuator 5 = DimmerActuator 6 = Command 7 = ShutterCommand 8 = ShutterActuatorCommand 9 = DimmerCommand 10 = SceneCommand 11 = Contact 12 = PlayerCommand 13 = BlindActuator 14 = MusicPlayer 15 = SensorCommand 16 = ColoredLight 17 = Xmeter 18 = DimmerDaliActuator 19 = GatewayDaliActuator 20 = EnergyMeter 21 = LoadCentralUnit 22 = LoadControlActuactor 23 = LoadControlCommand 24 = LockVDECommand 25 = ActuatorLockVDE 26 = StaircaseLightCommand 27 = FloorCallCommand */\nexport enum ComponentType {\n None = 0,\n Thermo = 1,\n Probe = 2,\n Actuator = 3,\n ShutterActuator = 4,\n DimmerActuator = 5,\n Command = 6,\n ShutterCommand = 7,\n ShutterActuatorCommand = 8,\n DimmerCommand = 9,\n SceneCommand = 10,\n Contact = 11,\n PlayerCommand = 12,\n BlindActuator = 13,\n MusicPlayer = 14,\n SensorCommand = 15,\n ColoredLight = 16,\n Xmeter = 17,\n DimmerDaliActuator = 18,\n GatewayDaliActuator = 19,\n EnergyMeter = 20,\n LoadCentralUnit = 21,\n LoadControlActuactor = 22,\n LoadControlCommand = 23,\n LockVDECommand = 24,\n ActuatorLockVDE = 25,\n StaircaseLightCommand = 26,\n FloorCallCommand = 27,\n}\n\n/** 0 = NoActuator 1 = NoCommand 2 = NoActuatorAndCommand 3 = NoProblem */\nexport enum CompromisedType {\n NoActuator = 0,\n NoCommand = 1,\n NoActuatorAndCommand = 2,\n NoProblem = 3,\n}\n\n/** 0 = None 1 = NormallyOpen 2 = NormallyClose */\nexport enum ConctactType {\n None = 0,\n NormallyOpen = 1,\n NormallyClose = 2,\n}\n\nexport class ConditionDTO implements IConditionDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n conditionParams?: Condition | undefined;\n\n constructor(data?: IConditionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.objectName = _data[\"objectName\"];\n this.sceneObjectType = _data[\"sceneObjectType\"];\n this.conditionParams = _data[\"conditionParams\"] ? Condition.fromJS(_data[\"conditionParams\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ConditionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ConditionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"objectName\"] = this.objectName;\n data[\"sceneObjectType\"] = this.sceneObjectType;\n data[\"conditionParams\"] = this.conditionParams ? this.conditionParams.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IConditionDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n conditionParams?: Condition | undefined;\n}\n\n/** 0 = None 1 = Mostrine 2 = Preset */\nexport enum ConfigurationType {\n None = 0,\n Mostrine = 1,\n Preset = 2,\n}\n\n/** 0 = NoAction 1 = Protection 2 = Manual 3 = PreviousState */\nexport enum ContactType {\n NoAction = 0,\n Protection = 1,\n Manual = 2,\n PreviousState = 3,\n}\n\n/** 0 = None 1 = DaliDimmer 2 = DaliGateway */\nexport enum DaliType {\n None = 0,\n DaliDimmer = 1,\n DaliGateway = 2,\n}\n\nexport class DateAndTimeTrigger extends Trigger implements IDateAndTimeTrigger {\n time?: string;\n weekDays?: WeekDay[] | undefined;\n\n constructor(data?: IDateAndTimeTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.time = _data[\"time\"];\n if (Array.isArray(_data[\"weekDays\"])) {\n this.weekDays = [] as any;\n for (let item of _data[\"weekDays\"])\n this.weekDays!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DateAndTimeTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new DateAndTimeTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"time\"] = this.time;\n if (Array.isArray(this.weekDays)) {\n data[\"weekDays\"] = [];\n for (let item of this.weekDays)\n data[\"weekDays\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDateAndTimeTrigger extends ITrigger {\n time?: string;\n weekDays?: WeekDay[] | undefined;\n}\n\nexport class DefaultDevicesSettingsDTO implements IDefaultDevicesSettingsDTO {\n deviceUid?: string | undefined;\n thermoProbeSettings?: ThermoProbeSettingsObjectParam;\n shuttersActuatorSettings?: ShuttersActuatorSettingsObjectParam;\n lightsActuatorSettings?: LightsActuatorSettingsObjectDTO;\n lockCommandSettings?: LockCommandSettingsObjectDTO;\n lockActuatorSettings?: LockActuatorSettingsObjectParam;\n lightsCommandSettings?: LightsCommandSettingsObjectDTO;\n shuttersCommandSettings?: ShuttersCommandSettingsObjectDTO;\n selectedCommandIcon?: CommandIcon;\n hasChangeIconButtonVisible?: boolean;\n activeLinksLabel?: string | undefined;\n selectedComponentType?: ComponentType;\n thermoActuatorType?: ThermoActuatorType;\n isAggregateRoomObject?: boolean;\n roomType?: RoomType;\n identifier?: string | undefined;\n\n constructor(data?: IDefaultDevicesSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceUid = _data[\"deviceUid\"];\n this.thermoProbeSettings = _data[\"thermoProbeSettings\"] ? ThermoProbeSettingsObjectParam.fromJS(_data[\"thermoProbeSettings\"]) : undefined;\n this.shuttersActuatorSettings = _data[\"shuttersActuatorSettings\"] ? ShuttersActuatorSettingsObjectParam.fromJS(_data[\"shuttersActuatorSettings\"]) : undefined;\n this.lightsActuatorSettings = _data[\"lightsActuatorSettings\"] ? LightsActuatorSettingsObjectDTO.fromJS(_data[\"lightsActuatorSettings\"]) : undefined;\n this.lockCommandSettings = _data[\"lockCommandSettings\"] ? LockCommandSettingsObjectDTO.fromJS(_data[\"lockCommandSettings\"]) : undefined;\n this.lockActuatorSettings = _data[\"lockActuatorSettings\"] ? LockActuatorSettingsObjectParam.fromJS(_data[\"lockActuatorSettings\"]) : undefined;\n this.lightsCommandSettings = _data[\"lightsCommandSettings\"] ? LightsCommandSettingsObjectDTO.fromJS(_data[\"lightsCommandSettings\"]) : undefined;\n this.shuttersCommandSettings = _data[\"shuttersCommandSettings\"] ? ShuttersCommandSettingsObjectDTO.fromJS(_data[\"shuttersCommandSettings\"]) : undefined;\n this.selectedCommandIcon = _data[\"selectedCommandIcon\"];\n this.hasChangeIconButtonVisible = _data[\"hasChangeIconButtonVisible\"];\n this.activeLinksLabel = _data[\"activeLinksLabel\"];\n this.selectedComponentType = _data[\"selectedComponentType\"];\n this.thermoActuatorType = _data[\"thermoActuatorType\"];\n this.isAggregateRoomObject = _data[\"isAggregateRoomObject\"];\n this.roomType = _data[\"roomType\"];\n this.identifier = _data[\"identifier\"];\n }\n }\n\n static fromJS(data: any): DefaultDevicesSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DefaultDevicesSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceUid\"] = this.deviceUid;\n data[\"thermoProbeSettings\"] = this.thermoProbeSettings ? this.thermoProbeSettings.toJSON() : undefined;\n data[\"shuttersActuatorSettings\"] = this.shuttersActuatorSettings ? this.shuttersActuatorSettings.toJSON() : undefined;\n data[\"lightsActuatorSettings\"] = this.lightsActuatorSettings ? this.lightsActuatorSettings.toJSON() : undefined;\n data[\"lockCommandSettings\"] = this.lockCommandSettings ? this.lockCommandSettings.toJSON() : undefined;\n data[\"lockActuatorSettings\"] = this.lockActuatorSettings ? this.lockActuatorSettings.toJSON() : undefined;\n data[\"lightsCommandSettings\"] = this.lightsCommandSettings ? this.lightsCommandSettings.toJSON() : undefined;\n data[\"shuttersCommandSettings\"] = this.shuttersCommandSettings ? this.shuttersCommandSettings.toJSON() : undefined;\n data[\"selectedCommandIcon\"] = this.selectedCommandIcon;\n data[\"hasChangeIconButtonVisible\"] = this.hasChangeIconButtonVisible;\n data[\"activeLinksLabel\"] = this.activeLinksLabel;\n data[\"selectedComponentType\"] = this.selectedComponentType;\n data[\"thermoActuatorType\"] = this.thermoActuatorType;\n data[\"isAggregateRoomObject\"] = this.isAggregateRoomObject;\n data[\"roomType\"] = this.roomType;\n data[\"identifier\"] = this.identifier;\n return data; \n }\n}\n\nexport interface IDefaultDevicesSettingsDTO {\n deviceUid?: string | undefined;\n thermoProbeSettings?: ThermoProbeSettingsObjectParam;\n shuttersActuatorSettings?: ShuttersActuatorSettingsObjectParam;\n lightsActuatorSettings?: LightsActuatorSettingsObjectDTO;\n lockCommandSettings?: LockCommandSettingsObjectDTO;\n lockActuatorSettings?: LockActuatorSettingsObjectParam;\n lightsCommandSettings?: LightsCommandSettingsObjectDTO;\n shuttersCommandSettings?: ShuttersCommandSettingsObjectDTO;\n selectedCommandIcon?: CommandIcon;\n hasChangeIconButtonVisible?: boolean;\n activeLinksLabel?: string | undefined;\n selectedComponentType?: ComponentType;\n thermoActuatorType?: ThermoActuatorType;\n isAggregateRoomObject?: boolean;\n roomType?: RoomType;\n identifier?: string | undefined;\n}\n\nexport class ObjectAction extends Action implements IObjectAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n sceneShutterState?: SceneShutterState;\n sceneShutterPosition?: number;\n isShutterPositionManagement?: boolean;\n sceneSocketState?: SceneSocketState;\n sceneBlindState?: SceneBlindState;\n sceneLockState?: SceneLockState;\n thermostatStatus?: ThermostatStatus;\n thermostatTypeOfObject?: ThermoTypeOfObject;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermostatTriggerTemperature?: number;\n sceneFancoilState?: SceneFancoilState;\n fancoilSpeed?: number;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceType?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n alarmPin?: string | undefined;\n alarmPartitions?: Action[] | undefined;\n alarmPartitionStatus?: AlarmPartitionStatus;\n alarmSensorStatusScene?: AlarmSensorStatusScene;\n alarmPartitionorSceneId?: string | undefined;\n alarmType?: AlarmType;\n duration?: number | undefined;\n delay?: number | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n\n constructor(data?: IObjectAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.sceneLightState = _data[\"sceneLightState\"];\n this.dimmerStatus = _data[\"dimmerStatus\"];\n this.dimmerPercentage = _data[\"dimmerPercentage\"];\n this.dimmerFadeIn = _data[\"dimmerFadeIn\"];\n this.dimmerFadeOut = _data[\"dimmerFadeOut\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.workingMode = _data[\"workingMode\"];\n this.temperature = _data[\"temperature\"];\n this.sceneShutterState = _data[\"sceneShutterState\"];\n this.sceneShutterPosition = _data[\"sceneShutterPosition\"];\n this.isShutterPositionManagement = _data[\"isShutterPositionManagement\"];\n this.sceneSocketState = _data[\"sceneSocketState\"];\n this.sceneBlindState = _data[\"sceneBlindState\"];\n this.sceneLockState = _data[\"sceneLockState\"];\n this.thermostatStatus = _data[\"thermostatStatus\"];\n this.thermostatTypeOfObject = _data[\"thermostatTypeOfObject\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n this.thermostatTriggerTemperature = _data[\"thermostatTriggerTemperature\"];\n this.sceneFancoilState = _data[\"sceneFancoilState\"];\n this.fancoilSpeed = _data[\"fancoilSpeed\"];\n this.sceneTowelWarmerState = _data[\"sceneTowelWarmerState\"];\n this.sceneColoredLightsState = _data[\"sceneColoredLightsState\"];\n this.coloredLightsIntensity = _data[\"coloredLightsIntensity\"];\n this.coloredLightsTemperature = _data[\"coloredLightsTemperature\"];\n this.coloredLightsColor = _data[\"coloredLightsColor\"];\n this.scenePlayerState = _data[\"scenePlayerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.playerSourceType = _data[\"playerSourceType\"];\n this.playerSourceId = _data[\"playerSourceId\"];\n this.playerSourceDescription = _data[\"playerSourceDescription\"];\n this.alarmPin = _data[\"alarmPin\"];\n if (Array.isArray(_data[\"alarmPartitions\"])) {\n this.alarmPartitions = [] as any;\n for (let item of _data[\"alarmPartitions\"])\n this.alarmPartitions!.push(Action.fromJS(item));\n }\n this.alarmPartitionStatus = _data[\"alarmPartitionStatus\"];\n this.alarmSensorStatusScene = _data[\"alarmSensorStatusScene\"];\n this.alarmPartitionorSceneId = _data[\"alarmPartitionorSceneId\"];\n this.alarmType = _data[\"alarmType\"];\n this.duration = _data[\"duration\"];\n this.delay = _data[\"delay\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n }\n }\n\n static fromJS(data: any): ObjectAction {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"sceneLightState\"] = this.sceneLightState;\n data[\"dimmerStatus\"] = this.dimmerStatus;\n data[\"dimmerPercentage\"] = this.dimmerPercentage;\n data[\"dimmerFadeIn\"] = this.dimmerFadeIn;\n data[\"dimmerFadeOut\"] = this.dimmerFadeOut;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"workingMode\"] = this.workingMode;\n data[\"temperature\"] = this.temperature;\n data[\"sceneShutterState\"] = this.sceneShutterState;\n data[\"sceneShutterPosition\"] = this.sceneShutterPosition;\n data[\"isShutterPositionManagement\"] = this.isShutterPositionManagement;\n data[\"sceneSocketState\"] = this.sceneSocketState;\n data[\"sceneBlindState\"] = this.sceneBlindState;\n data[\"sceneLockState\"] = this.sceneLockState;\n data[\"thermostatStatus\"] = this.thermostatStatus;\n data[\"thermostatTypeOfObject\"] = this.thermostatTypeOfObject;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n data[\"thermostatTriggerTemperature\"] = this.thermostatTriggerTemperature;\n data[\"sceneFancoilState\"] = this.sceneFancoilState;\n data[\"fancoilSpeed\"] = this.fancoilSpeed;\n data[\"sceneTowelWarmerState\"] = this.sceneTowelWarmerState;\n data[\"sceneColoredLightsState\"] = this.sceneColoredLightsState;\n data[\"coloredLightsIntensity\"] = this.coloredLightsIntensity;\n data[\"coloredLightsTemperature\"] = this.coloredLightsTemperature;\n data[\"coloredLightsColor\"] = this.coloredLightsColor;\n data[\"scenePlayerState\"] = this.scenePlayerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"playerSourceType\"] = this.playerSourceType;\n data[\"playerSourceId\"] = this.playerSourceId;\n data[\"playerSourceDescription\"] = this.playerSourceDescription;\n data[\"alarmPin\"] = this.alarmPin;\n if (Array.isArray(this.alarmPartitions)) {\n data[\"alarmPartitions\"] = [];\n for (let item of this.alarmPartitions)\n data[\"alarmPartitions\"].push(item.toJSON());\n }\n data[\"alarmPartitionStatus\"] = this.alarmPartitionStatus;\n data[\"alarmSensorStatusScene\"] = this.alarmSensorStatusScene;\n data[\"alarmPartitionorSceneId\"] = this.alarmPartitionorSceneId;\n data[\"alarmType\"] = this.alarmType;\n data[\"duration\"] = this.duration;\n data[\"delay\"] = this.delay;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectAction extends IAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n sceneShutterState?: SceneShutterState;\n sceneShutterPosition?: number;\n isShutterPositionManagement?: boolean;\n sceneSocketState?: SceneSocketState;\n sceneBlindState?: SceneBlindState;\n sceneLockState?: SceneLockState;\n thermostatStatus?: ThermostatStatus;\n thermostatTypeOfObject?: ThermoTypeOfObject;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermostatTriggerTemperature?: number;\n sceneFancoilState?: SceneFancoilState;\n fancoilSpeed?: number;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceType?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n alarmPin?: string | undefined;\n alarmPartitions?: Action[] | undefined;\n alarmPartitionStatus?: AlarmPartitionStatus;\n alarmSensorStatusScene?: AlarmSensorStatusScene;\n alarmPartitionorSceneId?: string | undefined;\n alarmType?: AlarmType;\n duration?: number | undefined;\n delay?: number | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n}\n\nexport class DefaultObjectAction extends ObjectAction implements IDefaultObjectAction {\n isEnabled?: boolean;\n\n constructor(data?: IDefaultObjectAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n }\n }\n\n static fromJS(data: any): DefaultObjectAction {\n data = typeof data === 'object' ? data : {};\n let result = new DefaultObjectAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDefaultObjectAction extends IObjectAction {\n isEnabled?: boolean;\n}\n\nexport class DelayValue implements IDelayValue {\n value?: number;\n description?: string | undefined;\n\n constructor(data?: IDelayValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): DelayValue {\n data = typeof data === 'object' ? data : {};\n let result = new DelayValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"description\"] = this.description;\n return data; \n }\n}\n\nexport interface IDelayValue {\n value?: number;\n description?: string | undefined;\n}\n\n/** 0 = Numbers 1 = Letters */\nexport enum DenominationMode {\n Numbers = 0,\n Letters = 1,\n}\n\nexport class Device implements IDevice {\n uid?: string | undefined;\n id?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n hasSubModule?: boolean;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isF422Acompatible?: boolean;\n problemType?: ProblemType;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n thermoSystemControlType?: SystemControlType[] | undefined;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n interface?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n hasChanges?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n firmwareVersion?: Version;\n\n constructor(data?: IDevice) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uid = _data[\"uid\"];\n this.id = _data[\"id\"];\n this.model = _data[\"model\"];\n this.modelObject = _data[\"modelObject\"];\n this.hasSubModule = _data[\"hasSubModule\"];\n this.isManaged = _data[\"isManaged\"];\n this.isShutterWithPosition = _data[\"isShutterWithPosition\"];\n this.canHandlePreset = _data[\"canHandlePreset\"];\n this.isAnomaly = _data[\"isAnomaly\"];\n this.isBlocking = _data[\"isBlocking\"];\n this.isF422Acompatible = _data[\"isF422Acompatible\"];\n this.problemType = _data[\"problemType\"];\n this.isIgnored = _data[\"isIgnored\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(Slot.fromJS(item));\n }\n this.functionType = _data[\"functionType\"];\n this.systemType = _data[\"systemType\"];\n if (Array.isArray(_data[\"componentTypes\"])) {\n this.componentTypes = [] as any;\n for (let item of _data[\"componentTypes\"])\n this.componentTypes!.push(item);\n }\n this.isDoubleDimmer = _data[\"isDoubleDimmer\"];\n this.canHandleDoubleDimmer = _data[\"canHandleDoubleDimmer\"];\n if (Array.isArray(_data[\"thermoSystemControlType\"])) {\n this.thermoSystemControlType = [] as any;\n for (let item of _data[\"thermoSystemControlType\"])\n this.thermoSystemControlType!.push(item);\n }\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.interface = _data[\"interface\"];\n this.ledModality = _data[\"ledModality\"];\n this.hasRefresherFeedback = _data[\"hasRefresherFeedback\"];\n this.hasChanges = _data[\"hasChanges\"];\n this.fwVersion = _data[\"fwVersion\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n this.firmwareVersion = _data[\"firmwareVersion\"] ? Version.fromJS(_data[\"firmwareVersion\"]) : undefined;\n }\n }\n\n static fromJS(data: any): Device {\n data = typeof data === 'object' ? data : {};\n let result = new Device();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uid\"] = this.uid;\n data[\"id\"] = this.id;\n data[\"model\"] = this.model;\n data[\"modelObject\"] = this.modelObject;\n data[\"hasSubModule\"] = this.hasSubModule;\n data[\"isManaged\"] = this.isManaged;\n data[\"isShutterWithPosition\"] = this.isShutterWithPosition;\n data[\"canHandlePreset\"] = this.canHandlePreset;\n data[\"isAnomaly\"] = this.isAnomaly;\n data[\"isBlocking\"] = this.isBlocking;\n data[\"isF422Acompatible\"] = this.isF422Acompatible;\n data[\"problemType\"] = this.problemType;\n data[\"isIgnored\"] = this.isIgnored;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"functionType\"] = this.functionType;\n data[\"systemType\"] = this.systemType;\n if (Array.isArray(this.componentTypes)) {\n data[\"componentTypes\"] = [];\n for (let item of this.componentTypes)\n data[\"componentTypes\"].push(item);\n }\n data[\"isDoubleDimmer\"] = this.isDoubleDimmer;\n data[\"canHandleDoubleDimmer\"] = this.canHandleDoubleDimmer;\n if (Array.isArray(this.thermoSystemControlType)) {\n data[\"thermoSystemControlType\"] = [];\n for (let item of this.thermoSystemControlType)\n data[\"thermoSystemControlType\"].push(item);\n }\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"interface\"] = this.interface;\n data[\"ledModality\"] = this.ledModality;\n data[\"hasRefresherFeedback\"] = this.hasRefresherFeedback;\n data[\"hasChanges\"] = this.hasChanges;\n data[\"fwVersion\"] = this.fwVersion;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n data[\"firmwareVersion\"] = this.firmwareVersion ? this.firmwareVersion.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IDevice {\n uid?: string | undefined;\n id?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n hasSubModule?: boolean;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isF422Acompatible?: boolean;\n problemType?: ProblemType;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n thermoSystemControlType?: SystemControlType[] | undefined;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n interface?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n hasChanges?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n firmwareVersion?: Version;\n}\n\n/** 0 = None 1 = Min 2 = Max 3 = Med 4 = Off */\nexport enum DeviceBrightness {\n None = 0,\n Min = 1,\n Max = 2,\n Med = 3,\n Off = 4,\n}\n\nexport class DeviceDTO implements IDeviceDTO {\n uid?: string | undefined;\n id?: string | undefined;\n name?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n problemType?: ProblemType;\n readonly isActuatorDevice?: boolean;\n readonly isCommandDevice?: boolean;\n readonly isThermostatDevice?: boolean;\n readonly isThermoProbeDevice?: boolean;\n readonly isAssigned?: boolean;\n readonly isAssignedCommand?: boolean;\n readonly isAssignedActuator?: boolean;\n readonly isAssignedActuatorAndCommand?: boolean;\n selectedComponentType?: ComponentType;\n settingsVisibility?: DeviceSettingsVisibilityDTO;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n defaultSettings?: DefaultDevicesSettingsDTO[] | undefined;\n\n constructor(data?: IDeviceDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uid = _data[\"uid\"];\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.model = _data[\"model\"];\n this.modelObject = _data[\"modelObject\"];\n this.isManaged = _data[\"isManaged\"];\n this.isShutterWithPosition = _data[\"isShutterWithPosition\"];\n this.canHandlePreset = _data[\"canHandlePreset\"];\n this.isAnomaly = _data[\"isAnomaly\"];\n this.isBlocking = _data[\"isBlocking\"];\n this.isIgnored = _data[\"isIgnored\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(Slot.fromJS(item));\n }\n this.functionType = _data[\"functionType\"];\n this.systemType = _data[\"systemType\"];\n if (Array.isArray(_data[\"componentTypes\"])) {\n this.componentTypes = [] as any;\n for (let item of _data[\"componentTypes\"])\n this.componentTypes!.push(item);\n }\n this.isDoubleDimmer = _data[\"isDoubleDimmer\"];\n this.canHandleDoubleDimmer = _data[\"canHandleDoubleDimmer\"];\n this.problemType = _data[\"problemType\"];\n (this).isActuatorDevice = _data[\"isActuatorDevice\"];\n (this).isCommandDevice = _data[\"isCommandDevice\"];\n (this).isThermostatDevice = _data[\"isThermostatDevice\"];\n (this).isThermoProbeDevice = _data[\"isThermoProbeDevice\"];\n (this).isAssigned = _data[\"isAssigned\"];\n (this).isAssignedCommand = _data[\"isAssignedCommand\"];\n (this).isAssignedActuator = _data[\"isAssignedActuator\"];\n (this).isAssignedActuatorAndCommand = _data[\"isAssignedActuatorAndCommand\"];\n this.selectedComponentType = _data[\"selectedComponentType\"];\n this.settingsVisibility = _data[\"settingsVisibility\"] ? DeviceSettingsVisibilityDTO.fromJS(_data[\"settingsVisibility\"]) : undefined;\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.hasRefresherFeedback = _data[\"hasRefresherFeedback\"];\n this.fwVersion = _data[\"fwVersion\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n if (Array.isArray(_data[\"defaultSettings\"])) {\n this.defaultSettings = [] as any;\n for (let item of _data[\"defaultSettings\"])\n this.defaultSettings!.push(DefaultDevicesSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DeviceDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uid\"] = this.uid;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"model\"] = this.model;\n data[\"modelObject\"] = this.modelObject;\n data[\"isManaged\"] = this.isManaged;\n data[\"isShutterWithPosition\"] = this.isShutterWithPosition;\n data[\"canHandlePreset\"] = this.canHandlePreset;\n data[\"isAnomaly\"] = this.isAnomaly;\n data[\"isBlocking\"] = this.isBlocking;\n data[\"isIgnored\"] = this.isIgnored;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"functionType\"] = this.functionType;\n data[\"systemType\"] = this.systemType;\n if (Array.isArray(this.componentTypes)) {\n data[\"componentTypes\"] = [];\n for (let item of this.componentTypes)\n data[\"componentTypes\"].push(item);\n }\n data[\"isDoubleDimmer\"] = this.isDoubleDimmer;\n data[\"canHandleDoubleDimmer\"] = this.canHandleDoubleDimmer;\n data[\"problemType\"] = this.problemType;\n data[\"isActuatorDevice\"] = this.isActuatorDevice;\n data[\"isCommandDevice\"] = this.isCommandDevice;\n data[\"isThermostatDevice\"] = this.isThermostatDevice;\n data[\"isThermoProbeDevice\"] = this.isThermoProbeDevice;\n data[\"isAssigned\"] = this.isAssigned;\n data[\"isAssignedCommand\"] = this.isAssignedCommand;\n data[\"isAssignedActuator\"] = this.isAssignedActuator;\n data[\"isAssignedActuatorAndCommand\"] = this.isAssignedActuatorAndCommand;\n data[\"selectedComponentType\"] = this.selectedComponentType;\n data[\"settingsVisibility\"] = this.settingsVisibility ? this.settingsVisibility.toJSON() : undefined;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"hasRefresherFeedback\"] = this.hasRefresherFeedback;\n data[\"fwVersion\"] = this.fwVersion;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n if (Array.isArray(this.defaultSettings)) {\n data[\"defaultSettings\"] = [];\n for (let item of this.defaultSettings)\n data[\"defaultSettings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IDeviceDTO {\n uid?: string | undefined;\n id?: string | undefined;\n name?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n problemType?: ProblemType;\n isActuatorDevice?: boolean;\n isCommandDevice?: boolean;\n isThermostatDevice?: boolean;\n isThermoProbeDevice?: boolean;\n isAssigned?: boolean;\n isAssignedCommand?: boolean;\n isAssignedActuator?: boolean;\n isAssignedActuatorAndCommand?: boolean;\n selectedComponentType?: ComponentType;\n settingsVisibility?: DeviceSettingsVisibilityDTO;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n defaultSettings?: DefaultDevicesSettingsDTO[] | undefined;\n}\n\nexport class DeviceGlobalSettingsDTO implements IDeviceGlobalSettingsDTO {\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n\n constructor(data?: IDeviceGlobalSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.hasRefresherFeedback = _data[\"hasRefresherFeedback\"];\n }\n }\n\n static fromJS(data: any): DeviceGlobalSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceGlobalSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"hasRefresherFeedback\"] = this.hasRefresherFeedback;\n return data; \n }\n}\n\nexport interface IDeviceGlobalSettingsDTO {\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n}\n\n/** 0 = None 1 = AtTouch 2 = Always */\nexport enum DeviceIconsVisibility {\n None = 0,\n AtTouch = 1,\n Always = 2,\n}\n\n/** 0 = On 1 = OnDuringUpdate 2 = Off */\nexport enum DeviceLedModality {\n On = 0,\n OnDuringUpdate = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Min 2 = Med 3 = Max */\nexport enum DeviceProximity {\n None = 0,\n Min = 1,\n Med = 2,\n Max = 3,\n}\n\nexport class DeviceSettingsDTO implements IDeviceSettingsDTO {\n deviceId?: string | undefined;\n lightsActuatorSettings?: LightsActuatorSettingsResultList;\n lightsCommandSettings?: LightsCommandSettingsResultList;\n lockActuatorSettings?: LockActuatorSettingsResult;\n lockCommandSettingsResult?: LockCommandSettingsResultList;\n shutterActuatorSettings?: ShutterActuatorSettingsResult;\n shutterCommandSettings?: ShutterCommandSettingsResultList;\n thermoProbeSettings?: ThermoProbeSettingsResult;\n commandIcon?: CommandIcon;\n\n constructor(data?: IDeviceSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceId = _data[\"deviceId\"];\n this.lightsActuatorSettings = _data[\"lightsActuatorSettings\"] ? LightsActuatorSettingsResultList.fromJS(_data[\"lightsActuatorSettings\"]) : undefined;\n this.lightsCommandSettings = _data[\"lightsCommandSettings\"] ? LightsCommandSettingsResultList.fromJS(_data[\"lightsCommandSettings\"]) : undefined;\n this.lockActuatorSettings = _data[\"lockActuatorSettings\"] ? LockActuatorSettingsResult.fromJS(_data[\"lockActuatorSettings\"]) : undefined;\n this.lockCommandSettingsResult = _data[\"lockCommandSettingsResult\"] ? LockCommandSettingsResultList.fromJS(_data[\"lockCommandSettingsResult\"]) : undefined;\n this.shutterActuatorSettings = _data[\"shutterActuatorSettings\"] ? ShutterActuatorSettingsResult.fromJS(_data[\"shutterActuatorSettings\"]) : undefined;\n this.shutterCommandSettings = _data[\"shutterCommandSettings\"] ? ShutterCommandSettingsResultList.fromJS(_data[\"shutterCommandSettings\"]) : undefined;\n this.thermoProbeSettings = _data[\"thermoProbeSettings\"] ? ThermoProbeSettingsResult.fromJS(_data[\"thermoProbeSettings\"]) : undefined;\n this.commandIcon = _data[\"commandIcon\"];\n }\n }\n\n static fromJS(data: any): DeviceSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceId\"] = this.deviceId;\n data[\"lightsActuatorSettings\"] = this.lightsActuatorSettings ? this.lightsActuatorSettings.toJSON() : undefined;\n data[\"lightsCommandSettings\"] = this.lightsCommandSettings ? this.lightsCommandSettings.toJSON() : undefined;\n data[\"lockActuatorSettings\"] = this.lockActuatorSettings ? this.lockActuatorSettings.toJSON() : undefined;\n data[\"lockCommandSettingsResult\"] = this.lockCommandSettingsResult ? this.lockCommandSettingsResult.toJSON() : undefined;\n data[\"shutterActuatorSettings\"] = this.shutterActuatorSettings ? this.shutterActuatorSettings.toJSON() : undefined;\n data[\"shutterCommandSettings\"] = this.shutterCommandSettings ? this.shutterCommandSettings.toJSON() : undefined;\n data[\"thermoProbeSettings\"] = this.thermoProbeSettings ? this.thermoProbeSettings.toJSON() : undefined;\n data[\"commandIcon\"] = this.commandIcon;\n return data; \n }\n}\n\nexport interface IDeviceSettingsDTO {\n deviceId?: string | undefined;\n lightsActuatorSettings?: LightsActuatorSettingsResultList;\n lightsCommandSettings?: LightsCommandSettingsResultList;\n lockActuatorSettings?: LockActuatorSettingsResult;\n lockCommandSettingsResult?: LockCommandSettingsResultList;\n shutterActuatorSettings?: ShutterActuatorSettingsResult;\n shutterCommandSettings?: ShutterCommandSettingsResultList;\n thermoProbeSettings?: ThermoProbeSettingsResult;\n commandIcon?: CommandIcon;\n}\n\nexport class DeviceSettingsVisibilityDTO implements IDeviceSettingsVisibilityDTO {\n hasSettings?: boolean;\n hasBrightness?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntensity?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n\n constructor(data?: IDeviceSettingsVisibilityDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasSettings = _data[\"hasSettings\"];\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntensity = _data[\"hasLedIntensity\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n }\n }\n\n static fromJS(data: any): DeviceSettingsVisibilityDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceSettingsVisibilityDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasSettings\"] = this.hasSettings;\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntensity\"] = this.hasLedIntensity;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n return data; \n }\n}\n\nexport interface IDeviceSettingsVisibilityDTO {\n hasSettings?: boolean;\n hasBrightness?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntensity?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n}\n\n/** 0 = ALL 1 = ACTUATORS 2 = COMMANDS 3 = THERMO 4 = THERMO_PROBE 5 = THERMO_HEATING_ACTUATORS 6 = THERMO_COOLING_ACTUATORS 7 = THERMO_HEATING_PUMPS 8 = THERMO_COOLING_PUMPS 9 = THERMO_SHARED_ACTUATORS 10 = THERMO_SHARED_PUMPS */\nexport enum DevicesFilterByType {\n ALL = 0,\n ACTUATORS = 1,\n COMMANDS = 2,\n THERMO = 3,\n THERMO_PROBE = 4,\n THERMO_HEATING_ACTUATORS = 5,\n THERMO_COOLING_ACTUATORS = 6,\n THERMO_HEATING_PUMPS = 7,\n THERMO_COOLING_PUMPS = 8,\n THERMO_SHARED_ACTUATORS = 9,\n THERMO_SHARED_PUMPS = 10,\n}\n\nexport class DimmerDaliActuatorSettings extends ActuatorSettings implements IDimmerDaliActuatorSettings {\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n hasPUL?: boolean;\n loadDaliTypes?: BitmaskDaliLoadTypes[] | undefined;\n\n constructor(data?: IDimmerDaliActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.loadType = _data[\"loadType\"];\n this.hasPUL = _data[\"hasPUL\"];\n if (Array.isArray(_data[\"loadDaliTypes\"])) {\n this.loadDaliTypes = [] as any;\n for (let item of _data[\"loadDaliTypes\"])\n this.loadDaliTypes!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DimmerDaliActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new DimmerDaliActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"loadType\"] = this.loadType;\n data[\"hasPUL\"] = this.hasPUL;\n if (Array.isArray(this.loadDaliTypes)) {\n data[\"loadDaliTypes\"] = [];\n for (let item of this.loadDaliTypes)\n data[\"loadDaliTypes\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDimmerDaliActuatorSettings extends IActuatorSettings {\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n hasPUL?: boolean;\n loadDaliTypes?: BitmaskDaliLoadTypes[] | undefined;\n}\n\n/** 0 = None 1 = On 2 = Off 3 = Dimmer */\nexport enum DimmerStatus {\n None = 0,\n On = 1,\n Off = 2,\n Dimmer = 3,\n}\n\n/** 0 = None 1 = Any 2 = WhiteTemperature 3 = ColorTemperature */\nexport enum DimmerWorkingMode {\n None = 0,\n Any = 1,\n WhiteTemperature = 2,\n ColorTemperature = 3,\n}\n\nexport class EMailAction extends Action implements IEMailAction {\n\n constructor(data?: IEMailAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): EMailAction {\n data = typeof data === 'object' ? data : {};\n let result = new EMailAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IEMailAction extends IAction {\n}\n\nexport class EPDeviceConfigDTO implements IEPDeviceConfigDTO {\n deviceName?: string | undefined;\n pScsAddress?: number;\n lockTimingValue?: number;\n hasMultipleCall?: boolean;\n callRepetitions?: number;\n isSelectedStairCaseLight?: boolean;\n isSelectedGeneral?: boolean;\n hasLockReleaseTone?: boolean;\n hasCallTone?: boolean;\n typeOfCallSignalValue?: number;\n isSelectedScreenInterfaceAutomatic?: boolean;\n isSelectedScreenInterfaceDark?: boolean;\n isSelectedScreenInterfaceLight?: boolean;\n isSelectedLedCameraLightingAlwaysOn?: boolean;\n isSelectedLedCameraLightingDuringTheCall?: boolean;\n isSelectedHomePage?: boolean;\n homePageMessage?: string | undefined;\n\n constructor(data?: IEPDeviceConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceName = _data[\"deviceName\"];\n this.pScsAddress = _data[\"pScsAddress\"];\n this.lockTimingValue = _data[\"lockTimingValue\"];\n this.hasMultipleCall = _data[\"hasMultipleCall\"];\n this.callRepetitions = _data[\"callRepetitions\"];\n this.isSelectedStairCaseLight = _data[\"isSelectedStairCaseLight\"];\n this.isSelectedGeneral = _data[\"isSelectedGeneral\"];\n this.hasLockReleaseTone = _data[\"hasLockReleaseTone\"];\n this.hasCallTone = _data[\"hasCallTone\"];\n this.typeOfCallSignalValue = _data[\"typeOfCallSignalValue\"];\n this.isSelectedScreenInterfaceAutomatic = _data[\"isSelectedScreenInterfaceAutomatic\"];\n this.isSelectedScreenInterfaceDark = _data[\"isSelectedScreenInterfaceDark\"];\n this.isSelectedScreenInterfaceLight = _data[\"isSelectedScreenInterfaceLight\"];\n this.isSelectedLedCameraLightingAlwaysOn = _data[\"isSelectedLedCameraLightingAlwaysOn\"];\n this.isSelectedLedCameraLightingDuringTheCall = _data[\"isSelectedLedCameraLightingDuringTheCall\"];\n this.isSelectedHomePage = _data[\"isSelectedHomePage\"];\n this.homePageMessage = _data[\"homePageMessage\"];\n }\n }\n\n static fromJS(data: any): EPDeviceConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EPDeviceConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceName\"] = this.deviceName;\n data[\"pScsAddress\"] = this.pScsAddress;\n data[\"lockTimingValue\"] = this.lockTimingValue;\n data[\"hasMultipleCall\"] = this.hasMultipleCall;\n data[\"callRepetitions\"] = this.callRepetitions;\n data[\"isSelectedStairCaseLight\"] = this.isSelectedStairCaseLight;\n data[\"isSelectedGeneral\"] = this.isSelectedGeneral;\n data[\"hasLockReleaseTone\"] = this.hasLockReleaseTone;\n data[\"hasCallTone\"] = this.hasCallTone;\n data[\"typeOfCallSignalValue\"] = this.typeOfCallSignalValue;\n data[\"isSelectedScreenInterfaceAutomatic\"] = this.isSelectedScreenInterfaceAutomatic;\n data[\"isSelectedScreenInterfaceDark\"] = this.isSelectedScreenInterfaceDark;\n data[\"isSelectedScreenInterfaceLight\"] = this.isSelectedScreenInterfaceLight;\n data[\"isSelectedLedCameraLightingAlwaysOn\"] = this.isSelectedLedCameraLightingAlwaysOn;\n data[\"isSelectedLedCameraLightingDuringTheCall\"] = this.isSelectedLedCameraLightingDuringTheCall;\n data[\"isSelectedHomePage\"] = this.isSelectedHomePage;\n data[\"homePageMessage\"] = this.homePageMessage;\n return data; \n }\n}\n\nexport interface IEPDeviceConfigDTO {\n deviceName?: string | undefined;\n pScsAddress?: number;\n lockTimingValue?: number;\n hasMultipleCall?: boolean;\n callRepetitions?: number;\n isSelectedStairCaseLight?: boolean;\n isSelectedGeneral?: boolean;\n hasLockReleaseTone?: boolean;\n hasCallTone?: boolean;\n typeOfCallSignalValue?: number;\n isSelectedScreenInterfaceAutomatic?: boolean;\n isSelectedScreenInterfaceDark?: boolean;\n isSelectedScreenInterfaceLight?: boolean;\n isSelectedLedCameraLightingAlwaysOn?: boolean;\n isSelectedLedCameraLightingDuringTheCall?: boolean;\n isSelectedHomePage?: boolean;\n homePageMessage?: string | undefined;\n}\n\nexport class EPDeviceConfigNetwork implements IEPDeviceConfigNetwork {\n isConnectedToEliot?: boolean;\n isReferenceRemote?: boolean;\n isWiFiNetwork?: boolean;\n isDhcpEnabled?: boolean;\n ipAddress?: string | undefined;\n submask?: string | undefined;\n gateway?: string | undefined;\n primaryDns?: string | undefined;\n secondaryDns?: string | undefined;\n macAddress?: string | undefined;\n networkName?: string | undefined;\n\n constructor(data?: IEPDeviceConfigNetwork) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isConnectedToEliot = _data[\"isConnectedToEliot\"];\n this.isReferenceRemote = _data[\"isReferenceRemote\"];\n this.isWiFiNetwork = _data[\"isWiFiNetwork\"];\n this.isDhcpEnabled = _data[\"isDhcpEnabled\"];\n this.ipAddress = _data[\"ipAddress\"];\n this.submask = _data[\"submask\"];\n this.gateway = _data[\"gateway\"];\n this.primaryDns = _data[\"primaryDns\"];\n this.secondaryDns = _data[\"secondaryDns\"];\n this.macAddress = _data[\"macAddress\"];\n this.networkName = _data[\"networkName\"];\n }\n }\n\n static fromJS(data: any): EPDeviceConfigNetwork {\n data = typeof data === 'object' ? data : {};\n let result = new EPDeviceConfigNetwork();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isConnectedToEliot\"] = this.isConnectedToEliot;\n data[\"isReferenceRemote\"] = this.isReferenceRemote;\n data[\"isWiFiNetwork\"] = this.isWiFiNetwork;\n data[\"isDhcpEnabled\"] = this.isDhcpEnabled;\n data[\"ipAddress\"] = this.ipAddress;\n data[\"submask\"] = this.submask;\n data[\"gateway\"] = this.gateway;\n data[\"primaryDns\"] = this.primaryDns;\n data[\"secondaryDns\"] = this.secondaryDns;\n data[\"macAddress\"] = this.macAddress;\n data[\"networkName\"] = this.networkName;\n return data; \n }\n}\n\nexport interface IEPDeviceConfigNetwork {\n isConnectedToEliot?: boolean;\n isReferenceRemote?: boolean;\n isWiFiNetwork?: boolean;\n isDhcpEnabled?: boolean;\n ipAddress?: string | undefined;\n submask?: string | undefined;\n gateway?: string | undefined;\n primaryDns?: string | undefined;\n secondaryDns?: string | undefined;\n macAddress?: string | undefined;\n networkName?: string | undefined;\n}\n\nexport class EPDeviceDTO implements IEPDeviceDTO {\n deviceId?: string;\n scsAddr?: number;\n type?: EPDeviceTypeEnum;\n readonly isConfigured?: boolean;\n readonly isCommissioned?: boolean;\n cloudId?: string | undefined;\n dspMacAddress?: string | undefined;\n cloudPublicKey?: string | undefined;\n masterSecretKey?: string | undefined;\n firmwareVersion?: string | undefined;\n config?: EPDeviceConfigDTO;\n switchboardId?: string;\n deviceName?: string | undefined;\n needsToSyncManually?: boolean;\n activationStatus?: EpDeviceActivationStatus;\n lastSyncDateTime?: Date | undefined;\n configNetwork?: EPDeviceConfigNetwork;\n\n constructor(data?: IEPDeviceDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceId = _data[\"deviceId\"];\n this.scsAddr = _data[\"scsAddr\"];\n this.type = _data[\"type\"];\n (this).isConfigured = _data[\"isConfigured\"];\n (this).isCommissioned = _data[\"isCommissioned\"];\n this.cloudId = _data[\"cloudId\"];\n this.dspMacAddress = _data[\"dspMacAddress\"];\n this.cloudPublicKey = _data[\"cloudPublicKey\"];\n this.masterSecretKey = _data[\"masterSecretKey\"];\n this.firmwareVersion = _data[\"firmwareVersion\"];\n this.config = _data[\"config\"] ? EPDeviceConfigDTO.fromJS(_data[\"config\"]) : undefined;\n this.switchboardId = _data[\"switchboardId\"];\n this.deviceName = _data[\"deviceName\"];\n this.needsToSyncManually = _data[\"needsToSyncManually\"];\n this.activationStatus = _data[\"activationStatus\"];\n this.lastSyncDateTime = _data[\"lastSyncDateTime\"] ? new Date(_data[\"lastSyncDateTime\"].toString()) : undefined;\n this.configNetwork = _data[\"configNetwork\"] ? EPDeviceConfigNetwork.fromJS(_data[\"configNetwork\"]) : undefined;\n }\n }\n\n static fromJS(data: any): EPDeviceDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EPDeviceDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceId\"] = this.deviceId;\n data[\"scsAddr\"] = this.scsAddr;\n data[\"type\"] = this.type;\n data[\"isConfigured\"] = this.isConfigured;\n data[\"isCommissioned\"] = this.isCommissioned;\n data[\"cloudId\"] = this.cloudId;\n data[\"dspMacAddress\"] = this.dspMacAddress;\n data[\"cloudPublicKey\"] = this.cloudPublicKey;\n data[\"masterSecretKey\"] = this.masterSecretKey;\n data[\"firmwareVersion\"] = this.firmwareVersion;\n data[\"config\"] = this.config ? this.config.toJSON() : undefined;\n data[\"switchboardId\"] = this.switchboardId;\n data[\"deviceName\"] = this.deviceName;\n data[\"needsToSyncManually\"] = this.needsToSyncManually;\n data[\"activationStatus\"] = this.activationStatus;\n data[\"lastSyncDateTime\"] = this.lastSyncDateTime ? this.lastSyncDateTime.toISOString() : undefined;\n data[\"configNetwork\"] = this.configNetwork ? this.configNetwork.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IEPDeviceDTO {\n deviceId?: string;\n scsAddr?: number;\n type?: EPDeviceTypeEnum;\n isConfigured?: boolean;\n isCommissioned?: boolean;\n cloudId?: string | undefined;\n dspMacAddress?: string | undefined;\n cloudPublicKey?: string | undefined;\n masterSecretKey?: string | undefined;\n firmwareVersion?: string | undefined;\n config?: EPDeviceConfigDTO;\n switchboardId?: string;\n deviceName?: string | undefined;\n needsToSyncManually?: boolean;\n activationStatus?: EpDeviceActivationStatus;\n lastSyncDateTime?: Date | undefined;\n configNetwork?: EPDeviceConfigNetwork;\n}\n\n/** 0 = Linea5000 1 = KeyPad 2 = SmartAccess */\nexport enum EPDeviceTypeEnum {\n Linea5000 = 0,\n KeyPad = 1,\n SmartAccess = 2,\n}\n\nexport class EditAggregateCommandDTO implements IEditAggregateCommandDTO {\n aggregateCommand?: AggregateCommandDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n\n constructor(data?: IEditAggregateCommandDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.aggregateCommand = _data[\"aggregateCommand\"] ? AggregateCommandDTO.fromJS(_data[\"aggregateCommand\"]) : undefined;\n if (Array.isArray(_data[\"deviceSettings\"])) {\n this.deviceSettings = [] as any;\n for (let item of _data[\"deviceSettings\"])\n this.deviceSettings!.push(DeviceSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EditAggregateCommandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EditAggregateCommandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"aggregateCommand\"] = this.aggregateCommand ? this.aggregateCommand.toJSON() : undefined;\n if (Array.isArray(this.deviceSettings)) {\n data[\"deviceSettings\"] = [];\n for (let item of this.deviceSettings)\n data[\"deviceSettings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IEditAggregateCommandDTO {\n aggregateCommand?: AggregateCommandDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n}\n\nexport class EditRoomObjectDTO implements IEditRoomObjectDTO {\n roomObject?: AddRoomObjectDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n\n constructor(data?: IEditRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.roomObject = _data[\"roomObject\"] ? AddRoomObjectDTO.fromJS(_data[\"roomObject\"]) : undefined;\n if (Array.isArray(_data[\"deviceSettings\"])) {\n this.deviceSettings = [] as any;\n for (let item of _data[\"deviceSettings\"])\n this.deviceSettings!.push(DeviceSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EditRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EditRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"roomObject\"] = this.roomObject ? this.roomObject.toJSON() : undefined;\n if (Array.isArray(this.deviceSettings)) {\n data[\"deviceSettings\"] = [];\n for (let item of this.deviceSettings)\n data[\"deviceSettings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IEditRoomObjectDTO {\n roomObject?: AddRoomObjectDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n}\n\nexport class EditThermoRoomObjectDTO implements IEditThermoRoomObjectDTO {\n thermoRoomObject?: ThermoRoomObjectDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n\n constructor(data?: IEditThermoRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.thermoRoomObject = _data[\"thermoRoomObject\"] ? ThermoRoomObjectDTO.fromJS(_data[\"thermoRoomObject\"]) : undefined;\n if (Array.isArray(_data[\"deviceSettings\"])) {\n this.deviceSettings = [] as any;\n for (let item of _data[\"deviceSettings\"])\n this.deviceSettings!.push(DeviceSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EditThermoRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EditThermoRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"thermoRoomObject\"] = this.thermoRoomObject ? this.thermoRoomObject.toJSON() : undefined;\n if (Array.isArray(this.deviceSettings)) {\n data[\"deviceSettings\"] = [];\n for (let item of this.deviceSettings)\n data[\"deviceSettings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IEditThermoRoomObjectDTO {\n thermoRoomObject?: ThermoRoomObjectDTO;\n deviceSettings?: DeviceSettingsDTO[] | undefined;\n}\n\n/** 0 = None 1 = Socket 2 = Light 3 = Kitchenappliances 4 = Shutter 5 = Heating 6 = Boiler 7 = Airconditioner 8 = Other 9 = Fridge 10 = Oven 11 = Washingmachine 12 = Dryer 13 = Dishwasher 14 = Multimedia 15 = Internetbox */\nexport enum EnergyMeterAndLoadControlType {\n None = 0,\n Socket = 1,\n Light = 2,\n Kitchenappliances = 3,\n Shutter = 4,\n Heating = 5,\n Boiler = 6,\n Airconditioner = 7,\n Other = 8,\n Fridge = 9,\n Oven = 10,\n Washingmachine = 11,\n Dryer = 12,\n Dishwasher = 13,\n Multimedia = 14,\n Internetbox = 15,\n}\n\nexport class EntrancePlantDetailDTO implements IEntrancePlantDetailDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n lastModify?: Date;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n sharedWith?: PlantSharingDTO[] | undefined;\n isFavourite?: boolean;\n owner?: UserDTO;\n usersIdFavorites?: string[] | undefined;\n plantType?: PlantType;\n addressBookSorting?: AddressBookSorting;\n language?: Language;\n addressingType?: AddressingType;\n keypadCodePasspartoutMode?: PasspartoutModes;\n keypadCodePasspartoutCode?: string | undefined;\n keypadCodeRequiredLength?: number;\n maxNumberOfLabelsForApartment?: number;\n denominationBuildings?: DenominationMode;\n denominationRisers?: DenominationMode;\n denominationFloors?: DenominationMode;\n denominationApartments?: DenominationMode;\n wizardState?: number;\n gates?: GateDTO[] | undefined;\n buildings?: BuildingDTO[] | undefined;\n switchboards?: SwitchboardDTO[] | undefined;\n gateGuests?: GateGuestDTO[] | undefined;\n hiddenGuests?: HiddenGuestDTO[] | undefined;\n apartmentInvitations?: ApartmentInvitationDTO[] | undefined;\n brfaBlockDigits?: number;\n brfaRiserDigits?: number;\n brfaFloorDigits?: number;\n brfaApartmentDigits?: number;\n gateMessages?: GateMessageDTO[] | undefined;\n callingCodeShowAddressBook?: boolean;\n syncStatus?: PlantSyncStatusDTO;\n scsAddressHelper?: ScsAddressHelperDTO;\n timeZone?: string | undefined;\n\n constructor(data?: IEntrancePlantDetailDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.desktopId = _data[\"desktopId\"];\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.country = _data[\"country\"];\n if (Array.isArray(_data[\"tags\"])) {\n this.tags = [] as any;\n for (let item of _data[\"tags\"])\n this.tags!.push(PlantTagDTO.fromJS(item));\n }\n this.icon = _data[\"icon\"];\n this.customIconImageUrl = _data[\"customIconImageUrl\"];\n this.customIconDataUrl = _data[\"customIconDataUrl\"];\n this.lastModify = _data[\"lastModify\"] ? new Date(_data[\"lastModify\"].toString()) : undefined;\n this.lastModifyByDesktop = _data[\"lastModifyByDesktop\"];\n this.lastModifyBy = _data[\"lastModifyBy\"] ? UserDTO.fromJS(_data[\"lastModifyBy\"]) : undefined;\n if (Array.isArray(_data[\"sharedWith\"])) {\n this.sharedWith = [] as any;\n for (let item of _data[\"sharedWith\"])\n this.sharedWith!.push(PlantSharingDTO.fromJS(item));\n }\n this.isFavourite = _data[\"isFavourite\"];\n this.owner = _data[\"owner\"] ? UserDTO.fromJS(_data[\"owner\"]) : undefined;\n if (Array.isArray(_data[\"usersIdFavorites\"])) {\n this.usersIdFavorites = [] as any;\n for (let item of _data[\"usersIdFavorites\"])\n this.usersIdFavorites!.push(item);\n }\n this.plantType = _data[\"plantType\"];\n this.addressBookSorting = _data[\"addressBookSorting\"];\n this.language = _data[\"language\"];\n this.addressingType = _data[\"addressingType\"];\n this.keypadCodePasspartoutMode = _data[\"keypadCodePasspartoutMode\"];\n this.keypadCodePasspartoutCode = _data[\"keypadCodePasspartoutCode\"];\n this.keypadCodeRequiredLength = _data[\"keypadCodeRequiredLength\"];\n this.maxNumberOfLabelsForApartment = _data[\"maxNumberOfLabelsForApartment\"];\n this.denominationBuildings = _data[\"denominationBuildings\"];\n this.denominationRisers = _data[\"denominationRisers\"];\n this.denominationFloors = _data[\"denominationFloors\"];\n this.denominationApartments = _data[\"denominationApartments\"];\n this.wizardState = _data[\"wizardState\"];\n if (Array.isArray(_data[\"gates\"])) {\n this.gates = [] as any;\n for (let item of _data[\"gates\"])\n this.gates!.push(GateDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"buildings\"])) {\n this.buildings = [] as any;\n for (let item of _data[\"buildings\"])\n this.buildings!.push(BuildingDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"switchboards\"])) {\n this.switchboards = [] as any;\n for (let item of _data[\"switchboards\"])\n this.switchboards!.push(SwitchboardDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"gateGuests\"])) {\n this.gateGuests = [] as any;\n for (let item of _data[\"gateGuests\"])\n this.gateGuests!.push(GateGuestDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"hiddenGuests\"])) {\n this.hiddenGuests = [] as any;\n for (let item of _data[\"hiddenGuests\"])\n this.hiddenGuests!.push(HiddenGuestDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"apartmentInvitations\"])) {\n this.apartmentInvitations = [] as any;\n for (let item of _data[\"apartmentInvitations\"])\n this.apartmentInvitations!.push(ApartmentInvitationDTO.fromJS(item));\n }\n this.brfaBlockDigits = _data[\"brfaBlockDigits\"];\n this.brfaRiserDigits = _data[\"brfaRiserDigits\"];\n this.brfaFloorDigits = _data[\"brfaFloorDigits\"];\n this.brfaApartmentDigits = _data[\"brfaApartmentDigits\"];\n if (Array.isArray(_data[\"gateMessages\"])) {\n this.gateMessages = [] as any;\n for (let item of _data[\"gateMessages\"])\n this.gateMessages!.push(GateMessageDTO.fromJS(item));\n }\n this.callingCodeShowAddressBook = _data[\"callingCodeShowAddressBook\"];\n this.syncStatus = _data[\"syncStatus\"] ? PlantSyncStatusDTO.fromJS(_data[\"syncStatus\"]) : undefined;\n this.scsAddressHelper = _data[\"scsAddressHelper\"] ? ScsAddressHelperDTO.fromJS(_data[\"scsAddressHelper\"]) : undefined;\n this.timeZone = _data[\"timeZone\"];\n }\n }\n\n static fromJS(data: any): EntrancePlantDetailDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EntrancePlantDetailDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopId\"] = this.desktopId;\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"country\"] = this.country;\n if (Array.isArray(this.tags)) {\n data[\"tags\"] = [];\n for (let item of this.tags)\n data[\"tags\"].push(item.toJSON());\n }\n data[\"icon\"] = this.icon;\n data[\"customIconImageUrl\"] = this.customIconImageUrl;\n data[\"customIconDataUrl\"] = this.customIconDataUrl;\n data[\"lastModify\"] = this.lastModify ? this.lastModify.toISOString() : undefined;\n data[\"lastModifyByDesktop\"] = this.lastModifyByDesktop;\n data[\"lastModifyBy\"] = this.lastModifyBy ? this.lastModifyBy.toJSON() : undefined;\n if (Array.isArray(this.sharedWith)) {\n data[\"sharedWith\"] = [];\n for (let item of this.sharedWith)\n data[\"sharedWith\"].push(item.toJSON());\n }\n data[\"isFavourite\"] = this.isFavourite;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n if (Array.isArray(this.usersIdFavorites)) {\n data[\"usersIdFavorites\"] = [];\n for (let item of this.usersIdFavorites)\n data[\"usersIdFavorites\"].push(item);\n }\n data[\"plantType\"] = this.plantType;\n data[\"addressBookSorting\"] = this.addressBookSorting;\n data[\"language\"] = this.language;\n data[\"addressingType\"] = this.addressingType;\n data[\"keypadCodePasspartoutMode\"] = this.keypadCodePasspartoutMode;\n data[\"keypadCodePasspartoutCode\"] = this.keypadCodePasspartoutCode;\n data[\"keypadCodeRequiredLength\"] = this.keypadCodeRequiredLength;\n data[\"maxNumberOfLabelsForApartment\"] = this.maxNumberOfLabelsForApartment;\n data[\"denominationBuildings\"] = this.denominationBuildings;\n data[\"denominationRisers\"] = this.denominationRisers;\n data[\"denominationFloors\"] = this.denominationFloors;\n data[\"denominationApartments\"] = this.denominationApartments;\n data[\"wizardState\"] = this.wizardState;\n if (Array.isArray(this.gates)) {\n data[\"gates\"] = [];\n for (let item of this.gates)\n data[\"gates\"].push(item.toJSON());\n }\n if (Array.isArray(this.buildings)) {\n data[\"buildings\"] = [];\n for (let item of this.buildings)\n data[\"buildings\"].push(item.toJSON());\n }\n if (Array.isArray(this.switchboards)) {\n data[\"switchboards\"] = [];\n for (let item of this.switchboards)\n data[\"switchboards\"].push(item.toJSON());\n }\n if (Array.isArray(this.gateGuests)) {\n data[\"gateGuests\"] = [];\n for (let item of this.gateGuests)\n data[\"gateGuests\"].push(item.toJSON());\n }\n if (Array.isArray(this.hiddenGuests)) {\n data[\"hiddenGuests\"] = [];\n for (let item of this.hiddenGuests)\n data[\"hiddenGuests\"].push(item.toJSON());\n }\n if (Array.isArray(this.apartmentInvitations)) {\n data[\"apartmentInvitations\"] = [];\n for (let item of this.apartmentInvitations)\n data[\"apartmentInvitations\"].push(item.toJSON());\n }\n data[\"brfaBlockDigits\"] = this.brfaBlockDigits;\n data[\"brfaRiserDigits\"] = this.brfaRiserDigits;\n data[\"brfaFloorDigits\"] = this.brfaFloorDigits;\n data[\"brfaApartmentDigits\"] = this.brfaApartmentDigits;\n if (Array.isArray(this.gateMessages)) {\n data[\"gateMessages\"] = [];\n for (let item of this.gateMessages)\n data[\"gateMessages\"].push(item.toJSON());\n }\n data[\"callingCodeShowAddressBook\"] = this.callingCodeShowAddressBook;\n data[\"syncStatus\"] = this.syncStatus ? this.syncStatus.toJSON() : undefined;\n data[\"scsAddressHelper\"] = this.scsAddressHelper ? this.scsAddressHelper.toJSON() : undefined;\n data[\"timeZone\"] = this.timeZone;\n return data; \n }\n}\n\nexport interface IEntrancePlantDetailDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n lastModify?: Date;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n sharedWith?: PlantSharingDTO[] | undefined;\n isFavourite?: boolean;\n owner?: UserDTO;\n usersIdFavorites?: string[] | undefined;\n plantType?: PlantType;\n addressBookSorting?: AddressBookSorting;\n language?: Language;\n addressingType?: AddressingType;\n keypadCodePasspartoutMode?: PasspartoutModes;\n keypadCodePasspartoutCode?: string | undefined;\n keypadCodeRequiredLength?: number;\n maxNumberOfLabelsForApartment?: number;\n denominationBuildings?: DenominationMode;\n denominationRisers?: DenominationMode;\n denominationFloors?: DenominationMode;\n denominationApartments?: DenominationMode;\n wizardState?: number;\n gates?: GateDTO[] | undefined;\n buildings?: BuildingDTO[] | undefined;\n switchboards?: SwitchboardDTO[] | undefined;\n gateGuests?: GateGuestDTO[] | undefined;\n hiddenGuests?: HiddenGuestDTO[] | undefined;\n apartmentInvitations?: ApartmentInvitationDTO[] | undefined;\n brfaBlockDigits?: number;\n brfaRiserDigits?: number;\n brfaFloorDigits?: number;\n brfaApartmentDigits?: number;\n gateMessages?: GateMessageDTO[] | undefined;\n callingCodeShowAddressBook?: boolean;\n syncStatus?: PlantSyncStatusDTO;\n scsAddressHelper?: ScsAddressHelperDTO;\n timeZone?: string | undefined;\n}\n\nexport class EntrancePlantHeadCreateDTO implements IEntrancePlantHeadCreateDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n timeZone?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n plantType?: PlantType;\n\n constructor(data?: IEntrancePlantHeadCreateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.desktopId = _data[\"desktopId\"];\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.country = _data[\"country\"];\n this.timeZone = _data[\"timeZone\"];\n if (Array.isArray(_data[\"tags\"])) {\n this.tags = [] as any;\n for (let item of _data[\"tags\"])\n this.tags!.push(PlantTagDTO.fromJS(item));\n }\n this.icon = _data[\"icon\"];\n this.customIconImageUrl = _data[\"customIconImageUrl\"];\n this.customIconDataUrl = _data[\"customIconDataUrl\"];\n this.plantType = _data[\"plantType\"];\n }\n }\n\n static fromJS(data: any): EntrancePlantHeadCreateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EntrancePlantHeadCreateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopId\"] = this.desktopId;\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"country\"] = this.country;\n data[\"timeZone\"] = this.timeZone;\n if (Array.isArray(this.tags)) {\n data[\"tags\"] = [];\n for (let item of this.tags)\n data[\"tags\"].push(item.toJSON());\n }\n data[\"icon\"] = this.icon;\n data[\"customIconImageUrl\"] = this.customIconImageUrl;\n data[\"customIconDataUrl\"] = this.customIconDataUrl;\n data[\"plantType\"] = this.plantType;\n return data; \n }\n}\n\nexport interface IEntrancePlantHeadCreateDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n timeZone?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n plantType?: PlantType;\n}\n\nexport class EntrancePlantInfoCreateDTO implements IEntrancePlantInfoCreateDTO {\n addressBookSorting?: AddressBookSorting;\n language?: Language;\n addressingType?: AddressingType;\n denominationBuildings?: DenominationMode;\n denominationRisers?: DenominationMode;\n denominationFloors?: DenominationMode;\n denominationApartments?: DenominationMode;\n callingCodeShowAddressBook?: boolean;\n keypadCodePasspartoutMode?: PasspartoutModes;\n keypadCodePasspartoutCode?: string | undefined;\n keypadCodeRequiredLength?: number;\n buildings?: BuildingImportDto[] | undefined;\n\n constructor(data?: IEntrancePlantInfoCreateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.addressBookSorting = _data[\"addressBookSorting\"];\n this.language = _data[\"language\"];\n this.addressingType = _data[\"addressingType\"];\n this.denominationBuildings = _data[\"denominationBuildings\"];\n this.denominationRisers = _data[\"denominationRisers\"];\n this.denominationFloors = _data[\"denominationFloors\"];\n this.denominationApartments = _data[\"denominationApartments\"];\n this.callingCodeShowAddressBook = _data[\"callingCodeShowAddressBook\"];\n this.keypadCodePasspartoutMode = _data[\"keypadCodePasspartoutMode\"];\n this.keypadCodePasspartoutCode = _data[\"keypadCodePasspartoutCode\"];\n this.keypadCodeRequiredLength = _data[\"keypadCodeRequiredLength\"];\n if (Array.isArray(_data[\"buildings\"])) {\n this.buildings = [] as any;\n for (let item of _data[\"buildings\"])\n this.buildings!.push(BuildingImportDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EntrancePlantInfoCreateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EntrancePlantInfoCreateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"addressBookSorting\"] = this.addressBookSorting;\n data[\"language\"] = this.language;\n data[\"addressingType\"] = this.addressingType;\n data[\"denominationBuildings\"] = this.denominationBuildings;\n data[\"denominationRisers\"] = this.denominationRisers;\n data[\"denominationFloors\"] = this.denominationFloors;\n data[\"denominationApartments\"] = this.denominationApartments;\n data[\"callingCodeShowAddressBook\"] = this.callingCodeShowAddressBook;\n data[\"keypadCodePasspartoutMode\"] = this.keypadCodePasspartoutMode;\n data[\"keypadCodePasspartoutCode\"] = this.keypadCodePasspartoutCode;\n data[\"keypadCodeRequiredLength\"] = this.keypadCodeRequiredLength;\n if (Array.isArray(this.buildings)) {\n data[\"buildings\"] = [];\n for (let item of this.buildings)\n data[\"buildings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IEntrancePlantInfoCreateDTO {\n addressBookSorting?: AddressBookSorting;\n language?: Language;\n addressingType?: AddressingType;\n denominationBuildings?: DenominationMode;\n denominationRisers?: DenominationMode;\n denominationFloors?: DenominationMode;\n denominationApartments?: DenominationMode;\n callingCodeShowAddressBook?: boolean;\n keypadCodePasspartoutMode?: PasspartoutModes;\n keypadCodePasspartoutCode?: string | undefined;\n keypadCodeRequiredLength?: number;\n buildings?: BuildingImportDto[] | undefined;\n}\n\n/** 0 = DeviceManager 1 = BuildingManager */\nexport enum EntrancePlantProRoles {\n DeviceManager = 0,\n BuildingManager = 1,\n}\n\nexport class EntrancePlantStructureCreateDTO implements IEntrancePlantStructureCreateDTO {\n wizardStep?: number;\n headCreate?: EntrancePlantHeadCreateDTO;\n infoCreate?: EntrancePlantInfoCreateDTO;\n buildingsCreate?: BuildingCreateDTO[] | undefined;\n gateCreate?: GateDTO[] | undefined;\n plantConfigStructure?: { [key: string]: RFAConfigDTO; } | undefined;\n gateConfigStructure?: { [key: string]: GateConfigDTO; } | undefined;\n\n constructor(data?: IEntrancePlantStructureCreateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.wizardStep = _data[\"wizardStep\"];\n this.headCreate = _data[\"headCreate\"] ? EntrancePlantHeadCreateDTO.fromJS(_data[\"headCreate\"]) : undefined;\n this.infoCreate = _data[\"infoCreate\"] ? EntrancePlantInfoCreateDTO.fromJS(_data[\"infoCreate\"]) : undefined;\n if (Array.isArray(_data[\"buildingsCreate\"])) {\n this.buildingsCreate = [] as any;\n for (let item of _data[\"buildingsCreate\"])\n this.buildingsCreate!.push(BuildingCreateDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"gateCreate\"])) {\n this.gateCreate = [] as any;\n for (let item of _data[\"gateCreate\"])\n this.gateCreate!.push(GateDTO.fromJS(item));\n }\n if (_data[\"plantConfigStructure\"]) {\n this.plantConfigStructure = {} as any;\n for (let key in _data[\"plantConfigStructure\"]) {\n if (_data[\"plantConfigStructure\"].hasOwnProperty(key))\n (this.plantConfigStructure)![key] = _data[\"plantConfigStructure\"][key] ? RFAConfigDTO.fromJS(_data[\"plantConfigStructure\"][key]) : new RFAConfigDTO();\n }\n }\n if (_data[\"gateConfigStructure\"]) {\n this.gateConfigStructure = {} as any;\n for (let key in _data[\"gateConfigStructure\"]) {\n if (_data[\"gateConfigStructure\"].hasOwnProperty(key))\n (this.gateConfigStructure)![key] = _data[\"gateConfigStructure\"][key] ? GateConfigDTO.fromJS(_data[\"gateConfigStructure\"][key]) : new GateConfigDTO();\n }\n }\n }\n }\n\n static fromJS(data: any): EntrancePlantStructureCreateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EntrancePlantStructureCreateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"wizardStep\"] = this.wizardStep;\n data[\"headCreate\"] = this.headCreate ? this.headCreate.toJSON() : undefined;\n data[\"infoCreate\"] = this.infoCreate ? this.infoCreate.toJSON() : undefined;\n if (Array.isArray(this.buildingsCreate)) {\n data[\"buildingsCreate\"] = [];\n for (let item of this.buildingsCreate)\n data[\"buildingsCreate\"].push(item.toJSON());\n }\n if (Array.isArray(this.gateCreate)) {\n data[\"gateCreate\"] = [];\n for (let item of this.gateCreate)\n data[\"gateCreate\"].push(item.toJSON());\n }\n if (this.plantConfigStructure) {\n data[\"plantConfigStructure\"] = {};\n for (let key in this.plantConfigStructure) {\n if (this.plantConfigStructure.hasOwnProperty(key))\n (data[\"plantConfigStructure\"])[key] = this.plantConfigStructure[key] ? this.plantConfigStructure[key].toJSON() : undefined;\n }\n }\n if (this.gateConfigStructure) {\n data[\"gateConfigStructure\"] = {};\n for (let key in this.gateConfigStructure) {\n if (this.gateConfigStructure.hasOwnProperty(key))\n (data[\"gateConfigStructure\"])[key] = this.gateConfigStructure[key] ? this.gateConfigStructure[key].toJSON() : undefined;\n }\n }\n return data; \n }\n}\n\nexport interface IEntrancePlantStructureCreateDTO {\n wizardStep?: number;\n headCreate?: EntrancePlantHeadCreateDTO;\n infoCreate?: EntrancePlantInfoCreateDTO;\n buildingsCreate?: BuildingCreateDTO[] | undefined;\n gateCreate?: GateDTO[] | undefined;\n plantConfigStructure?: { [key: string]: RFAConfigDTO; } | undefined;\n gateConfigStructure?: { [key: string]: GateConfigDTO; } | undefined;\n}\n\n/** 0 = Ignore 1 = Required 2 = Activated */\nexport enum EpDeviceActivationStatus {\n Ignore = 0,\n Required = 1,\n Activated = 2,\n}\n\nexport class EpUserRole implements IEpUserRole {\n email?: string | undefined;\n roles?: EntrancePlantProRoles[] | undefined;\n readonly isOnlyBuildingAdmin?: boolean;\n\n constructor(data?: IEpUserRole) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n (this).isOnlyBuildingAdmin = _data[\"isOnlyBuildingAdmin\"];\n }\n }\n\n static fromJS(data: any): EpUserRole {\n data = typeof data === 'object' ? data : {};\n let result = new EpUserRole();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n data[\"isOnlyBuildingAdmin\"] = this.isOnlyBuildingAdmin;\n return data; \n }\n}\n\nexport interface IEpUserRole {\n email?: string | undefined;\n roles?: EntrancePlantProRoles[] | undefined;\n isOnlyBuildingAdmin?: boolean;\n}\n\n/** 0 = ColoredLight 1 = Xmeter 2 = Player 3 = AlarmCentralUnit 4 = AlarmSensor 5 = DimmerDmx */\nexport enum ExtComponentType {\n ColoredLight = 0,\n Xmeter = 1,\n Player = 2,\n AlarmCentralUnit = 3,\n AlarmSensor = 4,\n DimmerDmx = 5,\n}\n\n/** 0 = Bticino 1 = Vantage */\nexport enum ExternalSensorType {\n Bticino = 0,\n Vantage = 1,\n}\n\nexport class FloorConfigDTO implements IFloorConfigDTO {\n index?: number;\n name?: string | undefined;\n numberOfApartments?: number;\n\n constructor(data?: IFloorConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.numberOfApartments = _data[\"numberOfApartments\"];\n }\n }\n\n static fromJS(data: any): FloorConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new FloorConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"numberOfApartments\"] = this.numberOfApartments;\n return data; \n }\n}\n\nexport interface IFloorConfigDTO {\n index?: number;\n name?: string | undefined;\n numberOfApartments?: number;\n}\n\nexport class FloorDTO implements IFloorDTO {\n floorId?: string;\n buildingId?: string;\n riserId?: string | undefined;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n\n constructor(data?: IFloorDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.floorId = _data[\"floorId\"];\n this.buildingId = _data[\"buildingId\"];\n this.riserId = _data[\"riserId\"];\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n }\n }\n\n static fromJS(data: any): FloorDTO {\n data = typeof data === 'object' ? data : {};\n let result = new FloorDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"floorId\"] = this.floorId;\n data[\"buildingId\"] = this.buildingId;\n data[\"riserId\"] = this.riserId;\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n return data; \n }\n}\n\nexport interface IFloorDTO {\n floorId?: string;\n buildingId?: string;\n riserId?: string | undefined;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n}\n\n/** 0 = All 1 = Thermo 2 = Automation 3 = Energy 4 = Security 5 = Integration 6 = AllAndGateway 7 = OnlyGateway 8 = Nd */\nexport enum FunctionType {\n All = 0,\n Thermo = 1,\n Automation = 2,\n Energy = 3,\n Security = 4,\n Integration = 5,\n AllAndGateway = 6,\n OnlyGateway = 7,\n Nd = 8,\n}\n\nexport class GateConfigDTO implements IGateConfigDTO {\n scsAddress?: number;\n gateName?: string | undefined;\n newPeSelected?: boolean;\n keypadSelected?: boolean;\n smartReaderSelected?: boolean;\n connectedBuildingIds?: string[] | undefined;\n connectedRiserIds?: string[] | undefined;\n connectedApartmentsIds?: string[] | undefined;\n\n constructor(data?: IGateConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.scsAddress = _data[\"scsAddress\"];\n this.gateName = _data[\"gateName\"];\n this.newPeSelected = _data[\"newPeSelected\"];\n this.keypadSelected = _data[\"keypadSelected\"];\n this.smartReaderSelected = _data[\"smartReaderSelected\"];\n if (Array.isArray(_data[\"connectedBuildingIds\"])) {\n this.connectedBuildingIds = [] as any;\n for (let item of _data[\"connectedBuildingIds\"])\n this.connectedBuildingIds!.push(item);\n }\n if (Array.isArray(_data[\"connectedRiserIds\"])) {\n this.connectedRiserIds = [] as any;\n for (let item of _data[\"connectedRiserIds\"])\n this.connectedRiserIds!.push(item);\n }\n if (Array.isArray(_data[\"connectedApartmentsIds\"])) {\n this.connectedApartmentsIds = [] as any;\n for (let item of _data[\"connectedApartmentsIds\"])\n this.connectedApartmentsIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GateConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GateConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"scsAddress\"] = this.scsAddress;\n data[\"gateName\"] = this.gateName;\n data[\"newPeSelected\"] = this.newPeSelected;\n data[\"keypadSelected\"] = this.keypadSelected;\n data[\"smartReaderSelected\"] = this.smartReaderSelected;\n if (Array.isArray(this.connectedBuildingIds)) {\n data[\"connectedBuildingIds\"] = [];\n for (let item of this.connectedBuildingIds)\n data[\"connectedBuildingIds\"].push(item);\n }\n if (Array.isArray(this.connectedRiserIds)) {\n data[\"connectedRiserIds\"] = [];\n for (let item of this.connectedRiserIds)\n data[\"connectedRiserIds\"].push(item);\n }\n if (Array.isArray(this.connectedApartmentsIds)) {\n data[\"connectedApartmentsIds\"] = [];\n for (let item of this.connectedApartmentsIds)\n data[\"connectedApartmentsIds\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IGateConfigDTO {\n scsAddress?: number;\n gateName?: string | undefined;\n newPeSelected?: boolean;\n keypadSelected?: boolean;\n smartReaderSelected?: boolean;\n connectedBuildingIds?: string[] | undefined;\n connectedRiserIds?: string[] | undefined;\n connectedApartmentsIds?: string[] | undefined;\n}\n\nexport class GateDTO implements IGateDTO {\n gateId?: string;\n name?: string | undefined;\n scsAddress?: number;\n apartments?: string[] | undefined;\n connectedBuildingIds?: string[] | undefined;\n connectedRiserIds?: string[] | undefined;\n devices?: EPDeviceDTO[] | undefined;\n virtualDevicesApt?: string[] | undefined;\n\n constructor(data?: IGateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gateId = _data[\"gateId\"];\n this.name = _data[\"name\"];\n this.scsAddress = _data[\"scsAddress\"];\n if (Array.isArray(_data[\"apartments\"])) {\n this.apartments = [] as any;\n for (let item of _data[\"apartments\"])\n this.apartments!.push(item);\n }\n if (Array.isArray(_data[\"connectedBuildingIds\"])) {\n this.connectedBuildingIds = [] as any;\n for (let item of _data[\"connectedBuildingIds\"])\n this.connectedBuildingIds!.push(item);\n }\n if (Array.isArray(_data[\"connectedRiserIds\"])) {\n this.connectedRiserIds = [] as any;\n for (let item of _data[\"connectedRiserIds\"])\n this.connectedRiserIds!.push(item);\n }\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(EPDeviceDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"virtualDevicesApt\"])) {\n this.virtualDevicesApt = [] as any;\n for (let item of _data[\"virtualDevicesApt\"])\n this.virtualDevicesApt!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gateId\"] = this.gateId;\n data[\"name\"] = this.name;\n data[\"scsAddress\"] = this.scsAddress;\n if (Array.isArray(this.apartments)) {\n data[\"apartments\"] = [];\n for (let item of this.apartments)\n data[\"apartments\"].push(item);\n }\n if (Array.isArray(this.connectedBuildingIds)) {\n data[\"connectedBuildingIds\"] = [];\n for (let item of this.connectedBuildingIds)\n data[\"connectedBuildingIds\"].push(item);\n }\n if (Array.isArray(this.connectedRiserIds)) {\n data[\"connectedRiserIds\"] = [];\n for (let item of this.connectedRiserIds)\n data[\"connectedRiserIds\"].push(item);\n }\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n if (Array.isArray(this.virtualDevicesApt)) {\n data[\"virtualDevicesApt\"] = [];\n for (let item of this.virtualDevicesApt)\n data[\"virtualDevicesApt\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IGateDTO {\n gateId?: string;\n name?: string | undefined;\n scsAddress?: number;\n apartments?: string[] | undefined;\n connectedBuildingIds?: string[] | undefined;\n connectedRiserIds?: string[] | undefined;\n devices?: EPDeviceDTO[] | undefined;\n virtualDevicesApt?: string[] | undefined;\n}\n\nexport class GateGuestDTO implements IGateGuestDTO {\n id?: string;\n description?: string | undefined;\n isDateAlways?: boolean;\n durationSince?: Date | undefined;\n durationUntil?: Date | undefined;\n isTimeAlways?: boolean;\n timesSlots?: TimeSlot[] | undefined;\n repetitionDays?: WeekDay[] | undefined;\n gateIds?: string[] | undefined;\n isRecurrent?: boolean;\n isOneTimeGuest?: boolean;\n keypadCode?: string | undefined;\n badgeCode?: string | undefined;\n\n constructor(data?: IGateGuestDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.isDateAlways = _data[\"isDateAlways\"];\n this.durationSince = _data[\"durationSince\"] ? new Date(_data[\"durationSince\"].toString()) : undefined;\n this.durationUntil = _data[\"durationUntil\"] ? new Date(_data[\"durationUntil\"].toString()) : undefined;\n this.isTimeAlways = _data[\"isTimeAlways\"];\n if (Array.isArray(_data[\"timesSlots\"])) {\n this.timesSlots = [] as any;\n for (let item of _data[\"timesSlots\"])\n this.timesSlots!.push(TimeSlot.fromJS(item));\n }\n if (Array.isArray(_data[\"repetitionDays\"])) {\n this.repetitionDays = [] as any;\n for (let item of _data[\"repetitionDays\"])\n this.repetitionDays!.push(item);\n }\n if (Array.isArray(_data[\"gateIds\"])) {\n this.gateIds = [] as any;\n for (let item of _data[\"gateIds\"])\n this.gateIds!.push(item);\n }\n this.isRecurrent = _data[\"isRecurrent\"];\n this.isOneTimeGuest = _data[\"isOneTimeGuest\"];\n this.keypadCode = _data[\"keypadCode\"];\n this.badgeCode = _data[\"badgeCode\"];\n }\n }\n\n static fromJS(data: any): GateGuestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GateGuestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"isDateAlways\"] = this.isDateAlways;\n data[\"durationSince\"] = this.durationSince ? this.durationSince.toISOString() : undefined;\n data[\"durationUntil\"] = this.durationUntil ? this.durationUntil.toISOString() : undefined;\n data[\"isTimeAlways\"] = this.isTimeAlways;\n if (Array.isArray(this.timesSlots)) {\n data[\"timesSlots\"] = [];\n for (let item of this.timesSlots)\n data[\"timesSlots\"].push(item.toJSON());\n }\n if (Array.isArray(this.repetitionDays)) {\n data[\"repetitionDays\"] = [];\n for (let item of this.repetitionDays)\n data[\"repetitionDays\"].push(item);\n }\n if (Array.isArray(this.gateIds)) {\n data[\"gateIds\"] = [];\n for (let item of this.gateIds)\n data[\"gateIds\"].push(item);\n }\n data[\"isRecurrent\"] = this.isRecurrent;\n data[\"isOneTimeGuest\"] = this.isOneTimeGuest;\n data[\"keypadCode\"] = this.keypadCode;\n data[\"badgeCode\"] = this.badgeCode;\n return data; \n }\n}\n\nexport interface IGateGuestDTO {\n id?: string;\n description?: string | undefined;\n isDateAlways?: boolean;\n durationSince?: Date | undefined;\n durationUntil?: Date | undefined;\n isTimeAlways?: boolean;\n timesSlots?: TimeSlot[] | undefined;\n repetitionDays?: WeekDay[] | undefined;\n gateIds?: string[] | undefined;\n isRecurrent?: boolean;\n isOneTimeGuest?: boolean;\n keypadCode?: string | undefined;\n badgeCode?: string | undefined;\n}\n\nexport class GateMessageDTO implements IGateMessageDTO {\n id?: string;\n title?: string | undefined;\n text?: string | undefined;\n durationSince?: Date;\n durationUntil?: Date;\n gateIds?: string[] | undefined;\n\n constructor(data?: IGateMessageDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.title = _data[\"title\"];\n this.text = _data[\"text\"];\n this.durationSince = _data[\"durationSince\"] ? new Date(_data[\"durationSince\"].toString()) : undefined;\n this.durationUntil = _data[\"durationUntil\"] ? new Date(_data[\"durationUntil\"].toString()) : undefined;\n if (Array.isArray(_data[\"gateIds\"])) {\n this.gateIds = [] as any;\n for (let item of _data[\"gateIds\"])\n this.gateIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GateMessageDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GateMessageDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"title\"] = this.title;\n data[\"text\"] = this.text;\n data[\"durationSince\"] = this.durationSince ? this.durationSince.toISOString() : undefined;\n data[\"durationUntil\"] = this.durationUntil ? this.durationUntil.toISOString() : undefined;\n if (Array.isArray(this.gateIds)) {\n data[\"gateIds\"] = [];\n for (let item of this.gateIds)\n data[\"gateIds\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IGateMessageDTO {\n id?: string;\n title?: string | undefined;\n text?: string | undefined;\n durationSince?: Date;\n durationUntil?: Date;\n gateIds?: string[] | undefined;\n}\n\nexport class GeneralCommandsAndGroupsAction extends Action implements IGeneralCommandsAndGroupsAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n\n constructor(data?: IGeneralCommandsAndGroupsAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.sceneLightState = _data[\"sceneLightState\"];\n this.sceneShutterState = _data[\"sceneShutterState\"];\n this.sceneBlindState = _data[\"sceneBlindState\"];\n this.sceneSocketState = _data[\"sceneSocketState\"];\n }\n }\n\n static fromJS(data: any): GeneralCommandsAndGroupsAction {\n data = typeof data === 'object' ? data : {};\n let result = new GeneralCommandsAndGroupsAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"sceneLightState\"] = this.sceneLightState;\n data[\"sceneShutterState\"] = this.sceneShutterState;\n data[\"sceneBlindState\"] = this.sceneBlindState;\n data[\"sceneSocketState\"] = this.sceneSocketState;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IGeneralCommandsAndGroupsAction extends IAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n}\n\nexport class GraylogEntrancePanelMessageDTO implements IGraylogEntrancePanelMessageDTO {\n userMessage?: string | undefined;\n plantDesktopId?: number;\n deviceId?: string | undefined;\n frontendVersion?: string | undefined;\n\n constructor(data?: IGraylogEntrancePanelMessageDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userMessage = _data[\"userMessage\"];\n this.plantDesktopId = _data[\"plantDesktopId\"];\n this.deviceId = _data[\"deviceId\"];\n this.frontendVersion = _data[\"frontendVersion\"];\n }\n }\n\n static fromJS(data: any): GraylogEntrancePanelMessageDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GraylogEntrancePanelMessageDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userMessage\"] = this.userMessage;\n data[\"plantDesktopId\"] = this.plantDesktopId;\n data[\"deviceId\"] = this.deviceId;\n data[\"frontendVersion\"] = this.frontendVersion;\n return data; \n }\n}\n\nexport interface IGraylogEntrancePanelMessageDTO {\n userMessage?: string | undefined;\n plantDesktopId?: number;\n deviceId?: string | undefined;\n frontendVersion?: string | undefined;\n}\n\nexport class HiddenGuestDTO implements IHiddenGuestDTO {\n guid?: string;\n scsAddr?: number;\n description?: string | undefined;\n keyCode?: string | undefined;\n \n constructor(data?: IHiddenGuestDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.guid = _data[\"guid\"];\n this.scsAddr = _data[\"scsAddr\"]\n this.description = _data[\"description\"];\n this.keyCode = _data[\"keyCode\"];\n }\n }\n\n static fromJS(data: any): HiddenGuestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new HiddenGuestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"guid\"] = this.guid;\n data[\"scsAddr\"] = this.scsAddr;\n data[\"description\"] = this.description;\n data[\"keyCode\"] = this.keyCode;\n return data;\n }\n}\n\nexport interface IHiddenGuestDTO {\n guid?: string;\n scsAddr?: number;\n description?: string | undefined;\n keyCode?: string | undefined;\n}\n\nexport class IntercomFunction extends VdeFunction implements IIntercomFunction {\n type?: IntercomType;\n\n constructor(data?: IIntercomFunction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): IntercomFunction {\n data = typeof data === 'object' ? data : {};\n let result = new IntercomFunction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IIntercomFunction extends IVdeFunction {\n type?: IntercomType;\n}\n\n/** 0 = Inner 1 = Outer 2 = Pager 3 = General */\nexport enum IntercomType {\n Inner = 0,\n Outer = 1,\n Pager = 2,\n General = 3,\n}\n\n/** 0 = Private 1 = Business */\nexport enum LabelType {\n Private = 0,\n Business = 1,\n}\n\n/** 0 = English 1 = Italian 2 = German 3 = Dutch 4 = French 5 = Portuguese 6 = Spanish 7 = Czech 8 = Polish */\nexport enum Language {\n English = 0,\n Italian = 1,\n German = 2,\n Dutch = 3,\n French = 4,\n Portuguese = 5,\n Spanish = 6,\n Czech = 7,\n Polish = 8,\n}\n\n/** 0 = None 1 = OnOff 2 = Dimmer */\nexport enum LightType {\n None = 0,\n OnOff = 1,\n Dimmer = 2,\n}\n\nexport class LightsActuatorItemSettingsDTO implements ILightsActuatorItemSettingsDTO {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelSelectedPickerValue?: SimpleIntPickerValue;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n isGroupZeroCrossingVisible?: boolean;\n isZeroCrossing1EnabledFollow2?: boolean;\n isZeroCrossing1DisabledFollow2?: boolean;\n isZeroCrossing2EnabledFollow1?: boolean;\n isZeroCrossing2DisabledFollow1?: boolean;\n isGroupRelayStatusAfterResetVisible?: boolean;\n isGroupRestoreStatusAfterResetVisible?: boolean;\n isGroupMinimumRegulationLevelVisible?: boolean;\n isGroupLoadTypeVisible?: boolean;\n hasLoadTypesForGroup7?: boolean;\n hasLoadTypesForGroup9?: boolean;\n isGroupVoltageVisible?: boolean;\n isGroupPULVisible?: boolean;\n saveTo?: number[] | undefined;\n minimumRegulationLevelPickerValues?: SimpleIntPickerValue[] | undefined;\n isGroupMinimumRegulationLevelToggleVisible?: boolean;\n isZeroCrossingWarningVisible?: boolean;\n\n constructor(data?: ILightsActuatorItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n this.relayStatusAfterReset = _data[\"relayStatusAfterReset\"];\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.minimumRegulationLevelSelectedPickerValue = _data[\"minimumRegulationLevelSelectedPickerValue\"] ? SimpleIntPickerValue.fromJS(_data[\"minimumRegulationLevelSelectedPickerValue\"]) : undefined;\n this.loadType = _data[\"loadType\"];\n this.voltageType = _data[\"voltageType\"];\n this.hasPUL = _data[\"hasPUL\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.isGroupZeroCrossingVisible = _data[\"isGroupZeroCrossingVisible\"];\n this.isZeroCrossing1EnabledFollow2 = _data[\"isZeroCrossing1EnabledFollow2\"];\n this.isZeroCrossing1DisabledFollow2 = _data[\"isZeroCrossing1DisabledFollow2\"];\n this.isZeroCrossing2EnabledFollow1 = _data[\"isZeroCrossing2EnabledFollow1\"];\n this.isZeroCrossing2DisabledFollow1 = _data[\"isZeroCrossing2DisabledFollow1\"];\n this.isGroupRelayStatusAfterResetVisible = _data[\"isGroupRelayStatusAfterResetVisible\"];\n this.isGroupRestoreStatusAfterResetVisible = _data[\"isGroupRestoreStatusAfterResetVisible\"];\n this.isGroupMinimumRegulationLevelVisible = _data[\"isGroupMinimumRegulationLevelVisible\"];\n this.isGroupLoadTypeVisible = _data[\"isGroupLoadTypeVisible\"];\n this.hasLoadTypesForGroup7 = _data[\"hasLoadTypesForGroup7\"];\n this.hasLoadTypesForGroup9 = _data[\"hasLoadTypesForGroup9\"];\n this.isGroupVoltageVisible = _data[\"isGroupVoltageVisible\"];\n this.isGroupPULVisible = _data[\"isGroupPULVisible\"];\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n if (Array.isArray(_data[\"minimumRegulationLevelPickerValues\"])) {\n this.minimumRegulationLevelPickerValues = [] as any;\n for (let item of _data[\"minimumRegulationLevelPickerValues\"])\n this.minimumRegulationLevelPickerValues!.push(SimpleIntPickerValue.fromJS(item));\n }\n this.isGroupMinimumRegulationLevelToggleVisible = _data[\"isGroupMinimumRegulationLevelToggleVisible\"];\n this.isZeroCrossingWarningVisible = _data[\"isZeroCrossingWarningVisible\"];\n }\n }\n\n static fromJS(data: any): LightsActuatorItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n data[\"relayStatusAfterReset\"] = this.relayStatusAfterReset;\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"minimumRegulationLevelSelectedPickerValue\"] = this.minimumRegulationLevelSelectedPickerValue ? this.minimumRegulationLevelSelectedPickerValue.toJSON() : undefined;\n data[\"loadType\"] = this.loadType;\n data[\"voltageType\"] = this.voltageType;\n data[\"hasPUL\"] = this.hasPUL;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"isGroupZeroCrossingVisible\"] = this.isGroupZeroCrossingVisible;\n data[\"isZeroCrossing1EnabledFollow2\"] = this.isZeroCrossing1EnabledFollow2;\n data[\"isZeroCrossing1DisabledFollow2\"] = this.isZeroCrossing1DisabledFollow2;\n data[\"isZeroCrossing2EnabledFollow1\"] = this.isZeroCrossing2EnabledFollow1;\n data[\"isZeroCrossing2DisabledFollow1\"] = this.isZeroCrossing2DisabledFollow1;\n data[\"isGroupRelayStatusAfterResetVisible\"] = this.isGroupRelayStatusAfterResetVisible;\n data[\"isGroupRestoreStatusAfterResetVisible\"] = this.isGroupRestoreStatusAfterResetVisible;\n data[\"isGroupMinimumRegulationLevelVisible\"] = this.isGroupMinimumRegulationLevelVisible;\n data[\"isGroupLoadTypeVisible\"] = this.isGroupLoadTypeVisible;\n data[\"hasLoadTypesForGroup7\"] = this.hasLoadTypesForGroup7;\n data[\"hasLoadTypesForGroup9\"] = this.hasLoadTypesForGroup9;\n data[\"isGroupVoltageVisible\"] = this.isGroupVoltageVisible;\n data[\"isGroupPULVisible\"] = this.isGroupPULVisible;\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n if (Array.isArray(this.minimumRegulationLevelPickerValues)) {\n data[\"minimumRegulationLevelPickerValues\"] = [];\n for (let item of this.minimumRegulationLevelPickerValues)\n data[\"minimumRegulationLevelPickerValues\"].push(item.toJSON());\n }\n data[\"isGroupMinimumRegulationLevelToggleVisible\"] = this.isGroupMinimumRegulationLevelToggleVisible;\n data[\"isZeroCrossingWarningVisible\"] = this.isZeroCrossingWarningVisible;\n return data; \n }\n}\n\nexport interface ILightsActuatorItemSettingsDTO {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelSelectedPickerValue?: SimpleIntPickerValue;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n isGroupZeroCrossingVisible?: boolean;\n isZeroCrossing1EnabledFollow2?: boolean;\n isZeroCrossing1DisabledFollow2?: boolean;\n isZeroCrossing2EnabledFollow1?: boolean;\n isZeroCrossing2DisabledFollow1?: boolean;\n isGroupRelayStatusAfterResetVisible?: boolean;\n isGroupRestoreStatusAfterResetVisible?: boolean;\n isGroupMinimumRegulationLevelVisible?: boolean;\n isGroupLoadTypeVisible?: boolean;\n hasLoadTypesForGroup7?: boolean;\n hasLoadTypesForGroup9?: boolean;\n isGroupVoltageVisible?: boolean;\n isGroupPULVisible?: boolean;\n saveTo?: number[] | undefined;\n minimumRegulationLevelPickerValues?: SimpleIntPickerValue[] | undefined;\n isGroupMinimumRegulationLevelToggleVisible?: boolean;\n isZeroCrossingWarningVisible?: boolean;\n}\n\nexport class LightsActuatorSettings extends ActuatorSettings implements ILightsActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelValueAdvanced?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n\n constructor(data?: ILightsActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n this.relayStatusAfterReset = _data[\"relayStatusAfterReset\"];\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.minimumRegulationLevelValueAdvanced = _data[\"minimumRegulationLevelValueAdvanced\"];\n this.loadType = _data[\"loadType\"];\n this.voltageType = _data[\"voltageType\"];\n this.hasPUL = _data[\"hasPUL\"];\n }\n }\n\n static fromJS(data: any): LightsActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n data[\"relayStatusAfterReset\"] = this.relayStatusAfterReset;\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"minimumRegulationLevelValueAdvanced\"] = this.minimumRegulationLevelValueAdvanced;\n data[\"loadType\"] = this.loadType;\n data[\"voltageType\"] = this.voltageType;\n data[\"hasPUL\"] = this.hasPUL;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILightsActuatorSettings extends IActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelValueAdvanced?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n}\n\nexport class LightsActuatorSettingsObjectDTO implements ILightsActuatorSettingsObjectDTO {\n slots?: LightsActuatorItemSettingsDTO[] | undefined;\n\n constructor(data?: ILightsActuatorSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LightsActuatorItemSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LightsActuatorSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILightsActuatorSettingsObjectDTO {\n slots?: LightsActuatorItemSettingsDTO[] | undefined;\n}\n\nexport class LightsActuatorSettingsResult implements ILightsActuatorSettingsResult {\n index?: number;\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n\n constructor(data?: ILightsActuatorSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data[\"index\"];\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n this.relayStatusAfterReset = _data[\"relayStatusAfterReset\"];\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.loadType = _data[\"loadType\"];\n this.voltageType = _data[\"voltageType\"];\n this.hasPUL = _data[\"hasPUL\"];\n }\n }\n\n static fromJS(data: any): LightsActuatorSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"index\"] = this.index;\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n data[\"relayStatusAfterReset\"] = this.relayStatusAfterReset;\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"loadType\"] = this.loadType;\n data[\"voltageType\"] = this.voltageType;\n data[\"hasPUL\"] = this.hasPUL;\n return data; \n }\n}\n\nexport interface ILightsActuatorSettingsResult {\n index?: number;\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n}\n\nexport class LightsActuatorSettingsResultList implements ILightsActuatorSettingsResultList {\n results?: LightsActuatorSettingsResult[] | undefined;\n\n constructor(data?: ILightsActuatorSettingsResultList) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(LightsActuatorSettingsResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LightsActuatorSettingsResultList {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettingsResultList();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILightsActuatorSettingsResultList {\n results?: LightsActuatorSettingsResult[] | undefined;\n}\n\nexport class LightsCommandItemSettingsDTO implements ILightsCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n timedDelayPickerValues?: DelayValue[] | undefined;\n lightsOnOffMode?: LightsOnOffMode;\n minimumRegulationLevel?: number;\n timedDelayPickerSelectedValue?: DelayValue;\n isTimedDelayVisible?: boolean;\n defaultSettings?: LigthsCommandSettings;\n currentSettings?: LigthsCommandSettings;\n isOptionOnOffVisible?: boolean;\n isOptionOffVisible?: boolean;\n isOptionOnVisible?: boolean;\n isOptionOnRegulationVisible?: boolean;\n isOptionToggleVisible?: boolean;\n isOptionToggleOnOffVisible?: boolean;\n isOptionButtonVisible?: boolean;\n isOptionTimedVisible?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n availableDelayValues?: DelayValue[] | undefined;\n isContactTypeVisibile?: boolean;\n indexes?: number[] | undefined;\n conctactType?: ConctactType;\n isConctactTypeVisibile?: boolean;\n\n constructor(data?: ILightsCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n if (Array.isArray(_data[\"timedDelayPickerValues\"])) {\n this.timedDelayPickerValues = [] as any;\n for (let item of _data[\"timedDelayPickerValues\"])\n this.timedDelayPickerValues!.push(DelayValue.fromJS(item));\n }\n this.lightsOnOffMode = _data[\"lightsOnOffMode\"];\n this.minimumRegulationLevel = _data[\"minimumRegulationLevel\"];\n this.timedDelayPickerSelectedValue = _data[\"timedDelayPickerSelectedValue\"] ? DelayValue.fromJS(_data[\"timedDelayPickerSelectedValue\"]) : undefined;\n this.isTimedDelayVisible = _data[\"isTimedDelayVisible\"];\n this.defaultSettings = _data[\"defaultSettings\"] ? LigthsCommandSettings.fromJS(_data[\"defaultSettings\"]) : undefined;\n this.currentSettings = _data[\"currentSettings\"] ? LigthsCommandSettings.fromJS(_data[\"currentSettings\"]) : undefined;\n this.isOptionOnOffVisible = _data[\"isOptionOnOffVisible\"];\n this.isOptionOffVisible = _data[\"isOptionOffVisible\"];\n this.isOptionOnVisible = _data[\"isOptionOnVisible\"];\n this.isOptionOnRegulationVisible = _data[\"isOptionOnRegulationVisible\"];\n this.isOptionToggleVisible = _data[\"isOptionToggleVisible\"];\n this.isOptionToggleOnOffVisible = _data[\"isOptionToggleOnOffVisible\"];\n this.isOptionButtonVisible = _data[\"isOptionButtonVisible\"];\n this.isOptionTimedVisible = _data[\"isOptionTimedVisible\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"availableDelayValues\"])) {\n this.availableDelayValues = [] as any;\n for (let item of _data[\"availableDelayValues\"])\n this.availableDelayValues!.push(DelayValue.fromJS(item));\n }\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.conctactType = _data[\"conctactType\"];\n this.isConctactTypeVisibile = _data[\"isConctactTypeVisibile\"];\n }\n }\n\n static fromJS(data: any): LightsCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n if (Array.isArray(this.timedDelayPickerValues)) {\n data[\"timedDelayPickerValues\"] = [];\n for (let item of this.timedDelayPickerValues)\n data[\"timedDelayPickerValues\"].push(item.toJSON());\n }\n data[\"lightsOnOffMode\"] = this.lightsOnOffMode;\n data[\"minimumRegulationLevel\"] = this.minimumRegulationLevel;\n data[\"timedDelayPickerSelectedValue\"] = this.timedDelayPickerSelectedValue ? this.timedDelayPickerSelectedValue.toJSON() : undefined;\n data[\"isTimedDelayVisible\"] = this.isTimedDelayVisible;\n data[\"defaultSettings\"] = this.defaultSettings ? this.defaultSettings.toJSON() : undefined;\n data[\"currentSettings\"] = this.currentSettings ? this.currentSettings.toJSON() : undefined;\n data[\"isOptionOnOffVisible\"] = this.isOptionOnOffVisible;\n data[\"isOptionOffVisible\"] = this.isOptionOffVisible;\n data[\"isOptionOnVisible\"] = this.isOptionOnVisible;\n data[\"isOptionOnRegulationVisible\"] = this.isOptionOnRegulationVisible;\n data[\"isOptionToggleVisible\"] = this.isOptionToggleVisible;\n data[\"isOptionToggleOnOffVisible\"] = this.isOptionToggleOnOffVisible;\n data[\"isOptionButtonVisible\"] = this.isOptionButtonVisible;\n data[\"isOptionTimedVisible\"] = this.isOptionTimedVisible;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.availableDelayValues)) {\n data[\"availableDelayValues\"] = [];\n for (let item of this.availableDelayValues)\n data[\"availableDelayValues\"].push(item.toJSON());\n }\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"conctactType\"] = this.conctactType;\n data[\"isConctactTypeVisibile\"] = this.isConctactTypeVisibile;\n return data; \n }\n}\n\nexport interface ILightsCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n timedDelayPickerValues?: DelayValue[] | undefined;\n lightsOnOffMode?: LightsOnOffMode;\n minimumRegulationLevel?: number;\n timedDelayPickerSelectedValue?: DelayValue;\n isTimedDelayVisible?: boolean;\n defaultSettings?: LigthsCommandSettings;\n currentSettings?: LigthsCommandSettings;\n isOptionOnOffVisible?: boolean;\n isOptionOffVisible?: boolean;\n isOptionOnVisible?: boolean;\n isOptionOnRegulationVisible?: boolean;\n isOptionToggleVisible?: boolean;\n isOptionToggleOnOffVisible?: boolean;\n isOptionButtonVisible?: boolean;\n isOptionTimedVisible?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n availableDelayValues?: DelayValue[] | undefined;\n isContactTypeVisibile?: boolean;\n indexes?: number[] | undefined;\n conctactType?: ConctactType;\n isConctactTypeVisibile?: boolean;\n}\n\nexport class LightsCommandSettingsObjectDTO implements ILightsCommandSettingsObjectDTO {\n slots?: LightsCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n readonly disabledModules?: boolean;\n\n constructor(data?: ILightsCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LightsCommandItemSettingsDTO.fromJS(item));\n }\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n (this).disabledModules = _data[\"disabledModules\"];\n }\n }\n\n static fromJS(data: any): LightsCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"disabledModules\"] = this.disabledModules;\n return data; \n }\n}\n\nexport interface ILightsCommandSettingsObjectDTO {\n slots?: LightsCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n disabledModules?: boolean;\n}\n\nexport class LightsCommandSettingsResult implements ILightsCommandSettingsResult {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n index?: number;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n\n constructor(data?: ILightsCommandSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.lightsOnOffMode = _data[\"lightsOnOffMode\"];\n this.lightsOnOffTimedDelay = _data[\"lightsOnOffTimedDelay\"];\n this.minimumRegulationLevel = _data[\"minimumRegulationLevel\"];\n this.index = _data[\"index\"];\n this.conctactType = _data[\"conctactType\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.hasChanges = _data[\"hasChanges\"];\n }\n }\n\n static fromJS(data: any): LightsCommandSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lightsOnOffMode\"] = this.lightsOnOffMode;\n data[\"lightsOnOffTimedDelay\"] = this.lightsOnOffTimedDelay;\n data[\"minimumRegulationLevel\"] = this.minimumRegulationLevel;\n data[\"index\"] = this.index;\n data[\"conctactType\"] = this.conctactType;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"hasChanges\"] = this.hasChanges;\n return data; \n }\n}\n\nexport interface ILightsCommandSettingsResult {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n index?: number;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n}\n\nexport class LightsCommandSettingsResultList implements ILightsCommandSettingsResultList {\n results?: LightsCommandSettingsResult[] | undefined;\n\n constructor(data?: ILightsCommandSettingsResultList) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(LightsCommandSettingsResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LightsCommandSettingsResultList {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandSettingsResultList();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILightsCommandSettingsResultList {\n results?: LightsCommandSettingsResult[] | undefined;\n}\n\n/** 0 = Fluorescent 1 = Led 2 = Halogen 3 = LedTrailingEdgeOrElectronicTransformer 4 = LedLeadingEdge 5 = CFLTrailingEdge 6 = CFLLeadingEdge 7 = DaliStandard */\nexport enum LightsLoadTypes {\n Fluorescent = 0,\n Led = 1,\n Halogen = 2,\n LedTrailingEdgeOrElectronicTransformer = 3,\n LedLeadingEdge = 4,\n CFLTrailingEdge = 5,\n CFLLeadingEdge = 6,\n DaliStandard = 7,\n}\n\n/** 0 = Off 1 = OnOffRegulation 2 = Toggle 3 = Button 4 = Timed 5 = On 6 = OnRegulation 7 = ToggleOnOff 8 = CustomizedOn 9 = CustomizedOff 10 = CustomizedOnOff 11 = CustomizedOnOffRegulation 12 = CustomizedToggle 13 = CustomizedToggleRegulation 14 = CustomizedOnRegulation 15 = CustomizedOffRegulation */\nexport enum LightsOnOffMode {\n Off = 0,\n OnOffRegulation = 1,\n Toggle = 2,\n Button = 3,\n Timed = 4,\n On = 5,\n OnRegulation = 6,\n ToggleOnOff = 7,\n CustomizedOn = 8,\n CustomizedOff = 9,\n CustomizedOnOff = 10,\n CustomizedOnOffRegulation = 11,\n CustomizedToggle = 12,\n CustomizedToggleRegulation = 13,\n CustomizedOnRegulation = 14,\n CustomizedOffRegulation = 15,\n}\n\n/** 0 = AutoOnOff 1 = ManualOnAutoOff */\nexport enum LightsSensorOperatingMode {\n AutoOnOff = 0,\n ManualOnAutoOff = 1,\n}\n\n/** 0 = Low 1 = Medium 2 = High 3 = Maximum */\nexport enum LightsSensorSensitivity {\n Low = 0,\n Medium = 1,\n High = 2,\n Maximum = 3,\n}\n\n/** 0 = V_0_10 1 = V_1_10 */\nexport enum LightsVoltageOptions {\n V_0_10 = 0,\n V_1_10 = 1,\n}\n\nexport class LigthsCommandSettings extends CommandSettings implements ILigthsCommandSettings {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n typeofContact?: ConctactType;\n powerON?: number;\n fadeIn?: number;\n fadeOut?: number;\n dimmingSpeed?: number;\n\n constructor(data?: ILigthsCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.lightsOnOffMode = _data[\"lightsOnOffMode\"];\n this.lightsOnOffTimedDelay = _data[\"lightsOnOffTimedDelay\"];\n this.minimumRegulationLevel = _data[\"minimumRegulationLevel\"];\n this.typeofContact = _data[\"typeofContact\"];\n this.powerON = _data[\"powerON\"];\n this.fadeIn = _data[\"fadeIn\"];\n this.fadeOut = _data[\"fadeOut\"];\n this.dimmingSpeed = _data[\"dimmingSpeed\"];\n }\n }\n\n static fromJS(data: any): LigthsCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LigthsCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lightsOnOffMode\"] = this.lightsOnOffMode;\n data[\"lightsOnOffTimedDelay\"] = this.lightsOnOffTimedDelay;\n data[\"minimumRegulationLevel\"] = this.minimumRegulationLevel;\n data[\"typeofContact\"] = this.typeofContact;\n data[\"powerON\"] = this.powerON;\n data[\"fadeIn\"] = this.fadeIn;\n data[\"fadeOut\"] = this.fadeOut;\n data[\"dimmingSpeed\"] = this.dimmingSpeed;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILigthsCommandSettings extends ICommandSettings {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n typeofContact?: ConctactType;\n powerON?: number;\n fadeIn?: number;\n fadeOut?: number;\n dimmingSpeed?: number;\n}\n\nexport class LigthsSensorCommandSettings extends CommandSettings implements ILigthsSensorCommandSettings {\n operationgfMode?: LightsSensorOperatingMode;\n daylightSetPoint?: number;\n timingOff?: number;\n pirSensitivity?: LightsSensorSensitivity;\n usSensitivity?: LightsSensorSensitivity;\n\n constructor(data?: ILigthsSensorCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.operationgfMode = _data[\"operationgfMode\"];\n this.daylightSetPoint = _data[\"daylightSetPoint\"];\n this.timingOff = _data[\"timingOff\"];\n this.pirSensitivity = _data[\"pirSensitivity\"];\n this.usSensitivity = _data[\"usSensitivity\"];\n }\n }\n\n static fromJS(data: any): LigthsSensorCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LigthsSensorCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"operationgfMode\"] = this.operationgfMode;\n data[\"daylightSetPoint\"] = this.daylightSetPoint;\n data[\"timingOff\"] = this.timingOff;\n data[\"pirSensitivity\"] = this.pirSensitivity;\n data[\"usSensitivity\"] = this.usSensitivity;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILigthsSensorCommandSettings extends ICommandSettings {\n operationgfMode?: LightsSensorOperatingMode;\n daylightSetPoint?: number;\n timingOff?: number;\n pirSensitivity?: LightsSensorSensitivity;\n usSensitivity?: LightsSensorSensitivity;\n}\n\n/** 0 = None 1 = Partial 2 = Total */\nexport enum Line {\n None = 0,\n Partial = 1,\n Total = 2,\n}\n\n/** 0 = None 1 = Production 2 = Consumption */\nexport enum LineMisuration {\n None = 0,\n Production = 1,\n Consumption = 2,\n}\n\nexport class LockActuatorSettings extends ActuatorSettings implements ILockActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n\n constructor(data?: ILockActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n }\n }\n\n static fromJS(data: any): LockActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LockActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILockActuatorSettings extends IActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n}\n\nexport class LockActuatorSettingsObjectParam implements ILockActuatorSettingsObjectParam {\n isZeroCrossingEnabled?: boolean;\n\n constructor(data?: ILockActuatorSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n }\n }\n\n static fromJS(data: any): LockActuatorSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new LockActuatorSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n return data; \n }\n}\n\nexport interface ILockActuatorSettingsObjectParam {\n isZeroCrossingEnabled?: boolean;\n}\n\nexport class LockActuatorSettingsResult implements ILockActuatorSettingsResult {\n isZeroCrossingEnabled?: boolean;\n\n constructor(data?: ILockActuatorSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n }\n }\n\n static fromJS(data: any): LockActuatorSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new LockActuatorSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n return data; \n }\n}\n\nexport interface ILockActuatorSettingsResult {\n isZeroCrossingEnabled?: boolean;\n}\n\nexport class LockCommandSettings extends CommandSettings implements ILockCommandSettings {\n commandOpeningTime?: CommandOpeningTime;\n typeofContact?: ConctactType;\n scsLevel?: ScsLevel;\n\n constructor(data?: ILockCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.typeofContact = _data[\"typeofContact\"];\n this.scsLevel = _data[\"scsLevel\"];\n }\n }\n\n static fromJS(data: any): LockCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"typeofContact\"] = this.typeofContact;\n data[\"scsLevel\"] = this.scsLevel;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILockCommandSettings extends ICommandSettings {\n commandOpeningTime?: CommandOpeningTime;\n typeofContact?: ConctactType;\n scsLevel?: ScsLevel;\n}\n\nexport class LockCommandSettingsObjectDTO implements ILockCommandSettingsObjectDTO {\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n slots?: LocksCommandItemSettingsDTO[] | undefined;\n isVde?: boolean;\n\n constructor(data?: ILockCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LocksCommandItemSettingsDTO.fromJS(item));\n }\n this.isVde = _data[\"isVde\"];\n }\n }\n\n static fromJS(data: any): LockCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"isVde\"] = this.isVde;\n return data; \n }\n}\n\nexport interface ILockCommandSettingsObjectDTO {\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n slots?: LocksCommandItemSettingsDTO[] | undefined;\n isVde?: boolean;\n}\n\nexport class LockCommandSettingsResult implements ILockCommandSettingsResult {\n commandOpeningTime?: CommandOpeningTime;\n index?: number;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n scsLevel?: ScsLevel;\n\n constructor(data?: ILockCommandSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.index = _data[\"index\"];\n this.conctactType = _data[\"conctactType\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.hasChanges = _data[\"hasChanges\"];\n this.scsLevel = _data[\"scsLevel\"];\n }\n }\n\n static fromJS(data: any): LockCommandSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"index\"] = this.index;\n data[\"conctactType\"] = this.conctactType;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"hasChanges\"] = this.hasChanges;\n data[\"scsLevel\"] = this.scsLevel;\n return data; \n }\n}\n\nexport interface ILockCommandSettingsResult {\n commandOpeningTime?: CommandOpeningTime;\n index?: number;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n scsLevel?: ScsLevel;\n}\n\nexport class LockCommandSettingsResultList implements ILockCommandSettingsResultList {\n results?: LockCommandSettingsResult[] | undefined;\n\n constructor(data?: ILockCommandSettingsResultList) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(LockCommandSettingsResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LockCommandSettingsResultList {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettingsResultList();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILockCommandSettingsResultList {\n results?: LockCommandSettingsResult[] | undefined;\n}\n\nexport class LocksCommandItemSettingsDTO implements ILocksCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n isAppliedToAllSameTypeCommands?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n commandOpeningTime?: CommandOpeningTime;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n isVde?: boolean;\n scsLevel?: ScsLevel;\n\n constructor(data?: ILocksCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.isAppliedToAllSameTypeCommands = _data[\"isAppliedToAllSameTypeCommands\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n this.conctactType = _data[\"conctactType\"];\n this.isVde = _data[\"isVde\"];\n this.scsLevel = _data[\"scsLevel\"];\n }\n }\n\n static fromJS(data: any): LocksCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LocksCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"isAppliedToAllSameTypeCommands\"] = this.isAppliedToAllSameTypeCommands;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n data[\"conctactType\"] = this.conctactType;\n data[\"isVde\"] = this.isVde;\n data[\"scsLevel\"] = this.scsLevel;\n return data; \n }\n}\n\nexport interface ILocksCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n isAppliedToAllSameTypeCommands?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n commandOpeningTime?: CommandOpeningTime;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n isVde?: boolean;\n scsLevel?: ScsLevel;\n}\n\nexport class ObjectCondition extends Condition implements IObjectCondition {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n\n constructor(data?: IObjectCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.stateComparer = _data[\"stateComparer\"];\n this.lightState = _data[\"lightState\"];\n this.dimmerState = _data[\"dimmerState\"];\n this.dimmerPowerState = _data[\"dimmerPowerState\"];\n this.dimmerPercent = _data[\"dimmerPercent\"];\n this.workingMode = _data[\"workingMode\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.temperature = _data[\"temperature\"];\n this.isShutterPositionManaged = _data[\"isShutterPositionManaged\"];\n this.shutterModality = _data[\"shutterModality\"];\n this.shutterState = _data[\"shutterState\"];\n this.shutterPosition = _data[\"shutterPosition\"];\n this.blindState = _data[\"blindState\"];\n this.socketState = _data[\"socketState\"];\n this.lockState = _data[\"lockState\"];\n this.thermostatState = _data[\"thermostatState\"];\n this.thermostatModalityState = _data[\"thermostatModalityState\"];\n this.thermostatConditionState = _data[\"thermostatConditionState\"];\n this.thermostatTemperature = _data[\"thermostatTemperature\"];\n this.thermostatHumidity = _data[\"thermostatHumidity\"];\n this.towelWarmerState = _data[\"towelWarmerState\"];\n this.fancoilState = _data[\"fancoilState\"];\n this.fancoilSpeedState = _data[\"fancoilSpeedState\"];\n this.coloredLightsState = _data[\"coloredLightsState\"];\n this.coloredLightStateComparer = _data[\"coloredLightStateComparer\"];\n this.sceneColoredLightsColor = _data[\"sceneColoredLightsColor\"];\n this.playerTriggerMode = _data[\"playerTriggerMode\"];\n this.playerTriggerPowerState = _data[\"playerTriggerPowerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.energyMeterKw = _data[\"energyMeterKw\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmSensorObjectStatus = _data[\"alarmSensorObjectStatus\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n this.sceneLoadManagementPower = _data[\"sceneLoadManagementPower\"];\n }\n }\n\n static fromJS(data: any): ObjectCondition {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"stateComparer\"] = this.stateComparer;\n data[\"lightState\"] = this.lightState;\n data[\"dimmerState\"] = this.dimmerState;\n data[\"dimmerPowerState\"] = this.dimmerPowerState;\n data[\"dimmerPercent\"] = this.dimmerPercent;\n data[\"workingMode\"] = this.workingMode;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"temperature\"] = this.temperature;\n data[\"isShutterPositionManaged\"] = this.isShutterPositionManaged;\n data[\"shutterModality\"] = this.shutterModality;\n data[\"shutterState\"] = this.shutterState;\n data[\"shutterPosition\"] = this.shutterPosition;\n data[\"blindState\"] = this.blindState;\n data[\"socketState\"] = this.socketState;\n data[\"lockState\"] = this.lockState;\n data[\"thermostatState\"] = this.thermostatState;\n data[\"thermostatModalityState\"] = this.thermostatModalityState;\n data[\"thermostatConditionState\"] = this.thermostatConditionState;\n data[\"thermostatTemperature\"] = this.thermostatTemperature;\n data[\"thermostatHumidity\"] = this.thermostatHumidity;\n data[\"towelWarmerState\"] = this.towelWarmerState;\n data[\"fancoilState\"] = this.fancoilState;\n data[\"fancoilSpeedState\"] = this.fancoilSpeedState;\n data[\"coloredLightsState\"] = this.coloredLightsState;\n data[\"coloredLightStateComparer\"] = this.coloredLightStateComparer;\n data[\"sceneColoredLightsColor\"] = this.sceneColoredLightsColor;\n data[\"playerTriggerMode\"] = this.playerTriggerMode;\n data[\"playerTriggerPowerState\"] = this.playerTriggerPowerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"energyMeterKw\"] = this.energyMeterKw;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmSensorObjectStatus\"] = this.alarmSensorObjectStatus;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n data[\"sceneLoadManagementPower\"] = this.sceneLoadManagementPower;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectCondition extends ICondition {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n}\n\n/** 0 = None 1 = NewDuplication 2 = OldDuplication */\nexport enum ObjectDuplication {\n None = 0,\n NewDuplication = 1,\n OldDuplication = 2,\n}\n\nexport class ObjectTrigger extends Trigger implements IObjectTrigger {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n\n constructor(data?: IObjectTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.stateComparer = _data[\"stateComparer\"];\n this.lightState = _data[\"lightState\"];\n this.dimmerState = _data[\"dimmerState\"];\n this.dimmerPowerState = _data[\"dimmerPowerState\"];\n this.dimmerPercent = _data[\"dimmerPercent\"];\n this.workingMode = _data[\"workingMode\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.temperature = _data[\"temperature\"];\n this.isShutterPositionManaged = _data[\"isShutterPositionManaged\"];\n this.shutterModality = _data[\"shutterModality\"];\n this.shutterState = _data[\"shutterState\"];\n this.shutterPosition = _data[\"shutterPosition\"];\n this.blindState = _data[\"blindState\"];\n this.socketState = _data[\"socketState\"];\n this.lockState = _data[\"lockState\"];\n this.thermostatState = _data[\"thermostatState\"];\n this.thermostatModalityState = _data[\"thermostatModalityState\"];\n this.thermostatConditionState = _data[\"thermostatConditionState\"];\n this.thermostatTemperature = _data[\"thermostatTemperature\"];\n this.thermostatHumidity = _data[\"thermostatHumidity\"];\n this.towelWarmerState = _data[\"towelWarmerState\"];\n this.fancoilState = _data[\"fancoilState\"];\n this.fancoilSpeedState = _data[\"fancoilSpeedState\"];\n this.coloredLightsState = _data[\"coloredLightsState\"];\n this.coloredLightStateComparer = _data[\"coloredLightStateComparer\"];\n this.sceneColoredLightsColor = _data[\"sceneColoredLightsColor\"];\n this.playerTriggerMode = _data[\"playerTriggerMode\"];\n this.playerTriggerPowerState = _data[\"playerTriggerPowerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.energyMeterKw = _data[\"energyMeterKw\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmSensorObjectStatus = _data[\"alarmSensorObjectStatus\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n this.sceneLoadManagementPower = _data[\"sceneLoadManagementPower\"];\n }\n }\n\n static fromJS(data: any): ObjectTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"stateComparer\"] = this.stateComparer;\n data[\"lightState\"] = this.lightState;\n data[\"dimmerState\"] = this.dimmerState;\n data[\"dimmerPowerState\"] = this.dimmerPowerState;\n data[\"dimmerPercent\"] = this.dimmerPercent;\n data[\"workingMode\"] = this.workingMode;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"temperature\"] = this.temperature;\n data[\"isShutterPositionManaged\"] = this.isShutterPositionManaged;\n data[\"shutterModality\"] = this.shutterModality;\n data[\"shutterState\"] = this.shutterState;\n data[\"shutterPosition\"] = this.shutterPosition;\n data[\"blindState\"] = this.blindState;\n data[\"socketState\"] = this.socketState;\n data[\"lockState\"] = this.lockState;\n data[\"thermostatState\"] = this.thermostatState;\n data[\"thermostatModalityState\"] = this.thermostatModalityState;\n data[\"thermostatConditionState\"] = this.thermostatConditionState;\n data[\"thermostatTemperature\"] = this.thermostatTemperature;\n data[\"thermostatHumidity\"] = this.thermostatHumidity;\n data[\"towelWarmerState\"] = this.towelWarmerState;\n data[\"fancoilState\"] = this.fancoilState;\n data[\"fancoilSpeedState\"] = this.fancoilSpeedState;\n data[\"coloredLightsState\"] = this.coloredLightsState;\n data[\"coloredLightStateComparer\"] = this.coloredLightStateComparer;\n data[\"sceneColoredLightsColor\"] = this.sceneColoredLightsColor;\n data[\"playerTriggerMode\"] = this.playerTriggerMode;\n data[\"playerTriggerPowerState\"] = this.playerTriggerPowerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"energyMeterKw\"] = this.energyMeterKw;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmSensorObjectStatus\"] = this.alarmSensorObjectStatus;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n data[\"sceneLoadManagementPower\"] = this.sceneLoadManagementPower;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectTrigger extends ITrigger {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n}\n\nexport class ParamCreateLinkModule implements IParamCreateLinkModule {\n index?: number;\n name?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IParamCreateLinkModule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): ParamCreateLinkModule {\n data = typeof data === 'object' ? data : {};\n let result = new ParamCreateLinkModule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data; \n }\n}\n\nexport interface IParamCreateLinkModule {\n index?: number;\n name?: string | undefined;\n value?: string | undefined;\n}\n\nexport class ParamsScenesId implements IParamsScenesId {\n id?: string | undefined;\n button?: number;\n\n constructor(data?: IParamsScenesId) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.button = _data[\"button\"];\n }\n }\n\n static fromJS(data: any): ParamsScenesId {\n data = typeof data === 'object' ? data : {};\n let result = new ParamsScenesId();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"button\"] = this.button;\n return data; \n }\n}\n\nexport interface IParamsScenesId {\n id?: string | undefined;\n button?: number;\n}\n\n/** 0 = Disabled 1 = SameEntirePlant 2 = DifferentEachBuilding */\nexport enum PasspartoutModes {\n Disabled = 0,\n SameEntirePlant = 1,\n DifferentEachBuilding = 2,\n}\n\nexport class PlantAlarmSystemDTO implements IPlantAlarmSystemDTO {\n partitions?: PlantAlarmSystemPartitionDTO[] | undefined;\n scenes?: PlantAlarmSystemSceneDTO[] | undefined;\n roomName?: string | undefined;\n sensors?: AlarmSystemSensorDTO[] | undefined;\n\n constructor(data?: IPlantAlarmSystemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"partitions\"])) {\n this.partitions = [] as any;\n for (let item of _data[\"partitions\"])\n this.partitions!.push(PlantAlarmSystemPartitionDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"scenes\"])) {\n this.scenes = [] as any;\n for (let item of _data[\"scenes\"])\n this.scenes!.push(PlantAlarmSystemSceneDTO.fromJS(item));\n }\n this.roomName = _data[\"roomName\"];\n if (Array.isArray(_data[\"sensors\"])) {\n this.sensors = [] as any;\n for (let item of _data[\"sensors\"])\n this.sensors!.push(AlarmSystemSensorDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PlantAlarmSystemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantAlarmSystemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.partitions)) {\n data[\"partitions\"] = [];\n for (let item of this.partitions)\n data[\"partitions\"].push(item.toJSON());\n }\n if (Array.isArray(this.scenes)) {\n data[\"scenes\"] = [];\n for (let item of this.scenes)\n data[\"scenes\"].push(item.toJSON());\n }\n data[\"roomName\"] = this.roomName;\n if (Array.isArray(this.sensors)) {\n data[\"sensors\"] = [];\n for (let item of this.sensors)\n data[\"sensors\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IPlantAlarmSystemDTO {\n partitions?: PlantAlarmSystemPartitionDTO[] | undefined;\n scenes?: PlantAlarmSystemSceneDTO[] | undefined;\n roomName?: string | undefined;\n sensors?: AlarmSystemSensorDTO[] | undefined;\n}\n\nexport class PlantAlarmSystemPartitionDTO implements IPlantAlarmSystemPartitionDTO {\n partitionId?: string | undefined;\n partitionName?: string | undefined;\n\n constructor(data?: IPlantAlarmSystemPartitionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.partitionId = _data[\"partitionId\"];\n this.partitionName = _data[\"partitionName\"];\n }\n }\n\n static fromJS(data: any): PlantAlarmSystemPartitionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantAlarmSystemPartitionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"partitionId\"] = this.partitionId;\n data[\"partitionName\"] = this.partitionName;\n return data; \n }\n}\n\nexport interface IPlantAlarmSystemPartitionDTO {\n partitionId?: string | undefined;\n partitionName?: string | undefined;\n}\n\nexport class PlantAlarmSystemSceneDTO implements IPlantAlarmSystemSceneDTO {\n sceneId?: string | undefined;\n sceneName?: string | undefined;\n\n constructor(data?: IPlantAlarmSystemSceneDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sceneId = _data[\"sceneId\"];\n this.sceneName = _data[\"sceneName\"];\n }\n }\n\n static fromJS(data: any): PlantAlarmSystemSceneDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantAlarmSystemSceneDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sceneId\"] = this.sceneId;\n data[\"sceneName\"] = this.sceneName;\n return data; \n }\n}\n\nexport interface IPlantAlarmSystemSceneDTO {\n sceneId?: string | undefined;\n sceneName?: string | undefined;\n}\n\nexport class PlantC300EOSSettingsDTO implements IPlantC300EOSSettingsDTO {\n gwId?: string | undefined;\n gwIpAddress?: string | undefined;\n gwSubnetMask?: string | undefined;\n gwPrimaryDNS?: string | undefined;\n gwSecondaryDNS?: string | undefined;\n gwDefaultGateway?: string | undefined;\n gwMacAddress?: string | undefined;\n language?: Language;\n isAutoSetupEnabled?: boolean;\n isTemperatureDisplayed?: boolean;\n ntpServer?: string | undefined;\n dateTime?: Date;\n timeZone?: string | undefined;\n temperatureType?: TemperatureType;\n model?: ServerModel;\n firmwareVersion?: string | undefined;\n isPhysicalConfig?: boolean;\n nValue?: number;\n pValue?: number;\n mValue?: number;\n isAnsweringMachineEnabled?: boolean;\n isProfessionalStudioEnabled?: boolean;\n isWaterCycleEnabled?: boolean;\n openAutomaticallyDaysDelay?: number;\n minutesToKeepOpen?: number;\n arePumpsOpenedAutomatically?: boolean;\n isInterlockSystemEnabled?: boolean;\n interlockExcludedDevices?: string[] | undefined;\n vdeIntercomFunctions?: IntercomFunction[] | undefined;\n vdeCameraFunctions?: CameraFunction[] | undefined;\n vdeActivationFunctions?: ActivationFunction[] | undefined;\n isThermoExternalCentralUnit?: boolean;\n selectedThermostat?: string | undefined;\n seasonChange3477Mode?: SeasonChange3477Mode;\n isSeasonModeAuto?: boolean;\n isKeypadLockOutSeason?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: DeviceDTO;\n seasonChangeAutoStartWinterDate?: Date | undefined;\n seasonChangeAutoStartSummerDate?: Date | undefined;\n hasOneSeason?: boolean;\n\n constructor(data?: IPlantC300EOSSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gwId = _data[\"gwId\"];\n this.gwIpAddress = _data[\"gwIpAddress\"];\n this.gwSubnetMask = _data[\"gwSubnetMask\"];\n this.gwPrimaryDNS = _data[\"gwPrimaryDNS\"];\n this.gwSecondaryDNS = _data[\"gwSecondaryDNS\"];\n this.gwDefaultGateway = _data[\"gwDefaultGateway\"];\n this.gwMacAddress = _data[\"gwMacAddress\"];\n this.language = _data[\"language\"];\n this.isAutoSetupEnabled = _data[\"isAutoSetupEnabled\"];\n this.isTemperatureDisplayed = _data[\"isTemperatureDisplayed\"];\n this.ntpServer = _data[\"ntpServer\"];\n this.dateTime = _data[\"dateTime\"] ? new Date(_data[\"dateTime\"].toString()) : undefined;\n this.timeZone = _data[\"timeZone\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.model = _data[\"model\"];\n this.firmwareVersion = _data[\"firmwareVersion\"];\n this.isPhysicalConfig = _data[\"isPhysicalConfig\"];\n this.nValue = _data[\"nValue\"];\n this.pValue = _data[\"pValue\"];\n this.mValue = _data[\"mValue\"];\n this.isAnsweringMachineEnabled = _data[\"isAnsweringMachineEnabled\"];\n this.isProfessionalStudioEnabled = _data[\"isProfessionalStudioEnabled\"];\n this.isWaterCycleEnabled = _data[\"isWaterCycleEnabled\"];\n this.openAutomaticallyDaysDelay = _data[\"openAutomaticallyDaysDelay\"];\n this.minutesToKeepOpen = _data[\"minutesToKeepOpen\"];\n this.arePumpsOpenedAutomatically = _data[\"arePumpsOpenedAutomatically\"];\n this.isInterlockSystemEnabled = _data[\"isInterlockSystemEnabled\"];\n if (Array.isArray(_data[\"interlockExcludedDevices\"])) {\n this.interlockExcludedDevices = [] as any;\n for (let item of _data[\"interlockExcludedDevices\"])\n this.interlockExcludedDevices!.push(item);\n }\n if (Array.isArray(_data[\"vdeIntercomFunctions\"])) {\n this.vdeIntercomFunctions = [] as any;\n for (let item of _data[\"vdeIntercomFunctions\"])\n this.vdeIntercomFunctions!.push(IntercomFunction.fromJS(item));\n }\n if (Array.isArray(_data[\"vdeCameraFunctions\"])) {\n this.vdeCameraFunctions = [] as any;\n for (let item of _data[\"vdeCameraFunctions\"])\n this.vdeCameraFunctions!.push(CameraFunction.fromJS(item));\n }\n if (Array.isArray(_data[\"vdeActivationFunctions\"])) {\n this.vdeActivationFunctions = [] as any;\n for (let item of _data[\"vdeActivationFunctions\"])\n this.vdeActivationFunctions!.push(ActivationFunction.fromJS(item));\n }\n this.isThermoExternalCentralUnit = _data[\"isThermoExternalCentralUnit\"];\n this.selectedThermostat = _data[\"selectedThermostat\"];\n this.seasonChange3477Mode = _data[\"seasonChange3477Mode\"];\n this.isSeasonModeAuto = _data[\"isSeasonModeAuto\"];\n this.isKeypadLockOutSeason = _data[\"isKeypadLockOutSeason\"];\n this.seasonChangeAutoType = _data[\"seasonChangeAutoType\"];\n this.selected3477Device = _data[\"selected3477Device\"] ? DeviceDTO.fromJS(_data[\"selected3477Device\"]) : undefined;\n this.seasonChangeAutoStartWinterDate = _data[\"seasonChangeAutoStartWinterDate\"] ? new Date(_data[\"seasonChangeAutoStartWinterDate\"].toString()) : undefined;\n this.seasonChangeAutoStartSummerDate = _data[\"seasonChangeAutoStartSummerDate\"] ? new Date(_data[\"seasonChangeAutoStartSummerDate\"].toString()) : undefined;\n this.hasOneSeason = _data[\"hasOneSeason\"];\n }\n }\n\n static fromJS(data: any): PlantC300EOSSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantC300EOSSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gwId\"] = this.gwId;\n data[\"gwIpAddress\"] = this.gwIpAddress;\n data[\"gwSubnetMask\"] = this.gwSubnetMask;\n data[\"gwPrimaryDNS\"] = this.gwPrimaryDNS;\n data[\"gwSecondaryDNS\"] = this.gwSecondaryDNS;\n data[\"gwDefaultGateway\"] = this.gwDefaultGateway;\n data[\"gwMacAddress\"] = this.gwMacAddress;\n data[\"language\"] = this.language;\n data[\"isAutoSetupEnabled\"] = this.isAutoSetupEnabled;\n data[\"isTemperatureDisplayed\"] = this.isTemperatureDisplayed;\n data[\"ntpServer\"] = this.ntpServer;\n data[\"dateTime\"] = this.dateTime ? this.dateTime.toISOString() : undefined;\n data[\"timeZone\"] = this.timeZone;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"model\"] = this.model;\n data[\"firmwareVersion\"] = this.firmwareVersion;\n data[\"isPhysicalConfig\"] = this.isPhysicalConfig;\n data[\"nValue\"] = this.nValue;\n data[\"pValue\"] = this.pValue;\n data[\"mValue\"] = this.mValue;\n data[\"isAnsweringMachineEnabled\"] = this.isAnsweringMachineEnabled;\n data[\"isProfessionalStudioEnabled\"] = this.isProfessionalStudioEnabled;\n data[\"isWaterCycleEnabled\"] = this.isWaterCycleEnabled;\n data[\"openAutomaticallyDaysDelay\"] = this.openAutomaticallyDaysDelay;\n data[\"minutesToKeepOpen\"] = this.minutesToKeepOpen;\n data[\"arePumpsOpenedAutomatically\"] = this.arePumpsOpenedAutomatically;\n data[\"isInterlockSystemEnabled\"] = this.isInterlockSystemEnabled;\n if (Array.isArray(this.interlockExcludedDevices)) {\n data[\"interlockExcludedDevices\"] = [];\n for (let item of this.interlockExcludedDevices)\n data[\"interlockExcludedDevices\"].push(item);\n }\n if (Array.isArray(this.vdeIntercomFunctions)) {\n data[\"vdeIntercomFunctions\"] = [];\n for (let item of this.vdeIntercomFunctions)\n data[\"vdeIntercomFunctions\"].push(item.toJSON());\n }\n if (Array.isArray(this.vdeCameraFunctions)) {\n data[\"vdeCameraFunctions\"] = [];\n for (let item of this.vdeCameraFunctions)\n data[\"vdeCameraFunctions\"].push(item.toJSON());\n }\n if (Array.isArray(this.vdeActivationFunctions)) {\n data[\"vdeActivationFunctions\"] = [];\n for (let item of this.vdeActivationFunctions)\n data[\"vdeActivationFunctions\"].push(item.toJSON());\n }\n data[\"isThermoExternalCentralUnit\"] = this.isThermoExternalCentralUnit;\n data[\"selectedThermostat\"] = this.selectedThermostat;\n data[\"seasonChange3477Mode\"] = this.seasonChange3477Mode;\n data[\"isSeasonModeAuto\"] = this.isSeasonModeAuto;\n data[\"isKeypadLockOutSeason\"] = this.isKeypadLockOutSeason;\n data[\"seasonChangeAutoType\"] = this.seasonChangeAutoType;\n data[\"selected3477Device\"] = this.selected3477Device ? this.selected3477Device.toJSON() : undefined;\n data[\"seasonChangeAutoStartWinterDate\"] = this.seasonChangeAutoStartWinterDate ? this.seasonChangeAutoStartWinterDate.toISOString() : undefined;\n data[\"seasonChangeAutoStartSummerDate\"] = this.seasonChangeAutoStartSummerDate ? this.seasonChangeAutoStartSummerDate.toISOString() : undefined;\n data[\"hasOneSeason\"] = this.hasOneSeason;\n return data; \n }\n}\n\nexport interface IPlantC300EOSSettingsDTO {\n gwId?: string | undefined;\n gwIpAddress?: string | undefined;\n gwSubnetMask?: string | undefined;\n gwPrimaryDNS?: string | undefined;\n gwSecondaryDNS?: string | undefined;\n gwDefaultGateway?: string | undefined;\n gwMacAddress?: string | undefined;\n language?: Language;\n isAutoSetupEnabled?: boolean;\n isTemperatureDisplayed?: boolean;\n ntpServer?: string | undefined;\n dateTime?: Date;\n timeZone?: string | undefined;\n temperatureType?: TemperatureType;\n model?: ServerModel;\n firmwareVersion?: string | undefined;\n isPhysicalConfig?: boolean;\n nValue?: number;\n pValue?: number;\n mValue?: number;\n isAnsweringMachineEnabled?: boolean;\n isProfessionalStudioEnabled?: boolean;\n isWaterCycleEnabled?: boolean;\n openAutomaticallyDaysDelay?: number;\n minutesToKeepOpen?: number;\n arePumpsOpenedAutomatically?: boolean;\n isInterlockSystemEnabled?: boolean;\n interlockExcludedDevices?: string[] | undefined;\n vdeIntercomFunctions?: IntercomFunction[] | undefined;\n vdeCameraFunctions?: CameraFunction[] | undefined;\n vdeActivationFunctions?: ActivationFunction[] | undefined;\n isThermoExternalCentralUnit?: boolean;\n selectedThermostat?: string | undefined;\n seasonChange3477Mode?: SeasonChange3477Mode;\n isSeasonModeAuto?: boolean;\n isKeypadLockOutSeason?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: DeviceDTO;\n seasonChangeAutoStartWinterDate?: Date | undefined;\n seasonChangeAutoStartSummerDate?: Date | undefined;\n hasOneSeason?: boolean;\n}\n\nexport class PlantDTO implements IPlantDTO {\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n mxServer?: PlantMxServerDTO;\n customIconDataUrl?: string | undefined;\n roomsCounts?: PlantRoomCount[] | undefined;\n isGatewayNotConfigured?: boolean;\n plantType?: PlantType;\n\n constructor(data?: IPlantDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.country = _data[\"country\"];\n if (Array.isArray(_data[\"tags\"])) {\n this.tags = [] as any;\n for (let item of _data[\"tags\"])\n this.tags!.push(PlantTagDTO.fromJS(item));\n }\n this.icon = _data[\"icon\"];\n this.mxServer = _data[\"mxServer\"] ? PlantMxServerDTO.fromJS(_data[\"mxServer\"]) : undefined;\n this.customIconDataUrl = _data[\"customIconDataUrl\"];\n if (Array.isArray(_data[\"roomsCounts\"])) {\n this.roomsCounts = [] as any;\n for (let item of _data[\"roomsCounts\"])\n this.roomsCounts!.push(PlantRoomCount.fromJS(item));\n }\n this.isGatewayNotConfigured = _data[\"isGatewayNotConfigured\"];\n this.plantType = _data[\"plantType\"];\n }\n }\n\n static fromJS(data: any): PlantDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"country\"] = this.country;\n if (Array.isArray(this.tags)) {\n data[\"tags\"] = [];\n for (let item of this.tags)\n data[\"tags\"].push(item.toJSON());\n }\n data[\"icon\"] = this.icon;\n data[\"mxServer\"] = this.mxServer ? this.mxServer.toJSON() : undefined;\n data[\"customIconDataUrl\"] = this.customIconDataUrl;\n if (Array.isArray(this.roomsCounts)) {\n data[\"roomsCounts\"] = [];\n for (let item of this.roomsCounts)\n data[\"roomsCounts\"].push(item.toJSON());\n }\n data[\"isGatewayNotConfigured\"] = this.isGatewayNotConfigured;\n data[\"plantType\"] = this.plantType;\n return data; \n }\n}\n\nexport interface IPlantDTO {\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n mxServer?: PlantMxServerDTO;\n customIconDataUrl?: string | undefined;\n roomsCounts?: PlantRoomCount[] | undefined;\n isGatewayNotConfigured?: boolean;\n plantType?: PlantType;\n}\n\nexport class PlantDetailDTO implements IPlantDetailDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n lastModify?: Date;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n sharedWith?: PlantSharingDTO[] | undefined;\n isFavourite?: boolean;\n owner?: UserDTO;\n usersIdFavorites?: string[] | undefined;\n plantType?: PlantType;\n mxServer?: PlantMxServerDTO;\n rooms?: RoomDTO[] | undefined;\n lastScanDate?: Date | undefined;\n aggregateCommandsCount?: number;\n scenesCount?: number;\n gwId?: string | undefined;\n isGatewayNotConfigured?: boolean;\n\n constructor(data?: IPlantDetailDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.desktopId = _data[\"desktopId\"];\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.country = _data[\"country\"];\n if (Array.isArray(_data[\"tags\"])) {\n this.tags = [] as any;\n for (let item of _data[\"tags\"])\n this.tags!.push(PlantTagDTO.fromJS(item));\n }\n this.icon = _data[\"icon\"];\n this.customIconImageUrl = _data[\"customIconImageUrl\"];\n this.customIconDataUrl = _data[\"customIconDataUrl\"];\n this.lastModify = _data[\"lastModify\"] ? new Date(_data[\"lastModify\"].toString()) : undefined;\n this.lastModifyByDesktop = _data[\"lastModifyByDesktop\"];\n this.lastModifyBy = _data[\"lastModifyBy\"] ? UserDTO.fromJS(_data[\"lastModifyBy\"]) : undefined;\n if (Array.isArray(_data[\"sharedWith\"])) {\n this.sharedWith = [] as any;\n for (let item of _data[\"sharedWith\"])\n this.sharedWith!.push(PlantSharingDTO.fromJS(item));\n }\n this.isFavourite = _data[\"isFavourite\"];\n this.owner = _data[\"owner\"] ? UserDTO.fromJS(_data[\"owner\"]) : undefined;\n if (Array.isArray(_data[\"usersIdFavorites\"])) {\n this.usersIdFavorites = [] as any;\n for (let item of _data[\"usersIdFavorites\"])\n this.usersIdFavorites!.push(item);\n }\n this.plantType = _data[\"plantType\"];\n this.mxServer = _data[\"mxServer\"] ? PlantMxServerDTO.fromJS(_data[\"mxServer\"]) : undefined;\n if (Array.isArray(_data[\"rooms\"])) {\n this.rooms = [] as any;\n for (let item of _data[\"rooms\"])\n this.rooms!.push(RoomDTO.fromJS(item));\n }\n this.lastScanDate = _data[\"lastScanDate\"] ? new Date(_data[\"lastScanDate\"].toString()) : undefined;\n this.aggregateCommandsCount = _data[\"aggregateCommandsCount\"];\n this.scenesCount = _data[\"scenesCount\"];\n this.gwId = _data[\"gwId\"];\n this.isGatewayNotConfigured = _data[\"isGatewayNotConfigured\"];\n }\n }\n\n static fromJS(data: any): PlantDetailDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantDetailDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopId\"] = this.desktopId;\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"country\"] = this.country;\n if (Array.isArray(this.tags)) {\n data[\"tags\"] = [];\n for (let item of this.tags)\n data[\"tags\"].push(item.toJSON());\n }\n data[\"icon\"] = this.icon;\n data[\"customIconImageUrl\"] = this.customIconImageUrl;\n data[\"customIconDataUrl\"] = this.customIconDataUrl;\n data[\"lastModify\"] = this.lastModify ? this.lastModify.toISOString() : undefined;\n data[\"lastModifyByDesktop\"] = this.lastModifyByDesktop;\n data[\"lastModifyBy\"] = this.lastModifyBy ? this.lastModifyBy.toJSON() : undefined;\n if (Array.isArray(this.sharedWith)) {\n data[\"sharedWith\"] = [];\n for (let item of this.sharedWith)\n data[\"sharedWith\"].push(item.toJSON());\n }\n data[\"isFavourite\"] = this.isFavourite;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n if (Array.isArray(this.usersIdFavorites)) {\n data[\"usersIdFavorites\"] = [];\n for (let item of this.usersIdFavorites)\n data[\"usersIdFavorites\"].push(item);\n }\n data[\"plantType\"] = this.plantType;\n data[\"mxServer\"] = this.mxServer ? this.mxServer.toJSON() : undefined;\n if (Array.isArray(this.rooms)) {\n data[\"rooms\"] = [];\n for (let item of this.rooms)\n data[\"rooms\"].push(item.toJSON());\n }\n data[\"lastScanDate\"] = this.lastScanDate ? this.lastScanDate.toISOString() : undefined;\n data[\"aggregateCommandsCount\"] = this.aggregateCommandsCount;\n data[\"scenesCount\"] = this.scenesCount;\n data[\"gwId\"] = this.gwId;\n data[\"isGatewayNotConfigured\"] = this.isGatewayNotConfigured;\n return data; \n }\n}\n\nexport interface IPlantDetailDTO {\n desktopId?: number;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n icon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n customIconDataUrl?: string | undefined;\n lastModify?: Date;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n sharedWith?: PlantSharingDTO[] | undefined;\n isFavourite?: boolean;\n owner?: UserDTO;\n usersIdFavorites?: string[] | undefined;\n plantType?: PlantType;\n mxServer?: PlantMxServerDTO;\n rooms?: RoomDTO[] | undefined;\n lastScanDate?: Date | undefined;\n aggregateCommandsCount?: number;\n scenesCount?: number;\n gwId?: string | undefined;\n isGatewayNotConfigured?: boolean;\n}\n\n/** 0 = ICON_1 1 = ICON_2 2 = ICON_3 3 = ICON_4 4 = ICON_5 5 = ICON_CUSTOM */\nexport enum PlantIconEnum {\n ICON_1 = 0,\n ICON_2 = 1,\n ICON_3 = 2,\n ICON_4 = 3,\n ICON_5 = 4,\n ICON_CUSTOM = 5,\n}\n\nexport class PlantListDTO implements IPlantListDTO {\n desktopId?: number;\n id?: string | undefined;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n status?: PlantStatus;\n lastModify?: Date | undefined;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n isFavourite?: boolean;\n justSynchronized?: boolean;\n lastSessionDateTime?: Date | undefined;\n sessionLocked?: boolean;\n sessionLockedBy?: UserDTO;\n plantTypeIcon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n usersIdFavorites?: string[] | undefined;\n isGatewayNotConfigured?: boolean;\n plantType?: PlantType;\n\n constructor(data?: IPlantListDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.desktopId = _data[\"desktopId\"];\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.country = _data[\"country\"];\n if (Array.isArray(_data[\"tags\"])) {\n this.tags = [] as any;\n for (let item of _data[\"tags\"])\n this.tags!.push(PlantTagDTO.fromJS(item));\n }\n this.status = _data[\"status\"];\n this.lastModify = _data[\"lastModify\"] ? new Date(_data[\"lastModify\"].toString()) : undefined;\n this.lastModifyByDesktop = _data[\"lastModifyByDesktop\"];\n this.lastModifyBy = _data[\"lastModifyBy\"] ? UserDTO.fromJS(_data[\"lastModifyBy\"]) : undefined;\n this.isFavourite = _data[\"isFavourite\"];\n this.justSynchronized = _data[\"justSynchronized\"];\n this.lastSessionDateTime = _data[\"lastSessionDateTime\"] ? new Date(_data[\"lastSessionDateTime\"].toString()) : undefined;\n this.sessionLocked = _data[\"sessionLocked\"];\n this.sessionLockedBy = _data[\"sessionLockedBy\"] ? UserDTO.fromJS(_data[\"sessionLockedBy\"]) : undefined;\n this.plantTypeIcon = _data[\"plantTypeIcon\"];\n this.customIconImageUrl = _data[\"customIconImageUrl\"];\n if (Array.isArray(_data[\"usersIdFavorites\"])) {\n this.usersIdFavorites = [] as any;\n for (let item of _data[\"usersIdFavorites\"])\n this.usersIdFavorites!.push(item);\n }\n this.isGatewayNotConfigured = _data[\"isGatewayNotConfigured\"];\n this.plantType = _data[\"plantType\"];\n }\n }\n\n static fromJS(data: any): PlantListDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantListDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"desktopId\"] = this.desktopId;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"country\"] = this.country;\n if (Array.isArray(this.tags)) {\n data[\"tags\"] = [];\n for (let item of this.tags)\n data[\"tags\"].push(item.toJSON());\n }\n data[\"status\"] = this.status;\n data[\"lastModify\"] = this.lastModify ? this.lastModify.toISOString() : undefined;\n data[\"lastModifyByDesktop\"] = this.lastModifyByDesktop;\n data[\"lastModifyBy\"] = this.lastModifyBy ? this.lastModifyBy.toJSON() : undefined;\n data[\"isFavourite\"] = this.isFavourite;\n data[\"justSynchronized\"] = this.justSynchronized;\n data[\"lastSessionDateTime\"] = this.lastSessionDateTime ? this.lastSessionDateTime.toISOString() : undefined;\n data[\"sessionLocked\"] = this.sessionLocked;\n data[\"sessionLockedBy\"] = this.sessionLockedBy ? this.sessionLockedBy.toJSON() : undefined;\n data[\"plantTypeIcon\"] = this.plantTypeIcon;\n data[\"customIconImageUrl\"] = this.customIconImageUrl;\n if (Array.isArray(this.usersIdFavorites)) {\n data[\"usersIdFavorites\"] = [];\n for (let item of this.usersIdFavorites)\n data[\"usersIdFavorites\"].push(item);\n }\n data[\"isGatewayNotConfigured\"] = this.isGatewayNotConfigured;\n data[\"plantType\"] = this.plantType;\n return data; \n }\n}\n\nexport interface IPlantListDTO {\n desktopId?: number;\n id?: string | undefined;\n name?: string | undefined;\n address?: string | undefined;\n country?: string | undefined;\n tags?: PlantTagDTO[] | undefined;\n status?: PlantStatus;\n lastModify?: Date | undefined;\n lastModifyByDesktop?: boolean;\n lastModifyBy?: UserDTO;\n isFavourite?: boolean;\n justSynchronized?: boolean;\n lastSessionDateTime?: Date | undefined;\n sessionLocked?: boolean;\n sessionLockedBy?: UserDTO;\n plantTypeIcon?: PlantIconEnum;\n customIconImageUrl?: string | undefined;\n usersIdFavorites?: string[] | undefined;\n isGatewayNotConfigured?: boolean;\n plantType?: PlantType;\n}\n\nexport class PlantListDTOPaginatedResult implements IPlantListDTOPaginatedResult {\n data?: PlantListDTO[] | undefined;\n total?: number;\n pageNumber?: number;\n pageSize?: number;\n\n constructor(data?: IPlantListDTOPaginatedResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"data\"])) {\n this.data = [] as any;\n for (let item of _data[\"data\"])\n this.data!.push(PlantListDTO.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.pageNumber = _data[\"pageNumber\"];\n this.pageSize = _data[\"pageSize\"];\n }\n }\n\n static fromJS(data: any): PlantListDTOPaginatedResult {\n data = typeof data === 'object' ? data : {};\n let result = new PlantListDTOPaginatedResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.data)) {\n data[\"data\"] = [];\n for (let item of this.data)\n data[\"data\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"pageNumber\"] = this.pageNumber;\n data[\"pageSize\"] = this.pageSize;\n return data; \n }\n}\n\nexport interface IPlantListDTOPaginatedResult {\n data?: PlantListDTO[] | undefined;\n total?: number;\n pageNumber?: number;\n pageSize?: number;\n}\n\nexport class PlantMxServerDTO implements IPlantMxServerDTO {\n model?: ServerModel;\n temperatureType?: TemperatureType;\n isAlarmConfigured?: boolean;\n alarmConfiguration?: PlantAlarmSystemDTO;\n\n constructor(data?: IPlantMxServerDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.model = _data[\"model\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.isAlarmConfigured = _data[\"isAlarmConfigured\"];\n this.alarmConfiguration = _data[\"alarmConfiguration\"] ? PlantAlarmSystemDTO.fromJS(_data[\"alarmConfiguration\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PlantMxServerDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantMxServerDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"model\"] = this.model;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"isAlarmConfigured\"] = this.isAlarmConfigured;\n data[\"alarmConfiguration\"] = this.alarmConfiguration ? this.alarmConfiguration.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IPlantMxServerDTO {\n model?: ServerModel;\n temperatureType?: TemperatureType;\n isAlarmConfigured?: boolean;\n alarmConfiguration?: PlantAlarmSystemDTO;\n}\n\nexport class PlantRoomCount implements IPlantRoomCount {\n type?: RoomType;\n count?: number;\n label?: string | undefined;\n\n constructor(data?: IPlantRoomCount) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.count = _data[\"count\"];\n this.label = _data[\"label\"];\n }\n }\n\n static fromJS(data: any): PlantRoomCount {\n data = typeof data === 'object' ? data : {};\n let result = new PlantRoomCount();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"count\"] = this.count;\n data[\"label\"] = this.label;\n return data; \n }\n}\n\nexport interface IPlantRoomCount {\n type?: RoomType;\n count?: number;\n label?: string | undefined;\n}\n\nexport class PlantSessionDTO implements IPlantSessionDTO {\n renewSessionSeconds?: number;\n\n constructor(data?: IPlantSessionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.renewSessionSeconds = _data[\"renewSessionSeconds\"];\n }\n }\n\n static fromJS(data: any): PlantSessionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantSessionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"renewSessionSeconds\"] = this.renewSessionSeconds;\n return data; \n }\n}\n\nexport interface IPlantSessionDTO {\n renewSessionSeconds?: number;\n}\n\nexport class PlantSharingDTO implements IPlantSharingDTO {\n userId?: string | undefined;\n invitedEmail?: string | undefined;\n confirmed?: boolean;\n name?: string | undefined;\n surname?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IPlantSharingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.invitedEmail = _data[\"invitedEmail\"];\n this.confirmed = _data[\"confirmed\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): PlantSharingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantSharingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"invitedEmail\"] = this.invitedEmail;\n data[\"confirmed\"] = this.confirmed;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"email\"] = this.email;\n return data; \n }\n}\n\nexport interface IPlantSharingDTO {\n userId?: string | undefined;\n invitedEmail?: string | undefined;\n confirmed?: boolean;\n name?: string | undefined;\n surname?: string | undefined;\n email?: string | undefined;\n}\n\n/** 0 = PROJECT 1 = INSTALLED 2 = COMMISSIONED */\nexport enum PlantStatus {\n PROJECT = 0,\n INSTALLED = 1,\n COMMISSIONED = 2,\n}\n\nexport class PlantSyncStatusDTO implements IPlantSyncStatusDTO {\n isPlantActive?: boolean;\n isFullyConfigured?: boolean;\n synchronized?: boolean;\n connected?: boolean;\n areVirtualDevicesSentToEliot?: boolean;\n areVirtualDevicesChanged?: boolean;\n lastSyncDateTime?: Date | undefined;\n changesToSyncCount?: number;\n canSyncRemotely?: boolean;\n isRemoteSyncFailedAndRetryIsAllowed?: boolean;\n syncInfo?: SyncInfo;\n\n constructor(data?: IPlantSyncStatusDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isPlantActive = _data[\"isPlantActive\"];\n this.isFullyConfigured = _data[\"isFullyConfigured\"];\n this.synchronized = _data[\"synchronized\"];\n this.connected = _data[\"connected\"];\n this.areVirtualDevicesSentToEliot = _data[\"areVirtualDevicesSentToEliot\"];\n this.areVirtualDevicesChanged = _data[\"areVirtualDevicesChanged\"];\n this.lastSyncDateTime = _data[\"lastSyncDateTime\"] ? new Date(_data[\"lastSyncDateTime\"].toString()) : undefined;\n this.changesToSyncCount = _data[\"changesToSyncCount\"];\n this.canSyncRemotely = _data[\"canSyncRemotely\"];\n this.isRemoteSyncFailedAndRetryIsAllowed = _data[\"isRemoteSyncFailedAndRetryIsAllowed\"];\n this.syncInfo = _data[\"syncInfo\"] ? SyncInfo.fromJS(_data[\"syncInfo\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PlantSyncStatusDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantSyncStatusDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isPlantActive\"] = this.isPlantActive;\n data[\"isFullyConfigured\"] = this.isFullyConfigured;\n data[\"synchronized\"] = this.synchronized;\n data[\"connected\"] = this.connected;\n data[\"areVirtualDevicesSentToEliot\"] = this.areVirtualDevicesSentToEliot;\n data[\"areVirtualDevicesChanged\"] = this.areVirtualDevicesChanged;\n data[\"lastSyncDateTime\"] = this.lastSyncDateTime ? this.lastSyncDateTime.toISOString() : undefined;\n data[\"changesToSyncCount\"] = this.changesToSyncCount;\n data[\"canSyncRemotely\"] = this.canSyncRemotely;\n data[\"isRemoteSyncFailedAndRetryIsAllowed\"] = this.isRemoteSyncFailedAndRetryIsAllowed;\n data[\"syncInfo\"] = this.syncInfo ? this.syncInfo.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IPlantSyncStatusDTO {\n isPlantActive?: boolean;\n isFullyConfigured?: boolean;\n synchronized?: boolean;\n connected?: boolean;\n areVirtualDevicesSentToEliot?: boolean;\n areVirtualDevicesChanged?: boolean;\n lastSyncDateTime?: Date | undefined;\n changesToSyncCount?: number;\n canSyncRemotely?: boolean;\n isRemoteSyncFailedAndRetryIsAllowed?: boolean;\n syncInfo?: SyncInfo;\n}\n\nexport class PlantTagDTO implements IPlantTagDTO {\n key?: string | undefined;\n value?: string | undefined;\n isImportant?: boolean;\n usages?: number;\n\n constructor(data?: IPlantTagDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.value = _data[\"value\"];\n this.isImportant = _data[\"isImportant\"];\n this.usages = _data[\"usages\"];\n }\n }\n\n static fromJS(data: any): PlantTagDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PlantTagDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"value\"] = this.value;\n data[\"isImportant\"] = this.isImportant;\n data[\"usages\"] = this.usages;\n return data; \n }\n}\n\nexport interface IPlantTagDTO {\n key?: string | undefined;\n value?: string | undefined;\n isImportant?: boolean;\n usages?: number;\n}\n\n/** 0 = AUTOMATION_PLANT 1 = ENTRANCE_PLANT */\nexport enum PlantType {\n AUTOMATION_PLANT = 0,\n ENTRANCE_PLANT = 1,\n}\n\n/** 0 = PLANT_NAME 1 = MODIFIED_DATE */\nexport enum PlantsOrderBy {\n PLANT_NAME = 0,\n MODIFIED_DATE = 1,\n}\n\nexport class PlayerExtDevice extends ExtDevice implements IPlayerExtDevice {\n playerSystem?: PlayerSystem;\n readonly macAddress?: string | undefined;\n readonly name?: string | undefined;\n\n constructor(data?: IPlayerExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.playerSystem = _data[\"playerSystem\"];\n (this).macAddress = _data[\"macAddress\"];\n (this).name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): PlayerExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new PlayerExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"playerSystem\"] = this.playerSystem;\n data[\"macAddress\"] = this.macAddress;\n data[\"name\"] = this.name;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IPlayerExtDevice extends IExtDevice {\n playerSystem?: PlayerSystem;\n macAddress?: string | undefined;\n name?: string | undefined;\n}\n\n/** 0 = Nuvo 1 = Sonos */\nexport enum PlayerSystem {\n Nuvo = 0,\n Sonos = 1,\n}\n\nexport class ProbeSettings implements IProbeSettings {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n\n constructor(data?: IProbeSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isLedmanaged = _data[\"isLedmanaged\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n }\n }\n\n static fromJS(data: any): ProbeSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ProbeSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isLedmanaged\"] = this.isLedmanaged;\n data[\"externalSensorType\"] = this.externalSensorType;\n return data; \n }\n}\n\nexport interface IProbeSettings {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n}\n\n/** 0 = None 1 = PhisicallyConfigured 2 = DeviceRemoved 3 = DeviceUnmanage 4 = DeviceChanged */\nexport enum ProblemType {\n None = 0,\n PhisicallyConfigured = 1,\n DeviceRemoved = 2,\n DeviceUnmanage = 3,\n DeviceChanged = 4,\n}\n\nexport class PushNotificationAction extends Action implements IPushNotificationAction {\n\n constructor(data?: IPushNotificationAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): PushNotificationAction {\n data = typeof data === 'object' ? data : {};\n let result = new PushNotificationAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IPushNotificationAction extends IAction {\n}\n\nexport class RFAConfigDTO implements IRFAConfigDTO {\n numberOfApartments?: number;\n floorsWithoutRiser?: FloorConfigDTO[] | undefined;\n risers?: RiserConfigDTO[] | undefined;\n\n constructor(data?: IRFAConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.numberOfApartments = _data[\"numberOfApartments\"];\n if (Array.isArray(_data[\"floorsWithoutRiser\"])) {\n this.floorsWithoutRiser = [] as any;\n for (let item of _data[\"floorsWithoutRiser\"])\n this.floorsWithoutRiser!.push(FloorConfigDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"risers\"])) {\n this.risers = [] as any;\n for (let item of _data[\"risers\"])\n this.risers!.push(RiserConfigDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RFAConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RFAConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"numberOfApartments\"] = this.numberOfApartments;\n if (Array.isArray(this.floorsWithoutRiser)) {\n data[\"floorsWithoutRiser\"] = [];\n for (let item of this.floorsWithoutRiser)\n data[\"floorsWithoutRiser\"].push(item.toJSON());\n }\n if (Array.isArray(this.risers)) {\n data[\"risers\"] = [];\n for (let item of this.risers)\n data[\"risers\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRFAConfigDTO {\n numberOfApartments?: number;\n floorsWithoutRiser?: FloorConfigDTO[] | undefined;\n risers?: RiserConfigDTO[] | undefined;\n}\n\n/** 0 = LastStatus 1 = Opened 2 = Closed */\nexport enum RelayStatusAfterResetOptions {\n LastStatus = 0,\n Opened = 1,\n Closed = 2,\n}\n\n/** 0 = None 1 = Global 2 = Actuator */\nexport enum ResetType {\n None = 0,\n Global = 1,\n Actuator = 2,\n}\n\nexport class RiserConfigDTO implements IRiserConfigDTO {\n index?: number;\n name?: string | undefined;\n floors?: FloorConfigDTO[] | undefined;\n riserId?: string | undefined;\n\n constructor(data?: IRiserConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"floors\"])) {\n this.floors = [] as any;\n for (let item of _data[\"floors\"])\n this.floors!.push(FloorConfigDTO.fromJS(item));\n }\n this.riserId = _data[\"riserId\"];\n }\n }\n\n static fromJS(data: any): RiserConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RiserConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n if (Array.isArray(this.floors)) {\n data[\"floors\"] = [];\n for (let item of this.floors)\n data[\"floors\"].push(item.toJSON());\n }\n data[\"riserId\"] = this.riserId;\n return data; \n }\n}\n\nexport interface IRiserConfigDTO {\n index?: number;\n name?: string | undefined;\n floors?: FloorConfigDTO[] | undefined;\n riserId?: string | undefined;\n}\n\nexport class RiserDTO implements IRiserDTO {\n riserId?: string;\n buildingId?: string;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n\n constructor(data?: IRiserDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.riserId = _data[\"riserId\"];\n this.buildingId = _data[\"buildingId\"];\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n }\n }\n\n static fromJS(data: any): RiserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RiserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"riserId\"] = this.riserId;\n data[\"buildingId\"] = this.buildingId;\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n return data; \n }\n}\n\nexport interface IRiserDTO {\n riserId?: string;\n buildingId?: string;\n index?: string | undefined;\n name?: string | undefined;\n code?: string | undefined;\n}\n\nexport class Room implements IRoom {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObject[] | undefined;\n\n constructor(data?: IRoom) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(RoomObject.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Room {\n data = typeof data === 'object' ? data : {};\n let result = new Room();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoom {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObject[] | undefined;\n}\n\nexport class RoomDTO implements IRoomDTO {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObjectDTO[] | undefined;\n\n constructor(data?: IRoomDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(RoomObjectDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RoomDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoomDTO {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObjectDTO[] | undefined;\n}\n\nexport class RoomObject extends LinkableObject implements IRoomObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n hasCommands?: boolean;\n roomId?: string | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n commandOpeningTime?: CommandOpeningTime;\n isAppliedToAllSameTypeCommands?: boolean;\n energyMeterAndLoadControlType?: EnergyMeterAndLoadControlType;\n isEnergyMeter?: boolean;\n toroidDirectionType?: ToroidDirection;\n tolerance?: string | undefined;\n priority?: number;\n supplyPower?: string | undefined;\n lineType?: Line;\n lineMisurationType?: LineMisuration;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermo?: ThermoActuactor[] | undefined;\n isTemperatureDisplayed?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n isInterlockSystemEnabled?: boolean;\n isSeasonModeAuto?: boolean;\n isSeasonChangeModifiable?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: Device;\n seasonChangeAutoStartWinterDate?: Date;\n seasonChangeAutoStartSummerDate?: Date;\n isThermo99Zone?: boolean;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n heatingThermalProtection?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n temperatureType?: TemperatureType;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n isInterlockingExcluded?: boolean;\n pumpsDelay?: string;\n thermoUkFanSpeed?: number;\n thermoUkFanSpeed2?: number;\n thermoUkFanSpeed3?: number;\n coloredLightType?: ColoredLightType;\n daliType?: DaliType;\n isColor?: boolean;\n isTemperatureColor?: boolean;\n address?: string | undefined;\n callType?: CallType;\n readonly isToChangeIntoID?: string | undefined;\n readonly isAddressConflict?: boolean;\n addressWithInterface?: string | undefined;\n typeofProblem?: CompromisedType;\n\n constructor(data?: IRoomObject) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n this.systemType = _data[\"systemType\"];\n this.isHidden = _data[\"isHidden\"];\n this.hasCommands = _data[\"hasCommands\"];\n this.roomId = _data[\"roomId\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.isAppliedToAllSameTypeCommands = _data[\"isAppliedToAllSameTypeCommands\"];\n this.energyMeterAndLoadControlType = _data[\"energyMeterAndLoadControlType\"];\n this.isEnergyMeter = _data[\"isEnergyMeter\"];\n this.toroidDirectionType = _data[\"toroidDirectionType\"];\n this.tolerance = _data[\"tolerance\"];\n this.priority = _data[\"priority\"];\n this.supplyPower = _data[\"supplyPower\"];\n this.lineType = _data[\"lineType\"];\n this.lineMisurationType = _data[\"lineMisurationType\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.actuatorModalityType = _data[\"actuatorModalityType\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n if (Array.isArray(_data[\"thermo\"])) {\n this.thermo = [] as any;\n for (let item of _data[\"thermo\"])\n this.thermo!.push(ThermoActuactor.fromJS(item));\n }\n this.isTemperatureDisplayed = _data[\"isTemperatureDisplayed\"];\n this.isWaterCycleEnabled = _data[\"isWaterCycleEnabled\"];\n this.arePumpsOpenedAutomatically = _data[\"arePumpsOpenedAutomatically\"];\n this.minutesToKeepOpen = _data[\"minutesToKeepOpen\"];\n this.openAutomaticallyDaysDelay = _data[\"openAutomaticallyDaysDelay\"];\n this.isInterlockSystemEnabled = _data[\"isInterlockSystemEnabled\"];\n this.isSeasonModeAuto = _data[\"isSeasonModeAuto\"];\n this.isSeasonChangeModifiable = _data[\"isSeasonChangeModifiable\"];\n this.seasonChangeAutoType = _data[\"seasonChangeAutoType\"];\n this.selected3477Device = _data[\"selected3477Device\"] ? Device.fromJS(_data[\"selected3477Device\"]) : undefined;\n this.seasonChangeAutoStartWinterDate = _data[\"seasonChangeAutoStartWinterDate\"] ? new Date(_data[\"seasonChangeAutoStartWinterDate\"].toString()) : undefined;\n this.seasonChangeAutoStartSummerDate = _data[\"seasonChangeAutoStartSummerDate\"] ? new Date(_data[\"seasonChangeAutoStartSummerDate\"].toString()) : undefined;\n this.isThermo99Zone = _data[\"isThermo99Zone\"];\n this.thermo99SelectedZone = _data[\"thermo99SelectedZone\"];\n this.thermo99HasFancoil = _data[\"thermo99HasFancoil\"];\n this.heatingSetpointLow = _data[\"heatingSetpointLow\"];\n this.heatingSetpointHigh = _data[\"heatingSetpointHigh\"];\n this.heatingAntifreeze = _data[\"heatingAntifreeze\"];\n this.heatingThermalProtection = _data[\"heatingThermalProtection\"];\n this.coolingSetpointLow = _data[\"coolingSetpointLow\"];\n this.coolingSetpointHigh = _data[\"coolingSetpointHigh\"];\n this.coolingThermalProtection = _data[\"coolingThermalProtection\"];\n this.isAutoCommutation = _data[\"isAutoCommutation\"];\n this.delayHeatingPumps = _data[\"delayHeatingPumps\"];\n this.delayCoolingPumps = _data[\"delayCoolingPumps\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.areButtonsEnabled = _data[\"areButtonsEnabled\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isBacklightEnabled = _data[\"isBacklightEnabled\"];\n this.backlightLevel = _data[\"backlightLevel\"];\n this.isManualHeatingOverrideEnabled = _data[\"isManualHeatingOverrideEnabled\"];\n this.heatingRegulationBand = _data[\"heatingRegulationBand\"];\n this.fanSpeed2ForHeating = _data[\"fanSpeed2ForHeating\"];\n this.fanSpeed3ForHeating = _data[\"fanSpeed3ForHeating\"];\n this.valvesTimeForHeatingFanCoil = _data[\"valvesTimeForHeatingFanCoil\"];\n this.isManualCoolingOverrideEnabled = _data[\"isManualCoolingOverrideEnabled\"];\n this.coolingRegulationBand = _data[\"coolingRegulationBand\"];\n this.fanSpeed2ForCooling = _data[\"fanSpeed2ForCooling\"];\n this.fanSpeed3ForCooling = _data[\"fanSpeed3ForCooling\"];\n this.valvesTimeForCoolingFanCoil = _data[\"valvesTimeForCoolingFanCoil\"];\n this.isIconAlwaysOff = _data[\"isIconAlwaysOff\"];\n this.isLocalContactNumberEnabled = _data[\"isLocalContactNumberEnabled\"];\n this.numberOfWindowsContact = _data[\"numberOfWindowsContact\"];\n this.openingContactTypeHeating = _data[\"openingContactTypeHeating\"];\n this.openingContactTempHeating = _data[\"openingContactTempHeating\"];\n this.openingContactDelayHeating = _data[\"openingContactDelayHeating\"];\n this.timeoutOpeningHeating = _data[\"timeoutOpeningHeating\"];\n this.closingContactTypeHeating = _data[\"closingContactTypeHeating\"];\n this.closingContactTempHeating = _data[\"closingContactTempHeating\"];\n this.closingContactDelayHeating = _data[\"closingContactDelayHeating\"];\n this.timeoutClosingHeating = _data[\"timeoutClosingHeating\"];\n this.openingContactTypeCooling = _data[\"openingContactTypeCooling\"];\n this.openingContactTempCooling = _data[\"openingContactTempCooling\"];\n this.openingContactDelayCooling = _data[\"openingContactDelayCooling\"];\n this.timeoutOpeningCooling = _data[\"timeoutOpeningCooling\"];\n this.closingContactTypeCooling = _data[\"closingContactTypeCooling\"];\n this.closingContactTempCooling = _data[\"closingContactTempCooling\"];\n this.closingContactDelayCooling = _data[\"closingContactDelayCooling\"];\n this.timeoutClosingCooling = _data[\"timeoutClosingCooling\"];\n this.isCoolingVentilationEnabled = _data[\"isCoolingVentilationEnabled\"];\n this.isHeatingVentilationEnabled = _data[\"isHeatingVentilationEnabled\"];\n this.timeoutCoolingVentilation = _data[\"timeoutCoolingVentilation\"];\n this.timeoutHeatingVentilation = _data[\"timeoutHeatingVentilation\"];\n this.isInterlockingExcluded = _data[\"isInterlockingExcluded\"];\n this.pumpsDelay = _data[\"pumpsDelay\"];\n this.thermoUkFanSpeed = _data[\"thermoUkFanSpeed\"];\n this.thermoUkFanSpeed2 = _data[\"thermoUkFanSpeed2\"];\n this.thermoUkFanSpeed3 = _data[\"thermoUkFanSpeed3\"];\n this.coloredLightType = _data[\"coloredLightType\"];\n this.daliType = _data[\"daliType\"];\n this.isColor = _data[\"isColor\"];\n this.isTemperatureColor = _data[\"isTemperatureColor\"];\n this.address = _data[\"address\"];\n this.callType = _data[\"callType\"];\n (this).isToChangeIntoID = _data[\"isToChangeIntoID\"];\n (this).isAddressConflict = _data[\"isAddressConflict\"];\n this.addressWithInterface = _data[\"addressWithInterface\"];\n this.typeofProblem = _data[\"typeofProblem\"];\n }\n }\n\n static fromJS(data: any): RoomObject {\n data = typeof data === 'object' ? data : {};\n let result = new RoomObject();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"systemType\"] = this.systemType;\n data[\"isHidden\"] = this.isHidden;\n data[\"hasCommands\"] = this.hasCommands;\n data[\"roomId\"] = this.roomId;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"isAppliedToAllSameTypeCommands\"] = this.isAppliedToAllSameTypeCommands;\n data[\"energyMeterAndLoadControlType\"] = this.energyMeterAndLoadControlType;\n data[\"isEnergyMeter\"] = this.isEnergyMeter;\n data[\"toroidDirectionType\"] = this.toroidDirectionType;\n data[\"tolerance\"] = this.tolerance;\n data[\"priority\"] = this.priority;\n data[\"supplyPower\"] = this.supplyPower;\n data[\"lineType\"] = this.lineType;\n data[\"lineMisurationType\"] = this.lineMisurationType;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"actuatorModalityType\"] = this.actuatorModalityType;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n if (Array.isArray(this.thermo)) {\n data[\"thermo\"] = [];\n for (let item of this.thermo)\n data[\"thermo\"].push(item.toJSON());\n }\n data[\"isTemperatureDisplayed\"] = this.isTemperatureDisplayed;\n data[\"isWaterCycleEnabled\"] = this.isWaterCycleEnabled;\n data[\"arePumpsOpenedAutomatically\"] = this.arePumpsOpenedAutomatically;\n data[\"minutesToKeepOpen\"] = this.minutesToKeepOpen;\n data[\"openAutomaticallyDaysDelay\"] = this.openAutomaticallyDaysDelay;\n data[\"isInterlockSystemEnabled\"] = this.isInterlockSystemEnabled;\n data[\"isSeasonModeAuto\"] = this.isSeasonModeAuto;\n data[\"isSeasonChangeModifiable\"] = this.isSeasonChangeModifiable;\n data[\"seasonChangeAutoType\"] = this.seasonChangeAutoType;\n data[\"selected3477Device\"] = this.selected3477Device ? this.selected3477Device.toJSON() : undefined;\n data[\"seasonChangeAutoStartWinterDate\"] = this.seasonChangeAutoStartWinterDate ? this.seasonChangeAutoStartWinterDate.toISOString() : undefined;\n data[\"seasonChangeAutoStartSummerDate\"] = this.seasonChangeAutoStartSummerDate ? this.seasonChangeAutoStartSummerDate.toISOString() : undefined;\n data[\"isThermo99Zone\"] = this.isThermo99Zone;\n data[\"thermo99SelectedZone\"] = this.thermo99SelectedZone;\n data[\"thermo99HasFancoil\"] = this.thermo99HasFancoil;\n data[\"heatingSetpointLow\"] = this.heatingSetpointLow;\n data[\"heatingSetpointHigh\"] = this.heatingSetpointHigh;\n data[\"heatingAntifreeze\"] = this.heatingAntifreeze;\n data[\"heatingThermalProtection\"] = this.heatingThermalProtection;\n data[\"coolingSetpointLow\"] = this.coolingSetpointLow;\n data[\"coolingSetpointHigh\"] = this.coolingSetpointHigh;\n data[\"coolingThermalProtection\"] = this.coolingThermalProtection;\n data[\"isAutoCommutation\"] = this.isAutoCommutation;\n data[\"delayHeatingPumps\"] = this.delayHeatingPumps;\n data[\"delayCoolingPumps\"] = this.delayCoolingPumps;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"areButtonsEnabled\"] = this.areButtonsEnabled;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isBacklightEnabled\"] = this.isBacklightEnabled;\n data[\"backlightLevel\"] = this.backlightLevel;\n data[\"isManualHeatingOverrideEnabled\"] = this.isManualHeatingOverrideEnabled;\n data[\"heatingRegulationBand\"] = this.heatingRegulationBand;\n data[\"fanSpeed2ForHeating\"] = this.fanSpeed2ForHeating;\n data[\"fanSpeed3ForHeating\"] = this.fanSpeed3ForHeating;\n data[\"valvesTimeForHeatingFanCoil\"] = this.valvesTimeForHeatingFanCoil;\n data[\"isManualCoolingOverrideEnabled\"] = this.isManualCoolingOverrideEnabled;\n data[\"coolingRegulationBand\"] = this.coolingRegulationBand;\n data[\"fanSpeed2ForCooling\"] = this.fanSpeed2ForCooling;\n data[\"fanSpeed3ForCooling\"] = this.fanSpeed3ForCooling;\n data[\"valvesTimeForCoolingFanCoil\"] = this.valvesTimeForCoolingFanCoil;\n data[\"isIconAlwaysOff\"] = this.isIconAlwaysOff;\n data[\"isLocalContactNumberEnabled\"] = this.isLocalContactNumberEnabled;\n data[\"numberOfWindowsContact\"] = this.numberOfWindowsContact;\n data[\"openingContactTypeHeating\"] = this.openingContactTypeHeating;\n data[\"openingContactTempHeating\"] = this.openingContactTempHeating;\n data[\"openingContactDelayHeating\"] = this.openingContactDelayHeating;\n data[\"timeoutOpeningHeating\"] = this.timeoutOpeningHeating;\n data[\"closingContactTypeHeating\"] = this.closingContactTypeHeating;\n data[\"closingContactTempHeating\"] = this.closingContactTempHeating;\n data[\"closingContactDelayHeating\"] = this.closingContactDelayHeating;\n data[\"timeoutClosingHeating\"] = this.timeoutClosingHeating;\n data[\"openingContactTypeCooling\"] = this.openingContactTypeCooling;\n data[\"openingContactTempCooling\"] = this.openingContactTempCooling;\n data[\"openingContactDelayCooling\"] = this.openingContactDelayCooling;\n data[\"timeoutOpeningCooling\"] = this.timeoutOpeningCooling;\n data[\"closingContactTypeCooling\"] = this.closingContactTypeCooling;\n data[\"closingContactTempCooling\"] = this.closingContactTempCooling;\n data[\"closingContactDelayCooling\"] = this.closingContactDelayCooling;\n data[\"timeoutClosingCooling\"] = this.timeoutClosingCooling;\n data[\"isCoolingVentilationEnabled\"] = this.isCoolingVentilationEnabled;\n data[\"isHeatingVentilationEnabled\"] = this.isHeatingVentilationEnabled;\n data[\"timeoutCoolingVentilation\"] = this.timeoutCoolingVentilation;\n data[\"timeoutHeatingVentilation\"] = this.timeoutHeatingVentilation;\n data[\"isInterlockingExcluded\"] = this.isInterlockingExcluded;\n data[\"pumpsDelay\"] = this.pumpsDelay;\n data[\"thermoUkFanSpeed\"] = this.thermoUkFanSpeed;\n data[\"thermoUkFanSpeed2\"] = this.thermoUkFanSpeed2;\n data[\"thermoUkFanSpeed3\"] = this.thermoUkFanSpeed3;\n data[\"coloredLightType\"] = this.coloredLightType;\n data[\"daliType\"] = this.daliType;\n data[\"isColor\"] = this.isColor;\n data[\"isTemperatureColor\"] = this.isTemperatureColor;\n data[\"address\"] = this.address;\n data[\"callType\"] = this.callType;\n data[\"isToChangeIntoID\"] = this.isToChangeIntoID;\n data[\"isAddressConflict\"] = this.isAddressConflict;\n data[\"addressWithInterface\"] = this.addressWithInterface;\n data[\"typeofProblem\"] = this.typeofProblem;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IRoomObject extends ILinkableObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n hasCommands?: boolean;\n roomId?: string | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n commandOpeningTime?: CommandOpeningTime;\n isAppliedToAllSameTypeCommands?: boolean;\n energyMeterAndLoadControlType?: EnergyMeterAndLoadControlType;\n isEnergyMeter?: boolean;\n toroidDirectionType?: ToroidDirection;\n tolerance?: string | undefined;\n priority?: number;\n supplyPower?: string | undefined;\n lineType?: Line;\n lineMisurationType?: LineMisuration;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermo?: ThermoActuactor[] | undefined;\n isTemperatureDisplayed?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n isInterlockSystemEnabled?: boolean;\n isSeasonModeAuto?: boolean;\n isSeasonChangeModifiable?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: Device;\n seasonChangeAutoStartWinterDate?: Date;\n seasonChangeAutoStartSummerDate?: Date;\n isThermo99Zone?: boolean;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n heatingThermalProtection?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n temperatureType?: TemperatureType;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n isInterlockingExcluded?: boolean;\n pumpsDelay?: string;\n thermoUkFanSpeed?: number;\n thermoUkFanSpeed2?: number;\n thermoUkFanSpeed3?: number;\n coloredLightType?: ColoredLightType;\n daliType?: DaliType;\n isColor?: boolean;\n isTemperatureColor?: boolean;\n address?: string | undefined;\n callType?: CallType;\n isToChangeIntoID?: string | undefined;\n isAddressConflict?: boolean;\n addressWithInterface?: string | undefined;\n typeofProblem?: CompromisedType;\n}\n\nexport class RoomObjectActionListItemDTO implements IRoomObjectActionListItemDTO {\n roomObjects?: SceneActionListItemDTO[] | undefined;\n name?: string | undefined;\n type?: RoomType;\n\n constructor(data?: IRoomObjectActionListItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(SceneActionListItemDTO.fromJS(item));\n }\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): RoomObjectActionListItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomObjectActionListItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n return data; \n }\n}\n\nexport interface IRoomObjectActionListItemDTO {\n roomObjects?: SceneActionListItemDTO[] | undefined;\n name?: string | undefined;\n type?: RoomType;\n}\n\nexport class RoomObjectDTO implements IRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n hasConfigurationToEnd?: boolean;\n extDevices?: ExtDevice[] | undefined;\n\n constructor(data?: IRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.systemType = _data[\"systemType\"];\n this.isHidden = _data[\"isHidden\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.thermo99SelectedZone = _data[\"thermo99SelectedZone\"];\n this.thermo99HasFancoil = _data[\"thermo99HasFancoil\"];\n this.hasConfigurationToEnd = _data[\"hasConfigurationToEnd\"];\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"systemType\"] = this.systemType;\n data[\"isHidden\"] = this.isHidden;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"thermo99SelectedZone\"] = this.thermo99SelectedZone;\n data[\"thermo99HasFancoil\"] = this.thermo99HasFancoil;\n data[\"hasConfigurationToEnd\"] = this.hasConfigurationToEnd;\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n hasConfigurationToEnd?: boolean;\n extDevices?: ExtDevice[] | undefined;\n}\n\n/** 0 = Light 1 = Shutter 2 = Socket 3 = Lock 4 = Thermostat 5 = Fancoil 6 = TowelWarmer 7 = WirelessCommand 8 = Blind 9 = Player 10 = Xmeter 11 = Alarm 12 = ColoredLight 13 = ScheduledScenarioPlus 14 = None 15 = Contact 16 = AlarmSensor 17 = Thermostat99zones 18 = DimmerDmx 19 = DimmerDali 20 = Actuactor 21 = CentralLoadControl 22 = ActuactorLoadControl 23 = VdeLock 24 = StaircaseLight 25 = FloorCall 26 = Unknown */\nexport enum RoomObjectType {\n Light = 0,\n Shutter = 1,\n Socket = 2,\n Lock = 3,\n Thermostat = 4,\n Fancoil = 5,\n TowelWarmer = 6,\n WirelessCommand = 7,\n Blind = 8,\n Player = 9,\n Xmeter = 10,\n Alarm = 11,\n ColoredLight = 12,\n ScheduledScenarioPlus = 13,\n None = 14,\n Contact = 15,\n AlarmSensor = 16,\n Thermostat99zones = 17,\n DimmerDmx = 18,\n DimmerDali = 19,\n Actuactor = 20,\n CentralLoadControl = 21,\n ActuactorLoadControl = 22,\n VdeLock = 23,\n StaircaseLight = 24,\n FloorCall = 25,\n Unknown = 26,\n}\n\n/** 0 = Livingroom 1 = Bathroom 2 = Kitchen 3 = Bedroom 4 = Dining_room 5 = Toilets 6 = Lobby 7 = Corridor 8 = Garage 9 = Outdoor 10 = Home_office 11 = Stairs 12 = Electrical_cabinet 13 = Custom 14 = Unknown */\nexport enum RoomType {\n Livingroom = 0,\n Bathroom = 1,\n Kitchen = 2,\n Bedroom = 3,\n Dining_room = 4,\n Toilets = 5,\n Lobby = 6,\n Corridor = 7,\n Garage = 8,\n Outdoor = 9,\n Home_office = 10,\n Stairs = 11,\n Electrical_cabinet = 12,\n Custom = 13,\n Unknown = 14,\n}\n\nexport class RoomUpdateDTO implements IRoomUpdateDTO {\n name?: string | undefined;\n type?: RoomType;\n\n constructor(data?: IRoomUpdateDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): RoomUpdateDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomUpdateDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n return data; \n }\n}\n\nexport interface IRoomUpdateDTO {\n name?: string | undefined;\n type?: RoomType;\n}\n\nexport class Scene extends LinkableObject implements IScene {\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n isSceneFromServer?: boolean;\n actions?: Action[] | undefined;\n triggers?: Trigger[] | undefined;\n conditions?: Condition[] | undefined;\n room_id?: string | undefined;\n share?: boolean;\n user?: string | undefined;\n category?: string | undefined;\n preconditionSelected?: SceneThermostatModalityState;\n isColorChanged?: boolean;\n\n constructor(data?: IScene) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n this.isDisabled = _data[\"isDisabled\"];\n this.isHidden = _data[\"isHidden\"];\n this.isEditable = _data[\"isEditable\"];\n this.isSceneFromServer = _data[\"isSceneFromServer\"];\n if (Array.isArray(_data[\"actions\"])) {\n this.actions = [] as any;\n for (let item of _data[\"actions\"])\n this.actions!.push(Action.fromJS(item));\n }\n if (Array.isArray(_data[\"triggers\"])) {\n this.triggers = [] as any;\n for (let item of _data[\"triggers\"])\n this.triggers!.push(Trigger.fromJS(item));\n }\n if (Array.isArray(_data[\"conditions\"])) {\n this.conditions = [] as any;\n for (let item of _data[\"conditions\"])\n this.conditions!.push(Condition.fromJS(item));\n }\n this.room_id = _data[\"room_id\"];\n this.share = _data[\"share\"];\n this.user = _data[\"user\"];\n this.category = _data[\"category\"];\n this.preconditionSelected = _data[\"preconditionSelected\"];\n this.isColorChanged = _data[\"isColorChanged\"];\n }\n }\n\n static fromJS(data: any): Scene {\n data = typeof data === 'object' ? data : {};\n let result = new Scene();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"isDisabled\"] = this.isDisabled;\n data[\"isHidden\"] = this.isHidden;\n data[\"isEditable\"] = this.isEditable;\n data[\"isSceneFromServer\"] = this.isSceneFromServer;\n if (Array.isArray(this.actions)) {\n data[\"actions\"] = [];\n for (let item of this.actions)\n data[\"actions\"].push(item.toJSON());\n }\n if (Array.isArray(this.triggers)) {\n data[\"triggers\"] = [];\n for (let item of this.triggers)\n data[\"triggers\"].push(item.toJSON());\n }\n if (Array.isArray(this.conditions)) {\n data[\"conditions\"] = [];\n for (let item of this.conditions)\n data[\"conditions\"].push(item.toJSON());\n }\n data[\"room_id\"] = this.room_id;\n data[\"share\"] = this.share;\n data[\"user\"] = this.user;\n data[\"category\"] = this.category;\n data[\"preconditionSelected\"] = this.preconditionSelected;\n data[\"isColorChanged\"] = this.isColorChanged;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IScene extends ILinkableObject {\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n isSceneFromServer?: boolean;\n actions?: Action[] | undefined;\n triggers?: Trigger[] | undefined;\n conditions?: Condition[] | undefined;\n room_id?: string | undefined;\n share?: boolean;\n user?: string | undefined;\n category?: string | undefined;\n preconditionSelected?: SceneThermostatModalityState;\n isColorChanged?: boolean;\n}\n\nexport class SceneActionListItemDTO implements ISceneActionListItemDTO {\n isAddAction?: boolean;\n linkableObjectId?: string | undefined;\n isUnselectEnabled?: boolean;\n id?: number;\n aggregateCommandType?: AggregateCommandType;\n sceneObjectType?: SceneObjectType;\n sceneLockState?: SceneLockState;\n isStateChanged?: boolean;\n name?: string | undefined;\n waitTime?: string;\n isSelected?: boolean;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n thermostatStatus?: ThermostatStatus;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n minRange?: number;\n maxRange?: number;\n sceneFancoilState?: SceneFancoilState;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n workingMode?: DimmerWorkingMode;\n oldTemperature?: number;\n thermostatTriggerTemperature?: number;\n fancoilSpeed?: number;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n temperature?: number;\n\n constructor(data?: ISceneActionListItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isAddAction = _data[\"isAddAction\"];\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.isUnselectEnabled = _data[\"isUnselectEnabled\"];\n this.id = _data[\"id\"];\n this.aggregateCommandType = _data[\"aggregateCommandType\"];\n this.sceneObjectType = _data[\"sceneObjectType\"];\n this.sceneLockState = _data[\"sceneLockState\"];\n this.isStateChanged = _data[\"isStateChanged\"];\n this.name = _data[\"name\"];\n this.waitTime = _data[\"waitTime\"];\n this.isSelected = _data[\"isSelected\"];\n this.sceneLightState = _data[\"sceneLightState\"];\n this.dimmerStatus = _data[\"dimmerStatus\"];\n this.sceneShutterState = _data[\"sceneShutterState\"];\n this.sceneBlindState = _data[\"sceneBlindState\"];\n this.sceneSocketState = _data[\"sceneSocketState\"];\n this.thermostatStatus = _data[\"thermostatStatus\"];\n this.heatingSetpointLow = _data[\"heatingSetpointLow\"];\n this.heatingSetpointHigh = _data[\"heatingSetpointHigh\"];\n this.coolingSetpointLow = _data[\"coolingSetpointLow\"];\n this.coolingSetpointHigh = _data[\"coolingSetpointHigh\"];\n this.minRange = _data[\"minRange\"];\n this.maxRange = _data[\"maxRange\"];\n this.sceneFancoilState = _data[\"sceneFancoilState\"];\n this.sceneTowelWarmerState = _data[\"sceneTowelWarmerState\"];\n this.dimmerPercentage = _data[\"dimmerPercentage\"];\n this.dimmerFadeIn = _data[\"dimmerFadeIn\"];\n this.dimmerFadeOut = _data[\"dimmerFadeOut\"];\n this.workingMode = _data[\"workingMode\"];\n this.oldTemperature = _data[\"oldTemperature\"];\n this.thermostatTriggerTemperature = _data[\"thermostatTriggerTemperature\"];\n this.fancoilSpeed = _data[\"fancoilSpeed\"];\n this.sceneColoredLightsState = _data[\"sceneColoredLightsState\"];\n this.coloredLightsIntensity = _data[\"coloredLightsIntensity\"];\n this.coloredLightsTemperature = _data[\"coloredLightsTemperature\"];\n this.coloredLightsColor = _data[\"coloredLightsColor\"];\n this.scenePlayerState = _data[\"scenePlayerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.playerSourceId = _data[\"playerSourceId\"];\n this.playerSourceDescription = _data[\"playerSourceDescription\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n this.temperature = _data[\"temperature\"];\n }\n }\n\n static fromJS(data: any): SceneActionListItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SceneActionListItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isAddAction\"] = this.isAddAction;\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"isUnselectEnabled\"] = this.isUnselectEnabled;\n data[\"id\"] = this.id;\n data[\"aggregateCommandType\"] = this.aggregateCommandType;\n data[\"sceneObjectType\"] = this.sceneObjectType;\n data[\"sceneLockState\"] = this.sceneLockState;\n data[\"isStateChanged\"] = this.isStateChanged;\n data[\"name\"] = this.name;\n data[\"waitTime\"] = this.waitTime;\n data[\"isSelected\"] = this.isSelected;\n data[\"sceneLightState\"] = this.sceneLightState;\n data[\"dimmerStatus\"] = this.dimmerStatus;\n data[\"sceneShutterState\"] = this.sceneShutterState;\n data[\"sceneBlindState\"] = this.sceneBlindState;\n data[\"sceneSocketState\"] = this.sceneSocketState;\n data[\"thermostatStatus\"] = this.thermostatStatus;\n data[\"heatingSetpointLow\"] = this.heatingSetpointLow;\n data[\"heatingSetpointHigh\"] = this.heatingSetpointHigh;\n data[\"coolingSetpointLow\"] = this.coolingSetpointLow;\n data[\"coolingSetpointHigh\"] = this.coolingSetpointHigh;\n data[\"minRange\"] = this.minRange;\n data[\"maxRange\"] = this.maxRange;\n data[\"sceneFancoilState\"] = this.sceneFancoilState;\n data[\"sceneTowelWarmerState\"] = this.sceneTowelWarmerState;\n data[\"dimmerPercentage\"] = this.dimmerPercentage;\n data[\"dimmerFadeIn\"] = this.dimmerFadeIn;\n data[\"dimmerFadeOut\"] = this.dimmerFadeOut;\n data[\"workingMode\"] = this.workingMode;\n data[\"oldTemperature\"] = this.oldTemperature;\n data[\"thermostatTriggerTemperature\"] = this.thermostatTriggerTemperature;\n data[\"fancoilSpeed\"] = this.fancoilSpeed;\n data[\"sceneColoredLightsState\"] = this.sceneColoredLightsState;\n data[\"coloredLightsIntensity\"] = this.coloredLightsIntensity;\n data[\"coloredLightsTemperature\"] = this.coloredLightsTemperature;\n data[\"coloredLightsColor\"] = this.coloredLightsColor;\n data[\"scenePlayerState\"] = this.scenePlayerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"playerSourceId\"] = this.playerSourceId;\n data[\"playerSourceDescription\"] = this.playerSourceDescription;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n data[\"temperature\"] = this.temperature;\n return data; \n }\n}\n\nexport interface ISceneActionListItemDTO {\n isAddAction?: boolean;\n linkableObjectId?: string | undefined;\n isUnselectEnabled?: boolean;\n id?: number;\n aggregateCommandType?: AggregateCommandType;\n sceneObjectType?: SceneObjectType;\n sceneLockState?: SceneLockState;\n isStateChanged?: boolean;\n name?: string | undefined;\n waitTime?: string;\n isSelected?: boolean;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n thermostatStatus?: ThermostatStatus;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n minRange?: number;\n maxRange?: number;\n sceneFancoilState?: SceneFancoilState;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n workingMode?: DimmerWorkingMode;\n oldTemperature?: number;\n thermostatTriggerTemperature?: number;\n fancoilSpeed?: number;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n temperature?: number;\n}\n\nexport class SceneActionsListsDTO implements ISceneActionsListsDTO {\n aggregateCommandsActions?: AggregateCommandActionListItemDTO[] | undefined;\n roomObjectsActions?: RoomObjectActionListItemDTO[] | undefined;\n\n constructor(data?: ISceneActionsListsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"aggregateCommandsActions\"])) {\n this.aggregateCommandsActions = [] as any;\n for (let item of _data[\"aggregateCommandsActions\"])\n this.aggregateCommandsActions!.push(AggregateCommandActionListItemDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"roomObjectsActions\"])) {\n this.roomObjectsActions = [] as any;\n for (let item of _data[\"roomObjectsActions\"])\n this.roomObjectsActions!.push(RoomObjectActionListItemDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SceneActionsListsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SceneActionsListsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.aggregateCommandsActions)) {\n data[\"aggregateCommandsActions\"] = [];\n for (let item of this.aggregateCommandsActions)\n data[\"aggregateCommandsActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.roomObjectsActions)) {\n data[\"roomObjectsActions\"] = [];\n for (let item of this.roomObjectsActions)\n data[\"roomObjectsActions\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ISceneActionsListsDTO {\n aggregateCommandsActions?: AggregateCommandActionListItemDTO[] | undefined;\n roomObjectsActions?: RoomObjectActionListItemDTO[] | undefined;\n}\n\n/** 0 = None 1 = Open 2 = Close */\nexport enum SceneBlindState {\n None = 0,\n Open = 1,\n Close = 2,\n}\n\n/** 0 = Blue 1 = LightPurple 2 = Magenta 3 = Fuchsia 4 = Red 5 = Orange 6 = Yellow 7 = Lime 8 = Green 9 = AcquaGreen 10 = LightBlue 11 = LightBlueSky */\nexport enum SceneColoredLightsColor {\n Blue = 0,\n LightPurple = 1,\n Magenta = 2,\n Fuchsia = 3,\n Red = 4,\n Orange = 5,\n Yellow = 6,\n Lime = 7,\n Green = 8,\n AcquaGreen = 9,\n LightBlue = 10,\n LightBlueSky = 11,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneColoredLightsState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\nexport class SceneConditionsListsDTO implements ISceneConditionsListsDTO {\n conditionsRoomsList?: TriggersAndConditionsRoomItemDTO[] | undefined;\n\n constructor(data?: ISceneConditionsListsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"conditionsRoomsList\"])) {\n this.conditionsRoomsList = [] as any;\n for (let item of _data[\"conditionsRoomsList\"])\n this.conditionsRoomsList!.push(TriggersAndConditionsRoomItemDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SceneConditionsListsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SceneConditionsListsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.conditionsRoomsList)) {\n data[\"conditionsRoomsList\"] = [];\n for (let item of this.conditionsRoomsList)\n data[\"conditionsRoomsList\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ISceneConditionsListsDTO {\n conditionsRoomsList?: TriggersAndConditionsRoomItemDTO[] | undefined;\n}\n\nexport class SceneDTO implements ISceneDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n actions?: ActionDTO[] | undefined;\n triggers?: TriggerDTO[] | undefined;\n conditions?: ConditionDTO[] | undefined;\n\n constructor(data?: ISceneDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.isDisabled = _data[\"isDisabled\"];\n this.isHidden = _data[\"isHidden\"];\n this.isEditable = _data[\"isEditable\"];\n if (Array.isArray(_data[\"actions\"])) {\n this.actions = [] as any;\n for (let item of _data[\"actions\"])\n this.actions!.push(ActionDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"triggers\"])) {\n this.triggers = [] as any;\n for (let item of _data[\"triggers\"])\n this.triggers!.push(TriggerDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"conditions\"])) {\n this.conditions = [] as any;\n for (let item of _data[\"conditions\"])\n this.conditions!.push(ConditionDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SceneDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SceneDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"isDisabled\"] = this.isDisabled;\n data[\"isHidden\"] = this.isHidden;\n data[\"isEditable\"] = this.isEditable;\n if (Array.isArray(this.actions)) {\n data[\"actions\"] = [];\n for (let item of this.actions)\n data[\"actions\"].push(item.toJSON());\n }\n if (Array.isArray(this.triggers)) {\n data[\"triggers\"] = [];\n for (let item of this.triggers)\n data[\"triggers\"].push(item.toJSON());\n }\n if (Array.isArray(this.conditions)) {\n data[\"conditions\"] = [];\n for (let item of this.conditions)\n data[\"conditions\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ISceneDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n actions?: ActionDTO[] | undefined;\n triggers?: TriggerDTO[] | undefined;\n conditions?: ConditionDTO[] | undefined;\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneDimmerPowerState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Dimmer 2 = Power */\nexport enum SceneDimmerState {\n None = 0,\n Dimmer = 1,\n Power = 2,\n}\n\n/** 0 = None 1 = One 2 = Two 3 = Three */\nexport enum SceneFancoilSpeedState {\n None = 0,\n One = 1,\n Two = 2,\n Three = 3,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneFancoilState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneLightState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = On 2 = Off 3 = Force 4 = Shedded 5 = Power 6 = UnForce */\nexport enum SceneLoadManagementState {\n None = 0,\n On = 1,\n Off = 2,\n Force = 3,\n Shedded = 4,\n Power = 5,\n UnForce = 6,\n}\n\n/** 0 = None 1 = On */\nexport enum SceneLockState {\n None = 0,\n On = 1,\n}\n\n/** 0 = None 1 = Light 2 = Dimmer 3 = Shutter 4 = Lock 5 = Thermostat 6 = Socket 7 = Fancoil 8 = TowelWarmer 9 = GroupOfLights 10 = GroupOfShutters 11 = GeneralCommandsLights 12 = GeneralCommandsShutters 13 = Command 14 = DateTime 15 = Blind 16 = ColoredLights 17 = Email 18 = Weather 19 = PushNotificationAction 20 = Player 21 = Xmeter 22 = Alarm 23 = AlarmSensor 24 = DimmerDmx 25 = Dali 26 = ActuactorLoadControl */\nexport enum SceneObjectType {\n None = 0,\n Light = 1,\n Dimmer = 2,\n Shutter = 3,\n Lock = 4,\n Thermostat = 5,\n Socket = 6,\n Fancoil = 7,\n TowelWarmer = 8,\n GroupOfLights = 9,\n GroupOfShutters = 10,\n GeneralCommandsLights = 11,\n GeneralCommandsShutters = 12,\n Command = 13,\n DateTime = 14,\n Blind = 15,\n ColoredLights = 16,\n Email = 17,\n Weather = 18,\n PushNotificationAction = 19,\n Player = 20,\n Xmeter = 21,\n Alarm = 22,\n AlarmSensor = 23,\n DimmerDmx = 24,\n Dali = 25,\n ActuactorLoadControl = 26,\n}\n\n/** 0 = None 1 = Stop 2 = Play 3 = Pause */\nexport enum ScenePlayerState {\n None = 0,\n Stop = 1,\n Play = 2,\n Pause = 3,\n}\n\n/** 0 = None 1 = Power 2 = Volume */\nexport enum ScenePlayerTriggerMode {\n None = 0,\n Power = 1,\n Volume = 2,\n}\n\n/** 0 = None 1 = Movement 2 = Position */\nexport enum SceneShutterModality {\n None = 0,\n Movement = 1,\n Position = 2,\n}\n\n/** 0 = None 1 = Up 2 = Stop 3 = Down */\nexport enum SceneShutterState {\n None = 0,\n Up = 1,\n Stop = 2,\n Down = 3,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneSocketState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Equal 2 = Different 3 = Higher 4 = Lower 5 = Any */\nexport enum SceneStateComparer {\n None = 0,\n Equal = 1,\n Different = 2,\n Higher = 3,\n Lower = 4,\n Any = 5,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneThermostatConditionState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\n/** 0 = None 1 = Heating 2 = Cooling 3 = Auto 5 = Off */\nexport enum SceneThermostatModalityState {\n None = 0,\n Heating = 1,\n Cooling = 2,\n Auto = 3,\n Off = 5,\n}\n\n/** 0 = None 1 = Modality 2 = Temperature 3 = DesiredTemperature 4 = Condition 5 = Humidity */\nexport enum SceneThermostatState {\n None = 0,\n Modality = 1,\n Temperature = 2,\n DesiredTemperature = 3,\n Condition = 4,\n Humidity = 5,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneTowelWarmerState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\nexport class SceneTriggersListsDTO implements ISceneTriggersListsDTO {\n triggersRoomsList?: TriggersAndConditionsRoomItemDTO[] | undefined;\n compatibleDevices?: DeviceDTO[] | undefined;\n\n constructor(data?: ISceneTriggersListsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"triggersRoomsList\"])) {\n this.triggersRoomsList = [] as any;\n for (let item of _data[\"triggersRoomsList\"])\n this.triggersRoomsList!.push(TriggersAndConditionsRoomItemDTO.fromJS(item));\n }\n if (Array.isArray(_data[\"compatibleDevices\"])) {\n this.compatibleDevices = [] as any;\n for (let item of _data[\"compatibleDevices\"])\n this.compatibleDevices!.push(DeviceDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SceneTriggersListsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SceneTriggersListsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.triggersRoomsList)) {\n data[\"triggersRoomsList\"] = [];\n for (let item of this.triggersRoomsList)\n data[\"triggersRoomsList\"].push(item.toJSON());\n }\n if (Array.isArray(this.compatibleDevices)) {\n data[\"compatibleDevices\"] = [];\n for (let item of this.compatibleDevices)\n data[\"compatibleDevices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ISceneTriggersListsDTO {\n triggersRoomsList?: TriggersAndConditionsRoomItemDTO[] | undefined;\n compatibleDevices?: DeviceDTO[] | undefined;\n}\n\n/** 0 = Wake_Up 1 = BedTime 2 = Home 3 = Away 4 = Custom */\nexport enum SceneType {\n Wake_Up = 0,\n BedTime = 1,\n Home = 2,\n Away = 3,\n Custom = 4,\n}\n\n/** 0 = None 1 = Sunrise 2 = Sunset */\nexport enum SceneWeatherCrepuscular {\n None = 0,\n Sunrise = 1,\n Sunset = 2,\n}\n\n/** 0 = None 1 = Sunny 2 = Rain 3 = Storm 4 = Cloudy 5 = Snow 6 = Foggy */\nexport enum SceneWeatherForecastState {\n None = 0,\n Sunny = 1,\n Rain = 2,\n Storm = 3,\n Cloudy = 4,\n Snow = 5,\n Foggy = 6,\n}\n\n/** 0 = None 1 = Temperature 2 = Wind 3 = Humidity 4 = WeatherForecast 5 = Crepuscular */\nexport enum SceneWeatherModality {\n None = 0,\n Temperature = 1,\n Wind = 2,\n Humidity = 3,\n WeatherForecast = 4,\n Crepuscular = 5,\n}\n\nexport class ScsAddressHelperDTO implements IScsAddressHelperDTO {\n availableScsAddressSwitchboard?: number[] | undefined;\n availableScsAddressGate?: number[] | undefined;\n firstAvailableScsAddressSwitchboard?: number;\n firstAvailableScsAddressGate?: number;\n\n constructor(data?: IScsAddressHelperDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"availableScsAddressSwitchboard\"])) {\n this.availableScsAddressSwitchboard = [] as any;\n for (let item of _data[\"availableScsAddressSwitchboard\"])\n this.availableScsAddressSwitchboard!.push(item);\n }\n if (Array.isArray(_data[\"availableScsAddressGate\"])) {\n this.availableScsAddressGate = [] as any;\n for (let item of _data[\"availableScsAddressGate\"])\n this.availableScsAddressGate!.push(item);\n }\n this.firstAvailableScsAddressSwitchboard = _data[\"firstAvailableScsAddressSwitchboard\"];\n this.firstAvailableScsAddressGate = _data[\"firstAvailableScsAddressGate\"];\n }\n }\n\n static fromJS(data: any): ScsAddressHelperDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ScsAddressHelperDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.availableScsAddressSwitchboard)) {\n data[\"availableScsAddressSwitchboard\"] = [];\n for (let item of this.availableScsAddressSwitchboard)\n data[\"availableScsAddressSwitchboard\"].push(item);\n }\n if (Array.isArray(this.availableScsAddressGate)) {\n data[\"availableScsAddressGate\"] = [];\n for (let item of this.availableScsAddressGate)\n data[\"availableScsAddressGate\"].push(item);\n }\n data[\"firstAvailableScsAddressSwitchboard\"] = this.firstAvailableScsAddressSwitchboard;\n data[\"firstAvailableScsAddressGate\"] = this.firstAvailableScsAddressGate;\n return data; \n }\n}\n\nexport interface IScsAddressHelperDTO {\n availableScsAddressSwitchboard?: number[] | undefined;\n availableScsAddressGate?: number[] | undefined;\n firstAvailableScsAddressSwitchboard?: number;\n firstAvailableScsAddressGate?: number;\n}\n\n/** 0 = Samelevel 1 = Riser 2 = Building 3 = Backbone */\nexport enum ScsLevel {\n Samelevel = 0,\n Riser = 1,\n Building = 2,\n Backbone = 3,\n}\n\n/** 0 = Heating 1 = Cooling */\nexport enum SeasonChange3477Mode {\n Heating = 0,\n Cooling = 1,\n}\n\n/** 0 = None 1 = WithDate 2 = WithDevice 3 = WithTemperature */\nexport enum SeasonChangeAutoType {\n None = 0,\n WithDate = 1,\n WithDevice = 2,\n WithTemperature = 3,\n}\n\nexport class SelectColorAction extends Action implements ISelectColorAction {\n hasTemperature?: boolean;\n hasColor?: boolean;\n name?: string | undefined;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n\n constructor(data?: ISelectColorAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.hasTemperature = _data[\"hasTemperature\"];\n this.hasColor = _data[\"hasColor\"];\n this.name = _data[\"name\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.workingMode = _data[\"workingMode\"];\n this.temperature = _data[\"temperature\"];\n }\n }\n\n static fromJS(data: any): SelectColorAction {\n data = typeof data === 'object' ? data : {};\n let result = new SelectColorAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasTemperature\"] = this.hasTemperature;\n data[\"hasColor\"] = this.hasColor;\n data[\"name\"] = this.name;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"workingMode\"] = this.workingMode;\n data[\"temperature\"] = this.temperature;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ISelectColorAction extends IAction {\n hasTemperature?: boolean;\n hasColor?: boolean;\n name?: string | undefined;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n}\n\n/** 0 = Classe300EOS 1 = MyHomeServer1 2 = F460 3 = F461 */\nexport enum ServerModel {\n Classe300EOS = 0,\n MyHomeServer1 = 1,\n F460 = 2,\n F461 = 3,\n}\n\nexport class ShutterActuatorSettings extends ActuatorSettings implements IShutterActuatorSettings {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n\n constructor(data?: IShutterActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.hasPUL = _data[\"hasPUL\"];\n this.shutterMotorType = _data[\"shutterMotorType\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.stopPulseDuration = _data[\"stopPulseDuration\"];\n this.upDownPulseDuration = _data[\"upDownPulseDuration\"];\n this.stopTime = _data[\"stopTime\"];\n this.delayBetweenDoorsTime = _data[\"delayBetweenDoorsTime\"];\n }\n }\n\n static fromJS(data: any): ShutterActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasPUL\"] = this.hasPUL;\n data[\"shutterMotorType\"] = this.shutterMotorType;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"stopPulseDuration\"] = this.stopPulseDuration;\n data[\"upDownPulseDuration\"] = this.upDownPulseDuration;\n data[\"stopTime\"] = this.stopTime;\n data[\"delayBetweenDoorsTime\"] = this.delayBetweenDoorsTime;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShutterActuatorSettings extends IActuatorSettings {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n}\n\nexport class ShutterActuatorSettingsResult implements IShutterActuatorSettingsResult {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n index?: number;\n\n constructor(data?: IShutterActuatorSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasPUL = _data[\"hasPUL\"];\n this.shutterMotorType = _data[\"shutterMotorType\"];\n this.stopPulseDuration = _data[\"stopPulseDuration\"];\n this.upDownPulseDuration = _data[\"upDownPulseDuration\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.stopTime = _data[\"stopTime\"];\n this.delayBetweenDoorsTime = _data[\"delayBetweenDoorsTime\"];\n this.index = _data[\"index\"];\n }\n }\n\n static fromJS(data: any): ShutterActuatorSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterActuatorSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasPUL\"] = this.hasPUL;\n data[\"shutterMotorType\"] = this.shutterMotorType;\n data[\"stopPulseDuration\"] = this.stopPulseDuration;\n data[\"upDownPulseDuration\"] = this.upDownPulseDuration;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"stopTime\"] = this.stopTime;\n data[\"delayBetweenDoorsTime\"] = this.delayBetweenDoorsTime;\n data[\"index\"] = this.index;\n return data; \n }\n}\n\nexport interface IShutterActuatorSettingsResult {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n index?: number;\n}\n\nexport class ShutterCommandItemSettingsDTO implements IShutterCommandItemSettingsDTO {\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n presetValue?: number;\n shutterMode?: ShutterMode;\n commandDirection?: CommandDirection;\n hasPreset?: boolean;\n isManagedPosition?: boolean;\n saveTo?: number[] | undefined;\n showBistableAndBladesControl?: boolean;\n showMonostableAndBistable?: boolean;\n showBladesControlAndBistable?: boolean;\n showPreset?: boolean;\n showCommandDirection?: boolean;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n\n constructor(data?: IShutterCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.presetValue = _data[\"presetValue\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.commandDirection = _data[\"commandDirection\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.isManagedPosition = _data[\"isManagedPosition\"];\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n this.showBistableAndBladesControl = _data[\"showBistableAndBladesControl\"];\n this.showMonostableAndBistable = _data[\"showMonostableAndBistable\"];\n this.showBladesControlAndBistable = _data[\"showBladesControlAndBistable\"];\n this.showPreset = _data[\"showPreset\"];\n this.showCommandDirection = _data[\"showCommandDirection\"];\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n this.conctactType = _data[\"conctactType\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.hasChanges = _data[\"hasChanges\"];\n }\n }\n\n static fromJS(data: any): ShutterCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"presetValue\"] = this.presetValue;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"commandDirection\"] = this.commandDirection;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"isManagedPosition\"] = this.isManagedPosition;\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n data[\"showBistableAndBladesControl\"] = this.showBistableAndBladesControl;\n data[\"showMonostableAndBistable\"] = this.showMonostableAndBistable;\n data[\"showBladesControlAndBistable\"] = this.showBladesControlAndBistable;\n data[\"showPreset\"] = this.showPreset;\n data[\"showCommandDirection\"] = this.showCommandDirection;\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n data[\"conctactType\"] = this.conctactType;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"hasChanges\"] = this.hasChanges;\n return data; \n }\n}\n\nexport interface IShutterCommandItemSettingsDTO {\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n presetValue?: number;\n shutterMode?: ShutterMode;\n commandDirection?: CommandDirection;\n hasPreset?: boolean;\n isManagedPosition?: boolean;\n saveTo?: number[] | undefined;\n showBistableAndBladesControl?: boolean;\n showMonostableAndBistable?: boolean;\n showBladesControlAndBistable?: boolean;\n showPreset?: boolean;\n showCommandDirection?: boolean;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n}\n\nexport class ShutterCommandSettings extends CommandSettings implements IShutterCommandSettings {\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n commandDirection?: CommandDirection;\n typeofContact?: ConctactType;\n\n constructor(data?: IShutterCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.commandDirection = _data[\"commandDirection\"];\n this.typeofContact = _data[\"typeofContact\"];\n }\n }\n\n static fromJS(data: any): ShutterCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"commandDirection\"] = this.commandDirection;\n data[\"typeofContact\"] = this.typeofContact;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShutterCommandSettings extends ICommandSettings {\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n commandDirection?: CommandDirection;\n typeofContact?: ConctactType;\n}\n\nexport class ShutterCommandSettingsResult extends BaseShuttersCommandSettingsResult implements IShutterCommandSettingsResult {\n hasPreset?: boolean;\n presetValue?: number;\n conctactType?: ConctactType;\n commandDirection?: CommandDirection;\n index?: number;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n\n constructor(data?: IShutterCommandSettingsResult) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.conctactType = _data[\"conctactType\"];\n this.commandDirection = _data[\"commandDirection\"];\n this.index = _data[\"index\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.hasChanges = _data[\"hasChanges\"];\n }\n }\n\n static fromJS(data: any): ShutterCommandSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"conctactType\"] = this.conctactType;\n data[\"commandDirection\"] = this.commandDirection;\n data[\"index\"] = this.index;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"hasChanges\"] = this.hasChanges;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShutterCommandSettingsResult extends IBaseShuttersCommandSettingsResult {\n hasPreset?: boolean;\n presetValue?: number;\n conctactType?: ConctactType;\n commandDirection?: CommandDirection;\n index?: number;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n}\n\nexport class ShutterCommandSettingsResultList implements IShutterCommandSettingsResultList {\n results?: ShutterCommandSettingsResult[] | undefined;\n\n constructor(data?: IShutterCommandSettingsResultList) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ShutterCommandSettingsResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ShutterCommandSettingsResultList {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandSettingsResultList();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IShutterCommandSettingsResultList {\n results?: ShutterCommandSettingsResult[] | undefined;\n}\n\n/** 0 = Monostable 1 = Bistable 2 = BistableWithBladesControl 3 = BladesAndBistable 4 = MonostableBistable */\nexport enum ShutterMode {\n Monostable = 0,\n Bistable = 1,\n BistableWithBladesControl = 2,\n BladesAndBistable = 3,\n MonostableBistable = 4,\n}\n\n/** 0 = StandardAutomatic 1 = Standard 2 = Pulse */\nexport enum ShutterMotorType {\n StandardAutomatic = 0,\n Standard = 1,\n Pulse = 2,\n}\n\nexport class ShuttersActuatorSettingsObjectParam implements IShuttersActuatorSettingsObjectParam {\n isManagedPosition?: boolean;\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n isGroupPULVisible?: boolean;\n isGroupMotorTypeVisible?: boolean;\n canHaveStandardAutomaticMotorType?: boolean;\n isGroupModeVisible?: boolean;\n isGroupPresetVisible?: boolean;\n isGroupStopTimeTypeVisible?: boolean;\n isGroupDelayBetweenDoorsVisible?: boolean;\n stopPulseDurationPickerValues?: DelayValue[] | undefined;\n upDownPulseDurationPickerValues?: DelayValue[] | undefined;\n stopTimePickerValues?: DelayValue[] | undefined;\n delayBetweenDoorsTimePickerValues?: DelayValue[] | undefined;\n\n constructor(data?: IShuttersActuatorSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isManagedPosition = _data[\"isManagedPosition\"];\n this.hasPUL = _data[\"hasPUL\"];\n this.shutterMotorType = _data[\"shutterMotorType\"];\n this.stopPulseDuration = _data[\"stopPulseDuration\"];\n this.upDownPulseDuration = _data[\"upDownPulseDuration\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.stopTime = _data[\"stopTime\"];\n this.delayBetweenDoorsTime = _data[\"delayBetweenDoorsTime\"];\n this.isGroupPULVisible = _data[\"isGroupPULVisible\"];\n this.isGroupMotorTypeVisible = _data[\"isGroupMotorTypeVisible\"];\n this.canHaveStandardAutomaticMotorType = _data[\"canHaveStandardAutomaticMotorType\"];\n this.isGroupModeVisible = _data[\"isGroupModeVisible\"];\n this.isGroupPresetVisible = _data[\"isGroupPresetVisible\"];\n this.isGroupStopTimeTypeVisible = _data[\"isGroupStopTimeTypeVisible\"];\n this.isGroupDelayBetweenDoorsVisible = _data[\"isGroupDelayBetweenDoorsVisible\"];\n if (Array.isArray(_data[\"stopPulseDurationPickerValues\"])) {\n this.stopPulseDurationPickerValues = [] as any;\n for (let item of _data[\"stopPulseDurationPickerValues\"])\n this.stopPulseDurationPickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"upDownPulseDurationPickerValues\"])) {\n this.upDownPulseDurationPickerValues = [] as any;\n for (let item of _data[\"upDownPulseDurationPickerValues\"])\n this.upDownPulseDurationPickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"stopTimePickerValues\"])) {\n this.stopTimePickerValues = [] as any;\n for (let item of _data[\"stopTimePickerValues\"])\n this.stopTimePickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"delayBetweenDoorsTimePickerValues\"])) {\n this.delayBetweenDoorsTimePickerValues = [] as any;\n for (let item of _data[\"delayBetweenDoorsTimePickerValues\"])\n this.delayBetweenDoorsTimePickerValues!.push(DelayValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ShuttersActuatorSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new ShuttersActuatorSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isManagedPosition\"] = this.isManagedPosition;\n data[\"hasPUL\"] = this.hasPUL;\n data[\"shutterMotorType\"] = this.shutterMotorType;\n data[\"stopPulseDuration\"] = this.stopPulseDuration;\n data[\"upDownPulseDuration\"] = this.upDownPulseDuration;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"stopTime\"] = this.stopTime;\n data[\"delayBetweenDoorsTime\"] = this.delayBetweenDoorsTime;\n data[\"isGroupPULVisible\"] = this.isGroupPULVisible;\n data[\"isGroupMotorTypeVisible\"] = this.isGroupMotorTypeVisible;\n data[\"canHaveStandardAutomaticMotorType\"] = this.canHaveStandardAutomaticMotorType;\n data[\"isGroupModeVisible\"] = this.isGroupModeVisible;\n data[\"isGroupPresetVisible\"] = this.isGroupPresetVisible;\n data[\"isGroupStopTimeTypeVisible\"] = this.isGroupStopTimeTypeVisible;\n data[\"isGroupDelayBetweenDoorsVisible\"] = this.isGroupDelayBetweenDoorsVisible;\n if (Array.isArray(this.stopPulseDurationPickerValues)) {\n data[\"stopPulseDurationPickerValues\"] = [];\n for (let item of this.stopPulseDurationPickerValues)\n data[\"stopPulseDurationPickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.upDownPulseDurationPickerValues)) {\n data[\"upDownPulseDurationPickerValues\"] = [];\n for (let item of this.upDownPulseDurationPickerValues)\n data[\"upDownPulseDurationPickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.stopTimePickerValues)) {\n data[\"stopTimePickerValues\"] = [];\n for (let item of this.stopTimePickerValues)\n data[\"stopTimePickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.delayBetweenDoorsTimePickerValues)) {\n data[\"delayBetweenDoorsTimePickerValues\"] = [];\n for (let item of this.delayBetweenDoorsTimePickerValues)\n data[\"delayBetweenDoorsTimePickerValues\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IShuttersActuatorSettingsObjectParam {\n isManagedPosition?: boolean;\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n isGroupPULVisible?: boolean;\n isGroupMotorTypeVisible?: boolean;\n canHaveStandardAutomaticMotorType?: boolean;\n isGroupModeVisible?: boolean;\n isGroupPresetVisible?: boolean;\n isGroupStopTimeTypeVisible?: boolean;\n isGroupDelayBetweenDoorsVisible?: boolean;\n stopPulseDurationPickerValues?: DelayValue[] | undefined;\n upDownPulseDurationPickerValues?: DelayValue[] | undefined;\n stopTimePickerValues?: DelayValue[] | undefined;\n delayBetweenDoorsTimePickerValues?: DelayValue[] | undefined;\n}\n\nexport class ShuttersCommandSettingsObjectDTO extends BaseShuttersCommandSettingsObjectDTO implements IShuttersCommandSettingsObjectDTO {\n slots?: ShutterCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n\n constructor(data?: IShuttersCommandSettingsObjectDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(ShutterCommandItemSettingsDTO.fromJS(item));\n }\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n }\n }\n\n static fromJS(data: any): ShuttersCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ShuttersCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShuttersCommandSettingsObjectDTO extends IBaseShuttersCommandSettingsObjectDTO {\n slots?: ShutterCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n}\n\nexport class SimpleIntPickerValue implements ISimpleIntPickerValue {\n value?: number;\n readonly description?: string | undefined;\n\n constructor(data?: ISimpleIntPickerValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n (this).description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): SimpleIntPickerValue {\n data = typeof data === 'object' ? data : {};\n let result = new SimpleIntPickerValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"description\"] = this.description;\n return data; \n }\n}\n\nexport interface ISimpleIntPickerValue {\n value?: number;\n description?: string | undefined;\n}\n\nexport class Slot implements ISlot {\n configured?: boolean;\n id?: string | undefined;\n keyObject?: number;\n links_id?: string[] | undefined;\n groups_id?: string[] | undefined;\n index?: number;\n address?: string | undefined;\n status?: SlotStatus;\n linkedObjects?: LinkableObject[] | undefined;\n configurationType?: ConfigurationType;\n modalityTypeConfiguration?: ActuatorModalityType;\n thermoActuatorTypes?: { [key: string]: ThermoActuatorType; } | undefined;\n assignedComponentType?: ComponentType;\n isSetting?: boolean;\n commandIcon?: CommandIcon;\n paramsKo?: ParamCreateLinkModule[] | undefined;\n scenes_id?: ParamsScenesId[] | undefined;\n commandSettings?: CommandSettings | undefined;\n probeSettings?: ProbeSettings;\n actuatorSettings?: ActuatorSettings | undefined;\n isShutterSelfCommandActuatorSlot?: boolean;\n mX_Id_ThermoCU?: string | undefined;\n destinationLevel?: number;\n indexFather?: number;\n overWrite?: boolean;\n\n constructor(data?: ISlot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.configured = _data[\"configured\"];\n this.id = _data[\"id\"];\n this.keyObject = _data[\"keyObject\"];\n if (Array.isArray(_data[\"links_id\"])) {\n this.links_id = [] as any;\n for (let item of _data[\"links_id\"])\n this.links_id!.push(item);\n }\n if (Array.isArray(_data[\"groups_id\"])) {\n this.groups_id = [] as any;\n for (let item of _data[\"groups_id\"])\n this.groups_id!.push(item);\n }\n this.index = _data[\"index\"];\n this.address = _data[\"address\"];\n this.status = _data[\"status\"];\n if (Array.isArray(_data[\"linkedObjects\"])) {\n this.linkedObjects = [] as any;\n for (let item of _data[\"linkedObjects\"])\n this.linkedObjects!.push(LinkableObject.fromJS(item));\n }\n this.configurationType = _data[\"configurationType\"];\n this.modalityTypeConfiguration = _data[\"modalityTypeConfiguration\"];\n if (_data[\"thermoActuatorTypes\"]) {\n this.thermoActuatorTypes = {} as any;\n for (let key in _data[\"thermoActuatorTypes\"]) {\n if (_data[\"thermoActuatorTypes\"].hasOwnProperty(key))\n (this.thermoActuatorTypes)![key] = _data[\"thermoActuatorTypes\"][key];\n }\n }\n this.assignedComponentType = _data[\"assignedComponentType\"];\n this.isSetting = _data[\"isSetting\"];\n this.commandIcon = _data[\"commandIcon\"];\n if (Array.isArray(_data[\"paramsKo\"])) {\n this.paramsKo = [] as any;\n for (let item of _data[\"paramsKo\"])\n this.paramsKo!.push(ParamCreateLinkModule.fromJS(item));\n }\n if (Array.isArray(_data[\"scenes_id\"])) {\n this.scenes_id = [] as any;\n for (let item of _data[\"scenes_id\"])\n this.scenes_id!.push(ParamsScenesId.fromJS(item));\n }\n this.commandSettings = _data[\"commandSettings\"] ? CommandSettings.fromJS(_data[\"commandSettings\"]) : undefined;\n this.probeSettings = _data[\"probeSettings\"] ? ProbeSettings.fromJS(_data[\"probeSettings\"]) : undefined;\n this.actuatorSettings = _data[\"actuatorSettings\"] ? ActuatorSettings.fromJS(_data[\"actuatorSettings\"]) : undefined;\n this.isShutterSelfCommandActuatorSlot = _data[\"isShutterSelfCommandActuatorSlot\"];\n this.mX_Id_ThermoCU = _data[\"mX_Id_ThermoCU\"];\n this.destinationLevel = _data[\"destinationLevel\"];\n this.indexFather = _data[\"indexFather\"];\n this.overWrite = _data[\"overWrite\"];\n }\n }\n\n static fromJS(data: any): Slot {\n data = typeof data === 'object' ? data : {};\n let result = new Slot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"configured\"] = this.configured;\n data[\"id\"] = this.id;\n data[\"keyObject\"] = this.keyObject;\n if (Array.isArray(this.links_id)) {\n data[\"links_id\"] = [];\n for (let item of this.links_id)\n data[\"links_id\"].push(item);\n }\n if (Array.isArray(this.groups_id)) {\n data[\"groups_id\"] = [];\n for (let item of this.groups_id)\n data[\"groups_id\"].push(item);\n }\n data[\"index\"] = this.index;\n data[\"address\"] = this.address;\n data[\"status\"] = this.status;\n if (Array.isArray(this.linkedObjects)) {\n data[\"linkedObjects\"] = [];\n for (let item of this.linkedObjects)\n data[\"linkedObjects\"].push(item.toJSON());\n }\n data[\"configurationType\"] = this.configurationType;\n data[\"modalityTypeConfiguration\"] = this.modalityTypeConfiguration;\n if (this.thermoActuatorTypes) {\n data[\"thermoActuatorTypes\"] = {};\n for (let key in this.thermoActuatorTypes) {\n if (this.thermoActuatorTypes.hasOwnProperty(key))\n (data[\"thermoActuatorTypes\"])[key] = this.thermoActuatorTypes[key];\n }\n }\n data[\"assignedComponentType\"] = this.assignedComponentType;\n data[\"isSetting\"] = this.isSetting;\n data[\"commandIcon\"] = this.commandIcon;\n if (Array.isArray(this.paramsKo)) {\n data[\"paramsKo\"] = [];\n for (let item of this.paramsKo)\n data[\"paramsKo\"].push(item.toJSON());\n }\n if (Array.isArray(this.scenes_id)) {\n data[\"scenes_id\"] = [];\n for (let item of this.scenes_id)\n data[\"scenes_id\"].push(item.toJSON());\n }\n data[\"commandSettings\"] = this.commandSettings ? this.commandSettings.toJSON() : undefined;\n data[\"probeSettings\"] = this.probeSettings ? this.probeSettings.toJSON() : undefined;\n data[\"actuatorSettings\"] = this.actuatorSettings ? this.actuatorSettings.toJSON() : undefined;\n data[\"isShutterSelfCommandActuatorSlot\"] = this.isShutterSelfCommandActuatorSlot;\n data[\"mX_Id_ThermoCU\"] = this.mX_Id_ThermoCU;\n data[\"destinationLevel\"] = this.destinationLevel;\n data[\"indexFather\"] = this.indexFather;\n data[\"overWrite\"] = this.overWrite;\n return data; \n }\n}\n\nexport interface ISlot {\n configured?: boolean;\n id?: string | undefined;\n keyObject?: number;\n links_id?: string[] | undefined;\n groups_id?: string[] | undefined;\n index?: number;\n address?: string | undefined;\n status?: SlotStatus;\n linkedObjects?: LinkableObject[] | undefined;\n configurationType?: ConfigurationType;\n modalityTypeConfiguration?: ActuatorModalityType;\n thermoActuatorTypes?: { [key: string]: ThermoActuatorType; } | undefined;\n assignedComponentType?: ComponentType;\n isSetting?: boolean;\n commandIcon?: CommandIcon;\n paramsKo?: ParamCreateLinkModule[] | undefined;\n scenes_id?: ParamsScenesId[] | undefined;\n commandSettings?: CommandSettings | undefined;\n probeSettings?: ProbeSettings;\n actuatorSettings?: ActuatorSettings | undefined;\n isShutterSelfCommandActuatorSlot?: boolean;\n mX_Id_ThermoCU?: string | undefined;\n destinationLevel?: number;\n indexFather?: number;\n overWrite?: boolean;\n}\n\n/** 0 = Configured 1 = NotConfigured 2 = NotUsed 3 = MarkedForLinking 4 = MarkedAdjacent 5 = NoLoad 6 = NoCompatible */\nexport enum SlotStatus {\n Configured = 0,\n NotConfigured = 1,\n NotUsed = 2,\n MarkedForLinking = 3,\n MarkedAdjacent = 4,\n NoLoad = 5,\n NoCompatible = 6,\n}\n\nexport class SwitchboardConfigDTO implements ISwitchboardConfigDTO {\n switchboard?: SwitchboardDTO;\n devices?: EPDeviceDTO[] | undefined;\n\n constructor(data?: ISwitchboardConfigDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.switchboard = _data[\"switchboard\"] ? SwitchboardDTO.fromJS(_data[\"switchboard\"]) : undefined;\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(EPDeviceDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SwitchboardConfigDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SwitchboardConfigDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"switchboard\"] = this.switchboard ? this.switchboard.toJSON() : undefined;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ISwitchboardConfigDTO {\n switchboard?: SwitchboardDTO;\n devices?: EPDeviceDTO[] | undefined;\n}\n\nexport class SwitchboardDTO implements ISwitchboardDTO {\n switchboardId?: string;\n name?: string | undefined;\n scsAddr?: number;\n\n constructor(data?: ISwitchboardDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.switchboardId = _data[\"switchboardId\"];\n this.name = _data[\"name\"];\n this.scsAddr = _data[\"scsAddr\"];\n }\n }\n\n static fromJS(data: any): SwitchboardDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SwitchboardDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"switchboardId\"] = this.switchboardId;\n data[\"name\"] = this.name;\n data[\"scsAddr\"] = this.scsAddr;\n return data; \n }\n}\n\nexport interface ISwitchboardDTO {\n switchboardId?: string;\n name?: string | undefined;\n scsAddr?: number;\n}\n\nexport class SyncInfo implements ISyncInfo {\n currentlySyncing?: boolean;\n startTimeStamp?: string | undefined;\n isFailed?: boolean;\n\n constructor(data?: ISyncInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.currentlySyncing = _data[\"currentlySyncing\"];\n this.startTimeStamp = _data[\"startTimeStamp\"];\n this.isFailed = _data[\"isFailed\"];\n }\n }\n\n static fromJS(data: any): SyncInfo {\n data = typeof data === 'object' ? data : {};\n let result = new SyncInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentlySyncing\"] = this.currentlySyncing;\n data[\"startTimeStamp\"] = this.startTimeStamp;\n data[\"isFailed\"] = this.isFailed;\n return data; \n }\n}\n\nexport interface ISyncInfo {\n currentlySyncing?: boolean;\n startTimeStamp?: string | undefined;\n isFailed?: boolean;\n}\n\n/** 0 = None 1 = OneOnOffValve 2 = OneOpenCloseValve 3 = OneProportionalValve 4 = TwoTubesOnOffValve 5 = TwoTubesProportionalValve 6 = TwoTubesProportionalSpeedControlValve 7 = FourTubesOnOffValve 8 = FourTubesProportionalValve 9 = FourTubesProportionalSpeedControlValve 10 = GatewayMode 11 = Pump */\nexport enum SystemControlType {\n None = 0,\n OneOnOffValve = 1,\n OneOpenCloseValve = 2,\n OneProportionalValve = 3,\n TwoTubesOnOffValve = 4,\n TwoTubesProportionalValve = 5,\n TwoTubesProportionalSpeedControlValve = 6,\n FourTubesOnOffValve = 7,\n FourTubesProportionalValve = 8,\n FourTubesProportionalSpeedControlValve = 9,\n GatewayMode = 10,\n Pump = 11,\n}\n\n/** 0 = Scs 1 = Zigbee */\nexport enum SystemType {\n Scs = 0,\n Zigbee = 1,\n}\n\n/** 0 = Celsius 1 = Fahrenheit */\nexport enum TemperatureType {\n Celsius = 0,\n Fahrenheit = 1,\n}\n\nexport class ThermoActuactor implements IThermoActuactor {\n number?: number;\n function?: ThermoActuatorType;\n valve?: boolean;\n id?: string[] | undefined;\n\n constructor(data?: IThermoActuactor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.function = _data[\"function\"];\n this.valve = _data[\"valve\"];\n if (Array.isArray(_data[\"id\"])) {\n this.id = [] as any;\n for (let item of _data[\"id\"])\n this.id!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ThermoActuactor {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoActuactor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"function\"] = this.function;\n data[\"valve\"] = this.valve;\n if (Array.isArray(this.id)) {\n data[\"id\"] = [];\n for (let item of this.id)\n data[\"id\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IThermoActuactor {\n number?: number;\n function?: ThermoActuatorType;\n valve?: boolean;\n id?: string[] | undefined;\n}\n\n/** 0 = None 1 = HeatingValve 2 = HeatingPump 3 = CoolingValve 4 = CoolingPump 5 = SharedValve 6 = SharedPump 7 = HeatingAndCoolingPump 8 = HeatingAndCoolingValve */\nexport enum ThermoActuatorType {\n None = 0,\n HeatingValve = 1,\n HeatingPump = 2,\n CoolingValve = 3,\n CoolingPump = 4,\n SharedValve = 5,\n SharedPump = 6,\n HeatingAndCoolingPump = 7,\n HeatingAndCoolingValve = 8,\n}\n\n/** 0 = None 1 = Yes 2 = No */\nexport enum ThermoAssociatedPump {\n None = 0,\n Yes = 1,\n No = 2,\n}\n\nexport class ThermoOldInformation implements IThermoOldInformation {\n address?: string | undefined;\n links_id?: string[] | undefined;\n\n constructor(data?: IThermoOldInformation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.address = _data[\"address\"];\n if (Array.isArray(_data[\"links_id\"])) {\n this.links_id = [] as any;\n for (let item of _data[\"links_id\"])\n this.links_id!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ThermoOldInformation {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoOldInformation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n if (Array.isArray(this.links_id)) {\n data[\"links_id\"] = [];\n for (let item of this.links_id)\n data[\"links_id\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IThermoOldInformation {\n address?: string | undefined;\n links_id?: string[] | undefined;\n}\n\nexport class ThermoProbeSettingsObjectParam implements IThermoProbeSettingsObjectParam {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n isLedmanagedVisible?: boolean;\n isExternalSensorTypeVisible?: boolean;\n\n constructor(data?: IThermoProbeSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isLedmanaged = _data[\"isLedmanaged\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isLedmanagedVisible = _data[\"isLedmanagedVisible\"];\n this.isExternalSensorTypeVisible = _data[\"isExternalSensorTypeVisible\"];\n }\n }\n\n static fromJS(data: any): ThermoProbeSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoProbeSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isLedmanaged\"] = this.isLedmanaged;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isLedmanagedVisible\"] = this.isLedmanagedVisible;\n data[\"isExternalSensorTypeVisible\"] = this.isExternalSensorTypeVisible;\n return data; \n }\n}\n\nexport interface IThermoProbeSettingsObjectParam {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n isLedmanagedVisible?: boolean;\n isExternalSensorTypeVisible?: boolean;\n}\n\nexport class ThermoProbeSettingsResult implements IThermoProbeSettingsResult {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n\n constructor(data?: IThermoProbeSettingsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isLedmanaged = _data[\"isLedmanaged\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n }\n }\n\n static fromJS(data: any): ThermoProbeSettingsResult {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoProbeSettingsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isLedmanaged\"] = this.isLedmanaged;\n data[\"externalSensorType\"] = this.externalSensorType;\n return data; \n }\n}\n\nexport interface IThermoProbeSettingsResult {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n}\n\nexport class ThermoRoomObjectDTO implements IThermoRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n heatingSystemControlType?: SystemControlType;\n coolingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n configurationSteps?: number;\n nextStep?: number;\n objectDuplication?: ObjectDuplication;\n resetType?: ResetType;\n isApplyAllTemperatureRange?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n isApplyAllCirculationPumpDelay?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n isApplyAllCelsiusFahrenheit?: boolean;\n temperatureType?: TemperatureType;\n isApplyAllButtonsManagement?: boolean;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isApplyAllBacklight?: boolean;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isApplyAllWindowsContact?: boolean;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isInterlockingExcluded?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n pumpsDelay?: string;\n thermoUKFanSpeed?: number;\n thermoUKFanSpeed2?: number;\n thermoUKFanSpeed3?: number;\n plantId?: string | undefined;\n roomId?: string | undefined;\n extDevices?: ExtDevice[] | undefined;\n roomObjectType?: RoomObjectType;\n isNotFullyConfigured?: boolean;\n isEdit?: boolean;\n isApplyAllTemperatureVisualization?: boolean;\n isTemperatureDisplayed?: boolean;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n thermoOldInformation?: ThermoOldInformation;\n thermo?: ThermoActuactor[] | undefined;\n tempAddressPumps?: AddressPumps[] | undefined;\n\n constructor(data?: IThermoRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.actuatorModalityType = _data[\"actuatorModalityType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n this.configurationSteps = _data[\"configurationSteps\"];\n this.nextStep = _data[\"nextStep\"];\n this.objectDuplication = _data[\"objectDuplication\"];\n this.resetType = _data[\"resetType\"];\n this.isApplyAllTemperatureRange = _data[\"isApplyAllTemperatureRange\"];\n this.heatingSetpointLow = _data[\"heatingSetpointLow\"];\n this.heatingSetpointHigh = _data[\"heatingSetpointHigh\"];\n this.heatingAntifreeze = _data[\"heatingAntifreeze\"];\n this.coolingSetpointLow = _data[\"coolingSetpointLow\"];\n this.coolingSetpointHigh = _data[\"coolingSetpointHigh\"];\n this.coolingThermalProtection = _data[\"coolingThermalProtection\"];\n this.isAutoCommutation = _data[\"isAutoCommutation\"];\n this.isApplyAllCirculationPumpDelay = _data[\"isApplyAllCirculationPumpDelay\"];\n this.delayHeatingPumps = _data[\"delayHeatingPumps\"];\n this.delayCoolingPumps = _data[\"delayCoolingPumps\"];\n this.isApplyAllCelsiusFahrenheit = _data[\"isApplyAllCelsiusFahrenheit\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.isApplyAllButtonsManagement = _data[\"isApplyAllButtonsManagement\"];\n this.areButtonsEnabled = _data[\"areButtonsEnabled\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isApplyAllBacklight = _data[\"isApplyAllBacklight\"];\n this.isBacklightEnabled = _data[\"isBacklightEnabled\"];\n this.backlightLevel = _data[\"backlightLevel\"];\n this.isManualHeatingOverrideEnabled = _data[\"isManualHeatingOverrideEnabled\"];\n this.heatingRegulationBand = _data[\"heatingRegulationBand\"];\n this.fanSpeed2ForHeating = _data[\"fanSpeed2ForHeating\"];\n this.fanSpeed3ForHeating = _data[\"fanSpeed3ForHeating\"];\n this.valvesTimeForHeatingFanCoil = _data[\"valvesTimeForHeatingFanCoil\"];\n this.isManualCoolingOverrideEnabled = _data[\"isManualCoolingOverrideEnabled\"];\n this.coolingRegulationBand = _data[\"coolingRegulationBand\"];\n this.fanSpeed2ForCooling = _data[\"fanSpeed2ForCooling\"];\n this.fanSpeed3ForCooling = _data[\"fanSpeed3ForCooling\"];\n this.valvesTimeForCoolingFanCoil = _data[\"valvesTimeForCoolingFanCoil\"];\n this.isApplyAllWindowsContact = _data[\"isApplyAllWindowsContact\"];\n this.isIconAlwaysOff = _data[\"isIconAlwaysOff\"];\n this.isLocalContactNumberEnabled = _data[\"isLocalContactNumberEnabled\"];\n this.numberOfWindowsContact = _data[\"numberOfWindowsContact\"];\n this.openingContactTypeHeating = _data[\"openingContactTypeHeating\"];\n this.openingContactTempHeating = _data[\"openingContactTempHeating\"];\n this.openingContactDelayHeating = _data[\"openingContactDelayHeating\"];\n this.timeoutOpeningHeating = _data[\"timeoutOpeningHeating\"];\n this.closingContactTypeHeating = _data[\"closingContactTypeHeating\"];\n this.closingContactTempHeating = _data[\"closingContactTempHeating\"];\n this.closingContactDelayHeating = _data[\"closingContactDelayHeating\"];\n this.timeoutClosingHeating = _data[\"timeoutClosingHeating\"];\n this.openingContactTypeCooling = _data[\"openingContactTypeCooling\"];\n this.openingContactTempCooling = _data[\"openingContactTempCooling\"];\n this.openingContactDelayCooling = _data[\"openingContactDelayCooling\"];\n this.timeoutOpeningCooling = _data[\"timeoutOpeningCooling\"];\n this.closingContactTypeCooling = _data[\"closingContactTypeCooling\"];\n this.closingContactTempCooling = _data[\"closingContactTempCooling\"];\n this.closingContactDelayCooling = _data[\"closingContactDelayCooling\"];\n this.timeoutClosingCooling = _data[\"timeoutClosingCooling\"];\n this.isInterlockingExcluded = _data[\"isInterlockingExcluded\"];\n this.isWaterCycleEnabled = _data[\"isWaterCycleEnabled\"];\n this.arePumpsOpenedAutomatically = _data[\"arePumpsOpenedAutomatically\"];\n this.minutesToKeepOpen = _data[\"minutesToKeepOpen\"];\n this.openAutomaticallyDaysDelay = _data[\"openAutomaticallyDaysDelay\"];\n this.pumpsDelay = _data[\"pumpsDelay\"];\n this.thermoUKFanSpeed = _data[\"thermoUKFanSpeed\"];\n this.thermoUKFanSpeed2 = _data[\"thermoUKFanSpeed2\"];\n this.thermoUKFanSpeed3 = _data[\"thermoUKFanSpeed3\"];\n this.plantId = _data[\"plantId\"];\n this.roomId = _data[\"roomId\"];\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n this.roomObjectType = _data[\"roomObjectType\"];\n this.isNotFullyConfigured = _data[\"isNotFullyConfigured\"];\n this.isEdit = _data[\"isEdit\"];\n this.isApplyAllTemperatureVisualization = _data[\"isApplyAllTemperatureVisualization\"];\n this.isTemperatureDisplayed = _data[\"isTemperatureDisplayed\"];\n this.isCoolingVentilationEnabled = _data[\"isCoolingVentilationEnabled\"];\n this.isHeatingVentilationEnabled = _data[\"isHeatingVentilationEnabled\"];\n this.timeoutCoolingVentilation = _data[\"timeoutCoolingVentilation\"];\n this.timeoutHeatingVentilation = _data[\"timeoutHeatingVentilation\"];\n this.thermoOldInformation = _data[\"thermoOldInformation\"] ? ThermoOldInformation.fromJS(_data[\"thermoOldInformation\"]) : undefined;\n if (Array.isArray(_data[\"thermo\"])) {\n this.thermo = [] as any;\n for (let item of _data[\"thermo\"])\n this.thermo!.push(ThermoActuactor.fromJS(item));\n }\n if (Array.isArray(_data[\"tempAddressPumps\"])) {\n this.tempAddressPumps = [] as any;\n for (let item of _data[\"tempAddressPumps\"])\n this.tempAddressPumps!.push(AddressPumps.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ThermoRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"actuatorModalityType\"] = this.actuatorModalityType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n data[\"configurationSteps\"] = this.configurationSteps;\n data[\"nextStep\"] = this.nextStep;\n data[\"objectDuplication\"] = this.objectDuplication;\n data[\"resetType\"] = this.resetType;\n data[\"isApplyAllTemperatureRange\"] = this.isApplyAllTemperatureRange;\n data[\"heatingSetpointLow\"] = this.heatingSetpointLow;\n data[\"heatingSetpointHigh\"] = this.heatingSetpointHigh;\n data[\"heatingAntifreeze\"] = this.heatingAntifreeze;\n data[\"coolingSetpointLow\"] = this.coolingSetpointLow;\n data[\"coolingSetpointHigh\"] = this.coolingSetpointHigh;\n data[\"coolingThermalProtection\"] = this.coolingThermalProtection;\n data[\"isAutoCommutation\"] = this.isAutoCommutation;\n data[\"isApplyAllCirculationPumpDelay\"] = this.isApplyAllCirculationPumpDelay;\n data[\"delayHeatingPumps\"] = this.delayHeatingPumps;\n data[\"delayCoolingPumps\"] = this.delayCoolingPumps;\n data[\"isApplyAllCelsiusFahrenheit\"] = this.isApplyAllCelsiusFahrenheit;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"isApplyAllButtonsManagement\"] = this.isApplyAllButtonsManagement;\n data[\"areButtonsEnabled\"] = this.areButtonsEnabled;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isApplyAllBacklight\"] = this.isApplyAllBacklight;\n data[\"isBacklightEnabled\"] = this.isBacklightEnabled;\n data[\"backlightLevel\"] = this.backlightLevel;\n data[\"isManualHeatingOverrideEnabled\"] = this.isManualHeatingOverrideEnabled;\n data[\"heatingRegulationBand\"] = this.heatingRegulationBand;\n data[\"fanSpeed2ForHeating\"] = this.fanSpeed2ForHeating;\n data[\"fanSpeed3ForHeating\"] = this.fanSpeed3ForHeating;\n data[\"valvesTimeForHeatingFanCoil\"] = this.valvesTimeForHeatingFanCoil;\n data[\"isManualCoolingOverrideEnabled\"] = this.isManualCoolingOverrideEnabled;\n data[\"coolingRegulationBand\"] = this.coolingRegulationBand;\n data[\"fanSpeed2ForCooling\"] = this.fanSpeed2ForCooling;\n data[\"fanSpeed3ForCooling\"] = this.fanSpeed3ForCooling;\n data[\"valvesTimeForCoolingFanCoil\"] = this.valvesTimeForCoolingFanCoil;\n data[\"isApplyAllWindowsContact\"] = this.isApplyAllWindowsContact;\n data[\"isIconAlwaysOff\"] = this.isIconAlwaysOff;\n data[\"isLocalContactNumberEnabled\"] = this.isLocalContactNumberEnabled;\n data[\"numberOfWindowsContact\"] = this.numberOfWindowsContact;\n data[\"openingContactTypeHeating\"] = this.openingContactTypeHeating;\n data[\"openingContactTempHeating\"] = this.openingContactTempHeating;\n data[\"openingContactDelayHeating\"] = this.openingContactDelayHeating;\n data[\"timeoutOpeningHeating\"] = this.timeoutOpeningHeating;\n data[\"closingContactTypeHeating\"] = this.closingContactTypeHeating;\n data[\"closingContactTempHeating\"] = this.closingContactTempHeating;\n data[\"closingContactDelayHeating\"] = this.closingContactDelayHeating;\n data[\"timeoutClosingHeating\"] = this.timeoutClosingHeating;\n data[\"openingContactTypeCooling\"] = this.openingContactTypeCooling;\n data[\"openingContactTempCooling\"] = this.openingContactTempCooling;\n data[\"openingContactDelayCooling\"] = this.openingContactDelayCooling;\n data[\"timeoutOpeningCooling\"] = this.timeoutOpeningCooling;\n data[\"closingContactTypeCooling\"] = this.closingContactTypeCooling;\n data[\"closingContactTempCooling\"] = this.closingContactTempCooling;\n data[\"closingContactDelayCooling\"] = this.closingContactDelayCooling;\n data[\"timeoutClosingCooling\"] = this.timeoutClosingCooling;\n data[\"isInterlockingExcluded\"] = this.isInterlockingExcluded;\n data[\"isWaterCycleEnabled\"] = this.isWaterCycleEnabled;\n data[\"arePumpsOpenedAutomatically\"] = this.arePumpsOpenedAutomatically;\n data[\"minutesToKeepOpen\"] = this.minutesToKeepOpen;\n data[\"openAutomaticallyDaysDelay\"] = this.openAutomaticallyDaysDelay;\n data[\"pumpsDelay\"] = this.pumpsDelay;\n data[\"thermoUKFanSpeed\"] = this.thermoUKFanSpeed;\n data[\"thermoUKFanSpeed2\"] = this.thermoUKFanSpeed2;\n data[\"thermoUKFanSpeed3\"] = this.thermoUKFanSpeed3;\n data[\"plantId\"] = this.plantId;\n data[\"roomId\"] = this.roomId;\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n data[\"roomObjectType\"] = this.roomObjectType;\n data[\"isNotFullyConfigured\"] = this.isNotFullyConfigured;\n data[\"isEdit\"] = this.isEdit;\n data[\"isApplyAllTemperatureVisualization\"] = this.isApplyAllTemperatureVisualization;\n data[\"isTemperatureDisplayed\"] = this.isTemperatureDisplayed;\n data[\"isCoolingVentilationEnabled\"] = this.isCoolingVentilationEnabled;\n data[\"isHeatingVentilationEnabled\"] = this.isHeatingVentilationEnabled;\n data[\"timeoutCoolingVentilation\"] = this.timeoutCoolingVentilation;\n data[\"timeoutHeatingVentilation\"] = this.timeoutHeatingVentilation;\n data[\"thermoOldInformation\"] = this.thermoOldInformation ? this.thermoOldInformation.toJSON() : undefined;\n if (Array.isArray(this.thermo)) {\n data[\"thermo\"] = [];\n for (let item of this.thermo)\n data[\"thermo\"].push(item.toJSON());\n }\n if (Array.isArray(this.tempAddressPumps)) {\n data[\"tempAddressPumps\"] = [];\n for (let item of this.tempAddressPumps)\n data[\"tempAddressPumps\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IThermoRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n heatingSystemControlType?: SystemControlType;\n coolingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n configurationSteps?: number;\n nextStep?: number;\n objectDuplication?: ObjectDuplication;\n resetType?: ResetType;\n isApplyAllTemperatureRange?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n isApplyAllCirculationPumpDelay?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n isApplyAllCelsiusFahrenheit?: boolean;\n temperatureType?: TemperatureType;\n isApplyAllButtonsManagement?: boolean;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isApplyAllBacklight?: boolean;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isApplyAllWindowsContact?: boolean;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isInterlockingExcluded?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n pumpsDelay?: string;\n thermoUKFanSpeed?: number;\n thermoUKFanSpeed2?: number;\n thermoUKFanSpeed3?: number;\n plantId?: string | undefined;\n roomId?: string | undefined;\n extDevices?: ExtDevice[] | undefined;\n roomObjectType?: RoomObjectType;\n isNotFullyConfigured?: boolean;\n isEdit?: boolean;\n isApplyAllTemperatureVisualization?: boolean;\n isTemperatureDisplayed?: boolean;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n thermoOldInformation?: ThermoOldInformation;\n thermo?: ThermoActuactor[] | undefined;\n tempAddressPumps?: AddressPumps[] | undefined;\n}\n\n/** 0 = None 1 = Heating 2 = Cooling 3 = HeatingAndCooling */\nexport enum ThermoTypeOfObject {\n None = 0,\n Heating = 1,\n Cooling = 2,\n HeatingAndCooling = 3,\n}\n\n/** 0 = Off 1 = Heat 2 = Cool 3 = Auto 4 = None */\nexport enum ThermostatStatus {\n Off = 0,\n Heat = 1,\n Cool = 2,\n Auto = 3,\n None = 4,\n}\n\nexport class TimeCondition extends Condition implements ITimeCondition {\n startTime?: string;\n endTime?: string;\n weekDays?: WeekDay[] | undefined;\n\n constructor(data?: ITimeCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.startTime = _data[\"startTime\"];\n this.endTime = _data[\"endTime\"];\n if (Array.isArray(_data[\"weekDays\"])) {\n this.weekDays = [] as any;\n for (let item of _data[\"weekDays\"])\n this.weekDays!.push(item);\n }\n }\n }\n\n static fromJS(data: any): TimeCondition {\n data = typeof data === 'object' ? data : {};\n let result = new TimeCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startTime\"] = this.startTime;\n data[\"endTime\"] = this.endTime;\n if (Array.isArray(this.weekDays)) {\n data[\"weekDays\"] = [];\n for (let item of this.weekDays)\n data[\"weekDays\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ITimeCondition extends ICondition {\n startTime?: string;\n endTime?: string;\n weekDays?: WeekDay[] | undefined;\n}\n\nexport class TimeSlot implements ITimeSlot {\n id?: string;\n timeSince?: Date;\n timeUntil?: Date;\n\n constructor(data?: ITimeSlot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.timeSince = _data[\"timeSince\"] ? new Date(_data[\"timeSince\"].toString()) : undefined;\n this.timeUntil = _data[\"timeUntil\"] ? new Date(_data[\"timeUntil\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): TimeSlot {\n data = typeof data === 'object' ? data : {};\n let result = new TimeSlot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"timeSince\"] = this.timeSince ? this.timeSince.toISOString() : undefined;\n data[\"timeUntil\"] = this.timeUntil ? this.timeUntil.toISOString() : undefined;\n return data; \n }\n}\n\nexport interface ITimeSlot {\n id?: string;\n timeSince?: Date;\n timeUntil?: Date;\n}\n\n/** 0 = None 1 = Onedirection 2 = Boththedirections */\nexport enum ToroidDirection {\n None = 0,\n Onedirection = 1,\n Boththedirections = 2,\n}\n\nexport class TransferOwnershipDTO implements ITransferOwnershipDTO {\n password?: string | undefined;\n shouldCurrentUserRightsBeRemoved?: boolean | undefined;\n\n constructor(data?: ITransferOwnershipDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.password = _data[\"password\"];\n this.shouldCurrentUserRightsBeRemoved = _data[\"shouldCurrentUserRightsBeRemoved\"];\n }\n }\n\n static fromJS(data: any): TransferOwnershipDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TransferOwnershipDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"password\"] = this.password;\n data[\"shouldCurrentUserRightsBeRemoved\"] = this.shouldCurrentUserRightsBeRemoved;\n return data; \n }\n}\n\nexport interface ITransferOwnershipDTO {\n password?: string | undefined;\n shouldCurrentUserRightsBeRemoved?: boolean | undefined;\n}\n\nexport class TriggerDTO implements ITriggerDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n triggerParams?: Trigger | undefined;\n\n constructor(data?: ITriggerDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.objectName = _data[\"objectName\"];\n this.sceneObjectType = _data[\"sceneObjectType\"];\n this.triggerParams = _data[\"triggerParams\"] ? Trigger.fromJS(_data[\"triggerParams\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TriggerDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TriggerDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"objectName\"] = this.objectName;\n data[\"sceneObjectType\"] = this.sceneObjectType;\n data[\"triggerParams\"] = this.triggerParams ? this.triggerParams.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface ITriggerDTO {\n objectName?: string | undefined;\n sceneObjectType?: SceneObjectType;\n triggerParams?: Trigger | undefined;\n}\n\nexport class TriggersAndConditionsRoomItemDTO implements ITriggersAndConditionsRoomItemDTO {\n roomObjects?: TriggersAndConditionsRoomObjectItemDTO[] | undefined;\n name?: string | undefined;\n type?: RoomType;\n\n constructor(data?: ITriggersAndConditionsRoomItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(TriggersAndConditionsRoomObjectItemDTO.fromJS(item));\n }\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): TriggersAndConditionsRoomItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TriggersAndConditionsRoomItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n return data; \n }\n}\n\nexport interface ITriggersAndConditionsRoomItemDTO {\n roomObjects?: TriggersAndConditionsRoomObjectItemDTO[] | undefined;\n name?: string | undefined;\n type?: RoomType;\n}\n\nexport class TriggersAndConditionsRoomObjectItemDTO implements ITriggersAndConditionsRoomObjectItemDTO {\n id?: string | undefined;\n plantId?: string | undefined;\n sceneObjectType?: SceneObjectType;\n name?: string | undefined;\n\n constructor(data?: ITriggersAndConditionsRoomObjectItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.plantId = _data[\"plantId\"];\n this.sceneObjectType = _data[\"sceneObjectType\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): TriggersAndConditionsRoomObjectItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TriggersAndConditionsRoomObjectItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"plantId\"] = this.plantId;\n data[\"sceneObjectType\"] = this.sceneObjectType;\n data[\"name\"] = this.name;\n return data; \n }\n}\n\nexport interface ITriggersAndConditionsRoomObjectItemDTO {\n id?: string | undefined;\n plantId?: string | undefined;\n sceneObjectType?: SceneObjectType;\n name?: string | undefined;\n}\n\nexport class UserDTO implements IUserDTO {\n id?: string | undefined;\n name?: string | undefined;\n surname?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IUserDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): UserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"email\"] = this.email;\n return data; \n }\n}\n\nexport interface IUserDTO {\n id?: string | undefined;\n name?: string | undefined;\n surname?: string | undefined;\n email?: string | undefined;\n}\n\nexport class Version implements IVersion {\n readonly major?: number;\n readonly minor?: number;\n readonly build?: number;\n readonly revision?: number;\n readonly majorRevision?: number;\n readonly minorRevision?: number;\n\n constructor(data?: IVersion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).major = _data[\"major\"];\n (this).minor = _data[\"minor\"];\n (this).build = _data[\"build\"];\n (this).revision = _data[\"revision\"];\n (this).majorRevision = _data[\"majorRevision\"];\n (this).minorRevision = _data[\"minorRevision\"];\n }\n }\n\n static fromJS(data: any): Version {\n data = typeof data === 'object' ? data : {};\n let result = new Version();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"major\"] = this.major;\n data[\"minor\"] = this.minor;\n data[\"build\"] = this.build;\n data[\"revision\"] = this.revision;\n data[\"majorRevision\"] = this.majorRevision;\n data[\"minorRevision\"] = this.minorRevision;\n return data; \n }\n}\n\nexport interface IVersion {\n major?: number;\n minor?: number;\n build?: number;\n revision?: number;\n majorRevision?: number;\n minorRevision?: number;\n}\n\nexport class WaitTimeAction extends Action implements IWaitTimeAction {\n waitTime?: string;\n\n constructor(data?: IWaitTimeAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.waitTime = _data[\"waitTime\"];\n }\n }\n\n static fromJS(data: any): WaitTimeAction {\n data = typeof data === 'object' ? data : {};\n let result = new WaitTimeAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"waitTime\"] = this.waitTime;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWaitTimeAction extends IAction {\n waitTime?: string;\n}\n\nexport class WeatherCondition extends Condition implements IWeatherCondition {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n\n constructor(data?: IWeatherCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.weatherStateComparer = _data[\"weatherStateComparer\"];\n this.weatherTemperature = _data[\"weatherTemperature\"];\n this.sceneWeatherModality = _data[\"sceneWeatherModality\"];\n this.weatherWindSpeed = _data[\"weatherWindSpeed\"];\n this.humidityPercentage = _data[\"humidityPercentage\"];\n this.sceneWeatherForecastState = _data[\"sceneWeatherForecastState\"];\n this.sceneWeatherCrepuscular = _data[\"sceneWeatherCrepuscular\"];\n }\n }\n\n static fromJS(data: any): WeatherCondition {\n data = typeof data === 'object' ? data : {};\n let result = new WeatherCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"weatherStateComparer\"] = this.weatherStateComparer;\n data[\"weatherTemperature\"] = this.weatherTemperature;\n data[\"sceneWeatherModality\"] = this.sceneWeatherModality;\n data[\"weatherWindSpeed\"] = this.weatherWindSpeed;\n data[\"humidityPercentage\"] = this.humidityPercentage;\n data[\"sceneWeatherForecastState\"] = this.sceneWeatherForecastState;\n data[\"sceneWeatherCrepuscular\"] = this.sceneWeatherCrepuscular;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWeatherCondition extends ICondition {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n}\n\nexport class WeatherTrigger extends Trigger implements IWeatherTrigger {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n\n constructor(data?: IWeatherTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.weatherStateComparer = _data[\"weatherStateComparer\"];\n this.weatherTemperature = _data[\"weatherTemperature\"];\n this.sceneWeatherModality = _data[\"sceneWeatherModality\"];\n this.weatherWindSpeed = _data[\"weatherWindSpeed\"];\n this.humidityPercentage = _data[\"humidityPercentage\"];\n this.sceneWeatherForecastState = _data[\"sceneWeatherForecastState\"];\n this.sceneWeatherCrepuscular = _data[\"sceneWeatherCrepuscular\"];\n }\n }\n\n static fromJS(data: any): WeatherTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new WeatherTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"weatherStateComparer\"] = this.weatherStateComparer;\n data[\"weatherTemperature\"] = this.weatherTemperature;\n data[\"sceneWeatherModality\"] = this.sceneWeatherModality;\n data[\"weatherWindSpeed\"] = this.weatherWindSpeed;\n data[\"humidityPercentage\"] = this.humidityPercentage;\n data[\"sceneWeatherForecastState\"] = this.sceneWeatherForecastState;\n data[\"sceneWeatherCrepuscular\"] = this.sceneWeatherCrepuscular;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWeatherTrigger extends ITrigger {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n}\n\n/** 0 = Monday 1 = Tuesday 2 = Wednesday 3 = Thursday 4 = Friday 5 = Saturday 6 = Sunday */\nexport enum WeekDay {\n Monday = 0,\n Tuesday = 1,\n Wednesday = 2,\n Thursday = 3,\n Friday = 4,\n Saturday = 5,\n Sunday = 6,\n}\n\nexport class XmeterExtDevice extends ExtDevice implements IXmeterExtDevice {\n readonly address?: string | undefined;\n\n constructor(data?: IXmeterExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): XmeterExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new XmeterExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IXmeterExtDevice extends IExtDevice {\n address?: string | undefined;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}","module.exports = __webpack_public_path__ + \"img/apt-2@2x.c920d3e4.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_4@2x.eb8345b2.jpg\";","module.exports = __webpack_public_path__ + \"img/smart-home.22edb214.jpg\";","const SET_ACCOUNT = 'SET_ACCOUNT';\nconst SET_APP_LOADING = 'SET_APP_LOADING';\nconst SET_SELECTED_PLANT = 'SET_SELECTED_PLANT';\nconst SET_SIDEBAR_EXPANDED = 'SET_SIDEBAR_EXPANDED';\nconst SET_SELECTED_PLANT_ID = 'SET_SELECTED_PLANT_ID';\nconst SET_CONTEXTUAL_MENU_ITEMS = 'SET_CONTEXTUAL_MENU_ITEMS';\n\n// TODO: remove this comment if we keep this refactor\nconst SET_SELECTED_ENTRANCE_PLANT = 'SET_SELECTED_ENTRANCE_PLANT';\nconst SET_SELECTED_ENTRANCE_PLANT_ID = 'SET_SELECTED_ENTRANCE_PLANT_ID';\n\nconst SET_USER_PERMISSIONS = 'SET_USER_PERMISSIONS';\nconst SET_ADMIN_VIEW = 'SET_ADMIN_VIEW';\nconst SET_OFFLINE_PLANT = 'SET_OFFLINE_PLANT';\nconst SET_SYNC_INFO = 'SET_SYNC_INFO';\n\nexport {\n SET_ACCOUNT,\n SET_SYNC_INFO,\n SET_ADMIN_VIEW,\n SET_APP_LOADING,\n SET_OFFLINE_PLANT,\n SET_SELECTED_PLANT,\n SET_SIDEBAR_EXPANDED,\n SET_USER_PERMISSIONS,\n SET_SELECTED_PLANT_ID,\n SET_CONTEXTUAL_MENU_ITEMS,\n SET_SELECTED_ENTRANCE_PLANT, // TODO: remove this comment if we keep this refactor\n SET_SELECTED_ENTRANCE_PLANT_ID, // TODO: remove this comment if we keep this refactor\n};\n","module.exports = __webpack_public_path__ + \"img/entrance_plant_3@2x.65cab3bc.jpg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./TheHeader.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./ScrollableTabView.scss?vue&type=style&index=0&id=84d6dbc8&scoped=true&lang=scss\"","module.exports = __webpack_public_path__ + \"img/entrance_plant_1.4bd89ce8.jpg\";","module.exports = __webpack_public_path__ + \"img/apt-1@3x.64d6c0a5.jpg\";","module.exports = __webpack_public_path__ + \"img/smart-home@2x.11ccabaf.jpg\";","module.exports = __webpack_public_path__ + \"img/icon-profile.a9bc220e.svg\";","module.exports = __webpack_public_path__ + \"img/apt-1@2x.68e0c59a.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_3.04155a72.jpg\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=b51da03a&lang=scss\"","import { Slot } from 'client-generator/generated-clients/plants';\n\nexport interface WorkflowCallbackData {\n warningTitle?: string;\n warningMessage?: string;\n _adjacentSlotVm?: Slot;\n isConfirmation?: boolean; //choose if show 'yes/no' or 'ok'\n _isUnlinkFlow?: boolean;\n _isSingleLoadFlow?: boolean;\n _isMostrineFlow?: boolean;\n\n isWarningRequested?: boolean; //open a popup\n isPresetWarningRequested?: boolean; //open another popup\n}\nexport interface WorkflowCallbackFunction {\n (\n data: WorkflowCallbackData,\n doYesCallback?: Function,\n doNoCallback?: Function,\n doAlertCallback?: Function\n ): void;\n}\n\nexport enum SlotRuleServiceType {\n AUTOMATION_ACTUATOR,\n AUTOMATION_COMMAND,\n THERMO_THERMO,\n THERMO_PROBE,\n THERMO_HEATING_ACTUATORS,\n THERMO_COOLING_ACTUATORS,\n THERMO_HEATING_PUMPS,\n THERMO_COOLING_PUMPS,\n THERMO_SHARED_ACTUATORS,\n THERMO_SHARED_PUMPS,\n COMMANDS_AND_GROUPS,\n}\n","const FETCH_PLANT = 'FETCH_PLANT';\nconst HANDLE_REFRESH_PLANT = 'HANDLE_REFRESH_PLANT';\nconst MANAGE_ELIOT_PARSE_EXCEPTION = 'MANAGE_ELIOT_PARSE_EXCEPTION';\nconst AUTOMATION_WIZARD_NEXT_CALLED = 'AUTOMATION_WIZARD_NEXT_CALLED';\n\nexport {\n FETCH_PLANT,\n HANDLE_REFRESH_PLANT,\n MANAGE_ELIOT_PARSE_EXCEPTION,\n AUTOMATION_WIZARD_NEXT_CALLED,\n};\n","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/house-3@2x.a4cfcc9d.jpg\";","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.13.2.0 (NJsonSchema v10.5.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class Client {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n this.instance = instance ? instance : axios.create();\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * Get default settings for aggregate commands devices (Auth)\n * @param body (optional) \n * @return Device settings\n */\n aggregateCommandsDefault(linkableobjectid: string, body: AggregateCommandDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/devicesettings/aggregate-commands-default/{linkableobjectid}\";\n if (linkableobjectid === undefined || linkableobjectid === null)\n throw new Error(\"The parameter 'linkableobjectid' must be defined.\");\n url_ = url_.replace(\"{linkableobjectid}\", encodeURIComponent(\"\" + linkableobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processAggregateCommandsDefault(_response);\n });\n }\n\n protected processAggregateCommandsDefault(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DefaultDevicesSettingsDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get default settings for room object's devices (Auth)\n * @param body (optional) \n * @return RoomObject\n */\n roomObjectDefault(linkableobjectid: string, body: AddRoomObjectDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/devicesettings/room-object-default/{linkableobjectid}\";\n if (linkableobjectid === undefined || linkableobjectid === null)\n throw new Error(\"The parameter 'linkableobjectid' must be defined.\");\n url_ = url_.replace(\"{linkableobjectid}\", encodeURIComponent(\"\" + linkableobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRoomObjectDefault(_response);\n });\n }\n\n protected processRoomObjectDefault(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DefaultDevicesSettingsDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * Get default settings for room object's thermo devices (Auth)\n * @param body (optional) \n * @return Device settings\n */\n thermoDefault(linkableobjectid: string, body: ThermoRoomObjectDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/devicesettings/thermo-default/{linkableobjectid}\";\n if (linkableobjectid === undefined || linkableobjectid === null)\n throw new Error(\"The parameter 'linkableobjectid' must be defined.\");\n url_ = url_.replace(\"{linkableobjectid}\", encodeURIComponent(\"\" + linkableobjectid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processThermoDefault(_response);\n });\n }\n\n protected processThermoDefault(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DefaultDevicesSettingsDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A generic error occurred\", status, _responseText, _headers);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n}\n\nexport class Action implements IAction {\n id?: number;\n\n constructor(data?: IAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): Action {\n data = typeof data === 'object' ? data : {};\n let result = new Action();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data; \n }\n}\n\nexport interface IAction {\n id?: number;\n}\n\n/** 0 = None 1 = Separate 2 = Shared 3 = Mixed */\nexport enum ActuatorModalityType {\n None = 0,\n Separate = 1,\n Shared = 2,\n Mixed = 3,\n}\n\nexport class ActuatorSettings implements IActuatorSettings {\n\n constructor(data?: IActuatorSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): ActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data; \n }\n}\n\nexport interface IActuatorSettings {\n}\n\nexport class AddRoomObjectDTO implements IAddRoomObjectDTO {\n name?: string | undefined;\n type?: RoomObjectType;\n devices?: Device[] | undefined;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n\n constructor(data?: IAddRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n this.isHidden = _data[\"isHidden\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n }\n }\n\n static fromJS(data: any): AddRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AddRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"isHidden\"] = this.isHidden;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n return data; \n }\n}\n\nexport interface IAddRoomObjectDTO {\n name?: string | undefined;\n type?: RoomObjectType;\n devices?: Device[] | undefined;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n}\n\nexport class AddressPumps implements IAddressPumps {\n number?: string | undefined;\n idSlot?: string | undefined;\n deviceid?: string | undefined;\n linksId?: string[] | undefined;\n\n constructor(data?: IAddressPumps) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.idSlot = _data[\"idSlot\"];\n this.deviceid = _data[\"deviceid\"];\n if (Array.isArray(_data[\"linksId\"])) {\n this.linksId = [] as any;\n for (let item of _data[\"linksId\"])\n this.linksId!.push(item);\n }\n }\n }\n\n static fromJS(data: any): AddressPumps {\n data = typeof data === 'object' ? data : {};\n let result = new AddressPumps();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"idSlot\"] = this.idSlot;\n data[\"deviceid\"] = this.deviceid;\n if (Array.isArray(this.linksId)) {\n data[\"linksId\"] = [];\n for (let item of this.linksId)\n data[\"linksId\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IAddressPumps {\n number?: string | undefined;\n idSlot?: string | undefined;\n deviceid?: string | undefined;\n linksId?: string[] | undefined;\n}\n\nexport class LinkableObject implements ILinkableObject {\n id?: string | undefined;\n name?: string | undefined;\n devices?: Device[] | undefined;\n extDevices?: ExtDevice[] | undefined;\n\n constructor(data?: ILinkableObject) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LinkableObject {\n data = typeof data === 'object' ? data : {};\n let result = new LinkableObject();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILinkableObject {\n id?: string | undefined;\n name?: string | undefined;\n devices?: Device[] | undefined;\n extDevices?: ExtDevice[] | undefined;\n}\n\nexport class AggregateCommand extends LinkableObject implements IAggregateCommand {\n rooms?: Room[] | undefined;\n objectsName?: string[] | undefined;\n type?: AggregateCommandType;\n roomObjectType?: RoomObjectType;\n address?: string | undefined;\n\n constructor(data?: IAggregateCommand) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"rooms\"])) {\n this.rooms = [] as any;\n for (let item of _data[\"rooms\"])\n this.rooms!.push(Room.fromJS(item));\n }\n if (Array.isArray(_data[\"objectsName\"])) {\n this.objectsName = [] as any;\n for (let item of _data[\"objectsName\"])\n this.objectsName!.push(item);\n }\n this.type = _data[\"type\"];\n this.roomObjectType = _data[\"roomObjectType\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): AggregateCommand {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rooms)) {\n data[\"rooms\"] = [];\n for (let item of this.rooms)\n data[\"rooms\"].push(item.toJSON());\n }\n if (Array.isArray(this.objectsName)) {\n data[\"objectsName\"] = [];\n for (let item of this.objectsName)\n data[\"objectsName\"].push(item);\n }\n data[\"type\"] = this.type;\n data[\"roomObjectType\"] = this.roomObjectType;\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAggregateCommand extends ILinkableObject {\n rooms?: Room[] | undefined;\n objectsName?: string[] | undefined;\n type?: AggregateCommandType;\n roomObjectType?: RoomObjectType;\n address?: string | undefined;\n}\n\nexport class AggregateCommandDTO implements IAggregateCommandDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: AggregateCommandType;\n isPlaceholder?: boolean;\n rooms?: RoomDTO[] | undefined;\n roomObjectType?: RoomObjectType;\n\n constructor(data?: IAggregateCommandDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.isPlaceholder = _data[\"isPlaceholder\"];\n if (Array.isArray(_data[\"rooms\"])) {\n this.rooms = [] as any;\n for (let item of _data[\"rooms\"])\n this.rooms!.push(RoomDTO.fromJS(item));\n }\n this.roomObjectType = _data[\"roomObjectType\"];\n }\n }\n\n static fromJS(data: any): AggregateCommandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateCommandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"isPlaceholder\"] = this.isPlaceholder;\n if (Array.isArray(this.rooms)) {\n data[\"rooms\"] = [];\n for (let item of this.rooms)\n data[\"rooms\"].push(item.toJSON());\n }\n data[\"roomObjectType\"] = this.roomObjectType;\n return data; \n }\n}\n\nexport interface IAggregateCommandDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: AggregateCommandType;\n isPlaceholder?: boolean;\n rooms?: RoomDTO[] | undefined;\n roomObjectType?: RoomObjectType;\n}\n\n/** 0 = General 1 = Group */\nexport enum AggregateCommandType {\n General = 0,\n Group = 1,\n}\n\nexport class AlarmAction extends Action implements IAlarmAction {\n isSuspended?: boolean;\n alarmType?: AlarmType;\n alarmState?: AlarmPartitionState;\n alarmPartitionOrSceneId?: string | undefined;\n alarmPin?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isSuspended = _data[\"isSuspended\"];\n this.alarmType = _data[\"alarmType\"];\n this.alarmState = _data[\"alarmState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmPin = _data[\"alarmPin\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmAction {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isSuspended\"] = this.isSuspended;\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmState\"] = this.alarmState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmPin\"] = this.alarmPin;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmAction extends IAction {\n isSuspended?: boolean;\n alarmType?: AlarmType;\n alarmState?: AlarmPartitionState;\n alarmPartitionOrSceneId?: string | undefined;\n alarmPin?: string | undefined;\n alarmName?: string | undefined;\n}\n\nexport class ExtDevice implements IExtDevice {\n componentType?: ExtComponentType;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n\n constructor(data?: IExtDevice) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentType = _data[\"componentType\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new ExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentType\"] = this.componentType;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n return data; \n }\n}\n\nexport interface IExtDevice {\n componentType?: ExtComponentType;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n}\n\nexport class AlarmCentralUnitExtDevice extends ExtDevice implements IAlarmCentralUnitExtDevice {\n readonly address?: string | undefined;\n\n constructor(data?: IAlarmCentralUnitExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): AlarmCentralUnitExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmCentralUnitExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmCentralUnitExtDevice extends IExtDevice {\n address?: string | undefined;\n}\n\nexport class Condition implements ICondition {\n id?: number;\n isSuspended?: boolean;\n\n constructor(data?: ICondition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.isSuspended = _data[\"isSuspended\"];\n }\n }\n\n static fromJS(data: any): Condition {\n data = typeof data === 'object' ? data : {};\n let result = new Condition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"isSuspended\"] = this.isSuspended;\n return data; \n }\n}\n\nexport interface ICondition {\n id?: number;\n isSuspended?: boolean;\n}\n\nexport class AlarmCondition extends Condition implements IAlarmCondition {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.alarmType = _data[\"alarmType\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmCondition {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmCondition extends ICondition {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n}\n\n/** 0 = Disarmed 1 = Exit 2 = Armed 3 = PreAlarm 4 = Ready_To_Arm 5 = Alarm 6 = Armed_Immediate 7 = Tamper 8 = None */\nexport enum AlarmPartitionState {\n Disarmed = 0,\n Exit = 1,\n Armed = 2,\n PreAlarm = 3,\n Ready_To_Arm = 4,\n Alarm = 5,\n Armed_Immediate = 6,\n Tamper = 7,\n None = 8,\n}\n\n/** 0 = Disarm 1 = Arm_With_Delay 2 = Arm_Without_Delay */\nexport enum AlarmPartitionStatus {\n Disarm = 0,\n Arm_With_Delay = 1,\n Arm_Without_Delay = 2,\n}\n\nexport class AlarmSensorExtDevice extends ExtDevice implements IAlarmSensorExtDevice {\n readonly address?: string | undefined;\n readonly senrosName?: string | undefined;\n\n constructor(data?: IAlarmSensorExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n (this).senrosName = _data[\"senrosName\"];\n }\n }\n\n static fromJS(data: any): AlarmSensorExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmSensorExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n data[\"senrosName\"] = this.senrosName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmSensorExtDevice extends IExtDevice {\n address?: string | undefined;\n senrosName?: string | undefined;\n}\n\n/** 0 = Idle 1 = Tamper 2 = Trigger 3 = Mask */\nexport enum AlarmSensorStatus {\n Idle = 0,\n Tamper = 1,\n Trigger = 2,\n Mask = 3,\n}\n\n/** 0 = None 1 = Normal 2 = Alarm */\nexport enum AlarmSensorStatusScene {\n None = 0,\n Normal = 1,\n Alarm = 2,\n}\n\nexport class Trigger implements ITrigger {\n id?: number;\n isSuspended?: boolean;\n address?: string | undefined;\n\n constructor(data?: ITrigger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.isSuspended = _data[\"isSuspended\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): Trigger {\n data = typeof data === 'object' ? data : {};\n let result = new Trigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"isSuspended\"] = this.isSuspended;\n data[\"address\"] = this.address;\n return data; \n }\n}\n\nexport interface ITrigger {\n id?: number;\n isSuspended?: boolean;\n address?: string | undefined;\n}\n\nexport class AlarmTrigger extends Trigger implements IAlarmTrigger {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n\n constructor(data?: IAlarmTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.alarmType = _data[\"alarmType\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmPartitionOrSceneId = _data[\"alarmPartitionOrSceneId\"];\n this.alarmName = _data[\"alarmName\"];\n }\n }\n\n static fromJS(data: any): AlarmTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new AlarmTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"alarmType\"] = this.alarmType;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmPartitionOrSceneId\"] = this.alarmPartitionOrSceneId;\n data[\"alarmName\"] = this.alarmName;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IAlarmTrigger extends ITrigger {\n alarmType?: AlarmType;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmPartitionOrSceneId?: string | undefined;\n alarmName?: string | undefined;\n}\n\n/** 0 = Partition 1 = AlarmSystemType */\nexport enum AlarmType {\n Partition = 0,\n AlarmSystemType = 1,\n}\n\nexport class BaseShuttersCommandSettingsObjectDTO implements IBaseShuttersCommandSettingsObjectDTO {\n shutterMode?: ShutterMode;\n\n constructor(data?: IBaseShuttersCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shutterMode = _data[\"shutterMode\"];\n }\n }\n\n static fromJS(data: any): BaseShuttersCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BaseShuttersCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shutterMode\"] = this.shutterMode;\n return data; \n }\n}\n\nexport interface IBaseShuttersCommandSettingsObjectDTO {\n shutterMode?: ShutterMode;\n}\n\n/** 0 = None 1 = Dimmer 2 = ColorTemperature 4 = Color 8 = Color1 16 = Color2 */\nexport enum BitmaskDaliLoadTypes {\n None = 0,\n Dimmer = 1,\n ColorTemperature = 2,\n Color = 4,\n Color1 = 8,\n Color2 = 16,\n}\n\nexport class ButtonTrigger extends Trigger implements IButtonTrigger {\n devices?: Device[] | undefined;\n\n constructor(data?: IButtonTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(Device.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ButtonTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new ButtonTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IButtonTrigger extends ITrigger {\n devices?: Device[] | undefined;\n}\n\n/** 0 = Pointtopoint 1 = ToAll */\nexport enum CallType {\n Pointtopoint = 0,\n ToAll = 1,\n}\n\nexport class Color implements IColor {\n readonly r?: number;\n readonly g?: number;\n readonly b?: number;\n readonly a?: number;\n readonly isKnownColor?: boolean;\n readonly isEmpty?: boolean;\n readonly isNamedColor?: boolean;\n readonly isSystemColor?: boolean;\n readonly name?: string | undefined;\n\n constructor(data?: IColor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).r = _data[\"r\"];\n (this).g = _data[\"g\"];\n (this).b = _data[\"b\"];\n (this).a = _data[\"a\"];\n (this).isKnownColor = _data[\"isKnownColor\"];\n (this).isEmpty = _data[\"isEmpty\"];\n (this).isNamedColor = _data[\"isNamedColor\"];\n (this).isSystemColor = _data[\"isSystemColor\"];\n (this).name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): Color {\n data = typeof data === 'object' ? data : {};\n let result = new Color();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"r\"] = this.r;\n data[\"g\"] = this.g;\n data[\"b\"] = this.b;\n data[\"a\"] = this.a;\n data[\"isKnownColor\"] = this.isKnownColor;\n data[\"isEmpty\"] = this.isEmpty;\n data[\"isNamedColor\"] = this.isNamedColor;\n data[\"isSystemColor\"] = this.isSystemColor;\n data[\"name\"] = this.name;\n return data; \n }\n}\n\nexport interface IColor {\n r?: number;\n g?: number;\n b?: number;\n a?: number;\n isKnownColor?: boolean;\n isEmpty?: boolean;\n isNamedColor?: boolean;\n isSystemColor?: boolean;\n name?: string | undefined;\n}\n\nexport class ColoredLightExtDevice extends ExtDevice implements IColoredLightExtDevice {\n coloredLightType?: ColoredLightType;\n readonly philipsHueBridge?: string | undefined;\n readonly philipsHueLamp?: string | undefined;\n readonly philipsHueLampName?: string | undefined;\n readonly lifxLamp?: string | undefined;\n readonly dmxMacAddress?: string | undefined;\n readonly dmxNode?: string | undefined;\n\n constructor(data?: IColoredLightExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.coloredLightType = _data[\"coloredLightType\"];\n (this).philipsHueBridge = _data[\"philipsHueBridge\"];\n (this).philipsHueLamp = _data[\"philipsHueLamp\"];\n (this).philipsHueLampName = _data[\"philipsHueLampName\"];\n (this).lifxLamp = _data[\"lifxLamp\"];\n (this).dmxMacAddress = _data[\"dmxMacAddress\"];\n (this).dmxNode = _data[\"dmxNode\"];\n }\n }\n\n static fromJS(data: any): ColoredLightExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new ColoredLightExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"coloredLightType\"] = this.coloredLightType;\n data[\"philipsHueBridge\"] = this.philipsHueBridge;\n data[\"philipsHueLamp\"] = this.philipsHueLamp;\n data[\"philipsHueLampName\"] = this.philipsHueLampName;\n data[\"lifxLamp\"] = this.lifxLamp;\n data[\"dmxMacAddress\"] = this.dmxMacAddress;\n data[\"dmxNode\"] = this.dmxNode;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IColoredLightExtDevice extends IExtDevice {\n coloredLightType?: ColoredLightType;\n philipsHueBridge?: string | undefined;\n philipsHueLamp?: string | undefined;\n philipsHueLampName?: string | undefined;\n lifxLamp?: string | undefined;\n dmxMacAddress?: string | undefined;\n dmxNode?: string | undefined;\n}\n\n/** 0 = None 1 = PhilipsHue 2 = Lifx 3 = Dmx */\nexport enum ColoredLightType {\n None = 0,\n PhilipsHue = 1,\n Lifx = 2,\n Dmx = 3,\n}\n\n/** 0 = None 1 = Up 2 = Down */\nexport enum CommandDirection {\n None = 0,\n Up = 1,\n Down = 2,\n}\n\n/** 0 = None 1 = Generic1 2 = Generic2 3 = Generic3 4 = Generic4 5 = Generic5 6 = Generic6 7 = Generic7 8 = Generic8 9 = Generic9 10 = Day 11 = Night 12 = Entrance 13 = Exit 14 = Key 15 = Fan 16 = Ring 17 = A 18 = B 19 = C 20 = D 21 = E 22 = F 23 = G 24 = H 25 = I 26 = J 27 = K 28 = L 29 = M 30 = N 31 = O 32 = P 33 = Q 34 = R 35 = S 36 = T 37 = U 38 = V 39 = W 40 = X 41 = Y 42 = Z 43 = Zero 44 = One 45 = Two 46 = Three 47 = Four 48 = Five 49 = Six 50 = Seven 51 = Eight 52 = Nine 53 = DefaultLoad 54 = Disabled1M 55 = Disabled2M 56 = Disabled3M 57 = LightGroup 58 = Shutter 59 = DimmerP2P 60 = DimmerGroup 61 = Player 62 = Disabled1Mb 63 = Disabled3Mb 64 = C_wrong */\nexport enum CommandIcon {\n None = 0,\n Generic1 = 1,\n Generic2 = 2,\n Generic3 = 3,\n Generic4 = 4,\n Generic5 = 5,\n Generic6 = 6,\n Generic7 = 7,\n Generic8 = 8,\n Generic9 = 9,\n Day = 10,\n Night = 11,\n Entrance = 12,\n Exit = 13,\n Key = 14,\n Fan = 15,\n Ring = 16,\n A = 17,\n B = 18,\n C = 19,\n D = 20,\n E = 21,\n F = 22,\n G = 23,\n H = 24,\n I = 25,\n J = 26,\n K = 27,\n L = 28,\n M = 29,\n N = 30,\n O = 31,\n P = 32,\n Q = 33,\n R = 34,\n S = 35,\n T = 36,\n U = 37,\n V = 38,\n W = 39,\n X = 40,\n Y = 41,\n Z = 42,\n Zero = 43,\n One = 44,\n Two = 45,\n Three = 46,\n Four = 47,\n Five = 48,\n Six = 49,\n Seven = 50,\n Eight = 51,\n Nine = 52,\n DefaultLoad = 53,\n Disabled1M = 54,\n Disabled2M = 55,\n Disabled3M = 56,\n LightGroup = 57,\n Shutter = 58,\n DimmerP2P = 59,\n DimmerGroup = 60,\n Player = 61,\n Disabled1Mb = 62,\n Disabled3Mb = 63,\n C_wrong = 64,\n}\n\n/** 0 = HalfSecond 1 = TwoSecond */\nexport enum CommandOpeningTime {\n HalfSecond = 0,\n TwoSecond = 1,\n}\n\nexport class CommandSettings implements ICommandSettings {\n\n constructor(data?: ICommandSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): CommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new CommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data; \n }\n}\n\nexport interface ICommandSettings {\n}\n\n/** 0 = None 1 = Thermo 2 = Probe 3 = Actuator 4 = ShutterActuator 5 = DimmerActuator 6 = Command 7 = ShutterCommand 8 = ShutterActuatorCommand 9 = DimmerCommand 10 = SceneCommand 11 = Contact 12 = PlayerCommand 13 = BlindActuator 14 = MusicPlayer 15 = SensorCommand 16 = ColoredLight 17 = Xmeter 18 = DimmerDaliActuator 19 = GatewayDaliActuator 20 = EnergyMeter 21 = LoadCentralUnit 22 = LoadControlActuactor 23 = LoadControlCommand 24 = LockVDECommand 25 = ActuatorLockVDE 26 = StaircaseLightCommand 27 = FloorCallCommand */\nexport enum ComponentType {\n None = 0,\n Thermo = 1,\n Probe = 2,\n Actuator = 3,\n ShutterActuator = 4,\n DimmerActuator = 5,\n Command = 6,\n ShutterCommand = 7,\n ShutterActuatorCommand = 8,\n DimmerCommand = 9,\n SceneCommand = 10,\n Contact = 11,\n PlayerCommand = 12,\n BlindActuator = 13,\n MusicPlayer = 14,\n SensorCommand = 15,\n ColoredLight = 16,\n Xmeter = 17,\n DimmerDaliActuator = 18,\n GatewayDaliActuator = 19,\n EnergyMeter = 20,\n LoadCentralUnit = 21,\n LoadControlActuactor = 22,\n LoadControlCommand = 23,\n LockVDECommand = 24,\n ActuatorLockVDE = 25,\n StaircaseLightCommand = 26,\n FloorCallCommand = 27,\n}\n\n/** 0 = NoActuator 1 = NoCommand 2 = NoActuatorAndCommand 3 = NoProblem */\nexport enum CompromisedType {\n NoActuator = 0,\n NoCommand = 1,\n NoActuatorAndCommand = 2,\n NoProblem = 3,\n}\n\n/** 0 = None 1 = NormallyOpen 2 = NormallyClose */\nexport enum ConctactType {\n None = 0,\n NormallyOpen = 1,\n NormallyClose = 2,\n}\n\n/** 0 = None 1 = Mostrine 2 = Preset */\nexport enum ConfigurationType {\n None = 0,\n Mostrine = 1,\n Preset = 2,\n}\n\n/** 0 = NoAction 1 = Protection 2 = Manual 3 = PreviousState */\nexport enum ContactType {\n NoAction = 0,\n Protection = 1,\n Manual = 2,\n PreviousState = 3,\n}\n\n/** 0 = None 1 = DaliDimmer 2 = DaliGateway */\nexport enum DaliType {\n None = 0,\n DaliDimmer = 1,\n DaliGateway = 2,\n}\n\nexport class DateAndTimeTrigger extends Trigger implements IDateAndTimeTrigger {\n time?: string;\n weekDays?: WeekDay[] | undefined;\n\n constructor(data?: IDateAndTimeTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.time = _data[\"time\"];\n if (Array.isArray(_data[\"weekDays\"])) {\n this.weekDays = [] as any;\n for (let item of _data[\"weekDays\"])\n this.weekDays!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DateAndTimeTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new DateAndTimeTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"time\"] = this.time;\n if (Array.isArray(this.weekDays)) {\n data[\"weekDays\"] = [];\n for (let item of this.weekDays)\n data[\"weekDays\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDateAndTimeTrigger extends ITrigger {\n time?: string;\n weekDays?: WeekDay[] | undefined;\n}\n\nexport class DefaultDevicesSettingsDTO implements IDefaultDevicesSettingsDTO {\n deviceUid?: string | undefined;\n thermoProbeSettings?: ThermoProbeSettingsObjectParam;\n shuttersActuatorSettings?: ShuttersActuatorSettingsObjectParam;\n lightsActuatorSettings?: LightsActuatorSettingsObjectDTO;\n lockCommandSettings?: LockCommandSettingsObjectDTO;\n lockActuatorSettings?: LockActuatorSettingsObjectParam;\n lightsCommandSettings?: LightsCommandSettingsObjectDTO;\n shuttersCommandSettings?: ShuttersCommandSettingsObjectDTO;\n selectedCommandIcon?: CommandIcon;\n hasChangeIconButtonVisible?: boolean;\n activeLinksLabel?: string | undefined;\n selectedComponentType?: ComponentType;\n thermoActuatorType?: ThermoActuatorType;\n isAggregateRoomObject?: boolean;\n roomType?: RoomType;\n identifier?: string | undefined;\n\n constructor(data?: IDefaultDevicesSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceUid = _data[\"deviceUid\"];\n this.thermoProbeSettings = _data[\"thermoProbeSettings\"] ? ThermoProbeSettingsObjectParam.fromJS(_data[\"thermoProbeSettings\"]) : undefined;\n this.shuttersActuatorSettings = _data[\"shuttersActuatorSettings\"] ? ShuttersActuatorSettingsObjectParam.fromJS(_data[\"shuttersActuatorSettings\"]) : undefined;\n this.lightsActuatorSettings = _data[\"lightsActuatorSettings\"] ? LightsActuatorSettingsObjectDTO.fromJS(_data[\"lightsActuatorSettings\"]) : undefined;\n this.lockCommandSettings = _data[\"lockCommandSettings\"] ? LockCommandSettingsObjectDTO.fromJS(_data[\"lockCommandSettings\"]) : undefined;\n this.lockActuatorSettings = _data[\"lockActuatorSettings\"] ? LockActuatorSettingsObjectParam.fromJS(_data[\"lockActuatorSettings\"]) : undefined;\n this.lightsCommandSettings = _data[\"lightsCommandSettings\"] ? LightsCommandSettingsObjectDTO.fromJS(_data[\"lightsCommandSettings\"]) : undefined;\n this.shuttersCommandSettings = _data[\"shuttersCommandSettings\"] ? ShuttersCommandSettingsObjectDTO.fromJS(_data[\"shuttersCommandSettings\"]) : undefined;\n this.selectedCommandIcon = _data[\"selectedCommandIcon\"];\n this.hasChangeIconButtonVisible = _data[\"hasChangeIconButtonVisible\"];\n this.activeLinksLabel = _data[\"activeLinksLabel\"];\n this.selectedComponentType = _data[\"selectedComponentType\"];\n this.thermoActuatorType = _data[\"thermoActuatorType\"];\n this.isAggregateRoomObject = _data[\"isAggregateRoomObject\"];\n this.roomType = _data[\"roomType\"];\n this.identifier = _data[\"identifier\"];\n }\n }\n\n static fromJS(data: any): DefaultDevicesSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DefaultDevicesSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceUid\"] = this.deviceUid;\n data[\"thermoProbeSettings\"] = this.thermoProbeSettings ? this.thermoProbeSettings.toJSON() : undefined;\n data[\"shuttersActuatorSettings\"] = this.shuttersActuatorSettings ? this.shuttersActuatorSettings.toJSON() : undefined;\n data[\"lightsActuatorSettings\"] = this.lightsActuatorSettings ? this.lightsActuatorSettings.toJSON() : undefined;\n data[\"lockCommandSettings\"] = this.lockCommandSettings ? this.lockCommandSettings.toJSON() : undefined;\n data[\"lockActuatorSettings\"] = this.lockActuatorSettings ? this.lockActuatorSettings.toJSON() : undefined;\n data[\"lightsCommandSettings\"] = this.lightsCommandSettings ? this.lightsCommandSettings.toJSON() : undefined;\n data[\"shuttersCommandSettings\"] = this.shuttersCommandSettings ? this.shuttersCommandSettings.toJSON() : undefined;\n data[\"selectedCommandIcon\"] = this.selectedCommandIcon;\n data[\"hasChangeIconButtonVisible\"] = this.hasChangeIconButtonVisible;\n data[\"activeLinksLabel\"] = this.activeLinksLabel;\n data[\"selectedComponentType\"] = this.selectedComponentType;\n data[\"thermoActuatorType\"] = this.thermoActuatorType;\n data[\"isAggregateRoomObject\"] = this.isAggregateRoomObject;\n data[\"roomType\"] = this.roomType;\n data[\"identifier\"] = this.identifier;\n return data; \n }\n}\n\nexport interface IDefaultDevicesSettingsDTO {\n deviceUid?: string | undefined;\n thermoProbeSettings?: ThermoProbeSettingsObjectParam;\n shuttersActuatorSettings?: ShuttersActuatorSettingsObjectParam;\n lightsActuatorSettings?: LightsActuatorSettingsObjectDTO;\n lockCommandSettings?: LockCommandSettingsObjectDTO;\n lockActuatorSettings?: LockActuatorSettingsObjectParam;\n lightsCommandSettings?: LightsCommandSettingsObjectDTO;\n shuttersCommandSettings?: ShuttersCommandSettingsObjectDTO;\n selectedCommandIcon?: CommandIcon;\n hasChangeIconButtonVisible?: boolean;\n activeLinksLabel?: string | undefined;\n selectedComponentType?: ComponentType;\n thermoActuatorType?: ThermoActuatorType;\n isAggregateRoomObject?: boolean;\n roomType?: RoomType;\n identifier?: string | undefined;\n}\n\nexport class ObjectAction extends Action implements IObjectAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n sceneShutterState?: SceneShutterState;\n sceneShutterPosition?: number;\n isShutterPositionManagement?: boolean;\n sceneSocketState?: SceneSocketState;\n sceneBlindState?: SceneBlindState;\n sceneLockState?: SceneLockState;\n thermostatStatus?: ThermostatStatus;\n thermostatTypeOfObject?: ThermoTypeOfObject;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermostatTriggerTemperature?: number;\n sceneFancoilState?: SceneFancoilState;\n fancoilSpeed?: number;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceType?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n alarmPin?: string | undefined;\n alarmPartitions?: Action[] | undefined;\n alarmPartitionStatus?: AlarmPartitionStatus;\n alarmSensorStatusScene?: AlarmSensorStatusScene;\n alarmPartitionorSceneId?: string | undefined;\n alarmType?: AlarmType;\n duration?: number | undefined;\n delay?: number | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n\n constructor(data?: IObjectAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.sceneLightState = _data[\"sceneLightState\"];\n this.dimmerStatus = _data[\"dimmerStatus\"];\n this.dimmerPercentage = _data[\"dimmerPercentage\"];\n this.dimmerFadeIn = _data[\"dimmerFadeIn\"];\n this.dimmerFadeOut = _data[\"dimmerFadeOut\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.workingMode = _data[\"workingMode\"];\n this.temperature = _data[\"temperature\"];\n this.sceneShutterState = _data[\"sceneShutterState\"];\n this.sceneShutterPosition = _data[\"sceneShutterPosition\"];\n this.isShutterPositionManagement = _data[\"isShutterPositionManagement\"];\n this.sceneSocketState = _data[\"sceneSocketState\"];\n this.sceneBlindState = _data[\"sceneBlindState\"];\n this.sceneLockState = _data[\"sceneLockState\"];\n this.thermostatStatus = _data[\"thermostatStatus\"];\n this.thermostatTypeOfObject = _data[\"thermostatTypeOfObject\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n this.thermostatTriggerTemperature = _data[\"thermostatTriggerTemperature\"];\n this.sceneFancoilState = _data[\"sceneFancoilState\"];\n this.fancoilSpeed = _data[\"fancoilSpeed\"];\n this.sceneTowelWarmerState = _data[\"sceneTowelWarmerState\"];\n this.sceneColoredLightsState = _data[\"sceneColoredLightsState\"];\n this.coloredLightsIntensity = _data[\"coloredLightsIntensity\"];\n this.coloredLightsTemperature = _data[\"coloredLightsTemperature\"];\n this.coloredLightsColor = _data[\"coloredLightsColor\"];\n this.scenePlayerState = _data[\"scenePlayerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.playerSourceType = _data[\"playerSourceType\"];\n this.playerSourceId = _data[\"playerSourceId\"];\n this.playerSourceDescription = _data[\"playerSourceDescription\"];\n this.alarmPin = _data[\"alarmPin\"];\n if (Array.isArray(_data[\"alarmPartitions\"])) {\n this.alarmPartitions = [] as any;\n for (let item of _data[\"alarmPartitions\"])\n this.alarmPartitions!.push(Action.fromJS(item));\n }\n this.alarmPartitionStatus = _data[\"alarmPartitionStatus\"];\n this.alarmSensorStatusScene = _data[\"alarmSensorStatusScene\"];\n this.alarmPartitionorSceneId = _data[\"alarmPartitionorSceneId\"];\n this.alarmType = _data[\"alarmType\"];\n this.duration = _data[\"duration\"];\n this.delay = _data[\"delay\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n }\n }\n\n static fromJS(data: any): ObjectAction {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"sceneLightState\"] = this.sceneLightState;\n data[\"dimmerStatus\"] = this.dimmerStatus;\n data[\"dimmerPercentage\"] = this.dimmerPercentage;\n data[\"dimmerFadeIn\"] = this.dimmerFadeIn;\n data[\"dimmerFadeOut\"] = this.dimmerFadeOut;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"workingMode\"] = this.workingMode;\n data[\"temperature\"] = this.temperature;\n data[\"sceneShutterState\"] = this.sceneShutterState;\n data[\"sceneShutterPosition\"] = this.sceneShutterPosition;\n data[\"isShutterPositionManagement\"] = this.isShutterPositionManagement;\n data[\"sceneSocketState\"] = this.sceneSocketState;\n data[\"sceneBlindState\"] = this.sceneBlindState;\n data[\"sceneLockState\"] = this.sceneLockState;\n data[\"thermostatStatus\"] = this.thermostatStatus;\n data[\"thermostatTypeOfObject\"] = this.thermostatTypeOfObject;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n data[\"thermostatTriggerTemperature\"] = this.thermostatTriggerTemperature;\n data[\"sceneFancoilState\"] = this.sceneFancoilState;\n data[\"fancoilSpeed\"] = this.fancoilSpeed;\n data[\"sceneTowelWarmerState\"] = this.sceneTowelWarmerState;\n data[\"sceneColoredLightsState\"] = this.sceneColoredLightsState;\n data[\"coloredLightsIntensity\"] = this.coloredLightsIntensity;\n data[\"coloredLightsTemperature\"] = this.coloredLightsTemperature;\n data[\"coloredLightsColor\"] = this.coloredLightsColor;\n data[\"scenePlayerState\"] = this.scenePlayerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"playerSourceType\"] = this.playerSourceType;\n data[\"playerSourceId\"] = this.playerSourceId;\n data[\"playerSourceDescription\"] = this.playerSourceDescription;\n data[\"alarmPin\"] = this.alarmPin;\n if (Array.isArray(this.alarmPartitions)) {\n data[\"alarmPartitions\"] = [];\n for (let item of this.alarmPartitions)\n data[\"alarmPartitions\"].push(item.toJSON());\n }\n data[\"alarmPartitionStatus\"] = this.alarmPartitionStatus;\n data[\"alarmSensorStatusScene\"] = this.alarmSensorStatusScene;\n data[\"alarmPartitionorSceneId\"] = this.alarmPartitionorSceneId;\n data[\"alarmType\"] = this.alarmType;\n data[\"duration\"] = this.duration;\n data[\"delay\"] = this.delay;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectAction extends IAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n dimmerStatus?: DimmerStatus;\n dimmerPercentage?: number;\n dimmerFadeIn?: number;\n dimmerFadeOut?: number;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n sceneShutterState?: SceneShutterState;\n sceneShutterPosition?: number;\n isShutterPositionManagement?: boolean;\n sceneSocketState?: SceneSocketState;\n sceneBlindState?: SceneBlindState;\n sceneLockState?: SceneLockState;\n thermostatStatus?: ThermostatStatus;\n thermostatTypeOfObject?: ThermoTypeOfObject;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermostatTriggerTemperature?: number;\n sceneFancoilState?: SceneFancoilState;\n fancoilSpeed?: number;\n sceneTowelWarmerState?: SceneTowelWarmerState;\n sceneColoredLightsState?: SceneColoredLightsState;\n coloredLightsIntensity?: number;\n coloredLightsTemperature?: number;\n coloredLightsColor?: number;\n scenePlayerState?: ScenePlayerState;\n playerVolume?: number;\n playerSourceType?: number;\n playerSourceId?: string | undefined;\n playerSourceDescription?: string | undefined;\n alarmPin?: string | undefined;\n alarmPartitions?: Action[] | undefined;\n alarmPartitionStatus?: AlarmPartitionStatus;\n alarmSensorStatusScene?: AlarmSensorStatusScene;\n alarmPartitionorSceneId?: string | undefined;\n alarmType?: AlarmType;\n duration?: number | undefined;\n delay?: number | undefined;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n}\n\nexport class DefaultObjectAction extends ObjectAction implements IDefaultObjectAction {\n isEnabled?: boolean;\n\n constructor(data?: IDefaultObjectAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n }\n }\n\n static fromJS(data: any): DefaultObjectAction {\n data = typeof data === 'object' ? data : {};\n let result = new DefaultObjectAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDefaultObjectAction extends IObjectAction {\n isEnabled?: boolean;\n}\n\nexport class DelayValue implements IDelayValue {\n value?: number;\n description?: string | undefined;\n\n constructor(data?: IDelayValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): DelayValue {\n data = typeof data === 'object' ? data : {};\n let result = new DelayValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"description\"] = this.description;\n return data; \n }\n}\n\nexport interface IDelayValue {\n value?: number;\n description?: string | undefined;\n}\n\nexport class Device implements IDevice {\n uid?: string | undefined;\n id?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n hasSubModule?: boolean;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isF422Acompatible?: boolean;\n problemType?: ProblemType;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n thermoSystemControlType?: SystemControlType[] | undefined;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n interface?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n hasChanges?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n firmwareVersion?: Version;\n\n constructor(data?: IDevice) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uid = _data[\"uid\"];\n this.id = _data[\"id\"];\n this.model = _data[\"model\"];\n this.modelObject = _data[\"modelObject\"];\n this.hasSubModule = _data[\"hasSubModule\"];\n this.isManaged = _data[\"isManaged\"];\n this.isShutterWithPosition = _data[\"isShutterWithPosition\"];\n this.canHandlePreset = _data[\"canHandlePreset\"];\n this.isAnomaly = _data[\"isAnomaly\"];\n this.isBlocking = _data[\"isBlocking\"];\n this.isF422Acompatible = _data[\"isF422Acompatible\"];\n this.problemType = _data[\"problemType\"];\n this.isIgnored = _data[\"isIgnored\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(Slot.fromJS(item));\n }\n this.functionType = _data[\"functionType\"];\n this.systemType = _data[\"systemType\"];\n if (Array.isArray(_data[\"componentTypes\"])) {\n this.componentTypes = [] as any;\n for (let item of _data[\"componentTypes\"])\n this.componentTypes!.push(item);\n }\n this.isDoubleDimmer = _data[\"isDoubleDimmer\"];\n this.canHandleDoubleDimmer = _data[\"canHandleDoubleDimmer\"];\n if (Array.isArray(_data[\"thermoSystemControlType\"])) {\n this.thermoSystemControlType = [] as any;\n for (let item of _data[\"thermoSystemControlType\"])\n this.thermoSystemControlType!.push(item);\n }\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.interface = _data[\"interface\"];\n this.ledModality = _data[\"ledModality\"];\n this.hasRefresherFeedback = _data[\"hasRefresherFeedback\"];\n this.hasChanges = _data[\"hasChanges\"];\n this.fwVersion = _data[\"fwVersion\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n this.firmwareVersion = _data[\"firmwareVersion\"] ? Version.fromJS(_data[\"firmwareVersion\"]) : undefined;\n }\n }\n\n static fromJS(data: any): Device {\n data = typeof data === 'object' ? data : {};\n let result = new Device();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uid\"] = this.uid;\n data[\"id\"] = this.id;\n data[\"model\"] = this.model;\n data[\"modelObject\"] = this.modelObject;\n data[\"hasSubModule\"] = this.hasSubModule;\n data[\"isManaged\"] = this.isManaged;\n data[\"isShutterWithPosition\"] = this.isShutterWithPosition;\n data[\"canHandlePreset\"] = this.canHandlePreset;\n data[\"isAnomaly\"] = this.isAnomaly;\n data[\"isBlocking\"] = this.isBlocking;\n data[\"isF422Acompatible\"] = this.isF422Acompatible;\n data[\"problemType\"] = this.problemType;\n data[\"isIgnored\"] = this.isIgnored;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"functionType\"] = this.functionType;\n data[\"systemType\"] = this.systemType;\n if (Array.isArray(this.componentTypes)) {\n data[\"componentTypes\"] = [];\n for (let item of this.componentTypes)\n data[\"componentTypes\"].push(item);\n }\n data[\"isDoubleDimmer\"] = this.isDoubleDimmer;\n data[\"canHandleDoubleDimmer\"] = this.canHandleDoubleDimmer;\n if (Array.isArray(this.thermoSystemControlType)) {\n data[\"thermoSystemControlType\"] = [];\n for (let item of this.thermoSystemControlType)\n data[\"thermoSystemControlType\"].push(item);\n }\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"interface\"] = this.interface;\n data[\"ledModality\"] = this.ledModality;\n data[\"hasRefresherFeedback\"] = this.hasRefresherFeedback;\n data[\"hasChanges\"] = this.hasChanges;\n data[\"fwVersion\"] = this.fwVersion;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n data[\"firmwareVersion\"] = this.firmwareVersion ? this.firmwareVersion.toJSON() : undefined;\n return data; \n }\n}\n\nexport interface IDevice {\n uid?: string | undefined;\n id?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n hasSubModule?: boolean;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isF422Acompatible?: boolean;\n problemType?: ProblemType;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n thermoSystemControlType?: SystemControlType[] | undefined;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n interface?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n hasChanges?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n firmwareVersion?: Version;\n}\n\n/** 0 = None 1 = Min 2 = Max 3 = Med 4 = Off */\nexport enum DeviceBrightness {\n None = 0,\n Min = 1,\n Max = 2,\n Med = 3,\n Off = 4,\n}\n\nexport class DeviceDTO implements IDeviceDTO {\n uid?: string | undefined;\n id?: string | undefined;\n name?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n problemType?: ProblemType;\n readonly isActuatorDevice?: boolean;\n readonly isCommandDevice?: boolean;\n readonly isThermostatDevice?: boolean;\n readonly isThermoProbeDevice?: boolean;\n readonly isAssigned?: boolean;\n readonly isAssignedCommand?: boolean;\n readonly isAssignedActuator?: boolean;\n readonly isAssignedActuatorAndCommand?: boolean;\n selectedComponentType?: ComponentType;\n settingsVisibility?: DeviceSettingsVisibilityDTO;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n defaultSettings?: DefaultDevicesSettingsDTO[] | undefined;\n\n constructor(data?: IDeviceDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uid = _data[\"uid\"];\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.model = _data[\"model\"];\n this.modelObject = _data[\"modelObject\"];\n this.isManaged = _data[\"isManaged\"];\n this.isShutterWithPosition = _data[\"isShutterWithPosition\"];\n this.canHandlePreset = _data[\"canHandlePreset\"];\n this.isAnomaly = _data[\"isAnomaly\"];\n this.isBlocking = _data[\"isBlocking\"];\n this.isIgnored = _data[\"isIgnored\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(Slot.fromJS(item));\n }\n this.functionType = _data[\"functionType\"];\n this.systemType = _data[\"systemType\"];\n if (Array.isArray(_data[\"componentTypes\"])) {\n this.componentTypes = [] as any;\n for (let item of _data[\"componentTypes\"])\n this.componentTypes!.push(item);\n }\n this.isDoubleDimmer = _data[\"isDoubleDimmer\"];\n this.canHandleDoubleDimmer = _data[\"canHandleDoubleDimmer\"];\n this.problemType = _data[\"problemType\"];\n (this).isActuatorDevice = _data[\"isActuatorDevice\"];\n (this).isCommandDevice = _data[\"isCommandDevice\"];\n (this).isThermostatDevice = _data[\"isThermostatDevice\"];\n (this).isThermoProbeDevice = _data[\"isThermoProbeDevice\"];\n (this).isAssigned = _data[\"isAssigned\"];\n (this).isAssignedCommand = _data[\"isAssignedCommand\"];\n (this).isAssignedActuator = _data[\"isAssignedActuator\"];\n (this).isAssignedActuatorAndCommand = _data[\"isAssignedActuatorAndCommand\"];\n this.selectedComponentType = _data[\"selectedComponentType\"];\n this.settingsVisibility = _data[\"settingsVisibility\"] ? DeviceSettingsVisibilityDTO.fromJS(_data[\"settingsVisibility\"]) : undefined;\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.hasRefresherFeedback = _data[\"hasRefresherFeedback\"];\n this.fwVersion = _data[\"fwVersion\"];\n if (_data[\"deviceConfiguration\"]) {\n this.deviceConfiguration = {} as any;\n for (let key in _data[\"deviceConfiguration\"]) {\n if (_data[\"deviceConfiguration\"].hasOwnProperty(key))\n (this.deviceConfiguration)![key] = _data[\"deviceConfiguration\"][key];\n }\n }\n if (Array.isArray(_data[\"defaultSettings\"])) {\n this.defaultSettings = [] as any;\n for (let item of _data[\"defaultSettings\"])\n this.defaultSettings!.push(DefaultDevicesSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DeviceDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uid\"] = this.uid;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"model\"] = this.model;\n data[\"modelObject\"] = this.modelObject;\n data[\"isManaged\"] = this.isManaged;\n data[\"isShutterWithPosition\"] = this.isShutterWithPosition;\n data[\"canHandlePreset\"] = this.canHandlePreset;\n data[\"isAnomaly\"] = this.isAnomaly;\n data[\"isBlocking\"] = this.isBlocking;\n data[\"isIgnored\"] = this.isIgnored;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"functionType\"] = this.functionType;\n data[\"systemType\"] = this.systemType;\n if (Array.isArray(this.componentTypes)) {\n data[\"componentTypes\"] = [];\n for (let item of this.componentTypes)\n data[\"componentTypes\"].push(item);\n }\n data[\"isDoubleDimmer\"] = this.isDoubleDimmer;\n data[\"canHandleDoubleDimmer\"] = this.canHandleDoubleDimmer;\n data[\"problemType\"] = this.problemType;\n data[\"isActuatorDevice\"] = this.isActuatorDevice;\n data[\"isCommandDevice\"] = this.isCommandDevice;\n data[\"isThermostatDevice\"] = this.isThermostatDevice;\n data[\"isThermoProbeDevice\"] = this.isThermoProbeDevice;\n data[\"isAssigned\"] = this.isAssigned;\n data[\"isAssignedCommand\"] = this.isAssignedCommand;\n data[\"isAssignedActuator\"] = this.isAssignedActuator;\n data[\"isAssignedActuatorAndCommand\"] = this.isAssignedActuatorAndCommand;\n data[\"selectedComponentType\"] = this.selectedComponentType;\n data[\"settingsVisibility\"] = this.settingsVisibility ? this.settingsVisibility.toJSON() : undefined;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"hasRefresherFeedback\"] = this.hasRefresherFeedback;\n data[\"fwVersion\"] = this.fwVersion;\n if (this.deviceConfiguration) {\n data[\"deviceConfiguration\"] = {};\n for (let key in this.deviceConfiguration) {\n if (this.deviceConfiguration.hasOwnProperty(key))\n (data[\"deviceConfiguration\"])[key] = this.deviceConfiguration[key];\n }\n }\n if (Array.isArray(this.defaultSettings)) {\n data[\"defaultSettings\"] = [];\n for (let item of this.defaultSettings)\n data[\"defaultSettings\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IDeviceDTO {\n uid?: string | undefined;\n id?: string | undefined;\n name?: string | undefined;\n model?: string | undefined;\n modelObject?: string | undefined;\n isManaged?: boolean;\n isShutterWithPosition?: boolean;\n canHandlePreset?: boolean;\n isAnomaly?: boolean;\n isBlocking?: boolean;\n isIgnored?: boolean;\n slots?: Slot[] | undefined;\n functionType?: FunctionType;\n systemType?: SystemType;\n componentTypes?: ComponentType[] | undefined;\n isDoubleDimmer?: boolean;\n canHandleDoubleDimmer?: boolean;\n problemType?: ProblemType;\n isActuatorDevice?: boolean;\n isCommandDevice?: boolean;\n isThermostatDevice?: boolean;\n isThermoProbeDevice?: boolean;\n isAssigned?: boolean;\n isAssignedCommand?: boolean;\n isAssignedActuator?: boolean;\n isAssignedActuatorAndCommand?: boolean;\n selectedComponentType?: ComponentType;\n settingsVisibility?: DeviceSettingsVisibilityDTO;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n deviceIconsVisibility?: DeviceIconsVisibility;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n hasRefresherFeedback?: boolean;\n fwVersion?: string | undefined;\n deviceConfiguration?: { [key: string]: string; } | undefined;\n defaultSettings?: DefaultDevicesSettingsDTO[] | undefined;\n}\n\n/** 0 = None 1 = AtTouch 2 = Always */\nexport enum DeviceIconsVisibility {\n None = 0,\n AtTouch = 1,\n Always = 2,\n}\n\n/** 0 = On 1 = OnDuringUpdate 2 = Off */\nexport enum DeviceLedModality {\n On = 0,\n OnDuringUpdate = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Min 2 = Med 3 = Max */\nexport enum DeviceProximity {\n None = 0,\n Min = 1,\n Med = 2,\n Max = 3,\n}\n\nexport class DeviceSettingsVisibilityDTO implements IDeviceSettingsVisibilityDTO {\n hasSettings?: boolean;\n hasBrightness?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntensity?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n\n constructor(data?: IDeviceSettingsVisibilityDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasSettings = _data[\"hasSettings\"];\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntensity = _data[\"hasLedIntensity\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n }\n }\n\n static fromJS(data: any): DeviceSettingsVisibilityDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceSettingsVisibilityDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasSettings\"] = this.hasSettings;\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntensity\"] = this.hasLedIntensity;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n return data; \n }\n}\n\nexport interface IDeviceSettingsVisibilityDTO {\n hasSettings?: boolean;\n hasBrightness?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntensity?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n}\n\nexport class DimmerDaliActuatorSettings extends ActuatorSettings implements IDimmerDaliActuatorSettings {\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n hasPUL?: boolean;\n loadDaliTypes?: BitmaskDaliLoadTypes[] | undefined;\n\n constructor(data?: IDimmerDaliActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.loadType = _data[\"loadType\"];\n this.hasPUL = _data[\"hasPUL\"];\n if (Array.isArray(_data[\"loadDaliTypes\"])) {\n this.loadDaliTypes = [] as any;\n for (let item of _data[\"loadDaliTypes\"])\n this.loadDaliTypes!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DimmerDaliActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new DimmerDaliActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"loadType\"] = this.loadType;\n data[\"hasPUL\"] = this.hasPUL;\n if (Array.isArray(this.loadDaliTypes)) {\n data[\"loadDaliTypes\"] = [];\n for (let item of this.loadDaliTypes)\n data[\"loadDaliTypes\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IDimmerDaliActuatorSettings extends IActuatorSettings {\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n loadType?: LightsLoadTypes;\n hasPUL?: boolean;\n loadDaliTypes?: BitmaskDaliLoadTypes[] | undefined;\n}\n\n/** 0 = None 1 = On 2 = Off 3 = Dimmer */\nexport enum DimmerStatus {\n None = 0,\n On = 1,\n Off = 2,\n Dimmer = 3,\n}\n\n/** 0 = None 1 = Any 2 = WhiteTemperature 3 = ColorTemperature */\nexport enum DimmerWorkingMode {\n None = 0,\n Any = 1,\n WhiteTemperature = 2,\n ColorTemperature = 3,\n}\n\nexport class EMailAction extends Action implements IEMailAction {\n\n constructor(data?: IEMailAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): EMailAction {\n data = typeof data === 'object' ? data : {};\n let result = new EMailAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IEMailAction extends IAction {\n}\n\n/** 0 = None 1 = Socket 2 = Light 3 = Kitchenappliances 4 = Shutter 5 = Heating 6 = Boiler 7 = Airconditioner 8 = Other 9 = Fridge 10 = Oven 11 = Washingmachine 12 = Dryer 13 = Dishwasher 14 = Multimedia 15 = Internetbox */\nexport enum EnergyMeterAndLoadControlType {\n None = 0,\n Socket = 1,\n Light = 2,\n Kitchenappliances = 3,\n Shutter = 4,\n Heating = 5,\n Boiler = 6,\n Airconditioner = 7,\n Other = 8,\n Fridge = 9,\n Oven = 10,\n Washingmachine = 11,\n Dryer = 12,\n Dishwasher = 13,\n Multimedia = 14,\n Internetbox = 15,\n}\n\n/** 0 = ColoredLight 1 = Xmeter 2 = Player 3 = AlarmCentralUnit 4 = AlarmSensor 5 = DimmerDmx */\nexport enum ExtComponentType {\n ColoredLight = 0,\n Xmeter = 1,\n Player = 2,\n AlarmCentralUnit = 3,\n AlarmSensor = 4,\n DimmerDmx = 5,\n}\n\n/** 0 = Bticino 1 = Vantage */\nexport enum ExternalSensorType {\n Bticino = 0,\n Vantage = 1,\n}\n\n/** 0 = All 1 = Thermo 2 = Automation 3 = Energy 4 = Security 5 = Integration 6 = AllAndGateway 7 = OnlyGateway 8 = Nd */\nexport enum FunctionType {\n All = 0,\n Thermo = 1,\n Automation = 2,\n Energy = 3,\n Security = 4,\n Integration = 5,\n AllAndGateway = 6,\n OnlyGateway = 7,\n Nd = 8,\n}\n\nexport class GeneralCommandsAndGroupsAction extends Action implements IGeneralCommandsAndGroupsAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n\n constructor(data?: IGeneralCommandsAndGroupsAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.sceneLightState = _data[\"sceneLightState\"];\n this.sceneShutterState = _data[\"sceneShutterState\"];\n this.sceneBlindState = _data[\"sceneBlindState\"];\n this.sceneSocketState = _data[\"sceneSocketState\"];\n }\n }\n\n static fromJS(data: any): GeneralCommandsAndGroupsAction {\n data = typeof data === 'object' ? data : {};\n let result = new GeneralCommandsAndGroupsAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"sceneLightState\"] = this.sceneLightState;\n data[\"sceneShutterState\"] = this.sceneShutterState;\n data[\"sceneBlindState\"] = this.sceneBlindState;\n data[\"sceneSocketState\"] = this.sceneSocketState;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IGeneralCommandsAndGroupsAction extends IAction {\n linkableObjectId?: string | undefined;\n sceneLightState?: SceneLightState;\n sceneShutterState?: SceneShutterState;\n sceneBlindState?: SceneBlindState;\n sceneSocketState?: SceneSocketState;\n}\n\n/** 0 = None 1 = OnOff 2 = Dimmer */\nexport enum LightType {\n None = 0,\n OnOff = 1,\n Dimmer = 2,\n}\n\nexport class LightsActuatorItemSettingsDTO implements ILightsActuatorItemSettingsDTO {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelSelectedPickerValue?: SimpleIntPickerValue;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n isGroupZeroCrossingVisible?: boolean;\n isZeroCrossing1EnabledFollow2?: boolean;\n isZeroCrossing1DisabledFollow2?: boolean;\n isZeroCrossing2EnabledFollow1?: boolean;\n isZeroCrossing2DisabledFollow1?: boolean;\n isGroupRelayStatusAfterResetVisible?: boolean;\n isGroupRestoreStatusAfterResetVisible?: boolean;\n isGroupMinimumRegulationLevelVisible?: boolean;\n isGroupLoadTypeVisible?: boolean;\n hasLoadTypesForGroup7?: boolean;\n hasLoadTypesForGroup9?: boolean;\n isGroupVoltageVisible?: boolean;\n isGroupPULVisible?: boolean;\n saveTo?: number[] | undefined;\n minimumRegulationLevelPickerValues?: SimpleIntPickerValue[] | undefined;\n isGroupMinimumRegulationLevelToggleVisible?: boolean;\n isZeroCrossingWarningVisible?: boolean;\n\n constructor(data?: ILightsActuatorItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n this.relayStatusAfterReset = _data[\"relayStatusAfterReset\"];\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.minimumRegulationLevelSelectedPickerValue = _data[\"minimumRegulationLevelSelectedPickerValue\"] ? SimpleIntPickerValue.fromJS(_data[\"minimumRegulationLevelSelectedPickerValue\"]) : undefined;\n this.loadType = _data[\"loadType\"];\n this.voltageType = _data[\"voltageType\"];\n this.hasPUL = _data[\"hasPUL\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.isGroupZeroCrossingVisible = _data[\"isGroupZeroCrossingVisible\"];\n this.isZeroCrossing1EnabledFollow2 = _data[\"isZeroCrossing1EnabledFollow2\"];\n this.isZeroCrossing1DisabledFollow2 = _data[\"isZeroCrossing1DisabledFollow2\"];\n this.isZeroCrossing2EnabledFollow1 = _data[\"isZeroCrossing2EnabledFollow1\"];\n this.isZeroCrossing2DisabledFollow1 = _data[\"isZeroCrossing2DisabledFollow1\"];\n this.isGroupRelayStatusAfterResetVisible = _data[\"isGroupRelayStatusAfterResetVisible\"];\n this.isGroupRestoreStatusAfterResetVisible = _data[\"isGroupRestoreStatusAfterResetVisible\"];\n this.isGroupMinimumRegulationLevelVisible = _data[\"isGroupMinimumRegulationLevelVisible\"];\n this.isGroupLoadTypeVisible = _data[\"isGroupLoadTypeVisible\"];\n this.hasLoadTypesForGroup7 = _data[\"hasLoadTypesForGroup7\"];\n this.hasLoadTypesForGroup9 = _data[\"hasLoadTypesForGroup9\"];\n this.isGroupVoltageVisible = _data[\"isGroupVoltageVisible\"];\n this.isGroupPULVisible = _data[\"isGroupPULVisible\"];\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n if (Array.isArray(_data[\"minimumRegulationLevelPickerValues\"])) {\n this.minimumRegulationLevelPickerValues = [] as any;\n for (let item of _data[\"minimumRegulationLevelPickerValues\"])\n this.minimumRegulationLevelPickerValues!.push(SimpleIntPickerValue.fromJS(item));\n }\n this.isGroupMinimumRegulationLevelToggleVisible = _data[\"isGroupMinimumRegulationLevelToggleVisible\"];\n this.isZeroCrossingWarningVisible = _data[\"isZeroCrossingWarningVisible\"];\n }\n }\n\n static fromJS(data: any): LightsActuatorItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n data[\"relayStatusAfterReset\"] = this.relayStatusAfterReset;\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"minimumRegulationLevelSelectedPickerValue\"] = this.minimumRegulationLevelSelectedPickerValue ? this.minimumRegulationLevelSelectedPickerValue.toJSON() : undefined;\n data[\"loadType\"] = this.loadType;\n data[\"voltageType\"] = this.voltageType;\n data[\"hasPUL\"] = this.hasPUL;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"isGroupZeroCrossingVisible\"] = this.isGroupZeroCrossingVisible;\n data[\"isZeroCrossing1EnabledFollow2\"] = this.isZeroCrossing1EnabledFollow2;\n data[\"isZeroCrossing1DisabledFollow2\"] = this.isZeroCrossing1DisabledFollow2;\n data[\"isZeroCrossing2EnabledFollow1\"] = this.isZeroCrossing2EnabledFollow1;\n data[\"isZeroCrossing2DisabledFollow1\"] = this.isZeroCrossing2DisabledFollow1;\n data[\"isGroupRelayStatusAfterResetVisible\"] = this.isGroupRelayStatusAfterResetVisible;\n data[\"isGroupRestoreStatusAfterResetVisible\"] = this.isGroupRestoreStatusAfterResetVisible;\n data[\"isGroupMinimumRegulationLevelVisible\"] = this.isGroupMinimumRegulationLevelVisible;\n data[\"isGroupLoadTypeVisible\"] = this.isGroupLoadTypeVisible;\n data[\"hasLoadTypesForGroup7\"] = this.hasLoadTypesForGroup7;\n data[\"hasLoadTypesForGroup9\"] = this.hasLoadTypesForGroup9;\n data[\"isGroupVoltageVisible\"] = this.isGroupVoltageVisible;\n data[\"isGroupPULVisible\"] = this.isGroupPULVisible;\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n if (Array.isArray(this.minimumRegulationLevelPickerValues)) {\n data[\"minimumRegulationLevelPickerValues\"] = [];\n for (let item of this.minimumRegulationLevelPickerValues)\n data[\"minimumRegulationLevelPickerValues\"].push(item.toJSON());\n }\n data[\"isGroupMinimumRegulationLevelToggleVisible\"] = this.isGroupMinimumRegulationLevelToggleVisible;\n data[\"isZeroCrossingWarningVisible\"] = this.isZeroCrossingWarningVisible;\n return data; \n }\n}\n\nexport interface ILightsActuatorItemSettingsDTO {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelSelectedPickerValue?: SimpleIntPickerValue;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n isGroupZeroCrossingVisible?: boolean;\n isZeroCrossing1EnabledFollow2?: boolean;\n isZeroCrossing1DisabledFollow2?: boolean;\n isZeroCrossing2EnabledFollow1?: boolean;\n isZeroCrossing2DisabledFollow1?: boolean;\n isGroupRelayStatusAfterResetVisible?: boolean;\n isGroupRestoreStatusAfterResetVisible?: boolean;\n isGroupMinimumRegulationLevelVisible?: boolean;\n isGroupLoadTypeVisible?: boolean;\n hasLoadTypesForGroup7?: boolean;\n hasLoadTypesForGroup9?: boolean;\n isGroupVoltageVisible?: boolean;\n isGroupPULVisible?: boolean;\n saveTo?: number[] | undefined;\n minimumRegulationLevelPickerValues?: SimpleIntPickerValue[] | undefined;\n isGroupMinimumRegulationLevelToggleVisible?: boolean;\n isZeroCrossingWarningVisible?: boolean;\n}\n\nexport class LightsActuatorSettings extends ActuatorSettings implements ILightsActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelValueAdvanced?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n\n constructor(data?: ILightsActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n this.relayStatusAfterReset = _data[\"relayStatusAfterReset\"];\n this.isRestoreStateAfterResetEnabled = _data[\"isRestoreStateAfterResetEnabled\"];\n this.isMinimumregulationLevelEnabled = _data[\"isMinimumregulationLevelEnabled\"];\n this.minimumRegulationLevelValue = _data[\"minimumRegulationLevelValue\"];\n this.minimumRegulationLevelValueAdvanced = _data[\"minimumRegulationLevelValueAdvanced\"];\n this.loadType = _data[\"loadType\"];\n this.voltageType = _data[\"voltageType\"];\n this.hasPUL = _data[\"hasPUL\"];\n }\n }\n\n static fromJS(data: any): LightsActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n data[\"relayStatusAfterReset\"] = this.relayStatusAfterReset;\n data[\"isRestoreStateAfterResetEnabled\"] = this.isRestoreStateAfterResetEnabled;\n data[\"isMinimumregulationLevelEnabled\"] = this.isMinimumregulationLevelEnabled;\n data[\"minimumRegulationLevelValue\"] = this.minimumRegulationLevelValue;\n data[\"minimumRegulationLevelValueAdvanced\"] = this.minimumRegulationLevelValueAdvanced;\n data[\"loadType\"] = this.loadType;\n data[\"voltageType\"] = this.voltageType;\n data[\"hasPUL\"] = this.hasPUL;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILightsActuatorSettings extends IActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n relayStatusAfterReset?: RelayStatusAfterResetOptions;\n isRestoreStateAfterResetEnabled?: boolean;\n isMinimumregulationLevelEnabled?: boolean;\n minimumRegulationLevelValue?: number;\n minimumRegulationLevelValueAdvanced?: number;\n loadType?: LightsLoadTypes;\n voltageType?: LightsVoltageOptions;\n hasPUL?: boolean;\n}\n\nexport class LightsActuatorSettingsObjectDTO implements ILightsActuatorSettingsObjectDTO {\n slots?: LightsActuatorItemSettingsDTO[] | undefined;\n\n constructor(data?: ILightsActuatorSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LightsActuatorItemSettingsDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LightsActuatorSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsActuatorSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface ILightsActuatorSettingsObjectDTO {\n slots?: LightsActuatorItemSettingsDTO[] | undefined;\n}\n\nexport class LightsCommandItemSettingsDTO implements ILightsCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n timedDelayPickerValues?: DelayValue[] | undefined;\n lightsOnOffMode?: LightsOnOffMode;\n minimumRegulationLevel?: number;\n timedDelayPickerSelectedValue?: DelayValue;\n isTimedDelayVisible?: boolean;\n defaultSettings?: LigthsCommandSettings;\n currentSettings?: LigthsCommandSettings;\n isOptionOnOffVisible?: boolean;\n isOptionOffVisible?: boolean;\n isOptionOnVisible?: boolean;\n isOptionOnRegulationVisible?: boolean;\n isOptionToggleVisible?: boolean;\n isOptionToggleOnOffVisible?: boolean;\n isOptionButtonVisible?: boolean;\n isOptionTimedVisible?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n availableDelayValues?: DelayValue[] | undefined;\n isContactTypeVisibile?: boolean;\n indexes?: number[] | undefined;\n conctactType?: ConctactType;\n isConctactTypeVisibile?: boolean;\n\n constructor(data?: ILightsCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n if (Array.isArray(_data[\"timedDelayPickerValues\"])) {\n this.timedDelayPickerValues = [] as any;\n for (let item of _data[\"timedDelayPickerValues\"])\n this.timedDelayPickerValues!.push(DelayValue.fromJS(item));\n }\n this.lightsOnOffMode = _data[\"lightsOnOffMode\"];\n this.minimumRegulationLevel = _data[\"minimumRegulationLevel\"];\n this.timedDelayPickerSelectedValue = _data[\"timedDelayPickerSelectedValue\"] ? DelayValue.fromJS(_data[\"timedDelayPickerSelectedValue\"]) : undefined;\n this.isTimedDelayVisible = _data[\"isTimedDelayVisible\"];\n this.defaultSettings = _data[\"defaultSettings\"] ? LigthsCommandSettings.fromJS(_data[\"defaultSettings\"]) : undefined;\n this.currentSettings = _data[\"currentSettings\"] ? LigthsCommandSettings.fromJS(_data[\"currentSettings\"]) : undefined;\n this.isOptionOnOffVisible = _data[\"isOptionOnOffVisible\"];\n this.isOptionOffVisible = _data[\"isOptionOffVisible\"];\n this.isOptionOnVisible = _data[\"isOptionOnVisible\"];\n this.isOptionOnRegulationVisible = _data[\"isOptionOnRegulationVisible\"];\n this.isOptionToggleVisible = _data[\"isOptionToggleVisible\"];\n this.isOptionToggleOnOffVisible = _data[\"isOptionToggleOnOffVisible\"];\n this.isOptionButtonVisible = _data[\"isOptionButtonVisible\"];\n this.isOptionTimedVisible = _data[\"isOptionTimedVisible\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"availableDelayValues\"])) {\n this.availableDelayValues = [] as any;\n for (let item of _data[\"availableDelayValues\"])\n this.availableDelayValues!.push(DelayValue.fromJS(item));\n }\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.conctactType = _data[\"conctactType\"];\n this.isConctactTypeVisibile = _data[\"isConctactTypeVisibile\"];\n }\n }\n\n static fromJS(data: any): LightsCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n if (Array.isArray(this.timedDelayPickerValues)) {\n data[\"timedDelayPickerValues\"] = [];\n for (let item of this.timedDelayPickerValues)\n data[\"timedDelayPickerValues\"].push(item.toJSON());\n }\n data[\"lightsOnOffMode\"] = this.lightsOnOffMode;\n data[\"minimumRegulationLevel\"] = this.minimumRegulationLevel;\n data[\"timedDelayPickerSelectedValue\"] = this.timedDelayPickerSelectedValue ? this.timedDelayPickerSelectedValue.toJSON() : undefined;\n data[\"isTimedDelayVisible\"] = this.isTimedDelayVisible;\n data[\"defaultSettings\"] = this.defaultSettings ? this.defaultSettings.toJSON() : undefined;\n data[\"currentSettings\"] = this.currentSettings ? this.currentSettings.toJSON() : undefined;\n data[\"isOptionOnOffVisible\"] = this.isOptionOnOffVisible;\n data[\"isOptionOffVisible\"] = this.isOptionOffVisible;\n data[\"isOptionOnVisible\"] = this.isOptionOnVisible;\n data[\"isOptionOnRegulationVisible\"] = this.isOptionOnRegulationVisible;\n data[\"isOptionToggleVisible\"] = this.isOptionToggleVisible;\n data[\"isOptionToggleOnOffVisible\"] = this.isOptionToggleOnOffVisible;\n data[\"isOptionButtonVisible\"] = this.isOptionButtonVisible;\n data[\"isOptionTimedVisible\"] = this.isOptionTimedVisible;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.availableDelayValues)) {\n data[\"availableDelayValues\"] = [];\n for (let item of this.availableDelayValues)\n data[\"availableDelayValues\"].push(item.toJSON());\n }\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"conctactType\"] = this.conctactType;\n data[\"isConctactTypeVisibile\"] = this.isConctactTypeVisibile;\n return data; \n }\n}\n\nexport interface ILightsCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n timedDelayPickerValues?: DelayValue[] | undefined;\n lightsOnOffMode?: LightsOnOffMode;\n minimumRegulationLevel?: number;\n timedDelayPickerSelectedValue?: DelayValue;\n isTimedDelayVisible?: boolean;\n defaultSettings?: LigthsCommandSettings;\n currentSettings?: LigthsCommandSettings;\n isOptionOnOffVisible?: boolean;\n isOptionOffVisible?: boolean;\n isOptionOnVisible?: boolean;\n isOptionOnRegulationVisible?: boolean;\n isOptionToggleVisible?: boolean;\n isOptionToggleOnOffVisible?: boolean;\n isOptionButtonVisible?: boolean;\n isOptionTimedVisible?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n availableDelayValues?: DelayValue[] | undefined;\n isContactTypeVisibile?: boolean;\n indexes?: number[] | undefined;\n conctactType?: ConctactType;\n isConctactTypeVisibile?: boolean;\n}\n\nexport class LightsCommandSettingsObjectDTO implements ILightsCommandSettingsObjectDTO {\n slots?: LightsCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n readonly disabledModules?: boolean;\n\n constructor(data?: ILightsCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LightsCommandItemSettingsDTO.fromJS(item));\n }\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n (this).disabledModules = _data[\"disabledModules\"];\n }\n }\n\n static fromJS(data: any): LightsCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LightsCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"disabledModules\"] = this.disabledModules;\n return data; \n }\n}\n\nexport interface ILightsCommandSettingsObjectDTO {\n slots?: LightsCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n disabledModules?: boolean;\n}\n\n/** 0 = Fluorescent 1 = Led 2 = Halogen 3 = LedTrailingEdgeOrElectronicTransformer 4 = LedLeadingEdge 5 = CFLTrailingEdge 6 = CFLLeadingEdge 7 = DaliStandard */\nexport enum LightsLoadTypes {\n Fluorescent = 0,\n Led = 1,\n Halogen = 2,\n LedTrailingEdgeOrElectronicTransformer = 3,\n LedLeadingEdge = 4,\n CFLTrailingEdge = 5,\n CFLLeadingEdge = 6,\n DaliStandard = 7,\n}\n\n/** 0 = Off 1 = OnOffRegulation 2 = Toggle 3 = Button 4 = Timed 5 = On 6 = OnRegulation 7 = ToggleOnOff 8 = CustomizedOn 9 = CustomizedOff 10 = CustomizedOnOff 11 = CustomizedOnOffRegulation 12 = CustomizedToggle 13 = CustomizedToggleRegulation 14 = CustomizedOnRegulation 15 = CustomizedOffRegulation */\nexport enum LightsOnOffMode {\n Off = 0,\n OnOffRegulation = 1,\n Toggle = 2,\n Button = 3,\n Timed = 4,\n On = 5,\n OnRegulation = 6,\n ToggleOnOff = 7,\n CustomizedOn = 8,\n CustomizedOff = 9,\n CustomizedOnOff = 10,\n CustomizedOnOffRegulation = 11,\n CustomizedToggle = 12,\n CustomizedToggleRegulation = 13,\n CustomizedOnRegulation = 14,\n CustomizedOffRegulation = 15,\n}\n\n/** 0 = AutoOnOff 1 = ManualOnAutoOff */\nexport enum LightsSensorOperatingMode {\n AutoOnOff = 0,\n ManualOnAutoOff = 1,\n}\n\n/** 0 = Low 1 = Medium 2 = High 3 = Maximum */\nexport enum LightsSensorSensitivity {\n Low = 0,\n Medium = 1,\n High = 2,\n Maximum = 3,\n}\n\n/** 0 = V_0_10 1 = V_1_10 */\nexport enum LightsVoltageOptions {\n V_0_10 = 0,\n V_1_10 = 1,\n}\n\nexport class LigthsCommandSettings extends CommandSettings implements ILigthsCommandSettings {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n typeofContact?: ConctactType;\n powerON?: number;\n fadeIn?: number;\n fadeOut?: number;\n dimmingSpeed?: number;\n\n constructor(data?: ILigthsCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.lightsOnOffMode = _data[\"lightsOnOffMode\"];\n this.lightsOnOffTimedDelay = _data[\"lightsOnOffTimedDelay\"];\n this.minimumRegulationLevel = _data[\"minimumRegulationLevel\"];\n this.typeofContact = _data[\"typeofContact\"];\n this.powerON = _data[\"powerON\"];\n this.fadeIn = _data[\"fadeIn\"];\n this.fadeOut = _data[\"fadeOut\"];\n this.dimmingSpeed = _data[\"dimmingSpeed\"];\n }\n }\n\n static fromJS(data: any): LigthsCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LigthsCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lightsOnOffMode\"] = this.lightsOnOffMode;\n data[\"lightsOnOffTimedDelay\"] = this.lightsOnOffTimedDelay;\n data[\"minimumRegulationLevel\"] = this.minimumRegulationLevel;\n data[\"typeofContact\"] = this.typeofContact;\n data[\"powerON\"] = this.powerON;\n data[\"fadeIn\"] = this.fadeIn;\n data[\"fadeOut\"] = this.fadeOut;\n data[\"dimmingSpeed\"] = this.dimmingSpeed;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILigthsCommandSettings extends ICommandSettings {\n lightsOnOffMode?: LightsOnOffMode;\n lightsOnOffTimedDelay?: number;\n minimumRegulationLevel?: number;\n typeofContact?: ConctactType;\n powerON?: number;\n fadeIn?: number;\n fadeOut?: number;\n dimmingSpeed?: number;\n}\n\nexport class LigthsSensorCommandSettings extends CommandSettings implements ILigthsSensorCommandSettings {\n operationgfMode?: LightsSensorOperatingMode;\n daylightSetPoint?: number;\n timingOff?: number;\n pirSensitivity?: LightsSensorSensitivity;\n usSensitivity?: LightsSensorSensitivity;\n\n constructor(data?: ILigthsSensorCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.operationgfMode = _data[\"operationgfMode\"];\n this.daylightSetPoint = _data[\"daylightSetPoint\"];\n this.timingOff = _data[\"timingOff\"];\n this.pirSensitivity = _data[\"pirSensitivity\"];\n this.usSensitivity = _data[\"usSensitivity\"];\n }\n }\n\n static fromJS(data: any): LigthsSensorCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LigthsSensorCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"operationgfMode\"] = this.operationgfMode;\n data[\"daylightSetPoint\"] = this.daylightSetPoint;\n data[\"timingOff\"] = this.timingOff;\n data[\"pirSensitivity\"] = this.pirSensitivity;\n data[\"usSensitivity\"] = this.usSensitivity;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILigthsSensorCommandSettings extends ICommandSettings {\n operationgfMode?: LightsSensorOperatingMode;\n daylightSetPoint?: number;\n timingOff?: number;\n pirSensitivity?: LightsSensorSensitivity;\n usSensitivity?: LightsSensorSensitivity;\n}\n\n/** 0 = None 1 = Partial 2 = Total */\nexport enum Line {\n None = 0,\n Partial = 1,\n Total = 2,\n}\n\n/** 0 = None 1 = Production 2 = Consumption */\nexport enum LineMisuration {\n None = 0,\n Production = 1,\n Consumption = 2,\n}\n\nexport class LockActuatorSettings extends ActuatorSettings implements ILockActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n\n constructor(data?: ILockActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n }\n }\n\n static fromJS(data: any): LockActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LockActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILockActuatorSettings extends IActuatorSettings {\n isZeroCrossingEnabled?: boolean;\n}\n\nexport class LockActuatorSettingsObjectParam implements ILockActuatorSettingsObjectParam {\n isZeroCrossingEnabled?: boolean;\n\n constructor(data?: ILockActuatorSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isZeroCrossingEnabled = _data[\"isZeroCrossingEnabled\"];\n }\n }\n\n static fromJS(data: any): LockActuatorSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new LockActuatorSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isZeroCrossingEnabled\"] = this.isZeroCrossingEnabled;\n return data; \n }\n}\n\nexport interface ILockActuatorSettingsObjectParam {\n isZeroCrossingEnabled?: boolean;\n}\n\nexport class LockCommandSettings extends CommandSettings implements ILockCommandSettings {\n commandOpeningTime?: CommandOpeningTime;\n typeofContact?: ConctactType;\n scsLevel?: ScsLevel;\n\n constructor(data?: ILockCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.typeofContact = _data[\"typeofContact\"];\n this.scsLevel = _data[\"scsLevel\"];\n }\n }\n\n static fromJS(data: any): LockCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"typeofContact\"] = this.typeofContact;\n data[\"scsLevel\"] = this.scsLevel;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ILockCommandSettings extends ICommandSettings {\n commandOpeningTime?: CommandOpeningTime;\n typeofContact?: ConctactType;\n scsLevel?: ScsLevel;\n}\n\nexport class LockCommandSettingsObjectDTO implements ILockCommandSettingsObjectDTO {\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n slots?: LocksCommandItemSettingsDTO[] | undefined;\n isVde?: boolean;\n\n constructor(data?: ILockCommandSettingsObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(LocksCommandItemSettingsDTO.fromJS(item));\n }\n this.isVde = _data[\"isVde\"];\n }\n }\n\n static fromJS(data: any): LockCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LockCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"isVde\"] = this.isVde;\n return data; \n }\n}\n\nexport interface ILockCommandSettingsObjectDTO {\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n slots?: LocksCommandItemSettingsDTO[] | undefined;\n isVde?: boolean;\n}\n\nexport class LocksCommandItemSettingsDTO implements ILocksCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n isAppliedToAllSameTypeCommands?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n commandOpeningTime?: CommandOpeningTime;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n isVde?: boolean;\n scsLevel?: ScsLevel;\n\n constructor(data?: ILocksCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.isAppliedToAllSameTypeCommands = _data[\"isAppliedToAllSameTypeCommands\"];\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n this.conctactType = _data[\"conctactType\"];\n this.isVde = _data[\"isVde\"];\n this.scsLevel = _data[\"scsLevel\"];\n }\n }\n\n static fromJS(data: any): LocksCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LocksCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"isAppliedToAllSameTypeCommands\"] = this.isAppliedToAllSameTypeCommands;\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n data[\"conctactType\"] = this.conctactType;\n data[\"isVde\"] = this.isVde;\n data[\"scsLevel\"] = this.scsLevel;\n return data; \n }\n}\n\nexport interface ILocksCommandItemSettingsDTO {\n saveTo?: number[] | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n isAppliedToAllSameTypeCommands?: boolean;\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n commandOpeningTime?: CommandOpeningTime;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n isVde?: boolean;\n scsLevel?: ScsLevel;\n}\n\nexport class ObjectCondition extends Condition implements IObjectCondition {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n\n constructor(data?: IObjectCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.stateComparer = _data[\"stateComparer\"];\n this.lightState = _data[\"lightState\"];\n this.dimmerState = _data[\"dimmerState\"];\n this.dimmerPowerState = _data[\"dimmerPowerState\"];\n this.dimmerPercent = _data[\"dimmerPercent\"];\n this.workingMode = _data[\"workingMode\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.temperature = _data[\"temperature\"];\n this.isShutterPositionManaged = _data[\"isShutterPositionManaged\"];\n this.shutterModality = _data[\"shutterModality\"];\n this.shutterState = _data[\"shutterState\"];\n this.shutterPosition = _data[\"shutterPosition\"];\n this.blindState = _data[\"blindState\"];\n this.socketState = _data[\"socketState\"];\n this.lockState = _data[\"lockState\"];\n this.thermostatState = _data[\"thermostatState\"];\n this.thermostatModalityState = _data[\"thermostatModalityState\"];\n this.thermostatConditionState = _data[\"thermostatConditionState\"];\n this.thermostatTemperature = _data[\"thermostatTemperature\"];\n this.thermostatHumidity = _data[\"thermostatHumidity\"];\n this.towelWarmerState = _data[\"towelWarmerState\"];\n this.fancoilState = _data[\"fancoilState\"];\n this.fancoilSpeedState = _data[\"fancoilSpeedState\"];\n this.coloredLightsState = _data[\"coloredLightsState\"];\n this.coloredLightStateComparer = _data[\"coloredLightStateComparer\"];\n this.sceneColoredLightsColor = _data[\"sceneColoredLightsColor\"];\n this.playerTriggerMode = _data[\"playerTriggerMode\"];\n this.playerTriggerPowerState = _data[\"playerTriggerPowerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.energyMeterKw = _data[\"energyMeterKw\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmSensorObjectStatus = _data[\"alarmSensorObjectStatus\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n this.sceneLoadManagementPower = _data[\"sceneLoadManagementPower\"];\n }\n }\n\n static fromJS(data: any): ObjectCondition {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"stateComparer\"] = this.stateComparer;\n data[\"lightState\"] = this.lightState;\n data[\"dimmerState\"] = this.dimmerState;\n data[\"dimmerPowerState\"] = this.dimmerPowerState;\n data[\"dimmerPercent\"] = this.dimmerPercent;\n data[\"workingMode\"] = this.workingMode;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"temperature\"] = this.temperature;\n data[\"isShutterPositionManaged\"] = this.isShutterPositionManaged;\n data[\"shutterModality\"] = this.shutterModality;\n data[\"shutterState\"] = this.shutterState;\n data[\"shutterPosition\"] = this.shutterPosition;\n data[\"blindState\"] = this.blindState;\n data[\"socketState\"] = this.socketState;\n data[\"lockState\"] = this.lockState;\n data[\"thermostatState\"] = this.thermostatState;\n data[\"thermostatModalityState\"] = this.thermostatModalityState;\n data[\"thermostatConditionState\"] = this.thermostatConditionState;\n data[\"thermostatTemperature\"] = this.thermostatTemperature;\n data[\"thermostatHumidity\"] = this.thermostatHumidity;\n data[\"towelWarmerState\"] = this.towelWarmerState;\n data[\"fancoilState\"] = this.fancoilState;\n data[\"fancoilSpeedState\"] = this.fancoilSpeedState;\n data[\"coloredLightsState\"] = this.coloredLightsState;\n data[\"coloredLightStateComparer\"] = this.coloredLightStateComparer;\n data[\"sceneColoredLightsColor\"] = this.sceneColoredLightsColor;\n data[\"playerTriggerMode\"] = this.playerTriggerMode;\n data[\"playerTriggerPowerState\"] = this.playerTriggerPowerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"energyMeterKw\"] = this.energyMeterKw;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmSensorObjectStatus\"] = this.alarmSensorObjectStatus;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n data[\"sceneLoadManagementPower\"] = this.sceneLoadManagementPower;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectCondition extends ICondition {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n}\n\n/** 0 = None 1 = NewDuplication 2 = OldDuplication */\nexport enum ObjectDuplication {\n None = 0,\n NewDuplication = 1,\n OldDuplication = 2,\n}\n\nexport class ObjectTrigger extends Trigger implements IObjectTrigger {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n\n constructor(data?: IObjectTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.linkableObjectId = _data[\"linkableObjectId\"];\n this.stateComparer = _data[\"stateComparer\"];\n this.lightState = _data[\"lightState\"];\n this.dimmerState = _data[\"dimmerState\"];\n this.dimmerPowerState = _data[\"dimmerPowerState\"];\n this.dimmerPercent = _data[\"dimmerPercent\"];\n this.workingMode = _data[\"workingMode\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.temperature = _data[\"temperature\"];\n this.isShutterPositionManaged = _data[\"isShutterPositionManaged\"];\n this.shutterModality = _data[\"shutterModality\"];\n this.shutterState = _data[\"shutterState\"];\n this.shutterPosition = _data[\"shutterPosition\"];\n this.blindState = _data[\"blindState\"];\n this.socketState = _data[\"socketState\"];\n this.lockState = _data[\"lockState\"];\n this.thermostatState = _data[\"thermostatState\"];\n this.thermostatModalityState = _data[\"thermostatModalityState\"];\n this.thermostatConditionState = _data[\"thermostatConditionState\"];\n this.thermostatTemperature = _data[\"thermostatTemperature\"];\n this.thermostatHumidity = _data[\"thermostatHumidity\"];\n this.towelWarmerState = _data[\"towelWarmerState\"];\n this.fancoilState = _data[\"fancoilState\"];\n this.fancoilSpeedState = _data[\"fancoilSpeedState\"];\n this.coloredLightsState = _data[\"coloredLightsState\"];\n this.coloredLightStateComparer = _data[\"coloredLightStateComparer\"];\n this.sceneColoredLightsColor = _data[\"sceneColoredLightsColor\"];\n this.playerTriggerMode = _data[\"playerTriggerMode\"];\n this.playerTriggerPowerState = _data[\"playerTriggerPowerState\"];\n this.playerVolume = _data[\"playerVolume\"];\n this.energyMeterKw = _data[\"energyMeterKw\"];\n this.alarmPartitionState = _data[\"alarmPartitionState\"];\n this.alarmSensorState = _data[\"alarmSensorState\"];\n this.alarmSensorObjectStatus = _data[\"alarmSensorObjectStatus\"];\n this.sceneLoadManagementStatus = _data[\"sceneLoadManagementStatus\"];\n this.sceneLoadManagementPower = _data[\"sceneLoadManagementPower\"];\n }\n }\n\n static fromJS(data: any): ObjectTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new ObjectTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkableObjectId\"] = this.linkableObjectId;\n data[\"stateComparer\"] = this.stateComparer;\n data[\"lightState\"] = this.lightState;\n data[\"dimmerState\"] = this.dimmerState;\n data[\"dimmerPowerState\"] = this.dimmerPowerState;\n data[\"dimmerPercent\"] = this.dimmerPercent;\n data[\"workingMode\"] = this.workingMode;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"temperature\"] = this.temperature;\n data[\"isShutterPositionManaged\"] = this.isShutterPositionManaged;\n data[\"shutterModality\"] = this.shutterModality;\n data[\"shutterState\"] = this.shutterState;\n data[\"shutterPosition\"] = this.shutterPosition;\n data[\"blindState\"] = this.blindState;\n data[\"socketState\"] = this.socketState;\n data[\"lockState\"] = this.lockState;\n data[\"thermostatState\"] = this.thermostatState;\n data[\"thermostatModalityState\"] = this.thermostatModalityState;\n data[\"thermostatConditionState\"] = this.thermostatConditionState;\n data[\"thermostatTemperature\"] = this.thermostatTemperature;\n data[\"thermostatHumidity\"] = this.thermostatHumidity;\n data[\"towelWarmerState\"] = this.towelWarmerState;\n data[\"fancoilState\"] = this.fancoilState;\n data[\"fancoilSpeedState\"] = this.fancoilSpeedState;\n data[\"coloredLightsState\"] = this.coloredLightsState;\n data[\"coloredLightStateComparer\"] = this.coloredLightStateComparer;\n data[\"sceneColoredLightsColor\"] = this.sceneColoredLightsColor;\n data[\"playerTriggerMode\"] = this.playerTriggerMode;\n data[\"playerTriggerPowerState\"] = this.playerTriggerPowerState;\n data[\"playerVolume\"] = this.playerVolume;\n data[\"energyMeterKw\"] = this.energyMeterKw;\n data[\"alarmPartitionState\"] = this.alarmPartitionState;\n data[\"alarmSensorState\"] = this.alarmSensorState;\n data[\"alarmSensorObjectStatus\"] = this.alarmSensorObjectStatus;\n data[\"sceneLoadManagementStatus\"] = this.sceneLoadManagementStatus;\n data[\"sceneLoadManagementPower\"] = this.sceneLoadManagementPower;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IObjectTrigger extends ITrigger {\n linkableObjectId?: string | undefined;\n stateComparer?: SceneStateComparer;\n lightState?: SceneLightState;\n dimmerState?: SceneDimmerState;\n dimmerPowerState?: SceneDimmerPowerState;\n dimmerPercent?: number;\n workingMode?: DimmerWorkingMode;\n selectedColor?: Color;\n temperature?: number;\n isShutterPositionManaged?: boolean;\n shutterModality?: SceneShutterModality;\n shutterState?: SceneShutterState;\n shutterPosition?: number;\n blindState?: SceneBlindState;\n socketState?: SceneSocketState;\n lockState?: SceneLockState;\n thermostatState?: SceneThermostatState;\n thermostatModalityState?: SceneThermostatModalityState;\n thermostatConditionState?: SceneThermostatConditionState;\n thermostatTemperature?: number;\n thermostatHumidity?: number;\n towelWarmerState?: SceneTowelWarmerState;\n fancoilState?: SceneFancoilState;\n fancoilSpeedState?: SceneFancoilSpeedState;\n coloredLightsState?: SceneColoredLightsState;\n coloredLightStateComparer?: SceneStateComparer;\n sceneColoredLightsColor?: SceneColoredLightsColor;\n playerTriggerMode?: ScenePlayerTriggerMode;\n playerTriggerPowerState?: ScenePlayerState;\n playerVolume?: number;\n energyMeterKw?: number;\n alarmPartitionState?: AlarmPartitionState;\n alarmSensorState?: AlarmSensorStatus;\n alarmSensorObjectStatus?: AlarmSensorStatusScene;\n sceneLoadManagementStatus?: SceneLoadManagementState;\n sceneLoadManagementPower?: number | undefined;\n}\n\nexport class ParamCreateLinkModule implements IParamCreateLinkModule {\n index?: number;\n name?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IParamCreateLinkModule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): ParamCreateLinkModule {\n data = typeof data === 'object' ? data : {};\n let result = new ParamCreateLinkModule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"value\"] = this.value;\n return data; \n }\n}\n\nexport interface IParamCreateLinkModule {\n index?: number;\n name?: string | undefined;\n value?: string | undefined;\n}\n\nexport class ParamsScenesId implements IParamsScenesId {\n id?: string | undefined;\n button?: number;\n\n constructor(data?: IParamsScenesId) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.button = _data[\"button\"];\n }\n }\n\n static fromJS(data: any): ParamsScenesId {\n data = typeof data === 'object' ? data : {};\n let result = new ParamsScenesId();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"button\"] = this.button;\n return data; \n }\n}\n\nexport interface IParamsScenesId {\n id?: string | undefined;\n button?: number;\n}\n\nexport class PlayerExtDevice extends ExtDevice implements IPlayerExtDevice {\n playerSystem?: PlayerSystem;\n readonly macAddress?: string | undefined;\n readonly name?: string | undefined;\n\n constructor(data?: IPlayerExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.playerSystem = _data[\"playerSystem\"];\n (this).macAddress = _data[\"macAddress\"];\n (this).name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): PlayerExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new PlayerExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"playerSystem\"] = this.playerSystem;\n data[\"macAddress\"] = this.macAddress;\n data[\"name\"] = this.name;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IPlayerExtDevice extends IExtDevice {\n playerSystem?: PlayerSystem;\n macAddress?: string | undefined;\n name?: string | undefined;\n}\n\n/** 0 = Nuvo 1 = Sonos */\nexport enum PlayerSystem {\n Nuvo = 0,\n Sonos = 1,\n}\n\nexport class ProbeSettings implements IProbeSettings {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n\n constructor(data?: IProbeSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isLedmanaged = _data[\"isLedmanaged\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n }\n }\n\n static fromJS(data: any): ProbeSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ProbeSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isLedmanaged\"] = this.isLedmanaged;\n data[\"externalSensorType\"] = this.externalSensorType;\n return data; \n }\n}\n\nexport interface IProbeSettings {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n}\n\n/** 0 = None 1 = PhisicallyConfigured 2 = DeviceRemoved 3 = DeviceUnmanage 4 = DeviceChanged */\nexport enum ProblemType {\n None = 0,\n PhisicallyConfigured = 1,\n DeviceRemoved = 2,\n DeviceUnmanage = 3,\n DeviceChanged = 4,\n}\n\nexport class PushNotificationAction extends Action implements IPushNotificationAction {\n\n constructor(data?: IPushNotificationAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): PushNotificationAction {\n data = typeof data === 'object' ? data : {};\n let result = new PushNotificationAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IPushNotificationAction extends IAction {\n}\n\n/** 0 = LastStatus 1 = Opened 2 = Closed */\nexport enum RelayStatusAfterResetOptions {\n LastStatus = 0,\n Opened = 1,\n Closed = 2,\n}\n\n/** 0 = None 1 = Global 2 = Actuator */\nexport enum ResetType {\n None = 0,\n Global = 1,\n Actuator = 2,\n}\n\nexport class Room implements IRoom {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObject[] | undefined;\n\n constructor(data?: IRoom) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(RoomObject.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Room {\n data = typeof data === 'object' ? data : {};\n let result = new Room();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoom {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObject[] | undefined;\n}\n\nexport class RoomDTO implements IRoomDTO {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObjectDTO[] | undefined;\n\n constructor(data?: IRoomDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"roomObjects\"])) {\n this.roomObjects = [] as any;\n for (let item of _data[\"roomObjects\"])\n this.roomObjects!.push(RoomObjectDTO.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RoomDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n if (Array.isArray(this.roomObjects)) {\n data[\"roomObjects\"] = [];\n for (let item of this.roomObjects)\n data[\"roomObjects\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoomDTO {\n id?: string | undefined;\n name?: string | undefined;\n type?: RoomType;\n roomObjects?: RoomObjectDTO[] | undefined;\n}\n\nexport class RoomObject extends LinkableObject implements IRoomObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n hasCommands?: boolean;\n roomId?: string | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n commandOpeningTime?: CommandOpeningTime;\n isAppliedToAllSameTypeCommands?: boolean;\n energyMeterAndLoadControlType?: EnergyMeterAndLoadControlType;\n isEnergyMeter?: boolean;\n toroidDirectionType?: ToroidDirection;\n tolerance?: string | undefined;\n priority?: number;\n supplyPower?: string | undefined;\n lineType?: Line;\n lineMisurationType?: LineMisuration;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermo?: ThermoActuactor[] | undefined;\n isTemperatureDisplayed?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n isInterlockSystemEnabled?: boolean;\n isSeasonModeAuto?: boolean;\n isSeasonChangeModifiable?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: Device;\n seasonChangeAutoStartWinterDate?: Date;\n seasonChangeAutoStartSummerDate?: Date;\n isThermo99Zone?: boolean;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n heatingThermalProtection?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n temperatureType?: TemperatureType;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n isInterlockingExcluded?: boolean;\n pumpsDelay?: string;\n thermoUkFanSpeed?: number;\n thermoUkFanSpeed2?: number;\n thermoUkFanSpeed3?: number;\n coloredLightType?: ColoredLightType;\n daliType?: DaliType;\n isColor?: boolean;\n isTemperatureColor?: boolean;\n address?: string | undefined;\n callType?: CallType;\n readonly isToChangeIntoID?: string | undefined;\n readonly isAddressConflict?: boolean;\n addressWithInterface?: string | undefined;\n typeofProblem?: CompromisedType;\n\n constructor(data?: IRoomObject) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n this.systemType = _data[\"systemType\"];\n this.isHidden = _data[\"isHidden\"];\n this.hasCommands = _data[\"hasCommands\"];\n this.roomId = _data[\"roomId\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.commandOpeningTime = _data[\"commandOpeningTime\"];\n this.isAppliedToAllSameTypeCommands = _data[\"isAppliedToAllSameTypeCommands\"];\n this.energyMeterAndLoadControlType = _data[\"energyMeterAndLoadControlType\"];\n this.isEnergyMeter = _data[\"isEnergyMeter\"];\n this.toroidDirectionType = _data[\"toroidDirectionType\"];\n this.tolerance = _data[\"tolerance\"];\n this.priority = _data[\"priority\"];\n this.supplyPower = _data[\"supplyPower\"];\n this.lineType = _data[\"lineType\"];\n this.lineMisurationType = _data[\"lineMisurationType\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.actuatorModalityType = _data[\"actuatorModalityType\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n if (Array.isArray(_data[\"thermo\"])) {\n this.thermo = [] as any;\n for (let item of _data[\"thermo\"])\n this.thermo!.push(ThermoActuactor.fromJS(item));\n }\n this.isTemperatureDisplayed = _data[\"isTemperatureDisplayed\"];\n this.isWaterCycleEnabled = _data[\"isWaterCycleEnabled\"];\n this.arePumpsOpenedAutomatically = _data[\"arePumpsOpenedAutomatically\"];\n this.minutesToKeepOpen = _data[\"minutesToKeepOpen\"];\n this.openAutomaticallyDaysDelay = _data[\"openAutomaticallyDaysDelay\"];\n this.isInterlockSystemEnabled = _data[\"isInterlockSystemEnabled\"];\n this.isSeasonModeAuto = _data[\"isSeasonModeAuto\"];\n this.isSeasonChangeModifiable = _data[\"isSeasonChangeModifiable\"];\n this.seasonChangeAutoType = _data[\"seasonChangeAutoType\"];\n this.selected3477Device = _data[\"selected3477Device\"] ? Device.fromJS(_data[\"selected3477Device\"]) : undefined;\n this.seasonChangeAutoStartWinterDate = _data[\"seasonChangeAutoStartWinterDate\"] ? new Date(_data[\"seasonChangeAutoStartWinterDate\"].toString()) : undefined;\n this.seasonChangeAutoStartSummerDate = _data[\"seasonChangeAutoStartSummerDate\"] ? new Date(_data[\"seasonChangeAutoStartSummerDate\"].toString()) : undefined;\n this.isThermo99Zone = _data[\"isThermo99Zone\"];\n this.thermo99SelectedZone = _data[\"thermo99SelectedZone\"];\n this.thermo99HasFancoil = _data[\"thermo99HasFancoil\"];\n this.heatingSetpointLow = _data[\"heatingSetpointLow\"];\n this.heatingSetpointHigh = _data[\"heatingSetpointHigh\"];\n this.heatingAntifreeze = _data[\"heatingAntifreeze\"];\n this.heatingThermalProtection = _data[\"heatingThermalProtection\"];\n this.coolingSetpointLow = _data[\"coolingSetpointLow\"];\n this.coolingSetpointHigh = _data[\"coolingSetpointHigh\"];\n this.coolingThermalProtection = _data[\"coolingThermalProtection\"];\n this.isAutoCommutation = _data[\"isAutoCommutation\"];\n this.delayHeatingPumps = _data[\"delayHeatingPumps\"];\n this.delayCoolingPumps = _data[\"delayCoolingPumps\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.areButtonsEnabled = _data[\"areButtonsEnabled\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isBacklightEnabled = _data[\"isBacklightEnabled\"];\n this.backlightLevel = _data[\"backlightLevel\"];\n this.isManualHeatingOverrideEnabled = _data[\"isManualHeatingOverrideEnabled\"];\n this.heatingRegulationBand = _data[\"heatingRegulationBand\"];\n this.fanSpeed2ForHeating = _data[\"fanSpeed2ForHeating\"];\n this.fanSpeed3ForHeating = _data[\"fanSpeed3ForHeating\"];\n this.valvesTimeForHeatingFanCoil = _data[\"valvesTimeForHeatingFanCoil\"];\n this.isManualCoolingOverrideEnabled = _data[\"isManualCoolingOverrideEnabled\"];\n this.coolingRegulationBand = _data[\"coolingRegulationBand\"];\n this.fanSpeed2ForCooling = _data[\"fanSpeed2ForCooling\"];\n this.fanSpeed3ForCooling = _data[\"fanSpeed3ForCooling\"];\n this.valvesTimeForCoolingFanCoil = _data[\"valvesTimeForCoolingFanCoil\"];\n this.isIconAlwaysOff = _data[\"isIconAlwaysOff\"];\n this.isLocalContactNumberEnabled = _data[\"isLocalContactNumberEnabled\"];\n this.numberOfWindowsContact = _data[\"numberOfWindowsContact\"];\n this.openingContactTypeHeating = _data[\"openingContactTypeHeating\"];\n this.openingContactTempHeating = _data[\"openingContactTempHeating\"];\n this.openingContactDelayHeating = _data[\"openingContactDelayHeating\"];\n this.timeoutOpeningHeating = _data[\"timeoutOpeningHeating\"];\n this.closingContactTypeHeating = _data[\"closingContactTypeHeating\"];\n this.closingContactTempHeating = _data[\"closingContactTempHeating\"];\n this.closingContactDelayHeating = _data[\"closingContactDelayHeating\"];\n this.timeoutClosingHeating = _data[\"timeoutClosingHeating\"];\n this.openingContactTypeCooling = _data[\"openingContactTypeCooling\"];\n this.openingContactTempCooling = _data[\"openingContactTempCooling\"];\n this.openingContactDelayCooling = _data[\"openingContactDelayCooling\"];\n this.timeoutOpeningCooling = _data[\"timeoutOpeningCooling\"];\n this.closingContactTypeCooling = _data[\"closingContactTypeCooling\"];\n this.closingContactTempCooling = _data[\"closingContactTempCooling\"];\n this.closingContactDelayCooling = _data[\"closingContactDelayCooling\"];\n this.timeoutClosingCooling = _data[\"timeoutClosingCooling\"];\n this.isCoolingVentilationEnabled = _data[\"isCoolingVentilationEnabled\"];\n this.isHeatingVentilationEnabled = _data[\"isHeatingVentilationEnabled\"];\n this.timeoutCoolingVentilation = _data[\"timeoutCoolingVentilation\"];\n this.timeoutHeatingVentilation = _data[\"timeoutHeatingVentilation\"];\n this.isInterlockingExcluded = _data[\"isInterlockingExcluded\"];\n this.pumpsDelay = _data[\"pumpsDelay\"];\n this.thermoUkFanSpeed = _data[\"thermoUkFanSpeed\"];\n this.thermoUkFanSpeed2 = _data[\"thermoUkFanSpeed2\"];\n this.thermoUkFanSpeed3 = _data[\"thermoUkFanSpeed3\"];\n this.coloredLightType = _data[\"coloredLightType\"];\n this.daliType = _data[\"daliType\"];\n this.isColor = _data[\"isColor\"];\n this.isTemperatureColor = _data[\"isTemperatureColor\"];\n this.address = _data[\"address\"];\n this.callType = _data[\"callType\"];\n (this).isToChangeIntoID = _data[\"isToChangeIntoID\"];\n (this).isAddressConflict = _data[\"isAddressConflict\"];\n this.addressWithInterface = _data[\"addressWithInterface\"];\n this.typeofProblem = _data[\"typeofProblem\"];\n }\n }\n\n static fromJS(data: any): RoomObject {\n data = typeof data === 'object' ? data : {};\n let result = new RoomObject();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"systemType\"] = this.systemType;\n data[\"isHidden\"] = this.isHidden;\n data[\"hasCommands\"] = this.hasCommands;\n data[\"roomId\"] = this.roomId;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"commandOpeningTime\"] = this.commandOpeningTime;\n data[\"isAppliedToAllSameTypeCommands\"] = this.isAppliedToAllSameTypeCommands;\n data[\"energyMeterAndLoadControlType\"] = this.energyMeterAndLoadControlType;\n data[\"isEnergyMeter\"] = this.isEnergyMeter;\n data[\"toroidDirectionType\"] = this.toroidDirectionType;\n data[\"tolerance\"] = this.tolerance;\n data[\"priority\"] = this.priority;\n data[\"supplyPower\"] = this.supplyPower;\n data[\"lineType\"] = this.lineType;\n data[\"lineMisurationType\"] = this.lineMisurationType;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"actuatorModalityType\"] = this.actuatorModalityType;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n if (Array.isArray(this.thermo)) {\n data[\"thermo\"] = [];\n for (let item of this.thermo)\n data[\"thermo\"].push(item.toJSON());\n }\n data[\"isTemperatureDisplayed\"] = this.isTemperatureDisplayed;\n data[\"isWaterCycleEnabled\"] = this.isWaterCycleEnabled;\n data[\"arePumpsOpenedAutomatically\"] = this.arePumpsOpenedAutomatically;\n data[\"minutesToKeepOpen\"] = this.minutesToKeepOpen;\n data[\"openAutomaticallyDaysDelay\"] = this.openAutomaticallyDaysDelay;\n data[\"isInterlockSystemEnabled\"] = this.isInterlockSystemEnabled;\n data[\"isSeasonModeAuto\"] = this.isSeasonModeAuto;\n data[\"isSeasonChangeModifiable\"] = this.isSeasonChangeModifiable;\n data[\"seasonChangeAutoType\"] = this.seasonChangeAutoType;\n data[\"selected3477Device\"] = this.selected3477Device ? this.selected3477Device.toJSON() : undefined;\n data[\"seasonChangeAutoStartWinterDate\"] = this.seasonChangeAutoStartWinterDate ? this.seasonChangeAutoStartWinterDate.toISOString() : undefined;\n data[\"seasonChangeAutoStartSummerDate\"] = this.seasonChangeAutoStartSummerDate ? this.seasonChangeAutoStartSummerDate.toISOString() : undefined;\n data[\"isThermo99Zone\"] = this.isThermo99Zone;\n data[\"thermo99SelectedZone\"] = this.thermo99SelectedZone;\n data[\"thermo99HasFancoil\"] = this.thermo99HasFancoil;\n data[\"heatingSetpointLow\"] = this.heatingSetpointLow;\n data[\"heatingSetpointHigh\"] = this.heatingSetpointHigh;\n data[\"heatingAntifreeze\"] = this.heatingAntifreeze;\n data[\"heatingThermalProtection\"] = this.heatingThermalProtection;\n data[\"coolingSetpointLow\"] = this.coolingSetpointLow;\n data[\"coolingSetpointHigh\"] = this.coolingSetpointHigh;\n data[\"coolingThermalProtection\"] = this.coolingThermalProtection;\n data[\"isAutoCommutation\"] = this.isAutoCommutation;\n data[\"delayHeatingPumps\"] = this.delayHeatingPumps;\n data[\"delayCoolingPumps\"] = this.delayCoolingPumps;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"areButtonsEnabled\"] = this.areButtonsEnabled;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isBacklightEnabled\"] = this.isBacklightEnabled;\n data[\"backlightLevel\"] = this.backlightLevel;\n data[\"isManualHeatingOverrideEnabled\"] = this.isManualHeatingOverrideEnabled;\n data[\"heatingRegulationBand\"] = this.heatingRegulationBand;\n data[\"fanSpeed2ForHeating\"] = this.fanSpeed2ForHeating;\n data[\"fanSpeed3ForHeating\"] = this.fanSpeed3ForHeating;\n data[\"valvesTimeForHeatingFanCoil\"] = this.valvesTimeForHeatingFanCoil;\n data[\"isManualCoolingOverrideEnabled\"] = this.isManualCoolingOverrideEnabled;\n data[\"coolingRegulationBand\"] = this.coolingRegulationBand;\n data[\"fanSpeed2ForCooling\"] = this.fanSpeed2ForCooling;\n data[\"fanSpeed3ForCooling\"] = this.fanSpeed3ForCooling;\n data[\"valvesTimeForCoolingFanCoil\"] = this.valvesTimeForCoolingFanCoil;\n data[\"isIconAlwaysOff\"] = this.isIconAlwaysOff;\n data[\"isLocalContactNumberEnabled\"] = this.isLocalContactNumberEnabled;\n data[\"numberOfWindowsContact\"] = this.numberOfWindowsContact;\n data[\"openingContactTypeHeating\"] = this.openingContactTypeHeating;\n data[\"openingContactTempHeating\"] = this.openingContactTempHeating;\n data[\"openingContactDelayHeating\"] = this.openingContactDelayHeating;\n data[\"timeoutOpeningHeating\"] = this.timeoutOpeningHeating;\n data[\"closingContactTypeHeating\"] = this.closingContactTypeHeating;\n data[\"closingContactTempHeating\"] = this.closingContactTempHeating;\n data[\"closingContactDelayHeating\"] = this.closingContactDelayHeating;\n data[\"timeoutClosingHeating\"] = this.timeoutClosingHeating;\n data[\"openingContactTypeCooling\"] = this.openingContactTypeCooling;\n data[\"openingContactTempCooling\"] = this.openingContactTempCooling;\n data[\"openingContactDelayCooling\"] = this.openingContactDelayCooling;\n data[\"timeoutOpeningCooling\"] = this.timeoutOpeningCooling;\n data[\"closingContactTypeCooling\"] = this.closingContactTypeCooling;\n data[\"closingContactTempCooling\"] = this.closingContactTempCooling;\n data[\"closingContactDelayCooling\"] = this.closingContactDelayCooling;\n data[\"timeoutClosingCooling\"] = this.timeoutClosingCooling;\n data[\"isCoolingVentilationEnabled\"] = this.isCoolingVentilationEnabled;\n data[\"isHeatingVentilationEnabled\"] = this.isHeatingVentilationEnabled;\n data[\"timeoutCoolingVentilation\"] = this.timeoutCoolingVentilation;\n data[\"timeoutHeatingVentilation\"] = this.timeoutHeatingVentilation;\n data[\"isInterlockingExcluded\"] = this.isInterlockingExcluded;\n data[\"pumpsDelay\"] = this.pumpsDelay;\n data[\"thermoUkFanSpeed\"] = this.thermoUkFanSpeed;\n data[\"thermoUkFanSpeed2\"] = this.thermoUkFanSpeed2;\n data[\"thermoUkFanSpeed3\"] = this.thermoUkFanSpeed3;\n data[\"coloredLightType\"] = this.coloredLightType;\n data[\"daliType\"] = this.daliType;\n data[\"isColor\"] = this.isColor;\n data[\"isTemperatureColor\"] = this.isTemperatureColor;\n data[\"address\"] = this.address;\n data[\"callType\"] = this.callType;\n data[\"isToChangeIntoID\"] = this.isToChangeIntoID;\n data[\"isAddressConflict\"] = this.isAddressConflict;\n data[\"addressWithInterface\"] = this.addressWithInterface;\n data[\"typeofProblem\"] = this.typeofProblem;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IRoomObject extends ILinkableObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n hasCommands?: boolean;\n roomId?: string | undefined;\n lightType?: LightType;\n isManagePosition?: boolean;\n commandOpeningTime?: CommandOpeningTime;\n isAppliedToAllSameTypeCommands?: boolean;\n energyMeterAndLoadControlType?: EnergyMeterAndLoadControlType;\n isEnergyMeter?: boolean;\n toroidDirectionType?: ToroidDirection;\n tolerance?: string | undefined;\n priority?: number;\n supplyPower?: string | undefined;\n lineType?: Line;\n lineMisurationType?: LineMisuration;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n coolingSystemControlType?: SystemControlType;\n heatingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n thermo?: ThermoActuactor[] | undefined;\n isTemperatureDisplayed?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n isInterlockSystemEnabled?: boolean;\n isSeasonModeAuto?: boolean;\n isSeasonChangeModifiable?: boolean;\n seasonChangeAutoType?: SeasonChangeAutoType;\n selected3477Device?: Device;\n seasonChangeAutoStartWinterDate?: Date;\n seasonChangeAutoStartSummerDate?: Date;\n isThermo99Zone?: boolean;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n heatingThermalProtection?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n temperatureType?: TemperatureType;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n isInterlockingExcluded?: boolean;\n pumpsDelay?: string;\n thermoUkFanSpeed?: number;\n thermoUkFanSpeed2?: number;\n thermoUkFanSpeed3?: number;\n coloredLightType?: ColoredLightType;\n daliType?: DaliType;\n isColor?: boolean;\n isTemperatureColor?: boolean;\n address?: string | undefined;\n callType?: CallType;\n isToChangeIntoID?: string | undefined;\n isAddressConflict?: boolean;\n addressWithInterface?: string | undefined;\n typeofProblem?: CompromisedType;\n}\n\nexport class RoomObjectDTO implements IRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n hasConfigurationToEnd?: boolean;\n extDevices?: ExtDevice[] | undefined;\n\n constructor(data?: IRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.systemType = _data[\"systemType\"];\n this.isHidden = _data[\"isHidden\"];\n this.lightType = _data[\"lightType\"];\n this.isManagePosition = _data[\"isManagePosition\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.thermo99SelectedZone = _data[\"thermo99SelectedZone\"];\n this.thermo99HasFancoil = _data[\"thermo99HasFancoil\"];\n this.hasConfigurationToEnd = _data[\"hasConfigurationToEnd\"];\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): RoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"systemType\"] = this.systemType;\n data[\"isHidden\"] = this.isHidden;\n data[\"lightType\"] = this.lightType;\n data[\"isManagePosition\"] = this.isManagePosition;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"thermo99SelectedZone\"] = this.thermo99SelectedZone;\n data[\"thermo99HasFancoil\"] = this.thermo99HasFancoil;\n data[\"hasConfigurationToEnd\"] = this.hasConfigurationToEnd;\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\n lightType?: LightType;\n isManagePosition?: boolean;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n thermo99SelectedZone?: string | undefined;\n thermo99HasFancoil?: boolean;\n hasConfigurationToEnd?: boolean;\n extDevices?: ExtDevice[] | undefined;\n}\n\n/** 0 = Light 1 = Shutter 2 = Socket 3 = Lock 4 = Thermostat 5 = Fancoil 6 = TowelWarmer 7 = WirelessCommand 8 = Blind 9 = Player 10 = Xmeter 11 = Alarm 12 = ColoredLight 13 = ScheduledScenarioPlus 14 = None 15 = Contact 16 = AlarmSensor 17 = Thermostat99zones 18 = DimmerDmx 19 = DimmerDali 20 = Actuactor 21 = CentralLoadControl 22 = ActuactorLoadControl 23 = VdeLock 24 = StaircaseLight 25 = FloorCall 26 = Unknown */\nexport enum RoomObjectType {\n Light = 0,\n Shutter = 1,\n Socket = 2,\n Lock = 3,\n Thermostat = 4,\n Fancoil = 5,\n TowelWarmer = 6,\n WirelessCommand = 7,\n Blind = 8,\n Player = 9,\n Xmeter = 10,\n Alarm = 11,\n ColoredLight = 12,\n ScheduledScenarioPlus = 13,\n None = 14,\n Contact = 15,\n AlarmSensor = 16,\n Thermostat99zones = 17,\n DimmerDmx = 18,\n DimmerDali = 19,\n Actuactor = 20,\n CentralLoadControl = 21,\n ActuactorLoadControl = 22,\n VdeLock = 23,\n StaircaseLight = 24,\n FloorCall = 25,\n Unknown = 26,\n}\n\n/** 0 = Livingroom 1 = Bathroom 2 = Kitchen 3 = Bedroom 4 = Dining_room 5 = Toilets 6 = Lobby 7 = Corridor 8 = Garage 9 = Outdoor 10 = Home_office 11 = Stairs 12 = Electrical_cabinet 13 = Custom 14 = Unknown */\nexport enum RoomType {\n Livingroom = 0,\n Bathroom = 1,\n Kitchen = 2,\n Bedroom = 3,\n Dining_room = 4,\n Toilets = 5,\n Lobby = 6,\n Corridor = 7,\n Garage = 8,\n Outdoor = 9,\n Home_office = 10,\n Stairs = 11,\n Electrical_cabinet = 12,\n Custom = 13,\n Unknown = 14,\n}\n\nexport class Scene extends LinkableObject implements IScene {\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n isSceneFromServer?: boolean;\n actions?: Action[] | undefined;\n triggers?: Trigger[] | undefined;\n conditions?: Condition[] | undefined;\n room_id?: string | undefined;\n share?: boolean;\n user?: string | undefined;\n category?: string | undefined;\n preconditionSelected?: SceneThermostatModalityState;\n isColorChanged?: boolean;\n\n constructor(data?: IScene) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.type = _data[\"type\"];\n this.isDisabled = _data[\"isDisabled\"];\n this.isHidden = _data[\"isHidden\"];\n this.isEditable = _data[\"isEditable\"];\n this.isSceneFromServer = _data[\"isSceneFromServer\"];\n if (Array.isArray(_data[\"actions\"])) {\n this.actions = [] as any;\n for (let item of _data[\"actions\"])\n this.actions!.push(Action.fromJS(item));\n }\n if (Array.isArray(_data[\"triggers\"])) {\n this.triggers = [] as any;\n for (let item of _data[\"triggers\"])\n this.triggers!.push(Trigger.fromJS(item));\n }\n if (Array.isArray(_data[\"conditions\"])) {\n this.conditions = [] as any;\n for (let item of _data[\"conditions\"])\n this.conditions!.push(Condition.fromJS(item));\n }\n this.room_id = _data[\"room_id\"];\n this.share = _data[\"share\"];\n this.user = _data[\"user\"];\n this.category = _data[\"category\"];\n this.preconditionSelected = _data[\"preconditionSelected\"];\n this.isColorChanged = _data[\"isColorChanged\"];\n }\n }\n\n static fromJS(data: any): Scene {\n data = typeof data === 'object' ? data : {};\n let result = new Scene();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"isDisabled\"] = this.isDisabled;\n data[\"isHidden\"] = this.isHidden;\n data[\"isEditable\"] = this.isEditable;\n data[\"isSceneFromServer\"] = this.isSceneFromServer;\n if (Array.isArray(this.actions)) {\n data[\"actions\"] = [];\n for (let item of this.actions)\n data[\"actions\"].push(item.toJSON());\n }\n if (Array.isArray(this.triggers)) {\n data[\"triggers\"] = [];\n for (let item of this.triggers)\n data[\"triggers\"].push(item.toJSON());\n }\n if (Array.isArray(this.conditions)) {\n data[\"conditions\"] = [];\n for (let item of this.conditions)\n data[\"conditions\"].push(item.toJSON());\n }\n data[\"room_id\"] = this.room_id;\n data[\"share\"] = this.share;\n data[\"user\"] = this.user;\n data[\"category\"] = this.category;\n data[\"preconditionSelected\"] = this.preconditionSelected;\n data[\"isColorChanged\"] = this.isColorChanged;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IScene extends ILinkableObject {\n type?: SceneType;\n isDisabled?: boolean;\n isHidden?: boolean;\n isEditable?: boolean;\n isSceneFromServer?: boolean;\n actions?: Action[] | undefined;\n triggers?: Trigger[] | undefined;\n conditions?: Condition[] | undefined;\n room_id?: string | undefined;\n share?: boolean;\n user?: string | undefined;\n category?: string | undefined;\n preconditionSelected?: SceneThermostatModalityState;\n isColorChanged?: boolean;\n}\n\n/** 0 = None 1 = Open 2 = Close */\nexport enum SceneBlindState {\n None = 0,\n Open = 1,\n Close = 2,\n}\n\n/** 0 = Blue 1 = LightPurple 2 = Magenta 3 = Fuchsia 4 = Red 5 = Orange 6 = Yellow 7 = Lime 8 = Green 9 = AcquaGreen 10 = LightBlue 11 = LightBlueSky */\nexport enum SceneColoredLightsColor {\n Blue = 0,\n LightPurple = 1,\n Magenta = 2,\n Fuchsia = 3,\n Red = 4,\n Orange = 5,\n Yellow = 6,\n Lime = 7,\n Green = 8,\n AcquaGreen = 9,\n LightBlue = 10,\n LightBlueSky = 11,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneColoredLightsState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneDimmerPowerState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Dimmer 2 = Power */\nexport enum SceneDimmerState {\n None = 0,\n Dimmer = 1,\n Power = 2,\n}\n\n/** 0 = None 1 = One 2 = Two 3 = Three */\nexport enum SceneFancoilSpeedState {\n None = 0,\n One = 1,\n Two = 2,\n Three = 3,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneFancoilState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneLightState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = On 2 = Off 3 = Force 4 = Shedded 5 = Power 6 = UnForce */\nexport enum SceneLoadManagementState {\n None = 0,\n On = 1,\n Off = 2,\n Force = 3,\n Shedded = 4,\n Power = 5,\n UnForce = 6,\n}\n\n/** 0 = None 1 = On */\nexport enum SceneLockState {\n None = 0,\n On = 1,\n}\n\n/** 0 = None 1 = Stop 2 = Play 3 = Pause */\nexport enum ScenePlayerState {\n None = 0,\n Stop = 1,\n Play = 2,\n Pause = 3,\n}\n\n/** 0 = None 1 = Power 2 = Volume */\nexport enum ScenePlayerTriggerMode {\n None = 0,\n Power = 1,\n Volume = 2,\n}\n\n/** 0 = None 1 = Movement 2 = Position */\nexport enum SceneShutterModality {\n None = 0,\n Movement = 1,\n Position = 2,\n}\n\n/** 0 = None 1 = Up 2 = Stop 3 = Down */\nexport enum SceneShutterState {\n None = 0,\n Up = 1,\n Stop = 2,\n Down = 3,\n}\n\n/** 0 = None 1 = On 2 = Off */\nexport enum SceneSocketState {\n None = 0,\n On = 1,\n Off = 2,\n}\n\n/** 0 = None 1 = Equal 2 = Different 3 = Higher 4 = Lower 5 = Any */\nexport enum SceneStateComparer {\n None = 0,\n Equal = 1,\n Different = 2,\n Higher = 3,\n Lower = 4,\n Any = 5,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneThermostatConditionState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\n/** 0 = None 1 = Heating 2 = Cooling 3 = Auto 5 = Off */\nexport enum SceneThermostatModalityState {\n None = 0,\n Heating = 1,\n Cooling = 2,\n Auto = 3,\n Off = 5,\n}\n\n/** 0 = None 1 = Modality 2 = Temperature 3 = DesiredTemperature 4 = Condition 5 = Humidity */\nexport enum SceneThermostatState {\n None = 0,\n Modality = 1,\n Temperature = 2,\n DesiredTemperature = 3,\n Condition = 4,\n Humidity = 5,\n}\n\n/** 0 = Off 1 = On 2 = None */\nexport enum SceneTowelWarmerState {\n Off = 0,\n On = 1,\n None = 2,\n}\n\n/** 0 = Wake_Up 1 = BedTime 2 = Home 3 = Away 4 = Custom */\nexport enum SceneType {\n Wake_Up = 0,\n BedTime = 1,\n Home = 2,\n Away = 3,\n Custom = 4,\n}\n\n/** 0 = None 1 = Sunrise 2 = Sunset */\nexport enum SceneWeatherCrepuscular {\n None = 0,\n Sunrise = 1,\n Sunset = 2,\n}\n\n/** 0 = None 1 = Sunny 2 = Rain 3 = Storm 4 = Cloudy 5 = Snow 6 = Foggy */\nexport enum SceneWeatherForecastState {\n None = 0,\n Sunny = 1,\n Rain = 2,\n Storm = 3,\n Cloudy = 4,\n Snow = 5,\n Foggy = 6,\n}\n\n/** 0 = None 1 = Temperature 2 = Wind 3 = Humidity 4 = WeatherForecast 5 = Crepuscular */\nexport enum SceneWeatherModality {\n None = 0,\n Temperature = 1,\n Wind = 2,\n Humidity = 3,\n WeatherForecast = 4,\n Crepuscular = 5,\n}\n\n/** 0 = Samelevel 1 = Riser 2 = Building 3 = Backbone */\nexport enum ScsLevel {\n Samelevel = 0,\n Riser = 1,\n Building = 2,\n Backbone = 3,\n}\n\n/** 0 = None 1 = WithDate 2 = WithDevice 3 = WithTemperature */\nexport enum SeasonChangeAutoType {\n None = 0,\n WithDate = 1,\n WithDevice = 2,\n WithTemperature = 3,\n}\n\nexport class SelectColorAction extends Action implements ISelectColorAction {\n hasTemperature?: boolean;\n hasColor?: boolean;\n name?: string | undefined;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n\n constructor(data?: ISelectColorAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.hasTemperature = _data[\"hasTemperature\"];\n this.hasColor = _data[\"hasColor\"];\n this.name = _data[\"name\"];\n this.selectedColor = _data[\"selectedColor\"] ? Color.fromJS(_data[\"selectedColor\"]) : undefined;\n this.workingMode = _data[\"workingMode\"];\n this.temperature = _data[\"temperature\"];\n }\n }\n\n static fromJS(data: any): SelectColorAction {\n data = typeof data === 'object' ? data : {};\n let result = new SelectColorAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasTemperature\"] = this.hasTemperature;\n data[\"hasColor\"] = this.hasColor;\n data[\"name\"] = this.name;\n data[\"selectedColor\"] = this.selectedColor ? this.selectedColor.toJSON() : undefined;\n data[\"workingMode\"] = this.workingMode;\n data[\"temperature\"] = this.temperature;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ISelectColorAction extends IAction {\n hasTemperature?: boolean;\n hasColor?: boolean;\n name?: string | undefined;\n selectedColor?: Color;\n workingMode?: DimmerWorkingMode;\n temperature?: number;\n}\n\nexport class ShutterActuatorSettings extends ActuatorSettings implements IShutterActuatorSettings {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n\n constructor(data?: IShutterActuatorSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.hasPUL = _data[\"hasPUL\"];\n this.shutterMotorType = _data[\"shutterMotorType\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.stopPulseDuration = _data[\"stopPulseDuration\"];\n this.upDownPulseDuration = _data[\"upDownPulseDuration\"];\n this.stopTime = _data[\"stopTime\"];\n this.delayBetweenDoorsTime = _data[\"delayBetweenDoorsTime\"];\n }\n }\n\n static fromJS(data: any): ShutterActuatorSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterActuatorSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasPUL\"] = this.hasPUL;\n data[\"shutterMotorType\"] = this.shutterMotorType;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"stopPulseDuration\"] = this.stopPulseDuration;\n data[\"upDownPulseDuration\"] = this.upDownPulseDuration;\n data[\"stopTime\"] = this.stopTime;\n data[\"delayBetweenDoorsTime\"] = this.delayBetweenDoorsTime;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShutterActuatorSettings extends IActuatorSettings {\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n}\n\nexport class ShutterCommandItemSettingsDTO implements IShutterCommandItemSettingsDTO {\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n presetValue?: number;\n shutterMode?: ShutterMode;\n commandDirection?: CommandDirection;\n hasPreset?: boolean;\n isManagedPosition?: boolean;\n saveTo?: number[] | undefined;\n showBistableAndBladesControl?: boolean;\n showMonostableAndBistable?: boolean;\n showBladesControlAndBistable?: boolean;\n showPreset?: boolean;\n showCommandDirection?: boolean;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n\n constructor(data?: IShutterCommandItemSettingsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasMoreThanOneSlotSettings = _data[\"hasMoreThanOneSlotSettings\"];\n if (Array.isArray(_data[\"indexes\"])) {\n this.indexes = [] as any;\n for (let item of _data[\"indexes\"])\n this.indexes!.push(item);\n }\n this.presetValue = _data[\"presetValue\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.commandDirection = _data[\"commandDirection\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.isManagedPosition = _data[\"isManagedPosition\"];\n if (Array.isArray(_data[\"saveTo\"])) {\n this.saveTo = [] as any;\n for (let item of _data[\"saveTo\"])\n this.saveTo!.push(item);\n }\n this.showBistableAndBladesControl = _data[\"showBistableAndBladesControl\"];\n this.showMonostableAndBistable = _data[\"showMonostableAndBistable\"];\n this.showBladesControlAndBistable = _data[\"showBladesControlAndBistable\"];\n this.showPreset = _data[\"showPreset\"];\n this.showCommandDirection = _data[\"showCommandDirection\"];\n this.isContactTypeVisibile = _data[\"isContactTypeVisibile\"];\n this.conctactType = _data[\"conctactType\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n this.hasChanges = _data[\"hasChanges\"];\n }\n }\n\n static fromJS(data: any): ShutterCommandItemSettingsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandItemSettingsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasMoreThanOneSlotSettings\"] = this.hasMoreThanOneSlotSettings;\n if (Array.isArray(this.indexes)) {\n data[\"indexes\"] = [];\n for (let item of this.indexes)\n data[\"indexes\"].push(item);\n }\n data[\"presetValue\"] = this.presetValue;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"commandDirection\"] = this.commandDirection;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"isManagedPosition\"] = this.isManagedPosition;\n if (Array.isArray(this.saveTo)) {\n data[\"saveTo\"] = [];\n for (let item of this.saveTo)\n data[\"saveTo\"].push(item);\n }\n data[\"showBistableAndBladesControl\"] = this.showBistableAndBladesControl;\n data[\"showMonostableAndBistable\"] = this.showMonostableAndBistable;\n data[\"showBladesControlAndBistable\"] = this.showBladesControlAndBistable;\n data[\"showPreset\"] = this.showPreset;\n data[\"showCommandDirection\"] = this.showCommandDirection;\n data[\"isContactTypeVisibile\"] = this.isContactTypeVisibile;\n data[\"conctactType\"] = this.conctactType;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n data[\"hasChanges\"] = this.hasChanges;\n return data; \n }\n}\n\nexport interface IShutterCommandItemSettingsDTO {\n hasMoreThanOneSlotSettings?: boolean;\n indexes?: number[] | undefined;\n presetValue?: number;\n shutterMode?: ShutterMode;\n commandDirection?: CommandDirection;\n hasPreset?: boolean;\n isManagedPosition?: boolean;\n saveTo?: number[] | undefined;\n showBistableAndBladesControl?: boolean;\n showMonostableAndBistable?: boolean;\n showBladesControlAndBistable?: boolean;\n showPreset?: boolean;\n showCommandDirection?: boolean;\n isContactTypeVisibile?: boolean;\n conctactType?: ConctactType;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n hasChanges?: boolean;\n}\n\nexport class ShutterCommandSettings extends CommandSettings implements IShutterCommandSettings {\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n commandDirection?: CommandDirection;\n typeofContact?: ConctactType;\n\n constructor(data?: IShutterCommandSettings) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.commandDirection = _data[\"commandDirection\"];\n this.typeofContact = _data[\"typeofContact\"];\n }\n }\n\n static fromJS(data: any): ShutterCommandSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ShutterCommandSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"commandDirection\"] = this.commandDirection;\n data[\"typeofContact\"] = this.typeofContact;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShutterCommandSettings extends ICommandSettings {\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n commandDirection?: CommandDirection;\n typeofContact?: ConctactType;\n}\n\n/** 0 = Monostable 1 = Bistable 2 = BistableWithBladesControl 3 = BladesAndBistable 4 = MonostableBistable */\nexport enum ShutterMode {\n Monostable = 0,\n Bistable = 1,\n BistableWithBladesControl = 2,\n BladesAndBistable = 3,\n MonostableBistable = 4,\n}\n\n/** 0 = StandardAutomatic 1 = Standard 2 = Pulse */\nexport enum ShutterMotorType {\n StandardAutomatic = 0,\n Standard = 1,\n Pulse = 2,\n}\n\nexport class ShuttersActuatorSettingsObjectParam implements IShuttersActuatorSettingsObjectParam {\n isManagedPosition?: boolean;\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n isGroupPULVisible?: boolean;\n isGroupMotorTypeVisible?: boolean;\n canHaveStandardAutomaticMotorType?: boolean;\n isGroupModeVisible?: boolean;\n isGroupPresetVisible?: boolean;\n isGroupStopTimeTypeVisible?: boolean;\n isGroupDelayBetweenDoorsVisible?: boolean;\n stopPulseDurationPickerValues?: DelayValue[] | undefined;\n upDownPulseDurationPickerValues?: DelayValue[] | undefined;\n stopTimePickerValues?: DelayValue[] | undefined;\n delayBetweenDoorsTimePickerValues?: DelayValue[] | undefined;\n\n constructor(data?: IShuttersActuatorSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isManagedPosition = _data[\"isManagedPosition\"];\n this.hasPUL = _data[\"hasPUL\"];\n this.shutterMotorType = _data[\"shutterMotorType\"];\n this.stopPulseDuration = _data[\"stopPulseDuration\"];\n this.upDownPulseDuration = _data[\"upDownPulseDuration\"];\n this.shutterMode = _data[\"shutterMode\"];\n this.hasPreset = _data[\"hasPreset\"];\n this.presetValue = _data[\"presetValue\"];\n this.stopTime = _data[\"stopTime\"];\n this.delayBetweenDoorsTime = _data[\"delayBetweenDoorsTime\"];\n this.isGroupPULVisible = _data[\"isGroupPULVisible\"];\n this.isGroupMotorTypeVisible = _data[\"isGroupMotorTypeVisible\"];\n this.canHaveStandardAutomaticMotorType = _data[\"canHaveStandardAutomaticMotorType\"];\n this.isGroupModeVisible = _data[\"isGroupModeVisible\"];\n this.isGroupPresetVisible = _data[\"isGroupPresetVisible\"];\n this.isGroupStopTimeTypeVisible = _data[\"isGroupStopTimeTypeVisible\"];\n this.isGroupDelayBetweenDoorsVisible = _data[\"isGroupDelayBetweenDoorsVisible\"];\n if (Array.isArray(_data[\"stopPulseDurationPickerValues\"])) {\n this.stopPulseDurationPickerValues = [] as any;\n for (let item of _data[\"stopPulseDurationPickerValues\"])\n this.stopPulseDurationPickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"upDownPulseDurationPickerValues\"])) {\n this.upDownPulseDurationPickerValues = [] as any;\n for (let item of _data[\"upDownPulseDurationPickerValues\"])\n this.upDownPulseDurationPickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"stopTimePickerValues\"])) {\n this.stopTimePickerValues = [] as any;\n for (let item of _data[\"stopTimePickerValues\"])\n this.stopTimePickerValues!.push(DelayValue.fromJS(item));\n }\n if (Array.isArray(_data[\"delayBetweenDoorsTimePickerValues\"])) {\n this.delayBetweenDoorsTimePickerValues = [] as any;\n for (let item of _data[\"delayBetweenDoorsTimePickerValues\"])\n this.delayBetweenDoorsTimePickerValues!.push(DelayValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ShuttersActuatorSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new ShuttersActuatorSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isManagedPosition\"] = this.isManagedPosition;\n data[\"hasPUL\"] = this.hasPUL;\n data[\"shutterMotorType\"] = this.shutterMotorType;\n data[\"stopPulseDuration\"] = this.stopPulseDuration;\n data[\"upDownPulseDuration\"] = this.upDownPulseDuration;\n data[\"shutterMode\"] = this.shutterMode;\n data[\"hasPreset\"] = this.hasPreset;\n data[\"presetValue\"] = this.presetValue;\n data[\"stopTime\"] = this.stopTime;\n data[\"delayBetweenDoorsTime\"] = this.delayBetweenDoorsTime;\n data[\"isGroupPULVisible\"] = this.isGroupPULVisible;\n data[\"isGroupMotorTypeVisible\"] = this.isGroupMotorTypeVisible;\n data[\"canHaveStandardAutomaticMotorType\"] = this.canHaveStandardAutomaticMotorType;\n data[\"isGroupModeVisible\"] = this.isGroupModeVisible;\n data[\"isGroupPresetVisible\"] = this.isGroupPresetVisible;\n data[\"isGroupStopTimeTypeVisible\"] = this.isGroupStopTimeTypeVisible;\n data[\"isGroupDelayBetweenDoorsVisible\"] = this.isGroupDelayBetweenDoorsVisible;\n if (Array.isArray(this.stopPulseDurationPickerValues)) {\n data[\"stopPulseDurationPickerValues\"] = [];\n for (let item of this.stopPulseDurationPickerValues)\n data[\"stopPulseDurationPickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.upDownPulseDurationPickerValues)) {\n data[\"upDownPulseDurationPickerValues\"] = [];\n for (let item of this.upDownPulseDurationPickerValues)\n data[\"upDownPulseDurationPickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.stopTimePickerValues)) {\n data[\"stopTimePickerValues\"] = [];\n for (let item of this.stopTimePickerValues)\n data[\"stopTimePickerValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.delayBetweenDoorsTimePickerValues)) {\n data[\"delayBetweenDoorsTimePickerValues\"] = [];\n for (let item of this.delayBetweenDoorsTimePickerValues)\n data[\"delayBetweenDoorsTimePickerValues\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IShuttersActuatorSettingsObjectParam {\n isManagedPosition?: boolean;\n hasPUL?: boolean;\n shutterMotorType?: ShutterMotorType;\n stopPulseDuration?: number;\n upDownPulseDuration?: number;\n shutterMode?: ShutterMode;\n hasPreset?: boolean;\n presetValue?: number;\n stopTime?: number;\n delayBetweenDoorsTime?: number;\n isGroupPULVisible?: boolean;\n isGroupMotorTypeVisible?: boolean;\n canHaveStandardAutomaticMotorType?: boolean;\n isGroupModeVisible?: boolean;\n isGroupPresetVisible?: boolean;\n isGroupStopTimeTypeVisible?: boolean;\n isGroupDelayBetweenDoorsVisible?: boolean;\n stopPulseDurationPickerValues?: DelayValue[] | undefined;\n upDownPulseDurationPickerValues?: DelayValue[] | undefined;\n stopTimePickerValues?: DelayValue[] | undefined;\n delayBetweenDoorsTimePickerValues?: DelayValue[] | undefined;\n}\n\nexport class ShuttersCommandSettingsObjectDTO extends BaseShuttersCommandSettingsObjectDTO implements IShuttersCommandSettingsObjectDTO {\n slots?: ShutterCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n\n constructor(data?: IShuttersCommandSettingsObjectDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"slots\"])) {\n this.slots = [] as any;\n for (let item of _data[\"slots\"])\n this.slots!.push(ShutterCommandItemSettingsDTO.fromJS(item));\n }\n this.hasBrightness = _data[\"hasBrightness\"];\n this.hasBrightness4Params = _data[\"hasBrightness4Params\"];\n this.hasProximity = _data[\"hasProximity\"];\n this.hasStandby = _data[\"hasStandby\"];\n this.hasLedIntentisy = _data[\"hasLedIntentisy\"];\n this.hasLedModality = _data[\"hasLedModality\"];\n this.hasRefreshFeedback = _data[\"hasRefreshFeedback\"];\n this.hasSettings = _data[\"hasSettings\"];\n this.deviceBrightness = _data[\"deviceBrightness\"];\n this.showLedsInStandby = _data[\"showLedsInStandby\"];\n this.isProximityEnabled = _data[\"isProximityEnabled\"];\n this.deviceProximity = _data[\"deviceProximity\"];\n this.ledIntensity = _data[\"ledIntensity\"];\n this.ledModality = _data[\"ledModality\"];\n this.deviceIconsVisibility = _data[\"deviceIconsVisibility\"];\n }\n }\n\n static fromJS(data: any): ShuttersCommandSettingsObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ShuttersCommandSettingsObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.slots)) {\n data[\"slots\"] = [];\n for (let item of this.slots)\n data[\"slots\"].push(item.toJSON());\n }\n data[\"hasBrightness\"] = this.hasBrightness;\n data[\"hasBrightness4Params\"] = this.hasBrightness4Params;\n data[\"hasProximity\"] = this.hasProximity;\n data[\"hasStandby\"] = this.hasStandby;\n data[\"hasLedIntentisy\"] = this.hasLedIntentisy;\n data[\"hasLedModality\"] = this.hasLedModality;\n data[\"hasRefreshFeedback\"] = this.hasRefreshFeedback;\n data[\"hasSettings\"] = this.hasSettings;\n data[\"deviceBrightness\"] = this.deviceBrightness;\n data[\"showLedsInStandby\"] = this.showLedsInStandby;\n data[\"isProximityEnabled\"] = this.isProximityEnabled;\n data[\"deviceProximity\"] = this.deviceProximity;\n data[\"ledIntensity\"] = this.ledIntensity;\n data[\"ledModality\"] = this.ledModality;\n data[\"deviceIconsVisibility\"] = this.deviceIconsVisibility;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IShuttersCommandSettingsObjectDTO extends IBaseShuttersCommandSettingsObjectDTO {\n slots?: ShutterCommandItemSettingsDTO[] | undefined;\n hasBrightness?: boolean;\n hasBrightness4Params?: boolean;\n hasProximity?: boolean;\n hasStandby?: boolean;\n hasLedIntentisy?: boolean;\n hasLedModality?: boolean;\n hasRefreshFeedback?: boolean;\n hasSettings?: boolean;\n deviceBrightness?: DeviceBrightness;\n showLedsInStandby?: boolean;\n isProximityEnabled?: boolean;\n deviceProximity?: DeviceProximity;\n ledIntensity?: number;\n ledModality?: DeviceLedModality;\n deviceIconsVisibility?: DeviceIconsVisibility;\n}\n\nexport class SimpleIntPickerValue implements ISimpleIntPickerValue {\n value?: number;\n readonly description?: string | undefined;\n\n constructor(data?: ISimpleIntPickerValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n (this).description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): SimpleIntPickerValue {\n data = typeof data === 'object' ? data : {};\n let result = new SimpleIntPickerValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"description\"] = this.description;\n return data; \n }\n}\n\nexport interface ISimpleIntPickerValue {\n value?: number;\n description?: string | undefined;\n}\n\nexport class Slot implements ISlot {\n configured?: boolean;\n id?: string | undefined;\n keyObject?: number;\n links_id?: string[] | undefined;\n groups_id?: string[] | undefined;\n index?: number;\n address?: string | undefined;\n status?: SlotStatus;\n linkedObjects?: LinkableObject[] | undefined;\n configurationType?: ConfigurationType;\n modalityTypeConfiguration?: ActuatorModalityType;\n thermoActuatorTypes?: { [key: string]: ThermoActuatorType; } | undefined;\n assignedComponentType?: ComponentType;\n isSetting?: boolean;\n commandIcon?: CommandIcon;\n paramsKo?: ParamCreateLinkModule[] | undefined;\n scenes_id?: ParamsScenesId[] | undefined;\n commandSettings?: CommandSettings | undefined;\n probeSettings?: ProbeSettings;\n actuatorSettings?: ActuatorSettings | undefined;\n isShutterSelfCommandActuatorSlot?: boolean;\n mX_Id_ThermoCU?: string | undefined;\n destinationLevel?: number;\n indexFather?: number;\n overWrite?: boolean;\n\n constructor(data?: ISlot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.configured = _data[\"configured\"];\n this.id = _data[\"id\"];\n this.keyObject = _data[\"keyObject\"];\n if (Array.isArray(_data[\"links_id\"])) {\n this.links_id = [] as any;\n for (let item of _data[\"links_id\"])\n this.links_id!.push(item);\n }\n if (Array.isArray(_data[\"groups_id\"])) {\n this.groups_id = [] as any;\n for (let item of _data[\"groups_id\"])\n this.groups_id!.push(item);\n }\n this.index = _data[\"index\"];\n this.address = _data[\"address\"];\n this.status = _data[\"status\"];\n if (Array.isArray(_data[\"linkedObjects\"])) {\n this.linkedObjects = [] as any;\n for (let item of _data[\"linkedObjects\"])\n this.linkedObjects!.push(LinkableObject.fromJS(item));\n }\n this.configurationType = _data[\"configurationType\"];\n this.modalityTypeConfiguration = _data[\"modalityTypeConfiguration\"];\n if (_data[\"thermoActuatorTypes\"]) {\n this.thermoActuatorTypes = {} as any;\n for (let key in _data[\"thermoActuatorTypes\"]) {\n if (_data[\"thermoActuatorTypes\"].hasOwnProperty(key))\n (this.thermoActuatorTypes)![key] = _data[\"thermoActuatorTypes\"][key];\n }\n }\n this.assignedComponentType = _data[\"assignedComponentType\"];\n this.isSetting = _data[\"isSetting\"];\n this.commandIcon = _data[\"commandIcon\"];\n if (Array.isArray(_data[\"paramsKo\"])) {\n this.paramsKo = [] as any;\n for (let item of _data[\"paramsKo\"])\n this.paramsKo!.push(ParamCreateLinkModule.fromJS(item));\n }\n if (Array.isArray(_data[\"scenes_id\"])) {\n this.scenes_id = [] as any;\n for (let item of _data[\"scenes_id\"])\n this.scenes_id!.push(ParamsScenesId.fromJS(item));\n }\n this.commandSettings = _data[\"commandSettings\"] ? CommandSettings.fromJS(_data[\"commandSettings\"]) : undefined;\n this.probeSettings = _data[\"probeSettings\"] ? ProbeSettings.fromJS(_data[\"probeSettings\"]) : undefined;\n this.actuatorSettings = _data[\"actuatorSettings\"] ? ActuatorSettings.fromJS(_data[\"actuatorSettings\"]) : undefined;\n this.isShutterSelfCommandActuatorSlot = _data[\"isShutterSelfCommandActuatorSlot\"];\n this.mX_Id_ThermoCU = _data[\"mX_Id_ThermoCU\"];\n this.destinationLevel = _data[\"destinationLevel\"];\n this.indexFather = _data[\"indexFather\"];\n this.overWrite = _data[\"overWrite\"];\n }\n }\n\n static fromJS(data: any): Slot {\n data = typeof data === 'object' ? data : {};\n let result = new Slot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"configured\"] = this.configured;\n data[\"id\"] = this.id;\n data[\"keyObject\"] = this.keyObject;\n if (Array.isArray(this.links_id)) {\n data[\"links_id\"] = [];\n for (let item of this.links_id)\n data[\"links_id\"].push(item);\n }\n if (Array.isArray(this.groups_id)) {\n data[\"groups_id\"] = [];\n for (let item of this.groups_id)\n data[\"groups_id\"].push(item);\n }\n data[\"index\"] = this.index;\n data[\"address\"] = this.address;\n data[\"status\"] = this.status;\n if (Array.isArray(this.linkedObjects)) {\n data[\"linkedObjects\"] = [];\n for (let item of this.linkedObjects)\n data[\"linkedObjects\"].push(item.toJSON());\n }\n data[\"configurationType\"] = this.configurationType;\n data[\"modalityTypeConfiguration\"] = this.modalityTypeConfiguration;\n if (this.thermoActuatorTypes) {\n data[\"thermoActuatorTypes\"] = {};\n for (let key in this.thermoActuatorTypes) {\n if (this.thermoActuatorTypes.hasOwnProperty(key))\n (data[\"thermoActuatorTypes\"])[key] = this.thermoActuatorTypes[key];\n }\n }\n data[\"assignedComponentType\"] = this.assignedComponentType;\n data[\"isSetting\"] = this.isSetting;\n data[\"commandIcon\"] = this.commandIcon;\n if (Array.isArray(this.paramsKo)) {\n data[\"paramsKo\"] = [];\n for (let item of this.paramsKo)\n data[\"paramsKo\"].push(item.toJSON());\n }\n if (Array.isArray(this.scenes_id)) {\n data[\"scenes_id\"] = [];\n for (let item of this.scenes_id)\n data[\"scenes_id\"].push(item.toJSON());\n }\n data[\"commandSettings\"] = this.commandSettings ? this.commandSettings.toJSON() : undefined;\n data[\"probeSettings\"] = this.probeSettings ? this.probeSettings.toJSON() : undefined;\n data[\"actuatorSettings\"] = this.actuatorSettings ? this.actuatorSettings.toJSON() : undefined;\n data[\"isShutterSelfCommandActuatorSlot\"] = this.isShutterSelfCommandActuatorSlot;\n data[\"mX_Id_ThermoCU\"] = this.mX_Id_ThermoCU;\n data[\"destinationLevel\"] = this.destinationLevel;\n data[\"indexFather\"] = this.indexFather;\n data[\"overWrite\"] = this.overWrite;\n return data; \n }\n}\n\nexport interface ISlot {\n configured?: boolean;\n id?: string | undefined;\n keyObject?: number;\n links_id?: string[] | undefined;\n groups_id?: string[] | undefined;\n index?: number;\n address?: string | undefined;\n status?: SlotStatus;\n linkedObjects?: LinkableObject[] | undefined;\n configurationType?: ConfigurationType;\n modalityTypeConfiguration?: ActuatorModalityType;\n thermoActuatorTypes?: { [key: string]: ThermoActuatorType; } | undefined;\n assignedComponentType?: ComponentType;\n isSetting?: boolean;\n commandIcon?: CommandIcon;\n paramsKo?: ParamCreateLinkModule[] | undefined;\n scenes_id?: ParamsScenesId[] | undefined;\n commandSettings?: CommandSettings | undefined;\n probeSettings?: ProbeSettings;\n actuatorSettings?: ActuatorSettings | undefined;\n isShutterSelfCommandActuatorSlot?: boolean;\n mX_Id_ThermoCU?: string | undefined;\n destinationLevel?: number;\n indexFather?: number;\n overWrite?: boolean;\n}\n\n/** 0 = Configured 1 = NotConfigured 2 = NotUsed 3 = MarkedForLinking 4 = MarkedAdjacent 5 = NoLoad 6 = NoCompatible */\nexport enum SlotStatus {\n Configured = 0,\n NotConfigured = 1,\n NotUsed = 2,\n MarkedForLinking = 3,\n MarkedAdjacent = 4,\n NoLoad = 5,\n NoCompatible = 6,\n}\n\n/** 0 = None 1 = OneOnOffValve 2 = OneOpenCloseValve 3 = OneProportionalValve 4 = TwoTubesOnOffValve 5 = TwoTubesProportionalValve 6 = TwoTubesProportionalSpeedControlValve 7 = FourTubesOnOffValve 8 = FourTubesProportionalValve 9 = FourTubesProportionalSpeedControlValve 10 = GatewayMode 11 = Pump */\nexport enum SystemControlType {\n None = 0,\n OneOnOffValve = 1,\n OneOpenCloseValve = 2,\n OneProportionalValve = 3,\n TwoTubesOnOffValve = 4,\n TwoTubesProportionalValve = 5,\n TwoTubesProportionalSpeedControlValve = 6,\n FourTubesOnOffValve = 7,\n FourTubesProportionalValve = 8,\n FourTubesProportionalSpeedControlValve = 9,\n GatewayMode = 10,\n Pump = 11,\n}\n\n/** 0 = Scs 1 = Zigbee */\nexport enum SystemType {\n Scs = 0,\n Zigbee = 1,\n}\n\n/** 0 = Celsius 1 = Fahrenheit */\nexport enum TemperatureType {\n Celsius = 0,\n Fahrenheit = 1,\n}\n\nexport class ThermoActuactor implements IThermoActuactor {\n number?: number;\n function?: ThermoActuatorType;\n valve?: boolean;\n id?: string[] | undefined;\n\n constructor(data?: IThermoActuactor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.function = _data[\"function\"];\n this.valve = _data[\"valve\"];\n if (Array.isArray(_data[\"id\"])) {\n this.id = [] as any;\n for (let item of _data[\"id\"])\n this.id!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ThermoActuactor {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoActuactor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"function\"] = this.function;\n data[\"valve\"] = this.valve;\n if (Array.isArray(this.id)) {\n data[\"id\"] = [];\n for (let item of this.id)\n data[\"id\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IThermoActuactor {\n number?: number;\n function?: ThermoActuatorType;\n valve?: boolean;\n id?: string[] | undefined;\n}\n\n/** 0 = None 1 = HeatingValve 2 = HeatingPump 3 = CoolingValve 4 = CoolingPump 5 = SharedValve 6 = SharedPump 7 = HeatingAndCoolingPump 8 = HeatingAndCoolingValve */\nexport enum ThermoActuatorType {\n None = 0,\n HeatingValve = 1,\n HeatingPump = 2,\n CoolingValve = 3,\n CoolingPump = 4,\n SharedValve = 5,\n SharedPump = 6,\n HeatingAndCoolingPump = 7,\n HeatingAndCoolingValve = 8,\n}\n\n/** 0 = None 1 = Yes 2 = No */\nexport enum ThermoAssociatedPump {\n None = 0,\n Yes = 1,\n No = 2,\n}\n\nexport class ThermoOldInformation implements IThermoOldInformation {\n address?: string | undefined;\n links_id?: string[] | undefined;\n\n constructor(data?: IThermoOldInformation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.address = _data[\"address\"];\n if (Array.isArray(_data[\"links_id\"])) {\n this.links_id = [] as any;\n for (let item of _data[\"links_id\"])\n this.links_id!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ThermoOldInformation {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoOldInformation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n if (Array.isArray(this.links_id)) {\n data[\"links_id\"] = [];\n for (let item of this.links_id)\n data[\"links_id\"].push(item);\n }\n return data; \n }\n}\n\nexport interface IThermoOldInformation {\n address?: string | undefined;\n links_id?: string[] | undefined;\n}\n\nexport class ThermoProbeSettingsObjectParam implements IThermoProbeSettingsObjectParam {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n isLedmanagedVisible?: boolean;\n isExternalSensorTypeVisible?: boolean;\n\n constructor(data?: IThermoProbeSettingsObjectParam) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isLedmanaged = _data[\"isLedmanaged\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isLedmanagedVisible = _data[\"isLedmanagedVisible\"];\n this.isExternalSensorTypeVisible = _data[\"isExternalSensorTypeVisible\"];\n }\n }\n\n static fromJS(data: any): ThermoProbeSettingsObjectParam {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoProbeSettingsObjectParam();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isLedmanaged\"] = this.isLedmanaged;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isLedmanagedVisible\"] = this.isLedmanagedVisible;\n data[\"isExternalSensorTypeVisible\"] = this.isExternalSensorTypeVisible;\n return data; \n }\n}\n\nexport interface IThermoProbeSettingsObjectParam {\n isLedmanaged?: boolean;\n externalSensorType?: ExternalSensorType;\n isLedmanagedVisible?: boolean;\n isExternalSensorTypeVisible?: boolean;\n}\n\nexport class ThermoRoomObjectDTO implements IThermoRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n heatingSystemControlType?: SystemControlType;\n coolingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n configurationSteps?: number;\n nextStep?: number;\n objectDuplication?: ObjectDuplication;\n resetType?: ResetType;\n isApplyAllTemperatureRange?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n isApplyAllCirculationPumpDelay?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n isApplyAllCelsiusFahrenheit?: boolean;\n temperatureType?: TemperatureType;\n isApplyAllButtonsManagement?: boolean;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isApplyAllBacklight?: boolean;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isApplyAllWindowsContact?: boolean;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isInterlockingExcluded?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n pumpsDelay?: string;\n thermoUKFanSpeed?: number;\n thermoUKFanSpeed2?: number;\n thermoUKFanSpeed3?: number;\n plantId?: string | undefined;\n roomId?: string | undefined;\n extDevices?: ExtDevice[] | undefined;\n roomObjectType?: RoomObjectType;\n isNotFullyConfigured?: boolean;\n isEdit?: boolean;\n isApplyAllTemperatureVisualization?: boolean;\n isTemperatureDisplayed?: boolean;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n thermoOldInformation?: ThermoOldInformation;\n thermo?: ThermoActuactor[] | undefined;\n tempAddressPumps?: AddressPumps[] | undefined;\n\n constructor(data?: IThermoRoomObjectDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"devices\"])) {\n this.devices = [] as any;\n for (let item of _data[\"devices\"])\n this.devices!.push(DeviceDTO.fromJS(item));\n }\n this.type = _data[\"type\"];\n this.thermoTypeOfObject = _data[\"thermoTypeOfObject\"];\n this.thermoAssociatedPump = _data[\"thermoAssociatedPump\"];\n this.actuatorModalityType = _data[\"actuatorModalityType\"];\n this.heatingSystemControlType = _data[\"heatingSystemControlType\"];\n this.coolingSystemControlType = _data[\"coolingSystemControlType\"];\n this.sharedSystemControlType = _data[\"sharedSystemControlType\"];\n this.configurationSteps = _data[\"configurationSteps\"];\n this.nextStep = _data[\"nextStep\"];\n this.objectDuplication = _data[\"objectDuplication\"];\n this.resetType = _data[\"resetType\"];\n this.isApplyAllTemperatureRange = _data[\"isApplyAllTemperatureRange\"];\n this.heatingSetpointLow = _data[\"heatingSetpointLow\"];\n this.heatingSetpointHigh = _data[\"heatingSetpointHigh\"];\n this.heatingAntifreeze = _data[\"heatingAntifreeze\"];\n this.coolingSetpointLow = _data[\"coolingSetpointLow\"];\n this.coolingSetpointHigh = _data[\"coolingSetpointHigh\"];\n this.coolingThermalProtection = _data[\"coolingThermalProtection\"];\n this.isAutoCommutation = _data[\"isAutoCommutation\"];\n this.isApplyAllCirculationPumpDelay = _data[\"isApplyAllCirculationPumpDelay\"];\n this.delayHeatingPumps = _data[\"delayHeatingPumps\"];\n this.delayCoolingPumps = _data[\"delayCoolingPumps\"];\n this.isApplyAllCelsiusFahrenheit = _data[\"isApplyAllCelsiusFahrenheit\"];\n this.temperatureType = _data[\"temperatureType\"];\n this.isApplyAllButtonsManagement = _data[\"isApplyAllButtonsManagement\"];\n this.areButtonsEnabled = _data[\"areButtonsEnabled\"];\n this.externalSensorType = _data[\"externalSensorType\"];\n this.isApplyAllBacklight = _data[\"isApplyAllBacklight\"];\n this.isBacklightEnabled = _data[\"isBacklightEnabled\"];\n this.backlightLevel = _data[\"backlightLevel\"];\n this.isManualHeatingOverrideEnabled = _data[\"isManualHeatingOverrideEnabled\"];\n this.heatingRegulationBand = _data[\"heatingRegulationBand\"];\n this.fanSpeed2ForHeating = _data[\"fanSpeed2ForHeating\"];\n this.fanSpeed3ForHeating = _data[\"fanSpeed3ForHeating\"];\n this.valvesTimeForHeatingFanCoil = _data[\"valvesTimeForHeatingFanCoil\"];\n this.isManualCoolingOverrideEnabled = _data[\"isManualCoolingOverrideEnabled\"];\n this.coolingRegulationBand = _data[\"coolingRegulationBand\"];\n this.fanSpeed2ForCooling = _data[\"fanSpeed2ForCooling\"];\n this.fanSpeed3ForCooling = _data[\"fanSpeed3ForCooling\"];\n this.valvesTimeForCoolingFanCoil = _data[\"valvesTimeForCoolingFanCoil\"];\n this.isApplyAllWindowsContact = _data[\"isApplyAllWindowsContact\"];\n this.isIconAlwaysOff = _data[\"isIconAlwaysOff\"];\n this.isLocalContactNumberEnabled = _data[\"isLocalContactNumberEnabled\"];\n this.numberOfWindowsContact = _data[\"numberOfWindowsContact\"];\n this.openingContactTypeHeating = _data[\"openingContactTypeHeating\"];\n this.openingContactTempHeating = _data[\"openingContactTempHeating\"];\n this.openingContactDelayHeating = _data[\"openingContactDelayHeating\"];\n this.timeoutOpeningHeating = _data[\"timeoutOpeningHeating\"];\n this.closingContactTypeHeating = _data[\"closingContactTypeHeating\"];\n this.closingContactTempHeating = _data[\"closingContactTempHeating\"];\n this.closingContactDelayHeating = _data[\"closingContactDelayHeating\"];\n this.timeoutClosingHeating = _data[\"timeoutClosingHeating\"];\n this.openingContactTypeCooling = _data[\"openingContactTypeCooling\"];\n this.openingContactTempCooling = _data[\"openingContactTempCooling\"];\n this.openingContactDelayCooling = _data[\"openingContactDelayCooling\"];\n this.timeoutOpeningCooling = _data[\"timeoutOpeningCooling\"];\n this.closingContactTypeCooling = _data[\"closingContactTypeCooling\"];\n this.closingContactTempCooling = _data[\"closingContactTempCooling\"];\n this.closingContactDelayCooling = _data[\"closingContactDelayCooling\"];\n this.timeoutClosingCooling = _data[\"timeoutClosingCooling\"];\n this.isInterlockingExcluded = _data[\"isInterlockingExcluded\"];\n this.isWaterCycleEnabled = _data[\"isWaterCycleEnabled\"];\n this.arePumpsOpenedAutomatically = _data[\"arePumpsOpenedAutomatically\"];\n this.minutesToKeepOpen = _data[\"minutesToKeepOpen\"];\n this.openAutomaticallyDaysDelay = _data[\"openAutomaticallyDaysDelay\"];\n this.pumpsDelay = _data[\"pumpsDelay\"];\n this.thermoUKFanSpeed = _data[\"thermoUKFanSpeed\"];\n this.thermoUKFanSpeed2 = _data[\"thermoUKFanSpeed2\"];\n this.thermoUKFanSpeed3 = _data[\"thermoUKFanSpeed3\"];\n this.plantId = _data[\"plantId\"];\n this.roomId = _data[\"roomId\"];\n if (Array.isArray(_data[\"extDevices\"])) {\n this.extDevices = [] as any;\n for (let item of _data[\"extDevices\"])\n this.extDevices!.push(ExtDevice.fromJS(item));\n }\n this.roomObjectType = _data[\"roomObjectType\"];\n this.isNotFullyConfigured = _data[\"isNotFullyConfigured\"];\n this.isEdit = _data[\"isEdit\"];\n this.isApplyAllTemperatureVisualization = _data[\"isApplyAllTemperatureVisualization\"];\n this.isTemperatureDisplayed = _data[\"isTemperatureDisplayed\"];\n this.isCoolingVentilationEnabled = _data[\"isCoolingVentilationEnabled\"];\n this.isHeatingVentilationEnabled = _data[\"isHeatingVentilationEnabled\"];\n this.timeoutCoolingVentilation = _data[\"timeoutCoolingVentilation\"];\n this.timeoutHeatingVentilation = _data[\"timeoutHeatingVentilation\"];\n this.thermoOldInformation = _data[\"thermoOldInformation\"] ? ThermoOldInformation.fromJS(_data[\"thermoOldInformation\"]) : undefined;\n if (Array.isArray(_data[\"thermo\"])) {\n this.thermo = [] as any;\n for (let item of _data[\"thermo\"])\n this.thermo!.push(ThermoActuactor.fromJS(item));\n }\n if (Array.isArray(_data[\"tempAddressPumps\"])) {\n this.tempAddressPumps = [] as any;\n for (let item of _data[\"tempAddressPumps\"])\n this.tempAddressPumps!.push(AddressPumps.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ThermoRoomObjectDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ThermoRoomObjectDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.devices)) {\n data[\"devices\"] = [];\n for (let item of this.devices)\n data[\"devices\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n data[\"thermoTypeOfObject\"] = this.thermoTypeOfObject;\n data[\"thermoAssociatedPump\"] = this.thermoAssociatedPump;\n data[\"actuatorModalityType\"] = this.actuatorModalityType;\n data[\"heatingSystemControlType\"] = this.heatingSystemControlType;\n data[\"coolingSystemControlType\"] = this.coolingSystemControlType;\n data[\"sharedSystemControlType\"] = this.sharedSystemControlType;\n data[\"configurationSteps\"] = this.configurationSteps;\n data[\"nextStep\"] = this.nextStep;\n data[\"objectDuplication\"] = this.objectDuplication;\n data[\"resetType\"] = this.resetType;\n data[\"isApplyAllTemperatureRange\"] = this.isApplyAllTemperatureRange;\n data[\"heatingSetpointLow\"] = this.heatingSetpointLow;\n data[\"heatingSetpointHigh\"] = this.heatingSetpointHigh;\n data[\"heatingAntifreeze\"] = this.heatingAntifreeze;\n data[\"coolingSetpointLow\"] = this.coolingSetpointLow;\n data[\"coolingSetpointHigh\"] = this.coolingSetpointHigh;\n data[\"coolingThermalProtection\"] = this.coolingThermalProtection;\n data[\"isAutoCommutation\"] = this.isAutoCommutation;\n data[\"isApplyAllCirculationPumpDelay\"] = this.isApplyAllCirculationPumpDelay;\n data[\"delayHeatingPumps\"] = this.delayHeatingPumps;\n data[\"delayCoolingPumps\"] = this.delayCoolingPumps;\n data[\"isApplyAllCelsiusFahrenheit\"] = this.isApplyAllCelsiusFahrenheit;\n data[\"temperatureType\"] = this.temperatureType;\n data[\"isApplyAllButtonsManagement\"] = this.isApplyAllButtonsManagement;\n data[\"areButtonsEnabled\"] = this.areButtonsEnabled;\n data[\"externalSensorType\"] = this.externalSensorType;\n data[\"isApplyAllBacklight\"] = this.isApplyAllBacklight;\n data[\"isBacklightEnabled\"] = this.isBacklightEnabled;\n data[\"backlightLevel\"] = this.backlightLevel;\n data[\"isManualHeatingOverrideEnabled\"] = this.isManualHeatingOverrideEnabled;\n data[\"heatingRegulationBand\"] = this.heatingRegulationBand;\n data[\"fanSpeed2ForHeating\"] = this.fanSpeed2ForHeating;\n data[\"fanSpeed3ForHeating\"] = this.fanSpeed3ForHeating;\n data[\"valvesTimeForHeatingFanCoil\"] = this.valvesTimeForHeatingFanCoil;\n data[\"isManualCoolingOverrideEnabled\"] = this.isManualCoolingOverrideEnabled;\n data[\"coolingRegulationBand\"] = this.coolingRegulationBand;\n data[\"fanSpeed2ForCooling\"] = this.fanSpeed2ForCooling;\n data[\"fanSpeed3ForCooling\"] = this.fanSpeed3ForCooling;\n data[\"valvesTimeForCoolingFanCoil\"] = this.valvesTimeForCoolingFanCoil;\n data[\"isApplyAllWindowsContact\"] = this.isApplyAllWindowsContact;\n data[\"isIconAlwaysOff\"] = this.isIconAlwaysOff;\n data[\"isLocalContactNumberEnabled\"] = this.isLocalContactNumberEnabled;\n data[\"numberOfWindowsContact\"] = this.numberOfWindowsContact;\n data[\"openingContactTypeHeating\"] = this.openingContactTypeHeating;\n data[\"openingContactTempHeating\"] = this.openingContactTempHeating;\n data[\"openingContactDelayHeating\"] = this.openingContactDelayHeating;\n data[\"timeoutOpeningHeating\"] = this.timeoutOpeningHeating;\n data[\"closingContactTypeHeating\"] = this.closingContactTypeHeating;\n data[\"closingContactTempHeating\"] = this.closingContactTempHeating;\n data[\"closingContactDelayHeating\"] = this.closingContactDelayHeating;\n data[\"timeoutClosingHeating\"] = this.timeoutClosingHeating;\n data[\"openingContactTypeCooling\"] = this.openingContactTypeCooling;\n data[\"openingContactTempCooling\"] = this.openingContactTempCooling;\n data[\"openingContactDelayCooling\"] = this.openingContactDelayCooling;\n data[\"timeoutOpeningCooling\"] = this.timeoutOpeningCooling;\n data[\"closingContactTypeCooling\"] = this.closingContactTypeCooling;\n data[\"closingContactTempCooling\"] = this.closingContactTempCooling;\n data[\"closingContactDelayCooling\"] = this.closingContactDelayCooling;\n data[\"timeoutClosingCooling\"] = this.timeoutClosingCooling;\n data[\"isInterlockingExcluded\"] = this.isInterlockingExcluded;\n data[\"isWaterCycleEnabled\"] = this.isWaterCycleEnabled;\n data[\"arePumpsOpenedAutomatically\"] = this.arePumpsOpenedAutomatically;\n data[\"minutesToKeepOpen\"] = this.minutesToKeepOpen;\n data[\"openAutomaticallyDaysDelay\"] = this.openAutomaticallyDaysDelay;\n data[\"pumpsDelay\"] = this.pumpsDelay;\n data[\"thermoUKFanSpeed\"] = this.thermoUKFanSpeed;\n data[\"thermoUKFanSpeed2\"] = this.thermoUKFanSpeed2;\n data[\"thermoUKFanSpeed3\"] = this.thermoUKFanSpeed3;\n data[\"plantId\"] = this.plantId;\n data[\"roomId\"] = this.roomId;\n if (Array.isArray(this.extDevices)) {\n data[\"extDevices\"] = [];\n for (let item of this.extDevices)\n data[\"extDevices\"].push(item.toJSON());\n }\n data[\"roomObjectType\"] = this.roomObjectType;\n data[\"isNotFullyConfigured\"] = this.isNotFullyConfigured;\n data[\"isEdit\"] = this.isEdit;\n data[\"isApplyAllTemperatureVisualization\"] = this.isApplyAllTemperatureVisualization;\n data[\"isTemperatureDisplayed\"] = this.isTemperatureDisplayed;\n data[\"isCoolingVentilationEnabled\"] = this.isCoolingVentilationEnabled;\n data[\"isHeatingVentilationEnabled\"] = this.isHeatingVentilationEnabled;\n data[\"timeoutCoolingVentilation\"] = this.timeoutCoolingVentilation;\n data[\"timeoutHeatingVentilation\"] = this.timeoutHeatingVentilation;\n data[\"thermoOldInformation\"] = this.thermoOldInformation ? this.thermoOldInformation.toJSON() : undefined;\n if (Array.isArray(this.thermo)) {\n data[\"thermo\"] = [];\n for (let item of this.thermo)\n data[\"thermo\"].push(item.toJSON());\n }\n if (Array.isArray(this.tempAddressPumps)) {\n data[\"tempAddressPumps\"] = [];\n for (let item of this.tempAddressPumps)\n data[\"tempAddressPumps\"].push(item.toJSON());\n }\n return data; \n }\n}\n\nexport interface IThermoRoomObjectDTO {\n id?: string | undefined;\n name?: string | undefined;\n devices?: DeviceDTO[] | undefined;\n type?: RoomObjectType;\n thermoTypeOfObject?: ThermoTypeOfObject;\n thermoAssociatedPump?: ThermoAssociatedPump;\n actuatorModalityType?: ActuatorModalityType;\n heatingSystemControlType?: SystemControlType;\n coolingSystemControlType?: SystemControlType;\n sharedSystemControlType?: SystemControlType;\n configurationSteps?: number;\n nextStep?: number;\n objectDuplication?: ObjectDuplication;\n resetType?: ResetType;\n isApplyAllTemperatureRange?: boolean;\n heatingSetpointLow?: number;\n heatingSetpointHigh?: number;\n heatingAntifreeze?: number;\n coolingSetpointLow?: number;\n coolingSetpointHigh?: number;\n coolingThermalProtection?: number;\n isAutoCommutation?: boolean;\n isApplyAllCirculationPumpDelay?: boolean;\n delayHeatingPumps?: string;\n delayCoolingPumps?: string;\n isApplyAllCelsiusFahrenheit?: boolean;\n temperatureType?: TemperatureType;\n isApplyAllButtonsManagement?: boolean;\n areButtonsEnabled?: boolean;\n externalSensorType?: ExternalSensorType;\n isApplyAllBacklight?: boolean;\n isBacklightEnabled?: boolean;\n backlightLevel?: number;\n isManualHeatingOverrideEnabled?: boolean;\n heatingRegulationBand?: number;\n fanSpeed2ForHeating?: number;\n fanSpeed3ForHeating?: number;\n valvesTimeForHeatingFanCoil?: string;\n isManualCoolingOverrideEnabled?: boolean;\n coolingRegulationBand?: number;\n fanSpeed2ForCooling?: number;\n fanSpeed3ForCooling?: number;\n valvesTimeForCoolingFanCoil?: string;\n isApplyAllWindowsContact?: boolean;\n isIconAlwaysOff?: boolean;\n isLocalContactNumberEnabled?: boolean;\n numberOfWindowsContact?: number;\n openingContactTypeHeating?: ContactType;\n openingContactTempHeating?: number;\n openingContactDelayHeating?: string;\n timeoutOpeningHeating?: string;\n closingContactTypeHeating?: ContactType;\n closingContactTempHeating?: number;\n closingContactDelayHeating?: string;\n timeoutClosingHeating?: string;\n openingContactTypeCooling?: ContactType;\n openingContactTempCooling?: number;\n openingContactDelayCooling?: string;\n timeoutOpeningCooling?: string;\n closingContactTypeCooling?: ContactType;\n closingContactTempCooling?: number;\n closingContactDelayCooling?: string;\n timeoutClosingCooling?: string;\n isInterlockingExcluded?: boolean;\n isWaterCycleEnabled?: boolean;\n arePumpsOpenedAutomatically?: boolean;\n minutesToKeepOpen?: string;\n openAutomaticallyDaysDelay?: number;\n pumpsDelay?: string;\n thermoUKFanSpeed?: number;\n thermoUKFanSpeed2?: number;\n thermoUKFanSpeed3?: number;\n plantId?: string | undefined;\n roomId?: string | undefined;\n extDevices?: ExtDevice[] | undefined;\n roomObjectType?: RoomObjectType;\n isNotFullyConfigured?: boolean;\n isEdit?: boolean;\n isApplyAllTemperatureVisualization?: boolean;\n isTemperatureDisplayed?: boolean;\n isCoolingVentilationEnabled?: boolean;\n isHeatingVentilationEnabled?: boolean;\n timeoutCoolingVentilation?: string;\n timeoutHeatingVentilation?: string;\n thermoOldInformation?: ThermoOldInformation;\n thermo?: ThermoActuactor[] | undefined;\n tempAddressPumps?: AddressPumps[] | undefined;\n}\n\n/** 0 = None 1 = Heating 2 = Cooling 3 = HeatingAndCooling */\nexport enum ThermoTypeOfObject {\n None = 0,\n Heating = 1,\n Cooling = 2,\n HeatingAndCooling = 3,\n}\n\n/** 0 = Off 1 = Heat 2 = Cool 3 = Auto 4 = None */\nexport enum ThermostatStatus {\n Off = 0,\n Heat = 1,\n Cool = 2,\n Auto = 3,\n None = 4,\n}\n\nexport class TimeCondition extends Condition implements ITimeCondition {\n startTime?: string;\n endTime?: string;\n weekDays?: WeekDay[] | undefined;\n\n constructor(data?: ITimeCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.startTime = _data[\"startTime\"];\n this.endTime = _data[\"endTime\"];\n if (Array.isArray(_data[\"weekDays\"])) {\n this.weekDays = [] as any;\n for (let item of _data[\"weekDays\"])\n this.weekDays!.push(item);\n }\n }\n }\n\n static fromJS(data: any): TimeCondition {\n data = typeof data === 'object' ? data : {};\n let result = new TimeCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startTime\"] = this.startTime;\n data[\"endTime\"] = this.endTime;\n if (Array.isArray(this.weekDays)) {\n data[\"weekDays\"] = [];\n for (let item of this.weekDays)\n data[\"weekDays\"].push(item);\n }\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface ITimeCondition extends ICondition {\n startTime?: string;\n endTime?: string;\n weekDays?: WeekDay[] | undefined;\n}\n\n/** 0 = None 1 = Onedirection 2 = Boththedirections */\nexport enum ToroidDirection {\n None = 0,\n Onedirection = 1,\n Boththedirections = 2,\n}\n\nexport class Version implements IVersion {\n readonly major?: number;\n readonly minor?: number;\n readonly build?: number;\n readonly revision?: number;\n readonly majorRevision?: number;\n readonly minorRevision?: number;\n\n constructor(data?: IVersion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).major = _data[\"major\"];\n (this).minor = _data[\"minor\"];\n (this).build = _data[\"build\"];\n (this).revision = _data[\"revision\"];\n (this).majorRevision = _data[\"majorRevision\"];\n (this).minorRevision = _data[\"minorRevision\"];\n }\n }\n\n static fromJS(data: any): Version {\n data = typeof data === 'object' ? data : {};\n let result = new Version();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"major\"] = this.major;\n data[\"minor\"] = this.minor;\n data[\"build\"] = this.build;\n data[\"revision\"] = this.revision;\n data[\"majorRevision\"] = this.majorRevision;\n data[\"minorRevision\"] = this.minorRevision;\n return data; \n }\n}\n\nexport interface IVersion {\n major?: number;\n minor?: number;\n build?: number;\n revision?: number;\n majorRevision?: number;\n minorRevision?: number;\n}\n\nexport class WaitTimeAction extends Action implements IWaitTimeAction {\n waitTime?: string;\n\n constructor(data?: IWaitTimeAction) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.waitTime = _data[\"waitTime\"];\n }\n }\n\n static fromJS(data: any): WaitTimeAction {\n data = typeof data === 'object' ? data : {};\n let result = new WaitTimeAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"waitTime\"] = this.waitTime;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWaitTimeAction extends IAction {\n waitTime?: string;\n}\n\nexport class WeatherCondition extends Condition implements IWeatherCondition {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n\n constructor(data?: IWeatherCondition) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.weatherStateComparer = _data[\"weatherStateComparer\"];\n this.weatherTemperature = _data[\"weatherTemperature\"];\n this.sceneWeatherModality = _data[\"sceneWeatherModality\"];\n this.weatherWindSpeed = _data[\"weatherWindSpeed\"];\n this.humidityPercentage = _data[\"humidityPercentage\"];\n this.sceneWeatherForecastState = _data[\"sceneWeatherForecastState\"];\n this.sceneWeatherCrepuscular = _data[\"sceneWeatherCrepuscular\"];\n }\n }\n\n static fromJS(data: any): WeatherCondition {\n data = typeof data === 'object' ? data : {};\n let result = new WeatherCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"weatherStateComparer\"] = this.weatherStateComparer;\n data[\"weatherTemperature\"] = this.weatherTemperature;\n data[\"sceneWeatherModality\"] = this.sceneWeatherModality;\n data[\"weatherWindSpeed\"] = this.weatherWindSpeed;\n data[\"humidityPercentage\"] = this.humidityPercentage;\n data[\"sceneWeatherForecastState\"] = this.sceneWeatherForecastState;\n data[\"sceneWeatherCrepuscular\"] = this.sceneWeatherCrepuscular;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWeatherCondition extends ICondition {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n}\n\nexport class WeatherTrigger extends Trigger implements IWeatherTrigger {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n\n constructor(data?: IWeatherTrigger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.weatherStateComparer = _data[\"weatherStateComparer\"];\n this.weatherTemperature = _data[\"weatherTemperature\"];\n this.sceneWeatherModality = _data[\"sceneWeatherModality\"];\n this.weatherWindSpeed = _data[\"weatherWindSpeed\"];\n this.humidityPercentage = _data[\"humidityPercentage\"];\n this.sceneWeatherForecastState = _data[\"sceneWeatherForecastState\"];\n this.sceneWeatherCrepuscular = _data[\"sceneWeatherCrepuscular\"];\n }\n }\n\n static fromJS(data: any): WeatherTrigger {\n data = typeof data === 'object' ? data : {};\n let result = new WeatherTrigger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"weatherStateComparer\"] = this.weatherStateComparer;\n data[\"weatherTemperature\"] = this.weatherTemperature;\n data[\"sceneWeatherModality\"] = this.sceneWeatherModality;\n data[\"weatherWindSpeed\"] = this.weatherWindSpeed;\n data[\"humidityPercentage\"] = this.humidityPercentage;\n data[\"sceneWeatherForecastState\"] = this.sceneWeatherForecastState;\n data[\"sceneWeatherCrepuscular\"] = this.sceneWeatherCrepuscular;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IWeatherTrigger extends ITrigger {\n weatherStateComparer?: SceneStateComparer;\n weatherTemperature?: number;\n sceneWeatherModality?: SceneWeatherModality;\n weatherWindSpeed?: number;\n humidityPercentage?: number;\n sceneWeatherForecastState?: SceneWeatherForecastState;\n sceneWeatherCrepuscular?: SceneWeatherCrepuscular;\n}\n\n/** 0 = Monday 1 = Tuesday 2 = Wednesday 3 = Thursday 4 = Friday 5 = Saturday 6 = Sunday */\nexport enum WeekDay {\n Monday = 0,\n Tuesday = 1,\n Wednesday = 2,\n Thursday = 3,\n Friday = 4,\n Saturday = 5,\n Sunday = 6,\n}\n\nexport class XmeterExtDevice extends ExtDevice implements IXmeterExtDevice {\n readonly address?: string | undefined;\n\n constructor(data?: IXmeterExtDevice) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): XmeterExtDevice {\n data = typeof data === 'object' ? data : {};\n let result = new XmeterExtDevice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n super.toJSON(data);\n return data; \n }\n}\n\nexport interface IXmeterExtDevice extends IExtDevice {\n address?: string | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}","module.exports = __webpack_public_path__ + \"img/apt-2@3x.8d09eb74.jpg\";","module.exports = __webpack_public_path__ + \"img/apt-1.0233ee25.jpg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./TheSidebar.scss?vue&type=style&index=0&lang=scss\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"layout-main__container\" }\nconst _hoisted_2 = { class: \"layout-main__content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_TheHeader = _resolveComponent(\"TheHeader\")\n const _component_router_view = _resolveComponent(\"router-view\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_TheSidebar = _resolveComponent(\"TheSidebar\")\n const _component_Toast = _resolveComponent(\"Toast\")\n\n return (_openBlock(), _createBlock(\"div\", {\n class: [\"layout-main\", [_ctx.routeName, _ctx.showSidebar ? 'has--sidebar' : null]]\n }, [\n _createVNode(_component_TheHeader, { class: \"layout-main__header\" }),\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(_component_ElScrollbar, null, {\n default: _withCtx(() => [\n _createVNode(\"main\", _hoisted_2, [\n _createVNode(_component_router_view)\n ])\n ]),\n _: 1\n }),\n (_ctx.showSidebar)\n ? (_openBlock(), _createBlock(_component_TheSidebar, {\n key: 0,\n class: \"layout-main__nav\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Toast, {\n position: \"top-center\",\n class: \"layout-main__toasts\"\n })\n ])\n ], 2))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives, mergeProps as _mergeProps, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"fs-12 text-gray ml-2\" }\nconst _hoisted_2 = { class: \"navbar-nav ml-auto\" }\nconst _hoisted_3 = { class: \"nav-item\" }\nconst _hoisted_4 = { class: \"nav-link__icon bt-icon\" }\nconst _hoisted_5 = { class: \"nav-link__label\" }\nconst _hoisted_6 = { class: \"nav-item\" }\nconst _hoisted_7 = {\n class: \"nav-link\",\n to: \"\"\n}\nconst _hoisted_8 = { class: \"nav-link__icon bt-icon\" }\nconst _hoisted_9 = { class: \"nav-link__label\" }\nconst _hoisted_10 = { class: \"bt-icon bt-icon--sm mr-3 text-gray\" }\nconst _hoisted_11 = { class: \"nav-item\" }\nconst _hoisted_12 = { class: \"nav-link\" }\nconst _hoisted_13 = { class: \"nav-link__icon bt-icon\" }\nconst _hoisted_14 = { class: \"nav-link__label\" }\nconst _hoisted_15 = { class: \"btn-stripped\" }\nconst _hoisted_16 = { class: \"btn-stripped\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_router_link = _resolveComponent(\"router-link\")\n const _component_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_DialogReportProblem = _resolveComponent(\"DialogReportProblem\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"header\", _mergeProps(_ctx.$attrs, { class: \"navbar navbar--main navbar-expand-lg\" }), [\n _createVNode(_component_router_link, {\n class: \"navbar-brand text-uppercase\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/logo.svg`),\n class: \"mr-2\"\n }, null, 8, [\"src\"]),\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/logo-text-min.svg`)\n }, null, 8, [\"src\"]),\n _createVNode(\"small\", _hoisted_1, _toDisplayString(_ctx.version), 1)\n ]),\n _: 1\n }),\n _createVNode(\"ul\", _hoisted_2, [\n _createVNode(\"li\", _hoisted_3, [\n _createVNode(_component_router_link, {\n class: \"nav-link\",\n to: { name: 'page-plants-list' }\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_4, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-plants.svg`)\n ,\n \"aria-label\": \"icon-plants\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResource.Plants\")), 1)\n ]),\n _: 1\n })\n ]),\n _createVNode(\"li\", _hoisted_6, [\n _createVNode(_component_ElDropdown, {\n trigger: \"click\",\n placement: \"bottom-end\",\n \"popper-class\": \"el-dropdown__popper el-dropdown--context\"\n }, {\n dropdown: _withCtx(() => [\n _createVNode(_component_ElDropdownMenu, { style: {\"width\":\"240px\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_ElDropdownItem, null, {\n default: _withCtx(() => [\n _createVNode(\"button\", {\n class: \"btn-stripped d-flex align-items-center\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.toggleReportProblemDialog && _ctx.toggleReportProblemDialog(...args)))\n }, [\n _createVNode(\"span\", _hoisted_10, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-mail.svg')\n ,\n \"aria-label\": \"icon-report_a_problem\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"AppResource.ReportaProblem\")), 1)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_7, [\n _createVNode(\"span\", _hoisted_8, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-setting.svg`)\n ,\n \"aria-label\": \"icon-setting\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t(\"AppResource.Settings\")), 1)\n ])\n ]),\n _: 1\n })\n ]),\n _createVNode(\"li\", _hoisted_11, [\n _createVNode(_component_ElDropdown, { trigger: \"click\" }, {\n dropdown: _withCtx(() => [\n _createVNode(_component_ElDropdownMenu, null, {\n default: _withCtx(() => [\n _withDirectives(_createVNode(_component_ElDropdownItem, {\n onClick: _withModifiers(_ctx.toggleDialogProfile, [\"stop\"])\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t(\"AppResource.Profile\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]), [\n [_vShow, _ctx.profilePageEnabled]\n ]),\n _createVNode(_component_ElDropdownItem, {\n onClick: _withModifiers(_ctx.logout, [\"stop\"])\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_16, _toDisplayString(_ctx.$t(\"AppResource.SignOut\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_12, [\n _createVNode(\"span\", _hoisted_13, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-profile.svg`)\n \n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t(\"AppResource.Profile\")), 1)\n ])\n ]),\n _: 1\n })\n ])\n ])\n ], 16),\n _createVNode(_component_DialogReportProblem, {\n \"is-visible\": _ctx.isVisibleDialogReportProblem,\n onHideDialog: _ctx.toggleReportProblemDialog\n }, null, 8, [\"is-visible\", \"onHideDialog\"]),\n _createVNode(_component_Dialog, {\n visible: _ctx.isVisibleDialogProfile,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.isVisibleDialogProfile = $event)),\n header: _ctx.$t('AppResource.Profile'),\n modal: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"iframe\", {\n height: \"800\",\n width: \"800\",\n src: _ctx.iframeProfileSrc\n }, null, 8, [\"src\"])\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"])\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = { class: \"w-100 mb-4\" }\nconst _hoisted_5 = { class: \"p-field\" }\nconst _hoisted_6 = {\n class: \"p-field-label fs-12 text-gray\",\n for: \"problem-message\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_8 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Textarea = _resolveComponent(\"Textarea\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\",\n style: {\"width\":\"450px\"}\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-mail.svg`),\n \"aria-label\": \"icon-mail\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResource.ReportaProblem\")), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t(\"AppResource.ReportInfo\")), 1),\n _createVNode(\"form\", _hoisted_4, [\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t(\"AppResource.DescribeTheProblem\")), 1),\n _createVNode(_component_Textarea, {\n id: \"problem-message\",\n class: \"w-100 text-dark\",\n rows: \"5\",\n modelValue: _ctx.theMessage,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.theMessage = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _hoisted_7,\n _createVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary text-uppercase mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m\",\n onClick: _ctx.sendMessage\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.SendUpper\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.13.2.0 (NJsonSchema v10.5.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class Client {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n this.instance = instance ? instance : axios.create();\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * (Auth)\n * @param body (optional) \n * @return Success\n */\n log(body: GraylogMessageDTO | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/graylog/log\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json-patch+json\",\n },\n cancelToken\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processLog(_response);\n });\n }\n\n protected processLog(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 401) {\n const _responseText = response.data;\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n } else if (status === 403) {\n const _responseText = response.data;\n return throwException(\"Forbidden\", status, _responseText, _headers);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n}\n\nexport class GraylogMessageDTO implements IGraylogMessageDTO {\n userMessage?: string | undefined;\n logs?: string[] | undefined;\n frontendVersion?: string | undefined;\n\n constructor(data?: IGraylogMessageDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userMessage = _data[\"userMessage\"];\n if (Array.isArray(_data[\"logs\"])) {\n this.logs = [] as any;\n for (let item of _data[\"logs\"])\n this.logs!.push(item);\n }\n this.frontendVersion = _data[\"frontendVersion\"];\n }\n }\n\n static fromJS(data: any): GraylogMessageDTO {\n data = typeof data === 'object' ? data : {};\n let result = new GraylogMessageDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userMessage\"] = this.userMessage;\n if (Array.isArray(this.logs)) {\n data[\"logs\"] = [];\n for (let item of this.logs)\n data[\"logs\"].push(item);\n }\n data[\"frontendVersion\"] = this.frontendVersion;\n return data; \n }\n}\n\nexport interface IGraylogMessageDTO {\n userMessage?: string | undefined;\n logs?: string[] | undefined;\n frontendVersion?: string | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}","import { Client } from '@/../client-generator/generated-clients/graylog';\nimport axios from 'axios';\n\nconst graylogClient = new Client('', axios);\n\nexport default graylogClient;\n","import graylogClient from '@/core/services/graylog-service';\nimport globalErrors from '@/core/utils/global-errors';\nimport { GraylogMessageDTO } from '@/../client-generator/generated-clients/graylog';\nimport { Vue, Options } from 'vue-class-component';\nimport { SET_APP_LOADING } from '@/core/store/action-types';\n\n@Options({\n name: 'DialogReportProblem',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n this.theMessage = '';\n },\n },\n emits: ['hide-dialog'],\n})\nexport default class DialogReportProblem extends Vue {\n isVisible!: boolean;\n isDialogVisible = false;\n theMessage = '';\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n async sendMessage() {\n const logs = [...globalErrors.getBuffer()];\n\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n await graylogClient.log(\n new GraylogMessageDTO({\n userMessage: this.theMessage,\n logs,\n frontendVersion: this.$config.FRONTEND_VERSION,\n })\n );\n this.handleHideDialog();\n } catch (error) {\n console.log(error);\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n}\n","import { render } from \"./DialogReportProblem.vue?vue&type=template&id=f93a3e82&ts=true\"\nimport script from \"./DialogReportProblem.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogReportProblem.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Vue, Options } from 'vue-class-component';\nimport { SET_ACCOUNT, SET_APP_LOADING } from '@/core/store/action-types';\n\nimport DialogReportProblem from './DialogReportProblem/DialogReportProblem.vue';\nimport { mapGetters } from 'vuex';\n\n@Options({\n name: 'TheHeader',\n components: {\n DialogReportProblem,\n },\n computed: {\n ...mapGetters('UI', ['profilePageEnabled']),\n },\n})\nexport default class TheHeader extends Vue {\n isVisibleDialogReportProblem = false;\n isVisibleDialogProfile = false\n \n get version() {\n return this.$config.FRONTEND_VERSION;\n }\n\n get iframeProfileSrc () {\n return this.$config.PROFILE_URL;\n }\n\n changePassword() {\n alert('TBD');\n }\n\n async logout() {\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n this.$store.dispatch(SET_ACCOUNT, null);\n\n import(/* webpackChunkName: \"auth-service\" */ '@/core/services/auth.service')\n .then(async (authService: any) => {\n await authService.default.logout();\n });\n } catch (error) {\n console.log(error);\n } finally {\n this.$store.dispatch(SET_APP_LOADING, true);\n }\n }\n\n toggleReportProblemDialog() {\n this.isVisibleDialogReportProblem = !this.isVisibleDialogReportProblem;\n }\n\n toggleDialogProfile() {\n this.isVisibleDialogProfile = !this.isVisibleDialogProfile\n }\n}\n","import { render } from \"./TheHeader.vue?vue&type=template&id=7e452b8e&ts=true\"\nimport script from \"./TheHeader.ts?vue&type=script&lang=ts\"\nexport * from \"./TheHeader.ts?vue&type=script&lang=ts\"\n\nimport \"./TheHeader.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MegaMenu = _resolveComponent(\"MegaMenu\")\n\n return (_openBlock(), _createBlock(\"nav\", {\n id: \"sidebarMenu\",\n class: [\"sidebar-main\", { 'is--expanded': _ctx.isSidebarExpanded }]\n }, [\n _createVNode(_component_MegaMenu, {\n model: _ctx.menuItemsContextual,\n orientation: \"vertical\",\n class: \"sidebar-main__menu-contextual\"\n }, null, 8, [\"model\"])\n ], 2))\n}","import { Vue, Options } from 'vue-class-component';\nimport Menu from 'primevue/menu';\nimport MegaMenu from 'primevue/megamenu';\nimport { mapState } from 'vuex';\nimport { SET_SIDEBAR_EXPANDED } from '@/core/store/action-types';\nimport MegaMenuItem from '@/core/models/menu-items';\nimport { EntrancePlantDetailDTO } from 'client-generator/generated-clients/plants';\n\n@Options({\n name: 'TheSidebar',\n components: {\n Menu,\n MegaMenu,\n },\n computed: {\n ...mapState([\n 'menuItemsContextual',\n 'isSidebarExpanded',\n 'currentEntrancePlant',\n ]),\n },\n})\nexport default class TheSidebar extends Vue {\n isSidebarExpanded!: boolean;\n menuItemsContextual!: MegaMenuItem[];\n currentEntrancePlant!: EntrancePlantDetailDTO;\n toggleSidebarExpand(doShow: boolean) {\n this.$store.dispatch(SET_SIDEBAR_EXPANDED, doShow);\n }\n}\n","import { render } from \"./TheSidebar.vue?vue&type=template&id=16333a97&ts=true\"\nimport script from \"./TheSidebar.ts?vue&type=script&lang=ts\"\nexport * from \"./TheSidebar.ts?vue&type=script&lang=ts\"\n\nimport \"./TheSidebar.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Vue, Options } from 'vue-class-component';\nimport Toast from 'primevue/toast';\n\nimport TheHeader from '../TheHeader/TheHeader.vue';\nimport TheSidebar from '../TheSidebar/TheSidebar.vue';\n\n@Options({\n name: 'MainContainer',\n components: {\n TheHeader,\n TheSidebar,\n Toast,\n },\n})\nexport default class MainContainer extends Vue {\n get routeName() {\n return this.$route.name;\n }\n\n get showSidebar() {\n const currentRoute: string = this.routeName?.toString() ?? '';\n return !currentRoute?.includes('plants');\n }\n}\n","import { render } from \"./MainContainer.vue?vue&type=template&id=628bcec3&ts=true\"\nimport script from \"./MainContainer.ts?vue&type=script&lang=ts\"\nexport * from \"./MainContainer.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import MainContainer from '@/views/containers/MainContainer/MainContainer.vue';\nimport { RouteRecordRaw } from 'vue-router';\n\nconst APP_TITLE = 'Home+Project';\n\nconst PlantsHub = () =>\n import(\n /* webpackChunkName: \"page-plants-hub\" */ '@/views/pages/PlantsHub/PlantsHub.vue'\n );\nconst PlantsListPage = () =>\n import(\n /* webpackChunkName: \"page-plants-list\" */ '@/views/pages/PlantsHub/PlantsList/PlantsList.vue'\n );\nconst PlantDetailHub = () =>\n import(\n /* webpackChunkName: \"page-plant-detail\" */ '@/views/pages/PlantDetail/PlantDetail.vue'\n );\nconst PlantDashboardPage = () =>\n import(\n /* webpackChunkName: \"page-plant-dashboard\" */ '@/views/pages/PlantDetail/PlantDashboard/PlantDashboard.vue'\n );\nconst PlantDevicesPage = () =>\n import(\n /* webpackChunkName: \"page-plant-devices\" */ '@/views/pages/PlantDetail/PlantDevices/PlantDevices.vue'\n );\nconst PlantSettingsPage = () =>\n import(\n /* webpackChunkName: \"page-plant-c300eos-settings\" */ '@/views/pages/PlantDetail/PlantC300EOSSettings/PlantC300EOSSettings.vue'\n );\nconst PlantRoomPage = () =>\n import(\n /* webpackChunkName: \"page-plant-room\" */ '@/views/pages/PlantDetail/PlantRoom/PlantRoom.vue'\n );\nconst AutomationWizardPage = () =>\n import(\n /* webpackChunkName: \"page-assign-room-object\" */ '@/views/pages/PlantDetail/PlantRoom/AutomationWizard/AutomationWizard.vue'\n );\nconst ThermoWizardPage = () =>\n import(\n /* webpackChunkName: \"page-assign-thermo-room-object\" */ '@/views/pages/PlantDetail/PlantRoom/ThermoWizard/ThermoWizard.vue'\n );\nconst LoggedOutPage = () =>\n import(\n /* webpackChunkName: \"page-logged-out\" */ '@/views/pages/LoggedOut/LoggedOut.vue'\n );\nconst UserNotAllowedPage = () =>\n import(\n /* webpackChunkName: \"page-user-not-allowed\" */ '@/views/pages/UserNotAllowed/UserNotAllowed.vue'\n );\nconst CommandsGroupsPage = () =>\n import(\n /* webpackChunkName: \"page-commands-groups\" */ '@/views/pages/PlantDetail/CommandsGroups/CommandsGroups.vue'\n );\nconst CommandWizard = () =>\n import(\n /* webpackChunkName: \"page-wizard-command\" */ '@/views/pages/PlantDetail/CommandsGroups/CommandWizard/CommandWizard.vue'\n );\nconst PlantScenesPage = () =>\n import(\n /* webpackChunkName: \"page-plant-scenes\" */ '@/views/pages/PlantDetail/PlantScenes/PlantScenes.vue'\n );\nconst SceneWizard = () =>\n import(\n /* webpackChunkName: \"page-wizard-scene\" */ '@/views/pages/PlantDetail/PlantScenes/SceneWizard/SceneWizard.vue'\n );\nconst PlantAlarmSystem = () =>\n import(\n /* webpackChunkName: \"page-plant-alarmsystem\" */ '@/views/pages/PlantDetail/PlantAlarmSystem/PlantAlarmSystem.vue'\n );\nconst EntrancePlantDetailHub = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-detail\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantDetail.vue'\n );\nconst EntrancePlantDashboardPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-dashboard\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboard.vue'\n );\nconst EntrancePlantGatePage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-gate\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantGate/EntrancePlantGate.vue'\n );\nconst EntrancePlantSettingsPage = () =>\nimport(\n /* webpackChunkName: \"page-entranceplant-settings\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantSettings/EntrancePlantSettings.vue'\n);\nconst EntrancePlantResidentsPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-residents\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantResidents/EntrancePlantResidents.vue'\n );\nconst EntrancePlantGuestsPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-guests\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantGuests/EntrancePlantGuests.vue'\n );\nconst EntrancePlantMessagesPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-messages\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantMessages/EntrancePlantMessages.vue'\n );\nconst EntrancePlantBadgesPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-badges\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantBadges/EntrancePlantBadges.vue'\n );\nconst EntrancePlantSwitchboardsPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-switchboards\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantSwitchboards/EntrancePlantSwitchboards.vue'\n );\nconst EntrancePlantStructureBuildingPage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-structure-building\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantSettings/EntrancePlantStructure/EntrancePlantStructureBuilding/EntrancePlantStructureBuilding.vue'\n );\n\nconst routes: RouteRecordRaw[] = [\n {\n path: '/',\n name: 'main-container',\n redirect: { name: 'page-plants-hub' },\n component: MainContainer,\n beforeEnter: () => {},\n children: [\n {\n path: '/plants',\n name: 'page-plants-hub',\n component: PlantsHub,\n redirect: '/plants/list',\n meta: {\n title: `${APP_TITLE} - Plant list`,\n },\n children: [\n {\n path: 'list',\n name: 'page-plants-list',\n component: PlantsListPage,\n },\n {\n path: 'favourites',\n name: 'page-plants-favourites',\n component: PlantsListPage,\n },\n {\n path: 'staff',\n name: 'page-plants-staff',\n component: PlantsListPage,\n },\n {\n path: 'users',\n name: 'page-plants-users',\n component: PlantsListPage,\n },\n {\n path: 'edit',\n name: 'page-plants-edit',\n component: PlantsListPage,\n },\n ],\n },\n {\n path: '/plant/:plantId',\n name: 'page-plant-detail',\n component: PlantDetailHub,\n redirect: (to) => {\n return {\n name: 'page-plant-dashboard',\n params: to.params,\n };\n },\n meta: {\n requiresPlant: true,\n title: `${APP_TITLE} - Plant detail`,\n },\n children: [\n {\n path: 'dashboard',\n name: 'page-plant-dashboard',\n component: PlantDashboardPage,\n },\n {\n path: 'room/:roomId',\n name: 'page-plant-room',\n component: PlantRoomPage,\n },\n {\n path: 'devices',\n name: 'page-plant-devices',\n component: PlantDevicesPage,\n },\n {\n path: 'settings',\n name: 'page-plant-settings',\n component: PlantSettingsPage,\n },\n {\n path: 'rooms/:roomId/room-objects/:roomObjectId',\n name: 'page-assign-room-object',\n component: AutomationWizardPage,\n },\n {\n path: 'rooms/:roomId/room-objects/thermo/:roomObjectId',\n name: 'page-assign-thermo-room-object',\n component: ThermoWizardPage,\n },\n {\n path: 'commands-groups',\n name: 'page-commands-groups',\n component: CommandsGroupsPage,\n },\n {\n path: 'commands-groups/command-wizard/:id?',\n name: 'page-command-wizard',\n component: CommandWizard,\n },\n {\n path: 'scenes',\n name: 'page-plant-scenes',\n component: PlantScenesPage,\n },\n {\n path: 'scenes/wizard/:id?',\n name: 'page-scene-wizard',\n component: SceneWizard,\n },\n {\n path: 'alarmsystem',\n name: 'page-plant-alarmsystem',\n component: PlantAlarmSystem,\n },\n ],\n },\n {\n path: '/entranceplant/:plantId',\n name: 'page-entranceplant-detail',\n component: EntrancePlantDetailHub,\n redirect: (to) => {\n return {\n name: 'page-entranceplant-dashboard',\n params: to.params,\n };\n },\n meta: {\n requiresPlant: true,\n title: `${APP_TITLE} - Plant detail`,\n },\n children: [\n {\n path: 'dashboard',\n name: 'page-entranceplant-dashboard',\n component: EntrancePlantDashboardPage,\n },\n {\n path: 'gate/:gateId',\n name: 'page-entranceplant-gate',\n component: EntrancePlantGatePage,\n },\n {\n path: 'structure/:buildingId',\n name: 'page-entranceplant-structure-building',\n component: EntrancePlantStructureBuildingPage,\n },\n {\n path: 'settings',\n name: 'page-entranceplant-settings',\n component: EntrancePlantSettingsPage,\n },\n {\n path: 'residents',\n name: 'page-entranceplant-residents',\n component: EntrancePlantResidentsPage,\n },\n {\n path: 'guests',\n name: 'page-entranceplant-guests',\n component: EntrancePlantGuestsPage,\n },\n {\n path: 'messages',\n name: 'page-entranceplant-messages',\n component: EntrancePlantMessagesPage,\n },\n {\n path: 'badges',\n name: 'page-entranceplant-badges',\n component: EntrancePlantBadgesPage,\n },\n {\n path: 'switchboards',\n name: 'page-entranceplant-switchboards',\n component: EntrancePlantSwitchboardsPage,\n },\n ],\n },\n ],\n },\n {\n path: '/logged-out',\n name: 'page-logged-out',\n component: LoggedOutPage,\n meta: {\n title: `${APP_TITLE} - logout`,\n },\n },\n {\n path: '/user-not-allowed',\n name: 'page-user-not-allowed',\n component: UserNotAllowedPage,\n meta: {\n title: `${APP_TITLE} - User not allowed`,\n },\n },\n];\n\nexport default routes;\n","import { createRouter, createWebHistory } from 'vue-router';\nimport { SET_SIDEBAR_EXPANDED } from '../store/action-types';\nimport store from '../store/store';\nimport routes from './routes';\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nrouter.afterEach(async (to) => {\n store.dispatch(SET_SIDEBAR_EXPANDED, false);\n document.title = to.meta.title as string;\n});\n\nrouter.beforeEach(async (to, from, next) => {\n const requiresPlant = to.matched.some((record) => record.meta.requiresPlant);\n\n if (requiresPlant && !to.params.plantId ) {\n next('/');\n } else {\n next();\n }\n});\n\nexport default router;\n","module.exports = __webpack_public_path__ + \"img/logo-text-min.31203def.svg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_3@3x.4a63ba58.jpg\";","module.exports = __webpack_public_path__ + \"img/house-2@2x.13a2d74a.jpg\";","import { AccountInfo, PublicClientApplication } from '@azure/msal-browser';\nimport store from '../store/store';\nimport { SET_ACCOUNT } from '../store/action-types';\n\nconst LOGOUT_IN_PROGRESS = 'logout_in_progress';\n\nlet $msalInstance: PublicClientApplication | null = null;\nlet $scopes: string[] = [];\n\nconst service = {\n $msalInstance,\n init() {\n const config = (window as any).appConfig;\n $msalInstance = new PublicClientApplication({\n auth: {\n clientId: config.AZUREABB2C_CLIENTID as string,\n authority: config.AZUREADB2C_AUTHORITY,\n knownAuthorities: [config.AZUREADB2C_KNOWN_AUTHORITY],\n },\n cache: {\n cacheLocation: 'localStorage',\n storeAuthStateInCookie: false,\n },\n });\n $scopes = ['openid', 'offline_access', config.AZUREABB2C_FULL_ACCESS_SCOPE];\n },\n async handleRedirectPromise() {\n let outcome: boolean | string = false;\n\n const loggingOut = window.localStorage.getItem(LOGOUT_IN_PROGRESS);\n\n if (loggingOut) {\n window.localStorage.removeItem(LOGOUT_IN_PROGRESS);\n return 'logged_out';\n }\n\n try {\n const result = await $msalInstance?.handleRedirectPromise();\n\n if (result != null) {\n store.dispatch(SET_ACCOUNT, this.getAccount());\n outcome = true;\n } else {\n try {\n await this.getToken();\n outcome = true;\n } catch {\n outcome = false;\n }\n }\n } catch (error) {\n if (error.errorCode == 'invalid_grant') {\n $msalInstance?.acquireTokenRedirect({\n scopes: $scopes as string[],\n redirectUri: this.getHostname(),\n });\n }\n store.dispatch(SET_ACCOUNT, null);\n // Handle redirect error\n console.log(error);\n outcome = false;\n }\n\n return outcome;\n },\n getAccount(): AccountInfo | undefined {\n const accounts = $msalInstance?.getAllAccounts();\n\n if (!accounts || accounts.length === 0) {\n return undefined;\n } else {\n return accounts[0];\n }\n },\n getHostname() {\n return window.location.protocol + '//' + window.location.host;\n },\n getToken() {\n return new Promise((resolve, reject) => {\n let hostname = this.getHostname();\n\n try {\n const account = this.getAccount();\n\n $msalInstance\n ?.acquireTokenSilent({\n scopes: $scopes as string[],\n account,\n forceRefresh: false,\n })\n .then((tokenResponse) => {\n store.dispatch(SET_ACCOUNT, account);\n //TODO: set a timeout to renew token if now api will be called in the while\n resolve(tokenResponse.accessToken);\n })\n .catch(() => {\n hostname = this.getHostname();\n\n $msalInstance?.acquireTokenRedirect({\n scopes: $scopes as string[],\n redirectUri: hostname,\n });\n reject();\n });\n } catch {\n $msalInstance?.acquireTokenRedirect({\n scopes: $scopes as string[],\n redirectUri: hostname,\n });\n reject();\n }\n });\n },\n logout() {\n window.localStorage.setItem(LOGOUT_IN_PROGRESS, Date.now().toString());\n return $msalInstance?.logoutRedirect({\n account: store.state.account as AccountInfo,\n });\n },\n};\n\nexport default service;\n","// @ts-nocheck\n/**\n * A lightweight, fixed-size value buffer.\n */\nexport class NanoBuffer {\n /**\n * Creates a `NanoBuffer` instance.\n *\n * @param {Number} [maxSize=10] - The initial buffer size.\n */\n constructor(maxSize = 10) {\n if (typeof maxSize !== 'number') {\n throw new TypeError('Expected maxSize to be a number');\n }\n\n if (isNaN(maxSize) || maxSize < 0) {\n throw new RangeError('Expected maxSize to be zero or greater');\n }\n\n /**\n * The buffer where the values are stored.\n * @type {Array}\n * @access private\n */\n this._buffer = Array(maxSize | 0);\n\n /**\n * The index of the newest value in the buffer.\n * @type {Number}\n * @access private\n */\n this._head = 0;\n\n /**\n * The maximum number of values to store in the buffer.\n * @type {Number}\n * @access private\n */\n this._maxSize = maxSize;\n\n /**\n * The number of values in the buffer.\n * @type {Number}\n * @access private\n */\n this._size = 0;\n }\n\n /**\n * Returns the index of the newest value in the buffer.\n *\n * @returns {Number}\n * @access public\n */\n get head() {\n return this._head;\n }\n\n /**\n * Returns the maximum number of values in the buffer.\n *\n * @returns {Number}\n * @access public\n */\n get maxSize() {\n return this._maxSize;\n }\n\n /**\n * Changes the maximum number of values allowed in the buffer.\n *\n * @param {Number} newMaxSize - The new max size of the buffer.\n * @access public\n */\n set maxSize(newMaxSize) {\n if (typeof newMaxSize !== 'number') {\n throw new TypeError('Expected new max size to be a number');\n }\n\n if (isNaN(newMaxSize) || newMaxSize < 0) {\n throw new RangeError('Expected new max size to be zero or greater');\n }\n\n if (newMaxSize === this._maxSize) {\n // nothing to do\n return;\n }\n\n // somewhat lazy, but we create a new buffer, then manually copy\n // ourselves into it, then steal back the internal values\n const tmp = new NanoBuffer(newMaxSize);\n for (const value of this) {\n tmp.push(value);\n }\n\n this._buffer = tmp._buffer;\n this._head = tmp._head;\n this._maxSize = tmp._maxSize;\n this._size = tmp._size;\n\n tmp._buffer = null;\n }\n\n /**\n * Returns the number of values in the buffer.\n *\n * @returns {Number}\n * @access public\n */\n get size() {\n return this._size;\n }\n\n /**\n * Inserts a new value into the buffer.\n *\n * @param {*} value - The value to store.\n * @returns {NanoBuffer}\n * @access public\n */\n push(value) {\n if (this._maxSize) {\n if (this._size > 0) {\n this._head++;\n }\n\n if (this._head >= this._maxSize) {\n // we wrapped\n this._head = 0;\n }\n\n this._size = Math.min(this._size + 1, this._maxSize);\n this._buffer[this._head] = value;\n }\n\n return this;\n }\n\n /**\n * Removes all values in the buffer.\n *\n * @returns {NanoBuffer}\n * @access public\n */\n clear() {\n this._buffer = Array(this._maxSize);\n this._head = 0;\n this._size = 0;\n return this;\n }\n\n /**\n * Creates an iterator function for this buffer.\n *\n * @return {Function}\n * @access public\n */\n [Symbol.iterator]() {\n let i = 0;\n\n return {\n next: () => {\n // just in case the size changed\n i = Math.min(i, this._maxSize);\n\n // calculate the index\n let j = this._head + i - (this._size - 1);\n if (j < 0) {\n j += this._maxSize;\n }\n\n // console.log('\\ni=' + i + ' head=' + this._head + ' size=' + this._size + ' maxSize=' + this._maxSize + ' j=' + j);\n\n const done = i++ >= this._size;\n return {\n value: done ? undefined : this._buffer[j],\n done,\n };\n },\n };\n }\n}\n\nexport default NanoBuffer;\n","import NanoBuffer from './nanobuffer';\n\nconst errorBuffer = new NanoBuffer(50);\n\nconst init = () => {\n const defaultConsoleError = console.error.bind(console);\n console.error = function () {\n defaultConsoleError(arguments);\n addError(JSON.stringify(arguments));\n };\n\n window.onerror = function myErrorHandler(msg, url, lineNo, columnNo, error) {\n const message = [\n `Message: ${msg}`,\n `URL: ${url}`,\n `Line: ${lineNo}`,\n `Column: ${columnNo}`,\n `Error object: ${JSON.stringify(error)}`,\n ].join(' - ');\n addError(message);\n return true;\n };\n};\n\nconst addError = (message: any) => {\n errorBuffer.push(message);\n};\n\nconst getBuffer = () => {\n return errorBuffer;\n};\n\nexport default {\n init,\n addError,\n getBuffer,\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./ListItemRadio.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./WizardStepper.scss?vue&type=style&index=0&lang=scss\"","module.exports = __webpack_public_path__ + \"img/entrance_plant_5@2x.b9cbd0bf.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_5.ccf6d9df.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_2.da983d95.jpg\";","import store from '../../store/store';\nimport { resolveObjectPath } from '../../utils/utils';\n\ntype AppConfig = {\n API_ENDPOINT: string;\n FRONTEND_VERSION: string;\n AZUREABB2C_CLIENTID: string;\n AZUREADB2C_AUTHORITY: string;\n PLANT_REFRESH_INTERVAL: string;\n AZUREADB2C_KNOWN_AUTHORITY: string;\n AZUREABB2C_FULL_ACCESS_SCOPE: string;\n UI_ENABLED: {\n 'room-edit': object | boolean;\n 'plant-edit': object | boolean;\n 'room-config': object | boolean;\n 'plant-delete': object | boolean;\n 'scenes-actions': object | boolean;\n 'plant-add-room': object | boolean;\n 'plant-list-edit': object | boolean;\n 'scenes-add-scene': object | boolean;\n 'plant-list-delete': object | boolean;\n 'room-object-delete': object | boolean;\n 'plant-inline-rename': object | boolean;\n 'plant-device-settings-edit': object | boolean;\n 'plant-server-use-mhs1-only': object | boolean;\n 'plant-c300-eos-settings-edit': object | boolean;\n 'commands-and-groups-add-group': object | boolean;\n 'commands-and-groups-group-actions': object | boolean;\n 'plant-room-object-settings-edit-dialog': object | boolean;\n 'devices-page-add-device': object | boolean;\n 'devices-page-filter-zigbee': object | boolean;\n 'plant-edit-image-custom': object | boolean;\n 'profile-page': object | boolean;\n };\n};\n\nexport class UIService {\n roomEditEnabled(): boolean {\n return this.checkSectionEnabled('room-edit');\n }\n\n plantEditEnabled(): boolean {\n return this.checkSectionEnabled('plant-edit');\n }\n\n roomConfigEnabled(): boolean {\n return this.checkSectionEnabled('room-config');\n }\n\n plantDeleteEnabled(): boolean {\n return this.checkSectionEnabled('plant-delete');\n }\n\n plantAddRoomEnabled(): boolean {\n return this.checkSectionEnabled('plant-add-room');\n }\n\n scenesActionsEnabled(): boolean {\n return this.checkSectionEnabled('scenes-actions');\n }\n\n scenesAddSceneEnabled(): boolean {\n return this.checkSectionEnabled('scenes-add-scene');\n }\n\n plantEditListEnabled(): boolean {\n return this.checkSectionEnabled('plant-list-edit');\n }\n\n plantDeleteListEnabled(): boolean {\n return this.checkSectionEnabled('plant-list-delete');\n }\n\n roomObjectDeleteEnabled(): any {\n return this.checkSectionEnabled('room-object-delete');\n }\n\n plantInlineRenameEnabled(): boolean {\n return this.checkSectionEnabled('plant-inline-rename');\n }\n\n plantDeviceSettingsEditEnabled(): boolean {\n return this.checkSectionEnabled('plant-device-settings-edit');\n }\n\n plantServerUseMHS1Only(): boolean {\n return this.checkSectionEnabled('plant-server-use-mhs1-only');\n }\n\n plantC300EosSettingsEditEnabled(): any {\n return this.checkSectionEnabled('plant-c300-eos-settings-edit');\n }\n\n commandsAndGroupsAddGroupEnabled(): boolean {\n return this.checkSectionEnabled('commands-and-groups-add-group');\n }\n\n commandsAndGroupsGroupActionsEnabled(): boolean {\n return this.checkSectionEnabled('commands-and-groups-group-actions');\n }\n\n plantRoomObjectSettingsEditDialog(): boolean {\n return this.checkSectionEnabled('plant-room-object-settings-edit-dialog');\n }\n\n devicesPageAddDeviceEnabled(): boolean {\n return this.checkSectionEnabled('devices-page-add-device');\n }\n\n devicesPageFilterZigbeeEnabled(): boolean {\n return this.checkSectionEnabled('devices-page-filter-zigbee');\n }\n\n plantEditImageCustomEnabled(): boolean {\n return this.checkSectionEnabled('plant-edit-image-custom');\n }\n\n profilePageEnabled(): boolean {\n return this.checkSectionEnabled('profile-page');\n }\n\n private checkSectionEnabled(\n sectionKey: keyof AppConfig['UI_ENABLED']\n ): boolean {\n const APP_CONFIG = ((window as any).appConfig as AppConfig) ?? {};\n if (\n !APP_CONFIG.UI_ENABLED ||\n APP_CONFIG.UI_ENABLED[sectionKey] === undefined\n )\n return false;\n if (typeof APP_CONFIG.UI_ENABLED[sectionKey] === 'boolean')\n return APP_CONFIG.UI_ENABLED[sectionKey] as boolean;\n\n const results: boolean[] = [];\n Object.keys(APP_CONFIG.UI_ENABLED[sectionKey]).forEach((rule) => {\n const sectionKeyValue = resolveObjectPath(store.state, rule);\n results.push(\n sectionKeyValue === (APP_CONFIG.UI_ENABLED[sectionKey] as any)[rule]\n );\n });\n return results.some((r) => !!r);\n }\n}\n","import { Module } from 'vuex';\nimport { IUIState } from './models/ui-state.model';\nimport { IRootState } from './models/root-state.model';\nimport { UIService } from '../services/ui-service/ui.service';\n\nconst UISvc = new UIService();\nexport const UIStateModule: Module = {\n namespaced: true,\n state: () => ({}),\n getters: {\n roomEditEnabled(state: IUIState) {\n return UISvc.roomEditEnabled();\n },\n\n plantEditEnabled(state: IUIState) {\n return UISvc.plantEditEnabled();\n },\n\n roomConfigEnabled(state: IUIState) {\n return UISvc.roomConfigEnabled();\n },\n\n plantDeleteEnabled(state: IUIState) {\n return UISvc.plantDeleteEnabled();\n },\n\n plantAddRoomEnabled(state: IUIState) {\n return UISvc.plantAddRoomEnabled();\n },\n\n scenesActionsEnabled(state: IUIState) {\n return UISvc.scenesActionsEnabled();\n },\n\n plantEditListEnabled(state: IUIState) {\n return UISvc.plantEditListEnabled();\n },\n\n scenesAddSceneEnabled(state: IUIState) {\n return UISvc.scenesAddSceneEnabled();\n },\n\n plantDeleteListEnabled(state: IUIState) {\n return UISvc.plantDeleteListEnabled();\n },\n\n roomObjectDeleteEnabled(state: IUIState) {\n return UISvc.roomObjectDeleteEnabled();\n },\n\n plantInlineRenameEnabled(state: IUIState) {\n return UISvc.plantInlineRenameEnabled();\n },\n\n plantDeviceSettingsEditEnabled(state: IUIState) {\n return UISvc.plantDeviceSettingsEditEnabled();\n },\n\n plantServerUseMHS1Only(): boolean {\n return UISvc.plantServerUseMHS1Only();\n },\n\n plantC300EosSettingsEditEnabled(state: IUIState) {\n return UISvc.plantC300EosSettingsEditEnabled();\n },\n\n commandsAndGroupsAddGroupEnabled(state: IUIState) {\n return UISvc.commandsAndGroupsAddGroupEnabled();\n },\n\n commandsAndGroupsGroupActionsEnabled(state: IUIState) {\n return UISvc.commandsAndGroupsGroupActionsEnabled();\n },\n\n plantRoomObjectSettingsEditDialog(state: IUIState) {\n return UISvc.plantRoomObjectSettingsEditDialog();\n },\n\n devicesPageAddDeviceEnabled() {\n return UISvc.devicesPageAddDeviceEnabled();\n },\n\n devicesPageFilterZigbeeEnabled(): boolean {\n return UISvc.devicesPageFilterZigbeeEnabled();\n },\n\n plantEditImageCustomEnabled(): boolean {\n return UISvc.plantEditImageCustomEnabled();\n },\n\n profilePageEnabled(): boolean {\n return UISvc.profilePageEnabled();\n },\n },\n};\n","import { Module } from 'vuex';\nimport * as Actions from './action-types';\nimport MegaMenuItem from '../models/menu-items';\nimport { AccountInfo } from '@azure/msal-common';\nimport { IRootState } from './models/root-state.model';\nimport {\n PlantDetailDTO,\n EntrancePlantDetailDTO,\n EpUserRole,\n SyncInfo,\n} from '@/../client-generator/generated-clients/plants';\nimport { UIStateModule } from './ui-state.store.module';\n\nexport const RootStateModule: Module = {\n modules: {\n UI: UIStateModule,\n },\n state: {\n account: null,\n isLoading: false,\n currentPlant: null,\n selectedPlantId: null,\n menuItemsContextual: [],\n isSidebarExpanded: false,\n\n // TODO: remove this comment if we keep the state refactor\n currentEntrancePlant: null,\n selectedEntrancePlantId: null,\n\n currentUserPermissions: null,\n adminView: false,\n offlinePlant: false,\n syncInfo: null,\n },\n mutations: {\n [Actions.SET_ACCOUNT](state, account: AccountInfo) {\n state.account = account;\n },\n\n [Actions.SET_APP_LOADING](state, isLoading: boolean) {\n state.isLoading = isLoading;\n },\n\n [Actions.SET_SIDEBAR_EXPANDED](state, isExpanded: boolean) {\n state.isSidebarExpanded = isExpanded;\n },\n\n [Actions.SET_SELECTED_PLANT_ID](state, plantId: number | null) {\n state.selectedPlantId = plantId;\n },\n\n // TODO: remove this comment if we keep the state refactor\n [Actions.SET_SELECTED_ENTRANCE_PLANT_ID](state, plantId: number | null) {\n state.selectedEntrancePlantId = plantId;\n },\n\n [Actions.SET_SELECTED_PLANT](state, plant: PlantDetailDTO | null) {\n state.currentPlant = plant;\n },\n\n // TODO: remove this comment if we keep the state refactor\n [Actions.SET_SELECTED_ENTRANCE_PLANT](\n state,\n plant: EntrancePlantDetailDTO | null\n ) {\n state.currentEntrancePlant = plant;\n },\n\n [Actions.SET_CONTEXTUAL_MENU_ITEMS](state, menuItems: MegaMenuItem[]) {\n state.menuItemsContextual = menuItems;\n },\n\n [Actions.SET_USER_PERMISSIONS](state, userPermissions: EpUserRole | null) {\n state.currentUserPermissions = userPermissions;\n },\n\n [Actions.SET_ADMIN_VIEW](state, adminView: boolean) {\n state.adminView = adminView;\n },\n\n [Actions.SET_OFFLINE_PLANT](state, offlinePlant: boolean) {\n state.offlinePlant = offlinePlant;\n },\n\n [Actions.SET_SYNC_INFO](state, syncInfo: SyncInfo | null) {\n state.syncInfo = syncInfo;\n }\n },\n actions: {\n [Actions.SET_ACCOUNT]({ commit }, account: AccountInfo[]) {\n commit(Actions.SET_ACCOUNT, account);\n },\n\n [Actions.SET_APP_LOADING]({ commit }, isLoading: boolean) {\n commit(Actions.SET_APP_LOADING, isLoading);\n },\n\n [Actions.SET_SIDEBAR_EXPANDED]({ commit }, isExpanded: boolean) {\n commit(Actions.SET_SIDEBAR_EXPANDED, isExpanded);\n },\n\n [Actions.SET_SELECTED_PLANT]({ commit }, plant: PlantDetailDTO | null) {\n commit(Actions.SET_SELECTED_PLANT, plant);\n },\n\n // TODO: remove this comment if we keep the state refactor\n [Actions.SET_SELECTED_ENTRANCE_PLANT](\n { commit },\n plant: EntrancePlantDetailDTO | null\n ) {\n commit(Actions.SET_SELECTED_ENTRANCE_PLANT, plant);\n },\n\n [Actions.SET_SELECTED_PLANT_ID]({ commit }, plantId: number | null) {\n commit(Actions.SET_SELECTED_PLANT_ID, plantId);\n },\n\n // TODO: remove this comment if we keep the state refactor\n [Actions.SET_SELECTED_ENTRANCE_PLANT_ID](\n { commit },\n plantId: number | null\n ) {\n commit(Actions.SET_SELECTED_ENTRANCE_PLANT_ID, plantId);\n },\n\n [Actions.SET_CONTEXTUAL_MENU_ITEMS]({ commit }, menuItems: MegaMenuItem[]) {\n commit(Actions.SET_CONTEXTUAL_MENU_ITEMS, menuItems);\n },\n\n [Actions.SET_USER_PERMISSIONS]({ commit }, userPermissions: EpUserRole | null) {\n commit(Actions.SET_USER_PERMISSIONS, userPermissions);\n },\n\n [Actions.SET_ADMIN_VIEW]({ commit }, adminView: boolean) {\n commit(Actions.SET_ADMIN_VIEW, adminView);\n },\n\n [Actions.SET_OFFLINE_PLANT]({ commit }, offlinePlant: boolean) {\n commit(Actions.SET_OFFLINE_PLANT, offlinePlant);\n },\n\n [Actions.SET_SYNC_INFO]({ commit }, syncInfo: SyncInfo | null) {\n commit(Actions.SET_SYNC_INFO, syncInfo);\n }\n },\n};\n","import { createStore } from 'vuex';\nimport { IRootState } from './models/root-state.model';\nimport { RootStateModule } from './root-state.store.module';\n\nconst store = createStore(RootStateModule);\nexport default store;\n","module.exports = __webpack_public_path__ + \"img/house-1@2x.dcfef707.jpg\";","module.exports = __webpack_public_path__ + \"img/icon-mail.c9854b95.svg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_1@2x.a0146ce1.jpg\";","module.exports = __webpack_public_path__ + \"img/smart-home@3x.354cb155.jpg\";","var map = {\n\t\"./ar-tn.json\": [\n\t\t\"29bb\",\n\t\t\"chunk-2d0b3dbd\"\n\t],\n\t\"./ar.json\": [\n\t\t\"9bd0\",\n\t\t\"chunk-2d0f064b\"\n\t],\n\t\"./bg.json\": [\n\t\t\"e16d\",\n\t\t\"chunk-2d224950\"\n\t],\n\t\"./bn.json\": [\n\t\t\"b089\",\n\t\t\"chunk-2d20e885\"\n\t],\n\t\"./bs.json\": [\n\t\t\"a440\",\n\t\t\"chunk-2d2082a5\"\n\t],\n\t\"./ca.json\": [\n\t\t\"c4fa\",\n\t\t\"chunk-2d2171a2\"\n\t],\n\t\"./ckb.json\": [\n\t\t\"6c6a\",\n\t\t\"chunk-2d0da78e\"\n\t],\n\t\"./cs.json\": [\n\t\t\"1b06\",\n\t\t\"chunk-2d0b5d0d\"\n\t],\n\t\"./da.json\": [\n\t\t\"c620\",\n\t\t\"chunk-2d2172a7\"\n\t],\n\t\"./de-at.json\": [\n\t\t\"0987\",\n\t\t\"chunk-2d0a4fbe\"\n\t],\n\t\"./de-ch.json\": [\n\t\t\"52e8\",\n\t\t\"chunk-2d0c80c6\"\n\t],\n\t\"./de.json\": [\n\t\t\"4db2\",\n\t\t\"chunk-2d0cc7b6\"\n\t],\n\t\"./el.json\": [\n\t\t\"510f\",\n\t\t\"chunk-2d0c76c8\"\n\t],\n\t\"./en-au.json\": [\n\t\t\"8094\",\n\t\t\"chunk-2d0dd109\"\n\t],\n\t\"./en-gb.json\": [\n\t\t\"a28d\",\n\t\t\"chunk-2d207bd3\"\n\t],\n\t\"./en.json\": [\n\t\t\"0ed7\",\n\t\t\"chunk-2d0afa3e\"\n\t],\n\t\"./es.json\": [\n\t\t\"7b13\",\n\t\t\"chunk-2d0e1763\"\n\t],\n\t\"./fa.json\": [\n\t\t\"df44\",\n\t\t\"chunk-2d229b78\"\n\t],\n\t\"./fi.json\": [\n\t\t\"3144\",\n\t\t\"chunk-2d0b8e54\"\n\t],\n\t\"./fr.json\": [\n\t\t\"ce2d\",\n\t\t\"chunk-2d22234a\"\n\t],\n\t\"./he.json\": [\n\t\t\"8697\",\n\t\t\"chunk-2d0de792\"\n\t],\n\t\"./hi.json\": [\n\t\t\"c02b\",\n\t\t\"chunk-2d215c53\"\n\t],\n\t\"./hr.json\": [\n\t\t\"96fc\",\n\t\t\"chunk-2d0e6190\"\n\t],\n\t\"./ht.json\": [\n\t\t\"ebe6\",\n\t\t\"chunk-2d2306c4\"\n\t],\n\t\"./hu.json\": [\n\t\t\"15ee\",\n\t\t\"chunk-2d0ababa\"\n\t],\n\t\"./id.json\": [\n\t\t\"fe90\",\n\t\t\"chunk-2d23810c\"\n\t],\n\t\"./it.json\": [\n\t\t\"7441\",\n\t\t\"chunk-2d0d6b10\"\n\t],\n\t\"./ja.json\": [\n\t\t\"28e5\",\n\t\t\"chunk-2d0b3a2c\"\n\t],\n\t\"./kk.json\": [\n\t\t\"519d\",\n\t\t\"chunk-2d0c77dd\"\n\t],\n\t\"./km.json\": [\n\t\t\"e175\",\n\t\t\"chunk-2d224940\"\n\t],\n\t\"./ko.json\": [\n\t\t\"52f4\",\n\t\t\"chunk-2d0c80e1\"\n\t],\n\t\"./ku.json\": [\n\t\t\"8c81\",\n\t\t\"chunk-2d0e905a\"\n\t],\n\t\"./ky.json\": [\n\t\t\"3516\",\n\t\t\"chunk-2d0b9cfd\"\n\t],\n\t\"./lt.json\": [\n\t\t\"c048\",\n\t\t\"chunk-2d215c67\"\n\t],\n\t\"./lv.json\": [\n\t\t\"8e09\",\n\t\t\"chunk-2d0e96ec\"\n\t],\n\t\"./ms.json\": [\n\t\t\"f734\",\n\t\t\"chunk-2d22d3a8\"\n\t],\n\t\"./nb-no.json\": [\n\t\t\"926e\",\n\t\t\"chunk-2d0e4cbe\"\n\t],\n\t\"./nl.json\": [\n\t\t\"25d7\",\n\t\t\"chunk-2d0b2ecc\"\n\t],\n\t\"./package.json\": [\n\t\t\"b44a\",\n\t\t\"chunk-2d20f735\"\n\t],\n\t\"./pl.json\": [\n\t\t\"8460\",\n\t\t\"chunk-2d0ddfac\"\n\t],\n\t\"./pt-br.json\": [\n\t\t\"ea46\",\n\t\t\"chunk-2d22fd14\"\n\t],\n\t\"./pt.json\": [\n\t\t\"3a73\",\n\t\t\"chunk-2d0c42e0\"\n\t],\n\t\"./ro.json\": [\n\t\t\"366c\",\n\t\t\"chunk-2d0ba186\"\n\t],\n\t\"./ru.json\": [\n\t\t\"98ec\",\n\t\t\"chunk-2d0e68f3\"\n\t],\n\t\"./sk.json\": [\n\t\t\"7b3d\",\n\t\t\"chunk-2d0e17d2\"\n\t],\n\t\"./sl.json\": [\n\t\t\"c7a3\",\n\t\t\"chunk-2d217c1c\"\n\t],\n\t\"./sr-rs.json\": [\n\t\t\"fd84\",\n\t\t\"chunk-2d237d30\"\n\t],\n\t\"./sv.json\": [\n\t\t\"973a\",\n\t\t\"chunk-2d0e5f22\"\n\t],\n\t\"./th.json\": [\n\t\t\"de70\",\n\t\t\"chunk-2d229810\"\n\t],\n\t\"./tl.json\": [\n\t\t\"d836\",\n\t\t\"chunk-2d21eead\"\n\t],\n\t\"./tr.json\": [\n\t\t\"27bf\",\n\t\t\"chunk-2d0b363f\"\n\t],\n\t\"./uk.json\": [\n\t\t\"9734\",\n\t\t\"chunk-2d0e5ef5\"\n\t],\n\t\"./uz.json\": [\n\t\t\"1080\",\n\t\t\"chunk-2d0aa24d\"\n\t],\n\t\"./vi.json\": [\n\t\t\"beb2\",\n\t\t\"chunk-2d21b489\"\n\t],\n\t\"./zh-CN.json\": [\n\t\t\"a995\",\n\t\t\"chunk-2d20960a\"\n\t],\n\t\"./zh-TW.json\": [\n\t\t\"a8dc\",\n\t\t\"chunk-2d2097ac\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"b6f6\";\nmodule.exports = webpackAsyncContext;","module.exports = __webpack_public_path__ + \"img/house-1.9e424e43.jpg\";","module.exports = __webpack_public_path__ + \"img/house-3.48bc17bc.jpg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_2@2x.47907e5a.jpg\";","var map = {\n\t\"./add-your-image-here.jpg\": \"6fd1\",\n\t\"./apt-1.jpg\": \"823b\",\n\t\"./apt-1@2x.jpg\": \"52a3\",\n\t\"./apt-1@3x.jpg\": \"4842\",\n\t\"./apt-2.jpg\": \"c5cb\",\n\t\"./apt-2@2x.jpg\": \"33e0\",\n\t\"./apt-2@3x.jpg\": \"8230\",\n\t\"./entrance_plant_1.jpg\": \"3dbc\",\n\t\"./entrance_plant_1@2x.jpg\": \"ad88\",\n\t\"./entrance_plant_1@3x.jpg\": \"19ee\",\n\t\"./entrance_plant_2.jpg\": \"a109\",\n\t\"./entrance_plant_2@2x.jpg\": \"c287\",\n\t\"./entrance_plant_2@3x.jpg\": \"eadf\",\n\t\"./entrance_plant_3.jpg\": \"5b28\",\n\t\"./entrance_plant_3@2x.jpg\": \"39d1\",\n\t\"./entrance_plant_3@3x.jpg\": \"8e0a\",\n\t\"./entrance_plant_4.jpg\": \"e0ba\",\n\t\"./entrance_plant_4@2x.jpg\": \"345e\",\n\t\"./entrance_plant_4@3x.jpg\": \"25320\",\n\t\"./entrance_plant_5.jpg\": \"9a8b\",\n\t\"./entrance_plant_5@2x.jpg\": \"9876\",\n\t\"./entrance_plant_5@3x.jpg\": \"1905\",\n\t\"./house-1.jpg\": \"bd3a\",\n\t\"./house-1@2x.jpg\": \"aa0c\",\n\t\"./house-1@3x.jpg\": \"e63c\",\n\t\"./house-2.jpg\": \"17a7\",\n\t\"./house-2@2x.jpg\": \"8ee2\",\n\t\"./house-2@3x.jpg\": \"0203\",\n\t\"./house-3.jpg\": \"be20\",\n\t\"./house-3@2x.jpg\": \"7381\",\n\t\"./house-3@3x.jpg\": \"0a98\",\n\t\"./plantType/smart-home.jpg\": \"3626\",\n\t\"./plantType/smart-home@2x.jpg\": \"4cb8\",\n\t\"./plantType/smart-home@3x.jpg\": \"b5e2\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"c361\";","module.exports = __webpack_public_path__ + \"img/apt-2.c2387584.jpg\";","var map = {\n\t\"./apt-1@2x.jpg\": \"52a3\",\n\t\"./apt-2@2x.jpg\": \"33e0\",\n\t\"./entrance_plant_1@2x.jpg\": \"ad88\",\n\t\"./entrance_plant_2@2x.jpg\": \"c287\",\n\t\"./entrance_plant_3@2x.jpg\": \"39d1\",\n\t\"./entrance_plant_4@2x.jpg\": \"345e\",\n\t\"./entrance_plant_5@2x.jpg\": \"9876\",\n\t\"./house-1@2x.jpg\": \"aa0c\",\n\t\"./house-2@2x.jpg\": \"8ee2\",\n\t\"./house-3@2x.jpg\": \"7381\",\n\t\"./plantType/smart-home@2x.jpg\": \"4cb8\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"c72e\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"app-loader\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_1, [\n _createVNode(_component_ProgressSpinner)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isAuthenticated)\n ? (_openBlock(), _createBlock(_component_router_view, { key: 1 }))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { Options, Vue } from 'vue-class-component';\nimport { mapState } from 'vuex';\n\n// import authService from '@/core/services/auth.service';\nimport { SET_APP_LOADING } from './core/store/action-types';\nimport { MANAGE_ELIOT_PARSE_EXCEPTION } from './core/utils/emitter-events';\n\n@Options({\n name: 'App',\n computed: {\n ...mapState(['isLoading']),\n },\n})\nexport default class App extends Vue {\n isAuthenticated: any = false;\n\n created() {\n this.$store.dispatch(SET_APP_LOADING, true);\n this.$emitter.on(\n MANAGE_ELIOT_PARSE_EXCEPTION,\n this.manageEliotParseException\n );\n }\n\n async mounted() {\n import(\n /* webpackChunkName: \"auth-service\" */ '@/core/services/auth.service'\n ).then(async (authService: any) => {\n this.isAuthenticated = await authService.default.handleRedirectPromise();\n\n if (this.isAuthenticated === 'logged_out') {\n this.$router.push({\n name: 'page-logged-out',\n });\n }\n\n this.$store.dispatch(SET_APP_LOADING, false);\n });\n }\n\n beforeUnmount() {\n this.$emitter.off(\n MANAGE_ELIOT_PARSE_EXCEPTION,\n this.manageEliotParseException\n );\n }\n\n manageEliotParseException() {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('eliotParseException'),\n life: 3000,\n });\n // this.$router.push({\n // name: 'page-plants-hub',\n // });\n }\n}\n","import { render } from \"./App.vue?vue&type=template&id=b51da03a&ts=true\"\nimport script from \"./App.ts?vue&type=script&lang=ts\"\nexport * from \"./App.ts?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=b51da03a&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } from 'vue';\nimport Dialog from 'primevue/dialog';\nimport Button from 'primevue/button';\nimport Dropdown from 'primevue/dropdown';\nimport Tooltip from 'primevue/tooltip';\nimport InputText from 'primevue/inputtext';\nimport InputNumber from 'primevue/inputnumber';\nimport Divider from 'primevue/divider';\nimport Card from 'primevue/card';\nimport SelectButton from 'primevue/selectbutton';\nimport RadioButton from 'primevue/radiobutton';\nimport ToggleButton from 'primevue/togglebutton';\nimport Accordion from 'primevue/accordion';\nimport AccordionTab from 'primevue/accordiontab';\nimport Checkbox from 'primevue/checkbox';\nimport Carousel from 'primevue/carousel';\nimport TabView from 'primevue/tabview';\nimport TabPanel from 'primevue/tabpanel';\nimport ToastService from 'primevue/toastservice';\nimport Textarea from 'primevue/textarea';\nimport ProgressSpinner from 'primevue/progressspinner';\nimport InputSwitch from 'primevue/inputswitch';\nimport Slider from 'primevue/slider';\nimport Message from 'primevue/message';\nimport Calendar from 'primevue/calendar';\nimport PrimeVue from 'primevue/config';\nimport Password from 'primevue/password';\nimport Chip from 'primevue/chip';\nimport i18n from '../translations/i18n';\n\nconst configPrimeVue = async (app: App) => {\n app.component('Dialog', Dialog);\n app.component('Button', Button);\n app.component('Dropdown', Dropdown);\n app.component('InputText', InputText);\n app.component('InputNumber', InputNumber);\n app.component('Divider', Divider);\n app.component('Card', Card);\n app.component('SelectButton', SelectButton);\n app.component('RadioButton', RadioButton);\n app.component('ToggleButton', ToggleButton);\n app.component('Accordion', Accordion);\n app.component('AccordionTab', AccordionTab);\n app.component('Checkbox', Checkbox);\n app.component('Carousel', Carousel);\n app.component('TabView', TabView);\n app.component('TabPanel', TabPanel);\n app.component('Textarea', Textarea);\n app.component('ProgressSpinner', ProgressSpinner);\n app.component('InputSwitch', InputSwitch);\n app.component('Slider', Slider);\n app.component('Message', Message);\n app.component('Calendar', Calendar);\n app.component('Password', Password);\n app.component('Chip', Chip);\n\n app.directive('Tooltip', Tooltip);\n app.use(ToastService);\n await setPrimeVueLocale(app);\n};\n\nasync function setPrimeVueLocale(app: App) {\n const supportedLang = ['en', 'it', 'de', 'nl', 'fr', 'pt', 'es', 'cs', 'pl'];\n let localeLang = i18n.global.locale\n if (!supportedLang.includes(localeLang)) {\n localeLang = 'en';\n }\n\n const localeFile = await import(`primelocale/${localeLang}.json`);\n const localeTrad = Object.values(localeFile.default)[0];\n \n app.use(PrimeVue, {\n locale: localeTrad,\n });\n}\n\nexport default configPrimeVue;\n","import { App } from 'vue';\n\nimport {\n ElPopover,\n ElDropdown,\n ElDropdownItem,\n ElDropdownMenu,\n ElScrollbar,\n ElSteps,\n ElStep,\n} from 'element-plus';\n\n// Required for the popper\nimport 'element-plus/packages/theme-chalk/src/popper.scss';\n\nconst configElementPlus = (app: App) => {\n app.component('ElPopover', ElPopover);\n app.component('ElDropdown', ElDropdown);\n app.component('ElDropdownItem', ElDropdownItem);\n app.component('ElDropdownMenu', ElDropdownMenu);\n app.component('ElScrollbar', ElScrollbar);\n app.component('ElSteps', ElSteps);\n app.component('ElStep', ElStep);\n};\n\nexport default configElementPlus;\n","import { renderSlot as _renderSlot, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock(\"div\", {\n class: [\"page-wizard-stepper\", _ctx.disabledClasses]\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 2))\n}","import { PropType } from '@vue/runtime-dom';\nimport { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'WizardStepper',\n props: {\n disabledSteps: {\n type: Object as PropType,\n required: false,\n },\n },\n})\nexport default class WizardStepper extends Vue {\n disabledSteps?: number[];\n\n get disabledClasses() {\n // disabling a step is made through css because element ui stepper doesn't have a prop to show a step disabled\n return this.disabledSteps?.map((x) => `step-${x}-disable`).join(' ');\n }\n}\n","import { render } from \"./WizardStepper.vue?vue&type=template&id=077659aa&ts=true\"\nimport script from \"./WizardStepper.ts?vue&type=script&lang=ts\"\nexport * from \"./WizardStepper.ts?vue&type=script&lang=ts\"\n\nimport \"./WizardStepper.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSVG = _resolveComponent(\"InlineSVG\")\n\n return (_openBlock(), _createBlock(_component_InlineSVG, {\n width: _ctx.width,\n height: _ctx.height,\n src: _ctx.src,\n \"aria-label\": _ctx.ariaLabel,\n transformSource: _ctx.transform\n }, null, 8, [\"width\", \"height\", \"src\", \"aria-label\", \"transformSource\"]))\n}","import { Vue, Options } from 'vue-class-component';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Options({\n name: 'InlineSvgScoped',\n props: {\n src: {\n required: true,\n type: String,\n },\n width: {\n type: Number,\n },\n height: {\n type: Number,\n },\n fill: {\n type: String,\n },\n ariaLabel: {\n type: String,\n },\n },\n})\nexport default class InlineSvgScoped extends Vue {\n private nameMap = {} as any;\n private static readonly attributesToReplace = [\n 'fill',\n 'filter',\n 'mask',\n 'clip-path',\n ];\n\n transform(svg: SVGSVGElement) {\n this.makeIdsUnique(svg.children);\n return svg;\n }\n\n makeIdsUnique(elements: HTMLCollection) {\n if (!elements) return;\n for (const item of elements) {\n if (item.id) {\n //generate a new id for each icon\n const newName = item.id + uuidv4();\n this.nameMap[`#${item.id}`] = `#${newName}`;\n item.id = newName;\n }\n //search for generated ids and substite them in xlink:href (used for example in use tag)\n const xhref = item.getAttributeNS('http://www.w3.org/1999/xlink', 'href');\n if (xhref) {\n const newHrefId = this.nameMap[xhref];\n if (newHrefId) {\n item.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n 'xlink:href',\n newHrefId\n );\n }\n }\n\n //search for generated ids and substite them in attributes with the form url(#id)\n const attrs = item.attributes;\n for (let i = attrs.length - 1; i >= 0; i--) {\n this.setAttributeId(item, attrs[i].name, attrs[i].value);\n }\n\n this.makeIdsUnique(item.children);\n }\n }\n\n setAttributeId(item: Element, attributeName: string, attributeValue: string) {\n if (!InlineSvgScoped.attributesToReplace.includes(attributeName)) return;\n if (attributeValue) {\n const regex = /url\\((#[^)]*)/gm;\n const match = attributeValue.matchAll(regex).next();\n if (!match?.value) return;\n const originalMaskName = match.value[1];\n const newMaskName = this.nameMap[originalMaskName];\n\n if (newMaskName)\n item.setAttribute(\n attributeName,\n attributeValue.replace(regex, `url(${newMaskName}`)\n );\n }\n }\n}\n","import { render } from \"./InlineSvgScoped.vue?vue&type=template&id=3d0c3662&ts=true\"\nimport script from \"./InlineSvgScoped.ts?vue&type=script&lang=ts\"\nexport * from \"./InlineSvgScoped.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createVNode as _createVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, resolveDynamicComponent as _resolveDynamicComponent, vShow as _vShow, withScopeId as _withScopeId, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nconst _withId = /*#__PURE__*/_withScopeId(\"data-v-84d6dbc8\")\n\n_pushScopeId(\"data-v-84d6dbc8\")\nconst _hoisted_1 = { class: \"p-tabview-nav-container\" }\nconst _hoisted_2 = /*#__PURE__*/_createVNode(\"span\", { class: \"pi pi-chevron-left\" }, null, -1)\nconst _hoisted_3 = {\n ref: \"nav\",\n class: \"p-tabview-nav\",\n role: \"tablist\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"p-tabview-title\"\n}\nconst _hoisted_5 = {\n ref: \"inkbar\",\n class: \"p-tabview-ink-bar\"\n}\nconst _hoisted_6 = /*#__PURE__*/_createVNode(\"span\", { class: \"pi pi-chevron-right\" }, null, -1)\nconst _hoisted_7 = { class: \"p-tabview-panels\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"p-tabview-panel\",\n role: \"tabpanel\"\n}\n_popScopeId()\n\nexport const render = /*#__PURE__*/_withId((_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) => {\n const _directive_ripple = _resolveDirective(\"ripple\")\n\n return (_openBlock(), _createBlock(\"div\", {\n class: [\"p-tabview p-component\", { 'p-tabview-scrollable': _ctx.scrollable }]\n }, [\n _createVNode(\"div\", _hoisted_1, [\n (_ctx.scrollable && !_ctx.backwardIsDisabled)\n ? _withDirectives((_openBlock(), _createBlock(\"button\", {\n key: 0,\n ref: \"prevBtn\",\n class: \"p-tabview-nav-prev p-tabview-nav-btn p-link\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.navBackward && _ctx.navBackward(...args))),\n type: \"button\"\n }, [\n _hoisted_2\n ], 512)), [\n [_directive_ripple]\n ])\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n ref: \"content\",\n class: \"p-tabview-nav-content\",\n onScroll: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.onScroll && _ctx.onScroll(...args)))\n }, [\n _createVNode(\"ul\", _hoisted_3, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.tabs, (tab, i) => {\n return (_openBlock(), _createBlock(\"li\", {\n role: \"presentation\",\n key: _ctx.getKey(tab,i),\n class: [{'p-highlight': (_ctx.d_activeIndex === i), 'p-disabled': _ctx.isTabDisabled(tab)}]\n }, [\n _withDirectives(_createVNode(\"a\", {\n role: \"tab\",\n class: \"p-tabview-nav-link\",\n onClick: ($event: any) => (_ctx.onTabClick($event, i)),\n onKeydown: ($event: any) => (_ctx.onTabKeydown($event, i)),\n tabindex: _ctx.isTabDisabled(tab) ? undefined : 0,\n \"aria-selected\": _ctx.d_activeIndex === i\n }, [\n (tab.props && tab.props.header)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_4, _toDisplayString(tab.props.header), 1))\n : _createCommentVNode(\"\", true),\n (tab.children && tab.children.header)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(tab.children.header), { key: 1 }))\n : _createCommentVNode(\"\", true)\n ], 40, [\"onClick\", \"onKeydown\", \"tabindex\", \"aria-selected\"]), [\n [_directive_ripple]\n ])\n ], 2))\n }), 128)),\n _createVNode(\"li\", _hoisted_5, null, 512)\n ], 512)\n ], 544),\n (_ctx.scrollable && !_ctx.forwardIsDisabled)\n ? _withDirectives((_openBlock(), _createBlock(\"button\", {\n key: 1,\n ref: \"nextBtn\",\n class: \"p-tabview-nav-next p-tabview-nav-btn p-link\",\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.navForward && _ctx.navForward(...args))),\n type: \"button\"\n }, [\n _hoisted_6\n ], 512)), [\n [_directive_ripple]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(\"div\", _hoisted_7, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.tabs, (tab, i) => {\n return (_openBlock(), _createBlock(_Fragment, {\n key: _ctx.getKey(tab,i)\n }, [\n (_ctx.lazy ? (_ctx.d_activeIndex === i) : true)\n ? _withDirectives((_openBlock(), _createBlock(\"div\", _hoisted_8, [\n (_openBlock(), _createBlock(_resolveDynamicComponent(tab)))\n ], 512)), [\n [_vShow, _ctx.lazy ? true: (_ctx.d_activeIndex === i)]\n ])\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ])\n ], 2))\n})","import { VNode } from 'vue';\nimport Ripple from 'primevue/ripple';\nimport { Options, Vue } from 'vue-class-component';\nimport TabPanel from 'primevue/tabpanel';\n\n@Options({\n name: 'ScrollableTabView',\n slots: {\n '': TabPanel,\n },\n props: {\n activeIndex: {\n type: Number,\n default: 0,\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n scrollable: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n tabs() {\n const tabs: any[] = [];\n this.$slots.default().forEach((child: any) => {\n if (this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach((nestedChild: any) => {\n if (this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n });\n return tabs;\n },\n },\n watch: {\n activeIndex(newValue) {\n this.d_activeIndex = newValue;\n\n this.updateScrollBar(newValue);\n },\n },\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n directives: {\n 'ripple': Ripple\n }\n})\nexport default class ScrollableTabView extends Vue {\n activeIndex!: number;\n lazy!: boolean\n scrollable!: boolean;\n d_activeIndex: number = this.activeIndex;\n backwardIsDisabled = true;\n forwardIsDisabled = false;\n\n tabs!: any[];\n updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n }\n\n mounted() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n }\n\n onTabClick(event: any, i: number) {\n if (!this.isTabDisabled(this.tabs[i]) && i !== this.d_activeIndex) {\n this.d_activeIndex = i;\n this.$emit('update:activeIndex', this.d_activeIndex);\n\n this.$emit('tab-change', {\n originalEvent: event,\n index: i,\n });\n\n this.updateScrollBar(i);\n }\n\n this.$emit('tab-click', {\n originalEvent: event,\n index: i,\n });\n }\n\n onTabKeydown(event: any, i: number) {\n if (event.which === 13) {\n this.onTabClick(event, i);\n }\n }\n\n updateInkBar() {\n let tabHeader = (this.$refs.nav as HTMLElement).children[this.d_activeIndex];\n (this.$refs.inkbar as HTMLElement).style.width = this.getWidth(tabHeader) + 'px';\n (this.$refs.inkbar as HTMLElement).style.left =\n this.getOffset(tabHeader).left -\n this.getOffset(this.$refs.nav).left +\n 'px';\n }\n\n updateScrollBar(index: number) {\n let tabHeader = (this.$refs.nav as HTMLElement).children[index];\n tabHeader.scrollIntoView({ block: 'nearest' });\n }\n\n updateButtonState() {\n const content = this.$refs.content as HTMLElement;\n const { scrollLeft, scrollWidth } = content;\n const width = this.getWidth(content);\n\n this.backwardIsDisabled = scrollLeft === 0;\n this.forwardIsDisabled = Math.round(scrollLeft) === scrollWidth - width;\n }\n\n getKey(tab: any, i: number) {\n return tab.props && tab.props.header ? tab.props.header : i;\n }\n\n isTabDisabled(tab: any) {\n return tab.props && tab.props.disabled;\n }\n\n isTabPanel(child: any) {\n return child.type.name === 'tabpanel';\n }\n\n onScroll(event: any) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n }\n\n getVisibleButtonWidths(): any {\n const { prevBtn, nextBtn } = this.$refs;\n\n return [prevBtn, nextBtn].reduce(\n (acc, el) => (el ? acc + this.getWidth(el) : acc),\n 0\n );\n }\n\n navBackward() {\n const content = this.$refs.content as HTMLElement;\n const width = this.getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft - width;\n \n content.scrollLeft = pos <= 0 ? 0 : pos;\n }\n\n navForward() {\n const content = this.$refs.content as HTMLElement;\n const width = this.getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n }\n\n getWidth(el: any) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n getOffset(el: any) {\n var rect = el.getBoundingClientRect();\n\n return {\n top: rect.top + (window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft || 0),\n };\n }\n}\n","import { render } from \"./ScrollableTabView.vue?vue&type=template&id=84d6dbc8&scoped=true&ts=true\"\nimport script from \"./ScrollableTabView.ts?vue&type=script&lang=ts\"\nexport * from \"./ScrollableTabView.ts?vue&type=script&lang=ts\"\n\nimport \"./ScrollableTabView.scss?vue&type=style&index=0&id=84d6dbc8&scoped=true&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-84d6dbc8\"]])\n\nexport default __exports__","import { createVNode as _createVNode, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createVNode(\"div\", { class: \"row-line\" }, null, -1)\nconst _hoisted_2 = { class: \"d-flex align-items-center row-content p-field-radiobutton\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"mt-1 text-gray\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"row-line\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_RadioButton = _resolveComponent(\"RadioButton\")\n\n return (_openBlock(), _createBlock(\"div\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.setRadioValue())),\n class: [\"list-item-radio\", { 'listitem-disabled': _ctx.disabled }]\n }, [\n _hoisted_1,\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(_component_RadioButton, {\n inputId: _ctx.inputId,\n name: _ctx.name,\n value: _ctx.value,\n modelValue: _ctx.localValue,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.localValue = $event)),\n disabled: _ctx.disabled\n }, null, 8, [\"inputId\", \"name\", \"value\", \"modelValue\", \"disabled\"]),\n _createVNode(\"label\", {\n class: \"ml-2\",\n for: _ctx.inputId\n }, [\n _createTextVNode(_toDisplayString(_ctx.label) + \" \", 1),\n (_ctx.sublabel)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_3, [\n _createVNode(\"small\", null, _toDisplayString(_ctx.sublabel), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 8, [\"for\"]),\n _renderSlot(_ctx.$slots, \"info-label\")\n ]),\n (_ctx.last)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_4))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'ListItemRadio',\n props: {\n modelValue: {\n required: true,\n },\n name: {\n required: true,\n type: String,\n },\n inputId: {\n required: true,\n type: String,\n },\n label: {\n required: false,\n type: String,\n },\n sublabel: {\n required: false,\n type: String,\n },\n value: {\n required: true,\n },\n last: {\n type: Boolean,\n default: false,\n required: false,\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n})\nexport default class ListItemRadio extends Vue {\n modelValue!: any;\n name!: string;\n inputId!: string;\n value!: string;\n last!: boolean;\n label!: string;\n sublabel!: string;\n disabled!: boolean;\n\n get localValue() {\n return this.modelValue;\n }\n\n set localValue(v: any) {\n this.$emit('update:modelValue', v);\n }\n\n setRadioValue() {\n if (!this.disabled) this.localValue = this.value;\n }\n}\n","import { render } from \"./ListItemRadio.vue?vue&type=template&id=c0494500&ts=true\"\nimport script from \"./ListItemRadio.ts?vue&type=script&lang=ts\"\nexport * from \"./ListItemRadio.ts?vue&type=script&lang=ts\"\n\nimport \"./ListItemRadio.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import axios from 'axios';\nimport { createApp } from 'vue';\nimport InlineSvg from 'vue-inline-svg';\n\nimport App from './App.vue';\nimport store from './core/store/store';\nimport router from './core/router/index';\nimport i18n from './core/translations/i18n';\n\nimport emitter from './core/config/emitter';\nimport configPrimeVue from './core/config/config-primevue';\nimport configElementPlus from './core/config/config-elementplus';\nimport WizardStepper from './views/components/WizardStepper/WizardStepper.vue';\nimport InlineSvgScoped from './views/components/InlineSvgScoped/InlineSvgScoped.vue';\nimport {\n ApplicationInsights,\n DistributedTracingModes,\n} from '@microsoft/applicationinsights-web';\nimport globalErrors from './core/utils/global-errors';\nimport authService from './core/services/auth.service';\nimport ScrollableTabView from './views/components/ScrollableTabView/ScrollableTabView.vue';\nimport ListItemCheck from './views/components/ListItemCheck/ListItemCheck.vue';\nimport ListItemRadio from './views/components/ListItemRadio/ListItemRadio.vue';\n\nglobalErrors.init();\n\nasync function fetchDefaultClientSettings() {\n try {\n const r = await axios.get('/desktool-client/default-settings');\n if (r.status >= 300) {\n console.error(\n `Could not fetch default settings. HTTP[${r.status}] error.`\n );\n console.error(r);\n throw new Error(\n `Could not fetch default settings. HTTP[${r.status}] error.`\n );\n }\n \n return {\n UI_ENABLED: r.data.uiSettings,\n AZUREABB2C_CLIENTID: r.data.azureAdb2CClientId,\n AZUREADB2C_AUTHORITY: r.data.azureAdb2CAuthority,\n PLANT_REFRESH_INTERVAL: r.data.plantRefreshInterval,\n AZUREADB2C_KNOWN_AUTHORITY: r.data.azureAdb2CKnownAuthority,\n AZUREABB2C_FULL_ACCESS_SCOPE: r.data.azureAdb2CFullAccessScope,\n INSTRUMENTATION_KEY : r.data.instrumentationKey,\n PROFILE_URL: r.data.profileUrl,\n ENTRANCE_PLANT_ENABLED: r.data.entrancePlantEnabled\n };\n } catch (e) {\n console.error(\n `[X] There was an error trying to fetch the default settings`\n );\n console.error(e);\n throw new Error(e as any);\n }\n}\n\nfunction applyDefaultClientSettings(settings: any) {\n (window as any).appConfig = { ...(window as any).appConfig, ...settings };\n authService.init();\n}\n\nconst loco = window.location;\nconst appRootUrl = `${loco.protocol}//${loco.host}${process.env.BASE_URL}`;\nconst configUrl = `${appRootUrl}/config.json`;\n\naxios.get(configUrl).then(async (r) => {\n axios.defaults.baseURL = r.data.API_ENDPOINT;\n (window as any).appConfig = r.data;\n\n const settings = await fetchDefaultClientSettings();\n applyDefaultClientSettings(settings);\n\n const app = createApp(App).use(router).use(store).use(i18n);\n app.config.globalProperties.$config = (window as any).appConfig;\n app.config.globalProperties.$emitter = emitter;\n\n const appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: settings.INSTRUMENTATION_KEY,\n enableAutoRouteTracking: true,\n disableFetchTracking: false,\n enableCorsCorrelation: true,\n enableRequestHeaderTracking: true,\n enableResponseHeaderTracking: true,\n distributedTracingMode: DistributedTracingModes.W3C,\n },\n });\n appInsights.loadAppInsights();\n app.config.globalProperties.$appInsight = appInsights;\n await configPrimeVue(app);\n configElementPlus(app);\n app.component('InlineSVG', InlineSvg);\n app.component('InlineSvgScoped', InlineSvgScoped);\n app.component('WizardStepper', WizardStepper);\n app.component('ScrollableTabView', ScrollableTabView);\n app.component('ListItemRadio', ListItemRadio);\n app.component('ListItemCheck', ListItemCheck);\n\n app.mount('#app');\n});\n","import stringsIT from './strings-it.json';\nimport stringsEN from './strings-en.json';\nimport stringsDE from './strings-de.json';\nimport stringsES from './strings-es.json';\nimport stringsFR from './strings-fr.json';\nimport stringsNL from './strings-nl.json';\nimport stringsSK from './strings-sk.json';\nimport stringsPT from './strings-pt.json';\nimport stringsPL from './strings-cs.json';\nimport stringsCS from './strings-cs.json';\n\nimport stringsXamarinEN from '@/../xamarin-translations/json/en-US.json';\nimport stringsXamarinIT from '@/../xamarin-translations/json/it.json';\nimport stringsXamarinDE from '@/../xamarin-translations/json/de.json';\nimport stringsXamarinES from '@/../xamarin-translations/json/es.json';\nimport stringsXamarinFR from '@/../xamarin-translations/json/fr.json';\nimport stringsXamarinNL from '@/../xamarin-translations/json/nl.json';\nimport stringsXamarinSK from '@/../xamarin-translations/json/sk.json';\nimport stringsXamarinPT from '@/../xamarin-translations/json/pt.json';\nimport stringsXamarinPL from '@/../xamarin-translations/json/pl.json';\nimport stringsXamarinCS from '@/../xamarin-translations/json/cs.json';\n\nconst strings = {\n it: { ...stringsIT, ...stringsXamarinIT },\n en: { ...stringsEN, ...stringsXamarinEN },\n de: { ...stringsDE, ...stringsXamarinDE },\n es: { ...stringsES, ...stringsXamarinES },\n fr: { ...stringsFR, ...stringsXamarinFR },\n nl: { ...stringsNL, ...stringsXamarinNL },\n sk: { ...stringsSK, ...stringsXamarinSK },\n pt: { ...stringsPT, ...stringsXamarinPT },\n pl: { ...stringsPL, ...stringsXamarinPL },\n cs: { ...stringsCS, ...stringsXamarinCS },\n};\n\nexport default strings;\n","import { createI18n } from 'vue-i18n';\nimport messages from './strings/index';\n\n// Escape pipes\nconst msgs = JSON.parse(JSON.stringify(messages).replaceAll('|', \"{'|'}\"))\n\n// A bit nasty as approach, but it works.\n// Standard approach would be to keep the i18n\n// files named like the various locales (en-US, en-GB, it-IT, de-DE, fr-FR...).\n// By doing so the user can load his specific culture locale.\n// Right now we are referring to the general culture, and no specificity\n// of the language is considered.\nconst browserLang = navigator.language.split('-')[0];\n\n// call with I18n option\nconst i18n = createI18n({\n locale: browserLang, // set locale\n fallbackLocale: 'en',\n messages: msgs, // set locale messages\n fallbackWarn: false,\n missingWarn: false,\n silentTranslationWarn: true\n});\n\nexport default i18n;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./ListItemCheck.scss?vue&type=style&index=0&lang=scss\"","module.exports = __webpack_public_path__ + \"img/entrance_plant_4.170497a8.jpg\";","module.exports = __webpack_public_path__ + \"img/logo.878a8198.svg\";","module.exports = __webpack_public_path__ + \"img/house-1@3x.9eeab388.jpg\";","module.exports = __webpack_public_path__ + \"img/icon-setting.05930d6b.svg\";","module.exports = __webpack_public_path__ + \"img/entrance_plant_2@3x.a128d8fd.jpg\";","var map = {\n\t\"./apt-1@3x.jpg\": \"4842\",\n\t\"./apt-2@3x.jpg\": \"8230\",\n\t\"./entrance_plant_1@3x.jpg\": \"19ee\",\n\t\"./entrance_plant_2@3x.jpg\": \"eadf\",\n\t\"./entrance_plant_3@3x.jpg\": \"8e0a\",\n\t\"./entrance_plant_4@3x.jpg\": \"25320\",\n\t\"./entrance_plant_5@3x.jpg\": \"1905\",\n\t\"./house-1@3x.jpg\": \"e63c\",\n\t\"./house-2@3x.jpg\": \"0203\",\n\t\"./house-3@3x.jpg\": \"0a98\",\n\t\"./plantType/smart-home@3x.jpg\": \"b5e2\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"ed5a\";","import i18n from '../translations/i18n';\nimport {\n UserDTO,\n PlantDTO,\n SceneDTO,\n DeviceDTO,\n IDeviceDTO,\n ServerModel,\n RoomObjectDTO,\n PlantDetailDTO,\n PlantSharingDTO,\n PlantMxServerDTO,\n ExtDevice,\n ExtComponentType,\n PlayerExtDevice,\n PlayerSystem,\n ColoredLightExtDevice,\n Slot,\n SlotStatus,\n CommandIcon,\n PlantIconEnum,\n ThermoTypeOfObject,\n ThermoAssociatedPump,\n RoomType,\n LightType,\n SceneType,\n RoomObjectType,\n SceneObjectType,\n ThermoActuatorType,\n AggregateCommandType,\n ColoredLightType,\n XmeterExtDevice,\n PlantType,\n Language,\n EntrancePlantDetailDTO,\n ApartmentInvitationDTO,\n EpUserRole\n} from '@/../client-generator/generated-clients/plants';\nimport {\n ComponentType,\n IDefaultDevicesSettingsDTO,\n RoomObject,\n} from '@/../client-generator/generated-clients/device-settings';\nimport { SlotRuleServiceType } from '../services/slots-assign-rules-service/slots-assign-rules-interfaces';\n\nconst $t = i18n.global.t;\n\nconst cloneObject = (object: T): T => {\n return JSON.parse(JSON.stringify(object));\n};\n\nconst getUserInitials = (usersName: string) => {\n const names = usersName.split(' ');\n\n if (names.length === 1) {\n return names[0][0];\n }\n\n return `${names[0][0]}${names[1][0]}`;\n};\n\nconst roomObjectTypeIconMapping: Record = {\n [RoomObjectType.None]: 'icon-none',\n [RoomObjectType.Lock]: 'icon-lock',\n [RoomObjectType.Light]: 'icon-light',\n [RoomObjectType.Blind]: 'icon-blind',\n [RoomObjectType.Alarm]: 'icon-security',\n [RoomObjectType.Xmeter]: 'icon-xmeter',\n [RoomObjectType.Socket]: 'icon-socket',\n [RoomObjectType.Player]: 'icon-player',\n [RoomObjectType.Shutter]: 'icon-shutter',\n [RoomObjectType.Fancoil]: 'icon-fancoil',\n [RoomObjectType.WirelessCommand]: 'icon-wifi',\n [RoomObjectType.Thermostat]: 'icon-thermostat',\n [RoomObjectType.Thermostat99zones]: 'icon-thermostat',\n [RoomObjectType.TowelWarmer]: 'icon-towel-rail',\n [RoomObjectType.ColoredLight]: 'icon-colored-light',\n [RoomObjectType.AlarmSensor]: 'icon-security',\n [RoomObjectType.DimmerDmx]: 'icon-dimmer-dmx',\n [RoomObjectType.ScheduledScenarioPlus]: '',\n [RoomObjectType.Contact]: '',\n [RoomObjectType.DimmerDali]: '',\n [RoomObjectType.Actuactor]: '',\n [RoomObjectType.CentralLoadControl]: '',\n [RoomObjectType.ActuactorLoadControl]: '',\n [RoomObjectType.VdeLock]: '',\n [RoomObjectType.StaircaseLight]: '',\n [RoomObjectType.FloorCall]: '',\n [RoomObjectType.Unknown]: '',\n};\n\nconst roomObjectTypeLabelMapping: Record = {\n [RoomObjectType.None]: '',\n [RoomObjectType.Lock]: $t('AppResource.Lock'),\n [RoomObjectType.Light]: $t('AppResource.Light'),\n [RoomObjectType.Blind]: $t('AppResource.Blind'),\n [RoomObjectType.Alarm]: $t('AppResource.Alarm'),\n [RoomObjectType.Xmeter]: $t('AppResource.Xmeter'),\n [RoomObjectType.Socket]: $t('AppResource.Socket'),\n [RoomObjectType.Player]: $t('AppResource.Player'),\n [RoomObjectType.Shutter]: $t('AppResource.Shutter'),\n [RoomObjectType.Fancoil]: $t('AppResource.Fancoil'),\n [RoomObjectType.WirelessCommand]: $t('AppResource.WirelessCommand'),\n [RoomObjectType.Thermostat]: $t('AppResource.Thermostat'),\n [RoomObjectType.Thermostat99zones]: $t('AppResource.Thermostat99zones'),\n [RoomObjectType.TowelWarmer]: $t('AppResource.TowelWarmer'),\n [RoomObjectType.ColoredLight]: $t('AppResource.ColoredLight'),\n [RoomObjectType.AlarmSensor]: $t('AppResource.AlarmSensor'),\n [RoomObjectType.DimmerDmx]: $t('AppResource.DimmerDmx'),\n [RoomObjectType.ScheduledScenarioPlus]: '',\n [RoomObjectType.Contact]: '',\n [RoomObjectType.DimmerDali]: '',\n [RoomObjectType.Actuactor]: '',\n [RoomObjectType.CentralLoadControl]: '',\n [RoomObjectType.ActuactorLoadControl]: '',\n [RoomObjectType.VdeLock]: '',\n [RoomObjectType.StaircaseLight]: '',\n [RoomObjectType.FloorCall]: '',\n [RoomObjectType.Unknown]: '',\n};\n\nconst extDeviceTypeIconMapping: Record = {\n [ExtComponentType.Player]: 'icon-music-player',\n [ExtComponentType.ColoredLight]: 'icon-network',\n [ExtComponentType.Xmeter]: 'icon-network',\n [ExtComponentType.AlarmSensor]: 'icon-security',\n [ExtComponentType.AlarmCentralUnit]: 'icon-security',\n [ExtComponentType.DimmerDmx]: 'icon-dimmer-dmx',\n};\n\nconst sceneObjectTypeIconMapping: Record = {\n [SceneObjectType.None]: '',\n [SceneObjectType.Lock]: 'icon-lock',\n [SceneObjectType.Light]: 'icon-light',\n [SceneObjectType.Blind]: 'icon-blind',\n [SceneObjectType.Email]: 'icon-email',\n [SceneObjectType.Dimmer]: 'icon-light',\n [SceneObjectType.Xmeter]: 'icon-xmeter',\n [SceneObjectType.Player]: 'icon-player',\n [SceneObjectType.Socket]: 'icon-socket',\n [SceneObjectType.Fancoil]: 'icon-fancoil',\n [SceneObjectType.Shutter]: 'icon-shutter',\n [SceneObjectType.Command]: 'icon-command',\n [SceneObjectType.Weather]: 'icon-weather',\n [SceneObjectType.DateTime]: 'icon-datetime',\n [SceneObjectType.Thermostat]: 'icon-thermostat',\n [SceneObjectType.TowelWarmer]: 'icon-towel-rail',\n [SceneObjectType.GroupOfShutters]: 'icon-shutter',\n [SceneObjectType.GroupOfLights]: 'icon-group-lights',\n [SceneObjectType.ColoredLights]: 'icon-colored-light',\n [SceneObjectType.GeneralCommandsLights]: 'icon-light',\n [SceneObjectType.GeneralCommandsShutters]: 'icon-shutter',\n [SceneObjectType.PushNotificationAction]: 'icon-push-notification',\n [SceneObjectType.Alarm]: 'icon-security',\n [SceneObjectType.AlarmSensor]: 'icon-security',\n [SceneObjectType.DimmerDmx]: 'icon-dimmer-dmx',\n [SceneObjectType.Dali]: '',\n [SceneObjectType.ActuactorLoadControl]: '',\n};\n\nexport interface ObjectTypes {\n name: string;\n icon: string;\n type: RoomObjectType;\n}\n\nconst objectTypes: ObjectTypes[] = [\n {\n name: $t('AppResource.Light'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Light],\n type: RoomObjectType.Light,\n },\n {\n name: $t('AppResource.ColoredLight'),\n icon: roomObjectTypeIconMapping[RoomObjectType.ColoredLight],\n type: RoomObjectType.ColoredLight,\n },\n {\n name: $t('AppResource.DimmerDmx'),\n icon: roomObjectTypeIconMapping[RoomObjectType.DimmerDmx],\n type: RoomObjectType.DimmerDmx,\n },\n {\n name: $t('AppResource.Shutter'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Shutter],\n type: RoomObjectType.Shutter,\n },\n {\n name: $t('AppResource.Socket'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Socket],\n type: RoomObjectType.Socket,\n },\n {\n name: $t('AppResource.Lock'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Lock],\n type: RoomObjectType.Lock,\n },\n {\n name: $t('AppResource.Thermostat'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Thermostat],\n type: RoomObjectType.Thermostat,\n },\n {\n name: $t('AppResource.Thermostat'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Thermostat99zones],\n type: RoomObjectType.Thermostat99zones,\n },\n {\n name: $t('AppResource.Fancoil'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Fancoil],\n type: RoomObjectType.Fancoil,\n },\n {\n name: $t('AppResource.TowelWarmer'),\n icon: roomObjectTypeIconMapping[RoomObjectType.TowelWarmer],\n type: RoomObjectType.TowelWarmer,\n },\n {\n name: 'Wireless',\n icon: roomObjectTypeIconMapping[RoomObjectType.WirelessCommand],\n type: RoomObjectType.WirelessCommand,\n },\n {\n name: $t('AppResource.Blind'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Blind],\n type: RoomObjectType.Blind,\n },\n {\n name: $t('AppResource.Xmeter'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Xmeter],\n type: RoomObjectType.Xmeter,\n },\n {\n name: $t('AppResource.Player'),\n icon: roomObjectTypeIconMapping[RoomObjectType.Player],\n type: RoomObjectType.Player,\n },\n {\n name: $t('alarm.alarmsensor'),\n icon: roomObjectTypeIconMapping[RoomObjectType.AlarmSensor],\n type: RoomObjectType.AlarmSensor,\n },\n];\n\nconst defaultNewPlant = new PlantDTO({\n tags: [],\n name: '',\n address: '',\n country: 'IT',\n roomsCounts: [],\n icon: PlantIconEnum.ICON_1,\n mxServer: new PlantMxServerDTO({ model: undefined }),\n plantType: PlantType.AUTOMATION_PLANT,\n});\n\nconst defaultNewEntrancePlant = new EntrancePlantDetailDTO({\n tags: [],\n name: '',\n address: '',\n country: 'IT',\n icon: PlantIconEnum.ICON_1,\n plantType: PlantType.ENTRANCE_PLANT,\n});\n\nconst getRoomIconFromType = (roomType: RoomType) => {\n let iconName = '';\n\n switch (roomType) {\n case RoomType.Livingroom:\n iconName = 'icon-livingroom';\n break;\n case RoomType.Bathroom:\n iconName = 'icon-bathroom';\n break;\n case RoomType.Kitchen:\n iconName = 'icon-kitchen';\n break;\n case RoomType.Bedroom:\n iconName = 'icon-bedroom';\n break;\n case RoomType.Lobby:\n iconName = 'icon-entrance';\n break;\n case RoomType.Corridor:\n iconName = 'icon-corridor';\n break;\n case RoomType.Garage:\n iconName = 'icon-garage';\n break;\n case RoomType.Outdoor:\n iconName = 'icon-outdoor';\n break;\n case RoomType.Stairs:\n iconName = 'icon-staircase';\n break;\n case RoomType.Dining_room:\n iconName = 'icon-diningroom';\n break;\n case RoomType.Toilets:\n iconName = 'icon-toilets';\n break;\n case RoomType.Home_office:\n iconName = 'icon-office';\n break;\n case RoomType.Custom:\n iconName = 'icon-blueprint';\n break;\n case RoomType.Electrical_cabinet:\n iconName = 'icon-electrical-cabinet';\n break;\n }\n\n return iconName;\n};\n\nconst getObjectIconFromType = (objectType: RoomObjectType) => {\n return roomObjectTypeIconMapping[objectType];\n};\n\nconst getObjectLabelFromType = (objectType: RoomObjectType) => {\n return roomObjectTypeLabelMapping[objectType];\n};\n\nconst getExtDeviceIconFromType = (extDeviceType: ExtComponentType) => {\n return extDeviceTypeIconMapping[extDeviceType];\n};\n\nconst getObjectDescLabel = (object: RoomObjectDTO) => {\n let label = '';\n\n switch (object.type) {\n case RoomObjectType.ColoredLight:\n label = $t('AppResource.ColoredLight');\n break;\n case RoomObjectType.Player:\n label = $t('AppResource.MusicPlayer');\n break;\n case RoomObjectType.Xmeter:\n label = $t('AppResource.Xmeter');\n break;\n case RoomObjectType.Lock:\n label = $t('AppResource.Lock');\n break;\n case RoomObjectType.Shutter:\n label = $t('AppResource.ShutterObject');\n break;\n case RoomObjectType.Blind:\n label = $t('AppResource.Blind');\n break;\n case RoomObjectType.Socket:\n label = $t('AppResource.ControlledSocket');\n break;\n case RoomObjectType.Fancoil:\n label = `${\n object.thermoTypeOfObject == ThermoTypeOfObject.Heating\n ? $t('AppResource.Heating')\n : $t('AppResource.Cooling')\n } ${$t('AppResource.FancoilLower')}`;\n break;\n case RoomObjectType.TowelWarmer:\n label = $t('AppResource.TowelWarmer');\n break;\n case RoomObjectType.WirelessCommand:\n label = '';\n break;\n case RoomObjectType.Thermostat:\n if (object.thermoTypeOfObject === ThermoTypeOfObject.Cooling)\n label = $t('AppResource.Cooling');\n else if (object.thermoTypeOfObject === ThermoTypeOfObject.Heating)\n label = $t('AppResource.Heating');\n else if (\n object.thermoTypeOfObject === ThermoTypeOfObject.HeatingAndCooling\n )\n label = $t('AppResource.HeatingAndCooling');\n if (object.thermoAssociatedPump === ThermoAssociatedPump.Yes)\n label += ' plant with associated pump';\n else label += ' plant without associated pump';\n break;\n case RoomObjectType.Light:\n label = `${\n object.lightType === LightType.Dimmer\n ? $t('AppResource.Dimmer')\n : $t('AppResource.OnOffLight')\n } ${$t('AppResource.Object')}`;\n break;\n case RoomObjectType.DimmerDmx:\n label = $t('AppResource.DimmerDmx');\n break;\n }\n\n return label;\n};\n\nconst getDeviceIconName = (commandIcon?: CommandIcon) => {\n if (!commandIcon) return '';\n return ` | icon ${CommandIcon[commandIcon]}`;\n};\n\nconst getThermo99Description = (roomObject: RoomObject) => {\n return `${roomObject.thermo99SelectedZone} - ${$t(\n `AppResource.${\n roomObject.thermo99HasFancoil ? 'WithLower' : 'WithoutLower'\n }`\n )} ${$t('AppResource.FancoilLower')}`;\n};\n\nconst getPlantIconImages = () => {\n return [\n {\n imageName: 'house-3',\n value: PlantIconEnum.ICON_1,\n },\n {\n imageName: 'house-2',\n value: PlantIconEnum.ICON_2,\n },\n {\n imageName: 'house-1',\n value: PlantIconEnum.ICON_3,\n },\n {\n imageName: 'apt-1',\n value: PlantIconEnum.ICON_4,\n },\n {\n imageName: 'apt-2',\n value: PlantIconEnum.ICON_5,\n },\n ];\n};\n\nconst getEpPlantIconImages = () => {\n return [\n {\n imageName: 'entrance_plant_1',\n value: PlantIconEnum.ICON_1,\n },\n {\n imageName: 'entrance_plant_2',\n value: PlantIconEnum.ICON_2,\n },\n {\n imageName: 'entrance_plant_3',\n value: PlantIconEnum.ICON_3,\n },\n {\n imageName: 'entrance_plant_4',\n value: PlantIconEnum.ICON_4,\n },\n {\n imageName: 'entrance_plant_5',\n value: PlantIconEnum.ICON_5,\n },\n ];\n};\n\nconst getPlantIconImageUrls = ({ imageName }: { imageName: string }) => {\n return [\n require(`@/assets/images/plants/${imageName}.jpg`),\n require(`@/assets/images/plants/${imageName}@2x.jpg`),\n require(`@/assets/images/plants/${imageName}@3x.jpg`),\n ];\n};\n\nconst getEpPlantIconImageUrls = ({ imageName }: { imageName: string }) => {\n return [\n require(`@/assets/images/plants/${imageName}.jpg`),\n require(`@/assets/images/plants/${imageName}@2x.jpg`),\n require(`@/assets/images/plants/${imageName}@3x.jpg`),\n ];\n};\n\nconst getPlantIconImageUrlsByType = (\n plantTypeIcon?: PlantIconEnum,\n plantCustomIconUrl?: string,\n plantType?: PlantType\n) => {\n if (plantTypeIcon == PlantIconEnum.ICON_CUSTOM) return [plantCustomIconUrl];\n if (plantType == PlantType.ENTRANCE_PLANT) {\n const image = getEpPlantIconImages().find((x) => x.value === plantTypeIcon);\n return image ? getEpPlantIconImageUrls(image) : [];\n }\n const image = getPlantIconImages().find((x) => x.value === plantTypeIcon);\n return image ? getPlantIconImageUrls(image) : [];\n};\n\nconst getDeviceIcon = (device: IDeviceDTO) => {\n let iconName = '';\n\n if (device.selectedComponentType === ComponentType.Command)\n iconName = 'icon-command';\n else iconName = 'icon-network';\n return iconName;\n};\n\nconst getExtDeviceIdentifier = (extDevice: ExtDevice) => {\n switch (extDevice.componentType) {\n case ExtComponentType.Player: {\n const player = extDevice as PlayerExtDevice;\n return `${\n player.playerSystem == PlayerSystem.Nuvo ? 'NuVo Zone' : 'Sonos'\n } ${player.macAddress}`;\n }\n case ExtComponentType.ColoredLight: {\n const coloredLight = extDevice as ColoredLightExtDevice;\n switch (coloredLight.coloredLightType) {\n case ColoredLightType.Dmx:\n return $t('AppResource.DmxEnttecOde');\n case ColoredLightType.Lifx:\n return $t('AppResource.Lifx');\n case ColoredLightType.PhilipsHue:\n return $t('AppResource.PhilipsHue');\n }\n break;\n }\n case ExtComponentType.Xmeter: {\n const xmDevice = extDevice as XmeterExtDevice;\n return `${$t('AppResource.Address')} ${xmDevice.address}`;\n }\n }\n};\n\nconst getExtDeviceActiveLink = (extDevice: ExtDevice) => {\n if (extDevice.componentType == ExtComponentType.ColoredLight) {\n const coloredLight = extDevice as ColoredLightExtDevice;\n switch (coloredLight.coloredLightType) {\n case ColoredLightType.PhilipsHue:\n return `Bridge ${coloredLight.philipsHueBridge} - ${coloredLight.philipsHueLampName}`;\n case ColoredLightType.Lifx:\n return `Ampoule Lifx ${coloredLight.lifxLamp}`;\n case ColoredLightType.Dmx:\n return `DMX ${coloredLight.dmxMacAddress} - Node ${coloredLight.dmxNode}`;\n }\n } else {\n return '';\n }\n};\n\nconst getDeviceIconFromSettings = (device: IDefaultDevicesSettingsDTO) => {\n let iconName = '';\n if (!device.isAggregateRoomObject) {\n if (device.selectedComponentType == ComponentType.Command)\n iconName = 'icon-command';\n else iconName = 'icon-network';\n } else {\n iconName = getRoomIconFromType(device.roomType ?? RoomType.Custom);\n }\n return iconName;\n};\n\nconst getConfiguredChannelsOrModulesSettings = (device: DeviceDTO) => {\n return device.defaultSettings?.find(\n (x) => x.selectedComponentType == device.selectedComponentType\n );\n};\n\nconst getPlantLastModifyByIcon = (lastModifyByDesktop: boolean | undefined) => {\n if (lastModifyByDesktop) return 'icon-desktop';\n return 'icon-mobile-device';\n};\n\nconst getPlantLastModifyByLabel = (\n lastModifyByDesktop: boolean | undefined\n) => {\n if (lastModifyByDesktop) return $t('general.desktop');\n return $t('general.mobile');\n};\n\nconst getUserInitialsForBubble = (\n user?: PlantSharingDTO | UserDTO | ApartmentInvitationDTO | EpUserRole\n) => {\n if (!user) return '- -';\n let initials = '';\n const email =\n user.email ?? (() => ('invitedEmail' in user ? user.invitedEmail : ''))();\n if (email) {\n const emailParts = email.split('@');\n const firstEmailPart = emailParts[0];\n const usernameParts = firstEmailPart.split('.');\n if (usernameParts.length > 1)\n initials = `${usernameParts[0][0]}${usernameParts[1][0]}`;\n else initials = `${emailParts[0][0]}${emailParts[0][1]}`;\n } else {\n initials = '- -';\n }\n return initials.toUpperCase();\n};\n\nconst getSlotClass = (slot: Slot) => {\n let className = '';\n\n switch (slot.status) {\n case SlotStatus.Configured:\n className = 'configured';\n break;\n case SlotStatus.NotConfigured:\n className = 'not-configured';\n break;\n case SlotStatus.NotUsed:\n className = 'not-used';\n break;\n }\n\n return className;\n};\n\nconst secondsToFormattedTime = (seconds: number) => {\n const theDate = new Date(0);\n theDate.setSeconds(seconds);\n\n const secondsToFormattedTime =\n theDate.getUTCHours().toString().padStart(2, '0') +\n ':' +\n theDate.getUTCMinutes().toString().padStart(2, '0') +\n ':' +\n theDate.getUTCSeconds().toString().padStart(2, '0');\n\n return secondsToFormattedTime;\n};\n\nconst formattedTimeToSeconds = (formattedTime: string) => {\n const [hours, minutes, seconds] = formattedTime.split(':');\n\n const secondsFinal =\n parseInt(hours, 10) * 3600 +\n parseInt(minutes, 10) * 60 +\n parseInt(seconds, 10);\n\n return secondsFinal;\n};\n\nconst getCurrentThermoActuatorType = (\n thermoActuatorTypes: { [key: string]: ThermoActuatorType } | undefined,\n roomObjectId: string | undefined\n): ThermoActuatorType => {\n let tmp =\n thermoActuatorTypes && roomObjectId\n ? thermoActuatorTypes[roomObjectId]\n : undefined;\n return tmp ?? ThermoActuatorType.None;\n};\n\nconst convertThermoRuleServiceTypeToThermoActuatorType = (\n ruleServiceType: SlotRuleServiceType,\n logMappingError: boolean = false\n) => {\n switch (ruleServiceType) {\n case SlotRuleServiceType.THERMO_HEATING_ACTUATORS:\n return ThermoActuatorType.HeatingValve;\n case SlotRuleServiceType.THERMO_COOLING_ACTUATORS:\n return ThermoActuatorType.CoolingValve;\n case SlotRuleServiceType.THERMO_HEATING_PUMPS:\n return ThermoActuatorType.HeatingPump;\n case SlotRuleServiceType.THERMO_COOLING_PUMPS:\n return ThermoActuatorType.CoolingPump;\n case SlotRuleServiceType.THERMO_SHARED_ACTUATORS:\n return ThermoActuatorType.SharedValve;\n case SlotRuleServiceType.THERMO_SHARED_PUMPS:\n return ThermoActuatorType.SharedPump;\n default:\n if (logMappingError)\n console.error('TO DEFINE MAPPING of current assign actuator step type');\n return ThermoActuatorType.None;\n }\n};\n\nconst defaultSceneTypes = [\n SceneType.Wake_Up,\n SceneType.BedTime,\n SceneType.Home,\n SceneType.Away,\n];\n\nconst isDefaultScene = (s: SceneDTO | null) => {\n if (!s) return false;\n return defaultSceneTypes.includes(s.type as SceneType);\n};\n\nconst getGeneralGroupIconFromType = (\n groupType: AggregateCommandType,\n roomObjectType: RoomObjectType\n) => {\n switch (roomObjectType) {\n case RoomObjectType.Light:\n return groupType === AggregateCommandType.General\n ? roomObjectTypeIconMapping[RoomObjectType.Light]\n : sceneObjectTypeIconMapping[SceneObjectType.GroupOfLights];\n\n case RoomObjectType.Shutter:\n return roomObjectTypeIconMapping[RoomObjectType.Shutter];\n }\n};\n\nconst getSceneObjectIconFromType = (sceneObjectType: SceneObjectType) => {\n return sceneObjectTypeIconMapping[sceneObjectType];\n};\n\nconst isValidEnum = (value: any) => {\n return value !== null && value !== undefined && !isNaN(Number(value));\n};\n\nasync function sleep(timeMs: number): Promise {\n return new Promise((r) => setTimeout(() => r(), timeMs));\n}\n\nfunction getRandomInt(min: number, max: number, returnString = false) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nconst NAME_VALIDATION_DEBOUNCE_TIME = 500;\n\nfunction resolveObjectPath(obj: any, path: string) {\n return path.split('.').reduce(function (prev, curr) {\n return prev ? prev[curr] : null;\n }, obj || self);\n}\n\nconst hasDeviceSettingsButtonVisible = (setting: IDefaultDevicesSettingsDTO) =>\n setting?.shuttersActuatorSettings != null ||\n setting?.shuttersCommandSettings != null ||\n setting?.lightsActuatorSettings != null ||\n setting?.lightsCommandSettings != null ||\n setting?.lockCommandSettings != null ||\n setting?.lockActuatorSettings != null ||\n setting?.thermoProbeSettings != null;\n\nconst hasDeviceCommandIconButtonVisible = (\n setting: IDefaultDevicesSettingsDTO\n) => setting?.hasChangeIconButtonVisible;\n\nconst parseShutterActuatorSettings = (\n defaultSettings: IDefaultDevicesSettingsDTO\n) => {\n if (!defaultSettings.shuttersActuatorSettings) return;\n defaultSettings.shuttersActuatorSettings.stopPulseDuration =\n defaultSettings.shuttersActuatorSettings.stopPulseDuration! * 100;\n defaultSettings.shuttersActuatorSettings.upDownPulseDuration =\n defaultSettings.shuttersActuatorSettings.upDownPulseDuration! * 100;\n defaultSettings.shuttersActuatorSettings.presetValue =\n defaultSettings.shuttersActuatorSettings.presetValue! * 10;\n defaultSettings.shuttersActuatorSettings.delayBetweenDoorsTime =\n defaultSettings.shuttersActuatorSettings.delayBetweenDoorsTime! * 1000;\n defaultSettings.shuttersActuatorSettings.stopTime = getStopTime(\n defaultSettings.shuttersActuatorSettings.stopTime!\n );\n};\n\nconst getStopTime = (initialStopTime: number) => {\n let quotient = Math.floor(initialStopTime / 60);\n let remainder = initialStopTime % 60;\n\n if (quotient > 0) {\n if (remainder == 0) {\n return 60000;\n } else {\n return remainder * 60000;\n }\n } else {\n return remainder * 1000;\n }\n};\n\nconst getMxServerSettingsLabel = (currentPlant?: PlantDetailDTO) => {\n return i18n.global.t(\n currentPlant?.mxServer?.model == ServerModel.Classe300EOS\n ? 'AppResource.ServerAndSettings'\n : 'AppResource.ServerAndSettingsMHS1'\n );\n};\n\nconst validLanguages = Object.keys(Language).reduce((t: any, k: any) => {\n if (!isNaN(+k)) {\n t.push({\n name: $t('AppResource.'+Language[k]),\n code: +k,\n });\n }\n return t;\n}, []);\n\nfunction deepEquals(a: any, b: any) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n let arrA = Array.isArray(a);\n let arrB = Array.isArray(b);\n let i;\n let length;\n let key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!deepEquals(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n let dateA = a instanceof Date;\n let dateB = b instanceof Date;\n\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n let regexpA = a instanceof RegExp;\n let regexpB = b instanceof RegExp;\n\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n let keys = Object.keys(a);\n\n length = keys.length;\n\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!deepEquals(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a !== a && b !== b;\n}\n\nfunction setLanguageByCode(code: string) {\n switch (code) {\n case 'en':\n return Language.English;\n case 'it':\n return Language.Italian;\n case 'de':\n return Language.German;\n case 'nl':\n return Language.Dutch;\n case 'fr':\n return Language.French;\n case 'pt':\n return Language.Portuguese;\n case 'es':\n return Language.Spanish;\n case 'cs':\n return Language.Czech;\n case 'pl':\n return Language.Polish;\n default:\n return Language.English\n }\n}\n\nexport {\n sleep,\n deepEquals,\n objectTypes,\n cloneObject,\n isValidEnum,\n getSlotClass,\n getRandomInt,\n getDeviceIcon,\n isDefaultScene,\n validLanguages,\n getUserInitials,\n defaultNewPlant,\n getDeviceIconName,\n setLanguageByCode,\n resolveObjectPath,\n getObjectDescLabel,\n getPlantIconImages,\n getRoomIconFromType,\n getEpPlantIconImages,\n getObjectIconFromType,\n getPlantIconImageUrls,\n getThermo99Description,\n formattedTimeToSeconds,\n secondsToFormattedTime,\n getExtDeviceActiveLink,\n getExtDeviceIdentifier,\n getObjectLabelFromType,\n getEpPlantIconImageUrls,\n defaultNewEntrancePlant,\n getUserInitialsForBubble,\n getExtDeviceIconFromType,\n getMxServerSettingsLabel,\n getPlantLastModifyByIcon,\n getPlantLastModifyByLabel,\n getDeviceIconFromSettings,\n getSceneObjectIconFromType,\n getPlantIconImageUrlsByType,\n getGeneralGroupIconFromType,\n parseShutterActuatorSettings,\n getCurrentThermoActuatorType,\n NAME_VALIDATION_DEBOUNCE_TIME,\n hasDeviceSettingsButtonVisible,\n hasDeviceCommandIconButtonVisible,\n getConfiguredChannelsOrModulesSettings,\n convertThermoRuleServiceTypeToThermoActuatorType,\n};\n","module.exports = __webpack_public_path__ + \"img/icon-plants.19b765a8.svg\";"],"sourceRoot":""}