/** * Copyright (c) 2010-2016 by the respective copyright holders. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.openhab.binding.samsungac.internal; import org.openhab.core.types.Command; /** * Enum values for the air conditioner to use. * * @author Stein Tore Tøsse * @since 1.6.0 */ public enum CommandEnum { AC_FUN_OPMODE, AC_FUN_TEMPSET, AC_FUN_WINDLEVEL, AC_FUN_TEMPNOW, AC_FUN_POWER, AC_FUN_COMODE, AC_FUN_DIRECTION, AC_FUN_ENABLE, AC_FUN_SLEEP, AC_FUN_ERROR, AC_SG_VENDER01, AC_SG_VENDER02, AC_SG_VENDER03, AC_ADD2_VERSION, AC_SG_INTERNET, AC_SG_WIFI, AC_ADD_SPI, AC_ADD_STARTWPS, AC_ADD_APMODE_END, AC_ADD_AUTOCLEAN, AC_FUN_SUPPORTED, AC_ADD_SETKWH, AC_ADD_CLEAR_FILTER_ALARM, AC_OUTDOOR_TEMP, AC_COOL_CAPABILITY, AC_WARM_CAPABILITY, AC_ADD2_USEDWATT, AC_SG_MACHIGH, AC_SG_MACMID, AC_SG_MACLOW, AC_ADD2_PANEL_VERSION, AC_ADD2_OUT_VERSION, AC_FUN_MODEL, AC_ADD2_OPTIONCODE, AC_ADD2_USEDPOWER, AC_ADD2_USEDTIME, AC_ADD2_CLEAR_POWERTIME, AC_ADD2_FILTERTIME, AC_ADD2_FILTER_USE_TIME } enum ConvenientModeEnum { Off(0), Quiet(1), Sleep(2), Smart(3), SoftCool(4), TurboMode(5), WindMode1(6), WindMode2(7), WindMode3(8); protected int value; private ConvenientModeEnum(final int number) { value = number; } static ConvenientModeEnum getFromValue(Command value) { int val = Integer.valueOf(value.toString()); for (ConvenientModeEnum en : ConvenientModeEnum.values()) { if (en.value == val) { return en; } } return ConvenientModeEnum.Off; } } enum DirectionEnum { SwingUD(1), Rotation(2), Fixed(3), SwingLR(4); int value; private DirectionEnum(int number) { value = number; } static DirectionEnum getFromValue(Command value) { int val = Integer.valueOf(value.toString()); for (DirectionEnum en : DirectionEnum.values()) { if (en.value == val) { return en; } } return DirectionEnum.Fixed; } } enum OperationModeEnum { Auto(0), Cool(1), Dry(2), Wind(3), Heat(4); int value; private OperationModeEnum(int number) { value = number; } static OperationModeEnum getFromValue(Command value) { int val = Integer.valueOf(value.toString()); for (OperationModeEnum en : OperationModeEnum.values()) { if (en.value == val) { return en; } } return OperationModeEnum.Auto; } } enum OnOff { On("ON"), Off("OFF"); String value; private OnOff(String val) { value = val; } } enum WindLevelEnum { Auto(0), Low(1), Mid(2), High(3), Turbo(4); int value; private WindLevelEnum(int val) { value = val; } static WindLevelEnum getFromValue(Command value) { int val = Integer.valueOf(value.toString()); for (WindLevelEnum en : WindLevelEnum.values()) { if (en.value == val) { return en; } } return WindLevelEnum.Auto; } }