{"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/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:///./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/ListItemCheck/ListItemCheck.vue?762e","webpack:///./src/views/components/ListItemCheck/ListItemCheck.ts","webpack:///./src/views/components/ListItemCheck/ListItemCheck.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","ActivationType","ActuatorModalityType","Client","baseUrl","instance","jsonParseReviver","this","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","processBuildingskeypad","processCallingcoderecap","CallingCodeDTO","responseType","processCsv","contentDisposition","fileNameMatch","exec","fileName","processEditinfo","processFloor","processGatePOST","GateDTO","processGatePUT","gateid","processGateDELETE","processGatemessageDELETE","processGatemessagePOST","GateMessageDTO","processGatemessagePUT","processGuestDELETE","processGuestPOST","GateGuestDTO","processGuestPUT","processInvitationCsv","processMassiveinvitation","processResidentinvitationDELETE","processResidentinvitationPOST","processResidents","processImport","processSharingproDELETE","processSharingproPOST","processSharingproPUT","processStructure","processSwitchboardDELETE","processSwitchboardPOST","SwitchboardDTO","processSwitchboardPUT","processSyncwitheliot","processUserspermissions","EpUserRole","processRandomkeypadcode","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","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","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","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","oldTemperature","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","isProvisioned","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","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","order","IntercomType","LabelType","Language","LightType","scsAddress","gateName","newPeSelected","keypadSelected","smartReaderSelected","connectedBuildingIds","connectedRiserIds","connectedApartmentsIds","gateId","isDateAlways","durationSince","durationUntil","isTimeAlways","timesSlots","TimeSlot","repetitionDays","gateIds","isRecurrent","isOneTimeGuest","title","text","GeneralCommandsAndGroupsAction","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","label","renewSessionSeconds","userId","invitedEmail","confirmed","PlantType","PlantsOrderBy","isPlantActive","synchronized","connected","changesToSyncCount","canEditWithPropagation","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","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","SystemControlType","SystemType","TemperatureType","SwitchboardConfigDTO","switchboard","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","SlotRuleServiceType","FETCH_PLANT","HANDLE_REFRESH_PLANT","MANAGE_ELIOT_PARSE_EXCEPTION","AUTOMATION_WIZARD_NEXT_CALLED","linkableobjectid","processAggregateCommandsDefault","processRoomObjectDefault","processThermoDefault","_hoisted_1","class","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","_component_TheHeader","_component_router_view","_component_ElScrollbar","_component_TheSidebar","_component_Toast","routeName","showSidebar","default","_","position","_hoisted_3","_hoisted_4","_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","onClick","toggleReportProblemDialog","toggleDialogProfile","profilePageEnabled","logout","isVisibleDialogReportProblem","onHideDialog","visible","isVisibleDialogProfile","$event","header","modal","height","width","iframeProfileSrc","for","_component_Textarea","_component_Button","isDialogVisible","onHide","doHideDialog","showHeader","closable","rows","modelValue","theMessage","handleHideDialog","sendMessage","processLog","userMessage","logs","frontendVersion","GraylogMessageDTO","graylogClient","isVisible","$emit","getBuffer","$store","dispatch","log","$config","FRONTEND_VERSION","props","Boolean","required","watch","newValue","emits","__exports__","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","some","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","gateEditEnabled","gateDeleteEnabled","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","mutations","isExpanded","plant","menuItems","userPermissions","commit","map","webpackContext","req","webpackContextResolve","_component_ProgressSpinner","isAuthenticated","$emitter","on","manageEliotParseException","$router","off","$toast","add","severity","summary","life","app","directive","use","disabledClasses","$slots","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","String","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","disabled","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_Checkbox","setValue","inputId","binary","last","val","newModelValue","checked","filter","_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","i18n","globalProperties","emitter","appInsights","enableAutoRouteTracking","disableFetchTracking","enableCorsCorrelation","enableRequestHeaderTracking","enableResponseHeaderTracking","distributedTracingMode","W3C","loadAppInsights","$appInsight","mount","strings","it","en","de","es","fr","nl","sk","pt","pl","cs","msgs","parse","replaceAll","browserLang","navigator","split","locale","fallbackLocale","messages","fallbackWarn","missingWarn","silentTranslationWarn","global","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"],"mappings":"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","file":"js/app.7ca4d0ec.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~be87d3df\":\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~be87d3df\",\"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-reisdents~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-reisdents~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~page-entranceplant-structure-building\":\"page-entranceplant-settings~page-entranceplant-structure~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-reisdents\":\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-reisdents\":\"page-entranceplant-reisdents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-structure\":\"page-entranceplant-structure\",\"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-303b0162\":\"83d8100d\",\"page-plant-scenes\":\"7838ee92\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"920e58c1\",\"chunk-0e973926\":\"86972361\",\"page-assign-room-object~page-plant-room\":\"5989ea2f\",\"page-plant-room\":\"87854da5\",\"chunk-fcfb38d8\":\"4a6a376c\",\"page-assign-room-object\":\"b44e687a\",\"page-assign-thermo-room-object\":\"f4e362e0\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~be87d3df\":\"58288c88\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"031c011d\",\"page-entranceplant-detail~page-entranceplant-reisdents~page-plant-detail~page-plants-list\":\"d631a4eb\",\"page-entranceplant-detail\":\"b4fed940\",\"page-plant-detail\":\"95c4f4c9\",\"page-plants-list\":\"14280327\",\"page-entranceplant-settings~page-entranceplant-structure~page-entranceplant-structure-building\":\"ddad5420\",\"page-entranceplant-structure-building\":\"57eea155\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"3f2a84cc\",\"page-entranceplant-dashboard\":\"6266fac8\",\"page-plant-dashboard\":\"de62c448\",\"page-wizard-command\":\"df0e5516\",\"page-wizard-scene\":\"ca0baeac\",\"page-commands-groups\":\"e6ab1f6c\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\":\"c49c1b9b\",\"page-entranceplant-badges\":\"a0f01ebe\",\"page-entranceplant-guests\":\"23a0d325\",\"page-entranceplant-gate\":\"00bf75c1\",\"page-entranceplant-reisdents\":\"4f4f72d4\",\"page-entranceplant-settings\":\"e7fc399b\",\"page-entranceplant-structure\":\"a284ddd2\",\"page-entranceplant-messages\":\"72c2d6b3\",\"page-entranceplant-switchboards\":\"9cd20b60\",\"page-logged-out\":\"6fc519b1\",\"page-plant-alarmsystem\":\"fa41ea0a\",\"page-plant-c300eos-settings\":\"22384b5d\",\"page-plant-devices\":\"d20aa654\",\"page-plants-hub\":\"f40a0152\",\"page-user-not-allowed\":\"f5b28eb7\",\"chunk-0266b1e7\":\"40f16c2f\",\"chunk-08a8c660\":\"30ba32e3\",\"chunk-2a007f92\":\"ceca5335\",\"chunk-3aa1ad77\":\"a7384faf\",\"chunk-4261c4e3\":\"a324831c\",\"chunk-438c5044\":\"24244386\",\"chunk-5cdd4d1a\":\"8a1dc6cf\",\"chunk-6ed3c7e1\":\"cd8036a2\",\"chunk-d0f99ae0\":\"f33ffdc3\",\"chunk-80ff68c2\":\"b61ccf7b\",\"chunk-73a2bccc\":\"8aadbb05\",\"chunk-74aa9a4a\":\"734d92df\",\"chunk-5db06c9e\":\"c44e50c4\",\"chunk-07d6f150\":\"07cb82ba\",\"chunk-50dbeeae\":\"449e54bf\",\"chunk-5d28b7a4\":\"27245313\",\"chunk-73e34c32\":\"1d6495f7\",\"chunk-76dd081b\":\"4b1152ea\"}[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-303b0162\":1,\"page-plant-scenes\":1,\"chunk-0e973926\":1,\"page-plant-room\":1,\"chunk-fcfb38d8\":1,\"page-assign-room-object\":1,\"page-assign-thermo-room-object\":1,\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":1,\"page-entranceplant-detail~page-entranceplant-reisdents~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~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-reisdents\":1,\"page-entranceplant-guests\":1,\"page-entranceplant-gate\":1,\"page-entranceplant-reisdents\":1,\"page-entranceplant-settings\":1,\"page-entranceplant-structure\":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-50dbeeae\":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~be87d3df\":\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~be87d3df\",\"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-reisdents~page-plant-detail~page-plants-list\":\"page-entranceplant-detail~page-entranceplant-reisdents~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~page-entranceplant-structure-building\":\"page-entranceplant-settings~page-entranceplant-structure~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-reisdents\":\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-reisdents\":\"page-entranceplant-reisdents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-structure\":\"page-entranceplant-structure\",\"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-303b0162\":\"597a50de\",\"page-plant-scenes\":\"a7d7cc5a\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"31d6cfe0\",\"chunk-0e973926\":\"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\":\"dc85fba8\",\"page-entranceplant-badges~page-entranceplant-detail~page-entranceplant-gate~page-entranceplant-guest~be87d3df\":\"31d6cfe0\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"7978116c\",\"page-entranceplant-detail~page-entranceplant-reisdents~page-plant-detail~page-plants-list\":\"eaa03259\",\"page-entranceplant-detail\":\"699f9d55\",\"page-plant-detail\":\"03521dba\",\"page-plants-list\":\"4d883a06\",\"page-entranceplant-settings~page-entranceplant-structure~page-entranceplant-structure-building\":\"6484f797\",\"page-entranceplant-structure-building\":\"8ce65d5c\",\"page-entranceplant-dashboard~page-entranceplant-gate\":\"abd09edc\",\"page-entranceplant-dashboard\":\"45121ea4\",\"page-plant-dashboard\":\"ad027256\",\"page-wizard-command\":\"31d6cfe0\",\"page-wizard-scene\":\"31d6cfe0\",\"page-commands-groups\":\"31d6cfe0\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\":\"3704757c\",\"page-entranceplant-badges\":\"31d6cfe0\",\"page-entranceplant-guests\":\"04e4952d\",\"page-entranceplant-gate\":\"f744ad6b\",\"page-entranceplant-reisdents\":\"5a08a066\",\"page-entranceplant-settings\":\"d78b0188\",\"page-entranceplant-structure\":\"b7350483\",\"page-entranceplant-messages\":\"741b9263\",\"page-entranceplant-switchboards\":\"31d6cfe0\",\"page-logged-out\":\"4f6becb5\",\"page-plant-alarmsystem\":\"69248f9e\",\"page-plant-c300eos-settings\":\"49f2689c\",\"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-74aa9a4a\":\"31d6cfe0\",\"chunk-5db06c9e\":\"5bffaf39\",\"chunk-07d6f150\":\"31d6cfe0\",\"chunk-50dbeeae\":\"c709399a\",\"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","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 * Edit buildings keypad passpartout codes (Auth)\n * @param body (optional) \n * @return Buildings keypad passpartout succesfully edited\n */\n buildingskeypad(plantdesktopid: number, body: { [key: string]: string; } | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/buildingskeypad\";\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.processBuildingskeypad(_response);\n });\n }\n\n protected processBuildingskeypad(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 * 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 the gate (Auth)\n * @return Delete selected gate\n */\n gateDELETE(plantdesktopid: number, gateid: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/entranceplant/{plantdesktopid}/gate/{gateid}\";\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 (gateid === undefined || gateid === null)\n throw new Error(\"The parameter 'gateid' must be defined.\");\n url_ = url_.replace(\"{gateid}\", encodeURIComponent(\"\" + gateid));\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.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 * 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 Plant Synched\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 },\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 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 * 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 * 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 * @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 , 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 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?: number;\n riserCode?: number;\n floorCode?: number;\n apartmentCode?: number;\n labels?: ApartmentLabelDTO[] | undefined;\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 }\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 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?: number;\n riserCode?: number;\n floorCode?: number;\n apartmentCode?: number;\n labels?: ApartmentLabelDTO[] | undefined;\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 name?: 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.name = _data[\"name\"];\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[\"name\"] = this.name;\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 name?: 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 = 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 isProvisioned?: 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).isProvisioned = _data[\"isProvisioned\"];\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[\"isProvisioned\"] = this.isProvisioned;\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 isProvisioned?: 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 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[\"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.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 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 order?: number;\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.order = _data[\"order\"];\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[\"order\"] = this.order;\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 order?: number;\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\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 }\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 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}\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 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 synchronized?: boolean;\n connected?: boolean;\n lastSyncDateTime?: Date | undefined;\n changesToSyncCount?: number;\n canEditWithPropagation?: boolean;\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.synchronized = _data[\"synchronized\"];\n this.connected = _data[\"connected\"];\n this.lastSyncDateTime = _data[\"lastSyncDateTime\"] ? new Date(_data[\"lastSyncDateTime\"].toString()) : undefined;\n this.changesToSyncCount = _data[\"changesToSyncCount\"];\n this.canEditWithPropagation = _data[\"canEditWithPropagation\"];\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[\"synchronized\"] = this.synchronized;\n data[\"connected\"] = this.connected;\n data[\"lastSyncDateTime\"] = this.lastSyncDateTime ? this.lastSyncDateTime.toISOString() : undefined;\n data[\"changesToSyncCount\"] = this.changesToSyncCount;\n data[\"canEditWithPropagation\"] = this.canEditWithPropagation;\n return data; \n }\n}\n\nexport interface IPlantSyncStatusDTO {\n isPlantActive?: boolean;\n synchronized?: boolean;\n connected?: boolean;\n lastSyncDateTime?: Date | undefined;\n changesToSyncCount?: number;\n canEditWithPropagation?: boolean;\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 order?: number;\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.order = _data[\"order\"];\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[\"order\"] = this.order;\n return data; \n }\n}\n\nexport interface IRiserDTO {\n riserId?: string;\n buildingId?: string;\n index?: string | undefined;\n name?: string | undefined;\n order?: number;\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 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\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.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 }\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[\"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 super.toJSON(data);\n return data; \n }\n}\n\nexport interface IRoomObject extends ILinkableObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\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}\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\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 }\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 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}\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\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 }\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 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}\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\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 }\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 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}\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\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';\n\nexport {\n SET_ACCOUNT,\n SET_ADMIN_VIEW,\n SET_APP_LOADING,\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 = 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 oldTemperature?: 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.oldTemperature = _data[\"oldTemperature\"];\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[\"oldTemperature\"] = this.oldTemperature;\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 oldTemperature?: 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 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\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.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 }\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[\"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 super.toJSON(data);\n return data; \n }\n}\n\nexport interface IRoomObject extends ILinkableObject {\n type?: RoomObjectType;\n systemType?: SystemType;\n isHidden?: boolean;\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}\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\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 }\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 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}\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\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 }\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 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}\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 = 'MX';\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 EntrancePlantStructurePage = () =>\n import(\n /* webpackChunkName: \"page-entranceplant-structure\" */ '@/views/pages/EntrancePlantDetail/EntrancePlantSettings/EntrancePlantStructure/EntrancePlantStructure.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-reisdents\" */ '@/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',\n // name: 'page-entranceplant-structure',\n // component: EntrancePlantStructurePage,\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 gateEditEnabled(): boolean {\n // TODO: handle?\n return true;\n }\n\n gateDeleteEnabled(): boolean {\n // TODO: handle?\n return true;\n }\n\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 gateEditEnabled(state: IUIState) {\n return UISvc.gateEditEnabled();\n },\n\n gateDeleteEnabled(state: IUIState) {\n return UISvc.gateDeleteEnabled();\n },\n\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} 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 },\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: {\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};\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\";","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 Locale from 'primevue/config';\nimport Password from 'primevue/password';\n\nconst configPrimeVue = (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\n app.directive('Tooltip', Tooltip);\n app.use(ToastService);\n app.use(Locale);\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 = 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, 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: \"d-flex align-items-center row-content p-field-checkbox\" }\nconst _hoisted_3 = {\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(_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 (_ctx.last)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_3))\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=7c1ccef4&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__","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 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';\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 },\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\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 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":""}