public ApplianceStatus getApplianceStatus(BaseAppliance appliance) { ApiResponse <ApplianceStatus.ApplianceStatusModel[]> applianceApiResponse = getApiClient() .get <ApplianceStatus.ApplianceStatusModel[]>(String.Format(getApiClient().apiPath() + APPLIANCE_STATUS_URL_TEMPLATE, appliance.getRoom().getLocation().getId(), appliance.getRoom().getId(), appliance.getApplianceId() )); if (applianceApiResponse.getStatusCode() != 200) { return(null); } ApplianceStatus.ApplianceStatusModel[] applianceStatusesOptional = applianceApiResponse.getContent(); ApplianceStatus applianceStatusOptional = null; if (applianceStatusesOptional != null) { ApplianceStatus.ApplianceStatusModel[] applianceStatuses = applianceStatusesOptional; ApplianceStatus applianceStatus = new ApplianceStatus(appliance, applianceStatuses); applianceStatusOptional = applianceStatus; } return(applianceStatusOptional); }
public BaseApplianceData getApplianceData(BaseAppliance appliance, DateTime?from, DateTime?to) { ApiResponse <BaseApplianceData> applianceApiResponse = getApiClient() .get <BaseApplianceData>(createApplianceDataRequestUrl(appliance, from, to)); if (applianceApiResponse.getStatusCode() != 200) { return(null); } BaseApplianceData applianceOptional = applianceApiResponse.getContent(); if (applianceOptional != null) { BaseApplianceData applianceData = applianceOptional; switch (applianceData.type) { case SenseGuardAppliance.TYPE: applianceData = applianceApiResponse.getContentAs <SenseGuardApplianceData>(); break; case SenseAppliance.TYPE: applianceData = applianceApiResponse.getContentAs <SenseApplianceData>(); break; } applianceData.setAppliance(appliance); applianceOptional = applianceData; } return(applianceOptional); }
private String createApplianceDataRequestUrl(BaseAppliance appliance, DateTime?from, DateTime?to) { if (from == null || to == null) { return(String.Format(getApiClient().apiPath() + APPLIANCE_DATA_URL_TEMPLATE, appliance.getRoom().getLocation().getId(), appliance.getRoom().getId(), appliance.getApplianceId())); } return(String.Format(getApiClient().apiPath() + APPLIANCE_DATA_WITH_RANGE_URL_TEMPLATE, appliance.getRoom().getLocation().getId(), appliance.getRoom().getId(), appliance.getApplianceId(), createOndusDateString(from.Value), createOndusDateString(to.Value))); }
public BaseAppliance getAppliance(Room inRoom, String applianceId) { //ApiResponse<List> applianceApiResponse = getApiClient().get<List>(String.Format(getApiClient().apiPath() + APPLIANCE_URL_TEMPLATE, inRoom.getLocation().getId(), inRoom.getId(), applianceId)); ApiResponse <ArrayList> applianceApiResponse = getApiClient() .get <ArrayList>(String.Format(getApiClient().apiPath() + APPLIANCE_URL_TEMPLATE, inRoom.getLocation().getId(), inRoom.getId(), applianceId)); if (applianceApiResponse.getStatusCode() != 200) { return(null); } BaseAppliance applianceOptional = null; BaseApplianceList applianceListOptional = applianceApiResponse.getContentAs <BaseApplianceList>(); if (applianceListOptional != null) { BaseApplianceList applianceList = applianceListOptional; if (applianceList.Count == 1) { BaseAppliance appliance = applianceList[0]; switch (appliance.getType()) { case SenseGuardAppliance.TYPE: appliance = applianceApiResponse.getContentAs <SenseGuardApplianceList>()[0]; break; case SenseAppliance.TYPE: appliance = applianceApiResponse.getContentAs <SenseApplianceList>()[0]; break; } appliance.setRoom(inRoom); applianceOptional = appliance; } } return(applianceOptional); }
public BaseApplianceData getApplianceData(BaseAppliance appliance) { return(this.getApplianceData(appliance, null, null)); }
/// <summary> /// Retrieves the current status of the appliance. Note that the available properties of the returned ApplianceStatus /// object may differ from appliance type to appliance type. /// </summary> /// <param name="appliance">The BaseAppliance to retrieve command information from</param> /// <returns>The ApplianceStatus of the appliance</returns> public ApplianceStatus getApplianceStatus(BaseAppliance appliance) { ApplianceAction action = apiClient.getAction <ApplianceAction>(); return(action.getApplianceStatus(appliance)); }
/// <summary> /// The same as #getApplianceData(BaseAppliance), however, limits the requested data to a specific time range /// instead of requesting all data from all time. /// </summary> /// <param name="appliance">The BaseAppliance to retrieve data from</param> /// <param name="from">Needs to be an instance of DateTime which is at least one day before to</param> /// <param name="to">Needs to be an instance of DateTime which is at least one day after from</param> /// <returns>The SenseGuardApplianceData of the appliance in the given time range</returns> public BaseApplianceData getApplianceData(BaseAppliance appliance, DateTime?from = null, DateTime?to = null) { ApplianceAction action = apiClient.getAction <ApplianceAction>(); return(action.getApplianceData(appliance, from, to)); }