{"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/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/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/main.ts","webpack:///./src/core/translations/strings/strings-it.ts","webpack:///./src/core/translations/strings/strings-en.ts","webpack:///./src/core/translations/strings/strings-de.ts","webpack:///./src/core/translations/strings/strings-es.ts","webpack:///./src/core/translations/strings/strings-fr.ts","webpack:///./src/core/translations/strings/strings-nl.ts","webpack:///./src/core/translations/strings/strings-sk.ts","webpack:///./src/core/translations/strings/index.ts","webpack:///./src/core/translations/i18n.ts","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","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","gateid","processGateDELETE","processGatePUT","processGatemessageDELETE","processGatemessagePOST","GateMessageDTO","processGatemessagePUT","processGuestDELETE","processGuestPOST","GateGuestDTO","processGuestPUT","processInvitationCsv","processMassiveinvitation","processResidentinvitation","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","index","internal","scsAddr","badgeList","keypadCode","buildingCode","riserCode","floorCode","apartmentCode","hiddenToTheUser","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","EnergyMeterAndLoadControlType","EPDeviceConfigDTO","deviceName","pScsAddress","lockTimingValue","hasMultipleCall","callRepetitions","isSelectedStairCaseLight","isSelectedGeneral","hasLockReleaseTone","hasCallTone","typeOfCallSignalValue","isSelectedScreenInterfaceAutomatic","isSelectedScreenInterfaceDark","isSelectedScreenInterfaceLight","isSelectedLedCameraLightingAlwaysOn","isSelectedLedCameraLightingDuringTheCall","isSelectedHomePage","homePageMessage","EPDeviceDTO","isConfigured","isProvisioned","cloudId","dspMacAddress","cloudPublicKey","masterSecretKey","config","switchboardId","EditAggregateCommandDTO","aggregateCommand","deviceSettings","EditRoomObjectDTO","roomObject","EditThermoRoomObjectDTO","thermoRoomObject","EntrancePlantProRoles","desktopId","country","tags","icon","customIconImageUrl","customIconDataUrl","lastModify","Date","toString","lastModifyByDesktop","lastModifyBy","UserDTO","sharedWith","PlantSharingDTO","isFavourite","owner","usersIdFavorites","plantType","addressBookSorting","language","addressingType","keypadCodePasspartoutMode","keypadCodeRequiredLength","maxNumberOfLabelsForApartment","denominationBuildings","denominationRisers","denominationFloors","denominationApartments","wizardState","gates","GateDTO","buildings","switchboards","gateGuests","apartmentInvitations","brfaBlockDigits","brfaRiserDigits","brfaFloorDigits","brfaApartmentDigits","gateMessages","callingCodeShowAddressBook","syncStatus","PlantSyncStatusDTO","toISOString","EntrancePlantHeadCreateDTO","EntrancePlantInfoCreateDTO","ExtComponentType","ExternalSensorType","EntrancePlantStructureCreateDTO","wizardStep","headCreate","infoCreate","buildingsCreate","gateCreate","plantConfigStructure","RFAConfigDTO","gateConfigStructure","GateConfigDTO","roles","isOnlyBuildingAdmin","FunctionType","FloorConfigDTO","numberOfApartments","riserId","order","IntercomType","LabelType","Language","LightType","scsAddress","gateName","newPeSelected","keypadSelected","smartReaderSelected","connectedBuildingIds","connectedRiserIds","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","timeZone","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","lastSyncDateTime","changesToSyncCount","canEditWithPropagation","isImportant","usages","PlayerSystem","PlayerExtDevice","playerSystem","macAddress","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","ScsLevel","SeasonChange3477Mode","SeasonChangeAutoType","triggersRoomsList","compatibleDevices","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","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","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","stringsIT","isEditingPlant","eliotParseException","stringsEN","labelToImport","assignApartments","selectLabelsUpper","choseApartmentForLabelsUpper","incongruity","warning","oldLines","newLines","entrancePlant","importResidentsTitle","importResidentsSubtitle","noUserInvitedYet","apartmentsBannerCreated","noInformationsAdded","addGate","addDevice","deleteGateTitle","deleteGateMessage","deleteGateWithDevicesMessage","noSwitchboard","hintNewSwitchboard","deleteSwitchboard","deleteSwitchboardQuestion","editedSwitchboard","NoBadges","hintNewBadge","BadgeAddCodeManuallyOrScan","BadgeAddedList","BadgeAddedListEmpty","addGuest","noGuests","hintNewGuest","permissionsData","permissionsTimeRanges","associatedBadges","gateGuestBannerCreated","gateGuestBannerUpdated","codeLenghtOrNotNumbers","newBuilding","editedBuilding","buildingBannerCreated","editedApartment","floorEditedBanner","floorInlineNamingError","noMessages","hintNewMessage","gateMessageEdited","gateRename","gateBannerUpdated","import","gateDeletedSuccess","revokeRoleTitle","revokeRoleMessage","assignObject","selectFromLastScan","selectFromCatalogue","assignThermo","selectOnlyOneDescription","thermostatAdded","heatingActuatorAdded","coolingActuatorAdded","sharedActuatorAdded","heatingPumpAdded","coolingPumpAdded","sharedPumpAdded","probeAdded","saveAndContinue","SetupRisersTitle","SelectDevicesInGate","TheyManage","SaveChanges","NameBuilding","NoOfFloor","PlantActiveNoConnectedTitle","PlantActiveNoConnectedSubtitle","PlantBannerNewChangesToSyncDetails","PlantBannerNeedBTConnection","PlantBannerChangeNoSync","stringsDE","stringsES","stringsFR","stringsNL","stringsSK","strings","it","en","de","es","fr","nl","sk","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","reduce","prev","curr","self","parseCsv","csvData","lista","delimiter","line","buildingName","apartmentName","info","BuildingName","trim","ApartmentName","Line1","Line2","Type","Info","processCsvData","processCsvDataMassiveInvitation","parseCsvMassiveInvitation","building","Pending","hasDeviceSettingsButtonVisible","setting","hasDeviceCommandIconButtonVisible","parseShutterActuatorSettings","getStopTime","initialStopTime","quotient","remainder","getMxServerSettingsLabel","Classe300EOS","validLanguages"],"mappings":"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","file":"js/app.a728e000.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-c300eos-settings\":\"page-plant-c300eos-settings\",\"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-dashboard\":\"page-entranceplant-dashboard\",\"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-plant-detail~page-plants-list\":\"page-entranceplant-detail~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-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-guests\":\"page-entranceplant-badges~page-entranceplant-guests\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-reisdents\":\"page-entranceplant-reisdents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-messages\":\"page-entranceplant-messages\",\"page-entranceplant-structure\":\"page-entranceplant-structure\",\"page-entranceplant-switchboards\":\"page-entranceplant-switchboards\",\"page-logged-out\":\"page-logged-out\",\"page-plant-alarmsystem\":\"page-plant-alarmsystem\",\"page-plant-devices\":\"page-plant-devices\",\"page-plant-scenes\":\"page-plant-scenes\",\"page-plants-hub\":\"page-plants-hub\",\"page-user-not-allowed\":\"page-user-not-allowed\"}[chunkId]||chunkId) + \".\" + {\"chunk-5bc16b7d\":\"182b9e34\",\"page-plant-c300eos-settings\":\"f221565d\",\"page-assign-room-object~page-assign-thermo-room-object~page-entranceplant-dashboard~page-entrancepla~a4c4d477\":\"5edeb9f0\",\"chunk-0e973926\":\"c3e39618\",\"page-assign-room-object~page-plant-room\":\"4bbc770b\",\"page-plant-room\":\"bb3bc9ad\",\"chunk-fcfb38d8\":\"7df73fc3\",\"page-assign-room-object\":\"0598396e\",\"page-assign-thermo-room-object\":\"4bfe6e7c\",\"page-entranceplant-dashboard\":\"a8404cf7\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"83427e6a\",\"page-entranceplant-detail~page-entranceplant-reisdents~page-plant-detail~page-plants-list\":\"411b8d19\",\"page-entranceplant-detail~page-plant-detail~page-plants-list\":\"686bc44e\",\"page-entranceplant-detail\":\"c2453013\",\"page-plant-detail\":\"c9c50bdd\",\"page-plants-list\":\"64b42286\",\"page-entranceplant-settings~page-entranceplant-structure~page-entranceplant-structure-building\":\"e78a5756\",\"page-entranceplant-structure-building\":\"6e86e314\",\"page-plant-dashboard\":\"49a813a9\",\"page-wizard-command\":\"2d3ef096\",\"page-wizard-scene\":\"646ef4d4\",\"page-commands-groups\":\"11d8e1f0\",\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\":\"1c5e7f0f\",\"page-entranceplant-badges~page-entranceplant-guests\":\"6ca7b631\",\"page-entranceplant-badges\":\"4cc52d26\",\"page-entranceplant-guests\":\"10722ea8\",\"page-entranceplant-reisdents\":\"d979a475\",\"page-entranceplant-settings\":\"5da20ca7\",\"page-entranceplant-gate\":\"f9e509e9\",\"page-entranceplant-messages\":\"8f3f9ec1\",\"page-entranceplant-structure\":\"a133e784\",\"page-entranceplant-switchboards\":\"a2c9fe4b\",\"page-logged-out\":\"6fc519b1\",\"page-plant-alarmsystem\":\"9e3e250a\",\"page-plant-devices\":\"411206a9\",\"page-plant-scenes\":\"324e3209\",\"page-plants-hub\":\"f40a0152\",\"page-user-not-allowed\":\"f5b28eb7\",\"chunk-0266b1e7\":\"40f16c2f\",\"chunk-08a8c660\":\"6b677b03\",\"chunk-2a007f92\":\"ceca5335\",\"chunk-3aa1ad77\":\"a7384faf\",\"chunk-4261c4e3\":\"f8194a53\",\"chunk-438c5044\":\"24244386\",\"chunk-5cdd4d1a\":\"8a1dc6cf\",\"chunk-6ed3c7e1\":\"94addf54\",\"chunk-d0f99ae0\":\"f33ffdc3\",\"chunk-80ff68c2\":\"fe9e70f1\",\"chunk-73a2bccc\":\"4a50bed7\",\"chunk-74aa9a4a\":\"5c9170f6\",\"chunk-5db06c9e\":\"83ece2a0\",\"chunk-07d6f150\":\"c171e7f1\",\"chunk-3c40a6ba\":\"485451da\",\"chunk-5d28b7a4\":\"a8970f4e\",\"chunk-73e34c32\":\"c35bbc85\",\"chunk-76dd081b\":\"da371b06\"}[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-5bc16b7d\":1,\"page-plant-c300eos-settings\":1,\"chunk-0e973926\":1,\"page-plant-room\":1,\"chunk-fcfb38d8\":1,\"page-assign-room-object\":1,\"page-assign-thermo-room-object\":1,\"page-entranceplant-dashboard\":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~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-plant-dashboard\":1,\"page-entranceplant-badges~page-entranceplant-guests~page-entranceplant-reisdents\":1,\"page-entranceplant-badges~page-entranceplant-guests\":1,\"page-entranceplant-guests\":1,\"page-entranceplant-reisdents\":1,\"page-entranceplant-settings\":1,\"page-entranceplant-gate\":1,\"page-entranceplant-messages\":1,\"page-entranceplant-structure\":1,\"page-logged-out\":1,\"page-plant-alarmsystem\":1,\"page-plant-devices\":1,\"page-plant-scenes\":1,\"page-plants-hub\":1,\"chunk-5db06c9e\":1,\"chunk-3c40a6ba\":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-c300eos-settings\":\"page-plant-c300eos-settings\",\"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-dashboard\":\"page-entranceplant-dashboard\",\"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-plant-detail~page-plants-list\":\"page-entranceplant-detail~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-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-guests\":\"page-entranceplant-badges~page-entranceplant-guests\",\"page-entranceplant-badges\":\"page-entranceplant-badges\",\"page-entranceplant-guests\":\"page-entranceplant-guests\",\"page-entranceplant-reisdents\":\"page-entranceplant-reisdents\",\"page-entranceplant-settings\":\"page-entranceplant-settings\",\"page-entranceplant-gate\":\"page-entranceplant-gate\",\"page-entranceplant-messages\":\"page-entranceplant-messages\",\"page-entranceplant-structure\":\"page-entranceplant-structure\",\"page-entranceplant-switchboards\":\"page-entranceplant-switchboards\",\"page-logged-out\":\"page-logged-out\",\"page-plant-alarmsystem\":\"page-plant-alarmsystem\",\"page-plant-devices\":\"page-plant-devices\",\"page-plant-scenes\":\"page-plant-scenes\",\"page-plants-hub\":\"page-plants-hub\",\"page-user-not-allowed\":\"page-user-not-allowed\"}[chunkId]||chunkId) + \".\" + {\"chunk-5bc16b7d\":\"29dad0e6\",\"page-plant-c300eos-settings\":\"7f55cb48\",\"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-dashboard\":\"1e1ac221\",\"page-entranceplant-detail~page-entranceplant-settings~page-plant-detail~page-plants-list\":\"9df6c98c\",\"page-entranceplant-detail~page-entranceplant-reisdents~page-plant-detail~page-plants-list\":\"a8da982f\",\"page-entranceplant-detail~page-plant-detail~page-plants-list\":\"4fda5df6\",\"page-entranceplant-detail\":\"51110cc1\",\"page-plant-detail\":\"1c3293ac\",\"page-plants-list\":\"212a237f\",\"page-entranceplant-settings~page-entranceplant-structure~page-entranceplant-structure-building\":\"6484f797\",\"page-entranceplant-structure-building\":\"d3dded0e\",\"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\":\"3480267d\",\"page-entranceplant-badges~page-entranceplant-guests\":\"99590363\",\"page-entranceplant-badges\":\"31d6cfe0\",\"page-entranceplant-guests\":\"c155f8bc\",\"page-entranceplant-reisdents\":\"31e9f224\",\"page-entranceplant-settings\":\"ff2eabdf\",\"page-entranceplant-gate\":\"622d7faa\",\"page-entranceplant-messages\":\"284e54f4\",\"page-entranceplant-structure\":\"caaebd77\",\"page-entranceplant-switchboards\":\"31d6cfe0\",\"page-logged-out\":\"4f6becb5\",\"page-plant-alarmsystem\":\"69248f9e\",\"page-plant-devices\":\"6dff656b\",\"page-plant-scenes\":\"5f3a0f91\",\"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-3c40a6ba\":\"d0fdc049\",\"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 * 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 Apartment successfully updated\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 Apartment 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 Apartment successfully updated\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 * 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 \"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.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 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 * Updaet the gate (Auth)\n * @param body (optional) \n * @return Rename selected gate\n */\n gatePUT(plantdesktopid: number, gateid: string, body: GateDTO | undefined , 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 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.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 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 * 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 * Invite resident to their apartment (Auth)\n * @param body (optional) \n * @return Invitation sent\n */\n residentinvitation(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.processResidentinvitation(_response);\n });\n }\n\n protected processResidentinvitation(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 index?: string | undefined;\n name?: string | undefined;\n number?: number;\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 hiddenToTheUser?: boolean;\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.index = _data[\"index\"];\n this.name = _data[\"name\"];\n this.number = _data[\"number\"];\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 this.hiddenToTheUser = _data[\"hiddenToTheUser\"];\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[\"index\"] = this.index;\n data[\"name\"] = this.name;\n data[\"number\"] = this.number;\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 data[\"hiddenToTheUser\"] = this.hiddenToTheUser;\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 index?: string | undefined;\n name?: string | undefined;\n number?: number;\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 hiddenToTheUser?: boolean;\n labels?: ApartmentLabelDTO[] | undefined;\n}\n\nexport class ApartmentInvitationDTO implements IApartmentInvitationDTO {\n apartmentId?: string;\n buildingId?: string;\n floorId?: string | undefined;\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.buildingId = _data[\"buildingId\"];\n this.floorId = _data[\"floorId\"];\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[\"buildingId\"] = this.buildingId;\n data[\"floorId\"] = this.floorId;\n data[\"email\"] = this.email;\n data[\"status\"] = this.status;\n return data; \n }\n}\n\nexport interface IApartmentInvitationDTO {\n apartmentId?: string;\n buildingId?: string;\n floorId?: string | undefined;\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 EPDeviceDTO implements IEPDeviceDTO {\n deviceId?: string;\n scsAddr?: number;\n type?: number;\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 config?: EPDeviceConfigDTO;\n switchboardId?: string;\n deviceName?: string | undefined;\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.config = _data[\"config\"] ? EPDeviceConfigDTO.fromJS(_data[\"config\"]) : undefined;\n this.switchboardId = _data[\"switchboardId\"];\n this.deviceName = _data[\"deviceName\"];\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[\"config\"] = this.config ? this.config.toJSON() : undefined;\n data[\"switchboardId\"] = this.switchboardId;\n data[\"deviceName\"] = this.deviceName;\n return data; \n }\n}\n\nexport interface IEPDeviceDTO {\n deviceId?: string;\n scsAddr?: number;\n type?: number;\n isConfigured?: boolean;\n isProvisioned?: boolean;\n cloudId?: string | undefined;\n dspMacAddress?: string | undefined;\n cloudPublicKey?: string | undefined;\n masterSecretKey?: string | undefined;\n config?: EPDeviceConfigDTO;\n switchboardId?: string;\n deviceName?: string | undefined;\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\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 }\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 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}\n\nexport class EntrancePlantHeadCreateDTO implements IEntrancePlantHeadCreateDTO {\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 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 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 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 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\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\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 }\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 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}\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 */\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}\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\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 }\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 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}\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\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\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 }\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 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}\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\"","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,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACWAI4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9xKKKKACiiigAooooAKTb8gX0paKACL92PWgHBoooAMfNmiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqrqOs2ulf8fE0cZxkAnk/h1rH8Y+Mf7LJtrYjz8fO//PP/AOvXFyzNPIXdmkZjksxyTQB28nxG09GwFuW9wg/qasWfjjTrxsecYz/00G39elefUUAero6yJuVgykZBB60tec+H/E9xoMy7SXhz80RPH4ehr0DT7+PU7RJoW3RuMj29jQBNRRRQAUUUUAFFFFABRRRQAUUUUAFVdZ1H+ytLnuOP3a5APc9B+tWqwPiNKU0BQP45lB/In+lAHKaJpU/ivXYrVGHnXTnLN07kk/gDW5p/hjw/aX8TzeIIJo45Azx/ZX/eAHkZ96h+Ef8AyUPT/wDtp/6KesPSNNfWdTt7WP79xIsYJ7ZOM0AdFe/F3WPtcn2W5W3td58qMQR4Rew6elTDxBb+PdDMWt6hHa31tMGhuDb53xkcrhQO4z+VN1PxLp/hK9ew0/S7C7W3by5bi8i8x5mHDY9BmqniXTrLVfD0etafD9kXzfs91bg5WN8ZDL7GgCPVfBlvBos19YapDqMVqyrOFiaNo9xwp5681L8OdXMF+9ox+SYFlHow/wDrfypPDH/JPfE//br/AOjTWT4blMev2ZH/AD2UfmcUAel0UUUAFFFFABRRRQAUUUUAFFFFABWR44sje+HZcdYiJPy6/oTWvSOgkQqwBUjBB7igDjPhH/yUPT/+2n/op6x/D+qnRNbtbzG77PKrlf7wB5H5VsQh/hz4yt7zy2lt0ZinP3lIKkZ9QDSl/CDc7fEQ9gYeKALOtfDu61zUJL3R/LvrG7cyKUkVWiJ5KsCRgiofEaReFfCi6N50c99NP9ouvLbcsOBhUz696ak/hOLO0+JFzwcGEZpN3g/+74j/APINADfDH/JPfE//AG6/+jTVHwXZG98RQekR8xvbH/18Vfv/ABBpNj4cvLDSYtQJ1Bo/Ne6KcBDkBQvvWz4I8OnRrAySjFxPgkf3F7D/AB/+tQBt0UUUAFFFFABRRRQAUUUUAFFFFABRRRQBDf6fFqdq0MyB0bse3uK5HVvhzPA5a0cTJ2VjtYf0P6V2lFAHmknhu/ibBs7n8Iyf5VYsvBeo3rf6jyl/vSHbj8Ov6V6HRQBieHfBMGjOJZD59wOhI+VPoP61t0UUAFFFFABRRRQAUUUUAQ6jqEOk6fPdXEixW9tG0srt0RFGST9AK4f4X/GCfxF4W1e+8Q28OkTaSgvpI1DfJZSRCaKRgcncE3K3+3E+BWz8WvB138QfBkui280cEGpTRQ37s7K32TeDMqYB+dkBUZwPmJzxXIeIP2cmmvL9LDVNQks9e0W50fUTqN/NcyqCM27x7s/cYyZUkDEh/EAl0f48PqvxEVLiz1PRdCh8OXGsSrqFqqOwSWHbKCrN8uxnyucjuo4qz4O+MF340+Ldppyadqml6bPoUuoiK/tljkmYTwqkilWbja7fKSCOMgcVmX/wg8TfEC+vH8RNodklz4YutA/4l88sreZK8TCb5o0AX5D8nbA5bJxseC/Bnih/iRZa9r66FAtnosuleXYXEspkdpYX8z5o0AUiM/Lzt45OeADU1v4zaV4ft/ELXEV8JPDc8EFxCsamSdpwnleUN2GDlwoyRyGHaoL3466TY+IJbRrbVGs7a+TTLjU1hU2VvdOVAiZt27O51UsFKgsAWFc14y8LweMf2lNGWzn8yKwt1u9ehRcqrW5L2Qc9A++dnA6lUB6U7Vfgz4guhqugwzaT/wAIzrWtjWZrlpJBewqZ0nkhWPZsOXXAcuMKT8pIFAHWXPxg0u00HUdRaO88jTNWXRpgI13GZpo4QQN33d0i89cZ47VP4T+Jtr4z8Sanp1nY6oBpM0ttcXcsIW282NlBjVt2WJDZGBjAOSDxXF+Ifg94kuYdZ0qyk0RtJ1XX4ddFxPNKtxHtnhleHYEK9YiQ+7uBtH3h2fw28G3Xg4a99peB/wC1NZudRi8pidscm3aGyB83HOMj3oAxrj4z2nh7U9ShuP7V1KT+3ho1vb29mm6OU2i3ARfm+ZSAfnbGC2DhRuqLSv2k9G1Se3X+zfEFsjagNKupZ7QLHp12z7FhmO4/MSV5Tco3rkjNQP8ABvU28aHUfPsPJPi1de2733eQNP8As237uN+/nGcbe+eKNS+Dmp3nhjxBZLPYCXVfFEGtwku+1YUntpCrfLw+IWwBkZI564AN7UPi9YaX4oXTprHV0ha8TT/7Qa222guHA2R7iQxyWA3BSuTjdmqV58fNLs9dNp/Z+tyW41SPRRfpbKbVrt5Fj8vdu3fKzcsVC/KQCTgHlvE3wK8R+IfF5upJtKuo4vEFvq8F5dX1w08dvHPHJ9lSHb5ce1VOGBO7jIBJYc/r/wBt0nxTZeDrK40bUYU8ZW+rbIJpX1C3ia7F1IJYtm1VXLHzC5yABjJ4APULb436Vd+LRpiWuqGFr59MXUvIH2JrpQS0Ifdu3AqVzt27gRnNU/G3xPvvCPxb0/TI7HUNUsrnRbm7NpY26yTtKk0ChssVAUK79WAJIHJIFYfhL9n5/CvjiSZ9H8PajZf2tJqkGozXUy3tvvkMoTyghRmVzgNvHA5Ga7S68G3U3xisvEIkg+xW2jXGnMhY+aZJJ4JFIGMbcRNnnOSOKAM65+PWkPpGj3OnWura3Lrls97bWlhbhrgQpgPI6syhQpYLgnJY4AJqW3+N+lajrWj2VhbapqL63YxalBJbwAxx20jbfMkLMNgXqQefQE8VwsX7NV/YWPhud7XQtau9Js7mxurO6u5oIJFknMySRyrGzBlyQQUwQx9BXYeF/hNJoni21u/J06z06Pw6NIa1tHfEUhlMjbMr9zk4JOfagC34N+Nul+NtcgtLa11SGK+jll0+8uIAltqSRkBzE24nuCNwXI5GRXY15R8F/gPL8NdR09LnR/Dsn9jxPDBq0NzMbucEbFJhKBEYqSGw7Z7V6vQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=\"","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\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 }\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 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}\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\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 }\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 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}\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!./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 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';\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\n app.mount('#app');\n});\n","const stringsIT = {\n 'general.loggingIn': 'Accesso in corso...',\n 'general.invalidPassword': 'Password non valida, riprova',\n 'general.goToLogin': \"Vai all'accesso\",\n 'general.loggedOutText': 'Sei stato scollegato',\n 'general.changePassword': 'Modifica password',\n 'general.modified': 'Modificato',\n 'general.mobile': 'Mobile',\n 'general.desktop': 'Desktop',\n 'general.backTo': 'Torna a',\n 'general.synced': 'Sincronizzato',\n 'general.assigned': 'assegnato',\n 'general.notAssigned': 'non assegnato',\n 'menuLabel.notesAndDocuments': 'Note e documenti',\n 'plants.filterByTag': 'Filtra per tag',\n 'plants.recentlyModified': 'ordina per modifica recente',\n 'plants.plantName': 'ordina per nome impianto',\n 'newPlantDialog.insertGroup': '+ aggiungi un nuovo gruppo e premi Invio',\n 'plantDetail.addDevice': 'Aggiungi dispositivo',\n 'plantDetail.addObjects': 'Aggiungi oggetti',\n 'plants.noPlantsHint':\n 'Clicca sul pulsante \"Nuovo impianto\" per creare un nuovo impianto',\n 'plantDetail.newUpdates': 'Nuovi aggiornamenti',\n 'plantDetail.willRefreshToReflectChanges':\n 'Questo elemento è stato aggiornato. La pagina sarà ricaricata per mostrare i cambiamenti.',\n 'plantDetail.addGroup': 'Aggiungi gruppo',\n 'plantDetail.addScene': 'Aggiungi scenario',\n 'plantC300EOSSettings.GeneralSettings': 'Impostazioni generali',\n 'plantC300EOSSettings.DoorEntryParametrs': 'PARAMETRI VIDEOCITOFONIA',\n 'plantC300EOSSettings.descPage':\n \"Non tutti i parametri sono modificabili da questa sezione: dovrai farlo sull'impianto con l'app connessa\",\n 'general.favourites': 'Favoriti',\n 'general.select': 'Seleziona',\n 'general.operationError': \"Errore nell'operazione\",\n 'plantDetail.lastScan': 'Ultima scansione: {date} alle {time}',\n 'general.assignIcon': \"Assegna l'icona\",\n 'general.assignedIcon': 'Icona assegnata',\n 'newPlantDialog.modified': 'Impianto modificato',\n 'plantDetail.deletePlantConfirm':\n 'Sei sicuro di volr cancellare {plantName}? Tutti i dati saranno persi. Per cancellare inserisci il codice {code} e conferma',\n 'plantDetail.objectsCreated': 'Oggetti creati con successo',\n 'plantDetail.selectDevice':\n 'Seleziona un dispositivo per vedere i suoi moduli',\n 'plantDetail.typeNameGroup': 'Tipo e nome del gruppo',\n 'plantDetail.disableScene': 'Disabilita scenario',\n 'plantDetail.disableSceneConfirm':\n 'Sei sicuro di voler disabilitare lo scenario \"{sceneName}\"?',\n 'plantC300EOSSettings.SetAsPrimaryEntryUnitDESC':\n \"Il posto esterno primario è l'unico che trasferisce la chiamata dall'app e gestisce la segreteria\",\n 'plantC300EOSSettings.ProfessionalStudioDESC':\n \"Quando abilitato dall'utente, studio prefessionale apre automaticamente la serratura ogni volta che qualcuno suona\",\n 'scenes.trigger': 'condizione di avvio',\n 'uniqueNaming.validationError': 'Il nome non è valido',\n 'uniqueNaming.unavailableName': 'Nome non disponibile',\n 'uniqueNaming.roomInlineNamingError': 'Non è possibile aggiornare il nome',\n 'uniqueNaming.roomInlineNamingSuccess': 'Nome della stanza aggiornato',\n 'uniqueNaming.nameResetDisclaimer':\n 'Il nome sarà riportato a quello iniziale',\n 'uniqueNaming.validationErrorWithSuggestion':\n 'Il nome non è valido, puoi provare con: \"{suggestedName}\"',\n 'plantsList.duplicateDialog.inputLabel':\n 'Puoi correggere i nomi degli impianti qui',\n 'plantDialogDuplicate.howManyCopies': 'Quante copie',\n 'plantDialogDuplicate.success': 'Impianto duplicato',\n 'general.actuatorAdded': 'Attuatore aggiunto',\n 'general.commandAdded': 'Comando aggiunto',\n isEditingPlant: 'sta modificando la configurazione',\n eliotParseException:\n \"Problema nella lettura della configurazione d'impianto dal cloud.\", // assignObject: {\n // selectFromLastScan: 'Select from last scan',\n // selectFromCatalogue: 'Select from catalogue',\n // },\n // assignThermo: {\n // selectOnlyOneDescription:\n // 'TEMP STRING You should select one and only one device.',\n // thermostatAdded: 'Thermostat added',\n // heatingActuatorAdded: 'Heating actuator added',\n // coolingActuatorAdded: 'Cooling actuator added',\n // sharedActuatorAdded: 'Shared actuator added',\n // heatingPumpAdded: 'Heating pump added',\n // coolingPumpAdded: 'Cooling pump added',\n // sharedPumpAdded: 'Shared pump added',\n // probeAdded: 'Probe added',\n // },\n 'saveAndContinue': 'Salva e continua'\n};\nexport default stringsIT;\n","const stringsEN = {\n 'general.loggingIn': 'Logging you in...',\n 'general.invalidPassword': 'Password is invalid, try again',\n 'general.goToLogin': 'Go to login',\n 'general.loggedOutText': 'You have been logged out',\n 'general.changePassword': 'Change password',\n 'general.modified': 'Modified',\n 'general.mobile': 'Mobile',\n 'general.desktop': 'Desktop',\n 'general.backTo': 'Back to',\n 'general.synced': 'Syncronized',\n 'general.assigned': 'assigned',\n 'general.import': 'Import',\n 'general.export': 'Export',\n 'general.notAssigned': 'not assigned',\n 'general.emailAddress': 'email address',\n 'general.emptyField': 'The field cannot be empty',\n 'menuLabel.notesAndDocuments': 'Notes and documents',\n 'plants.filterByTag': 'Filter by tag',\n 'plants.recentlyModified': 'sort by recently modified',\n 'plants.plantName': 'sort by plant name',\n 'newPlantDialog.insertGroup': '+ add a new group and press Enter',\n 'plantDetail.addDevice': 'Add device',\n 'plantDetail.addObjects': 'Add objects',\n 'plants.noPlantsHint':\n 'Click on the \"New plant\" button to create a new plant',\n 'plantDetail.newUpdates': 'New updates',\n 'plantDetail.willRefreshToReflectChanges':\n 'This element has been updated. The page will refresh to reflect the changes.',\n 'plantDetail.addGroup': 'Add group',\n 'plantDetail.addScene': 'Add scene',\n 'plantC300EOSSettings.GeneralSettings': 'General Settings',\n 'plantC300EOSSettings.DoorEntryParametrs': 'DOOR ENTRY PARAMETERS',\n 'plantC300EOSSettings.descPage':\n 'Not all parameters are editable from this section: you will have to do it on site with the connected app',\n 'general.favourites': 'Favourites',\n 'general.select': 'Select',\n 'general.operationError': 'Operation error',\n 'plantDetail.lastScan': 'Last scan: {date} at {time}',\n 'general.assignIcon': 'Assign the icon',\n 'general.assignedIcon': 'Assigned icon',\n 'newPlantDialog.modified': 'Plant modified',\n 'plantDetail.deletePlantConfirm':\n 'Are you sure you want to delete {plantName}? All data will be lost. To delete insert the code {code} and confirm',\n 'plantDetail.objectsCreated': 'Objects successfully created',\n 'plantDetail.selectDevice': 'Select a device to view its modules',\n 'plantDetail.typeNameGroup': 'Type and name of group',\n 'plantDetail.disableScene': 'Disable scene',\n 'plantDetail.disableSceneConfirm':\n 'Are you sure you want to disable scene \"{sceneName}\"?',\n 'plantC300EOSSettings.SetAsPrimaryEntryUnitDESC':\n 'The primary door entry unit is the only one which transfers the call from the app and manages the answering machine',\n 'plantC300EOSSettings.ProfessionalStudioDESC':\n 'When enabled by user, professional studio auto opens door lock each time someone rings',\n 'scenes.trigger': 'trigger',\n 'uniqueNaming.validationError': 'Name is invalid',\n 'uniqueNaming.unavailableName': 'Unavailable name',\n 'uniqueNaming.roomInlineNamingError': 'Could not update the name',\n 'uniqueNaming.roomInlineNamingSuccess': 'Room name updated',\n 'uniqueNaming.nameResetDisclaimer':\n 'The name will be reset to the initial one',\n 'uniqueNaming.validationErrorWithSuggestion':\n 'Name is invalid, you can try with: \"{suggestedName}\"',\n 'plantsList.duplicateDialog.inputLabel': 'You can adjust plants names here',\n 'plantDialogDuplicate.howManyCopies': 'How many copies',\n 'plantDialogDuplicate.success': 'Plant duplicated',\n 'general.actuatorAdded': 'Actuator added',\n 'general.commandAdded': 'Command added',\n 'general.alreadyExisting': 'Already existing',\n 'general.selectAll': 'Select all',\n 'editResidents.line1': 'LINE 1 (MAX 25 CHARACTERS)',\n 'editResidents.line2': 'LINE 2 (MAX 25 CHARACTERS)',\n labelToImport: 'Labels to import',\n assignApartments: 'Assign apartments',\n selectLabelsUpper: 'SELECT THE LABELS TO IMPORT',\n choseApartmentForLabelsUpper: 'CHOOSE THE APARTMENT FOR THE IMPORTED LABELS',\n incongruity: 'Incongruity in the apartments',\n 'incongruity.description':\n 'In the plant structure there are {current} apartments and in the imported file {imported}',\n 'incongruity.confirm':\n 'Confirming, the system will create automatically the new apartments',\n warning: 'Warning',\n 'warning.description':\n \"Some assigned apartments aren't empty. Confirming you will overwrite the following labels:\",\n oldLines: 'Old lines',\n newLines: 'New lines',\n 'importFile.error': 'Incompatible file format',\n\n entrancePlant: {\n importResidentsTitle: 'Import the residents',\n importResidentsSubtitle:\n 'Compile the file you just downloead and after import it',\n noUserInvitedYet: 'No user invited yet',\n apartmentsBannerCreated: 'Apartments created',\n noInformationsAdded: 'No informations added',\n addGate: 'Add gate',\n addDevice: 'Add device',\n deleteGateTitle: 'Gate deletion',\n deleteGateMessage:\n ' Deleting the gate, its configuration will be removed. Are you sure to proceed?',\n deleteGateWithDevicesMessage:\n 'Before deleting, you have to remove the confiugured devices from the gate',\n noSwitchboard: 'No switchboard',\n hintNewSwitchboard: 'Click on Add Switchboard to create a new one',\n deleteSwitchboard: 'Delete switchboard',\n deleteSwitchboardQuestion: 'Are you sure to delete the switchboard?',\n editedSwitchboard: 'Switchboard edited',\n 'gates.detail.noDevices': 'NO DEVICES',\n NoBadges: 'No badges',\n hintNewBadge: 'Click on Add Badge to create a new one',\n BadgeAddCodeManuallyOrScan: 'Type the code or scan it ',\n BadgeAddedList: 'Added badges',\n BadgeAddedListEmpty: 'No badges added yet',\n addGuest: 'New staff',\n noGuests: 'No staff',\n hintNewGuest: 'Click on NEW STAFF to create a new one',\n permissionsData: 'Data',\n permissionsTimeRanges: 'Time ranges',\n associatedBadges: 'Associated badges',\n gateGuestBannerCreated: 'Staff created',\n gateGuestBannerUpdated: 'Staff edited',\n codeLenghtOrNotNumbers: 'Code should be a {keypadCodeLength} digit number',\n newBuilding: 'New building',\n editedBuilding: 'Building edited',\n buildingBannerCreated: 'Building added',\n editedApartment: 'Apartment edited',\n floorEditedBanner: 'Floor name updated',\n floorInlineNamingError: 'Could not update the name',\n noMessages: 'No messages',\n hintNewMessage: 'Click on NEW MESSAGE to create a new one',\n gateMessageEdited: 'Message edited',\n gateRename: 'Rename gate',\n gateBannerUpdated: \"Gate's name updated\",\n import: 'Import',\n gateDeletedSuccess: 'Gate deleted successfully',\n revokeRoleTitle: 'Confirm Revoke building admin for user',\n revokeRoleMessage:\n 'The user will lose the role of \"Building Admin\" and the related permissions',\n },\n\n isEditingPlant: 'is editing the configuration',\n eliotParseException: 'Problem reading the plant configuration from cloud.',\n\n assignObject: {\n selectFromLastScan: 'Select from last scan',\n selectFromCatalogue: 'Select from catalogue',\n },\n assignThermo: {\n selectOnlyOneDescription:\n 'TEMP STRING You should select one and only one device.',\n thermostatAdded: 'Thermostat added',\n heatingActuatorAdded: 'Heating actuator added',\n coolingActuatorAdded: 'Cooling actuator added',\n sharedActuatorAdded: 'Shared actuator added',\n heatingPumpAdded: 'Heating pump added',\n coolingPumpAdded: 'Cooling pump added',\n sharedPumpAdded: 'Shared pump added',\n probeAdded: 'Probe added',\n },\n 'alarm.alarmsensor': 'Alarm sensor',\n saveAndContinue: 'Save and continue',\n SetupRisersTitle:\n 'Set up the risers, floors and apartments of {buildingName}',\n SelectDevicesInGate: 'Select the devices present in the gate',\n TheyManage: 'They manage',\n SaveChanges: 'Save changes',\n NameBuilding: 'Name Building',\n NoOfFloor: 'NO. OF FLOORS',\n PlantActiveNoConnectedTitle: 'Plant active and not connected to Internet',\n PlantActiveNoConnectedSubtitle:\n 'It is possible to make changes with the Home + Project App',\n PlantBannerNewChangesToSyncDetails:\n 'Auto sync available around 5 min. Last sync: {date} {time} ',\n PlantBannerNeedBTConnection:\n 'You need to connect to bluetooth with the Home + Project app to sync',\n PlantBannerChangeNoSync: 'Changes not synchronized',\n};\n\nexport default stringsEN;\n","const stringsDE = {\n 'general.loggingIn': 'Einloggen...',\n 'general.invalidPassword': 'Passwort ungültig, versuchen Sie es erneut',\n 'general.goToLogin': 'Zur Anmeldung',\n 'general.loggedOutText': 'Sie haben sich abgemeldet',\n 'general.changePassword': 'Passwort ändern',\n 'general.modified': 'Geändert',\n 'general.mobile': 'Mobiltelefon',\n 'general.desktop': 'Startseite',\n 'general.backTo': 'Zurück zu',\n 'general.synced': 'Synchronisiert',\n 'general.assigned': 'zugewiesen',\n 'general.notAssigned': 'nicht zugewiesen',\n 'menuLabel.notesAndDocuments': 'Anmerkungen und Dokumente',\n 'plants.filterByTag': 'Nach Stichwort filtern',\n 'plants.recentlyModified': 'Sortieren nach Kürzlich geändert',\n 'plants.plantName': 'Sortieren nach Anlagenname',\n 'newPlantDialog.insertGroup':\n '+ fügen Sie eine neue Gruppe hinzu und drücken Sie Eingabe',\n 'plantDetail.addDevice': 'Gerät hinzufügen',\n 'plantDetail.addObjects': 'Objekte hinzufügen',\n 'plants.noPlantsHint':\n 'Klicken Sie auf \"Neue Anlage\", um eine neue Anlage zu erstellen',\n 'plantDetail.newUpdates': 'Neue Updates',\n 'plantDetail.willRefreshToReflectChanges':\n 'Dieses Element wurde überarbeitet. Die Seite wird aktualisiert, um die Änderungen anzuzeigen.',\n 'plantDetail.addGroup': 'Gruppe hinzufügen',\n 'plantDetail.addScene': 'Szenario hinzufügen',\n 'plantC300EOSSettings.GeneralSettings': 'Allgemeine Einstellungen',\n 'plantC300EOSSettings.DoorEntryParametrs': 'SPRECHANLAGEN-PARAMETER',\n 'plantC300EOSSettings.descPage':\n 'Nicht alle Parameter können in diesem Abschnitt bearbeitet werden: Sie müssen dies vor Ort mit der verbundenen App tun',\n 'general.favourites': 'Favoriten',\n 'general.select': 'Auswählen',\n 'general.operationError': 'Bedienungsfehler',\n 'plantDetail.lastScan': 'Letzter Scan: {date} um {time}',\n 'general.assignIcon': 'Symbol zuweisen',\n 'general.assignedIcon': 'Symbol zugewiesen',\n 'newPlantDialog.modified': 'Anlage wurde geändert',\n 'plantDetail.deletePlantConfirm':\n 'Sind Sie sicher, dass Sie {plantName} löschen möchten? Alle Daten gehen dann verloren. Zum Löschen geben Sie den Code {code} ein und bestätigen Sie',\n 'plantDetail.objectsCreated': 'Objekte erfolgreich erstellt',\n 'plantDetail.selectDevice':\n 'Wählen Sie ein Gerät aus, um seine Module anzuzeigen',\n 'plantDetail.typeNameGroup': 'Gruppentyp und -name',\n 'plantDetail.disableScene': 'Szenario deaktivieren',\n 'plantDetail.disableSceneConfirm':\n 'Sind Sie sicher, dass Sie das Szenario \"{sceneName}\" deaktivieren möchten?',\n 'plantC300EOSSettings.SetAsPrimaryEntryUnitDESC':\n 'Die Haupt-Innensprechstelle ist die einzige, die den Anruf von der App weiterleitet und den Anrufbeantworter verwaltet',\n 'plantC300EOSSettings.ProfessionalStudioDESC':\n 'Wenn vom Benutzer aktiviert, öffnet die Arztschaltung das Türschloss, wenn jemand anläutet',\n 'scenes.trigger': 'Trigger',\n 'uniqueNaming.validationError': 'Name ungültig',\n 'uniqueNaming.unavailableName': 'Name nicht verfügbar',\n 'uniqueNaming.roomInlineNamingError': 'Name konnte nicht aktualisiert werden',\n 'uniqueNaming.roomInlineNamingSuccess': 'Raumname aktualisiert',\n 'uniqueNaming.nameResetDisclaimer':\n 'Der Name wird auf den ursprünglichen Namen zurückgesetzt',\n 'uniqueNaming.validationErrorWithSuggestion':\n 'Name ist ungültig, Sie können es versuchen mit: \"{suggestedName}\"',\n 'plantsList.duplicateDialog.inputLabel':\n 'Sie können die Namen der Anlagen hier anpassen',\n 'plantDialogDuplicate.howManyCopies': 'Wie viele Kopien',\n 'plantDialogDuplicate.success': 'Anlage dupliziert',\n 'general.actuatorAdded': 'Aktor hinzugefügt',\n 'general.commandAdded': 'Befehl hinzugefügt',\n isEditingPlant: 'bearbeitet die Konfiguration',\n eliotParseException:\n 'Problem beim Lesen der Anlagenkonfiguration aus der Cloud.', // assignObject: {\n // selectFromLastScan: 'Select from last scan',\n // selectFromCatalogue: 'Select from catalogue',\n // },\n // assignThermo: {\n // selectOnlyOneDescription:\n // 'TEMP STRING You should select one and only one device.',\n // thermostatAdded: 'Thermostat added',\n // heatingActuatorAdded: 'Heating actuator added',\n // coolingActuatorAdded: 'Cooling actuator added',\n // sharedActuatorAdded: 'Shared actuator added',\n // heatingPumpAdded: 'Heating pump added',\n // coolingPumpAdded: 'Cooling pump added',\n // sharedPumpAdded: 'Shared pump added',\n // probeAdded: 'Probe added',\n // },\n};\nexport default stringsDE;\n","const stringsES = {\n 'general.loggingIn': 'Iniciando sesión...',\n 'general.invalidPassword': 'Contraseña no válida, intenta otra vez',\n 'general.goToLogin': 'Ir a \"iniciar sesión\"',\n 'general.loggedOutText': 'Has sido desconectado',\n 'general.changePassword': 'Cambiar contraseña',\n 'general.modified': 'Modificado',\n 'general.mobile': 'Móvil',\n 'general.desktop': 'Escritorio',\n 'general.backTo': 'Volver',\n 'general.synced': 'Sincronizado',\n 'general.assigned': 'asignado',\n 'general.notAssigned': 'no asignado',\n 'menuLabel.notesAndDocuments': 'Notas y documentos',\n 'plants.filterByTag': 'Filtrar por tag',\n 'plants.recentlyModified': 'ordenar por modificaciones recientes',\n 'plants.plantName': 'ordenar por nombre de instalación',\n 'newPlantDialog.insertGroup': '+ añadir un nuevo grupo y presionar Intro',\n 'plantDetail.addDevice': 'Añadir dispositivo',\n 'plantDetail.addObjects': 'Añadir objetos',\n 'plants.noPlantsHint':\n 'Pincha en \"Nueva instalación\" para crear una nueva instalación',\n 'plantDetail.newUpdates': 'Nuevas actualizaciones',\n 'plantDetail.willRefreshToReflectChanges':\n 'Este elemento ha sido actualizado. La página se actualizará para reflejar los cambios.',\n 'plantDetail.addGroup': 'Añadir grupo',\n 'plantDetail.addScene': 'Añadir escenario',\n 'plantC300EOSSettings.GeneralSettings': 'Ajustes generales',\n 'plantC300EOSSettings.DoorEntryParametrs': 'PARÁMETROS DE VIDEOPORTERO',\n 'plantC300EOSSettings.descPage':\n 'No se puede modificar todos los parámetros para esta sección: tienes que hacerlo in-situ desde la aplicación conectada',\n 'general.favourites': 'Favoritos',\n 'general.select': 'Seleccionar',\n 'general.operationError': 'Error en la operación',\n 'plantDetail.lastScan': 'Último escaneo: {date} a las {time}',\n 'general.assignIcon': 'Asignar el icono',\n 'general.assignedIcon': 'Icono asignado',\n 'newPlantDialog.modified': 'Instalación modificada',\n 'plantDetail.deletePlantConfirm':\n '¿Estás seguro que quieres suprimir {plantName}? Se perderán todos los datos. Para suprimir, insertar el código {code} y confirmar',\n 'plantDetail.objectsCreated': 'Objetos creados con éxito',\n 'plantDetail.selectDevice': 'Selecciona un dispositivo para ver sus módulos',\n 'plantDetail.typeNameGroup': 'Tipo y nombre del grupo',\n 'plantDetail.disableScene': 'Deshabilitar escenario',\n 'plantDetail.disableSceneConfirm':\n '¿Estás seguro que quieres deshabilitar el escenario \"{sceneName}\"?',\n 'plantC300EOSSettings.SetAsPrimaryEntryUnitDESC':\n 'La unidad externa principal es la única que transfiere la llamada desde la app y gestiona el contestador',\n 'plantC300EOSSettings.ProfessionalStudioDESC':\n 'Cuando lo habilita el usuario, el estudio profesional abre automáticamente la cerradura de la puerta cada vez que alguien llama',\n 'scenes.trigger': 'disparador',\n 'uniqueNaming.validationError': 'Nombre no válido',\n 'uniqueNaming.unavailableName': 'Nombre no disponible',\n 'uniqueNaming.roomInlineNamingError':\n 'No ha sido posible actualizar el nombre',\n 'uniqueNaming.roomInlineNamingSuccess': 'Nombre de la habitación actualizado',\n 'uniqueNaming.nameResetDisclaimer': 'El nombre se reiniciará al inicial',\n 'uniqueNaming.validationErrorWithSuggestion':\n 'Nombre no válido, puedes intentar con: \"{suggestedName}\"',\n 'plantsList.duplicateDialog.inputLabel':\n 'Puedes ajustar los nombres de las instalaciones aquí',\n 'plantDialogDuplicate.howManyCopies': 'Cuántas copias',\n 'plantDialogDuplicate.success': 'Instalación duplicada',\n 'general.actuatorAdded': 'Actuador añadido',\n 'general.commandAdded': 'Comando añadido',\n isEditingPlant: 'está modificando la configuración',\n eliotParseException:\n 'Problema en la lectura de la configuración de la instalación desde cloud.', // assignObject: {\n // selectFromLastScan: 'Select from last scan',\n // selectFromCatalogue: 'Select from catalogue',\n // },\n // assignThermo: {\n // selectOnlyOneDescription:\n // 'TEMP STRING You should select one and only one device.',\n // thermostatAdded: 'Thermostat added',\n // heatingActuatorAdded: 'Heating actuator added',\n // coolingActuatorAdded: 'Cooling actuator added',\n // sharedActuatorAdded: 'Shared actuator added',\n // heatingPumpAdded: 'Heating pump added',\n // coolingPumpAdded: 'Cooling pump added',\n // sharedPumpAdded: 'Shared pump added',\n // probeAdded: 'Probe added',\n // },\n};\nexport default stringsES;\n","const stringsFR = {\n \n};\n\nexport default stringsFR;\n","const stringsNL = {\n 'general.loggingIn': 'Inloggen...',\n 'general.invalidPassword': 'Het wachtwoord is ongeldig, probeer opnieuw',\n 'general.goToLogin': 'Ga naar login',\n 'general.loggedOutText': 'U bent uitgelogd',\n 'general.changePassword': 'Wachtwoord wijzigen',\n 'general.modified': 'Aangepast',\n 'general.mobile': 'Mobiel',\n 'general.desktop': 'Desktop',\n 'general.backTo': 'Terug naar',\n 'general.synced': 'Gesynchroniseerd',\n 'general.assigned': 'toegewezen',\n 'general.notAssigned': 'niet toegewezen',\n 'menuLabel.notesAndDocuments': \"Nota's en documenten\",\n 'plants.filterByTag': 'Filter per tag',\n 'plants.recentlyModified': 'sorteer volgens laatst aangepast',\n 'plants.plantName': 'sorteer volgens installatienaam',\n 'newPlantDialog.insertGroup': '+ voeg een nieuwe groep toe en druk op Enter',\n 'plantDetail.addDevice': 'Toestel toevoegen',\n 'plantDetail.addObjects': 'Functie toevoegen',\n 'plants.noPlantsHint':\n 'Klik op de « Nieuwe installatie » toets om een nieuwe installatie aan te maken  ',\n 'plantDetail.newUpdates': 'Nieuwe updates',\n 'plantDetail.willRefreshToReflectChanges':\n 'Dit element werd geupdatet. De pagina wordt vernieuwd om de aanpassingen te tonen.',\n 'plantDetail.addGroup': 'Groep toevoegen',\n 'plantDetail.addScene': 'Scenario toevoegen',\n 'plantC300EOSSettings.GeneralSettings': 'Algemene instellingen',\n 'plantC300EOSSettings.DoorEntryParametrs': 'DEURCOMMUNICATIE PARAMETERS',\n 'plantC300EOSSettings.descPage':\n 'Niet alle parameters kunnen vanuit deze sectie worden gewijzigd: u zult dit ter plaatse moeten doen met de aangesloten app',\n 'general.favourites': 'Favorieten',\n 'general.select': 'Selecteer',\n 'general.operationError': 'Error',\n 'plantDetail.lastScan': 'Laatste scan: {date} om {time}',\n 'general.assignIcon': 'Icoon toewijzen',\n 'general.assignedIcon': 'Toegewezen icoon',\n 'newPlantDialog.modified': 'Installatie aangepast',\n 'plantDetail.deletePlantConfirm':\n 'Wil u {plantName} verwijderen? Alle data zal verloren gaan. Geef de code {code} om te verwijderen en bevestig',\n 'plantDetail.objectsCreated': 'Objecten succesvol aangemaakt',\n 'plantDetail.selectDevice': 'Selecteer een apparaat om zijn modules te zien',\n 'plantDetail.typeNameGroup': 'Type en naam van de groep',\n 'plantDetail.disableScene': \"Scenario's deactiveren\",\n 'plantDetail.disableSceneConfirm':\n 'Bent u zeker dat u scenario \"{sceneName}\" wil deactiveren?',\n 'plantC300EOSSettings.SetAsPrimaryEntryUnitDESC':\n 'De primaire binnenpost is de enige met antwoordapparaat en doorschakeling van de oproep naar Smartphone',\n 'plantC300EOSSettings.ProfessionalStudioDESC':\n 'Bij de instelling \"automatisch deurslot\" wordt het deurslot geopend telkens iemand aanbelt',\n 'scenes.trigger': 'trigger',\n 'uniqueNaming.validationError': 'De naam is ongeldig',\n 'uniqueNaming.unavailableName': 'Onbeschikbare naam',\n 'uniqueNaming.roomInlineNamingError': 'De naam kan niet geupdatet worden',\n 'uniqueNaming.roomInlineNamingSuccess': 'Ruimtenaam geupdatet',\n 'uniqueNaming.nameResetDisclaimer':\n 'The naam wordt gereset naar de oorspronkelijke naam',\n 'uniqueNaming.validationErrorWithSuggestion':\n 'De naam is ongeldig, je kan proberen met: \"{suggestedName}\"',\n 'plantsList.duplicateDialog.inputLabel':\n 'Je kan de namen van de installaties hier aanpassen',\n 'plantDialogDuplicate.howManyCopies': 'Hoeveel copies',\n 'plantDialogDuplicate.success': 'Installatie gedupliceerd',\n 'general.actuatorAdded': 'Actuator toegevoegd',\n 'general.commandAdded': 'Bediening toegevoegd',\n isEditingPlant: 'is bezig met de configuratie aan te passen',\n eliotParseException:\n 'Probleem met het lezen van de configuratie in de Cloud.', // assignObject: {\n // selectFromLastScan: 'Select from last scan',\n // selectFromCatalogue: 'Select from catalogue',\n // },\n // assignThermo: {\n // selectOnlyOneDescription:\n // 'TEMP STRING You should select one and only one device.',\n // thermostatAdded: 'Thermostat added',\n // heatingActuatorAdded: 'Heating actuator added',\n // coolingActuatorAdded: 'Cooling actuator added',\n // sharedActuatorAdded: 'Shared actuator added',\n // heatingPumpAdded: 'Heating pump added',\n // coolingPumpAdded: 'Cooling pump added',\n // sharedPumpAdded: 'Shared pump added',\n // probeAdded: 'Probe added',\n // },\n};\nexport default stringsNL;\n","const stringsSK = {\n \n};\n\nexport default stringsSK;\n","import stringsIT from './strings-it';\nimport stringsEN from './strings-en';\nimport stringsDE from './strings-de';\nimport stringsES from './strings-es';\nimport stringsFR from './strings-fr';\nimport stringsNL from './strings-nl';\nimport stringsSK from './strings-sk';\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';\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};\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","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 ApartmentDTO,\n ApartmentInvitationStatusEnum,\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';\nimport { singleLabelApartment } from '@/views/pages/EntrancePlantDetail/EntrancePlantResidents/DialogImportFile/DialogImportFile';\nimport { parse as csvParse } from 'csv-parse';\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 var 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}\nasync function parseCsv(csvData: string): Promise {\n return new Promise((resolve, reject) => {\n const lista: singleLabelApartment[] = [];\n csvParse(csvData, { delimiter: ',' }, function (err, data: any[]) {\n if (err) {\n reject(err);\n } else {\n data.forEach((line: any[]) => {\n const buildingName = line[3] || '';\n const apartmentName = line[4] || '';\n const info = line[5] || '';\n lista.push({\n BuildingName: buildingName.trim(),\n ApartmentName: apartmentName.trim(),\n label: {\n Line1: line[0]?.trim() || undefined,\n Line2: line[1]?.trim() || undefined,\n Type: Number.parseInt(line[2]?.trim() || '0'),\n Info: info.trim(),\n },\n });\n });\n resolve(lista);\n }\n });\n });\n}\n\nasync function processCsvData(\n csvData: string\n): Promise {\n try {\n const lista = await parseCsv(csvData);\n return lista;\n } catch (error) {\n return [];\n }\n}\n\nasync function processCsvDataMassiveInvitation(\n csvData: string,\n currentEntrancePlant: EntrancePlantDetailDTO\n): Promise {\n try {\n const lista = await parseCsvMassiveInvitation(\n csvData,\n currentEntrancePlant\n );\n return lista;\n } catch (error) {\n return [];\n }\n}\n\nasync function parseCsvMassiveInvitation(\n csvData: string,\n currentEntrancePlant: EntrancePlantDetailDTO\n): Promise {\n return new Promise((resolve, reject) => {\n const lista: ApartmentInvitationDTO[] = [];\n csvParse(csvData, { delimiter: ',' }, function (err, data: any[]) {\n if (err) {\n reject(err);\n } else {\n data.forEach((line: any[]) => {\n const buildingName = line[0]?.trim();\n const apartmentName = line[1]?.trim();\n const email = line[3]?.trim();\n\n const building = currentEntrancePlant.buildings?.find(\n (building) => building.name === buildingName\n );\n\n if (building) {\n let apartment: ApartmentDTO = {} as ApartmentDTO;\n\n building.apartments?.forEach((a) => {\n if (a.name === apartmentName) {\n apartment = a;\n }\n });\n\n if (apartment) {\n lista.push(\n new ApartmentInvitationDTO({\n apartmentId: apartment.apartmentId,\n buildingId: building.buildingId,\n floorId: apartment.floorId,\n email: email,\n status: ApartmentInvitationStatusEnum.Pending,\n })\n );\n }\n }\n });\n resolve(lista);\n }\n });\n });\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: Language[k],\n code: +k,\n });\n }\n return t;\n}, []);\n\nexport {\n sleep,\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 processCsvData,\n processCsvDataMassiveInvitation,\n};\n","module.exports = __webpack_public_path__ + \"img/icon-plants.19b765a8.svg\";"],"sourceRoot":""}