Преглед на файлове

[전동커튼]
1. 아이콘 등록
2. 아이콘 연결
3. UI 생성

DESKTOP-FBA840V\icontrols преди 4 години
родител
ревизия
6854b4bfc4
променени са 30 файла, в които са добавени 6499 реда и са изтрити 5839 реда
  1. 468 467
      WallPadAPI/src/main/java/com/artncore/commons/API_Menu.java
  2. 2200 2194
      WallPadAPI/src/main/java/com/artncore/wallpadapi/WallPadAPI.java
  3. 17 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java
  4. 3213 3176
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/declare/ID.java
  5. 591 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_curtain/CurTainV1MainScreen.java
  6. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_1.png
  7. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_2.png
  8. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_3.png
  9. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_disabled.png
  10. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_normal.png
  11. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_pressed.png
  12. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_disabled.png
  13. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_normal.png
  14. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_pressed.png
  15. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_disabled.png
  16. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_normal.png
  17. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_pressed.png
  18. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_disabled.png
  19. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_normal.png
  20. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_pressed.png
  21. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_selected.png
  22. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_disabled.png
  23. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_normal.png
  24. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_pressed.png
  25. BIN
      WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_selected.png
  26. 4 0
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java
  27. 1 1
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/screen/SUB_02.java
  28. 5 0
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/IconManager.java
  29. BIN
      WallPadMain/src/main/res/drawable-mdpi/icon_curtain_normal.png
  30. BIN
      WallPadMain/src/main/res/drawable-mdpi/icon_curtain_pressed.png

+ 468 - 467
WallPadAPI/src/main/java/com/artncore/commons/API_Menu.java

@@ -1,467 +1,468 @@
-package com.artncore.commons;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-
-import com.util.LogUtil;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-public final class API_Menu
-{
-    public final static String TAG = "API_Menu";
-
-    public static final String MENU_START_ID = "MENU_START_ID";
-    public static final String MENU_START_OPTION = "MENU_START_OPTION";
-    public static final String MENU_START_OPTION_BUNDLE = "MENU_START_OPTION_BUNDLE";
-    public static int MENU_START_OPTION_1 = 1;
-    public static int MENU_START_OPTION_2 = 2;
-    public static int MENU_START_OPTION_3 = 2;
-
-    public static final String MAIN_ACTIVITY = ".MainActivity";
-    public static final String APP_PACKAGE_ROOT = "kr.co.icontrols.";
-
-    public static final String HOMECTRL_APK = APP_PACKAGE_ROOT + "wallpadhomectrl";
-    public static final String ENERGY_APK = APP_PACKAGE_ROOT + "wallpadenergyctrl";
-    public static final String CALL_APK = APP_PACKAGE_ROOT + "wallpadcall";
-    public static final String SECURITY_APK = APP_PACKAGE_ROOT + "wallpadsecurity";
-    public static final String ADDSERVICE_APK = APP_PACKAGE_ROOT + "wallpadaddservice";
-    public static final String CONFIG_APK = APP_PACKAGE_ROOT + "wallpadconfig";
-
-    /**
-     * 월패드 메인화면에서 서브화면을 호출할때 전달되어야할 데이터 리스트
-     */
-    public static final class SubMenuCtrl
-    {
-        public final static String Name = "우리집제어";
-        public final static int BASE = 1000; //BASE and GroupID
-
-        public final static String Name_Lamp         = "조명";
-        public final static String Name_Heating      = "난방";
-        public final static String Name_Gas          = "가스";
-        public final static String Name_GookTop      = "쿡탑";
-        public final static String Name_DoorLock     = "도어락";
-        public final static String Name_Concent      = "콘센트";
-        public final static String Name_Venti        = "환기";
-        public final static String Name_LivingLightConfig = "거실조명 그룹설정";
-		public final static String Name_InnerAirQuality   = "실내 공기질";
-		public final static String Name_InnerAirInfo      = "실내환경 정보";
-		public final static String Name_ElectricRange     = "전기레인지";
-		public final static String Name_CooktopConcent    = "쿡탑콘센트";
-		public final static String Name_SystemAircon      = "시스템에어컨";
-        public final static String Name_Purity            = "청정환기";
-
-        public final static int HDC_LivingLamp       = BASE + 11;        // 현산거실조명( 제일전기 일체형조명제어기 )
-        public final static int HDC_EachLamp         = BASE + 12;        // 현산각실조명( 에너지미터 )
-        public final static int OutSide_livingLamp   = BASE + 13;        // 대외향 거실조명 ( 거실조명만 )
-        public final static int OutSide_EachLamp     = BASE + 14;        // 대외향 각실조명 ( 멀티스위치 )
-        public final static int LivingLightConfig    = BASE + 15;        // 거실조명 그룹설정
-        public final static int HDCLivingNEach_Lamp     = BASE + 16;        // 현산 AC배전 조명 (제일전기 일체형조명제어기 + 멀티스위치 조명)
-        public final static int Heating_V1           = BASE + 21;        // 난방 V1
-        public final static int Heating_V2           = BASE + 22;        // 난방 V2
-        public final static int Gas               	 = BASE + 31;        // 가스
-        public final static int DoorLock485          = BASE + 41;        // 도어락 485
-        public final static int DoorLockWL           = BASE + 42;        // 도어락 무선
-        public final static int Concent			     = BASE + 51;        // 대기콘센트
-        public final static int HDCLivingNEach_Concent			     = BASE + 52;        // 현산 AC배전 콘센트 (거실 대기콘센트 + 멀티스위치 콘센트)
-        public final static int ChangAir_Normal	     = BASE + 61;        // 환기 일반
-        public final static int ChangAir_LH		     = BASE + 62;        // 환기 LH
-        public final static int ChangAir_Hood	     = BASE + 63;        // 환기 후드
-        public final static int SystemAircon	     = BASE + 71;        // 시스템 에어컨
-        public final static int Curtain			     = BASE + 81;        // 커튼
-        public final static int Inner_AirQuality	 = BASE + 91;        // 실내 공기질
-        public final static int Inner_AirInfo   	 = BASE + 92;        // 실내환경 정보
-        public final static int Electric_Range   	 = BASE + 101;       // 전기레인지
-        public final static int Cooktop_Concent   	 = BASE + 111;       // 쿡탑콘센트
-        public final static int Purity             	 = BASE + 121;       // 청정환기
-    }
-
-    public static final class SubMenuEnergy
-    {
-        public final static String Name = "에너지관리";
-        public final static int BASE = 2000; //BASE and GroupID
-
-        //public final static String Name_RealMeter         = "실시간 검침기";
-        public final static String Name_EnergyMgr = "에너지 사용량";
-        public final static String Name_RemoteMeter       = "원격검침";
-        public final static String Name_EachRoomEnergy = "각방 에너지"; // I에너지 -> 각방 에너지
-        public final static String Name_CostTable         = "요금 테이블";
-        public final static String Name_SmartDistribution = "스마트 분전반";
-        public final static String Name_SmartConcent = "스마트 콘센트";
-        public final static String Name_SmartLight = "스마트 조명";
-
-        public final static int RealTimeCheckMeter        = BASE + 11;        // 실시간 검침기
-        public final static int RemoteMeter			      = BASE + 21;        // 원격검침
-        public final static int EachRoomEnergy            = BASE + 31;        // I에너지 -> 각방 에너지
-        public final static int CostTable                 = BASE + 41;        // 에너지 요금 테이블
-        public final static int EnergyMgr                 = BASE + 51;        // 에너지 사용량
-        public final static int SmartPanel         = BASE + 61;        // 스마트 분전반
-        public final static int SmartLight              = BASE + 71;        // 스마트 콘센트
-        public final static int SmartOutlet                = BASE + 81;        // 스마트 조명
-    }
-
-    public static final class SubMenuCall
-    {
-        public final static String Name = "통화";
-        public final static int BASE = 3000; //BASE and GroupID
-
-        public final static String Name_Door        = "현관";
-        public final static String Name_Lobby       = "로비";
-        public final static String Name_Neighbor    = "이웃";
-        public final static String Name_Guard       = "경비실";
-        public final static String Name_PSTN        = "전화";
-        public final static String Name_CallList    = "통화내역";
-        public final static String Name_Visitor     = "방문자사진";
-
-        public final static int Door       			= BASE + 11;        // 현관통화
-        public final static int Lobby           	= BASE + 21;        // 로비통화
-        public final static int Neighbor            = BASE + 31;        // 이웃통화
-        public final static int Guard		        = BASE + 41;        // 경비실통화
-        public final static int PSTN                = BASE + 51;        // 전화통화
-        public final static int CallList            = BASE + 61;        // 통화내역
-        public final static int Visitor             = BASE + 71;        // 방문자사진
-    }
-
-    public static final class SubMenuSecurity
-    {
-        public final static String Name = "방범";
-        public final static int BASE = 4000; //BASE and GroupID
-
-        public final static String Name_SecurityMain    = "외출·재택";
-        public final static String Name_DeviceSet       = "연동설정";
-        public final static String Name_InkBedDeviceSet = "취침연동설정";
-        public final static String Name_HistoryDoor     = "출입내역";
-        public final static String Name_VisitorVideo    = "방문자영상";
-
-        public final static int SecurityMain        = BASE + 11;        // 외출.재택 설정 화면
-        public final static int LinkDeviceSet       = BASE + 21;        // 외출시 연동기능 설정 화면
-        public final static int lnkBedDeviceSet 	= BASE + 22;		// 취침시 연동 기능 설정 화면
-        public final static int AccessHistoryDoor   = BASE + 31;        // 출입내역
-        public final static int VisitorVideo        = BASE + 41;        // 방문자영상
-    }
-
-    public static final class SubMenuAddService
-    {
-        public final static String Name = "부가";
-        public final static int BASE = 5000; //BASE and GroupID
-
-        public final static String Name_Notice      = "공지사항";
-        public final static String Name_Weather     = "날씨";
-        public final static String Name_Memo        = "메모";
-        public final static String Name_AutoPicture = "전자액자";
-        public final static String Name_Schedule    = "일정표";
-        public final static String Name_Cctv        = "CCTV";
-        public final static String Name_Parking     = "주차확인";
-        public final static String Name_ParkingList = "차량출입내역";
-
-        public final static String Name_Repair     = "보수신청";
-        public final static String Name_Vote       = "주민투표";
-        public final static String Name_LocalInfo  = "지역정보";
-        public final static String Name_Cost       = "관리비조회";
-        public final static String Name_UCity      = "U-City";
-        public final static String Name_ElecCar     = "전기차";
-        public final static String Name_NoiseLog       = "층간소음 내역";
-        public final static String Name_CarGuest    = "방문객차량등록";
-        public final static String Name_BandLocation = "밴드위치확인";
-        public final static String Name_SafeStreetLight = "안전가로등";
-
-        public final static int Notice        	= BASE + 11;        		// 공지사항 화면
-        public final static int Weather       	= BASE + 21;        		// 날씨 화면
-        public final static int Memo	       	= BASE + 31;        		// 메모 화면
-        public final static int AutoPicture	    = BASE + 41;         		// 전자액자 화면
-        public final static int Schedule	    = BASE + 51;         		// 일정표 화면
-        public final static int Cctv	    	= BASE + 61;         		// CCTV 화면
-        public final static int Parking	    	= BASE + 71;         		// 주차확인 화면
-        public final static int ParkingList     = BASE + 81;                // 차량출입내역 화면
-
-        public final static int Repair          = BASE + 91;                // 보수신청
-        public final static int Vote            = BASE + 101;               // 주민투표
-        public final static int LocalInfo       = BASE + 111;               // 지역정보
-        public final static int Cost            = BASE + 121;               // 관리비조회
-        public final static int UCity           = BASE + 131;               // U-City
-
-        public final static int ElecCar         = BASE + 141;               // 전기차 충전
-        public final static int InterlayerNoiseHistory = BASE + 151;		// 층간소음 센서 목록
-        public final static int CarGuest        = BASE + 161;               // 방문객 차량 등록
-        public final static int BandLocation = BASE + 171;                  // 밴드위치확인
-        public final static int SafeStreetLight = BASE + 181;               // 안전가로등
-    }
-
-    public static final class SubMenuConfig
-    {
-        public final static String Name = "설정";
-        public final static int BASE = 6000; //BASE and GroupID
-
-        public final static String Name_Configuration  = "환경설정";
-        public final static String Name_CleanLcd       = "화면청소";
-        public final static String Name_PassWordChange = "비밀번호 변경";
-        public final static String Name_SkinChange     = "메인화면 설정";
-        public final static String Name_MorningCall    = "모닝콜";
-        public final static String Name_SmartKey       = "스마트키";
-        public final static String Name_RfCard         = "카드관리";
-        public final static String Name_TimeSetting    = "시간설정";
-        public final static String Name_Handicapped    = "장애인모드";
-        //public final static String Name_NoiseLog       = "층간소음 내역";
-        public final static String Name_RemoteCallUser = "원격통화 사용자관리";
-        public final static String Name_MobileDeviceReg= "모바일기기등록";
-        public final static String Name_InRoomDetectSetting= "스마트 재실센서 설정";
-        public final static String Name_SmartBand= "스마트밴드";
-
-
-        //카카오홈
-        public final static String Name_KakaoHome= "카카오홈";
-        public final static String Name_Wifi = "Wifi";
-
-
-        public final static int Configuration       = BASE + 11;        // 환경설정
-        public final static int CleanLcd            = BASE + 21;        // 화면청소
-        public final static int PassWordChange      = BASE + 31;        // 비밀번호변경
-        public final static int SkinChange          = BASE + 41;        // 메인화면 설정
-        public final static int MorningCall         = BASE + 51;        // 모닝콜
-        public final static int SmartKey            = BASE + 61;        // 스마트키
-        public final static int RfCard              = BASE + 62;        // 카드관리(RF카드)
-        public final static int TimeSetting         = BASE + 71;        // 시간설정
-        public final static int HandicappedPerson	= BASE + 81;		// 장애인모드 설정
-        //public final static int NoiseLog        	= BASE + 91;		// 층간소음 내역
-        public final static int RemoteCallUser      = BASE + 101;       // 방문객원격통화 사용자관리
-        public final static int MobileDeviceReg     = BASE + 111;       // 모바일기기등록
-        public final static int InRoomDetectSet     = BASE + 121;       // 스마트 재실센서 설정
-        public final static int SmartBand     = BASE + 131;       // 스마트밴드
-
-        public final static int KakaoHome     = BASE + 132;       // 스마트밴드
-        public final static int Wifi     = BASE + 133;       // 스마트밴드
-    }
-
-    public static class MenuListDataClass
-    {
-        public static class ChildIDMapping
-        {
-            public int Id = 0;
-            public String Name = "";
-
-            public ChildIDMapping()
-            {
-                Id = 0;
-                Name = "";
-            }
-        }
-
-        public ArrayList<String> arrayGroup;
-        public HashMap<String, ArrayList<String>> arrayChild;
-        public ChildIDMapping idMappingTable[];
-
-        public MenuListDataClass()
-        {
-            arrayGroup = new ArrayList<String>();
-            arrayChild = new HashMap<String, ArrayList<String>>();
-            idMappingTable = null;
-        }
-
-        public void SetArrayGroup(String GroupName)
-        {
-            arrayGroup.add(GroupName);
-        }
-
-        public void SetArrayChild(String GroupName, ArrayList<String> ChildArray)
-        {
-            arrayChild.put(GroupName, ChildArray);
-        }
-    }
-
-
-    /**
-     * @description
-     * 서브 APP 실행 명령 <br>
-     * @param mContext : 해당 APP Context
-     * @param startId : 시작할 서브 APP의 화면
-     * @param startOption : 시작 옵션
-     * @param kindSubScreen : 호출할 APK 패키지명을 입력한다.
-     * @return boolean true : 성공, false : 실패
-     */
-    public boolean startSubScreenActivity(Context mContext, int startId, int startOption, String kindSubScreen)
-    {
-        try
-        {
-            if((mContext == null) || (startId < 0) || (startOption < 0) || (kindSubScreen == null))
-            {
-                Log.e(TAG, "startSubScreenActivity Error!");
-                return false;
-            }
-
-            Intent intent = new Intent(Intent.ACTION_MAIN);
-            intent.putExtra(MENU_START_ID, startId);
-            intent.putExtra(MENU_START_OPTION, startOption);
-            intent.setComponent(new ComponentName(kindSubScreen, kindSubScreen + MAIN_ACTIVITY ));
-            //intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
-            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            mContext.startActivity(intent);
-            return true;
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-			return false;
-		}
-		catch (Exception e)
-        {
-            Log.e(TAG, e.toString());
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return false;
-        }
-    }
-
-    /**
-     * @description
-     * 서브 APP 실행 명령 <br>
-     * @param mContext : 해당 APP Context
-     * @param startId : 시작할 서브 APP의 화면
-     * @param option : (Bundle) 시작 옵션
-     * @param kindSubScreen : 호출할 APK 패키지명을 입력한다.
-     * @return boolean true : 성공, false : 실패
-     */
-    public boolean startSubScreenActivity(Context mContext, int startId, Bundle option, String kindSubScreen)
-    {
-        try
-        {
-            if((mContext == null) || (startId < 0) || (option == null) || (kindSubScreen == null))
-            {
-                Log.e(TAG, "startSubScreenActivity Error!");
-                return false;
-            }
-
-            Intent intent = new Intent(Intent.ACTION_MAIN);
-            intent.putExtra(MENU_START_ID, startId);
-            intent.putExtra(MENU_START_OPTION_BUNDLE, option);
-            intent.setComponent(new ComponentName(kindSubScreen, kindSubScreen + MAIN_ACTIVITY ));
-            //intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
-            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            mContext.startActivity(intent);
-            return true;
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-			return false;
-		}
-		catch (Exception e)
-        {
-            Log.e(TAG, e.toString());
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return false;
-        }
-    }
-
-    /**
-     * 패키지 명을 기반으로 Group ID 얻어오기
-     * @param PackageName 해당 APP의 패키지 명
-     * @return int 해당 APP의 Group ID
-     * **/
-    public int GetMyGroupID(String PackageName)
-    {
-        int TempID = 0;
-
-        if(PackageName.contains(API_Menu.HOMECTRL_APK) == true)
-        {
-            TempID = API_Menu.SubMenuCtrl.BASE;
-        }
-        else if(PackageName.contains(API_Menu.ENERGY_APK) == true)
-        {
-            TempID = API_Menu.SubMenuEnergy.BASE;
-        }
-        else if(PackageName.contains(API_Menu.CALL_APK) == true)
-        {
-            TempID = API_Menu.SubMenuCall.BASE;
-        }
-        else if(PackageName.contains(API_Menu.SECURITY_APK) == true)
-        {
-            TempID = API_Menu.SubMenuSecurity.BASE;
-        }
-        else if(PackageName.contains(API_Menu.ADDSERVICE_APK) == true)
-        {
-            TempID = API_Menu.SubMenuAddService.BASE;
-        }
-        else if(PackageName.contains(API_Menu.CONFIG_APK) == true)
-        {
-            TempID = API_Menu.SubMenuConfig.BASE;
-        }
-
-        return TempID;
-    }
-
-    /**
-     * ID를 통하여 APK명을 불러오기
-     * @param ID integer type (Screen ID)
-     * @return String APK명
-     * **/
-    public String GetAPK_Name_ByID(int ID)
-    {
-        switch(ID)
-        {
-            case SubMenuCtrl.BASE:
-                return API_Menu.HOMECTRL_APK;
-
-            case SubMenuEnergy.BASE:
-                return API_Menu.ENERGY_APK;
-
-            case SubMenuCall.BASE:
-                return API_Menu.CALL_APK;
-
-            case SubMenuSecurity.BASE:
-                return API_Menu.SECURITY_APK;
-
-            case SubMenuAddService.BASE:
-                return API_Menu.ADDSERVICE_APK;
-
-            case SubMenuConfig.BASE:
-                return API_Menu.CONFIG_APK;
-
-            default:
-                return null;
-        }
-    }
-
-    /**
-     * GroupID를 가지고 이름 얻어오기
-     * @param GroupID int형 ID
-     * @return String형 이름
-     * **/
-    public static String GetGroupNameByID(int GroupID)
-    {
-        String TempGroupString;
-
-        switch(GroupID)
-        {
-            case API_Menu.SubMenuCtrl.BASE:
-                TempGroupString = API_Menu.SubMenuCtrl.Name;
-                break;
-
-            case API_Menu.SubMenuEnergy.BASE:
-                TempGroupString = API_Menu.SubMenuEnergy.Name;
-                break;
-
-            case API_Menu.SubMenuCall.BASE:
-                TempGroupString = API_Menu.SubMenuCall.Name;
-                break;
-
-            case API_Menu.SubMenuSecurity.BASE:
-                TempGroupString = API_Menu.SubMenuSecurity.Name;
-                break;
-
-            case API_Menu.SubMenuAddService.BASE:
-                TempGroupString = API_Menu.SubMenuAddService.Name;
-                break;
-            case API_Menu.SubMenuConfig.BASE:
-                TempGroupString = API_Menu.SubMenuConfig.Name;
-                break;
-
-            default:
-                Log.e(TAG, "GetGroupNameByID - GroupID :" + GroupID);
-                return null;
-        }
-        return TempGroupString;
-    }
-}
+package com.artncore.commons;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.util.LogUtil;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public final class API_Menu
+{
+    public final static String TAG = "API_Menu";
+
+    public static final String MENU_START_ID = "MENU_START_ID";
+    public static final String MENU_START_OPTION = "MENU_START_OPTION";
+    public static final String MENU_START_OPTION_BUNDLE = "MENU_START_OPTION_BUNDLE";
+    public static int MENU_START_OPTION_1 = 1;
+    public static int MENU_START_OPTION_2 = 2;
+    public static int MENU_START_OPTION_3 = 2;
+
+    public static final String MAIN_ACTIVITY = ".MainActivity";
+    public static final String APP_PACKAGE_ROOT = "kr.co.icontrols.";
+
+    public static final String HOMECTRL_APK = APP_PACKAGE_ROOT + "wallpadhomectrl";
+    public static final String ENERGY_APK = APP_PACKAGE_ROOT + "wallpadenergyctrl";
+    public static final String CALL_APK = APP_PACKAGE_ROOT + "wallpadcall";
+    public static final String SECURITY_APK = APP_PACKAGE_ROOT + "wallpadsecurity";
+    public static final String ADDSERVICE_APK = APP_PACKAGE_ROOT + "wallpadaddservice";
+    public static final String CONFIG_APK = APP_PACKAGE_ROOT + "wallpadconfig";
+
+    /**
+     * 월패드 메인화면에서 서브화면을 호출할때 전달되어야할 데이터 리스트
+     */
+    public static final class SubMenuCtrl
+    {
+        public final static String Name = "우리집제어";
+        public final static int BASE = 1000; //BASE and GroupID
+
+        public final static String Name_Lamp         = "조명";
+        public final static String Name_Heating      = "난방";
+        public final static String Name_Gas          = "가스";
+        public final static String Name_GookTop      = "쿡탑";
+        public final static String Name_DoorLock     = "도어락";
+        public final static String Name_Concent      = "콘센트";
+        public final static String Name_Venti        = "환기";
+        public final static String Name_LivingLightConfig = "거실조명 그룹설정";
+		public final static String Name_InnerAirQuality   = "실내 공기질";
+		public final static String Name_InnerAirInfo      = "실내환경 정보";
+		public final static String Name_ElectricRange     = "전기레인지";
+		public final static String Name_CooktopConcent    = "쿡탑콘센트";
+		public final static String Name_SystemAircon      = "시스템에어컨";
+        public final static String Name_Purity            = "청정환기";
+        public final static String Name_Curtain            = "커튼";
+
+        public final static int HDC_LivingLamp       = BASE + 11;        // 현산거실조명( 제일전기 일체형조명제어기 )
+        public final static int HDC_EachLamp         = BASE + 12;        // 현산각실조명( 에너지미터 )
+        public final static int OutSide_livingLamp   = BASE + 13;        // 대외향 거실조명 ( 거실조명만 )
+        public final static int OutSide_EachLamp     = BASE + 14;        // 대외향 각실조명 ( 멀티스위치 )
+        public final static int LivingLightConfig    = BASE + 15;        // 거실조명 그룹설정
+        public final static int HDCLivingNEach_Lamp     = BASE + 16;        // 현산 AC배전 조명 (제일전기 일체형조명제어기 + 멀티스위치 조명)
+        public final static int Heating_V1           = BASE + 21;        // 난방 V1
+        public final static int Heating_V2           = BASE + 22;        // 난방 V2
+        public final static int Gas               	 = BASE + 31;        // 가스
+        public final static int DoorLock485          = BASE + 41;        // 도어락 485
+        public final static int DoorLockWL           = BASE + 42;        // 도어락 무선
+        public final static int Concent			     = BASE + 51;        // 대기콘센트
+        public final static int HDCLivingNEach_Concent			     = BASE + 52;        // 현산 AC배전 콘센트 (거실 대기콘센트 + 멀티스위치 콘센트)
+        public final static int ChangAir_Normal	     = BASE + 61;        // 환기 일반
+        public final static int ChangAir_LH		     = BASE + 62;        // 환기 LH
+        public final static int ChangAir_Hood	     = BASE + 63;        // 환기 후드
+        public final static int SystemAircon	     = BASE + 71;        // 시스템 에어컨
+        public final static int Curtain			     = BASE + 81;        // 커튼
+        public final static int Inner_AirQuality	 = BASE + 91;        // 실내 공기질
+        public final static int Inner_AirInfo   	 = BASE + 92;        // 실내환경 정보
+        public final static int Electric_Range   	 = BASE + 101;       // 전기레인지
+        public final static int Cooktop_Concent   	 = BASE + 111;       // 쿡탑콘센트
+        public final static int Purity             	 = BASE + 121;       // 청정환기
+    }
+
+    public static final class SubMenuEnergy
+    {
+        public final static String Name = "에너지관리";
+        public final static int BASE = 2000; //BASE and GroupID
+
+        //public final static String Name_RealMeter         = "실시간 검침기";
+        public final static String Name_EnergyMgr = "에너지 사용량";
+        public final static String Name_RemoteMeter       = "원격검침";
+        public final static String Name_EachRoomEnergy = "각방 에너지"; // I에너지 -> 각방 에너지
+        public final static String Name_CostTable         = "요금 테이블";
+        public final static String Name_SmartDistribution = "스마트 분전반";
+        public final static String Name_SmartConcent = "스마트 콘센트";
+        public final static String Name_SmartLight = "스마트 조명";
+
+        public final static int RealTimeCheckMeter        = BASE + 11;        // 실시간 검침기
+        public final static int RemoteMeter			      = BASE + 21;        // 원격검침
+        public final static int EachRoomEnergy            = BASE + 31;        // I에너지 -> 각방 에너지
+        public final static int CostTable                 = BASE + 41;        // 에너지 요금 테이블
+        public final static int EnergyMgr                 = BASE + 51;        // 에너지 사용량
+        public final static int SmartPanel         = BASE + 61;        // 스마트 분전반
+        public final static int SmartLight              = BASE + 71;        // 스마트 콘센트
+        public final static int SmartOutlet                = BASE + 81;        // 스마트 조명
+    }
+
+    public static final class SubMenuCall
+    {
+        public final static String Name = "통화";
+        public final static int BASE = 3000; //BASE and GroupID
+
+        public final static String Name_Door        = "현관";
+        public final static String Name_Lobby       = "로비";
+        public final static String Name_Neighbor    = "이웃";
+        public final static String Name_Guard       = "경비실";
+        public final static String Name_PSTN        = "전화";
+        public final static String Name_CallList    = "통화내역";
+        public final static String Name_Visitor     = "방문자사진";
+
+        public final static int Door       			= BASE + 11;        // 현관통화
+        public final static int Lobby           	= BASE + 21;        // 로비통화
+        public final static int Neighbor            = BASE + 31;        // 이웃통화
+        public final static int Guard		        = BASE + 41;        // 경비실통화
+        public final static int PSTN                = BASE + 51;        // 전화통화
+        public final static int CallList            = BASE + 61;        // 통화내역
+        public final static int Visitor             = BASE + 71;        // 방문자사진
+    }
+
+    public static final class SubMenuSecurity
+    {
+        public final static String Name = "방범";
+        public final static int BASE = 4000; //BASE and GroupID
+
+        public final static String Name_SecurityMain    = "외출·재택";
+        public final static String Name_DeviceSet       = "연동설정";
+        public final static String Name_InkBedDeviceSet = "취침연동설정";
+        public final static String Name_HistoryDoor     = "출입내역";
+        public final static String Name_VisitorVideo    = "방문자영상";
+
+        public final static int SecurityMain        = BASE + 11;        // 외출.재택 설정 화면
+        public final static int LinkDeviceSet       = BASE + 21;        // 외출시 연동기능 설정 화면
+        public final static int lnkBedDeviceSet 	= BASE + 22;		// 취침시 연동 기능 설정 화면
+        public final static int AccessHistoryDoor   = BASE + 31;        // 출입내역
+        public final static int VisitorVideo        = BASE + 41;        // 방문자영상
+    }
+
+    public static final class SubMenuAddService
+    {
+        public final static String Name = "부가";
+        public final static int BASE = 5000; //BASE and GroupID
+
+        public final static String Name_Notice      = "공지사항";
+        public final static String Name_Weather     = "날씨";
+        public final static String Name_Memo        = "메모";
+        public final static String Name_AutoPicture = "전자액자";
+        public final static String Name_Schedule    = "일정표";
+        public final static String Name_Cctv        = "CCTV";
+        public final static String Name_Parking     = "주차확인";
+        public final static String Name_ParkingList = "차량출입내역";
+
+        public final static String Name_Repair     = "보수신청";
+        public final static String Name_Vote       = "주민투표";
+        public final static String Name_LocalInfo  = "지역정보";
+        public final static String Name_Cost       = "관리비조회";
+        public final static String Name_UCity      = "U-City";
+        public final static String Name_ElecCar     = "전기차";
+        public final static String Name_NoiseLog       = "층간소음 내역";
+        public final static String Name_CarGuest    = "방문객차량등록";
+        public final static String Name_BandLocation = "밴드위치확인";
+        public final static String Name_SafeStreetLight = "안전가로등";
+
+        public final static int Notice        	= BASE + 11;        		// 공지사항 화면
+        public final static int Weather       	= BASE + 21;        		// 날씨 화면
+        public final static int Memo	       	= BASE + 31;        		// 메모 화면
+        public final static int AutoPicture	    = BASE + 41;         		// 전자액자 화면
+        public final static int Schedule	    = BASE + 51;         		// 일정표 화면
+        public final static int Cctv	    	= BASE + 61;         		// CCTV 화면
+        public final static int Parking	    	= BASE + 71;         		// 주차확인 화면
+        public final static int ParkingList     = BASE + 81;                // 차량출입내역 화면
+
+        public final static int Repair          = BASE + 91;                // 보수신청
+        public final static int Vote            = BASE + 101;               // 주민투표
+        public final static int LocalInfo       = BASE + 111;               // 지역정보
+        public final static int Cost            = BASE + 121;               // 관리비조회
+        public final static int UCity           = BASE + 131;               // U-City
+
+        public final static int ElecCar         = BASE + 141;               // 전기차 충전
+        public final static int InterlayerNoiseHistory = BASE + 151;		// 층간소음 센서 목록
+        public final static int CarGuest        = BASE + 161;               // 방문객 차량 등록
+        public final static int BandLocation = BASE + 171;                  // 밴드위치확인
+        public final static int SafeStreetLight = BASE + 181;               // 안전가로등
+    }
+
+    public static final class SubMenuConfig
+    {
+        public final static String Name = "설정";
+        public final static int BASE = 6000; //BASE and GroupID
+
+        public final static String Name_Configuration  = "환경설정";
+        public final static String Name_CleanLcd       = "화면청소";
+        public final static String Name_PassWordChange = "비밀번호 변경";
+        public final static String Name_SkinChange     = "메인화면 설정";
+        public final static String Name_MorningCall    = "모닝콜";
+        public final static String Name_SmartKey       = "스마트키";
+        public final static String Name_RfCard         = "카드관리";
+        public final static String Name_TimeSetting    = "시간설정";
+        public final static String Name_Handicapped    = "장애인모드";
+        //public final static String Name_NoiseLog       = "층간소음 내역";
+        public final static String Name_RemoteCallUser = "원격통화 사용자관리";
+        public final static String Name_MobileDeviceReg= "모바일기기등록";
+        public final static String Name_InRoomDetectSetting= "스마트 재실센서 설정";
+        public final static String Name_SmartBand= "스마트밴드";
+
+
+        //카카오홈
+        public final static String Name_KakaoHome= "카카오홈";
+        public final static String Name_Wifi = "Wifi";
+
+
+        public final static int Configuration       = BASE + 11;        // 환경설정
+        public final static int CleanLcd            = BASE + 21;        // 화면청소
+        public final static int PassWordChange      = BASE + 31;        // 비밀번호변경
+        public final static int SkinChange          = BASE + 41;        // 메인화면 설정
+        public final static int MorningCall         = BASE + 51;        // 모닝콜
+        public final static int SmartKey            = BASE + 61;        // 스마트키
+        public final static int RfCard              = BASE + 62;        // 카드관리(RF카드)
+        public final static int TimeSetting         = BASE + 71;        // 시간설정
+        public final static int HandicappedPerson	= BASE + 81;		// 장애인모드 설정
+        //public final static int NoiseLog        	= BASE + 91;		// 층간소음 내역
+        public final static int RemoteCallUser      = BASE + 101;       // 방문객원격통화 사용자관리
+        public final static int MobileDeviceReg     = BASE + 111;       // 모바일기기등록
+        public final static int InRoomDetectSet     = BASE + 121;       // 스마트 재실센서 설정
+        public final static int SmartBand     = BASE + 131;       // 스마트밴드
+
+        public final static int KakaoHome     = BASE + 132;       // 스마트밴드
+        public final static int Wifi     = BASE + 133;       // 스마트밴드
+    }
+
+    public static class MenuListDataClass
+    {
+        public static class ChildIDMapping
+        {
+            public int Id = 0;
+            public String Name = "";
+
+            public ChildIDMapping()
+            {
+                Id = 0;
+                Name = "";
+            }
+        }
+
+        public ArrayList<String> arrayGroup;
+        public HashMap<String, ArrayList<String>> arrayChild;
+        public ChildIDMapping idMappingTable[];
+
+        public MenuListDataClass()
+        {
+            arrayGroup = new ArrayList<String>();
+            arrayChild = new HashMap<String, ArrayList<String>>();
+            idMappingTable = null;
+        }
+
+        public void SetArrayGroup(String GroupName)
+        {
+            arrayGroup.add(GroupName);
+        }
+
+        public void SetArrayChild(String GroupName, ArrayList<String> ChildArray)
+        {
+            arrayChild.put(GroupName, ChildArray);
+        }
+    }
+
+
+    /**
+     * @description
+     * 서브 APP 실행 명령 <br>
+     * @param mContext : 해당 APP Context
+     * @param startId : 시작할 서브 APP의 화면
+     * @param startOption : 시작 옵션
+     * @param kindSubScreen : 호출할 APK 패키지명을 입력한다.
+     * @return boolean true : 성공, false : 실패
+     */
+    public boolean startSubScreenActivity(Context mContext, int startId, int startOption, String kindSubScreen)
+    {
+        try
+        {
+            if((mContext == null) || (startId < 0) || (startOption < 0) || (kindSubScreen == null))
+            {
+                Log.e(TAG, "startSubScreenActivity Error!");
+                return false;
+            }
+
+            Intent intent = new Intent(Intent.ACTION_MAIN);
+            intent.putExtra(MENU_START_ID, startId);
+            intent.putExtra(MENU_START_OPTION, startOption);
+            intent.setComponent(new ComponentName(kindSubScreen, kindSubScreen + MAIN_ACTIVITY ));
+            //intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            mContext.startActivity(intent);
+            return true;
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+			return false;
+		}
+		catch (Exception e)
+        {
+            Log.e(TAG, e.toString());
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return false;
+        }
+    }
+
+    /**
+     * @description
+     * 서브 APP 실행 명령 <br>
+     * @param mContext : 해당 APP Context
+     * @param startId : 시작할 서브 APP의 화면
+     * @param option : (Bundle) 시작 옵션
+     * @param kindSubScreen : 호출할 APK 패키지명을 입력한다.
+     * @return boolean true : 성공, false : 실패
+     */
+    public boolean startSubScreenActivity(Context mContext, int startId, Bundle option, String kindSubScreen)
+    {
+        try
+        {
+            if((mContext == null) || (startId < 0) || (option == null) || (kindSubScreen == null))
+            {
+                Log.e(TAG, "startSubScreenActivity Error!");
+                return false;
+            }
+
+            Intent intent = new Intent(Intent.ACTION_MAIN);
+            intent.putExtra(MENU_START_ID, startId);
+            intent.putExtra(MENU_START_OPTION_BUNDLE, option);
+            intent.setComponent(new ComponentName(kindSubScreen, kindSubScreen + MAIN_ACTIVITY ));
+            //intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            mContext.startActivity(intent);
+            return true;
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+			return false;
+		}
+		catch (Exception e)
+        {
+            Log.e(TAG, e.toString());
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return false;
+        }
+    }
+
+    /**
+     * 패키지 명을 기반으로 Group ID 얻어오기
+     * @param PackageName 해당 APP의 패키지 명
+     * @return int 해당 APP의 Group ID
+     * **/
+    public int GetMyGroupID(String PackageName)
+    {
+        int TempID = 0;
+
+        if(PackageName.contains(API_Menu.HOMECTRL_APK) == true)
+        {
+            TempID = API_Menu.SubMenuCtrl.BASE;
+        }
+        else if(PackageName.contains(API_Menu.ENERGY_APK) == true)
+        {
+            TempID = API_Menu.SubMenuEnergy.BASE;
+        }
+        else if(PackageName.contains(API_Menu.CALL_APK) == true)
+        {
+            TempID = API_Menu.SubMenuCall.BASE;
+        }
+        else if(PackageName.contains(API_Menu.SECURITY_APK) == true)
+        {
+            TempID = API_Menu.SubMenuSecurity.BASE;
+        }
+        else if(PackageName.contains(API_Menu.ADDSERVICE_APK) == true)
+        {
+            TempID = API_Menu.SubMenuAddService.BASE;
+        }
+        else if(PackageName.contains(API_Menu.CONFIG_APK) == true)
+        {
+            TempID = API_Menu.SubMenuConfig.BASE;
+        }
+
+        return TempID;
+    }
+
+    /**
+     * ID를 통하여 APK명을 불러오기
+     * @param ID integer type (Screen ID)
+     * @return String APK명
+     * **/
+    public String GetAPK_Name_ByID(int ID)
+    {
+        switch(ID)
+        {
+            case SubMenuCtrl.BASE:
+                return API_Menu.HOMECTRL_APK;
+
+            case SubMenuEnergy.BASE:
+                return API_Menu.ENERGY_APK;
+
+            case SubMenuCall.BASE:
+                return API_Menu.CALL_APK;
+
+            case SubMenuSecurity.BASE:
+                return API_Menu.SECURITY_APK;
+
+            case SubMenuAddService.BASE:
+                return API_Menu.ADDSERVICE_APK;
+
+            case SubMenuConfig.BASE:
+                return API_Menu.CONFIG_APK;
+
+            default:
+                return null;
+        }
+    }
+
+    /**
+     * GroupID를 가지고 이름 얻어오기
+     * @param GroupID int형 ID
+     * @return String형 이름
+     * **/
+    public static String GetGroupNameByID(int GroupID)
+    {
+        String TempGroupString;
+
+        switch(GroupID)
+        {
+            case API_Menu.SubMenuCtrl.BASE:
+                TempGroupString = API_Menu.SubMenuCtrl.Name;
+                break;
+
+            case API_Menu.SubMenuEnergy.BASE:
+                TempGroupString = API_Menu.SubMenuEnergy.Name;
+                break;
+
+            case API_Menu.SubMenuCall.BASE:
+                TempGroupString = API_Menu.SubMenuCall.Name;
+                break;
+
+            case API_Menu.SubMenuSecurity.BASE:
+                TempGroupString = API_Menu.SubMenuSecurity.Name;
+                break;
+
+            case API_Menu.SubMenuAddService.BASE:
+                TempGroupString = API_Menu.SubMenuAddService.Name;
+                break;
+            case API_Menu.SubMenuConfig.BASE:
+                TempGroupString = API_Menu.SubMenuConfig.Name;
+                break;
+
+            default:
+                Log.e(TAG, "GetGroupNameByID - GroupID :" + GroupID);
+                return null;
+        }
+        return TempGroupString;
+    }
+}

+ 2200 - 2194
WallPadAPI/src/main/java/com/artncore/wallpadapi/WallPadAPI.java

@@ -1,2194 +1,2200 @@
-package com.artncore.wallpadapi;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.Message;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.artncore.WallPadDataMgr.WallpadDeviceSet;
-import com.artncore.WallPadDataMgr.WallpadStatusData;
-import com.artncore.commons.APIErrorCode;
-import com.artncore.commons.DataClasses.HeatingV2;
-import com.artncore.commons.KNX_DataClasses;
-import com.artncore.commons.Sdb_DataClasses;
-import com.artncore.commons.define;
-import com.util.LogUtil;
-
-import kr.co.icontrols.wallpadsupport.Version;
-
-
-public class WallPadAPI {
-    private final static String TAG = "WallPadAPI";
-
-    public ServiceConnect SvcCon;
-
-    private Context mContext;
-
-    private int mModelType = Version.getModelType();
-
-    private static boolean mHDCIntLightType = false;
-
-    /**
-     * 현산 일체형 조명제어기 타입을 반환한다.
-     *
-     * @return - (boolean) (true:신규 일괄소등병합형 , false:기존)
-     */
-    public static boolean Get_HDCIntLightType() { return mHDCIntLightType; }
-
-    /**
-     * 생성자
-     *
-     * @param ctx - Context
-     */
-    public WallPadAPI(Context ctx) {
-        SvcCon = new ServiceConnect(ctx);
-        mContext = ctx;
-        getHDCIntLightType(ctx);
-    }
-
-    /**
-     * 현산향 월패드의 게이트웨이 종류를 반환한다.
-     * 반환값은 Version.GATEWAY_MODEL 참고
-     */
-    public int getGatewayType() {
-        try {
-            WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(mContext);
-            int nGWType = mWallpadDeviceSet.GetGatewayModelKindInfo();
-            mWallpadDeviceSet.closeDB();
-            return nGWType;
-        } catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-			return -100;
-		}
-		catch (Exception e) {
-            Log.e(TAG, "[Exception] getGatewayType()");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -100;
-        }
-    }
-
-    /**
-     * 현산 일체형 조명제어기 타입을 업데이트한다.
-     *
-     * @param ctx - Context
-     */
-    private void getHDCIntLightType(Context ctx) {
-        try {
-            if (!Version.getGatewayUsage()) return;   // G/W 사용하면 현산향 월패드
-
-            mHDCIntLightType = false;
-
-            WallpadDeviceSet devset = new WallpadDeviceSet(ctx);
-            int setdata[] = devset.Get_Light_info();
-            devset.closeDB();
-
-            if (setdata == null) return;
-            if (setdata.length < 2) return;
-            if (setdata[0] != 1) return;
-            if (setdata[1] == WallpadDeviceSet.LIGHT_TYPE_HDC_INTLIGHT_NORMAL) mHDCIntLightType = false;
-            else if (setdata[1] == WallpadDeviceSet.LIGHT_TYPE_HDC_INTLIGHT_ADD_BATCHLIGHT) mHDCIntLightType = true;
-        } catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-		}
-		catch (Exception e) {
-            Log.e(TAG, "[Exception] getHDCIntLightType(Context ctx)");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-        }
-    }
-
-    /**
-     * WallPadDevService 에 현관폰 사용여부를 전달한다.<br>
-     *
-     * @param OnOff - (boolean) true : ON 사용중 ,  false : OFF 사용종료
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetDevService_DoorCamUseOnOff(boolean OnOff)
-    {
-        //if(mModelType == Version.MODEL_TYPE.IHN_1020GL) return -100;
-
-        try
-        {
-            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
-            int[] setdata = devset.Get_RFDoorCAM_Info();
-            devset.closeDB();
-
-            boolean bSet = false;
-            if ((setdata[0] == 1) && (setdata[1] == WallpadDeviceSet.DOORTYPE_RFCAM))
-            {
-                bSet = true;
-            }
-
-            if(bSet)
-            {
-                RFDoorCamAPI rFDoorCamAPI = Get_RFDoorCamController();
-                if(rFDoorCamAPI == null)
-                {
-                    Log.w(TAG, "[SetDevService_DoorCamUseOnOff] Get_RFDoorCamController  is  null !!!");
-                    return APIErrorCode.DEVCTRNULL;
-                }
-                int ret = rFDoorCamAPI.SetDoorCamUseOnOff(OnOff);
-                Log.d(TAG, "[SetDevService_DoorCamUseOnOff] OnOff : " + OnOff + ", ret : " + ret);
-                return ret;
-            }
-
-            return APIErrorCode.NOT_SUPPORT;
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return APIErrorCode.EXCEPTION;
-		}
-		catch (Exception e)
-        {
-            Log.e(TAG, "[Exception Error] SetDevService_DoorCamUseOnOff");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return APIErrorCode.EXCEPTION;
-        }
-    }
-
-    /**
-     * 일괄소등 상태를 제어한다.<br>
-     * 일괄소등제어기는 각 모델별 (스마트스위치, 일괄소등제어기(대외), 현산일괄릴레이, 현산일체형조명제어기)등<br>
-     * 을 구분하여 제어한다.<br>
-     *
-     * @param onoff - (boolean) 제어할 일괄소등 상태 (true:일괄소등해제 , false:일괄소등)
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetBatchSwitchStatus(boolean onoff) {
-        try {
-            if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
-                    || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I)
-            {
-                // DC 분전반 사용 (DC 조명)
-                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
-                int nDPType = wds.Get_DistributionPannelType_Info();
-                wds.closeDB();
-                Log.d(TAG, "[SetBatchSwitchStatus] nDPType [" + nDPType + "]");
-
-                int ret = -1;
-                if (nDPType == Version.DISTRIBUTION_MODEL.SMART_DIST) {
-                    // 스마트 분전반
-                    SdbAPI sdbAPI = Get_SdbController();
-                    if(sdbAPI == null) return -1;
-                    ret = sdbAPI.AllLightOnOff(onoff);
-                }
-                else if (nDPType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
-                    // KNX 분전반
-                    KnxAPI knxAPI = Get_KnxController();
-                    if(knxAPI == null) return -1;
-                    ret = knxAPI.AllLightOnOff(onoff);
-                }
-                else {
-                    // 그밖의 경우, 스마트분전반을 기본으로 로딩.
-                    SdbAPI sdbAPI = Get_SdbController();
-                    if(sdbAPI == null) return -1;
-                    ret = sdbAPI.AllLightOnOff(onoff);
-                }
-
-                return ret;
-            }
-            else if (mModelType == Version.MODEL_TYPE.IHN_1020GL
-                    || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I) {
-                // AC 분전반 사용 (AC 조명)
-                if (!Get_HDCIntLightType()) {
-                    // 0:일괄소등 릴레이
-                    AllLightHDCAPI allLightHDCAPI = Get_AllLightHDCController();
-                    if (allLightHDCAPI == null) return -1;
-                    int ret = allLightHDCAPI.AllLightControl(onoff);
-                    return ret;
-                }
-                else {
-                    IntLightAPI intLightAPI = Get_IntLightController();
-                    if (intLightAPI == null) return -1;
-                    int ret = intLightAPI.AllLightControl(onoff);
-                    return ret;
-                }
-            }
-            else {
-                WallpadDeviceSet devSet = new WallpadDeviceSet(mContext);
-                int[] batchinfo = devSet.Get_BatchSW_Info();
-                devSet.closeDB();
-
-                if (batchinfo[0] == 0) return -1;
-                if (batchinfo[1] ==  WallpadDeviceSet.BATCH_TYPE_GENERAL) {
-                    AllLightAPI allLightAPI = Get_AllLightController();
-                    if (allLightAPI == null) return -2;
-                    return allLightAPI.SetAllLightOnOff(onoff);
-                }
-                else if (batchinfo[1] == WallpadDeviceSet.BATCH_TYPE_SMART) {
-                    SmartSwitchPolAPI smartSwitchPolAPI = Get_SmartSwitchPolController();
-                    if (smartSwitchPolAPI == null) return -2;
-                    return smartSwitchPolAPI.SetAllLightOnOff(onoff);
-                }
-                else return -3;
-            }
-        } catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return -100;
-		}
-		catch (Exception e) {
-            Log.e(TAG, "[Exception] SetBatchSwitchStatus(boolean onoff)");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -100;
-        }
-    }
-
-    /**
-     * 일괄소등 상태를 가져온다.<br>
-     * 일괄소등제어기는 각 모델별 (스마트스위치, 일괄소등제어기(대외), 현산일괄릴레이, 현산일체형조명제어기)등<br>
-     * 을 구분하여 반환한다.<br>
-     *
-     * @return (int) 일괄소등 상태 (0:일괄소등중 , 1:일괄소등해제 , 그외 에러)
-     */
-    public int GetBatchSwitchStatus() {
-        int ret = -100;
-        try {
-            if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
-                    || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I)
-            {
-                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
-                int nDPType = wds.Get_DistributionPannelType_Info();
-                wds.closeDB();
-                Log.d(TAG, "[GetBatchSwitchStatus] nDPType [" + nDPType + "]");
-
-                if (nDPType == Version.DISTRIBUTION_MODEL.SMART_DIST) {
-                    // 스마트 분전반
-                    SdbAPI sdbAPI = Get_SdbController();
-                    if(sdbAPI == null) return -1;
-                    ret = sdbAPI.Refresh(SdbAPI.DEVICE_INDEX.ENERGY_CONT, define.DEVICE_ALL_OR_NOTHING);
-                    if(ret < 0) return -2;
-
-                    if(sdbAPI.data.EnergyController.Data.BatchOffStatus == Sdb_DataClasses.BATCHOFF_STATUS.SET) return 0;
-                    else return 1;
-                }
-                else if (nDPType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
-                    // KNX 분전반
-                    KnxAPI knxAPI = Get_KnxController();
-                    if(knxAPI == null) return -1;
-                    ret = knxAPI.Refresh(KnxAPI.DEVICE_INDEX.MASTER_CONT, define.DEVICE_ALL_OR_NOTHING);
-                    if(ret < 0) return -2;
-
-                    if(knxAPI.data.MasterController.Data.BatchOffStatus == KNX_DataClasses.BATCHOFF_STATUS.SET) return 0;
-                    else return 1;
-                }
-                else {
-                    // 그밖의 경우, 스마트분전반을 기본으로 로딩.
-                    SdbAPI sdbAPI = Get_SdbController();
-                    if(sdbAPI == null) return -1;
-                    ret = sdbAPI.Refresh(SdbAPI.DEVICE_INDEX.ENERGY_CONT, define.DEVICE_ALL_OR_NOTHING);
-                    if(ret < 0) return -2;
-
-                    if(sdbAPI.data.EnergyController.Data.BatchOffStatus == Sdb_DataClasses.BATCHOFF_STATUS.SET) return 0;
-                    else return 1;
-                }
-            }
-            else if (mModelType == Version.MODEL_TYPE.IHN_1020GL
-                    || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I) {
-                if (!Get_HDCIntLightType()) {
-                    // 0:일괄소등 릴레이
-                    AllLightHDCAPI allLightHDCAPI = Get_AllLightHDCController();
-                    if (allLightHDCAPI == null) return -1;
-                    if (allLightHDCAPI.data.AllLightStatus) ret = 1;
-                    else ret = 0;
-                }
-                else {
-                    IntLightAPI intLightAPI = Get_IntLightController();
-                    if (intLightAPI == null) return -1;
-                    if (intLightAPI.Refresh(false) < 0) return -2;
-                    if (intLightAPI.data.AllLightStatus) ret = 1;
-                    else ret = 0;
-                }
-            }
-            else {
-                WallpadDeviceSet devSet = new WallpadDeviceSet(mContext);
-                int[] batchinfo = devSet.Get_BatchSW_Info();
-                devSet.closeDB();
-                if (batchinfo[0] == 0) return -1;
-                if (batchinfo[1] ==  WallpadDeviceSet.BATCH_TYPE_GENERAL) {
-                    AllLightAPI allLightAPI = Get_AllLightController();
-                    if (allLightAPI == null) return -1;
-
-                    if (allLightAPI.Refresh(false) == 0) {
-                        if (allLightAPI.data.AllLightOnOff) ret = 1;
-                        else ret = 0;
-                    }
-                    else return -2;
-                }
-                else if (batchinfo[1] == WallpadDeviceSet.BATCH_TYPE_SMART) {
-                    SmartSwitchPolAPI smartSwitchPolAPI = Get_SmartSwitchPolController();
-                    if (smartSwitchPolAPI == null) return -1;
-
-                    if (smartSwitchPolAPI.Refresh(false) == 0) {
-                        if (smartSwitchPolAPI.data.AllLightOnOff) ret = 1;
-                        else ret = 0;
-                    }
-                    else return -2;
-                }
-            }
-        } catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return -100;
-		}
-		catch (Exception e) {
-            Log.e(TAG, "[Exception] GetBatchSwitchStatus()");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -100;
-        }
-        return ret;
-    }
-
-    /**
-     * WallPadDevService 와 바인딩 연결 여부를 확인한다.
-     *
-     * @return - (boolean) true:연결됨,  false:연결되지않음
-     */
-    public boolean Check_Connect()
-    {
-        return (SvcCon.devctrcmd == null)?false:true;
-    }
-
-    /**
-     * onPause() 에서 호출한다.
-     */
-    public void Pause()
-    {
-        SvcCon.Pause();
-    }
-
-    /**
-     * onResume() 에서 호출한다.
-     */
-    public void Resume()
-    {
-        SvcCon.Resume();
-    }
-
-
-    /**
-     * 도어락 문열림</br>
-     * (※ 도어락의 종류에 상관없이 문열림을 한다.  유선/무선)
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetDoorLock_Open() {
-        ////////////////////////////////////////////////////////////////
-        // 1. 현산 모델처리
-        ////////////////////////////////////////////////////////////////
-        if (Version.getGatewayUsage()) {
-            // 1. 도어락 설정 체크
-            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
-            int[] Doorinfo = devset.Get_DoorLock_Info();
-            devset.closeDB();
-
-            if (Doorinfo == null) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo - null");
-                return -101;
-            }
-
-            if (Doorinfo.length < 2) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo length Error - Len:" + Doorinfo.length);
-                return -102;
-            }
-
-            if (Doorinfo[0] == 0) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo UnUsed !!!");
-                return -103;
-            }
-
-            // 2. 도어락 타입별 제어
-            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_NORMAL) {
-                // 2.1. 유선도어락 제어
-                DLockAPI dLockAPI = null;
-                dLockAPI = Get_DLockController();
-
-                if (dLockAPI == null) {
-                    Log.w(TAG, "[SetDoorLock_Open] dLockAPI - null");
-                    return -104;
-                }
-
-                int ret = dLockAPI.SetDoorOpen();
-                if (ret < 0) {
-                    Log.e(TAG, "[SetDoorLock_Open] dLockAPI.SetDoorOpen()  Error (" + ret + ")   ErrorCode = " + dLockAPI.ErrorCode.ErrStr());
-                    return ret;
-                }
-            }
-            else if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
-                // 2.2. 무선도어락 제어
-                if (mModelType == Version.MODEL_TYPE.IHN_1020GL) {
-                    IGW200dAPI iGW200dAPI = null;
-                    iGW200dAPI = Get_IGW200dController();
-                    if (iGW200dAPI == null) {
-                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW200dController - null");
-                        return -105;
-                    }
-
-                    int ret = iGW200dAPI.SetWddrCont(true);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_Open] iGW200dAPI.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-                else if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
-                        || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I
-                        || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I)
-                {
-                    IGW300API iGW300API = null;
-                    iGW300API = Get_IGW300Controller();
-                    if (iGW300API == null) {
-                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW300dController - null");
-                        return -106;
-                    }
-
-                    int ret = iGW300API.SetWddrCont(true);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_Open] iGW300API.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-            }
-            else
-            {
-                Log.e(TAG, "[SetDoorLock_Open] DoorLock Type Error (Type:" + Doorinfo[1] +")");
-                return -107;
-            }
-        }
-        ////////////////////////////////////////////////////////////////
-        // 현산모델 외
-        ////////////////////////////////////////////////////////////////
-        else {
-            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
-            int[] DoorCamType = devset.Get_RFDoorCAM_Info();
-
-            if (DoorCamType[1] == WallpadDeviceSet.DOORTYPE_UKS) {
-                UksAPI mUksAPI = Get_UksController();
-                if(mUksAPI!=null)
-                {
-                    int nResult = mUksAPI.SetDoorOpen();
-                    Log.i(TAG, "[SetDoorLock_Open] UKS nResult [" + nResult + "]");
-
-                    if (0 <= nResult) {
-                        Log.i(TAG, "[SetDoorLock_Open] UKS Door open success!!");
-                        return nResult;
-                    }
-                    else {
-                        Log.w(TAG, "[SetDoorLock_Open] UKS Door open fail!!");
-                        return -107;
-                    }
-                }
-
-            }
-            else {
-                // 1. 무선도어락 제어
-                int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR + define.DEVCTR_CMD_SPLITER + define.APICMD_RFDOORLOCKCTR + define.DEVCTR_CMD_SPLITER + 1);
-                if (ret < 0) {
-                    Log.e(TAG, "[SetDoorLock_Open] mModelType = Other  Error (ret:" + ret + ")");
-                    return ret;
-                }
-            }
-        }
-        return 0;
-    }
-
-    /**
-     * 도어락 문열림</br>
-     * (※ RF카메라 사용 시 + 외출모드 해제 시 문열림을 위해서 사용)
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetDoorLock_Open_ForRFCamera() {
-        ////////////////////////////////////////////////////////////////
-        // 1. 현산 모델처리
-        ////////////////////////////////////////////////////////////////
-        if (Version.getGatewayUsage()) {
-            // 1. 도어락 설정 체크
-            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
-            int[] Doorinfo = devset.Get_DoorLock_Info();
-            devset.closeDB();
-
-            if (Doorinfo == null) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo - null");
-                return -101;
-            }
-
-            if (Doorinfo.length < 2) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo length Error - Len:" + Doorinfo.length);
-                return -102;
-            }
-
-            if (Doorinfo[0] == 0) {
-                Log.w(TAG, "[SetDoorLock_Open] Doorinfo UnUsed !!!");
-                return -103;
-            }
-
-            // 2. 도어락 타입별 제어
-            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_NORMAL) {
-                //nothing to do
-            }
-            else if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
-                // 2.2. 무선도어락 제어
-                if (mModelType == Version.MODEL_TYPE.IHN_1020GL) {
-                    IGW200dAPI iGW200dAPI = null;
-                    iGW200dAPI = Get_IGW200dController();
-                    if (iGW200dAPI == null) {
-                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW200dController - null");
-                        return -105;
-                    }
-
-                    int ret = iGW200dAPI.SetWddrCont(true);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_Open] iGW200dAPI.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-                else if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
-                        || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I
-                        || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I)
-                {
-                    IGW300API iGW300API = null;
-                    iGW300API = Get_IGW300Controller();
-                    if (iGW300API == null) {
-                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW300Controller - null");
-                        return -106;
-                    }
-
-                    int ret = iGW300API.SetWddrCont(true);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_Open] iGW300API.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-            }
-            else
-            {
-                Log.e(TAG, "[SetDoorLock_Open] DoorLock Type Error (Type:" + Doorinfo[1] +")");
-                return -107;
-            }
-        }
-        ////////////////////////////////////////////////////////////////
-        // 현산모델 외
-        ////////////////////////////////////////////////////////////////
-        else
-        {
-            // 1. 무선도어락 제어
-            int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR +
-                    define.DEVCTR_CMD_SPLITER +
-                    define.APICMD_RFDOORLOCKCTR +
-                    define.DEVCTR_CMD_SPLITER +
-                    1);
-            if(ret < 0)
-            {
-                Log.e(TAG, "[SetDoorLock_Open] mModelType = Other  Error (ret:" + ret + ")");
-                return ret;
-            }
-        }
-        return 0;
-    }
-
-    /**
-     * 도어락 등록
-     * (※ 오직 무선도어락인 경우에만 해당된다.)
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetDoorLock_RfReg() {
-        ////////////////////////////////////////////////////////////////
-        // 1. 현산 모델처리
-        ////////////////////////////////////////////////////////////////
-        if (Version.getGatewayUsage()) {
-            // 1. 도어락 설정 체크
-            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
-            int[] Doorinfo = devset.Get_DoorLock_Info();
-            devset.closeDB();
-            if (Doorinfo == null) {
-                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo - null");
-                return -101;
-            }
-
-            if (Doorinfo.length < 2) {
-                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo length Error - Len:" + Doorinfo.length);
-                return -102;
-            }
-
-            if (Doorinfo[0] == 0) {
-                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo UnUsed !!!");
-                return -103;
-            }
-
-            // 2. 도어락 타입별 제어
-            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
-                if (getGatewayType() == Version.GATEWAY_MODEL.IGW_200) {
-                    // 2.2. 무선도어락 제어
-                    IGW200dAPI iGW200dAPI = null;
-                    iGW200dAPI = Get_IGW200dController();
-                    if (iGW200dAPI == null) {
-                        Log.w(TAG, "[SetDoorLock_RfReg] Get_IGW200dController - null");
-                        return -104;
-                    }
-
-                    int ret = iGW200dAPI.SetWddrCont(false);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_RfReg] iGW200dAPI.SetWddrCont(false)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-                else if (getGatewayType() == Version.GATEWAY_MODEL.IGW_300) {
-                    // 2.2. 무선도어락 제어
-                    IGW300API iGW300API = null;
-                    iGW300API = Get_IGW300Controller();
-                    if (iGW300API == null) {
-                        Log.w(TAG, "[SetDoorLock_RfReg] Get_IGW300Controller - null");
-                        return -105;
-                    }
-
-                    int ret = iGW300API.SetWddrCont(false);
-                    if (ret < 0) {
-                        Log.e(TAG, "[SetDoorLock_RfReg] iGW300API.SetWddrCont(false)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-                else {
-                    Log.w(TAG, "[SetDoorLock_RfReg] Not supported gateway type -> " + getGatewayType());
-                }
-            }
-            else {
-                Log.e(TAG, "[SetDoorLock_RfReg] DoorLock Type Error (Type:" + Doorinfo[1] +")");
-                return -106;
-            }
-        }
-        ////////////////////////////////////////////////////////////////
-        // 현산모델 외
-        ////////////////////////////////////////////////////////////////
-        else {
-            // 1. 무선도어락 등록
-            int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR +
-                    define.DEVCTR_CMD_SPLITER +
-                    define.APICMD_RFDOORLOCKCTR +
-                    define.DEVCTR_CMD_SPLITER +
-                    0);
-            if (ret < 0) {
-                Log.e(TAG, "[SetDoorLock_RfReg] mModelType = Other  Error (ret:" + ret + ")");
-                return ret;
-            }
-        }
-        return 0;
-    }
-
-    private int DeviceIOControl(String cmd)
-    {
-        try
-        {
-            if (SvcCon.devctrcmd == null) return -1;
-            SvcCon.devctrcmd.Control_Device(cmd);
-        }
-        catch (RemoteException e)
-        {
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -1;
-        }
-        return 0;
-    }
-
-    private void sendBRRFDoorlockOpen() {
-        try {
-            Intent mIntent = new Intent();
-            mIntent.setAction(define.NOTIFY_ACNAME);
-            mIntent.putExtra(define.NOTIBR_KIND,define.NOTIFY_RFDOORLOCK_OPEN);
-            mContext.sendBroadcast(mIntent);
-        } catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-		}
-		catch (Exception e) {
-            LogUtil.errorLogInfo("", TAG, e);
-        }
-    }
-
-    //madeinlab++
-    /**
-     * 청정환기 API 를 가져온다
-     *
-     * @return - (SystemAirconAPI) 에어컨제어기 API
-     */
-    public PurityAPI Get_PurityController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new PurityAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 에어컨 API 를 가져온다
-     *
-     * @return - (SystemAirconAPI) 에어컨제어기 API
-     */
-    public SystemAirconAPI Get_AirconController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new SystemAirconAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 전동루버 API 를 가져온다
-     *
-     * @return - (LouverAPI) 전동루버 API
-     */
-    public LouverAPI Get_LouverController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new LouverAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 환기제어기 API 를 가져온다
-     *
-     * @return - (VentiAPI) 환기제어기 API
-     */
-    public VentiAPI Get_VentiController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new VentiAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * Knx 환기제어기 API 를 가져온다
-     *
-     * @return - (VentiAPI) 환기제어기 API
-     */
-    public KnxVentiAPI Get_KnxVentiController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new KnxVentiAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 가스제어기 API 를 가져온다
-     *
-     * @return - (GasAPI) 가스제어기 API
-     */
-    public GasAPI Get_GasController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new GasAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 대외향 거실조명제어기 API 를 가져온다
-     *
-     * @return - (LightAPI) 대외향 거실조명제어기 API
-     */
-    public LightAPI Get_LightController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new LightAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 대외향 일괄소등제어기 API 를 가져온다
-     *
-     * @return - (AllLightAPI) 대외향 일괄소등제어기 API
-     */
-    public AllLightAPI Get_AllLightController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new AllLightAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * PhonNRemocon API 를 가져온다
-     *
-     * @return - (PhonNRemocon) PhonNRemocon API
-     */
-    public PhonNRemocon Get_PhonNRemoconController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new PhonNRemocon(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 멀티스위치 API 를 가져온다
-     *
-     * @return - (MultiSwitchAPI) 멀티스위치 API
-     */
-    public MultiSwitchAPI Get_MultiSwitchController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new MultiSwitchAPI(SvcCon.devctrcmd);
-    }
-
-    public CooktopAPI Get_CookTopController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new CooktopAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * RF 도어카메라 API 를 가져온다
-     *
-     * @return - (RfDoorCamAPI) RF 도어카메라 API
-     */
-    public RFDoorCamAPI Get_RFDoorCamController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new RFDoorCamAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 실시간검침기 API 를 가져온다
-     *
-     * @return - (RealTimeMeterAPI) 실시간검침기 API
-     */
-    public RealTimeMeterAPI Get_RealTimeMeterController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new RealTimeMeterAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * IGW200D 게이트웨이 API 를 가져온다
-     *
-     * @return - (IGW200dAPI) 게이트웨이 API
-     */
-    public IGW200dAPI Get_IGW200dController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new IGW200dAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * IGW300 게이트웨이 API 를 가져온다
-     *
-     * @return - (IGW300API) 게이트웨이 API
-     */
-    public IGW300API Get_IGW300Controller()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new IGW300API(SvcCon.devctrcmd);
-    }
-
-    /**
-     * IntLight 일체형조명제어기API 를 가져온다.
-     *
-     * @return - (IntLightAPI) 일체형조명제어기API
-     */
-    public IntLightAPI Get_IntLightController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new IntLightAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 현산 일괄소등릴레이 API 를 가져온다.
-     *
-     * @return - (AllLightHDCAPI) 일괄소등릴레이 API
-     */
-    public AllLightHDCAPI Get_AllLightHDCController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new AllLightHDCAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * EnergyModule 에너지모듈 API 를 가져온다.
-     *
-     * @return - (EnergyModuleAPI) 에너지모듈API
-     */
-    public EnergyModuleAPI Get_EnergyModuleController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new EnergyModuleAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * CutOffConcent 대기차단콘센트 API 를 가져온다.
-     *
-     * @return - (CutOffConcentAPI) 대기차단콘센트API
-     */
-    public CutOffConcentAPI Get_CutOffConcentController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new CutOffConcentAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * EnergyMeter 에너지미터 API 를 가져온다.
-     *
-     * @return - (EnergyMeterAPI) 에너지미터 API
-     */
-    public EnergyMeterAPI Get_EnergyMeterController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new EnergyMeterAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 난방V1 API 를 가져온다.
-     *
-     * @return - (HeatingV1API) 난방V1 API
-     */
-    public HeatingV1API Get_HeatingV1Controller()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new HeatingV1API(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 난방V2 API 를 가져온다.
-     *
-     * @return - (HeatingV2API) 난방V2 API
-     */
-    public HeatingV2API Get_HeatingV2Controller()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new HeatingV2API(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 스마트스위치 (이벤트) API 를 가져온다.
-     *
-     * @return - (SmartSwitchEvtAPI) 스마트스위치 (이벤트) API
-     */
-    public SmartSwitchEvtAPI Get_SmartSwitchEvtController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new SmartSwitchEvtAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 스마트스위치 (폴링) API 를 가져온다.
-     *
-     * @return - (SmartSwitchEvtAPI) 스마트스위치 (이벤트) API
-     */
-    public SmartSwitchPolAPI Get_SmartSwitchPolController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new SmartSwitchPolAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 스마트키RF현관카메라 API 를 가져온다.
-     *
-     * @return - (SmartKeyRfDoorAPI) 스마트키RF현관카메라 API
-     */
-    public SmartKeyRfDoorAPI Get_SmartKeyRfDoorController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new SmartKeyRfDoorAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 유선 도어락 API 를 가져온다.
-     *
-     * @return - (DLockAPI) 도어락 API
-     */
-    public DLockAPI Get_DLockController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new DLockAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 지문인식 도어락 API 를 가져온다.
-     *
-     * @return - (DLockAPI) 도어락 API
-     */
-    public FP_DlockAPI Get_FP_DLockController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new FP_DlockAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 디밍제어기 API 를 가져온다.
-     *
-     * @return - (DLockAPI) KCC 디밍제어기 API
-     */
-    public LedDimmingKCC_API Get_KCCDimmingController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new LedDimmingKCC_API(SvcCon.devctrcmd);
-    }
-
-    /**
-     * UKS API 를 가져온다.
-     *
-     * @return - (UksAPI) 도어락 API
-     */
-    public UksAPI Get_UksController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new UksAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 스마트분전반 API 를 가져온다.
-     *
-     * @return - (SdbAPI) 스마트분전반 API
-     */
-    public SdbAPI Get_SdbController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new SdbAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * 스마트분전반 - 거실에너지미터 조명 전용 API 를 가져온다.
-     *
-     * @return - (Sdb_LivingRoomLightAPI) 스마트분전반 - 거실에너지미터 조명 전용 API
-     */
-    public Sdb_LivingRoomLightAPI Get_Sdb_LivingRoomLightAPI()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new Sdb_LivingRoomLightAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * KNX 마스터콘트롤러 API 를 가져온다.
-     *
-     * @return - (KnxAPI) 스마트분전반 API
-     */
-    public KnxAPI Get_KnxController()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new KnxAPI(SvcCon.devctrcmd);
-    }
-
-    /**
-     * KNX 분전반 - 거실에너지미터 조명 전용 API 를 가져온다.
-     *
-     * @return - (KnxAPI) KNX 분전반 - 거실에너지미터 조명 전용 API
-     */
-    public Knx_LivingRoomLightAPI Get_Knx_LivingRoomLightAPI()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new Knx_LivingRoomLightAPI(SvcCon.devctrcmd);
-    }
-
-    public AirQualitySensorAPI Get_SensorAp_API()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new AirQualitySensorAPI(SvcCon.devctrcmd);
-    }
-
-    public InRoomDetectSensor_API Get_InRoomDetectSensor_API()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new InRoomDetectSensor_API(SvcCon.devctrcmd);
-    }
-
-    public ElectricRange_API Get_ElectricRange_API()
-    {
-        if (SvcCon.devctrcmd == null) return null;
-        return new ElectricRange_API(SvcCon.devctrcmd);
-    }
-
-    /**
-     * {link DeviceBatchControl} 메소드의 (DevType) param 에 사용될 Type 을 정의한다.
-     */
-    public static final class DEV_BATCH_CTRL__TYPE
-    {
-        /** 일괄소등  */
-        public final static int  ALL_LIGHT      = 0;
-
-        /** 난방        */
-        public final static int  HEATING       = 1;
-
-        /** 가스        */
-        public final static int  GAS           = 2;
-
-        /** 환기        */
-        public final static int  VENTI         = 3;
-
-        /** 웰컴조명        */
-        public final static int  WELCOME_LIGHT = 4;
-
-        /** Knx 환기        */
-        public final static int  KNX_VENTI         = 5;
-    }
-
-    /**
-     * 디바이스를 일괄 제어한다.
-     *
-     * @param DevType - {@link DEV_BATCH_CTRL__TYPE} 에 따른다.
-     * @param OnOff   - 제어 ON/OFF DevType 에 따라 달라짐.</br>
-     *           </tab> DEV_BATCH_CTRL__TYPE.ALL_LIGHT - true : ON , false : OFF
-     *           </tab> DEV_BATCH_CTRL__TYPE.HEATING   - 난방 V1 - true : 일시정지 , false : 일시정지해제 , 난방V2 - true : 외출 , false : 외출해제
-     *           </tab> DEV_BATCH_CTRL__TYPE.GAS       - 의미없음(*닫기만 가능)
-     *           </tab> DEV_BATCH_CTRL__TYPE.VENTI     - true : ON , false : OFF
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int DeviceBatchControl(int DevType, boolean OnOff)
-    {
-        String Tag = "DeviceAllControl";
-
-        Log.d(Tag, "DeviceAllControl Start (DevType:" + DevType + " , OnOff:" + OnOff + ")");
-
-        if(SvcCon.devctrcmd == null)
-        {
-            Log.w(Tag, "SvcCon.devctrcmd is null !!!");
-            return -100;
-        }
-
-        // 1. Param Check
-        switch(DevType)
-        {
-            case DEV_BATCH_CTRL__TYPE.ALL_LIGHT:
-            case DEV_BATCH_CTRL__TYPE.HEATING:
-            case DEV_BATCH_CTRL__TYPE.GAS:
-            case DEV_BATCH_CTRL__TYPE.VENTI:
-            case DEV_BATCH_CTRL__TYPE.WELCOME_LIGHT:
-                break;
-            default:
-                Log.w(Tag, "Input Param [DevType] is Out of Range !!! (DevType:" + DevType + ")");
-                return -101;
-        }
-
-        // 2. Doing
-        try
-        {
-            int ret = -1;
-            /////////////////////////////////////////
-            // 조명 일괄소등 제어
-            /////////////////////////////////////////
-            // 일괄소등 설정 , 해제
-            if(DevType == DEV_BATCH_CTRL__TYPE.ALL_LIGHT)
-            {
-                return SetBatchSwitchStatus(OnOff);
-            }
-            /////////////////////////////////////////
-            // 난방 제어
-            /////////////////////////////////////////
-            // V1 일 경우 - 전체방 일시정지 설정 , 해제
-            // V2 일 경우 - 전체방 외출        설정 , 해제
-            else if(DevType == DEV_BATCH_CTRL__TYPE.HEATING)
-            {
-                int DeviceKind = GetHeatingKind();
-                if(DeviceKind == 1)
-                {
-                    HeatingV1API heatingV1API = Get_HeatingV1Controller();
-
-                    ret = heatingV1API.SetPause(OnOff);
-                    if(ret < 0)
-                    {
-                        Log.e(Tag, "heatingV1API.SetPause Error (" + ret + ")   ErrorCode = " + heatingV1API.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-                else if(DeviceKind == 2)
-                {
-                    HeatingV2API heatingV2API = Get_HeatingV2Controller();
-
-                    if(heatingV2API == null)
-                    {
-                        Log.w(Tag, "Get_HeatingV2Controller  is  null");
-                        return -1003;
-                    }
-
-                    byte ChangeMode = HeatingV2.MODE.Idle;
-                    if(heatingV2API.data.Device.info.Support.Pause)
-                    {
-                        if(OnOff) ChangeMode = HeatingV2.MODE.Pause;
-                        else ChangeMode = HeatingV2.MODE.PauseRelease;
-                    }
-                    else if(heatingV2API.data.Device.info.Support.Outing)
-                    {
-                        if(OnOff) ChangeMode = HeatingV2.MODE.Outing;
-                        else ChangeMode = HeatingV2.MODE.OutingRelease;
-                    }
-                    if(ChangeMode != HeatingV2.MODE.Idle)
-                    {
-                        ret = heatingV2API.SetAllRoomStatus(ChangeMode);
-                        if(ret < 0)
-                        {
-                            Log.e(Tag, "heatingV2API.SetAllRoomStatus Error (" + ret + ")   ErrorCode = " + heatingV2API.ErrorCode.ErrStr());
-                            return ret;
-                        }
-                    }
-                }
-                else
-                {
-                    return -1001;
-                }
-            }
-            /////////////////////////////////////////
-            // 가스 제어
-            /////////////////////////////////////////
-            // 오직 닫기만 가능
-            else if(DevType == DEV_BATCH_CTRL__TYPE.GAS)
-            {
-                GasAPI gasAPI = null;
-                gasAPI = Get_GasController();
-                if(gasAPI == null)
-                {
-                    Log.w(Tag, "Get_GasController - null");
-                    return -1000;
-                }
-                int Ret = gasAPI.SetClose(define.DEVICE_ALL_OR_NOTHING);
-                if(Ret < 0)
-                {
-                    Log.e(Tag, "gasAPI.SetClose Error (" + ret + ")   ErrorCode = " + gasAPI.ErrorCode.ErrStr());
-                    return ret;
-                }
-            }
-            /////////////////////////////////////////
-            // 환기 제어
-            /////////////////////////////////////////
-            // ON / OFF
-            else if(DevType == DEV_BATCH_CTRL__TYPE.VENTI)
-            {
-                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
-                int nDistributionPanelType = wds.Get_DistributionPannelType_Info();
-                wds.closeDB();
-
-                if (nDistributionPanelType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
-                    KnxVentiAPI ventiAPI = null;
-                    ventiAPI = Get_KnxVentiController();
-                    if(ventiAPI == null)
-                    {
-                        Log.w(Tag, "Get_KnxVentiController() - null");
-                        return -1000;
-                    }
-                    for(int i=0;i<3;i++) {
-                        ret = ventiAPI.SetOnOff((byte)i, OnOff);
-                        if (ret < 0) {
-                            Log.e(TAG, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
-                            //환기 개수가 3개이므로, 에러 발생시 그냥 리턴하지 않게 처리한다.
-                            //return ret;
-                        }
-                    }
-                }else{
-                    VentiAPI ventiAPI = null;
-                    ventiAPI = Get_VentiController();
-                    if(ventiAPI == null)
-                    {
-                        Log.w(Tag, "Get_VentiController() - null");
-                        return -1000;
-                    }
-
-                    ret = ventiAPI.SetOnOff(OnOff);
-                    if(ret < 0)
-                    {
-                        Log.e(Tag, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-            }
-            /////////////////////////////////////////
-            // Knx 환기 제어(현재 사용안함)
-            /////////////////////////////////////////
-            // ON / OFF
-            else if(DevType == DEV_BATCH_CTRL__TYPE.KNX_VENTI)
-            {
-                KnxVentiAPI ventiAPI = null;
-                ventiAPI = Get_KnxVentiController();
-                if(ventiAPI == null)
-                {
-                    Log.w(Tag, "Get_VentiController() - null");
-                    return -1000;
-                }
-
-                ret = ventiAPI.SetOnOff(OnOff);
-                if(ret < 0)
-                {
-                    Log.e(Tag, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
-                    return ret;
-                }
-            }
-            /////////////////////////////////////////
-            //웰컴조명 제어
-            /////////////////////////////////////////
-            // ON / OFF
-            else if(DevType == DEV_BATCH_CTRL__TYPE.WELCOME_LIGHT)
-            {
-                boolean livingLightOn = false;
-                boolean hallwayLightOn = false;
-                boolean kitchenlightOn = false;
-
-                try
-                {
-                    WallpadStatusData wsd = new WallpadStatusData(mContext);
-                    String welcomeStr = wsd.Get_WelcomeLight_Selected();
-                    wsd.closeDB();
-
-                    if(welcomeStr != null)
-                    {
-                        String[] lights = welcomeStr.split("/");
-                        if(lights.length == 3)
-                        {
-                            if(lights[0].equals("1"))
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - livingLight On !!!");
-                                livingLightOn = true;
-                            }
-                            else
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - livingLight Off !!!");
-                            }
-
-
-                            if(lights[1].equals("1"))
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - hallwayLightOn On !!!");
-                                hallwayLightOn = true;
-                            }
-                            else
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - hallwayLightOn Off !!!");
-                            }
-
-                            if(lights[2].equals("1"))
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - kitchenlightOn On !!!");
-                                kitchenlightOn = true;
-                            }
-                            else
-                            {
-                                Log.d(TAG, "[DeviceBatchControl] - kitchenlightOn Off !!!");
-                            }
-                        }
-                    }
-                }
-                catch (RuntimeException re) {
-                    LogUtil.errorLogInfo("", TAG, re);
-                    return -103;
-                }
-                catch (Exception ex)
-                {
-                    Log.e(TAG, "[DeviceBatchControl] - Get WelcomeLight Selected FAIL !!!");
-                    LogUtil.errorLogInfo("", TAG, ex);
-                    return -103;
-                }
-
-                SdbAPI sdbAPI = null;
-                Sdb_LivingRoomLightAPI sdb_livingRoomLightAPI = null;
-                sdbAPI = Get_SdbController();
-                sdb_livingRoomLightAPI = Get_Sdb_LivingRoomLightAPI();
-                if(sdb_livingRoomLightAPI == null)
-                {
-                    Log.w(Tag, "[DeviceBatchControl] - " +
-                            "Get_Sdb_LivingRoomLightAPI() - null");
-                    return -1001;
-                }
-                sdb_livingRoomLightAPI.Refresh();
-
-                if(sdb_livingRoomLightAPI.data.Info.LightCount != 0 && livingLightOn) // 거실조명은 기본 설치한다는 전제조건
-                {
-                    byte livIndex = 0;
-
-                    for(byte i = 0; i < sdb_livingRoomLightAPI.data.Info.LightCount; i++)
-                    {
-                        if(sdb_livingRoomLightAPI.data.Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.LIVINGROOM)
-                        {
-                            livIndex = i;
-                            Log.d(TAG, "[DeviceBatchControl] - livIndex : " + livIndex);
-                            break;
-                        }
-                    }
-
-                    ret = sdb_livingRoomLightAPI.SetLightOnOff(livIndex, true);
-                    if(ret < 0)
-                    {
-                        Log.e(Tag, "[DeviceBatchControl] - " +
-                                "sdb_livingRoomLightAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdb_livingRoomLightAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-
-                if(sdb_livingRoomLightAPI.data.Info.LightGroup.Exist_Hallway && hallwayLightOn) // 복도등이 설치되어 있고, 복도등 웰컴ON인 경우
-                {
-                    if(sdb_livingRoomLightAPI.data.Info.LightCount != 0)
-                    {
-                        byte hallwayIndex = 0;
-
-                        for(byte i = 0; i < sdb_livingRoomLightAPI.data.Info.LightCount; i++)
-                        {
-                            if(sdb_livingRoomLightAPI.data.Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.HALLWAY)
-                            {
-                                hallwayIndex = i;
-                                Log.d(TAG, "[DeviceBatchControl] - hallwayIndex : " + hallwayIndex);
-                                break;
-                            }
-                        }
-
-                        ret = sdb_livingRoomLightAPI.SetLightOnOff(hallwayIndex, true);
-                        if(ret < 0)
-                        {
-                            Log.e(Tag, "[DeviceBatchControl] - " +
-                                    "sdb_livingRoomLightAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdb_livingRoomLightAPI.ErrorCode.ErrStr());
-                            return ret;
-                        }
-                    }
-                }
-
-                sdbAPI.Refresh(define.DEVICE_ALL_OR_NOTHING, define.DEVICE_ALL_OR_NOTHING);
-                if(sdbAPI.data.BadRoom_EnergyMeter[0].Info.LightCount != 0 && kitchenlightOn) // 주방등이 설치되어 있고, 주방등 웰컴ON인 경우
-                {
-                    /*byte kitIndex = 0;
-
-                    for(byte i = 0; i < sdbAPI.data.BadRoom_EnergyMeter[0].Info.LightCount; i++)
-                    {
-                        if(sdbAPI.data.BadRoom_EnergyMeter[0].Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.KITCHEN)
-                        {
-                            kitIndex = i;
-                            Log.d(TAG, "[DeviceBatchControl] - kitIndex : " + kitIndex);
-                            break;
-                        }
-                    }*/
-
-                    ret = sdbAPI.SetLightOnOff( (byte)0x00, define.DEVICE_ALL_OR_NOTHING, true);
-                    if(ret < 0)
-                    {
-                        Log.e(Tag, "[DeviceBatchControl] - " +
-                                "sdbAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdbAPI.ErrorCode.ErrStr());
-                        return ret;
-                    }
-                }
-
-            }
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return -102;
-		}
-		catch (Exception e)
-        {
-            Log.e(Tag, "[Exception Error] !!!!!");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -102;
-        }
-
-        Log.d(Tag, "DeviceAllControl OK!!!");
-        return 0;
-    }
-
-    /**
-     * (현산모델 전용) 일괄소등 자동 해제 기능 ON/OFF
-     *
-     * @param OnOff - (boolean) true : ON , false : OFF
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    public int SetAutoIGALStatusClear(boolean OnOff) {
-        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ALL SET START (" + OnOff + ")");
-
-        // 1. ModelType Check
-        if ((mModelType != Version.MODEL_TYPE.IHN_1020GL)
-                && (mModelType != Version.MODEL_TYPE.IHN_1010GL) && (mModelType != Version.MODEL_TYPE.IHN_1010GL_I)) {
-            Log.w("WallPadAPI", "[SetAutoIGALStatusClear] Not Support ModelType : " + mModelType);
-            return -1;
-        }
-
-        int onoff = 0;
-        if(OnOff) onoff = 1;
-
-        // 2. ENERGYMETER SET
-        int ret = -1;
-        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ENERGYMETER SET : " + OnOff);
-        ret = SendNReadCMD_int(define.DRIVER_TITLE_ENERGYMETER,
-                define.APICMD_SINKCTRL,
-                "SetAutoIGALStatusClear",
-                onoff,
-                0, 0, 0, 0);
-        /*if(ret < 0) // 임시 커밋 - 에너지미터 로딩 여부에 관한 항목은 추후 고려.
-        {
-            Log.e("WallPadAPI", "[SetAutoIGALStatusClear] ENERGYMETER SET Error (ret : " + ret + ")");
-            return ret;
-        }*/
-
-        // 3. INTLIGHT SET
-        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] INTLIGHT SET : " + OnOff);
-        ret = SendNReadCMD_int(define.DRIVER_TITLE_INTLIGHT,
-                define.APICMD_SINKCTRL,
-                "SetAutoIGALStatusClear",
-                onoff,
-                0, 0, 0, 0);
-
-        if(ret < 0)
-        {
-            Log.e("WallPadAPI", "[SetAutoIGALStatusClear] INTLIGHT SET Error (ret : " + ret + ")");
-            return ret;
-        }
-
-        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ALL SET OK!!!");
-        return 0;
-    }
-
-    /**
-     * (현산모델 전용) 일괄소등 자동 해제 기능 상태 가져오기
-     *
-     * @return (boolean) - true : ON or fail , false : OFF
-     */
-    public boolean GetAutoIGALStatusClear()
-    {
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] START ()");
-
-        // 1. ModelType Check
-        if(mModelType != Version.MODEL_TYPE.IHN_1020GL)
-        {
-            Log.w("WallPadAPI", "[GetAutoIGALStatusClear] Not Support ModelType : " + mModelType);
-            return false;
-        }
-
-        // 2. ENERGYMETER GET
-        int EnergyMeterRet = -1;
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER");
-        EnergyMeterRet = SendNReadCMD_int(define.DRIVER_TITLE_ENERGYMETER,
-                define.APICMD_SINKCTRL,
-                "GetAutoIGALStatusClear",
-                0, 0, 0, 0, 0);
-
-        if(EnergyMeterRet < 0)
-        {
-            Log.e("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER SET Error (ret : " + EnergyMeterRet + ")");
-            return false;
-        }
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER - (EnergyMeterRet:" + EnergyMeterRet + ")");
-
-        // 3. INTLIGHT GET
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT");
-        int IntLightRet = SendNReadCMD_int(define.DRIVER_TITLE_INTLIGHT,
-                define.APICMD_SINKCTRL,
-                "GetAutoIGALStatusClear",
-                0, 0, 0, 0, 0);
-        if(IntLightRet < 0)
-        {
-            Log.e("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT SET Error (ret : " + IntLightRet + ")");
-            return false;
-        }
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT - (IntLightRet:" + IntLightRet + ")");
-
-        boolean bRet = false;
-        if((EnergyMeterRet != 0) && (IntLightRet != 0))
-        {
-            bRet = true;
-        }
-
-        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] OK!!! - " + bRet);
-
-        return bRet;
-    }
-
-    /**
-     * 연결된 난방버전의 종류를 반환한다.
-     *
-     * @return (int) 난방드라이버 종류 (1:V1 , 2:V2 , -110(APIErrorCode.DEVICEISNOTREADY) : 찾고있는중, 그외 에러)
-     */
-    public int GetHeatingKind()
-    {
-        String FUNC_NAME = "[GetHeatingKind]";
-        try
-        {
-            String ret = SendNReadCMD_str(define.DRIVER_TITLE_HEATINGFINDER,
-                    define.APICMD_NOSINKCTRL,
-                    "Refresh",
-                    0, 0, 0, 0, 0);
-
-            if(ret == null)
-            {
-                Log.w(TAG, FUNC_NAME + " ret return value is null !!!");
-                return APIErrorCode.RETURNERROR;
-            }
-            String[] retData = ret.split(define.DEVCTR_CMD_SPLITER);
-            if(retData == null)
-            {
-                Log.w(TAG, FUNC_NAME + " retData value is null !!!");
-                return APIErrorCode.RETURNERROR;
-            }
-            if (!retData[0].equals("SUCCESS"))
-            {
-                if(retData.length >= 2)
-                {
-                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #1 (" + Integer.parseInt(retData[1]) + ")");
-                    return Integer.parseInt(retData[1]);
-                }
-                else
-                {
-                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #2 (" + retData[0] + ")");
-                    return APIErrorCode.RETURNERROR;
-                }
-            }
-
-            // 2. Parsing
-            /*
-             * [Format]
-             *
-             * SUCCESS    - (String) 성공
-             *
-             * DeviceKind - (int) 디바이스 종류
-             */
-            int index = 1;
-
-            int DeviceKind = Integer.parseInt(retData[index++]);
-
-            if(DeviceKind == define.DRIVERID_HEATINGV1)
-            {
-                return 1;
-            }
-            else if(DeviceKind == define.DRIVERID_HEATINGV2)
-            {
-                return 2;
-            }
-            else
-            {
-                Log.w(TAG, "[GetHeatingKind] DeviceKind  Out Of Range (DeviceKind:" + DeviceKind + ")");
-                return APIErrorCode.STATUS_OUTOFRANGE;
-            }
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return APIErrorCode.EXCEPTION;
-		}
-		catch (Exception e)
-        {
-            Log.e("WallPadDevAPI", "[GetHeatingKind] Exception Error - ()");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return APIErrorCode.EXCEPTION;
-        }
-    }
-
-
-    /**
-     * GAS 와 COOKTOP 분류하기
-     * @return
-     */
-    public int GetGasKind()
-    {
-        String FUNC_NAME = "[GetGasKind]";
-        try
-        {
-            String ret = SendNReadCMD_str(define.DRIVER_TITLE_COOKTOPFINDER,
-                    define.APICMD_NOSINKCTRL,
-                    "Refresh",
-                    0, 0, 0, 0, 0);
-
-            if(ret == null)
-            {
-                Log.w(TAG, FUNC_NAME + " ret return value is null !!!");
-                return APIErrorCode.RETURNERROR;
-            }
-            String[] retData = ret.split(define.DEVCTR_CMD_SPLITER);
-            if(retData == null)
-            {
-                Log.w(TAG, FUNC_NAME + " retData value is null !!!");
-                return APIErrorCode.RETURNERROR;
-            }
-            if (!retData[0].equals("SUCCESS"))
-            {
-                if(retData.length >= 2)
-                {
-                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #1 (" + Integer.parseInt(retData[1]) + ")");
-                    return Integer.parseInt(retData[1]);
-                }
-                else
-                {
-                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #2 (" + retData[0] + ")");
-                    return APIErrorCode.RETURNERROR;
-                }
-            }
-
-            // 2. Parsing
-            /*
-             * [Format]
-             *
-             * SUCCESS    - (String) 성공
-             *
-             * DeviceKind - (int) 디바이스 종류
-             */
-            int index = 1;
-
-            int DeviceKind = Integer.parseInt(retData[index++]);
-
-            if(DeviceKind == define.DRIVERID_GAS)
-            {
-                return 1;
-            }
-            else if(DeviceKind == define.DRIVERID_COOKTOP)
-            {
-                return 2;
-            }
-            else
-            {
-                Log.w(TAG, "[GetHeatingKind] DeviceKind  Out Of Range (DeviceKind:" + DeviceKind + ")");
-                return APIErrorCode.STATUS_OUTOFRANGE;
-            }
-        }
-        catch (RuntimeException re) {
-            LogUtil.errorLogInfo("", TAG, re);
-            return APIErrorCode.EXCEPTION;
-        }
-        catch (Exception e)
-        {
-            Log.e("WallPadDevAPI", "[GetHeatingKind] Exception Error - ()");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return APIErrorCode.EXCEPTION;
-        }
-    }
-
-    /**
-     * 거실 조명을 주어진 횟수와 시간만큼 반복 Blink 동작을 한다.
-     *
-     * @param Count   - (int) 반복할 횟수 (범위: 1 ~ 10)
-     * @param DelayMs - (int) 시간            (단위:ms , 범위:100 ~ 10000)
-     *
-     * @return (boolean) 수행결과 - true:정상, false:실패
-     */
-    public boolean SetLivingLightDelayedBlink(int Count, long DelayMs)
-    {
-        Log.i(TAG, "[SetLivingLightDelayedBlink] Count : " + Count + ", DelayMs : " + DelayMs);
-
-        // 1. Param Check
-        if((Count <= 0) || (Count > 10))
-        {
-            Log.w(TAG, "[SetLivingLightDelayedBlink] Param : Count . Out Of Range !!!(Count:" + Count + ")");
-            return false;
-        }
-        if((DelayMs < 100) || (DelayMs > 10000))
-        {
-            Log.w(TAG, "[SetLivingLightDelayedBlink] Param : DelayMs . Out Of Range !!!(DelayMs:" + DelayMs + ")");
-            return false;
-        }
-
-        // 2. 모델별 처리
-        if(mModelType == Version.MODEL_TYPE.IHN_1020GL)
-        {
-
-        }
-        else if(mModelType == Version.MODEL_TYPE.IHN_1020B_A)
-        {
-            // 1. 이전 동작상태 확인
-            if(mLivingLightDelayedBlink != null)
-            {
-                if(mLivingLightDelayedBlink.isRun())
-                {
-                    Log.w(TAG, "[SetLivingLightDelayedBlink] isRun...");
-                    return false;
-                }
-            }
-
-            // 2. 거실 조명 종류 가져오기
-            int LivingLightType = 0;
-            try
-            {
-                int [] Get_Light_info = null;
-                try
-                {
-                    WallpadDeviceSet wallpadDeviceSet = new WallpadDeviceSet(mContext);
-                    Get_Light_info = wallpadDeviceSet.Get_Light_info();
-                    wallpadDeviceSet.closeDB();
-                }
-                catch (RuntimeException re) {
-                    LogUtil.errorLogInfo("", TAG, re);
-                    return false;
-                }
-		        catch (Exception e)
-                {
-                    Log.e(TAG, "[SetLivingLightDelayedBlink] Exception Error(DB : Open-Get-Close)");
-                    //e.printStackTrace();
-                    LogUtil.errorLogInfo("", TAG, e);
-                    return false;
-                }
-
-                if(Get_Light_info == null)
-                {
-                    return false;
-                }
-                if(Get_Light_info[0] == 0)
-                {
-                    Log.w(TAG, "[SetLivingLightDelayedBlink] LivingLight Not Setting !!!");
-                    return false;
-                }
-                LivingLightType = Get_Light_info[1];
-                switch(LivingLightType)
-                {
-                    case WallpadDeviceSet.LIGHT_TYPE_LIVING:
-                        break;
-                    case WallpadDeviceSet.LIGHT_TYPE_ROOM:
-                        break;
-                    default:
-                        Log.w(TAG, "[SetLivingLightDelayedBlink] Get_Light_info[1] Type Out Of Range !!!");
-                        return false;
-                }
-
-            }
-            catch (RuntimeException re) {
-                LogUtil.errorLogInfo("", TAG, re);
-                return false;
-            }
-            catch (Exception e)
-            {
-                Log.e(TAG, "[SetLivingLightDelayedBlink] Exception Error(Get DB)");
-                //e.printStackTrace();
-                LogUtil.errorLogInfo("", TAG, e);
-                return false;
-            }
-
-            // 3. 동작
-            mLivingLightDelayedBlink = new LivingLightDelayedBlink(LivingLightType, Count, DelayMs);
-
-            return true;
-        }
-        else if(mModelType == Version.MODEL_TYPE.IHN_1020SA_A)
-        {
-
-        }
-        else if(mModelType == Version.MODEL_TYPE.IHN_750)
-        {
-
-        }
-
-        Log.w(TAG, "[SetLivingLightDelayedBlink] Not Support Model : " + Version.getModelType());
-        return false;
-    }
-
-    /**
-     * 거실 조명 반복 Blink 동작 관련 Class
-     */
-    private class LivingLightDelayedBlink
-    {
-        private final int STOP  = 0;
-        private final int START = 1;
-        private final int ING   = 2;
-
-        private boolean Run;
-        private boolean FirstLightStatus;
-        private boolean LightStatus;
-        private int RunCount;
-        private int BlinkCount;
-        private long BlinkDelayMs;
-        private Handler BlinkHandler;
-
-        private LightAPI lightAPI;
-        private MultiSwitchAPI multiSwitchAPI;
-
-        private LivingLightDelayedBlink(int nLightType, int nCount, long nDelayMs)
-        {
-            Run = false;
-            FirstLightStatus = false;
-            LightStatus = false;
-            RunCount = 0;
-            BlinkCount = nCount;
-            BlinkDelayMs = nDelayMs;
-
-            LoadingDriver(nLightType);
-
-            BlinkHandler = new Handler()
-            {
-                @SuppressLint("HandlerLeak")
-                public void handleMessage(Message msg)
-                {
-                    boolean bRet = false;
-                    switch(msg.what)
-                    {
-                        case STOP:
-                            if(getLight() != FirstLightStatus)
-                            {
-                                setLight(FirstLightStatus);
-                            }
-                            Run = false;
-                            break;
-
-                        case START:
-                            Run = true;
-                            FirstLightStatus = getLight();
-                            LightStatus = FirstLightStatus;
-
-                            Log.i(TAG, "[LivingLightDelayedBlink] START - FirstLightStatus : " + FirstLightStatus);
-
-                            if(LightStatus) { LightStatus = false; } else { LightStatus = true; }
-
-                            bRet = setLight(LightStatus);
-                            Log.i(TAG, "LivingLightDelayedBlink] START - setLight:" + bRet);
-                            RunCount++;
-                            if(BlinkCount > 1)
-                            {
-                                this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
-                            }
-                            else
-                            {
-                                this.sendEmptyMessageDelayed(STOP, BlinkDelayMs);
-                            }
-                            break;
-
-                        case ING:
-                            if(LightStatus) { LightStatus = false; } else { LightStatus = true; }
-
-                            Log.i(TAG, "[LivingLightDelayedBlink] ING - LightStatus : " + LightStatus);
-
-                            bRet = setLight(LightStatus);
-                            Log.i(TAG, "LivingLightDelayedBlink] ING - setLight:" + bRet + ", RunCount : " + RunCount);
-
-                            if(FirstLightStatus != LightStatus)
-                            {
-                                RunCount++;
-                                if(RunCount >= BlinkCount)
-                                {
-                                    this.sendEmptyMessageDelayed(STOP, BlinkDelayMs);
-                                }
-                                else
-                                {
-                                    this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
-                                }
-                            }
-                            else
-                            {
-                                this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
-                            }
-                            break;
-                    }
-                }
-            };
-
-            BlinkHandler.sendEmptyMessage(START);
-        }
-
-        /**
-         * 동작상태를 반환한다.
-         *
-         * @return (boolean) true:동작중, false:정지
-         */
-        public boolean isRun() { return Run; }
-
-        /**
-         * LightType 값에 따라 조명 드라이버를 로딩한다.
-         *
-         * @param LightType - (int) 조명타입
-         */
-        private void LoadingDriver(int LightType)
-        {
-            lightAPI = null;
-            multiSwitchAPI = null;
-            switch(LightType)
-            {
-                case WallpadDeviceSet.LIGHT_TYPE_LIVING:
-                    lightAPI = Get_LightController();
-                    break;
-                case WallpadDeviceSet.LIGHT_TYPE_ROOM:
-                    multiSwitchAPI = Get_MultiSwitchController();
-                    break;
-                default:
-                    Log.w(TAG, "LoadingDriver - Param : LightType Out Of Range !!!(LightType:" + LightType);
-                    break;
-            }
-        }
-
-        /**
-         * 조명을 ON/OFF 한다.
-         *
-         * @param OnOff - (boolean)
-         *
-         * @return (boolean) 결과 - true:정상, false:실패
-         */
-        private boolean setLight(boolean OnOff)
-        {
-            if(lightAPI != null)
-            {
-                int ret = lightAPI.SetLightOnOff(define.DEVICE_ALL_OR_NOTHING, OnOff);
-                if(ret >= 0) return true;
-                return false;
-            }
-            else if(multiSwitchAPI != null)
-            {
-                int ret = multiSwitchAPI.SetLightOnOff((byte)0, define.DEVICE_ALL_OR_NOTHING, OnOff);
-                if(ret >= 0) return true;
-                return false;
-            }
-            return false;
-        }
-
-        /**
-         * 조명 상태를 반환한다.
-         *
-         * @return (boolean) true : 켜짐, false : 꺼짐
-         */
-        private boolean getLight()
-        {
-            if(lightAPI != null)
-            {
-                lightAPI.Refresh(false);
-                for(int i=0 ; i<lightAPI.data.LightCount ; i++)
-                {
-                    if(lightAPI.data.OnOff[i]) return true;
-                }
-                return false;
-            }
-            else if(multiSwitchAPI != null)
-            {
-                multiSwitchAPI.Refresh((byte)0, false);
-
-                if(multiSwitchAPI.data.DeviceCnt == 0) return false;
-                if(multiSwitchAPI.data.Device == null) return false;
-
-                for(int i=0 ; i<multiSwitchAPI.data.Device[0].device.hLightCnt ; i++)
-                {
-                    if(multiSwitchAPI.data.Device[0].device.getLightPower(i)) return true;
-                }
-                return false;
-            }
-            return false;
-        }
-    }
-    private LivingLightDelayedBlink mLivingLightDelayedBlink = null;
-
-    /**
-     * 제어시 사용되는 SendCMD 및 Return Value Check 의 공통부분 메소드이다.<br>
-     * 결과는 int 로 성공여부만 확인된다.
-     *
-     * @param MainCMD - (String) 전송할 메인 명령어 (define.APICMD_SINKCTRL  or  define.APICMD_NOSINKCTRL)
-     * @param SubCMD  - (String) 드라이버에서 구분되는 서브 명령어
-     * @param param1   - (int) 첫번째 파라미터
-     * @param param2   - (int) 두번째 파라미터
-     * @param param3   - (int) 세번째 파라미터
-     * @param param4   - (int) 네번째 파라미터
-     * @param param5   - (int) 다섯번째 파라미터
-     *
-     * @return (int) - >=0 : 성공, <0 : 실패
-     */
-    protected int SendNReadCMD_int(String TitleStr,
-                                   String MainCMD,
-                                   String SubCMD,
-                                   int param1, int param2, int param3, int param4, int param5)
-    {
-        if(MainCMD == null) return -1;
-        if(SubCMD == null) return -2;
-
-        String CmdStr = String.format("%s;%s;%s:%d:%d:%d:%d:%d", TitleStr, MainCMD, SubCMD, param1, param2, param3, param4, param5);
-        try
-        {
-            // 1. Send Command
-            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd " + CmdStr);
-            String ret = SendCMD(CmdStr);
-            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd ret : " + ret);
-            String[] retlist = ret.split(";");
-
-            // 2. Return Value Check
-            if(retlist == null) return APIErrorCode.RETURNERROR;
-
-            if (retlist[0].equals("SUCCESS"))
-            {
-                if(retlist.length == 1) return APIErrorCode.C_SUCCESS;
-                else return Integer.parseInt(retlist[1]);
-            }
-            else
-            {
-                if(retlist.length >= 2)
-                {
-                    //ErrorCode.Set_Error_Code(Integer.parseInt(retlist[1]));
-                    return Integer.parseInt(retlist[1]);
-                }
-                else
-                {
-                    Log.e("WallPadDevAPI", "[SendNReadCMD_int] Error : " + retlist[0]);
-                    return APIErrorCode.RETURNERROR;
-                }
-            }
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return -1;
-		}
-		catch (Exception e)
-        {
-            Log.e("WallPadDevAPI", "[SendNReadCMD_int] Exception Error - (" + CmdStr + ")");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return -1;
-        }
-    }
-
-    /**
-     * 상태조회시 사용되는 SendCMD 및 Return Value Check 의 공통부분 메소드이다.<br>
-     * 결과는 String 로 확인된다.
-     *
-     * @param MainCMD - (String) 전송할 메인 명령어 (define.APICMD_SINKCTRL  or  define.APICMD_NOSINKCTRL)
-     * @param SubCMD  - (String) 드라이버에서 구분되는 서브 명령어
-     * @param param1   - (int) 첫번째 파라미터
-     * @param param2   - (int) 두번째 파라미터
-     * @param param3   - (int) 세번째 파라미터
-     * @param param4   - (int) 네번째 파라미터
-     * @param param5   - (int) 다섯번째 파라미터
-     *
-     * @return (String) - 결과
-     */
-    protected String SendNReadCMD_str(String TitleStr, String MainCMD,
-                                      String SubCMD,
-                                      int param1, int param2, int param3, int param4, int param5)
-    {
-        String CmdStr = String.format("%s;%s;%s:%d:%d:%d:%d:%d", TitleStr, MainCMD, SubCMD, param1, param2, param3, param4, param5);
-        try
-        {
-            // 1. Send Command
-            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd " + CmdStr);
-            String ret = SendCMD(CmdStr);
-            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd ret : " + ret);
-            return ret;
-        }
-        catch (RuntimeException re) {
-			LogUtil.errorLogInfo("", TAG, re);
-            return null;
-		}
-		catch (Exception e)
-        {
-            Log.e("WallPadDevAPI", "[SendNReadCMD_str] Exception Error - (" + CmdStr + ")");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return null;
-        }
-    }
-
-    /**
-     * AIDL 으로 DeviceService 와 명령을 전달후 응답 받는다.
-     *
-     * @param CMD - (String) 전달할 명령어
-     *
-     * @return (String) 응답 결과
-     */
-    private String SendCMD(String CMD)
-    {
-        String ret;
-        Log.d("AIDLTEST","Enter SendCMD " + CMD );
-
-        try {
-            Log.i("AIDLTEST", " before call AIDL ["+CMD+"] "+SvcCon.devctrcmd);
-            if (SvcCon.devctrcmd == null) return "FAIL;"+ APIErrorCode.DEVCTRNULL;
-            ret = SvcCon.devctrcmd.Control_Device(CMD);
-        }
-        catch (RemoteException e)
-        {
-            Log.e("AIDLTEST","Catch Exception Afer Send Data to Service");
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
-            return "EXCEPTION";
-        }
-        return ret;
-    }
-
-    /***
-     * 알림정보를 인텐트에 담아 broadcast한다.<br>
-     * 스마트스위치-알림정보
-     *
-     * @param ctx    - 호출 class의 Context
-     * @param action - intent filter action 지정
-     * @param extra  - intent extra 지정
-     * @param count  - extra value 지정
-     *
-     */
-    public void BroadcastNotiCount(Context ctx, String action, String extra, int count)
-    {
-        Intent intentBR = new Intent();
-        intentBR.setAction(action);
-        intentBR.putExtra(extra, count);
-
-        ctx.sendBroadcast(intentBR);
-    }
-}
+package com.artncore.wallpadapi;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.os.RemoteException;
+import android.util.Log;
+
+import com.artncore.WallPadDataMgr.WallpadDeviceSet;
+import com.artncore.WallPadDataMgr.WallpadStatusData;
+import com.artncore.commons.APIErrorCode;
+import com.artncore.commons.DataClasses.HeatingV2;
+import com.artncore.commons.KNX_DataClasses;
+import com.artncore.commons.Sdb_DataClasses;
+import com.artncore.commons.define;
+import com.util.LogUtil;
+
+import kr.co.icontrols.wallpadsupport.Version;
+
+
+public class WallPadAPI {
+    private final static String TAG = "WallPadAPI";
+
+    public ServiceConnect SvcCon;
+
+    private Context mContext;
+
+    private int mModelType = Version.getModelType();
+
+    private static boolean mHDCIntLightType = false;
+
+    /**
+     * 현산 일체형 조명제어기 타입을 반환한다.
+     *
+     * @return - (boolean) (true:신규 일괄소등병합형 , false:기존)
+     */
+    public static boolean Get_HDCIntLightType() { return mHDCIntLightType; }
+
+    /**
+     * 생성자
+     *
+     * @param ctx - Context
+     */
+    public WallPadAPI(Context ctx) {
+        SvcCon = new ServiceConnect(ctx);
+        mContext = ctx;
+        getHDCIntLightType(ctx);
+    }
+
+    /**
+     * 현산향 월패드의 게이트웨이 종류를 반환한다.
+     * 반환값은 Version.GATEWAY_MODEL 참고
+     */
+    public int getGatewayType() {
+        try {
+            WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(mContext);
+            int nGWType = mWallpadDeviceSet.GetGatewayModelKindInfo();
+            mWallpadDeviceSet.closeDB();
+            return nGWType;
+        } catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+			return -100;
+		}
+		catch (Exception e) {
+            Log.e(TAG, "[Exception] getGatewayType()");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -100;
+        }
+    }
+
+    /**
+     * 현산 일체형 조명제어기 타입을 업데이트한다.
+     *
+     * @param ctx - Context
+     */
+    private void getHDCIntLightType(Context ctx) {
+        try {
+            if (!Version.getGatewayUsage()) return;   // G/W 사용하면 현산향 월패드
+
+            mHDCIntLightType = false;
+
+            WallpadDeviceSet devset = new WallpadDeviceSet(ctx);
+            int setdata[] = devset.Get_Light_info();
+            devset.closeDB();
+
+            if (setdata == null) return;
+            if (setdata.length < 2) return;
+            if (setdata[0] != 1) return;
+            if (setdata[1] == WallpadDeviceSet.LIGHT_TYPE_HDC_INTLIGHT_NORMAL) mHDCIntLightType = false;
+            else if (setdata[1] == WallpadDeviceSet.LIGHT_TYPE_HDC_INTLIGHT_ADD_BATCHLIGHT) mHDCIntLightType = true;
+        } catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+		}
+		catch (Exception e) {
+            Log.e(TAG, "[Exception] getHDCIntLightType(Context ctx)");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+    }
+
+    /**
+     * WallPadDevService 에 현관폰 사용여부를 전달한다.<br>
+     *
+     * @param OnOff - (boolean) true : ON 사용중 ,  false : OFF 사용종료
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetDevService_DoorCamUseOnOff(boolean OnOff)
+    {
+        //if(mModelType == Version.MODEL_TYPE.IHN_1020GL) return -100;
+
+        try
+        {
+            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
+            int[] setdata = devset.Get_RFDoorCAM_Info();
+            devset.closeDB();
+
+            boolean bSet = false;
+            if ((setdata[0] == 1) && (setdata[1] == WallpadDeviceSet.DOORTYPE_RFCAM))
+            {
+                bSet = true;
+            }
+
+            if(bSet)
+            {
+                RFDoorCamAPI rFDoorCamAPI = Get_RFDoorCamController();
+                if(rFDoorCamAPI == null)
+                {
+                    Log.w(TAG, "[SetDevService_DoorCamUseOnOff] Get_RFDoorCamController  is  null !!!");
+                    return APIErrorCode.DEVCTRNULL;
+                }
+                int ret = rFDoorCamAPI.SetDoorCamUseOnOff(OnOff);
+                Log.d(TAG, "[SetDevService_DoorCamUseOnOff] OnOff : " + OnOff + ", ret : " + ret);
+                return ret;
+            }
+
+            return APIErrorCode.NOT_SUPPORT;
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return APIErrorCode.EXCEPTION;
+		}
+		catch (Exception e)
+        {
+            Log.e(TAG, "[Exception Error] SetDevService_DoorCamUseOnOff");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return APIErrorCode.EXCEPTION;
+        }
+    }
+
+    /**
+     * 일괄소등 상태를 제어한다.<br>
+     * 일괄소등제어기는 각 모델별 (스마트스위치, 일괄소등제어기(대외), 현산일괄릴레이, 현산일체형조명제어기)등<br>
+     * 을 구분하여 제어한다.<br>
+     *
+     * @param onoff - (boolean) 제어할 일괄소등 상태 (true:일괄소등해제 , false:일괄소등)
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetBatchSwitchStatus(boolean onoff) {
+        try {
+            if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
+                    || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I)
+            {
+                // DC 분전반 사용 (DC 조명)
+                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
+                int nDPType = wds.Get_DistributionPannelType_Info();
+                wds.closeDB();
+                Log.d(TAG, "[SetBatchSwitchStatus] nDPType [" + nDPType + "]");
+
+                int ret = -1;
+                if (nDPType == Version.DISTRIBUTION_MODEL.SMART_DIST) {
+                    // 스마트 분전반
+                    SdbAPI sdbAPI = Get_SdbController();
+                    if(sdbAPI == null) return -1;
+                    ret = sdbAPI.AllLightOnOff(onoff);
+                }
+                else if (nDPType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
+                    // KNX 분전반
+                    KnxAPI knxAPI = Get_KnxController();
+                    if(knxAPI == null) return -1;
+                    ret = knxAPI.AllLightOnOff(onoff);
+                }
+                else {
+                    // 그밖의 경우, 스마트분전반을 기본으로 로딩.
+                    SdbAPI sdbAPI = Get_SdbController();
+                    if(sdbAPI == null) return -1;
+                    ret = sdbAPI.AllLightOnOff(onoff);
+                }
+
+                return ret;
+            }
+            else if (mModelType == Version.MODEL_TYPE.IHN_1020GL
+                    || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I) {
+                // AC 분전반 사용 (AC 조명)
+                if (!Get_HDCIntLightType()) {
+                    // 0:일괄소등 릴레이
+                    AllLightHDCAPI allLightHDCAPI = Get_AllLightHDCController();
+                    if (allLightHDCAPI == null) return -1;
+                    int ret = allLightHDCAPI.AllLightControl(onoff);
+                    return ret;
+                }
+                else {
+                    IntLightAPI intLightAPI = Get_IntLightController();
+                    if (intLightAPI == null) return -1;
+                    int ret = intLightAPI.AllLightControl(onoff);
+                    return ret;
+                }
+            }
+            else {
+                WallpadDeviceSet devSet = new WallpadDeviceSet(mContext);
+                int[] batchinfo = devSet.Get_BatchSW_Info();
+                devSet.closeDB();
+
+                if (batchinfo[0] == 0) return -1;
+                if (batchinfo[1] ==  WallpadDeviceSet.BATCH_TYPE_GENERAL) {
+                    AllLightAPI allLightAPI = Get_AllLightController();
+                    if (allLightAPI == null) return -2;
+                    return allLightAPI.SetAllLightOnOff(onoff);
+                }
+                else if (batchinfo[1] == WallpadDeviceSet.BATCH_TYPE_SMART) {
+                    SmartSwitchPolAPI smartSwitchPolAPI = Get_SmartSwitchPolController();
+                    if (smartSwitchPolAPI == null) return -2;
+                    return smartSwitchPolAPI.SetAllLightOnOff(onoff);
+                }
+                else return -3;
+            }
+        } catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return -100;
+		}
+		catch (Exception e) {
+            Log.e(TAG, "[Exception] SetBatchSwitchStatus(boolean onoff)");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -100;
+        }
+    }
+
+    /**
+     * 일괄소등 상태를 가져온다.<br>
+     * 일괄소등제어기는 각 모델별 (스마트스위치, 일괄소등제어기(대외), 현산일괄릴레이, 현산일체형조명제어기)등<br>
+     * 을 구분하여 반환한다.<br>
+     *
+     * @return (int) 일괄소등 상태 (0:일괄소등중 , 1:일괄소등해제 , 그외 에러)
+     */
+    public int GetBatchSwitchStatus() {
+        int ret = -100;
+        try {
+            if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
+                    || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I)
+            {
+                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
+                int nDPType = wds.Get_DistributionPannelType_Info();
+                wds.closeDB();
+                Log.d(TAG, "[GetBatchSwitchStatus] nDPType [" + nDPType + "]");
+
+                if (nDPType == Version.DISTRIBUTION_MODEL.SMART_DIST) {
+                    // 스마트 분전반
+                    SdbAPI sdbAPI = Get_SdbController();
+                    if(sdbAPI == null) return -1;
+                    ret = sdbAPI.Refresh(SdbAPI.DEVICE_INDEX.ENERGY_CONT, define.DEVICE_ALL_OR_NOTHING);
+                    if(ret < 0) return -2;
+
+                    if(sdbAPI.data.EnergyController.Data.BatchOffStatus == Sdb_DataClasses.BATCHOFF_STATUS.SET) return 0;
+                    else return 1;
+                }
+                else if (nDPType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
+                    // KNX 분전반
+                    KnxAPI knxAPI = Get_KnxController();
+                    if(knxAPI == null) return -1;
+                    ret = knxAPI.Refresh(KnxAPI.DEVICE_INDEX.MASTER_CONT, define.DEVICE_ALL_OR_NOTHING);
+                    if(ret < 0) return -2;
+
+                    if(knxAPI.data.MasterController.Data.BatchOffStatus == KNX_DataClasses.BATCHOFF_STATUS.SET) return 0;
+                    else return 1;
+                }
+                else {
+                    // 그밖의 경우, 스마트분전반을 기본으로 로딩.
+                    SdbAPI sdbAPI = Get_SdbController();
+                    if(sdbAPI == null) return -1;
+                    ret = sdbAPI.Refresh(SdbAPI.DEVICE_INDEX.ENERGY_CONT, define.DEVICE_ALL_OR_NOTHING);
+                    if(ret < 0) return -2;
+
+                    if(sdbAPI.data.EnergyController.Data.BatchOffStatus == Sdb_DataClasses.BATCHOFF_STATUS.SET) return 0;
+                    else return 1;
+                }
+            }
+            else if (mModelType == Version.MODEL_TYPE.IHN_1020GL
+                    || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I) {
+                if (!Get_HDCIntLightType()) {
+                    // 0:일괄소등 릴레이
+                    AllLightHDCAPI allLightHDCAPI = Get_AllLightHDCController();
+                    if (allLightHDCAPI == null) return -1;
+                    if (allLightHDCAPI.data.AllLightStatus) ret = 1;
+                    else ret = 0;
+                }
+                else {
+                    IntLightAPI intLightAPI = Get_IntLightController();
+                    if (intLightAPI == null) return -1;
+                    if (intLightAPI.Refresh(false) < 0) return -2;
+                    if (intLightAPI.data.AllLightStatus) ret = 1;
+                    else ret = 0;
+                }
+            }
+            else {
+                WallpadDeviceSet devSet = new WallpadDeviceSet(mContext);
+                int[] batchinfo = devSet.Get_BatchSW_Info();
+                devSet.closeDB();
+                if (batchinfo[0] == 0) return -1;
+                if (batchinfo[1] ==  WallpadDeviceSet.BATCH_TYPE_GENERAL) {
+                    AllLightAPI allLightAPI = Get_AllLightController();
+                    if (allLightAPI == null) return -1;
+
+                    if (allLightAPI.Refresh(false) == 0) {
+                        if (allLightAPI.data.AllLightOnOff) ret = 1;
+                        else ret = 0;
+                    }
+                    else return -2;
+                }
+                else if (batchinfo[1] == WallpadDeviceSet.BATCH_TYPE_SMART) {
+                    SmartSwitchPolAPI smartSwitchPolAPI = Get_SmartSwitchPolController();
+                    if (smartSwitchPolAPI == null) return -1;
+
+                    if (smartSwitchPolAPI.Refresh(false) == 0) {
+                        if (smartSwitchPolAPI.data.AllLightOnOff) ret = 1;
+                        else ret = 0;
+                    }
+                    else return -2;
+                }
+            }
+        } catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return -100;
+		}
+		catch (Exception e) {
+            Log.e(TAG, "[Exception] GetBatchSwitchStatus()");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -100;
+        }
+        return ret;
+    }
+
+    /**
+     * WallPadDevService 와 바인딩 연결 여부를 확인한다.
+     *
+     * @return - (boolean) true:연결됨,  false:연결되지않음
+     */
+    public boolean Check_Connect()
+    {
+        return (SvcCon.devctrcmd == null)?false:true;
+    }
+
+    /**
+     * onPause() 에서 호출한다.
+     */
+    public void Pause()
+    {
+        SvcCon.Pause();
+    }
+
+    /**
+     * onResume() 에서 호출한다.
+     */
+    public void Resume()
+    {
+        SvcCon.Resume();
+    }
+
+
+    /**
+     * 도어락 문열림</br>
+     * (※ 도어락의 종류에 상관없이 문열림을 한다.  유선/무선)
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetDoorLock_Open() {
+        ////////////////////////////////////////////////////////////////
+        // 1. 현산 모델처리
+        ////////////////////////////////////////////////////////////////
+        if (Version.getGatewayUsage()) {
+            // 1. 도어락 설정 체크
+            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
+            int[] Doorinfo = devset.Get_DoorLock_Info();
+            devset.closeDB();
+
+            if (Doorinfo == null) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo - null");
+                return -101;
+            }
+
+            if (Doorinfo.length < 2) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo length Error - Len:" + Doorinfo.length);
+                return -102;
+            }
+
+            if (Doorinfo[0] == 0) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo UnUsed !!!");
+                return -103;
+            }
+
+            // 2. 도어락 타입별 제어
+            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_NORMAL) {
+                // 2.1. 유선도어락 제어
+                DLockAPI dLockAPI = null;
+                dLockAPI = Get_DLockController();
+
+                if (dLockAPI == null) {
+                    Log.w(TAG, "[SetDoorLock_Open] dLockAPI - null");
+                    return -104;
+                }
+
+                int ret = dLockAPI.SetDoorOpen();
+                if (ret < 0) {
+                    Log.e(TAG, "[SetDoorLock_Open] dLockAPI.SetDoorOpen()  Error (" + ret + ")   ErrorCode = " + dLockAPI.ErrorCode.ErrStr());
+                    return ret;
+                }
+            }
+            else if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
+                // 2.2. 무선도어락 제어
+                if (mModelType == Version.MODEL_TYPE.IHN_1020GL) {
+                    IGW200dAPI iGW200dAPI = null;
+                    iGW200dAPI = Get_IGW200dController();
+                    if (iGW200dAPI == null) {
+                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW200dController - null");
+                        return -105;
+                    }
+
+                    int ret = iGW200dAPI.SetWddrCont(true);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_Open] iGW200dAPI.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+                else if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
+                        || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I
+                        || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I)
+                {
+                    IGW300API iGW300API = null;
+                    iGW300API = Get_IGW300Controller();
+                    if (iGW300API == null) {
+                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW300dController - null");
+                        return -106;
+                    }
+
+                    int ret = iGW300API.SetWddrCont(true);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_Open] iGW300API.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+            }
+            else
+            {
+                Log.e(TAG, "[SetDoorLock_Open] DoorLock Type Error (Type:" + Doorinfo[1] +")");
+                return -107;
+            }
+        }
+        ////////////////////////////////////////////////////////////////
+        // 현산모델 외
+        ////////////////////////////////////////////////////////////////
+        else {
+            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
+            int[] DoorCamType = devset.Get_RFDoorCAM_Info();
+
+            if (DoorCamType[1] == WallpadDeviceSet.DOORTYPE_UKS) {
+                UksAPI mUksAPI = Get_UksController();
+                if(mUksAPI!=null)
+                {
+                    int nResult = mUksAPI.SetDoorOpen();
+                    Log.i(TAG, "[SetDoorLock_Open] UKS nResult [" + nResult + "]");
+
+                    if (0 <= nResult) {
+                        Log.i(TAG, "[SetDoorLock_Open] UKS Door open success!!");
+                        return nResult;
+                    }
+                    else {
+                        Log.w(TAG, "[SetDoorLock_Open] UKS Door open fail!!");
+                        return -107;
+                    }
+                }
+
+            }
+            else {
+                // 1. 무선도어락 제어
+                int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR + define.DEVCTR_CMD_SPLITER + define.APICMD_RFDOORLOCKCTR + define.DEVCTR_CMD_SPLITER + 1);
+                if (ret < 0) {
+                    Log.e(TAG, "[SetDoorLock_Open] mModelType = Other  Error (ret:" + ret + ")");
+                    return ret;
+                }
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * 도어락 문열림</br>
+     * (※ RF카메라 사용 시 + 외출모드 해제 시 문열림을 위해서 사용)
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetDoorLock_Open_ForRFCamera() {
+        ////////////////////////////////////////////////////////////////
+        // 1. 현산 모델처리
+        ////////////////////////////////////////////////////////////////
+        if (Version.getGatewayUsage()) {
+            // 1. 도어락 설정 체크
+            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
+            int[] Doorinfo = devset.Get_DoorLock_Info();
+            devset.closeDB();
+
+            if (Doorinfo == null) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo - null");
+                return -101;
+            }
+
+            if (Doorinfo.length < 2) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo length Error - Len:" + Doorinfo.length);
+                return -102;
+            }
+
+            if (Doorinfo[0] == 0) {
+                Log.w(TAG, "[SetDoorLock_Open] Doorinfo UnUsed !!!");
+                return -103;
+            }
+
+            // 2. 도어락 타입별 제어
+            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_NORMAL) {
+                //nothing to do
+            }
+            else if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
+                // 2.2. 무선도어락 제어
+                if (mModelType == Version.MODEL_TYPE.IHN_1020GL) {
+                    IGW200dAPI iGW200dAPI = null;
+                    iGW200dAPI = Get_IGW200dController();
+                    if (iGW200dAPI == null) {
+                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW200dController - null");
+                        return -105;
+                    }
+
+                    int ret = iGW200dAPI.SetWddrCont(true);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_Open] iGW200dAPI.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+                else if (mModelType == Version.MODEL_TYPE.IHN_D101 || mModelType == Version.MODEL_TYPE.IHN_D101_I
+                        || mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I
+                        || mModelType == Version.MODEL_TYPE.IHN_1010GL || mModelType == Version.MODEL_TYPE.IHN_1010GL_I)
+                {
+                    IGW300API iGW300API = null;
+                    iGW300API = Get_IGW300Controller();
+                    if (iGW300API == null) {
+                        Log.w(TAG, "[SetDoorLock_Open] Get_IGW300Controller - null");
+                        return -106;
+                    }
+
+                    int ret = iGW300API.SetWddrCont(true);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_Open] iGW300API.SetWddrCont(true)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+            }
+            else
+            {
+                Log.e(TAG, "[SetDoorLock_Open] DoorLock Type Error (Type:" + Doorinfo[1] +")");
+                return -107;
+            }
+        }
+        ////////////////////////////////////////////////////////////////
+        // 현산모델 외
+        ////////////////////////////////////////////////////////////////
+        else
+        {
+            // 1. 무선도어락 제어
+            int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR +
+                    define.DEVCTR_CMD_SPLITER +
+                    define.APICMD_RFDOORLOCKCTR +
+                    define.DEVCTR_CMD_SPLITER +
+                    1);
+            if(ret < 0)
+            {
+                Log.e(TAG, "[SetDoorLock_Open] mModelType = Other  Error (ret:" + ret + ")");
+                return ret;
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * 도어락 등록
+     * (※ 오직 무선도어락인 경우에만 해당된다.)
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetDoorLock_RfReg() {
+        ////////////////////////////////////////////////////////////////
+        // 1. 현산 모델처리
+        ////////////////////////////////////////////////////////////////
+        if (Version.getGatewayUsage()) {
+            // 1. 도어락 설정 체크
+            WallpadDeviceSet devset = new WallpadDeviceSet(mContext);
+            int[] Doorinfo = devset.Get_DoorLock_Info();
+            devset.closeDB();
+            if (Doorinfo == null) {
+                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo - null");
+                return -101;
+            }
+
+            if (Doorinfo.length < 2) {
+                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo length Error - Len:" + Doorinfo.length);
+                return -102;
+            }
+
+            if (Doorinfo[0] == 0) {
+                Log.w(TAG, "[SetDoorLock_RfReg] Doorinfo UnUsed !!!");
+                return -103;
+            }
+
+            // 2. 도어락 타입별 제어
+            if (Doorinfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_RF) {
+                if (getGatewayType() == Version.GATEWAY_MODEL.IGW_200) {
+                    // 2.2. 무선도어락 제어
+                    IGW200dAPI iGW200dAPI = null;
+                    iGW200dAPI = Get_IGW200dController();
+                    if (iGW200dAPI == null) {
+                        Log.w(TAG, "[SetDoorLock_RfReg] Get_IGW200dController - null");
+                        return -104;
+                    }
+
+                    int ret = iGW200dAPI.SetWddrCont(false);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_RfReg] iGW200dAPI.SetWddrCont(false)  Error (" + ret + ")   ErrorCode = " + iGW200dAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+                else if (getGatewayType() == Version.GATEWAY_MODEL.IGW_300) {
+                    // 2.2. 무선도어락 제어
+                    IGW300API iGW300API = null;
+                    iGW300API = Get_IGW300Controller();
+                    if (iGW300API == null) {
+                        Log.w(TAG, "[SetDoorLock_RfReg] Get_IGW300Controller - null");
+                        return -105;
+                    }
+
+                    int ret = iGW300API.SetWddrCont(false);
+                    if (ret < 0) {
+                        Log.e(TAG, "[SetDoorLock_RfReg] iGW300API.SetWddrCont(false)  Error (" + ret + ")   ErrorCode = " + iGW300API.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+                else {
+                    Log.w(TAG, "[SetDoorLock_RfReg] Not supported gateway type -> " + getGatewayType());
+                }
+            }
+            else {
+                Log.e(TAG, "[SetDoorLock_RfReg] DoorLock Type Error (Type:" + Doorinfo[1] +")");
+                return -106;
+            }
+        }
+        ////////////////////////////////////////////////////////////////
+        // 현산모델 외
+        ////////////////////////////////////////////////////////////////
+        else {
+            // 1. 무선도어락 등록
+            int ret = DeviceIOControl(define.DRIVER_TITLE_DEVIOCTR +
+                    define.DEVCTR_CMD_SPLITER +
+                    define.APICMD_RFDOORLOCKCTR +
+                    define.DEVCTR_CMD_SPLITER +
+                    0);
+            if (ret < 0) {
+                Log.e(TAG, "[SetDoorLock_RfReg] mModelType = Other  Error (ret:" + ret + ")");
+                return ret;
+            }
+        }
+        return 0;
+    }
+
+    private int DeviceIOControl(String cmd)
+    {
+        try
+        {
+            if (SvcCon.devctrcmd == null) return -1;
+            SvcCon.devctrcmd.Control_Device(cmd);
+        }
+        catch (RemoteException e)
+        {
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -1;
+        }
+        return 0;
+    }
+
+    private void sendBRRFDoorlockOpen() {
+        try {
+            Intent mIntent = new Intent();
+            mIntent.setAction(define.NOTIFY_ACNAME);
+            mIntent.putExtra(define.NOTIBR_KIND,define.NOTIFY_RFDOORLOCK_OPEN);
+            mContext.sendBroadcast(mIntent);
+        } catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+		}
+		catch (Exception e) {
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+    }
+
+    //madeinlab++
+    /**
+     * 청정환기 API 를 가져온다
+     *
+     * @return - (SystemAirconAPI) 에어컨제어기 API
+     */
+    public PurityAPI Get_PurityController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new PurityAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 에어컨 API 를 가져온다
+     *
+     * @return - (SystemAirconAPI) 에어컨제어기 API
+     */
+    public SystemAirconAPI Get_AirconController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new SystemAirconAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 전동루버 API 를 가져온다
+     *
+     * @return - (LouverAPI) 전동루버 API
+     */
+    public LouverAPI Get_LouverController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new LouverAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 환기제어기 API 를 가져온다
+     *
+     * @return - (VentiAPI) 환기제어기 API
+     */
+    public VentiAPI Get_VentiController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new VentiAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * Knx 환기제어기 API 를 가져온다
+     *
+     * @return - (VentiAPI) 환기제어기 API
+     */
+    public KnxVentiAPI Get_KnxVentiController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new KnxVentiAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 가스제어기 API 를 가져온다
+     *
+     * @return - (GasAPI) 가스제어기 API
+     */
+    public GasAPI Get_GasController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new GasAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 대외향 거실조명제어기 API 를 가져온다
+     *
+     * @return - (LightAPI) 대외향 거실조명제어기 API
+     */
+    public LightAPI Get_LightController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new LightAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 대외향 일괄소등제어기 API 를 가져온다
+     *
+     * @return - (AllLightAPI) 대외향 일괄소등제어기 API
+     */
+    public AllLightAPI Get_AllLightController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new AllLightAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * PhonNRemocon API 를 가져온다
+     *
+     * @return - (PhonNRemocon) PhonNRemocon API
+     */
+    public PhonNRemocon Get_PhonNRemoconController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new PhonNRemocon(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 멀티스위치 API 를 가져온다
+     *
+     * @return - (MultiSwitchAPI) 멀티스위치 API
+     */
+    public MultiSwitchAPI Get_MultiSwitchController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new MultiSwitchAPI(SvcCon.devctrcmd);
+    }
+
+    public CooktopAPI Get_CookTopController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new CooktopAPI(SvcCon.devctrcmd);
+    }
+
+    public CurtainAPI Get_CurTainController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new CurtainAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * RF 도어카메라 API 를 가져온다
+     *
+     * @return - (RfDoorCamAPI) RF 도어카메라 API
+     */
+    public RFDoorCamAPI Get_RFDoorCamController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new RFDoorCamAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 실시간검침기 API 를 가져온다
+     *
+     * @return - (RealTimeMeterAPI) 실시간검침기 API
+     */
+    public RealTimeMeterAPI Get_RealTimeMeterController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new RealTimeMeterAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * IGW200D 게이트웨이 API 를 가져온다
+     *
+     * @return - (IGW200dAPI) 게이트웨이 API
+     */
+    public IGW200dAPI Get_IGW200dController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new IGW200dAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * IGW300 게이트웨이 API 를 가져온다
+     *
+     * @return - (IGW300API) 게이트웨이 API
+     */
+    public IGW300API Get_IGW300Controller()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new IGW300API(SvcCon.devctrcmd);
+    }
+
+    /**
+     * IntLight 일체형조명제어기API 를 가져온다.
+     *
+     * @return - (IntLightAPI) 일체형조명제어기API
+     */
+    public IntLightAPI Get_IntLightController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new IntLightAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 현산 일괄소등릴레이 API 를 가져온다.
+     *
+     * @return - (AllLightHDCAPI) 일괄소등릴레이 API
+     */
+    public AllLightHDCAPI Get_AllLightHDCController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new AllLightHDCAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * EnergyModule 에너지모듈 API 를 가져온다.
+     *
+     * @return - (EnergyModuleAPI) 에너지모듈API
+     */
+    public EnergyModuleAPI Get_EnergyModuleController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new EnergyModuleAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * CutOffConcent 대기차단콘센트 API 를 가져온다.
+     *
+     * @return - (CutOffConcentAPI) 대기차단콘센트API
+     */
+    public CutOffConcentAPI Get_CutOffConcentController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new CutOffConcentAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * EnergyMeter 에너지미터 API 를 가져온다.
+     *
+     * @return - (EnergyMeterAPI) 에너지미터 API
+     */
+    public EnergyMeterAPI Get_EnergyMeterController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new EnergyMeterAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 난방V1 API 를 가져온다.
+     *
+     * @return - (HeatingV1API) 난방V1 API
+     */
+    public HeatingV1API Get_HeatingV1Controller()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new HeatingV1API(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 난방V2 API 를 가져온다.
+     *
+     * @return - (HeatingV2API) 난방V2 API
+     */
+    public HeatingV2API Get_HeatingV2Controller()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new HeatingV2API(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 스마트스위치 (이벤트) API 를 가져온다.
+     *
+     * @return - (SmartSwitchEvtAPI) 스마트스위치 (이벤트) API
+     */
+    public SmartSwitchEvtAPI Get_SmartSwitchEvtController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new SmartSwitchEvtAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 스마트스위치 (폴링) API 를 가져온다.
+     *
+     * @return - (SmartSwitchEvtAPI) 스마트스위치 (이벤트) API
+     */
+    public SmartSwitchPolAPI Get_SmartSwitchPolController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new SmartSwitchPolAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 스마트키RF현관카메라 API 를 가져온다.
+     *
+     * @return - (SmartKeyRfDoorAPI) 스마트키RF현관카메라 API
+     */
+    public SmartKeyRfDoorAPI Get_SmartKeyRfDoorController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new SmartKeyRfDoorAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 유선 도어락 API 를 가져온다.
+     *
+     * @return - (DLockAPI) 도어락 API
+     */
+    public DLockAPI Get_DLockController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new DLockAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 지문인식 도어락 API 를 가져온다.
+     *
+     * @return - (DLockAPI) 도어락 API
+     */
+    public FP_DlockAPI Get_FP_DLockController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new FP_DlockAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 디밍제어기 API 를 가져온다.
+     *
+     * @return - (DLockAPI) KCC 디밍제어기 API
+     */
+    public LedDimmingKCC_API Get_KCCDimmingController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new LedDimmingKCC_API(SvcCon.devctrcmd);
+    }
+
+    /**
+     * UKS API 를 가져온다.
+     *
+     * @return - (UksAPI) 도어락 API
+     */
+    public UksAPI Get_UksController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new UksAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 스마트분전반 API 를 가져온다.
+     *
+     * @return - (SdbAPI) 스마트분전반 API
+     */
+    public SdbAPI Get_SdbController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new SdbAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * 스마트분전반 - 거실에너지미터 조명 전용 API 를 가져온다.
+     *
+     * @return - (Sdb_LivingRoomLightAPI) 스마트분전반 - 거실에너지미터 조명 전용 API
+     */
+    public Sdb_LivingRoomLightAPI Get_Sdb_LivingRoomLightAPI()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new Sdb_LivingRoomLightAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * KNX 마스터콘트롤러 API 를 가져온다.
+     *
+     * @return - (KnxAPI) 스마트분전반 API
+     */
+    public KnxAPI Get_KnxController()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new KnxAPI(SvcCon.devctrcmd);
+    }
+
+    /**
+     * KNX 분전반 - 거실에너지미터 조명 전용 API 를 가져온다.
+     *
+     * @return - (KnxAPI) KNX 분전반 - 거실에너지미터 조명 전용 API
+     */
+    public Knx_LivingRoomLightAPI Get_Knx_LivingRoomLightAPI()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new Knx_LivingRoomLightAPI(SvcCon.devctrcmd);
+    }
+
+    public AirQualitySensorAPI Get_SensorAp_API()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new AirQualitySensorAPI(SvcCon.devctrcmd);
+    }
+
+    public InRoomDetectSensor_API Get_InRoomDetectSensor_API()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new InRoomDetectSensor_API(SvcCon.devctrcmd);
+    }
+
+    public ElectricRange_API Get_ElectricRange_API()
+    {
+        if (SvcCon.devctrcmd == null) return null;
+        return new ElectricRange_API(SvcCon.devctrcmd);
+    }
+
+    /**
+     * {link DeviceBatchControl} 메소드의 (DevType) param 에 사용될 Type 을 정의한다.
+     */
+    public static final class DEV_BATCH_CTRL__TYPE
+    {
+        /** 일괄소등  */
+        public final static int  ALL_LIGHT      = 0;
+
+        /** 난방        */
+        public final static int  HEATING       = 1;
+
+        /** 가스        */
+        public final static int  GAS           = 2;
+
+        /** 환기        */
+        public final static int  VENTI         = 3;
+
+        /** 웰컴조명        */
+        public final static int  WELCOME_LIGHT = 4;
+
+        /** Knx 환기        */
+        public final static int  KNX_VENTI         = 5;
+    }
+
+    /**
+     * 디바이스를 일괄 제어한다.
+     *
+     * @param DevType - {@link DEV_BATCH_CTRL__TYPE} 에 따른다.
+     * @param OnOff   - 제어 ON/OFF DevType 에 따라 달라짐.</br>
+     *           </tab> DEV_BATCH_CTRL__TYPE.ALL_LIGHT - true : ON , false : OFF
+     *           </tab> DEV_BATCH_CTRL__TYPE.HEATING   - 난방 V1 - true : 일시정지 , false : 일시정지해제 , 난방V2 - true : 외출 , false : 외출해제
+     *           </tab> DEV_BATCH_CTRL__TYPE.GAS       - 의미없음(*닫기만 가능)
+     *           </tab> DEV_BATCH_CTRL__TYPE.VENTI     - true : ON , false : OFF
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int DeviceBatchControl(int DevType, boolean OnOff)
+    {
+        String Tag = "DeviceAllControl";
+
+        Log.d(Tag, "DeviceAllControl Start (DevType:" + DevType + " , OnOff:" + OnOff + ")");
+
+        if(SvcCon.devctrcmd == null)
+        {
+            Log.w(Tag, "SvcCon.devctrcmd is null !!!");
+            return -100;
+        }
+
+        // 1. Param Check
+        switch(DevType)
+        {
+            case DEV_BATCH_CTRL__TYPE.ALL_LIGHT:
+            case DEV_BATCH_CTRL__TYPE.HEATING:
+            case DEV_BATCH_CTRL__TYPE.GAS:
+            case DEV_BATCH_CTRL__TYPE.VENTI:
+            case DEV_BATCH_CTRL__TYPE.WELCOME_LIGHT:
+                break;
+            default:
+                Log.w(Tag, "Input Param [DevType] is Out of Range !!! (DevType:" + DevType + ")");
+                return -101;
+        }
+
+        // 2. Doing
+        try
+        {
+            int ret = -1;
+            /////////////////////////////////////////
+            // 조명 일괄소등 제어
+            /////////////////////////////////////////
+            // 일괄소등 설정 , 해제
+            if(DevType == DEV_BATCH_CTRL__TYPE.ALL_LIGHT)
+            {
+                return SetBatchSwitchStatus(OnOff);
+            }
+            /////////////////////////////////////////
+            // 난방 제어
+            /////////////////////////////////////////
+            // V1 일 경우 - 전체방 일시정지 설정 , 해제
+            // V2 일 경우 - 전체방 외출        설정 , 해제
+            else if(DevType == DEV_BATCH_CTRL__TYPE.HEATING)
+            {
+                int DeviceKind = GetHeatingKind();
+                if(DeviceKind == 1)
+                {
+                    HeatingV1API heatingV1API = Get_HeatingV1Controller();
+
+                    ret = heatingV1API.SetPause(OnOff);
+                    if(ret < 0)
+                    {
+                        Log.e(Tag, "heatingV1API.SetPause Error (" + ret + ")   ErrorCode = " + heatingV1API.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+                else if(DeviceKind == 2)
+                {
+                    HeatingV2API heatingV2API = Get_HeatingV2Controller();
+
+                    if(heatingV2API == null)
+                    {
+                        Log.w(Tag, "Get_HeatingV2Controller  is  null");
+                        return -1003;
+                    }
+
+                    byte ChangeMode = HeatingV2.MODE.Idle;
+                    if(heatingV2API.data.Device.info.Support.Pause)
+                    {
+                        if(OnOff) ChangeMode = HeatingV2.MODE.Pause;
+                        else ChangeMode = HeatingV2.MODE.PauseRelease;
+                    }
+                    else if(heatingV2API.data.Device.info.Support.Outing)
+                    {
+                        if(OnOff) ChangeMode = HeatingV2.MODE.Outing;
+                        else ChangeMode = HeatingV2.MODE.OutingRelease;
+                    }
+                    if(ChangeMode != HeatingV2.MODE.Idle)
+                    {
+                        ret = heatingV2API.SetAllRoomStatus(ChangeMode);
+                        if(ret < 0)
+                        {
+                            Log.e(Tag, "heatingV2API.SetAllRoomStatus Error (" + ret + ")   ErrorCode = " + heatingV2API.ErrorCode.ErrStr());
+                            return ret;
+                        }
+                    }
+                }
+                else
+                {
+                    return -1001;
+                }
+            }
+            /////////////////////////////////////////
+            // 가스 제어
+            /////////////////////////////////////////
+            // 오직 닫기만 가능
+            else if(DevType == DEV_BATCH_CTRL__TYPE.GAS)
+            {
+                GasAPI gasAPI = null;
+                gasAPI = Get_GasController();
+                if(gasAPI == null)
+                {
+                    Log.w(Tag, "Get_GasController - null");
+                    return -1000;
+                }
+                int Ret = gasAPI.SetClose(define.DEVICE_ALL_OR_NOTHING);
+                if(Ret < 0)
+                {
+                    Log.e(Tag, "gasAPI.SetClose Error (" + ret + ")   ErrorCode = " + gasAPI.ErrorCode.ErrStr());
+                    return ret;
+                }
+            }
+            /////////////////////////////////////////
+            // 환기 제어
+            /////////////////////////////////////////
+            // ON / OFF
+            else if(DevType == DEV_BATCH_CTRL__TYPE.VENTI)
+            {
+                WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
+                int nDistributionPanelType = wds.Get_DistributionPannelType_Info();
+                wds.closeDB();
+
+                if (nDistributionPanelType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
+                    KnxVentiAPI ventiAPI = null;
+                    ventiAPI = Get_KnxVentiController();
+                    if(ventiAPI == null)
+                    {
+                        Log.w(Tag, "Get_KnxVentiController() - null");
+                        return -1000;
+                    }
+                    for(int i=0;i<3;i++) {
+                        ret = ventiAPI.SetOnOff((byte)i, OnOff);
+                        if (ret < 0) {
+                            Log.e(TAG, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
+                            //환기 개수가 3개이므로, 에러 발생시 그냥 리턴하지 않게 처리한다.
+                            //return ret;
+                        }
+                    }
+                }else{
+                    VentiAPI ventiAPI = null;
+                    ventiAPI = Get_VentiController();
+                    if(ventiAPI == null)
+                    {
+                        Log.w(Tag, "Get_VentiController() - null");
+                        return -1000;
+                    }
+
+                    ret = ventiAPI.SetOnOff(OnOff);
+                    if(ret < 0)
+                    {
+                        Log.e(Tag, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+            }
+            /////////////////////////////////////////
+            // Knx 환기 제어(현재 사용안함)
+            /////////////////////////////////////////
+            // ON / OFF
+            else if(DevType == DEV_BATCH_CTRL__TYPE.KNX_VENTI)
+            {
+                KnxVentiAPI ventiAPI = null;
+                ventiAPI = Get_KnxVentiController();
+                if(ventiAPI == null)
+                {
+                    Log.w(Tag, "Get_VentiController() - null");
+                    return -1000;
+                }
+
+                ret = ventiAPI.SetOnOff(OnOff);
+                if(ret < 0)
+                {
+                    Log.e(Tag, "ventiAPI.SetOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + ventiAPI.ErrorCode.ErrStr());
+                    return ret;
+                }
+            }
+            /////////////////////////////////////////
+            //웰컴조명 제어
+            /////////////////////////////////////////
+            // ON / OFF
+            else if(DevType == DEV_BATCH_CTRL__TYPE.WELCOME_LIGHT)
+            {
+                boolean livingLightOn = false;
+                boolean hallwayLightOn = false;
+                boolean kitchenlightOn = false;
+
+                try
+                {
+                    WallpadStatusData wsd = new WallpadStatusData(mContext);
+                    String welcomeStr = wsd.Get_WelcomeLight_Selected();
+                    wsd.closeDB();
+
+                    if(welcomeStr != null)
+                    {
+                        String[] lights = welcomeStr.split("/");
+                        if(lights.length == 3)
+                        {
+                            if(lights[0].equals("1"))
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - livingLight On !!!");
+                                livingLightOn = true;
+                            }
+                            else
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - livingLight Off !!!");
+                            }
+
+
+                            if(lights[1].equals("1"))
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - hallwayLightOn On !!!");
+                                hallwayLightOn = true;
+                            }
+                            else
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - hallwayLightOn Off !!!");
+                            }
+
+                            if(lights[2].equals("1"))
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - kitchenlightOn On !!!");
+                                kitchenlightOn = true;
+                            }
+                            else
+                            {
+                                Log.d(TAG, "[DeviceBatchControl] - kitchenlightOn Off !!!");
+                            }
+                        }
+                    }
+                }
+                catch (RuntimeException re) {
+                    LogUtil.errorLogInfo("", TAG, re);
+                    return -103;
+                }
+                catch (Exception ex)
+                {
+                    Log.e(TAG, "[DeviceBatchControl] - Get WelcomeLight Selected FAIL !!!");
+                    LogUtil.errorLogInfo("", TAG, ex);
+                    return -103;
+                }
+
+                SdbAPI sdbAPI = null;
+                Sdb_LivingRoomLightAPI sdb_livingRoomLightAPI = null;
+                sdbAPI = Get_SdbController();
+                sdb_livingRoomLightAPI = Get_Sdb_LivingRoomLightAPI();
+                if(sdb_livingRoomLightAPI == null)
+                {
+                    Log.w(Tag, "[DeviceBatchControl] - " +
+                            "Get_Sdb_LivingRoomLightAPI() - null");
+                    return -1001;
+                }
+                sdb_livingRoomLightAPI.Refresh();
+
+                if(sdb_livingRoomLightAPI.data.Info.LightCount != 0 && livingLightOn) // 거실조명은 기본 설치한다는 전제조건
+                {
+                    byte livIndex = 0;
+
+                    for(byte i = 0; i < sdb_livingRoomLightAPI.data.Info.LightCount; i++)
+                    {
+                        if(sdb_livingRoomLightAPI.data.Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.LIVINGROOM)
+                        {
+                            livIndex = i;
+                            Log.d(TAG, "[DeviceBatchControl] - livIndex : " + livIndex);
+                            break;
+                        }
+                    }
+
+                    ret = sdb_livingRoomLightAPI.SetLightOnOff(livIndex, true);
+                    if(ret < 0)
+                    {
+                        Log.e(Tag, "[DeviceBatchControl] - " +
+                                "sdb_livingRoomLightAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdb_livingRoomLightAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+
+                if(sdb_livingRoomLightAPI.data.Info.LightGroup.Exist_Hallway && hallwayLightOn) // 복도등이 설치되어 있고, 복도등 웰컴ON인 경우
+                {
+                    if(sdb_livingRoomLightAPI.data.Info.LightCount != 0)
+                    {
+                        byte hallwayIndex = 0;
+
+                        for(byte i = 0; i < sdb_livingRoomLightAPI.data.Info.LightCount; i++)
+                        {
+                            if(sdb_livingRoomLightAPI.data.Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.HALLWAY)
+                            {
+                                hallwayIndex = i;
+                                Log.d(TAG, "[DeviceBatchControl] - hallwayIndex : " + hallwayIndex);
+                                break;
+                            }
+                        }
+
+                        ret = sdb_livingRoomLightAPI.SetLightOnOff(hallwayIndex, true);
+                        if(ret < 0)
+                        {
+                            Log.e(Tag, "[DeviceBatchControl] - " +
+                                    "sdb_livingRoomLightAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdb_livingRoomLightAPI.ErrorCode.ErrStr());
+                            return ret;
+                        }
+                    }
+                }
+
+                sdbAPI.Refresh(define.DEVICE_ALL_OR_NOTHING, define.DEVICE_ALL_OR_NOTHING);
+                if(sdbAPI.data.BadRoom_EnergyMeter[0].Info.LightCount != 0 && kitchenlightOn) // 주방등이 설치되어 있고, 주방등 웰컴ON인 경우
+                {
+                    /*byte kitIndex = 0;
+
+                    for(byte i = 0; i < sdbAPI.data.BadRoom_EnergyMeter[0].Info.LightCount; i++)
+                    {
+                        if(sdbAPI.data.BadRoom_EnergyMeter[0].Data.LedLight[i].Info.Code.Usage == Sdb_DataClasses.LEDLIGHT_USAGE_CODE.KITCHEN)
+                        {
+                            kitIndex = i;
+                            Log.d(TAG, "[DeviceBatchControl] - kitIndex : " + kitIndex);
+                            break;
+                        }
+                    }*/
+
+                    ret = sdbAPI.SetLightOnOff( (byte)0x00, define.DEVICE_ALL_OR_NOTHING, true);
+                    if(ret < 0)
+                    {
+                        Log.e(Tag, "[DeviceBatchControl] - " +
+                                "sdbAPI.SetLightOnOff(" + OnOff + ") Error (" + ret + ")   ErrorCode = " + sdbAPI.ErrorCode.ErrStr());
+                        return ret;
+                    }
+                }
+
+            }
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return -102;
+		}
+		catch (Exception e)
+        {
+            Log.e(Tag, "[Exception Error] !!!!!");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -102;
+        }
+
+        Log.d(Tag, "DeviceAllControl OK!!!");
+        return 0;
+    }
+
+    /**
+     * (현산모델 전용) 일괄소등 자동 해제 기능 ON/OFF
+     *
+     * @param OnOff - (boolean) true : ON , false : OFF
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    public int SetAutoIGALStatusClear(boolean OnOff) {
+        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ALL SET START (" + OnOff + ")");
+
+        // 1. ModelType Check
+        if ((mModelType != Version.MODEL_TYPE.IHN_1020GL)
+                && (mModelType != Version.MODEL_TYPE.IHN_1010GL) && (mModelType != Version.MODEL_TYPE.IHN_1010GL_I)) {
+            Log.w("WallPadAPI", "[SetAutoIGALStatusClear] Not Support ModelType : " + mModelType);
+            return -1;
+        }
+
+        int onoff = 0;
+        if(OnOff) onoff = 1;
+
+        // 2. ENERGYMETER SET
+        int ret = -1;
+        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ENERGYMETER SET : " + OnOff);
+        ret = SendNReadCMD_int(define.DRIVER_TITLE_ENERGYMETER,
+                define.APICMD_SINKCTRL,
+                "SetAutoIGALStatusClear",
+                onoff,
+                0, 0, 0, 0);
+        /*if(ret < 0) // 임시 커밋 - 에너지미터 로딩 여부에 관한 항목은 추후 고려.
+        {
+            Log.e("WallPadAPI", "[SetAutoIGALStatusClear] ENERGYMETER SET Error (ret : " + ret + ")");
+            return ret;
+        }*/
+
+        // 3. INTLIGHT SET
+        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] INTLIGHT SET : " + OnOff);
+        ret = SendNReadCMD_int(define.DRIVER_TITLE_INTLIGHT,
+                define.APICMD_SINKCTRL,
+                "SetAutoIGALStatusClear",
+                onoff,
+                0, 0, 0, 0);
+
+        if(ret < 0)
+        {
+            Log.e("WallPadAPI", "[SetAutoIGALStatusClear] INTLIGHT SET Error (ret : " + ret + ")");
+            return ret;
+        }
+
+        Log.d("WallPadAPI", "[SetAutoIGALStatusClear] ALL SET OK!!!");
+        return 0;
+    }
+
+    /**
+     * (현산모델 전용) 일괄소등 자동 해제 기능 상태 가져오기
+     *
+     * @return (boolean) - true : ON or fail , false : OFF
+     */
+    public boolean GetAutoIGALStatusClear()
+    {
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] START ()");
+
+        // 1. ModelType Check
+        if(mModelType != Version.MODEL_TYPE.IHN_1020GL)
+        {
+            Log.w("WallPadAPI", "[GetAutoIGALStatusClear] Not Support ModelType : " + mModelType);
+            return false;
+        }
+
+        // 2. ENERGYMETER GET
+        int EnergyMeterRet = -1;
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER");
+        EnergyMeterRet = SendNReadCMD_int(define.DRIVER_TITLE_ENERGYMETER,
+                define.APICMD_SINKCTRL,
+                "GetAutoIGALStatusClear",
+                0, 0, 0, 0, 0);
+
+        if(EnergyMeterRet < 0)
+        {
+            Log.e("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER SET Error (ret : " + EnergyMeterRet + ")");
+            return false;
+        }
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] ENERGYMETER - (EnergyMeterRet:" + EnergyMeterRet + ")");
+
+        // 3. INTLIGHT GET
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT");
+        int IntLightRet = SendNReadCMD_int(define.DRIVER_TITLE_INTLIGHT,
+                define.APICMD_SINKCTRL,
+                "GetAutoIGALStatusClear",
+                0, 0, 0, 0, 0);
+        if(IntLightRet < 0)
+        {
+            Log.e("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT SET Error (ret : " + IntLightRet + ")");
+            return false;
+        }
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] INTLIGHT - (IntLightRet:" + IntLightRet + ")");
+
+        boolean bRet = false;
+        if((EnergyMeterRet != 0) && (IntLightRet != 0))
+        {
+            bRet = true;
+        }
+
+        Log.d("WallPadAPI", "[GetAutoIGALStatusClear] OK!!! - " + bRet);
+
+        return bRet;
+    }
+
+    /**
+     * 연결된 난방버전의 종류를 반환한다.
+     *
+     * @return (int) 난방드라이버 종류 (1:V1 , 2:V2 , -110(APIErrorCode.DEVICEISNOTREADY) : 찾고있는중, 그외 에러)
+     */
+    public int GetHeatingKind()
+    {
+        String FUNC_NAME = "[GetHeatingKind]";
+        try
+        {
+            String ret = SendNReadCMD_str(define.DRIVER_TITLE_HEATINGFINDER,
+                    define.APICMD_NOSINKCTRL,
+                    "Refresh",
+                    0, 0, 0, 0, 0);
+
+            if(ret == null)
+            {
+                Log.w(TAG, FUNC_NAME + " ret return value is null !!!");
+                return APIErrorCode.RETURNERROR;
+            }
+            String[] retData = ret.split(define.DEVCTR_CMD_SPLITER);
+            if(retData == null)
+            {
+                Log.w(TAG, FUNC_NAME + " retData value is null !!!");
+                return APIErrorCode.RETURNERROR;
+            }
+            if (!retData[0].equals("SUCCESS"))
+            {
+                if(retData.length >= 2)
+                {
+                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #1 (" + Integer.parseInt(retData[1]) + ")");
+                    return Integer.parseInt(retData[1]);
+                }
+                else
+                {
+                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #2 (" + retData[0] + ")");
+                    return APIErrorCode.RETURNERROR;
+                }
+            }
+
+            // 2. Parsing
+            /*
+             * [Format]
+             *
+             * SUCCESS    - (String) 성공
+             *
+             * DeviceKind - (int) 디바이스 종류
+             */
+            int index = 1;
+
+            int DeviceKind = Integer.parseInt(retData[index++]);
+
+            if(DeviceKind == define.DRIVERID_HEATINGV1)
+            {
+                return 1;
+            }
+            else if(DeviceKind == define.DRIVERID_HEATINGV2)
+            {
+                return 2;
+            }
+            else
+            {
+                Log.w(TAG, "[GetHeatingKind] DeviceKind  Out Of Range (DeviceKind:" + DeviceKind + ")");
+                return APIErrorCode.STATUS_OUTOFRANGE;
+            }
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return APIErrorCode.EXCEPTION;
+		}
+		catch (Exception e)
+        {
+            Log.e("WallPadDevAPI", "[GetHeatingKind] Exception Error - ()");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return APIErrorCode.EXCEPTION;
+        }
+    }
+
+
+    /**
+     * GAS 와 COOKTOP 분류하기
+     * @return
+     */
+    public int GetGasKind()
+    {
+        String FUNC_NAME = "[GetGasKind]";
+        try
+        {
+            String ret = SendNReadCMD_str(define.DRIVER_TITLE_COOKTOPFINDER,
+                    define.APICMD_NOSINKCTRL,
+                    "Refresh",
+                    0, 0, 0, 0, 0);
+
+            if(ret == null)
+            {
+                Log.w(TAG, FUNC_NAME + " ret return value is null !!!");
+                return APIErrorCode.RETURNERROR;
+            }
+            String[] retData = ret.split(define.DEVCTR_CMD_SPLITER);
+            if(retData == null)
+            {
+                Log.w(TAG, FUNC_NAME + " retData value is null !!!");
+                return APIErrorCode.RETURNERROR;
+            }
+            if (!retData[0].equals("SUCCESS"))
+            {
+                if(retData.length >= 2)
+                {
+                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #1 (" + Integer.parseInt(retData[1]) + ")");
+                    return Integer.parseInt(retData[1]);
+                }
+                else
+                {
+                    Log.w(TAG, FUNC_NAME + " retData[0] No Success #2 (" + retData[0] + ")");
+                    return APIErrorCode.RETURNERROR;
+                }
+            }
+
+            // 2. Parsing
+            /*
+             * [Format]
+             *
+             * SUCCESS    - (String) 성공
+             *
+             * DeviceKind - (int) 디바이스 종류
+             */
+            int index = 1;
+
+            int DeviceKind = Integer.parseInt(retData[index++]);
+
+            if(DeviceKind == define.DRIVERID_GAS)
+            {
+                return 1;
+            }
+            else if(DeviceKind == define.DRIVERID_COOKTOP)
+            {
+                return 2;
+            }
+            else
+            {
+                Log.w(TAG, "[GetHeatingKind] DeviceKind  Out Of Range (DeviceKind:" + DeviceKind + ")");
+                return APIErrorCode.STATUS_OUTOFRANGE;
+            }
+        }
+        catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+            return APIErrorCode.EXCEPTION;
+        }
+        catch (Exception e)
+        {
+            Log.e("WallPadDevAPI", "[GetHeatingKind] Exception Error - ()");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return APIErrorCode.EXCEPTION;
+        }
+    }
+
+    /**
+     * 거실 조명을 주어진 횟수와 시간만큼 반복 Blink 동작을 한다.
+     *
+     * @param Count   - (int) 반복할 횟수 (범위: 1 ~ 10)
+     * @param DelayMs - (int) 시간            (단위:ms , 범위:100 ~ 10000)
+     *
+     * @return (boolean) 수행결과 - true:정상, false:실패
+     */
+    public boolean SetLivingLightDelayedBlink(int Count, long DelayMs)
+    {
+        Log.i(TAG, "[SetLivingLightDelayedBlink] Count : " + Count + ", DelayMs : " + DelayMs);
+
+        // 1. Param Check
+        if((Count <= 0) || (Count > 10))
+        {
+            Log.w(TAG, "[SetLivingLightDelayedBlink] Param : Count . Out Of Range !!!(Count:" + Count + ")");
+            return false;
+        }
+        if((DelayMs < 100) || (DelayMs > 10000))
+        {
+            Log.w(TAG, "[SetLivingLightDelayedBlink] Param : DelayMs . Out Of Range !!!(DelayMs:" + DelayMs + ")");
+            return false;
+        }
+
+        // 2. 모델별 처리
+        if(mModelType == Version.MODEL_TYPE.IHN_1020GL)
+        {
+
+        }
+        else if(mModelType == Version.MODEL_TYPE.IHN_1020B_A)
+        {
+            // 1. 이전 동작상태 확인
+            if(mLivingLightDelayedBlink != null)
+            {
+                if(mLivingLightDelayedBlink.isRun())
+                {
+                    Log.w(TAG, "[SetLivingLightDelayedBlink] isRun...");
+                    return false;
+                }
+            }
+
+            // 2. 거실 조명 종류 가져오기
+            int LivingLightType = 0;
+            try
+            {
+                int [] Get_Light_info = null;
+                try
+                {
+                    WallpadDeviceSet wallpadDeviceSet = new WallpadDeviceSet(mContext);
+                    Get_Light_info = wallpadDeviceSet.Get_Light_info();
+                    wallpadDeviceSet.closeDB();
+                }
+                catch (RuntimeException re) {
+                    LogUtil.errorLogInfo("", TAG, re);
+                    return false;
+                }
+		        catch (Exception e)
+                {
+                    Log.e(TAG, "[SetLivingLightDelayedBlink] Exception Error(DB : Open-Get-Close)");
+                    //e.printStackTrace();
+                    LogUtil.errorLogInfo("", TAG, e);
+                    return false;
+                }
+
+                if(Get_Light_info == null)
+                {
+                    return false;
+                }
+                if(Get_Light_info[0] == 0)
+                {
+                    Log.w(TAG, "[SetLivingLightDelayedBlink] LivingLight Not Setting !!!");
+                    return false;
+                }
+                LivingLightType = Get_Light_info[1];
+                switch(LivingLightType)
+                {
+                    case WallpadDeviceSet.LIGHT_TYPE_LIVING:
+                        break;
+                    case WallpadDeviceSet.LIGHT_TYPE_ROOM:
+                        break;
+                    default:
+                        Log.w(TAG, "[SetLivingLightDelayedBlink] Get_Light_info[1] Type Out Of Range !!!");
+                        return false;
+                }
+
+            }
+            catch (RuntimeException re) {
+                LogUtil.errorLogInfo("", TAG, re);
+                return false;
+            }
+            catch (Exception e)
+            {
+                Log.e(TAG, "[SetLivingLightDelayedBlink] Exception Error(Get DB)");
+                //e.printStackTrace();
+                LogUtil.errorLogInfo("", TAG, e);
+                return false;
+            }
+
+            // 3. 동작
+            mLivingLightDelayedBlink = new LivingLightDelayedBlink(LivingLightType, Count, DelayMs);
+
+            return true;
+        }
+        else if(mModelType == Version.MODEL_TYPE.IHN_1020SA_A)
+        {
+
+        }
+        else if(mModelType == Version.MODEL_TYPE.IHN_750)
+        {
+
+        }
+
+        Log.w(TAG, "[SetLivingLightDelayedBlink] Not Support Model : " + Version.getModelType());
+        return false;
+    }
+
+    /**
+     * 거실 조명 반복 Blink 동작 관련 Class
+     */
+    private class LivingLightDelayedBlink
+    {
+        private final int STOP  = 0;
+        private final int START = 1;
+        private final int ING   = 2;
+
+        private boolean Run;
+        private boolean FirstLightStatus;
+        private boolean LightStatus;
+        private int RunCount;
+        private int BlinkCount;
+        private long BlinkDelayMs;
+        private Handler BlinkHandler;
+
+        private LightAPI lightAPI;
+        private MultiSwitchAPI multiSwitchAPI;
+
+        private LivingLightDelayedBlink(int nLightType, int nCount, long nDelayMs)
+        {
+            Run = false;
+            FirstLightStatus = false;
+            LightStatus = false;
+            RunCount = 0;
+            BlinkCount = nCount;
+            BlinkDelayMs = nDelayMs;
+
+            LoadingDriver(nLightType);
+
+            BlinkHandler = new Handler()
+            {
+                @SuppressLint("HandlerLeak")
+                public void handleMessage(Message msg)
+                {
+                    boolean bRet = false;
+                    switch(msg.what)
+                    {
+                        case STOP:
+                            if(getLight() != FirstLightStatus)
+                            {
+                                setLight(FirstLightStatus);
+                            }
+                            Run = false;
+                            break;
+
+                        case START:
+                            Run = true;
+                            FirstLightStatus = getLight();
+                            LightStatus = FirstLightStatus;
+
+                            Log.i(TAG, "[LivingLightDelayedBlink] START - FirstLightStatus : " + FirstLightStatus);
+
+                            if(LightStatus) { LightStatus = false; } else { LightStatus = true; }
+
+                            bRet = setLight(LightStatus);
+                            Log.i(TAG, "LivingLightDelayedBlink] START - setLight:" + bRet);
+                            RunCount++;
+                            if(BlinkCount > 1)
+                            {
+                                this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
+                            }
+                            else
+                            {
+                                this.sendEmptyMessageDelayed(STOP, BlinkDelayMs);
+                            }
+                            break;
+
+                        case ING:
+                            if(LightStatus) { LightStatus = false; } else { LightStatus = true; }
+
+                            Log.i(TAG, "[LivingLightDelayedBlink] ING - LightStatus : " + LightStatus);
+
+                            bRet = setLight(LightStatus);
+                            Log.i(TAG, "LivingLightDelayedBlink] ING - setLight:" + bRet + ", RunCount : " + RunCount);
+
+                            if(FirstLightStatus != LightStatus)
+                            {
+                                RunCount++;
+                                if(RunCount >= BlinkCount)
+                                {
+                                    this.sendEmptyMessageDelayed(STOP, BlinkDelayMs);
+                                }
+                                else
+                                {
+                                    this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
+                                }
+                            }
+                            else
+                            {
+                                this.sendEmptyMessageDelayed(ING, BlinkDelayMs);
+                            }
+                            break;
+                    }
+                }
+            };
+
+            BlinkHandler.sendEmptyMessage(START);
+        }
+
+        /**
+         * 동작상태를 반환한다.
+         *
+         * @return (boolean) true:동작중, false:정지
+         */
+        public boolean isRun() { return Run; }
+
+        /**
+         * LightType 값에 따라 조명 드라이버를 로딩한다.
+         *
+         * @param LightType - (int) 조명타입
+         */
+        private void LoadingDriver(int LightType)
+        {
+            lightAPI = null;
+            multiSwitchAPI = null;
+            switch(LightType)
+            {
+                case WallpadDeviceSet.LIGHT_TYPE_LIVING:
+                    lightAPI = Get_LightController();
+                    break;
+                case WallpadDeviceSet.LIGHT_TYPE_ROOM:
+                    multiSwitchAPI = Get_MultiSwitchController();
+                    break;
+                default:
+                    Log.w(TAG, "LoadingDriver - Param : LightType Out Of Range !!!(LightType:" + LightType);
+                    break;
+            }
+        }
+
+        /**
+         * 조명을 ON/OFF 한다.
+         *
+         * @param OnOff - (boolean)
+         *
+         * @return (boolean) 결과 - true:정상, false:실패
+         */
+        private boolean setLight(boolean OnOff)
+        {
+            if(lightAPI != null)
+            {
+                int ret = lightAPI.SetLightOnOff(define.DEVICE_ALL_OR_NOTHING, OnOff);
+                if(ret >= 0) return true;
+                return false;
+            }
+            else if(multiSwitchAPI != null)
+            {
+                int ret = multiSwitchAPI.SetLightOnOff((byte)0, define.DEVICE_ALL_OR_NOTHING, OnOff);
+                if(ret >= 0) return true;
+                return false;
+            }
+            return false;
+        }
+
+        /**
+         * 조명 상태를 반환한다.
+         *
+         * @return (boolean) true : 켜짐, false : 꺼짐
+         */
+        private boolean getLight()
+        {
+            if(lightAPI != null)
+            {
+                lightAPI.Refresh(false);
+                for(int i=0 ; i<lightAPI.data.LightCount ; i++)
+                {
+                    if(lightAPI.data.OnOff[i]) return true;
+                }
+                return false;
+            }
+            else if(multiSwitchAPI != null)
+            {
+                multiSwitchAPI.Refresh((byte)0, false);
+
+                if(multiSwitchAPI.data.DeviceCnt == 0) return false;
+                if(multiSwitchAPI.data.Device == null) return false;
+
+                for(int i=0 ; i<multiSwitchAPI.data.Device[0].device.hLightCnt ; i++)
+                {
+                    if(multiSwitchAPI.data.Device[0].device.getLightPower(i)) return true;
+                }
+                return false;
+            }
+            return false;
+        }
+    }
+    private LivingLightDelayedBlink mLivingLightDelayedBlink = null;
+
+    /**
+     * 제어시 사용되는 SendCMD 및 Return Value Check 의 공통부분 메소드이다.<br>
+     * 결과는 int 로 성공여부만 확인된다.
+     *
+     * @param MainCMD - (String) 전송할 메인 명령어 (define.APICMD_SINKCTRL  or  define.APICMD_NOSINKCTRL)
+     * @param SubCMD  - (String) 드라이버에서 구분되는 서브 명령어
+     * @param param1   - (int) 첫번째 파라미터
+     * @param param2   - (int) 두번째 파라미터
+     * @param param3   - (int) 세번째 파라미터
+     * @param param4   - (int) 네번째 파라미터
+     * @param param5   - (int) 다섯번째 파라미터
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    protected int SendNReadCMD_int(String TitleStr,
+                                   String MainCMD,
+                                   String SubCMD,
+                                   int param1, int param2, int param3, int param4, int param5)
+    {
+        if(MainCMD == null) return -1;
+        if(SubCMD == null) return -2;
+
+        String CmdStr = String.format("%s;%s;%s:%d:%d:%d:%d:%d", TitleStr, MainCMD, SubCMD, param1, param2, param3, param4, param5);
+        try
+        {
+            // 1. Send Command
+            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd " + CmdStr);
+            String ret = SendCMD(CmdStr);
+            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd ret : " + ret);
+            String[] retlist = ret.split(";");
+
+            // 2. Return Value Check
+            if(retlist == null) return APIErrorCode.RETURNERROR;
+
+            if (retlist[0].equals("SUCCESS"))
+            {
+                if(retlist.length == 1) return APIErrorCode.C_SUCCESS;
+                else return Integer.parseInt(retlist[1]);
+            }
+            else
+            {
+                if(retlist.length >= 2)
+                {
+                    //ErrorCode.Set_Error_Code(Integer.parseInt(retlist[1]));
+                    return Integer.parseInt(retlist[1]);
+                }
+                else
+                {
+                    Log.e("WallPadDevAPI", "[SendNReadCMD_int] Error : " + retlist[0]);
+                    return APIErrorCode.RETURNERROR;
+                }
+            }
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return -1;
+		}
+		catch (Exception e)
+        {
+            Log.e("WallPadDevAPI", "[SendNReadCMD_int] Exception Error - (" + CmdStr + ")");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -1;
+        }
+    }
+
+    /**
+     * 상태조회시 사용되는 SendCMD 및 Return Value Check 의 공통부분 메소드이다.<br>
+     * 결과는 String 로 확인된다.
+     *
+     * @param MainCMD - (String) 전송할 메인 명령어 (define.APICMD_SINKCTRL  or  define.APICMD_NOSINKCTRL)
+     * @param SubCMD  - (String) 드라이버에서 구분되는 서브 명령어
+     * @param param1   - (int) 첫번째 파라미터
+     * @param param2   - (int) 두번째 파라미터
+     * @param param3   - (int) 세번째 파라미터
+     * @param param4   - (int) 네번째 파라미터
+     * @param param5   - (int) 다섯번째 파라미터
+     *
+     * @return (String) - 결과
+     */
+    protected String SendNReadCMD_str(String TitleStr, String MainCMD,
+                                      String SubCMD,
+                                      int param1, int param2, int param3, int param4, int param5)
+    {
+        String CmdStr = String.format("%s;%s;%s:%d:%d:%d:%d:%d", TitleStr, MainCMD, SubCMD, param1, param2, param3, param4, param5);
+        try
+        {
+            // 1. Send Command
+            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd " + CmdStr);
+            String ret = SendCMD(CmdStr);
+            //Log.i("WallPadDevAPI", TitleStr + " getstate cmd ret : " + ret);
+            return ret;
+        }
+        catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+            return null;
+		}
+		catch (Exception e)
+        {
+            Log.e("WallPadDevAPI", "[SendNReadCMD_str] Exception Error - (" + CmdStr + ")");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return null;
+        }
+    }
+
+    /**
+     * AIDL 으로 DeviceService 와 명령을 전달후 응답 받는다.
+     *
+     * @param CMD - (String) 전달할 명령어
+     *
+     * @return (String) 응답 결과
+     */
+    private String SendCMD(String CMD)
+    {
+        String ret;
+        Log.d("AIDLTEST","Enter SendCMD " + CMD );
+
+        try {
+            Log.i("AIDLTEST", " before call AIDL ["+CMD+"] "+SvcCon.devctrcmd);
+            if (SvcCon.devctrcmd == null) return "FAIL;"+ APIErrorCode.DEVCTRNULL;
+            ret = SvcCon.devctrcmd.Control_Device(CMD);
+        }
+        catch (RemoteException e)
+        {
+            Log.e("AIDLTEST","Catch Exception Afer Send Data to Service");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return "EXCEPTION";
+        }
+        return ret;
+    }
+
+    /***
+     * 알림정보를 인텐트에 담아 broadcast한다.<br>
+     * 스마트스위치-알림정보
+     *
+     * @param ctx    - 호출 class의 Context
+     * @param action - intent filter action 지정
+     * @param extra  - intent extra 지정
+     * @param count  - extra value 지정
+     *
+     */
+    public void BroadcastNotiCount(Context ctx, String action, String extra, int count)
+    {
+        Intent intentBR = new Intent();
+        intentBR.setAction(action);
+        intentBR.putExtra(extra, count);
+
+        ctx.sendBroadcast(intentBR);
+    }
+}

+ 17 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java

@@ -56,6 +56,7 @@ import kr.co.icontrols.wallpadhomectrl.screen.screen_airquality.DustInfoScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentHdcNEachMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentKnxMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentMainScreen;
+import kr.co.icontrols.wallpadhomectrl.screen.screen_curtain.CurTainV1MainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_doorlock.DoorLockMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_elecrange.ElectricRangeMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_gas.CookTopConcentMainScreen;
@@ -203,6 +204,8 @@ public class MainActivity extends WpadActivity {
 	private SystemAirconMainScreen systemAirconMainScreen = null;
     private PurityMainScreen purityMainScreen = null;
 
+	private CurTainV1MainScreen curTainV1MainScreen = null;
+
 	//API
 	public WallpadStatusData GetDBObj() {
 		return wdb;
@@ -1379,7 +1382,8 @@ public class MainActivity extends WpadActivity {
 		setTopBackBtnVisible(false);
 
 		boolean result = false;
-		// 2. 새로운 Layout 표시
+
+	     //2. 새로운 Layout 표시
         try {
 			setTitleName(nScreenId);
 
@@ -1737,6 +1741,18 @@ public class MainActivity extends WpadActivity {
                     result = true;
                     break;
 
+
+				case API_Menu.SubMenuCtrl.Curtain:
+					SetTitleText(API_Menu.SubMenuCtrl.Name_Curtain);
+					curTainV1MainScreen = new CurTainV1MainScreen(this, ScreenLayout, wpapi, OPERATION_MODE);
+					super.setCurrentScreen(curTainV1MainScreen);
+					setTopBoilerBtnVisible(false);
+					setAIRBackBtnVisible(false);
+					setKccDimmBtnVisible(false);
+					setVentilBackBtnVisible(false);
+					result = true;
+					break;
+
 				default:
 					Log.i(TAG, "[Error] setChangeScreen - nScreenId Not found!!! (" + mCurrentScreenId + ")");
 					if (Version.getGatewayUsage()) {

+ 3213 - 3176
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/declare/ID.java

@@ -1,3176 +1,3213 @@
-package kr.co.icontrols.wallpadhomectrl.declare;
-
-
-public final class ID
-{
-	public final static String  BR_ACTION_BASE = "kr.co.icontrols.wallpadhomectrl.BR_";
-
-	/**
-	 * 월패드 메인화면에서 서브화면을 호출할때 전달되어야할 데이터 리스트
-	 */
-    
-	/* ==========================================================================
-	 * screen
-	 * ========================================================================== */
-	public static final class screen
-	{
-		public final static int MainActivity	= 1000;
-		public final static int PopupActivity	= 2000;
-
-		public final static int LightHdcLivMainScreen                         = 3000;
-		public final static int LightEtcEachMainScreen                        = 3100;
-		public final static int LightEtcEachPopupRoomScreen                   = 3200;
-		public final static int LightEtcLivMainScreen                         = 3300;
-		public final static int LightEtcLivPopupRoomScreen                    = 3400;
-		public final static int LightHdcLivKnxMainScreen                      = 3500;
-		public final static int LightKnxMainScreen 							  = 3600;
-		public final static int LightKnxPopupRoomScreen 					  = 3700;
-		public final static int LightHdcNEachMainScreen						  = 3800;
-		public final static int LightHdcLivPopupScreen						  = 3900;
-
-		public final static int VentiMainScreen			                      = 4000;
-		public final static int VentiPopupReservationScreen					  = 4100;        // 환기 - 팝업 - 예약
-		public final static int VentiPopupAlarmScreen           			  = 4200;        // 환기 - 팝업 - 알림
-		public final static int VentiPopupServiceScreen           			  = 4300;        // 환기 케어 서비스 팝업
-		public final static int VentilationMainScreen			                      = 4400;   // 지능형 환기 화면
-
-		public final static int GasMainScreen			                      = 5000;
-		public final static int CookTopConcentMainScreen			             = 5100;
-		public final static int DoorLockMainScreen							  = 6000;
-
-		public final static int HeatingV1MainScreen             			  = 7000;        // 난방V1 - 메인
-		public final static int HeatingV1PauseScreen            			  = 7100;        // 난방V1 - 전체방 난방 일시정지화면
-		public final static int HeatingV1PopupScreen            			  = 7200;        // 난방V1 - 팝업
-		public final static int HeatingV1PopupAlarmScreen       			  = 7300;        // 난방V1 - 팝업알람
-
-		public final static int HeatingV2MainScreen             			  = 7500;        // 난방V2 - 메인
-		public final static int HeatingV2PopupScreen            			  = 7600;        // 난방V2 - 팝업 (기본,예약,취침)
-		public final static int HeatingV2PopupBoilerScreen      			  = 7700;        // 난방V2 - 보일러팝업
-
-		public final static int AirQualityMainScreen						  = 8000;		 // 실내 공기질 - 메인
-		public final static int DustInfoScreen								  = 8100;		 // 미세먼지 정보
-
-		public final static int AsCallPopupScreen                             = 20000;
-
-		// [Concent]
-		public final static int ConcentMainScreen               			  = 30000;        // 대기콘센트 - 메인
-		public final static int ConcentPopupScreen              			  = 31000;        // 대기콘센트 - 팝업 (개별제어, 차단값설정)
-		public final static int ConcentPopupScreenWithCutOffAPI  			  = 32000;        // 대기콘센트 - 팝업 (개별제어, 차단값설정)
-
-		// [KnxConcent]
-		public final static int ConcentKnxMainScreen = 32000;        // KNX콘센트 - 메인
-		public final static int ConcentKnxPopupScreen = 33000;        // KNX콘센트 - 팝업 (개별제어, 차단값설정)
-
-		public final static int ElectricRangeScreen              			  = 40000;        // 전기레인지 - 메인
-
-		// [System Aircon]
-		public final static int SystemAirconMainScreen = 50000;          // 시스템에어컨 - 메인
-		public final static int SystemAirconPopupScreen = 51000;          // 시스템에어컨 - 팝업
-		public final static int PurityMainScreen = 60000;          // 청정환기 - 메인
-		public final static int PurityPopupScreen = 61000;          // 청정환기 - 팝업
-
-		public final static int HybridCookTopMainScreen             			  = 62000;        // 하이브리드쿡탑
-	}
-
-	/* ==========================================================================
-	 * MainActivity
-	 * ========================================================================== */
-	public static final class main
-	{
-		final static int BASE = screen.MainActivity;
-
-		public final static String  BR_KCC_DIM = BR_ACTION_BASE + "KCC_DIM" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-			public final static int ALL  		= BASE + 1;
-			public final static int TOP  		= BASE + 2;
-			public final static int MENU  		= BASE + 3;
-			public final static int SCREEN      = BASE + 4;
-			public final static int MENU_ITEM   = BASE + 5;
-		}
-		public static final class image
-		{
-			public final static int TOP_BACKGROUND	= BASE + 100;
-			public final static int TOP_TITLE		= BASE + 101;
-			public final static int TAB_BACKGROUND	= BASE + 110;
-
-			public final static int SCREEN_BACKGROUND   = BASE + 120;
-		}
-		public static final class button
-		{
-			public final static int HOME		= BASE + 200;
-			public final static int BACK		= BASE + 201;
-			public final static int MENU        = BASE + 202;
-			public final static int MENUCLOSE   = BASE + 203;
-			public final static int BOILER   	= BASE + 204;
-			public final static int AIRQBACK   	= BASE + 205;
-			public final static int VENTILBACK   	= BASE + 206;
-
-			public final static int DIMM_NORMAL   	= BASE + 207;
-			public final static int DIMM_STUDY   	= BASE + 208;
-			public final static int DIMM_SENSI   	= BASE + 209;
-			public final static int DIMM_REST   	= BASE + 210;
-
-			public final static int MANUAL   	= BASE + 211;
-
-			public final static int HIDE1       = BASE + 220;
-			public final static int HIDE2       = BASE + 221;
-		}
-		public static final class text
-		{
-			public final static int TITLE      = BASE + 300;
-		}
-		public static final class liveview
-		{
-			public final static int lv        = BASE + 400;
-			public final static int tv_1      = BASE + 410;
-		}
-	}
-
-
-
-	/* ==========================================================================
-	 * PopupActivity
-	 * ========================================================================== */
-	public static final class popup
-	{
-		final static int BASE = screen.PopupActivity;
-
-		public static final class layout
-		{
-			public final static int ALL  = BASE + 1;
-		}
-		public static final class image
-		{
-		}
-		public static final class button
-		{
-			public final static int OK			= BASE + 100;
-			public final static int EXIT		= BASE + 200;
-		}
-		public static final class text
-		{
-		}
-	}
-
-
-	/* ==========================================================================
-	 * LightHdcLivMainScreenID
-	 * ========================================================================== */
-	public static final class LightHdcLivMainScreenID
-	{
-		final static int BASE = screen.LightHdcLivMainScreen;
-        public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	    = BASE + 100;
-			public final static int BG_SEEKBAR	    = BASE + 101;
-
-		}
-		public static final class button
-		{
-			public final static int ONOFF_1          = BASE + 210;
-			public final static int ONOFF_2          = BASE + 211;
-			public final static int ONOFF_3          = BASE + 212;
-			public final static int ONOFF_4          = BASE + 213;
-			public final static int ONOFF_5          = BASE + 214;
-			public final static int ONOFF_6          = BASE + 215;
-			public final static int ONOFF_7          = BASE + 216;
-			public final static int ONOFF_8          = BASE + 217;
-
-			public final static int DIMMING          = BASE + 220;
-			public final static int COLOR            = BASE + 221;
-
-			public final static int SeekBar 		 = BASE + 230;
-		}
-		public static final class text
-		{
-			public final static int TITLE            = BASE + 300;
-			public final static int LIMITMENT        = BASE + 301;
-
-            public final static int ONOFF_1          = BASE + 310;
-            public final static int ONOFF_2          = BASE + 311;
-            public final static int ONOFF_3          = BASE + 312;
-            public final static int ONOFF_4          = BASE + 313;
-            public final static int ONOFF_5          = BASE + 314;
-            public final static int ONOFF_6          = BASE + 315;
-            public final static int ONOFF_7          = BASE + 316;
-            public final static int ONOFF_8          = BASE + 317;
-		}
-	}
-	/* ==========================================================================
-	 * LightHdcLivKnxMainScreenID
-	 * ========================================================================== */
-	public static final class LightHdcLivKnxMainScreenID
-	{
-		final static int BASE = screen.LightHdcLivKnxMainScreen;
-        public final static String  BR_LIGHT_KNXLIV = BR_ACTION_BASE + "LIGHT_KNXLIV" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	    = BASE + 100;
-			public final static int BG_SEEKBAR	    = BASE + 101;
-
-		}
-		public static final class button
-		{
-			public final static int ONOFF_1          = BASE + 210;
-			public final static int ONOFF_2          = BASE + 211;
-			public final static int ONOFF_3          = BASE + 212;
-			public final static int ONOFF_4          = BASE + 213;
-			public final static int ONOFF_5          = BASE + 214;
-			public final static int ONOFF_6          = BASE + 215;
-			public final static int ONOFF_7          = BASE + 216;
-			public final static int ONOFF_8          = BASE + 217;
-
-			public final static int DIMMING          = BASE + 220;
-			public final static int COLOR            = BASE + 221;
-
-			public final static int SeekBar 		 = BASE + 230;
-		}
-		public static final class text
-		{
-			public final static int TITLE            = BASE + 300;
-			public final static int LIMITMENT        = BASE + 301;
-
-            public final static int ONOFF_1          = BASE + 310;
-            public final static int ONOFF_2          = BASE + 311;
-            public final static int ONOFF_3          = BASE + 312;
-            public final static int ONOFF_4          = BASE + 313;
-            public final static int ONOFF_5          = BASE + 314;
-            public final static int ONOFF_6          = BASE + 315;
-            public final static int ONOFF_7          = BASE + 316;
-            public final static int ONOFF_8          = BASE + 317;
-		}
-	}
-
-	/**
-	 * 조명 대외 거실형
-	 */
-	public static final class lightEtcLivMain
-	{
-		final static int BASE = screen.LightEtcLivMainScreen;
-
-		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-		public final static String  BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND      = BASE + 100;
-
-			public final static int NUM_1           = BASE + 110;
-			public final static int NUM_2           = BASE + 111;
-			public final static int NUM_3           = BASE + 112;
-			public final static int NUM_4           = BASE + 113;
-			public final static int NUM_5           = BASE + 114;
-			public final static int NUM_6           = BASE + 115;
-		}
-		public static final class button
-		{
-			public final static int LIGHT_1          = BASE + 200;
-			public final static int LIGHT_2          = BASE + 201;
-			public final static int LIGHT_3          = BASE + 202;
-			public final static int LIGHT_4          = BASE + 203;
-			public final static int LIGHT_5          = BASE + 204;
-			public final static int LIGHT_6          = BASE + 205;
-			public final static int LIGHT_7          = BASE + 206;
-			public final static int LIGHT_8          = BASE + 207;
-
-			public final static int ONOFF_1          = BASE + 210;
-			public final static int ONOFF_2          = BASE + 211;
-			public final static int ONOFF_3          = BASE + 212;
-			public final static int ONOFF_4          = BASE + 213;
-			public final static int ONOFF_5          = BASE + 214;
-			public final static int ONOFF_6          = BASE + 215;
-			public final static int ONOFF_7          = BASE + 216;
-			public final static int ONOFF_8          = BASE + 217;
-
-			public final static int BATCHOFF_ENABLE  = BASE + 230;
-			public final static int BATCHOFF_DISABLE = BASE + 231;
-		}
-		public static final class text
-		{
-			public final static int LIGHT_1          = BASE + 300;
-			public final static int LIGHT_2          = BASE + 301;
-			public final static int LIGHT_3          = BASE + 302;
-			public final static int LIGHT_4          = BASE + 303;
-			public final static int LIGHT_5          = BASE + 304;
-			public final static int LIGHT_6          = BASE + 305;
-			public final static int LIGHT_7          = BASE + 306;
-			public final static int LIGHT_8          = BASE + 307;
-		}
-	}
-
-
-	/**
-	 * 조명 대외 각실형
-	 */
-	public static final class LightEtcEachMainScreenID
-	{
-		final static int BASE = screen.LightEtcEachMainScreen;
-
-		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-		public final static String  BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND      = BASE + 100;
-
-			public final static int ROOM_BG1      	= BASE + 110;
-			public final static int ROOM_BG2      	= BASE + 111;
-			public final static int ROOM_BG3      	= BASE + 112;
-			public final static int ROOM_BG4      	= BASE + 113;
-			public final static int ROOM_BG5      	= BASE + 114;
-			public final static int ROOM_BG6      	= BASE + 115;
-			public final static int ROOM_BG7      	= BASE + 116;
-			public final static int ROOM_BG8      	= BASE + 117;
-		}
-		public static final class button
-		{
-			public final static int LIGHT_1          = BASE + 200;
-			public final static int LIGHT_2          = BASE + 201;
-			public final static int LIGHT_3          = BASE + 202;
-			public final static int LIGHT_4          = BASE + 203;
-			public final static int LIGHT_5          = BASE + 204;
-			public final static int LIGHT_6          = BASE + 205;
-			public final static int LIGHT_7          = BASE + 206;
-			public final static int LIGHT_8          = BASE + 207;
-
-			public final static int ROOM_1           = BASE + 210;
-			public final static int ROOM_2           = BASE + 211;
-			public final static int ROOM_3           = BASE + 212;
-			public final static int ROOM_4           = BASE + 213;
-			public final static int ROOM_5           = BASE + 214;
-			public final static int ROOM_6           = BASE + 215;
-			public final static int ROOM_7           = BASE + 216;
-			public final static int ROOM_8           = BASE + 217;
-
-			public final static int BATCHOFF_ENABLE  = BASE + 230;
-			public final static int BATCHOFF_DISABLE = BASE + 231;
-		}
-		public static final class text
-		{
-			public final static int ROOM_1           = BASE + 300;
-			public final static int ROOM_2           = BASE + 301;
-			public final static int ROOM_3           = BASE + 302;
-			public final static int ROOM_4           = BASE + 303;
-			public final static int ROOM_5           = BASE + 304;
-			public final static int ROOM_6           = BASE + 305;
-			public final static int ROOM_7           = BASE + 306;
-			public final static int ROOM_8           = BASE + 307;
-		}
-	}
-
-	/**
-	 * 현산향일체형조명일괄소등병합형_멀티스위치
-	 */
-	public static final class LightHdcEachMainScreenID {
-		final static int BASE = screen.LightHdcNEachMainScreen;
-
-		public final static String BR_HDCLIVINGLIGHT = "kr.co.icontrols.wallpadglobalscreen.BR_HDCLIVINGLIGHT";
-		public final static String BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-		public final static String BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-
-			public final static int ROOM_BG1 = BASE + 110;
-			public final static int ROOM_BG2 = BASE + 111;
-			public final static int ROOM_BG3 = BASE + 112;
-			public final static int ROOM_BG4 = BASE + 113;
-			public final static int ROOM_BG5 = BASE + 114;
-			public final static int ROOM_BG6 = BASE + 115;
-			public final static int ROOM_BG7 = BASE + 116;
-			public final static int ROOM_BG8 = BASE + 117;
-			public final static int ROOM_LIV = BASE + 118;
-		}
-
-		public static final class button {
-			public final static int LIGHT_1 = BASE + 200;
-			public final static int LIGHT_2 = BASE + 201;
-			public final static int LIGHT_3 = BASE + 202;
-			public final static int LIGHT_4 = BASE + 203;
-			public final static int LIGHT_5 = BASE + 204;
-			public final static int LIGHT_6 = BASE + 205;
-			public final static int LIGHT_7 = BASE + 206;
-			public final static int LIGHT_8 = BASE + 207;
-			public final static int LIGHT_LIV = BASE + 208;
-
-			public final static int ROOM_1 = BASE + 210;
-			public final static int ROOM_2 = BASE + 211;
-			public final static int ROOM_3 = BASE + 212;
-			public final static int ROOM_4 = BASE + 213;
-			public final static int ROOM_5 = BASE + 214;
-			public final static int ROOM_6 = BASE + 215;
-			public final static int ROOM_7 = BASE + 216;
-			public final static int ROOM_8 = BASE + 217;
-			public final static int ROOM_LIV = BASE + 218;
-
-			public final static int LIVING_P1 = BASE + 220;
-			public final static int LIVING_P2 = BASE + 221;
-
-			public final static int BATCHOFF_ENABLE = BASE + 230;
-			public final static int BATCHOFF_DISABLE = BASE + 231;
-		}
-
-		public static final class text {
-			public final static int ROOM_1 = BASE + 300;
-			public final static int ROOM_2 = BASE + 301;
-			public final static int ROOM_3 = BASE + 302;
-			public final static int ROOM_4 = BASE + 303;
-			public final static int ROOM_5 = BASE + 304;
-			public final static int ROOM_6 = BASE + 305;
-			public final static int ROOM_7 = BASE + 306;
-			public final static int ROOM_8 = BASE + 307;
-			public final static int ROOM_LIV = BASE + 308;
-		}
-	}
-
-	/**
-	 * 현산향일체형조명일괄소등병합형
-	 */
-	public static final class LightHdcLivPopupScreenID {
-		final static int BASE = screen.LightEtcEachMainScreen;
-
-		public final static String BR_HDCLIVINGLIGHT = "kr.co.icontrols.wallpadglobalscreen.BR_HDCLIVINGLIGHT";
-
-		public static final class layout {
-			public final static int LIGHT = BASE + 1;
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-
-			public final static int ROOM_BG1 = BASE + 110;
-			public final static int ROOM_BG2 = BASE + 111;
-			public final static int ROOM_BG3 = BASE + 112;
-			public final static int ROOM_BG4 = BASE + 113;
-			public final static int ROOM_BG5 = BASE + 114;
-			public final static int ROOM_BG6 = BASE + 115;
-			public final static int ROOM_BG7 = BASE + 116;
-			public final static int ROOM_BG8 = BASE + 117;
-		}
-
-		public static final class button {
-			public final static int LIGHT_LIV1 = BASE + 200;
-			public final static int LIGHT_LIV2 = BASE + 201;
-			public final static int LIGHT_LIV3 = BASE + 202;
-			public final static int LIGHT_LIV4 = BASE + 203;
-			public final static int LIGHT_LIV5 = BASE + 204;
-			public final static int LIGHT_LIV6 = BASE + 205;
-
-			public final static int PRESET1 = BASE + 210;
-			public final static int PRESET2 = BASE + 211;
-			public final static int SAVE_P1 = BASE + 212;
-			public final static int SAVE_P2 = BASE + 213;
-
-			public final static int EXIT = BASE + 220;
-			public final static int MANUAL = BASE + 230;
-		}
-
-		public static final class text {
-			public final static int TITLE = BASE + 300;
-		}
-	}
-
-	/* ==========================================================================
-	 * Knx Light
-	 * ========================================================================== */
-	public static final class KnxLight {
-		final static int BASE = screen.LightKnxMainScreen;
-
-		public final static String BR_SMARTDISTRIBUTION = BR_ACTION_BASE + "SMARTDISTRIBUTION" + "(" + BASE + ")";
-		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
-		public final static String BR_LIV_ENERGYMETER = BR_ACTION_BASE + "LIVENERGYMETER" + "(" + BASE + ")";
-		public final static String BR_DC_APU = BR_ACTION_BASE + "DCAPU" + "(" + BASE + ")";
-
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-			public final static int MENT_WARNING = BASE + 101;
-			public final static int MENT_WARNING_ELEC = BASE + 102;
-
-			public final static int Room_BACKGROUND_1 = BASE + 110;
-			public final static int Room_BACKGROUND_2 = BASE + 111;
-			public final static int Room_BACKGROUND_3 = BASE + 112;
-			public final static int Room_BACKGROUND_4 = BASE + 113;
-			public final static int Room_BACKGROUND_5 = BASE + 114;
-			public final static int Room_BACKGROUND_6 = BASE + 115;
-			public final static int Room_BACKGROUND_7 = BASE + 116;
-			public final static int Room_BACKGROUND_8 = BASE + 117;
-			public final static int Room_BACKGROUND_9 = BASE + 118;
-			public final static int Room_BACKGROUND_10 = BASE + 119;
-
-			public final static int Led_Converter = BASE + 120;
-
-		}
-
-		public static final class button {
-			public final static int Room_TITLE_1 = BASE + 210;
-			public final static int Light_Btn_1 = BASE + 250;
-			public final static int Prev_Button = BASE + 290;
-			public final static int Next_Button = BASE + 291;
-			public final static int ALL_EXECUTION = BASE + 292;
-			public final static int ALL_RELEASE = BASE + 293;
-
-		}
-
-		public static final class text {
-			public final static int Room_TITLE_1 = BASE + 310;
-			public final static int Room_TITLE_2 = BASE + 311;
-			public final static int Room_TITLE_3 = BASE + 312;
-			public final static int Room_TITLE_4 = BASE + 313;
-			public final static int Room_TITLE_5 = BASE + 314;
-			public final static int Room_TITLE_6 = BASE + 315;
-			public final static int Room_TITLE_7 = BASE + 316;
-			public final static int Room_TITLE_8 = BASE + 317;
-			public final static int Room_TITLE_9 = BASE + 318;
-
-			public final static int CONCENT_ELEC1_1 = BASE + 310;
-			public final static int CONCENT_ELEC1_2 = BASE + 311;
-			public final static int CONCENT_ELEC1_3 = BASE + 312;
-			public final static int CONCENT_ELEC2_1 = BASE + 313;
-			public final static int CONCENT_ELEC2_2 = BASE + 314;
-			public final static int CONCENT_ELEC2_3 = BASE + 315;
-			public final static int CONCENT_ELEC3_1 = BASE + 316;
-			public final static int CONCENT_ELEC3_2 = BASE + 317;
-			public final static int CONCENT_ELEC3_3 = BASE + 318;
-			public final static int CONCENT_ELEC4_1 = BASE + 319;
-			public final static int CONCENT_ELEC4_2 = BASE + 320;
-			public final static int CONCENT_ELEC4_3 = BASE + 321;
-			public final static int CONCENT_ELEC5_1 = BASE + 321;
-			public final static int CONCENT_ELEC5_2 = BASE + 322;
-			public final static int CONCENT_ELEC5_3 = BASE + 323;
-			public final static int CONCENT_ELEC6_1 = BASE + 324;
-			public final static int CONCENT_ELEC6_2 = BASE + 325;
-			public final static int CONCENT_ELEC6_3 = BASE + 326;
-			public final static int CONCENT_ELEC7_1 = BASE + 327;
-			public final static int CONCENT_ELEC7_2 = BASE + 328;
-			public final static int CONCENT_ELEC7_3 = BASE + 329;
-			public final static int CONCENT_ELEC8_1 = BASE + 330;
-			public final static int CONCENT_ELEC8_2 = BASE + 331;
-			public final static int CONCENT_ELEC8_3 = BASE + 332;
-			public final static int CONCENT_ELEC9_1 = BASE + 333;
-			public final static int CONCENT_ELEC9_2 = BASE + 334;
-			public final static int CONCENT_ELEC9_3 = BASE + 335;
-
-			public final static int PAGE_NUM_TEXT = BASE + 340;
-		}
-	}
-
-
-	/**
-	 * 조명 대외 각실형 - 각방팝업
-	 */
-	public static final class lightEtcEachPopupRoom
-	{
-		final static int BASE = screen.LightEtcEachPopupRoomScreen;
-
-		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-			public final static int LIGHT               = BASE + 1;
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND          = BASE + 100;
-			public final static int ICON_DIM          = BASE + 101;
-		}
-		public static final class button
-		{
-			public final static int EXIT                = BASE + 200;
-
-			public final static int ROOMSEL_LEFT        = BASE + 201;
-			public final static int ROOMSEL_RIGHT       = BASE + 202;
-
-			public final static int LIGHT_1             = BASE + 210;
-			public final static int LIGHT_2             = BASE + 211;
-			public final static int LIGHT_3             = BASE + 212;
-			public final static int LIGHT_4             = BASE + 213;
-			public final static int LIGHT_5             = BASE + 214;
-			public final static int LIGHT_6             = BASE + 215;
-			public final static int LIGHT_7             = BASE + 216;
-			public final static int LIGHT_8             = BASE + 217;
-
-			public final static int ALL_ON              = BASE + 220;
-			public final static int ALL_OFF             = BASE + 221;
-			public final static int ALL_ON_DIM              = BASE + 222;
-			public final static int ALL_OFF_DIM             = BASE + 223;
-			public final static int DIM_DOWN              = BASE + 224;
-			public final static int DIM_UP             = BASE + 225;
-
-			public final static int MANUAL			 	= BASE + 226;
-		}
-		public static final class text
-		{
-			public final static int TITLE               = BASE + 300;
-			public final static int DIM_LELVEL               = BASE + 301;
-		}
-	}
-
-	/**
-	 * 조명 대외 각실형 - 각방팝업
-	 */
-	public static final class lightKnxPopupRoom {
-		final static int BASE = screen.LightKnxPopupRoomScreen;
-
-		public final static String BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
-
-		public static final class layout {
-			public final static int LIGHT = BASE + 1;
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-			public final static int BG_SEEKBAR = BASE + 101;
-		}
-
-		public static final class button {
-			public final static int EXIT = BASE + 200;
-
-			public final static int ROOMSEL_LEFT = BASE + 201;
-			public final static int ROOMSEL_RIGHT = BASE + 202;
-
-			public final static int LIGHT_1 = BASE + 210;
-			public final static int LIGHT_2 = BASE + 211;
-			public final static int LIGHT_3 = BASE + 212;
-			public final static int LIGHT_4 = BASE + 213;
-			public final static int LIGHT_5 = BASE + 214;
-			public final static int LIGHT_6 = BASE + 215;
-			public final static int LIGHT_7 = BASE + 216;
-			public final static int LIGHT_8 = BASE + 217;
-
-			public final static int ALL_ON = BASE + 220;
-			public final static int ALL_OFF = BASE + 221;
-
-			public final static int MANUAL = BASE + 222;
-			public final static int SEEKBAR = BASE + 223;
-		}
-
-		public static final class text {
-			public final static int TITLE = BASE + 300;
-			public final static int TITLE_DIM = BASE + 301;
-		}
-	}
-
-
-	/* ==========================================================================
-	 * ==========================================================================
-	 * Concent
-	 * ==========================================================================
-	 * ========================================================================== */
-	/**
-	 * 콘센트 대외 각실형
-	 */
-	public static final class concentMain
-	{
-		final static int BASE = screen.ConcentMainScreen;
-
-		public final static String  BR_CONCENT = BR_ACTION_BASE + "CONCENT" + "(" + BASE + ")";
-		public final static String  BR_CUTOFF_CONCENT = BR_ACTION_BASE+"_CUTOFF" + "CONCENT" + "(" + BASE + ")";
-
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND       = BASE + 100;
-			public final static int MENT_IMG         = BASE + 101;
-
-			public final static int ROOM_1           = BASE + 110;
-			public final static int ROOM_2           = BASE + 111;
-			public final static int ROOM_3           = BASE + 112;
-			public final static int ROOM_4           = BASE + 113;
-			public final static int ROOM_5           = BASE + 114;
-			public final static int ROOM_6           = BASE + 115;
-		}
-		public static final class button
-		{
-			public final static int CONCENT_1        = BASE + 200;
-			public final static int CONCENT_2        = BASE + 201;
-			public final static int CONCENT_3        = BASE + 202;
-			public final static int CONCENT_4        = BASE + 203;
-			public final static int CONCENT_5        = BASE + 204;
-			public final static int CONCENT_6        = BASE + 205;
-			public final static int CONCENT_7        = BASE + 206;
-			public final static int CONCENT_8        = BASE + 207;
-
-			public final static int ROOM_1           = BASE + 210;
-			public final static int ROOM_2           = BASE + 211;
-			public final static int ROOM_3           = BASE + 212;
-			public final static int ROOM_4           = BASE + 213;
-			public final static int ROOM_5           = BASE + 214;
-			public final static int ROOM_6           = BASE + 215;
-			public final static int ROOM_7           = BASE + 216;
-			public final static int ROOM_8           = BASE + 217;
-
-			public final static int ALL_ON           = BASE + 220;
-			public final static int ALL_OFF          = BASE + 221;
-		}
-		public static final class text
-		{
-			public final static int ROOM_1           = BASE + 300;
-			public final static int ROOM_2           = BASE + 301;
-			public final static int ROOM_3           = BASE + 302;
-			public final static int ROOM_4           = BASE + 303;
-			public final static int ROOM_5           = BASE + 304;
-			public final static int ROOM_6           = BASE + 305;
-
-			public final static int WATT_1           = BASE + 310;
-			public final static int WATT_2           = BASE + 311;
-			public final static int WATT_3           = BASE + 312;
-			public final static int WATT_4           = BASE + 313;
-			public final static int WATT_5           = BASE + 314;
-			public final static int WATT_6           = BASE + 315;
-		}
-	}
-
-	public static final class ConcentPopup
-	{
-		final static int BASE = screen.ConcentPopupScreen;
-
-		public final static String  BR_CONCENT = BR_ACTION_BASE + "CONCENT" + "(" + BASE + ")";
-
-		public static final class layout {
-			public final static int LIGHT = BASE + 1;
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND         = BASE + 100;
-			public final static int BOX1               = BASE + 101;
-			public final static int BOX2               = BASE + 102;
-			public final static int TEXTIMG            = BASE + 103;
-
-			public final static int NOWBOX1            = BASE + 110;
-			public final static int NOWBOX2            = BASE + 111;
-
-			public final static int SETBOX1            = BASE + 120;
-			public final static int SETBOX2            = BASE + 121;
-
-			public final static int CONCENT1           = BASE + 130;
-			public final static int CONCENT2           = BASE + 131;
-			public final static int CONCENT3           = BASE + 132;
-			public final static int CONCENT4           = BASE + 133;
-		}
-		public static final class button
-		{
-			public final static int EXIT                = BASE + 200;
-
-			public final static int ROOMSEL_LEFT        = BASE + 201;
-			public final static int ROOMSEL_RIGHT       = BASE + 202;
-
-			public final static int PAGE_PREV		    = BASE + 203;
-			public final static int PAGE_NEXT		    = BASE + 204;
-
-			public final static int SET1                = BASE + 210;
-			public final static int SET2                = BASE + 211;
-			public final static int SET3                = BASE + 212;
-			public final static int SET4                = BASE + 213;
-
-			public final static int CONCENT1            = BASE + 220;
-			public final static int CONCENT2            = BASE + 221;
-			public final static int CONCENT3            = BASE + 222;
-			public final static int CONCENT4            = BASE + 223;
-
-			public final static int ENERGY1             = BASE + 230;
-			public final static int ENERGY2             = BASE + 231;
-			public final static int ENERGY3             = BASE + 232;
-			public final static int ENERGY4             = BASE + 233;
-
-			public final static int MODE1 = BASE + 240;
-			public final static int MODE2 = BASE + 241;
-			public final static int MODE3 = BASE + 242;
-			public final static int MODE4 = BASE + 243;
-
-			public final static int MANUAL = BASE + 250;
-		}
-		public static final class text
-		{
-			public final static int TITLE               = BASE + 300;
-
-			public final static int NOW1                = BASE + 301;
-			public final static int NOW2                = BASE + 302;
-			public final static int NOW3                = BASE + 303;
-			public final static int NOW4                = BASE + 304;
-
-			public final static int SET1                = BASE + 305;
-			public final static int SET2                = BASE + 306;
-			public final static int SET3                = BASE + 307;
-			public final static int SET4                = BASE + 308;
-		}
-	}
-
-	/* ==========================================================================
-	 * Knx Concent
-	 * ========================================================================== */
-	public static final class KnxConcent {
-		final static int BASE = screen.ConcentKnxMainScreen;
-
-		public final static String BR_SMARTDISTRIBUTION = BR_ACTION_BASE + "SMARTDISTRIBUTION" + "(" + BASE + ")";
-		public final static String BR_ENERGYMODULE = BR_ACTION_BASE + "ENERGYMODULE" + "(" + BASE + ")";
-		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
-		public final static String BR_CUTOFFCONCENT = BR_ACTION_BASE + "CUTOFFCONCENT" + "(" + BASE + ")";
-		public final static String BR_REALTIMEMETER = BR_ACTION_BASE + "REALTIMEMETER" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-			public final static int MENT_WARNING = BASE + 101;
-			public final static int MENT_WARNING2 = BASE + 102;
-
-			public final static int Room_BACKGROUND_1 = BASE + 110;
-			public final static int Room_BACKGROUND_2 = BASE + 111;
-			public final static int Room_BACKGROUND_3 = BASE + 112;
-			public final static int Room_BACKGROUND_4 = BASE + 113;
-			public final static int Room_BACKGROUND_5 = BASE + 114;
-			public final static int Room_BACKGROUND_6 = BASE + 115;
-			public final static int Room_BACKGROUND_7 = BASE + 116;
-			public final static int Room_BACKGROUND_8 = BASE + 117;
-			public final static int Room_BACKGROUND_9 = BASE + 118;
-			public final static int Room_BACKGROUND_10 = BASE + 119;
-
-			public final static int Concent_number1 = BASE + 120;
-			public final static int Concent_number2 = BASE + 121;
-			public final static int Concent_number3 = BASE + 122;
-
-			public final static int CONCENT_ELEC_1 = BASE + 130;
-			public final static int CONCENT_ELEC_2 = BASE + 131;
-			public final static int CONCENT_ELEC_3 = BASE + 132;
-		}
-
-		public static final class button {
-			public final static int Room_TITLE_1 = BASE + 210;
-			public final static int Room_TITLE_2 = BASE + 211;
-			public final static int Room_TITLE_3 = BASE + 212;
-			public final static int Room_TITLE_4 = BASE + 213;
-			public final static int Room_TITLE_5 = BASE + 214;
-			public final static int Room_TITLE_6 = BASE + 215;
-			public final static int Room_TITLE_7 = BASE + 216;
-			public final static int Room_TITLE_8 = BASE + 217;
-			public final static int Room_TITLE_9 = BASE + 218;
-			public final static int Room_TITLE_10 = BASE + 219;
-
-			public final static int Prev_Button = BASE + 250;
-			public final static int Next_Button = BASE + 251;
-
-			public final static int NOW_BUTTON = BASE + 260;
-			public final static int MONTH_BUTTON = BASE + 261;
-
-		}
-
-		public static final class text {
-			public final static int Room_TITLE_1 = BASE + 310;
-			public final static int Room_TITLE_2 = BASE + 311;
-			public final static int Room_TITLE_3 = BASE + 312;
-			public final static int Room_TITLE_4 = BASE + 313;
-			public final static int Room_TITLE_5 = BASE + 314;
-			public final static int Room_TITLE_6 = BASE + 315;
-			public final static int Room_TITLE_7 = BASE + 316;
-			public final static int Room_TITLE_8 = BASE + 317;
-			public final static int Room_TITLE_9 = BASE + 318;
-			public final static int Room_TITLE_10 = BASE + 319;
-
-			public final static int CONCENT_ELEC1_1 = BASE + 320;
-			public final static int CONCENT_ELEC1_2 = BASE + 321;
-			public final static int CONCENT_ELEC1_3 = BASE + 322;
-			public final static int CONCENT_ELEC2_1 = BASE + 323;
-			public final static int CONCENT_ELEC2_2 = BASE + 324;
-			public final static int CONCENT_ELEC2_3 = BASE + 325;
-			public final static int CONCENT_ELEC3_1 = BASE + 326;
-			public final static int CONCENT_ELEC3_2 = BASE + 327;
-			public final static int CONCENT_ELEC3_3 = BASE + 328;
-			public final static int CONCENT_ELEC4_1 = BASE + 329;
-			public final static int CONCENT_ELEC4_2 = BASE + 330;
-			public final static int CONCENT_ELEC4_3 = BASE + 331;
-			public final static int CONCENT_ELEC5_1 = BASE + 331;
-			public final static int CONCENT_ELEC5_2 = BASE + 332;
-			public final static int CONCENT_ELEC5_3 = BASE + 333;
-			public final static int CONCENT_ELEC6_1 = BASE + 334;
-			public final static int CONCENT_ELEC6_2 = BASE + 335;
-			public final static int CONCENT_ELEC6_3 = BASE + 336;
-			public final static int CONCENT_ELEC7_1 = BASE + 337;
-			public final static int CONCENT_ELEC7_2 = BASE + 338;
-			public final static int CONCENT_ELEC7_3 = BASE + 339;
-			public final static int CONCENT_ELEC8_1 = BASE + 340;
-			public final static int CONCENT_ELEC8_2 = BASE + 341;
-			public final static int CONCENT_ELEC8_3 = BASE + 342;
-			public final static int CONCENT_ELEC9_1 = BASE + 343;
-			public final static int CONCENT_ELEC9_2 = BASE + 344;
-			public final static int CONCENT_ELEC9_3 = BASE + 345;
-			public final static int CONCENT_ELEC10_1 = BASE + 346;
-			public final static int CONCENT_ELEC10_2 = BASE + 347;
-			public final static int CONCENT_ELEC10_3 = BASE + 348;
-
-			public final static int PAGE_NUM_TEXT = BASE + 350;
-		}
-	}
-
-	/* ==========================================================================
-	 * SmartDistributionWarningPopUp
-	 * ========================================================================== */
-	public static final class KnxConcentRoomPopUp {
-		final static int BASE = screen.ConcentKnxPopupScreen;
-		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-			public final static int IMAGE = BASE + 101;
-			public final static int WARN_IMAGE = BASE + 102;
-			public final static int EACH_CONCENT1 = BASE + 103;
-			public final static int EACH_CONCENT2 = BASE + 104;
-			public final static int EACH_CONCENT3 = BASE + 105;
-			public final static int EACH_CONCENT4 = BASE + 106;
-			public final static int WARN_IMAGE2 = BASE + 107;
-
-			public final static int CONCENT_AL1 = BASE + 110;
-			public final static int CONCENT_AL2 = BASE + 111;
-			public final static int CONCENT_AL3 = BASE + 112;
-			public final static int CONCENT_AL4 = BASE + 113;
-
-			public final static int EACH_CONNUM1 = BASE + 120;
-			public final static int EACH_CONNUM2 = BASE + 121;
-			public final static int EACH_CONNUM3 = BASE + 122;
-			public final static int EACH_CONNUM4 = BASE + 123;
-
-		}
-
-		public static final class button {
-			public final static int CLOSE = BASE + 200;
-			public final static int ROOM_NEXT = BASE + 201;
-			public final static int ROOM_PREV = BASE + 202;
-			public final static int NEXT = BASE + 203;
-
-			public final static int CONCENT_CUT1 = BASE + 220;
-			public final static int CONCENT_CUT2 = BASE + 221;
-			public final static int CONCENT_CUT3 = BASE + 222;
-			public final static int CONCENT_CUT4 = BASE + 223;
-
-			public final static int CUT_SET1 = BASE + 230;
-			public final static int CUT_SET2 = BASE + 231;
-			public final static int CUT_SET3 = BASE + 232;
-			public final static int CUT_SET4 = BASE + 233;
-
-			public final static int CUT_ACT1 = BASE + 240;
-			public final static int CUT_ACT2 = BASE + 241;
-			public final static int CUT_ACT3 = BASE + 242;
-			public final static int CUT_ACT4 = BASE + 243;
-		}
-
-		public static final class text {
-			public final static int ROOM_TITLE = BASE + 300;
-
-			public final static int CONCENT_AL1 = BASE + 310;
-			public final static int CONCENT_AL2 = BASE + 311;
-			public final static int CONCENT_AL3 = BASE + 312;
-			public final static int CONCENT_AL4 = BASE + 313;
-
-			public final static int CONCENT_CUT1 = BASE + 320;
-			public final static int CONCENT_CUT2 = BASE + 321;
-			public final static int CONCENT_CUT3 = BASE + 322;
-			public final static int CONCENT_CUT4 = BASE + 323;
-
-			public final static int CUT_SET1 = BASE + 330;
-			public final static int CUT_SET2 = BASE + 331;
-			public final static int CUT_SET3 = BASE + 332;
-			public final static int CUT_SET4 = BASE + 333;
-
-		}
-	}
-
-
-
-	/* ==========================================================================
-	 * VentiMainScreenID
-	 * ========================================================================== */
-	public static final class VentiMainScreenID
-	{
-		final static int BASE = screen.VentiMainScreen;
-		public final static String  BR_VENTI = BR_ACTION_BASE + "VENTI" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	      = BASE + 100;
-			public final static int BACKGROUND_SUB    = BASE + 101;
-
-			public final static int FAN               = BASE + 102;
-
-			public final static int LINE1             = BASE + 103;
-			public final static int LINE2             = BASE + 104;
-			public final static int RESERVATION       = BASE + 105;
-
-			public final static int WIND_TITLE        = BASE + 106;
-
-			public final static int TIMER_TITLE       = BASE + 107;
-			public final static int TIMER_BLANK       = BASE + 108;
-
-			public final static int FILLTER_CHANGE    = BASE + 109;
-
-			public final static int BYPASS_TITLE      = BASE + 110;
-			public final static int HEATER_TITLE      = BASE + 111;
-
-			public final static int ONOFF_TITLE       = BASE + 112;
-			public final static int RESERVATION_TITLE = BASE + 113;
-
-			public final static int AUTODRIVING_TITLE = BASE + 114;
-			public final static int BATHROOM_TITLE    = BASE + 115;
-
-			public final static int BACKGROUND_BOX    = BASE + 116;
-		}
-		public static final class button
-		{
-			public final static int RESERVATION_SET   = BASE + 200;
-			public final static int ONOFF             = BASE + 201;
-
-			public final static int WIND_1            = BASE + 202;
-			public final static int WIND_2            = BASE + 203;
-			public final static int WIND_3            = BASE + 204;
-
-			public final static int TIMER_LEFT        = BASE + 205;
-			public final static int TIMER_RIGHT       = BASE + 206;
-
-			public final static int BYPASS            = BASE + 207;
-			public final static int HEATER            = BASE + 208;
-
-			public final static int FILLTER_CHANGE    = BASE + 209;
-
-			public final static int AUTODRIVING       = BASE + 210;
-			public final static int BATHROOM          = BASE + 211;
-
-			public final static int INNERCYCLE        = BASE + 220;
-			public final static int OUTAIRCLEAN       = BASE + 221;
-
-			public final static int SLEEP	          = BASE + 222;
-			public final static int FILLTER_SERVICE    = BASE + 223;
-
-			public final static int VENTIBTN = BASE + 230;
-			public final static int VENTIFILTERBTN = BASE + 240;
-		}
-		public static final class text
-		{
-			public final static int TITLE             = BASE + 300;
-			public final static int HEATER_TIME       = BASE + 301;
-
-			public final static int ONOFF_TITLE       = BASE + 302;
-			public final static int RESERV_TITLE      = BASE + 303;
-			public final static int EXHAUSTION_TITLE  = BASE + 304;
-			public final static int WIND_POWER_TITLE  = BASE + 305;
-			public final static int BYPASS_TITLE      = BASE + 306;
-			public final static int TIMER_TITLE       = BASE + 307;
-			public final static int HEATER_TITLE      = BASE + 308;
-			public final static int TIMER_TEXT        = BASE + 309;
-			public final static int AUTODRIVING_TITLE = BASE + 310;
-			public final static int SLEEP_TITLE 	  = BASE + 311;
-			public final static int INNER_CYCLE_TITLE = BASE + 312;
-			public final static int OUTAIR_TITLE 	  = BASE + 313;
-
-			public final static int VENTI_TITLE = BASE + 320;
-			public final static int VENTI_ERROR = BASE + 330;
-		}
-	}
-
-	public static final class VentilationMainScreenID {
-		final static int BASE = screen.VentilationMainScreen;
-		public final static String  BR_VENTI = BR_ACTION_BASE + "VENTI" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class IMG {
-			public final static int BACKGROUND	      = BASE + 100;
-			public final static int BACKGROUND_SUB    = BASE + 101;
-			public final static int FAN               = BASE + 102;
-			public final static int LINE1             = BASE + 103;
-			public final static int LINE2             = BASE + 104;
-			public final static int RESERVATION       = BASE + 105;
-			public final static int WIND_TITLE        = BASE + 106;
-			public final static int TIMER_TITLE       = BASE + 107;
-			public final static int TIMER_BLANK       = BASE + 108;
-			public final static int FILLTER_CHANGE    = BASE + 109;
-			public final static int BYPASS_TITLE      = BASE + 110;
-			public final static int HEATER_TITLE      = BASE + 111;
-			public final static int ONOFF_TITLE       = BASE + 112;
-			public final static int RESERVATION_TITLE = BASE + 113;
-			public final static int AUTODRIVING_TITLE = BASE + 114;
-			public final static int BATHROOM_TITLE    = BASE + 115;
-			public final static int BACKGROUND_BOX    = BASE + 116;
-			public final static int AIRQUALITY_STATUS_PM10 = BASE + 117;
-			public final static int AIRQUALITY_STATUS_PM2p5 = BASE + 118;
-			public final static int AIRQUALITY_STATUS_CO2 = BASE + 119;
-		}
-
-		public static final class BTN {
-			public final static int RESERVATION_SET   = BASE + 200;
-			public final static int ONOFF_POWER = BASE + 201;
-			public final static int WIND_1            = BASE + 202;
-			public final static int WIND_2            = BASE + 203;
-			public final static int WIND_3            = BASE + 204;
-			public final static int TIMER_LEFT        = BASE + 205;
-			public final static int TIMER_RIGHT       = BASE + 206;
-			public final static int MODE_BYPASS = BASE + 207;
-			public final static int ONOFF_HEATER = BASE + 208;
-			public final static int FILLTER_CHANGE    = BASE + 209;
-			public final static int MODE_AUTODRIVING = BASE + 210;
-			public final static int BATHROOM          = BASE + 211;
-			public final static int MODE_INNERCYCLE = BASE + 220;
-			public final static int MODE_OUTAIRCLEAN = BASE + 221;
-			public final static int MODE_SLEEP = BASE + 222;
-			public final static int FILLTER_SERVICE    = BASE + 223;
-			public final static int MODE_NORMAL = BASE + 224;
-			public final static int ONOFF_AUTOCLEAN = BASE + 225;
-			public final static int ONOFF_RESERVATION = BASE + 226;
-		}
-
-		public static final class TXT {
-			public final static int TITLE             = BASE + 300;
-			public final static int TITLE_ONOFF_POWER = BASE + 301;
-			public final static int TITLE_ONOFF_AUTOCLEAN = BASE + 302;
-			public final static int TITLE_ONOFF_RESERVATION = BASE + 303;
-			public final static int TITLE_ONOFF_HEATER = BASE + 304;
-			public final static int TITLE_ONOFF_SLEEP = BASE + 305;
-			public final static int TITLE_ONOFF_MODE_AUTO = BASE + 306;
-			public final static int TITLE_VENTILMODE = BASE + 307;
-			public final static int TITLE_WINDVOL = BASE + 308;
-			public final static int TITLE_TIMER = BASE + 309;
-			public final static int HEATER_TIME = BASE + 320;
-			public final static int TIMER_VALUE = BASE + 321;
-			public final static int INSTRUCTION = BASE + 322;
-			public final static int ALARM_MESSAGE = BASE + 323;
-			public final static int AIRQUALITY_TITLE_PM10 	  = BASE + 350;
-			public final static int AIRQUALITY_TITLE_PM2p5 	  = BASE + 351;
-			public final static int AIRQUALITY_TITLE_CO2 	  = BASE + 352;
-			public final static int AIRQUALITY_STATUS_PM10 	  = BASE + 353;
-			public final static int AIRQUALITY_STATUS_PM2p5 	  = BASE + 354;
-			public final static int AIRQUALITY_STATUS_CO2 	  = BASE + 355;
-			public final static int AIRQUALITY_FIGURE_PM10 	  = BASE + 356;
-			public final static int AIRQUALITY_FIGURE_PM2p5 	  = BASE + 357;
-			public final static int AIRQUALITY_FIGURE_CO2 	  = BASE + 358;
-		}
-	}
-
-	public static final class VentiPopup_Reservation
-	{
-		final static int BASE = screen.VentiPopupReservationScreen;
-
-		public final static String  BR_VENTI_RESERVATION = BR_ACTION_BASE + "VENTI_RESERVATION" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	      = BASE + 100;
-			public final static int BOX1              = BASE + 101;
-			public final static int BOX2              = BASE + 102;
-			public final static int MAINTITLE         = BASE + 103;
-			public final static int SUBTITLE          = BASE + 104;
-		}
-		public static final class button
-		{
-			public final static int EXIT              = BASE + 200;
-
-			public final static int START_STOP        = BASE + 201;
-			public final static int AMPM              = BASE + 202;
-
-			public final static int TIME_1            = BASE + 203;
-			public final static int TIME_2            = BASE + 204;
-			public final static int TIME_3            = BASE + 205;
-			public final static int TIME_4            = BASE + 206;
-			public final static int TIME_5            = BASE + 207;
-			public final static int TIME_6            = BASE + 208;
-			public final static int TIME_7            = BASE + 209;
-			public final static int TIME_8            = BASE + 210;
-			public final static int TIME_9            = BASE + 211;
-			public final static int TIME_10           = BASE + 212;
-			public final static int TIME_11           = BASE + 213;
-			public final static int TIME_12           = BASE + 214;
-			public final static int MANUAL            = BASE + 215;
-		}
-		public static final class text
-		{
-			public final static int MAINTITLE		  = BASE + 300;
-			public final static int ONOFFTITLE		  = BASE + 301;
-
-		}
-	}
-
-	public static final class VentiPopup_Alarm {
-		final static int BASE = screen.VentiPopupAlarmScreen;
-
-		public static final class kind {
-			public final static int ReservationClear  = BASE + 1;
-			public final static int HeaterOn          = BASE + 2;
-			public final static int FilterReset       = BASE + 3;
-			public final static int SafeMode          = BASE + 4;
-			public final static int HDCAutoAirCleanOn = BASE + 5;
-			public final static int CancelHDCAutoAirCleanNRunReservation = BASE + 6;
-			public final static int CancelReservationNRunAutoAirClean = BASE + 7;
-			public final static int AirQualityFanWarning = BASE + 8;
-			public final static int TurnOnVentilPower = BASE + 9;
-			public final static int DeviceError = BASE + 10;
-		}
-
-		public static final class image {
-			public final static int BACKGROUND        = BASE + 100;
-			public final static int IMAGE             = BASE + 101;
-		}
-
-		public static final class button {
-			public final static int OK                = BASE + 200;
-			public final static int CANCEL            = BASE + 201;
-		}
-
-		public static final class text {
-			public final static int TEXT1             = BASE + 300;
-			public final static int TEXT2             = BASE + 301;
-			public final static int TEXT3             = BASE + 302;
-			public final static int TEXT4             = BASE + 303;
-
-		}
-	}
-
-	public static final class VentiPopup_Service
-	{
-		final static int BASE = screen.VentiPopupServiceScreen;
-
-		//public final static String  BR_VENTI_RESERVATION = BR_ACTION_BASE + "VENTI_RESERVATION" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	      = BASE + 100;
-			public final static int IMAGE             = BASE + 101;
-		}
-		public static final class button
-		{
-			public final static int OK				  = BASE + 200;
-		}
-		public static final class text
-		{
-			public final static int TEXT1			  = BASE + 300;
-			public final static int TEXT2			  = BASE + 301;
-		}
-	}
-	/* ==========================================================================
-	 * CookTopConcentMainScreenID
-	 * ========================================================================== */
-	public static final class CookTopConcentMainScreenID
-	{
-		final static int BASE = screen.CookTopConcentMainScreen;
-		public final static String  BR_CookTopConcent = BR_ACTION_BASE + "CookTopConcent" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	    = BASE + 100;
-			public final static int STATUS_IMG      = BASE + 101;
-		}
-		public static final class button
-		{
-			public final static int CLOSE			= BASE + 200;
-		}
-		public static final class text
-		{
-			public final static int TITLE             = BASE + 300;
-			public final static int STATUS            = BASE + 301;
-		}
-	}
-
-	/* ==========================================================================
-	 * CookTopConcentMainScreenID
-	 * ========================================================================== */
-
-
-    /* ==========================================================================
-     * GasMainScreenID
-     * ========================================================================== */
-    public static final class GasMainScreenID
-    {
-        final static int BASE = screen.GasMainScreen;
-        public final static String  BR_GAS = BR_ACTION_BASE + "GAS" + "(" + BASE + ")";
-
-        public static final class layout
-        {
-        }
-        public static final class image
-        {
-            public final static int BACKGROUND	    = BASE + 100;
-			public final static int STATUS_IMG      = BASE + 101;
-        }
-        public static final class button
-        {
-			public final static int CLOSE			= BASE + 200;
-        }
-        public static final class text
-        {
-            public final static int TITLE             = BASE + 300;
-			public final static int STATUS            = BASE + 301;
-        }
-    }
-
-	/* ==========================================================================
-	 * GasMainScreenID
-	 * ========================================================================== */
-	public static final class ElectricRangeMainScreenID
-	{
-		final static int BASE = screen.ElectricRangeScreen;
-		public final static String  BR_ELECTRIC_RANGE = BR_ACTION_BASE + "ELECTRIC_RANGE" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	    = BASE + 100;
-			public final static int RANGE_AREA	    = BASE + 101;
-			public final static int STATUS_IMG      = BASE + 102;
-
-			public final static int LEVEL_IMG_1      = BASE + 110;
-			public final static int LEVEL_IMG_2      = BASE + 111;
-			public final static int LEVEL_IMG_3      = BASE + 112;
-			public final static int LEVEL_IMG_4      = BASE + 113;
-			public final static int LEVEL_IMG_5      = BASE + 114;
-			public final static int LEVEL_IMG_6      = BASE + 115;
-			public final static int LEVEL_IMG_7      = BASE + 116;
-			public final static int LEVEL_IMG_8      = BASE + 117;
-			public final static int LEVEL_IMG_9      = BASE + 118;
-			public final static int LEVEL_IMG_T      = BASE + 119;
-
-			public final static int NUMBERING_IMG_1      = BASE + 120;
-			public final static int NUMBERING_IMG_2      = BASE + 121;
-			public final static int NUMBERING_IMG_3      = BASE + 122;
-			public final static int NUMBERING_IMG_4      = BASE + 123;
-			public final static int NUMBERING_IMG_5      = BASE + 124;
-			public final static int NUMBERING_IMG_6      = BASE + 125;
-		}
-		public static final class button
-		{
-			public final static int FIREHOLE_1			= BASE + 200;
-			public final static int FIREHOLE_2			= BASE + 201;
-			public final static int FIREHOLE_3			= BASE + 202;
-			public final static int FIREHOLE_4			= BASE + 203;
-			public final static int FIREHOLE_5			= BASE + 204;
-			public final static int FIREHOLE_6			= BASE + 205;
-
-			public final static int ALLOFF				= BASE + 210;
-		}
-		public static final class text
-		{
-			public final static int TITLE             = BASE + 300;
-			public final static int STATUS            = BASE + 301;
-
-			public final static int KIND_TEXT_1            = BASE + 310;
-			public final static int KIND_TEXT_2            = BASE + 311;
-			public final static int KIND_TEXT_3            = BASE + 312;
-			public final static int KIND_TEXT_4            = BASE + 313;
-			public final static int KIND_TEXT_5            = BASE + 314;
-			public final static int KIND_TEXT_6            = BASE + 315;
-
-			public final static int MODE_TEXT_1            = BASE + 320;
-			public final static int MODE_TEXT_2            = BASE + 321;
-			public final static int MODE_TEXT_3            = BASE + 322;
-			public final static int MODE_TEXT_4            = BASE + 323;
-			public final static int MODE_TEXT_5            = BASE + 324;
-			public final static int MODE_TEXT_6            = BASE + 325;
-
-			public final static int ONOFF_TEXT_1            = BASE + 330;
-			public final static int ONOFF_TEXT_2            = BASE + 331;
-			public final static int ONOFF_TEXT_3            = BASE + 332;
-			public final static int ONOFF_TEXT_4            = BASE + 333;
-			public final static int ONOFF_TEXT_5            = BASE + 334;
-			public final static int ONOFF_TEXT_6            = BASE + 335;
-
-			public final static int LEVEL_TEXT_1            = BASE + 340;
-			public final static int LEVEL_TEXT_2            = BASE + 341;
-			public final static int LEVEL_TEXT_3            = BASE + 342;
-			public final static int LEVEL_TEXT_4            = BASE + 343;
-			public final static int LEVEL_TEXT_5            = BASE + 344;
-			public final static int LEVEL_TEXT_6            = BASE + 345;
-
-			public final static int TIMER_TEXT_1            = BASE + 350;
-			public final static int TIMER_TEXT_2            = BASE + 351;
-			public final static int TIMER_TEXT_3            = BASE + 352;
-			public final static int TIMER_TEXT_4            = BASE + 353;
-			public final static int TIMER_TEXT_5            = BASE + 354;
-			public final static int TIMER_TEXT_6            = BASE + 355;
-
-			public final static int CTR_WARN_MENT           = BASE + 356;
-		}
-	}
-
-
-	/* ==========================================================================
- 	* ==========================================================================
- 	* DoorLock
- 	* ==========================================================================
- 	* ========================================================================== */
-	public static final class DoorLockMainScreenID
-	{
-		final static int BASE = screen.DoorLockMainScreen;
-
-		public final static String  BR_DOORLOCK = BR_ACTION_BASE + "DOORLOCK" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	    = BASE + 100;
-			public final static int STATUS_IMG      = BASE + 101;
-		}
-		public static final class button
-		{
-			public final static int OPEN			= BASE + 200;
-		}
-		public static final class text
-		{
-			public final static int STATUS		 	= BASE + 300;
-		}
-	}
-
-
-	/* ==========================================================================
-	 * ==========================================================================
-	 * COOKTOP
-	 * ==========================================================================
-	 * ========================================================================== */
-	public static final class HybridCookTopmain
-	{
-		final static int BASE = screen.HybridCookTopMainScreen;
-
-		public final static String  BR_COOKTOP = BR_ACTION_BASE + "HYBRIDCOOKTOP_MAIN" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND        = BASE + 100;
-
-			public final static int ROOM_BACKGROUND_1 = BASE + 110;
-			public final static int ROOM_BACKGROUND_2 = BASE + 111;
-			public final static int ROOM_BACKGROUND_3 = BASE + 112;
-			public final static int ROOM_BACKGROUND_4 = BASE + 113;
-			public final static int ROOM_BACKGROUND_5 = BASE + 114;
-			public final static int ROOM_BACKGROUND_6 = BASE + 115;
-
-			public final static int ROOM_FIRE_1       = BASE + 120;
-			public final static int ROOM_FIRE_2       = BASE + 121;
-			public final static int ROOM_FIRE_3       = BASE + 122;
-			public final static int ROOM_FIRE_4       = BASE + 123;
-			public final static int ROOM_FIRE_5       = BASE + 124;
-			public final static int ROOM_FIRE_6       = BASE + 125;
-		}
-		public static final class button
-		{
-			public final static int ALL_OFF         = BASE + 200;
-
-			public final static int ROOM_TITLE_1        = BASE + 210;
-			public final static int ROOM_TITLE_2        = BASE + 211;
-			public final static int ROOM_TITLE_3        = BASE + 212;
-			public final static int ROOM_TITLE_4        = BASE + 213;
-			public final static int ROOM_TITLE_5        = BASE + 214;
-			public final static int ROOM_TITLE_6        = BASE + 215;
-			public final static int ROOM_TITLE_7        = BASE + 216;
-			public final static int ROOM_TITLE_8        = BASE + 217;
-			public final static int ROOM_TITLE_9        = BASE + 210;
-			public final static int ROOM_TITLE_10        = BASE + 211;
-			public final static int ROOM_TITLE_11        = BASE + 212;
-			public final static int ROOM_TITLE_12        = BASE + 213;
-			public final static int ROOM_TITLE_13        = BASE + 214;
-			public final static int ROOM_TITLE_14        = BASE + 215;
-			public final static int ROOM_TITLE_15        = BASE + 216;
-
-			public final static int ROOM_ONOFF_1        = BASE + 220;
-			public final static int ROOM_ONOFF_2        = BASE + 221;
-			public final static int ROOM_ONOFF_3        = BASE + 222;
-			public final static int ROOM_ONOFF_4        = BASE + 223;
-			public final static int ROOM_ONOFF_5        = BASE + 224;
-			public final static int ROOM_ONOFF_6        = BASE + 225;
-			public final static int ROOM_ONOFF_7        = BASE + 226;
-			public final static int ROOM_ONOFF_8        = BASE + 227;
-			public final static int ROOM_ONOFF_9        = BASE + 228;
-			public final static int ROOM_ONOFF_10        = BASE + 229;
-			public final static int ROOM_ONOFF_11        = BASE + 230;
-			public final static int ROOM_ONOFF_12        = BASE + 231;
-			public final static int ROOM_ONOFF_13        = BASE + 232;
-			public final static int ROOM_ONOFF_14        = BASE + 233;
-			public final static int ROOM_ONOFF_15        = BASE + 234;
-
-			public final static int LEFT_MOVE_BTN     	= BASE + 235;
-			public final static int RIGHT_MOVE_BTN    	= BASE + 236;
-		}
-		public static final class text
-		{
-			public final static int TYPE_TITLE_1        = BASE + 300;
-			public final static int TYPE_TITLE_2        = BASE + 301;
-			public final static int TYPE_TITLE_3        = BASE + 302;
-			public final static int TYPE_TITLE_4        = BASE + 303;
-			public final static int TYPE_TITLE_5        = BASE + 304;
-			public final static int TYPE_TITLE_6        = BASE + 305;
-			public final static int TYPE_TITLE_7        = BASE + 306;
-			public final static int TYPE_TITLE_8        = BASE + 307;
-			public final static int TYPE_TITLE_9        = BASE + 308;
-			public final static int TYPE_TITLE_10        = BASE + 309;
-			public final static int TYPE_TITLE_11        = BASE + 310;
-			public final static int TYPE_TITLE_12        = BASE + 311;
-			public final static int TYPE_TITLE_13        = BASE + 312;
-			public final static int TYPE_TITLE_14        = BASE + 313;
-			public final static int TYPE_TITLE_15        = BASE + 314;
-
-			public final static int STATUS_1        = BASE + 315;
-			public final static int STATUS_2        = BASE + 316;
-			public final static int STATUS_3        = BASE + 317;
-			public final static int STATUS_4        = BASE + 318;
-			public final static int STATUS_5        = BASE + 319;
-			public final static int STATUS_6        = BASE + 320;
-			public final static int STATUS_7        = BASE + 321;
-			public final static int STATUS_8        = BASE + 322;
-			public final static int STATUS_9        = BASE + 323;
-			public final static int STATUS_10        = BASE + 324;
-			public final static int STATUS_11       = BASE + 325;
-			public final static int STATUS_12        = BASE + 326;
-			public final static int STATUS_13        = BASE + 327;
-			public final static int STATUS_14        = BASE + 328;
-			public final static int STATUS_15        = BASE + 329;
-
-			public final static int ERROR_1        = BASE + 340;
-			public final static int ERROR_2        = BASE + 341;
-			public final static int ERROR_3        = BASE + 342;
-			public final static int ERROR_4        = BASE + 343;
-			public final static int ERROR_5        = BASE + 344;
-			public final static int ERROR_6        = BASE + 345;
-			public final static int ERROR_7        = BASE + 346;
-			public final static int ERROR_8        = BASE + 347;
-			public final static int ERROR_9        = BASE + 348;
-			public final static int ERROR_10        = BASE + 349;
-			public final static int ERROR_11       = BASE + 350;
-			public final static int ERROR_12        = BASE + 351;
-			public final static int ERROR_13        = BASE + 352;
-			public final static int ERROR_14        = BASE + 353;
-			public final static int ERROR_15        = BASE + 354;
-
-
-			public final static int PAGE_TEXT		    = BASE + 340;
-		}
-	}
-
-
-	/* ==========================================================================
-	 * ==========================================================================
-	 * HEATING
-	 * ==========================================================================
-	 * ========================================================================== */
-	public static final class heatingV1main
-	{
-		final static int BASE = screen.HeatingV1MainScreen;
-
-		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV1_MAIN" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND        = BASE + 100;
-
-			public final static int ROOM_BACKGROUND_1 = BASE + 110;
-			public final static int ROOM_BACKGROUND_2 = BASE + 111;
-			public final static int ROOM_BACKGROUND_3 = BASE + 112;
-			public final static int ROOM_BACKGROUND_4 = BASE + 113;
-			public final static int ROOM_BACKGROUND_5 = BASE + 114;
-			public final static int ROOM_BACKGROUND_6 = BASE + 115;
-
-			public final static int ROOM_FIRE_1       = BASE + 120;
-			public final static int ROOM_FIRE_2       = BASE + 121;
-			public final static int ROOM_FIRE_3       = BASE + 122;
-			public final static int ROOM_FIRE_4       = BASE + 123;
-			public final static int ROOM_FIRE_5       = BASE + 124;
-			public final static int ROOM_FIRE_6       = BASE + 125;
-		}
-		public static final class button
-		{
-			public final static int ALL_EXECUTION       = BASE + 200;
-
-			public final static int ROOM_TITLE_1        = BASE + 210;
-			public final static int ROOM_TITLE_2        = BASE + 211;
-			public final static int ROOM_TITLE_3        = BASE + 212;
-			public final static int ROOM_TITLE_4        = BASE + 213;
-			public final static int ROOM_TITLE_5        = BASE + 214;
-			public final static int ROOM_TITLE_6        = BASE + 215;
-
-			public final static int ROOM_ONOFF_1        = BASE + 220;
-			public final static int ROOM_ONOFF_2        = BASE + 221;
-			public final static int ROOM_ONOFF_3        = BASE + 222;
-			public final static int ROOM_ONOFF_4        = BASE + 223;
-			public final static int ROOM_ONOFF_5        = BASE + 224;
-			public final static int ROOM_ONOFF_6        = BASE + 225;
-			public final static int ALL_RELEASE 		= BASE + 226;
-		}
-		public static final class text
-		{
-			public final static int ROOM_TITLE_1        = BASE + 300;
-			public final static int ROOM_TITLE_2        = BASE + 301;
-			public final static int ROOM_TITLE_3        = BASE + 302;
-			public final static int ROOM_TITLE_4        = BASE + 303;
-			public final static int ROOM_TITLE_5        = BASE + 304;
-			public final static int ROOM_TITLE_6        = BASE + 305;
-
-			public final static int ROOM_MODE_1         = BASE + 310;
-			public final static int ROOM_MODE_2         = BASE + 311;
-			public final static int ROOM_MODE_3         = BASE + 312;
-			public final static int ROOM_MODE_4         = BASE + 313;
-			public final static int ROOM_MODE_5         = BASE + 314;
-			public final static int ROOM_MODE_6         = BASE + 315;
-
-			public final static int ROOM_NOWTEMP_1      = BASE + 320;
-			public final static int ROOM_NOWTEMP_2      = BASE + 321;
-			public final static int ROOM_NOWTEMP_3      = BASE + 322;
-			public final static int ROOM_NOWTEMP_4      = BASE + 323;
-			public final static int ROOM_NOWTEMP_5      = BASE + 324;
-			public final static int ROOM_NOWTEMP_6      = BASE + 325;
-
-			public final static int ROOM_SETTEMP_1      = BASE + 330;
-			public final static int ROOM_SETTEMP_2      = BASE + 331;
-			public final static int ROOM_SETTEMP_3      = BASE + 332;
-			public final static int ROOM_SETTEMP_4      = BASE + 333;
-			public final static int ROOM_SETTEMP_5      = BASE + 334;
-			public final static int ROOM_SETTEMP_6      = BASE + 335;
-		}
-	}
-
-
-	public static final class heatingV1Popup
-	{
-		public final static int BASE = screen.HeatingV2PopupScreen;
-
-		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND          = BASE + 10;
-			public final static int BACKGROUND_RESERV   = BASE + 11;
-			public final static int BACKGROUND_SLEEP    = BASE + 12;
-		}
-		public static final class button
-		{
-			public final static int EXIT                = BASE + 20;
-
-			public final static int ROOMSEL_LEFT        = BASE + 21;
-			public final static int ROOMSEL_RIGHT       = BASE + 22;
-
-			public final static int TAP_DEFAULT         = BASE + 23;
-			public final static int TAP_RESERVATION     = BASE + 24;
-			public final static int TAP_SLEEP           = BASE + 25;
-
-			public final static int MANUAL	            = BASE + 26;
-		}
-		public static final class text
-		{
-			public final static int TITLE               = BASE + 30;
-			public final static int TAB_DEFAULT         = BASE + 31;
-			public final static int TAB_RESERV          = BASE + 32;
-			public final static int TAB_SLEEP           = BASE + 33;
-		}
-
-		// Tab Default
-		public static final class tabDefault
-		{
-			public final static int BASE = heatingV2Popup.BASE + 100;
-
-			public static final class layout
-			{
-				public final static int ALL                 = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1                = BASE + 10;
-				public final static int BOX2                = BASE + 11;
-				public final static int BOXTEXT_1           = BASE + 12;
-				public final static int BOXTEXT_2           = BASE + 13;
-				public final static int NOWTEMP_BOX         = BASE + 14;
-				public final static int SETTEMP_BOX         = BASE + 15;
-				public final static int MODE_BOX            = BASE + 16;
-				public final static int FIRE                = BASE + 17;
-			}
-			public static final class button
-			{
-				public final static int ONOFF               = BASE + 20;
-
-				public final static int HEATING             = BASE + 21;
-				public final static int RESERVATION         = BASE + 22;
-				public final static int SLEEP               = BASE + 23;
-				public final static int OUTING              = BASE + 24;
-
-				public final static int TEMP_UP             = BASE + 25;
-				public final static int TEMP_DN             = BASE + 26;
-			}
-			public static final class text
-			{
-				public final static int DRV_MODE             = BASE + 30;
-
-				public final static int NOW_TEMP             = BASE + 31;
-				public final static int SET_TEMP             = BASE + 32;
-
-			}
-		}
-
-		// Tab Reserbation
-		public static final class tabReserbation
-		{
-			public final static int BASE = heatingV2Popup.BASE + 200;
-
-			public static final class layout
-			{
-				public final static int ALL               = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1              = BASE + 10;
-				public final static int BOXTEXT_1         = BASE + 11;
-			}
-			public static final class button
-			{
-				public final static int AMPM              = BASE + 20;
-
-				public final static int TIME_1            = BASE + 21;
-				public final static int TIME_2            = BASE + 22;
-				public final static int TIME_3            = BASE + 23;
-				public final static int TIME_4            = BASE + 24;
-				public final static int TIME_5            = BASE + 25;
-				public final static int TIME_6            = BASE + 26;
-				public final static int TIME_7            = BASE + 27;
-				public final static int TIME_8            = BASE + 28;
-				public final static int TIME_9            = BASE + 29;
-				public final static int TIME_10           = BASE + 30;
-				public final static int TIME_11           = BASE + 31;
-				public final static int TIME_12           = BASE + 32;
-			}
-			public static final class text
-			{
-			}
-		}
-
-		// Tab Sleep
-		public static final class tabSleep
-		{
-			public final static int BASE = heatingV2Popup.BASE + 300;
-
-			public static final class layout
-			{
-				public final static int ALL                 = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1                = BASE + 10;
-				public final static int BOX2                = BASE + 11;
-				public final static int BOXTEXT_1           = BASE + 12;
-				public final static int BOXTEXT_2           = BASE + 13;
-				public final static int BOXBLANK1           = BASE + 14;
-				public final static int BOXBLANK2           = BASE + 15;
-			}
-			public static final class button
-			{
-				public final static int TIME_LEFT           = BASE + 20;
-				public final static int TIME_RIGHT          = BASE + 21;
-				public final static int TEMP_LEFT           = BASE + 22;
-				public final static int TEMP_RIGHT          = BASE + 23;
-			}
-			public static final class text
-			{
-				public final static int TIME                = BASE + 30;
-				public final static int TEMP                = BASE + 31;
-			}
-		}
-	}
-
-	public static final class heatingV2main
-	{
-		final static int BASE = screen.HeatingV2MainScreen;
-
-		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_MAIN" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND        = BASE + 100;
-
-			public final static int ROOM_BACKGROUND_1 = BASE + 110;
-			public final static int ROOM_BACKGROUND_2 = BASE + 111;
-			public final static int ROOM_BACKGROUND_3 = BASE + 112;
-			public final static int ROOM_BACKGROUND_4 = BASE + 113;
-			public final static int ROOM_BACKGROUND_5 = BASE + 114;
-			public final static int ROOM_BACKGROUND_6 = BASE + 115;
-
-			public final static int ROOM_FIRE_1       = BASE + 120;
-			public final static int ROOM_FIRE_2       = BASE + 121;
-			public final static int ROOM_FIRE_3       = BASE + 122;
-			public final static int ROOM_FIRE_4       = BASE + 123;
-			public final static int ROOM_FIRE_5       = BASE + 124;
-			public final static int ROOM_FIRE_6       = BASE + 125;
-		}
-		public static final class button
-		{
-			public final static int ALL_EXECUTION       = BASE + 200;
-			public final static int ALL_RELEASE         = BASE + 201;
-			public final static int ALL_ON       = BASE + 202;
-			public final static int ALL_OFF         = BASE + 203;
-
-			public final static int ROOM_TITLE_1        = BASE + 210;
-			public final static int ROOM_TITLE_2        = BASE + 211;
-			public final static int ROOM_TITLE_3        = BASE + 212;
-			public final static int ROOM_TITLE_4        = BASE + 213;
-			public final static int ROOM_TITLE_5        = BASE + 214;
-			public final static int ROOM_TITLE_6        = BASE + 215;
-			public final static int ROOM_TITLE_7        = BASE + 216;
-			public final static int ROOM_TITLE_8        = BASE + 217;
-
-			public final static int ROOM_ONOFF_1        = BASE + 220;
-			public final static int ROOM_ONOFF_2        = BASE + 221;
-			public final static int ROOM_ONOFF_3        = BASE + 222;
-			public final static int ROOM_ONOFF_4        = BASE + 223;
-			public final static int ROOM_ONOFF_5        = BASE + 224;
-			public final static int ROOM_ONOFF_6        = BASE + 225;
-			public final static int ROOM_ONOFF_7        = BASE + 226;
-			public final static int ROOM_ONOFF_8        = BASE + 227;
-
-			public final static int LEFT_MOVE_BTN     	= BASE + 230;
-			public final static int RIGHT_MOVE_BTN    	= BASE + 231;
-		}
-		public static final class text
-		{
-			public final static int ROOM_TITLE_1        = BASE + 300;
-			public final static int ROOM_TITLE_2        = BASE + 301;
-			public final static int ROOM_TITLE_3        = BASE + 302;
-			public final static int ROOM_TITLE_4        = BASE + 303;
-			public final static int ROOM_TITLE_5        = BASE + 304;
-			public final static int ROOM_TITLE_6        = BASE + 305;
-			public final static int ROOM_TITLE_7        = BASE + 306;
-			public final static int ROOM_TITLE_8        = BASE + 307;
-
-			public final static int ROOM_MODE_1         = BASE + 310;
-			public final static int ROOM_MODE_2         = BASE + 311;
-			public final static int ROOM_MODE_3         = BASE + 312;
-			public final static int ROOM_MODE_4         = BASE + 313;
-			public final static int ROOM_MODE_5         = BASE + 314;
-			public final static int ROOM_MODE_6         = BASE + 315;
-			public final static int ROOM_MODE_7         = BASE + 316;
-			public final static int ROOM_MODE_8         = BASE + 317;
-
-			public final static int ROOM_NOWTEMP_1      = BASE + 320;
-			public final static int ROOM_NOWTEMP_2      = BASE + 321;
-			public final static int ROOM_NOWTEMP_3      = BASE + 322;
-			public final static int ROOM_NOWTEMP_4      = BASE + 323;
-			public final static int ROOM_NOWTEMP_5      = BASE + 324;
-			public final static int ROOM_NOWTEMP_6      = BASE + 325;
-			public final static int ROOM_NOWTEMP_7      = BASE + 326;
-			public final static int ROOM_NOWTEMP_8      = BASE + 327;
-
-			public final static int ROOM_SETTEMP_1      = BASE + 330;
-			public final static int ROOM_SETTEMP_2      = BASE + 331;
-			public final static int ROOM_SETTEMP_3      = BASE + 332;
-			public final static int ROOM_SETTEMP_4      = BASE + 333;
-			public final static int ROOM_SETTEMP_5      = BASE + 334;
-			public final static int ROOM_SETTEMP_6      = BASE + 335;
-			public final static int ROOM_SETTEMP_7      = BASE + 336;
-			public final static int ROOM_SETTEMP_8      = BASE + 337;
-
-			public final static int PAGE_TEXT		    = BASE + 340;
-		}
-	}
-
-	public static final class heatingV2Popup
-	{
-		public final static int BASE = screen.HeatingV2PopupScreen;
-
-		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND          = BASE + 10;
-			public final static int BACKGROUND_RESERV   = BASE + 11;
-			public final static int BACKGROUND_SLEEP    = BASE + 12;
-		}
-		public static final class button
-		{
-			public final static int EXIT                = BASE + 20;
-
-			public final static int ROOMSEL_LEFT        = BASE + 21;
-			public final static int ROOMSEL_RIGHT       = BASE + 22;
-
-			public final static int TAP_DEFAULT         = BASE + 23;
-			public final static int TAP_RESERVATION     = BASE + 24;
-			public final static int TAP_SLEEP           = BASE + 25;
-
-			public final static int MANUAL	            = BASE + 26;
-		}
-		public static final class text
-		{
-			public final static int TITLE               = BASE + 30;
-            public final static int TAB_DEFAULT         = BASE + 31;
-            public final static int TAB_RESERV          = BASE + 32;
-            public final static int TAB_SLEEP           = BASE + 33;
-		}
-
-		// Tab Default
-		public static final class tabDefault
-		{
-			public final static int BASE = heatingV2Popup.BASE + 100;
-
-			public static final class layout
-			{
-				public final static int ALL                 = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1                = BASE + 10;
-				public final static int BOX2                = BASE + 11;
-				public final static int BOXTEXT_1           = BASE + 12;
-				public final static int BOXTEXT_2           = BASE + 13;
-				public final static int NOWTEMP_BOX         = BASE + 14;
-				public final static int SETTEMP_BOX         = BASE + 15;
-				public final static int MODE_BOX            = BASE + 16;
-				public final static int FIRE                = BASE + 17;
-			}
-			public static final class button
-			{
-				public final static int ONOFF               = BASE + 20;
-
-				public final static int HEATING             = BASE + 21;
-				public final static int RESERVATION         = BASE + 22;
-				public final static int SLEEP               = BASE + 23;
-				public final static int OUTING              = BASE + 24;
-
-				public final static int TEMP_UP             = BASE + 25;
-				public final static int TEMP_DN             = BASE + 26;
-			}
-			public static final class text
-			{
-				public final static int DRV_MODE             = BASE + 30;
-
-				public final static int NOW_TEMP             = BASE + 31;
-				public final static int SET_TEMP             = BASE + 32;
-
-			}
-		}
-
-		// Tab Reserbation
-		public static final class tabReserbation
-		{
-			public final static int BASE = heatingV2Popup.BASE + 200;
-
-			public static final class layout
-			{
-				public final static int ALL               = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1              = BASE + 10;
-				public final static int BOXTEXT_1         = BASE + 11;
-			}
-			public static final class button
-			{
-				public final static int AMPM              = BASE + 20;
-
-				public final static int TIME_1            = BASE + 21;
-				public final static int TIME_2            = BASE + 22;
-				public final static int TIME_3            = BASE + 23;
-				public final static int TIME_4            = BASE + 24;
-				public final static int TIME_5            = BASE + 25;
-				public final static int TIME_6            = BASE + 26;
-				public final static int TIME_7            = BASE + 27;
-				public final static int TIME_8            = BASE + 28;
-				public final static int TIME_9            = BASE + 29;
-				public final static int TIME_10           = BASE + 30;
-				public final static int TIME_11           = BASE + 31;
-				public final static int TIME_12           = BASE + 32;
-			}
-			public static final class text
-			{
-			}
-		}
-
-		// Tab Sleep
-		public static final class tabSleep
-		{
-			public final static int BASE = heatingV2Popup.BASE + 300;
-
-			public static final class layout
-			{
-				public final static int ALL                 = BASE + 0;
-			}
-			public static final class image
-			{
-				public final static int BOX1                = BASE + 10;
-				public final static int BOX2                = BASE + 11;
-				public final static int BOXTEXT_1           = BASE + 12;
-				public final static int BOXTEXT_2           = BASE + 13;
-				public final static int BOXBLANK1           = BASE + 14;
-				public final static int BOXBLANK2           = BASE + 15;
-			}
-			public static final class button
-			{
-				public final static int TIME_LEFT           = BASE + 20;
-				public final static int TIME_RIGHT          = BASE + 21;
-				public final static int TEMP_LEFT           = BASE + 22;
-				public final static int TEMP_RIGHT          = BASE + 23;
-			}
-			public static final class text
-			{
-				public final static int TIME                = BASE + 30;
-				public final static int TEMP                = BASE + 31;
-			}
-		}
-	}
-
-	public static final class heatingV2Popup_Boiler
-	{
-		final static int BASE = screen.HeatingV2PopupBoilerScreen;
-
-		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP_BOILER" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	       = BASE + 100;
-
-			public final static int MAINTITLE          = BASE + 101;
-
-			public final static int BOX1               = BASE + 110;
-			public final static int BOX2               = BASE + 111;
-			public final static int BOX3               = BASE + 112;
-			public final static int BOX4               = BASE + 113;
-
-			public final static int BOXTEXT1           = BASE + 120;
-			public final static int BOXTEXT2           = BASE + 121;
-			public final static int BOXTEXT3           = BASE + 122;
-			public final static int BOXTEXT4           = BASE + 123;
-
-			public final static int BOXBLANK1          = BASE + 130;
-			public final static int BOXBLANK2          = BASE + 131;
-			public final static int BOXBLANK3          = BASE + 132;
-			public final static int BOXBLANK4          = BASE + 133;
-		}
-		public static final class button
-		{
-			public final static int EXIT                = BASE + 200;
-			public final static int HEATING_WATER_LEFT	= BASE + 201;
-			public final static int HEATING_WATER_RIGHT	= BASE + 202;
-			public final static int HOT_WATER_LEFT      = BASE + 203;
-			public final static int HOT_WATER_RIGHT     = BASE + 204;
-			public final static int MANUAL			    = BASE + 205;
-
-		}
-		public static final class text
-		{
-			public final static int HEATINGWATER        = BASE + 300;
-			public final static int HOTWATER            = BASE + 301;
-			public final static int FROSTPROTECTMODE    = BASE + 302;
-			public final static int ERRORCODE           = BASE + 303;
-			public final static int ASNOTI              = BASE + 304;
-			public final static int TITLE              	= BASE + 305;
-			public final static int HEATINGWATER_TITLE  = BASE + 306;
-			public final static int HOTWATER_TITLE      = BASE + 307;
-			public final static int FROST_TITLE      	= BASE + 308;
-			public final static int ERRCODE_TITLE 		= BASE + 309;
-		}
-	}
-
-
-	/* ==========================================================================
-	 * AirQualityMainScreenID
-	 * ========================================================================== */
-	public static final class AirQualityMainScreenID {
-		final static int BASE = screen.AirQualityMainScreen;
-		public final static String  BR_AIRQUALITY = BR_ACTION_BASE + "AIRQUALITY" + "(" + BASE + ")";
-
-		public static final class layout {
-
-		}
-
-		public static final class image {
-			public final static int BACKGROUND	   		 = BASE + 100;
-			public final static int BACKGROUND_LINE	 	 = BASE + 101;
-			public final static int STATUS_IMG_DUST      = BASE + 102;
-			public final static int STATUS_IMG_FINEDUST  = BASE + 103;
-			public final static int STATUS_IMG_CO2       = BASE + 104;
-		}
-
-		public static final class button {
-			public final static int DUST_INFO_BTN 		 = BASE + 200;
-			public final static int VENTI_RUN_BTN 		 = BASE + 201;
-			public final static int CTRL_LEDBRIGHTNESS 		 = BASE + 202;
-			public final static int CTRL_FANMODE 		 = BASE + 203;
-		}
-
-		public static final class text {
-			public final static int TITLE_DUST        		= BASE + 300;
-			public final static int TITLE_FINEDUST     		= BASE + 301;
-			public final static int TITLE_CO2            	= BASE + 302;
-			public final static int STATUS_DUST_TEXT        = BASE + 303;
-			public final static int STATUS_FINEDUST_TEXT    = BASE + 304;
-			public final static int STATUS_CO2_TEXT         = BASE + 305;
-			public final static int STATUS_DUST_VALUE       = BASE + 306;
-			public final static int STATUS_FINEDUST_VALUE   = BASE + 307;
-			public final static int STATUS_CO2_VALUE        = BASE + 308;
-		}
-	}
-
-	/* ==========================================================================
-	 * AirQualityMainScreenID
-	 * ========================================================================== */
-	public static final class DustInfoScreenID
-	{
-		final static int BASE = screen.AirQualityMainScreen;
-		public final static String  DustInfoScreen = BR_ACTION_BASE + "DUSTINFO" + "(" + BASE + ")";
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND	   		 = BASE + 100;
-
-			public final static int FACE_1		   		 = BASE + 101;
-			public final static int FACE_2		   		 = BASE + 102;
-			public final static int FACE_3		   		 = BASE + 103;
-			public final static int FACE_4		   		 = BASE + 104;
-			public final static int FACE_5		   		 = BASE + 105;
-			public final static int FACE_6		   		 = BASE + 106;
-			public final static int FACE_7		   		 = BASE + 107;
-			public final static int FACE_8		   		 = BASE + 108;
-
-		}
-		public static final class button
-		{
-		}
-		public static final class text
-		{
-			public final static int TEXT_DUST_BEST        		= BASE + 300;
-			public final static int TEXT_DUST_GOOD        		= BASE + 301;
-			public final static int TEXT_DUST_FINE        		= BASE + 302;
-			public final static int TEXT_DUST_NORMAL        	= BASE + 303;
-			public final static int TEXT_DUST_BAD        		= BASE + 304;
-			public final static int TEXT_DUST_QUITE_BAD    		= BASE + 305;
-			public final static int TEXT_DUST_WORSE        		= BASE + 306;
-			public final static int TEXT_DUST_WORST        		= BASE + 307;
-
-			public final static int TEXT_FINEDUST_BEST        	= BASE + 308;
-			public final static int TEXT_FINEDUST_GOOD        	= BASE + 309;
-			public final static int TEXT_FINEDUST_FINE        	= BASE + 310;
-			public final static int TEXT_FINEDUST_NORMAL        = BASE + 311;
-			public final static int TEXT_FINEDUST_BAD        	= BASE + 312;
-			public final static int TEXT_FINEDUST_QUITE_BAD     = BASE + 313;
-			public final static int TEXT_FINEDUST_WORSE        	= BASE + 314;
-			public final static int TEXT_FINEDUST_WORST        	= BASE + 315;
-
-			public final static int TEXT_CO2_BEST        		= BASE + 316;
-			public final static int TEXT_CO2_GOOD        		= BASE + 317;
-			public final static int TEXT_CO2_FINE        		= BASE + 318;
-			public final static int TEXT_CO2_NORMAL	        	= BASE + 319;
-			public final static int TEXT_CO2_BAD        		= BASE + 320;
-			public final static int TEXT_CO2_QUITE_BAD        	= BASE + 321;
-			public final static int TEXT_CO2_WORSE        		= BASE + 322;
-			public final static int TEXT_CO2_WORST        		= BASE + 323;
-
-			public final static int TEXT_DUST_STEP_TITLE   		= BASE + 324;
-			public final static int TEXT_MAIN_EXPLAIN   		= BASE + 325;
-			public final static int TEXT_SUB_EXPLAIN   			= BASE + 326;
-			public final static int TEXT_DUST   				= BASE + 327;
-			public final static int TEXT_FINEDUST  				= BASE + 328;
-			public final static int TEXT_CO2   					= BASE + 329;
-
-			public final static int TEXT_STEP_1					= BASE + 330;
-			public final static int TEXT_STEP_2					= BASE + 331;
-			public final static int TEXT_STEP_3					= BASE + 332;
-			public final static int TEXT_STEP_4					= BASE + 333;
-			public final static int TEXT_STEP_5					= BASE + 334;
-			public final static int TEXT_STEP_6					= BASE + 335;
-			public final static int TEXT_STEP_7					= BASE + 336;
-			public final static int TEXT_STEP_8					= BASE + 337;
-
-		}
-	}
-
-
-	/* ==========================================================================
-	 * AsCallPopupID
-	 * ========================================================================== */
-	public static final class AsCallPopupID
-	{
-		final static int BASE = screen.AsCallPopupScreen;
-
-		public static final class layout
-		{
-		}
-		public static final class image
-		{
-			public final static int BACKGROUND        = BASE + 100;
-		}
-		public static final class button
-		{
-		}
-		public static final class text
-		{
-			public final static int TITLE       = BASE + 300;
-		}
-	}
-
-	/* ==========================================================================
-	 * ==========================================================================
-	 * MANUAL
-	 * ==========================================================================
-	 * ========================================================================== */
-	public static final class MANUAL
-	{
-		public final static int MANUAL_HdcLivingLight      	= 51000;   	// 현산 거실조명 매뉴얼
-		public final static int MANUAL_HdcLivingGroup     	= 52000;   	// 거실조명 그룹설정 매뉴얼
-		public final static int MANUAL_EtcLivingLight      	= 53000;   	// 대외 거실스위치 매뉴얼
-		public final static int MANUAL_EtcMultiLight      	= 54000;   	// 대외 멀티스위치 매뉴얼
-		public final static int MANUAL_EtcMultiLightPop    	= 54500;   	// 대외 멀티스위치 팝업 매뉴얼
-		public final static int MANUAL_Heating      		= 55000;   	// 난방 매뉴얼
-		public final static int MANUAL_HeatingPop      		= 55400;   	// 난방 팝업 매뉴얼
-		public final static int MANUAL_HeatingBoilerPop		= 55700;   	// 난방 보일러 매뉴얼
-		public final static int MANUAL_Gas           		= 56000;   	// 가스 매뉴얼
-		public final static int MANUAL_CookTopConcent		=56500; //   쿡탑콘센트 메뉴얼
-		public final static int MANUAL_Doorlock         	= 57000;   	// 도어락 매뉴얼
-		public final static int MANUAL_Concent         		= 58000;   	// 콘센트(멀티스위치) 매뉴얼
-		public final static int MANUAL_ConcentPop      		= 58500;   	// 콘센트(멀티스위치) 매뉴얼
-		public final static int MANUAL_Venti     			= 59000;   	// 환기 매뉴얼
-		public final static int MANUAL_VentiPop    			= 59500;   	// 환기 매뉴얼
-		public final static int MANUAL_Easymode_Venti       = 63000;   	// 환기 간편모드 매뉴얼
-		public final static int MANUAL_Ventilation		    = 64000;    // 자동청정 환기 매뉴얼
-		public final static int MANUAL_InAirQual     		= 60000;   	// 실내공기질 매뉴얼
-		public final static int MANUAL_AirInfo     			= 61000;   	// 실내공기정보(기준) 매뉴얼
-		public final static int MANUAL_ElecRange     		= 62000;   	// 전기레인지 매뉴얼
-
-		public static final class HdcLivingLight_MANUAL
-		{
-			final static int BASE = MANUAL_HdcLivingLight;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND      = BASE + 100;
-
-					public final static int DIM_LINE   		= BASE + 101;
-					public final static int COR_LINE      	= BASE + 102;
-
-					public final static int MENU_LINE 		= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int JOG_INFO   		= BASE + 200;
-					public final static int DIM_INFO   		= BASE + 201;
-					public final static int COR_INFO      	= BASE + 202;
-
-					public final static int MENU_LINE 		= BASE + 203;
-				}
-			}
-		}
-
-		public static final class HdcLivingGroup_MANUAL
-		{
-			final static int BASE = MANUAL_HdcLivingGroup;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 		= BASE + 100;
-
-					public final static int GROUP_IMGE1 	= BASE + 101;
-
-					public final static int MENU_LINE 		= BASE + 102;
-				}
-
-				public static final class TEXT
-				{
-					public final static int GROUP_INFO1 	= BASE + 200;
-					public final static int GROUP_INFO2 	= BASE + 201;
-					public final static int GROUP_INFO3 	= BASE + 202;
-
-					public final static int MENU_LINE 		= BASE + 203;
-				}
-			}
-		}
-
-		public static final class EtcLivingLight_MANUAL
-		{
-			final static int BASE = MANUAL_EtcLivingLight;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND = BASE + 100;
-
-					public final static int LIGHT_ZONE_LINE = BASE + 101;
-					public final static int BATCH_ZONE_LINE = BASE + 102;
-					public final static int MENU_LINE 		= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int LIGHT_ZONE_LINE = BASE + 201;
-					public final static int BATCH_ZONE_LINE = BASE + 202;
-					public final static int EXPLAIN_LINE 	= BASE + 203;
-					public final static int MENU_LINE 		= BASE + 204;
-				}
-			}
-		}
-
-		public static final class EtcMultiLight_MANUAL
-		{
-			final static int BASE = MANUAL_EtcMultiLight;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND = BASE + 100;
-
-					public final static int LIGHT_ZONE_LINE 	= BASE + 101;
-					public final static int BATCH_ZONE_LINE 	= BASE + 102;
-					public final static int KCCDIM_ZONE_LINE 	= BASE + 103;
-					public final static int MENU_LINE 			= BASE + 104;
-				}
-
-				public static final class TEXT
-				{
-					public final static int LIGHT_ZONE_LINE 	= BASE + 201;
-					public final static int BATCH_ZONE_LINE 	= BASE + 202;
-					public final static int EXPLAIN_LINE 		= BASE + 203;
-					public final static int KCCDIM_ZONE_LINE 	= BASE + 204;
-					public final static int MENU_LINE 			= BASE + 205;
-				}
-			}
-		}
-
-		public static final class EtcMultiLightPop_MANUAL
-		{
-			final static int BASE = MANUAL_EtcMultiLightPop;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 		= BASE + 100;
-
-					public final static int LIGHT_ZONE_LINE = BASE + 101;
-					public final static int ALL_ON_LINE 	= BASE + 102;
-					public final static int ALL_OFF_LINE 	= BASE + 103;
-					public final static int MENU_LINE 		= BASE + 104;
-				}
-
-				public static final class TEXT
-				{
-					public final static int LIGHT_ZONE_LINE = BASE + 201;
-					public final static int ALL_ON_LINE 	= BASE + 202;
-					public final static int ALL_OFF_LINE 	= BASE + 203;
-					public final static int MENU_LINE 		= BASE + 204;
-				}
-			}
-		}
-
-		public static final class EtcConcent_MANUAL
-		{
-			final static int BASE = MANUAL_Concent;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 			= BASE + 100;
-
-					public final static int CONCENT_ROOM_LINE 	= BASE + 101;
-					public final static int BATCH_ZONE_LINE 	= BASE + 102;
-					public final static int MENU_LINE 			= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int CONCENT_ROOM_LINE 	= BASE + 200;
-					public final static int BATCH_ZONE_LINE 	= BASE + 201;
-					public final static int MENU_LINE 			= BASE + 202;
-				}
-			}
-		}
-
-		public static final class EtcConcentPop_MANUAL
-		{
-			final static int BASE = MANUAL_ConcentPop;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 			= BASE + 100;
-
-					public final static int CUT_ON_LINE 		= BASE + 101;
-					public final static int CUT_SETTING_LINE 	= BASE + 102;
-					public final static int MENU_LINE 			= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int CUT_ON_LINE 		= BASE + 201;
-					public final static int CUT_SETTING_LINE 	= BASE + 202;
-					public final static int MENU_LINE 			= BASE + 203;
-				}
-			}
-		}
-
-		public static final class Heating_MANUAL
-		{
-			final static int BASE = MANUAL_Heating;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 		= BASE + 100;
-
-					public final static int BATCH_ON 		= BASE + 101;
-					public final static int BATCH_OFF 		= BASE + 102;
-					public final static int BOILER_LINE 	= BASE + 103;
-					public final static int ROOMNAME_LINE 	= BASE + 104;
-					public final static int STATE_LINE 		= BASE + 105;
-					public final static int VALVE_LINE 		= BASE + 106;
-					public final static int ONOFF_LINE 		= BASE + 107;
-					public final static int NOWTEMP_LINE 	= BASE + 108;
-					public final static int SETTEMP_LINE 	= BASE + 109;
-
-					public final static int MENU_LINE 		= BASE + 110;
-				}
-
-				public static final class TEXT
-				{
-					public final static int BATCH_ON 		= BASE + 201;
-					public final static int BATCH_OFF 		= BASE + 202;
-					public final static int BOILER_LINE 	= BASE + 203;
-					public final static int ROOMNAME_LINE 	= BASE + 204;
-					public final static int STATE_LINE 		= BASE + 205;
-					public final static int VALVE_LINE 		= BASE + 206;
-					public final static int ONOFF_LINE 		= BASE + 207;
-					public final static int NOWTEMP_LINE 	= BASE + 208;
-					public final static int SETTEMP_LINE 	= BASE + 209;
-
-					public final static int MENU_LINE 		= BASE + 210;
-				}
-			}
-		}
-
-		public static final class HeatingPop_MANUAL
-		{
-			final static int BASE = MANUAL_HeatingPop;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 		= BASE + 100;
-
-					public final static int TITLE_LINE 		= BASE + 101;
-					public final static int VALVE_LINE 		= BASE + 102;
-					public final static int ONOFF_LINE 		= BASE + 103;
-					public final static int NOWTEMP_LINE 	= BASE + 104;
-					public final static int SETTEMP_LINE 	= BASE + 105;
-					public final static int SETCTR_LINE		= BASE + 106;
-					public final static int RESERVE_DN_LINE = BASE + 107;
-					public final static int RESERVE_TBOX 	= BASE + 108;
-					public final static int SLEEP_DRVTIME 	= BASE + 109;
-					public final static int SLEEP_SETTEMP 	= BASE + 110;
-				}
-
-				public static final class TEXT
-				{
-					public final static int TITLE_LINE 		= BASE + 201;
-					public final static int VALVE_LINE 		= BASE + 202;
-					public final static int ONOFF_LINE 		= BASE + 203;
-					public final static int NOWTEMP_LINE 	= BASE + 204;
-					public final static int SETTEMP_LINE 	= BASE + 205;
-					public final static int SETCTR_LINE		= BASE + 206;
-					public final static int RESERVE_DN_LINE	= BASE + 207;
-					public final static int RESERVE_TBOX	= BASE + 208;
-					public final static int SLEEP_DRVTIME	= BASE + 209;
-					public final static int SLEEP_SETTEMP	= BASE + 210;
-				}
-			}
-		}
-
-		public static final class HeatingBoilerPop_MANUAL
-		{
-			final static int BASE = MANUAL_HeatingBoilerPop;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 			= BASE + 100;
-
-					public final static int HEATWATER_LINE 		= BASE + 101;
-					public final static int HOTWATER_LINE 		= BASE + 102;
-					public final static int ANTI_FROZEN_LINE 	= BASE + 103;
-					public final static int ERRORCODE_LINE 		= BASE + 104;
-				}
-
-				public static final class TEXT
-				{
-					public final static int HEATWATER_LINE 		= BASE + 101;
-					public final static int HOTWATER_LINE 		= BASE + 102;
-					public final static int ANTI_FROZEN_LINE 	= BASE + 103;
-					public final static int ERRORCODE_LINE 		= BASE + 104;
-				}
-			}
-		}
-
-		public static final class Gas_MANUAL
-		{
-			final static int BASE = MANUAL_Gas;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int STATE_LINE 				= BASE + 101;
-					public final static int CLOSE_BTN_LINE 			= BASE + 102;
-					public final static int MENU_LINE 				= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int STATE_INFO 				= BASE + 201;
-					public final static int CLOSE_BTN_INFO 			= BASE + 202;
-					public final static int MENU_LINE 				= BASE + 203;
-				}
-			}
-		}
-
-		public static final class CookTopConcent_MANUAL
-		{
-			final static int BASE = MANUAL_CookTopConcent;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int STATE_LINE 				= BASE + 101;
-					public final static int CLOSE_BTN_LINE 			= BASE + 102;
-					public final static int MENU_LINE 				= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int STATE_INFO 				= BASE + 201;
-					public final static int CLOSE_BTN_INFO 			= BASE + 202;
-					public final static int MENU_LINE 				= BASE + 203;
-				}
-			}
-		}
-
-		public static final class Doorlock_MANUAL
-		{
-			final static int BASE = MANUAL_Doorlock;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int STATE_LINE 				= BASE + 101;
-					public final static int OPEN_BTN_LINE 			= BASE + 102;
-					public final static int MENU_LINE 				= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int STATE_INFO 				= BASE + 201;
-					public final static int OPEN_BTN_INFO 			= BASE + 202;
-					public final static int MENU_LINE 				= BASE + 203;
-				}
-			}
-		}
-
-		public static final class Venti_MANUAL
-	{
-		final static int BASE = MANUAL_Venti;
-
-		public static final class ELEMENT
-		{
-			public static final class IMAGE
-			{
-				public final static int BACKGROUND 				= BASE + 100;
-
-				public final static int RESERVE_BTN_LINE 		= BASE + 101;
-				public final static int WIND_POWER_LINE 		= BASE + 102;
-				public final static int TIEMR_LINE		 		= BASE + 103;
-				public final static int BYPASS_LINE 			= BASE + 104;
-				public final static int HEATER_LINE 			= BASE + 105;
-				public final static int MENU_LINE 				= BASE + 106;
-			}
-
-			public static final class TEXT
-			{
-				public final static int RESERVE_BTN_LINE 		= BASE + 201;
-				public final static int WIND_POWER_LINE 		= BASE + 202;
-				public final static int TIEMR_LINE		 		= BASE + 103;
-				public final static int BYPASS_LINE 			= BASE + 204;
-				public final static int HEATER_LINE 			= BASE + 205;
-				public final static int MENU_LINE 				= BASE + 206;
-			}
-		}
-	}
-
-		public static final class VentiPop_MANUAL
-		{
-			final static int BASE = MANUAL_VentiPop;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int AMPM_BTN_LINE			= BASE + 101;
-					public final static int TIME_BTN_LINE			= BASE + 102;
-					public final static int ONOFF_BTN_LINE			= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int AMPM_BTN_LINE			= BASE + 201;
-					public final static int TIME_BTN_LINE			= BASE + 202;
-					public final static int ONOFF_BTN_LINE			= BASE + 203;
-				}
-			}
-		}
-
-		public static final class VentiPop_Easymode_MANUAL
-		{
-			final static int BASE = MANUAL_Easymode_Venti;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int RESERVE_BTN_LINE 		= BASE + 101;
-					public final static int WIND_POWER_LINE 		= BASE + 102;
-					public final static int TIEMR_LINE		 		= BASE + 103;
-					public final static int BYPASS_LINE 			= BASE + 104;
-					public final static int HEATER_LINE 			= BASE + 105;
-					public final static int MENU_LINE 				= BASE + 106;
-				}
-
-				public static final class TEXT
-				{
-					public final static int RESERVE_BTN_LINE 		= BASE + 201;
-					public final static int WIND_POWER_LINE 		= BASE + 202;
-					public final static int TIEMR_LINE		 		= BASE + 103;
-					public final static int BYPASS_LINE 			= BASE + 204;
-					public final static int HEATER_LINE 			= BASE + 205;
-					public final static int MENU_LINE 				= BASE + 206;
-				}
-			}
-		}
-
-
-		public static final class Ventilation_MANUAL
-		{
-			final static int BASE = MANUAL_Ventilation;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-					public final static int MENU_LINE 				= BASE + 101;
-					public final static int PREV_BTN				= BASE + 102;
-					public final static int NEXT_BTN				= BASE + 103;
-
-					public final static int AIR_ANIMATE 			= BASE + 104;
-					public final static int CURRENT_STATE			= BASE + 105;
-					public final static int POWER_BTN				= BASE + 106;
-					public final static int RESERVE_BTN				= BASE + 107;
-					public final static int AUTO_BTN				= BASE + 108;
-					public final static int WIND_BTN				= BASE + 109;
-					public final static int TIMER_BTN				= BASE + 110;
-					public final static int FILTER_BTN				= BASE + 111;
-					public final static int MODE_INFO				= BASE + 112;
-				}
-
-				public static final class TEXT
-				{
-					public final static int MENU_LINE 				= BASE + 201;
-					public final static int PAGE_TEXT				= BASE + 202;
-					public final static int AIR_ANIMATE 			= BASE + 203;
-					public final static int CURRENT_STATE			= BASE + 204;
-					public final static int POWER_BTN				= BASE + 205;
-					public final static int RESERVE_BTN				= BASE + 206;
-					public final static int AUTO_BTN				= BASE + 207;
-					public final static int WIND_BTN				= BASE + 208;
-					public final static int TIMER_BTN				= BASE + 209;
-					public final static int FILTER_BTN				= BASE + 210;
-					public final static int MODE_INFO				= BASE + 211;
-				}
-			}
-		}
-
-
-		public static final class InAirQual_MANUAL
-		{
-			final static int BASE = MANUAL_InAirQual;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int INFO_BTN_LINE 			= BASE + 101;
-					public final static int VENTIRUN_BTN_LINE 		= BASE + 102;
-					public final static int MENU_LINE 				= BASE + 103;
-					public final static int LED_BRIGHT				= BASE + 104;
-					public final static int FANMODE					= BASE + 105;
-				}
-
-				public static final class TEXT
-				{
-					public final static int INFO_BTN_LINE 			= BASE + 201;
-					public final static int VENTIRUN_BTN_LINE 		= BASE + 202;
-					public final static int MENU_LINE 				= BASE + 203;
-					public final static int LED_BRIGHT				= BASE + 204;
-					public final static int FANMODE					= BASE + 205;
-				}
-			}
-		}
-
-		public static final class AirInfo_MANUAL
-		{
-			final static int BASE = MANUAL_AirInfo;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int TIMEZONE_LINE 			= BASE + 101;
-					public final static int OK_BTN_LINE 			= BASE + 102;
-					public final static int MENU_LINE 				= BASE + 103;
-				}
-
-				public static final class TEXT
-				{
-					public final static int TIMEZONE_INFO 			= BASE + 201;
-					public final static int OK_BTN_INFO 			= BASE + 202;
-					public final static int MENU_LINE 				= BASE + 203;
-				}
-			}
-		}
-
-		public static final class ElecRange_MANUAL
-		{
-			final static int BASE = MANUAL_ElecRange;
-
-			public static final class ELEMENT
-			{
-				public static final class IMAGE
-				{
-					public final static int BACKGROUND 				= BASE + 100;
-
-					public final static int FIREHOLE_LINE 			= BASE + 101;
-					public final static int HIGHLIGHT_EXPLAIN 		= BASE + 102;
-					public final static int INDUCTION_EXPLAIN 		= BASE + 103;
-					public final static int ALLOFF_BTN_LINE 		= BASE + 104;
-					public final static int MENU_LINE 				= BASE + 105;
-				}
-
-				public static final class TEXT
-				{
-					public final static int FIREHOLE_LINE 			= BASE + 201;
-					public final static int HIGHLIGHT_EXPLAIN 		= BASE + 202;
-					public final static int INDUCTION_EXPLAIN 		= BASE + 203;
-					public final static int ALLOFF_BTN_LINE 		= BASE + 204;
-					public final static int MENU_LINE 				= BASE + 205;
-				}
-			}
-		}
-	}
-
-
-	/* ==========================================================================
-	 * ==========================================================================
-	 * SYSTEM AIRCON
-	 * ==========================================================================
-	 * ========================================================================== */
-	public static final class SystemAirconMain {
-		final static int BASE = screen.SystemAirconMainScreen;
-
-		public final static String BR_AIRCON = BR_ACTION_BASE + "AIRCON_MAIN" + "(" + BASE + ")";
-		public final static String BR_LOUVER = BR_ACTION_BASE + "LOUVER_MAIN" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-
-			public final static int UNIT_BACKGROUND_01 = BASE + 110;
-			public final static int UNIT_BACKGROUND_02 = BASE + 111;
-			public final static int UNIT_BACKGROUND_03 = BASE + 112;
-			public final static int UNIT_BACKGROUND_04 = BASE + 113;
-			public final static int UNIT_BACKGROUND_05 = BASE + 114;
-			public final static int UNIT_BACKGROUND_06 = BASE + 115;
-
-			public final static int UNIT_AIRVOLUME_01 = BASE + 120;
-			public final static int UNIT_AIRVOLUME_02 = BASE + 121;
-			public final static int UNIT_AIRVOLUME_03 = BASE + 122;
-			public final static int UNIT_AIRVOLUME_04 = BASE + 123;
-			public final static int UNIT_AIRVOLUME_05 = BASE + 124;
-			public final static int UNIT_AIRVOLUME_06 = BASE + 125;
-
-			public final static int UNIT_AIRSWING_01 = BASE + 130;
-			public final static int UNIT_AIRSWING_02 = BASE + 131;
-			public final static int UNIT_AIRSWING_03 = BASE + 132;
-			public final static int UNIT_AIRSWING_04 = BASE + 133;
-			public final static int UNIT_AIRSWING_05 = BASE + 134;
-			public final static int UNIT_AIRSWING_06 = BASE + 135;
-		}
-
-		public static final class button {
-			public final static int ENTIRE_POWER = BASE + 200;
-
-			public final static int UNIT_TITLE_01 = BASE + 210;
-			public final static int UNIT_TITLE_02 = BASE + 211;
-			public final static int UNIT_TITLE_03 = BASE + 212;
-			public final static int UNIT_TITLE_04 = BASE + 213;
-			public final static int UNIT_TITLE_05 = BASE + 214;
-			public final static int UNIT_TITLE_06 = BASE + 215;
-			public final static int UNIT_TITLE_07 = BASE + 216;
-			public final static int UNIT_TITLE_08 = BASE + 217;
-			public final static int UNIT_TITLE_09 = BASE + 218;
-			public final static int UNIT_TITLE_10 = BASE + 219;
-			public final static int UNIT_TITLE_11 = BASE + 220;
-			public final static int UNIT_TITLE_12 = BASE + 221;
-			public final static int UNIT_TITLE_13 = BASE + 222;
-			public final static int UNIT_TITLE_14 = BASE + 223;
-			public final static int UNIT_TITLE_15 = BASE + 224;
-
-			public final static int UNIT_POWER_01 = BASE + 230;
-			public final static int UNIT_POWER_02 = BASE + 231;
-			public final static int UNIT_POWER_03 = BASE + 232;
-			public final static int UNIT_POWER_04 = BASE + 233;
-			public final static int UNIT_POWER_05 = BASE + 234;
-			public final static int UNIT_POWER_06 = BASE + 235;
-			public final static int UNIT_POWER_07 = BASE + 236;
-			public final static int UNIT_POWER_08 = BASE + 237;
-			public final static int UNIT_POWER_09 = BASE + 238;
-			public final static int UNIT_POWER_10 = BASE + 239;
-			public final static int UNIT_POWER_11 = BASE + 240;
-			public final static int UNIT_POWER_12 = BASE + 241;
-			public final static int UNIT_POWER_13 = BASE + 242;
-			public final static int UNIT_POWER_14 = BASE + 243;
-			public final static int UNIT_POWER_15 = BASE + 244;
-
-			public final static int LEFT_MOVE_BTN = BASE + 250;
-			public final static int RIGHT_MOVE_BTN = BASE + 251;
-
-			public final static int ALL_MODE_PREV = BASE + 252;
-			public final static int ALL_MODE_NEXT = BASE + 253;
-
-			public final static int ALL_VOLUME_PREV = BASE + 260;
-			public final static int ALL_VOLUME_NEXT = BASE + 261;
-
-			public final static int ENTIRE_MODE_AUTO = BASE + 270;
-			public final static int ENTIRE_MODE_COLD = BASE + 271;
-			public final static int ENTIRE_MODE_DEHUMIDIFY = BASE + 272;
-			public final static int ENTIRE_MODE_FAN = BASE + 273;
-			public final static int ENTIRE_MODE_HEAT = BASE + 274;
-
-			public final static int ENTRIE_AIRVOL_AUTO = BASE + 280;
-			public final static int ENTRIE_AIRVOL_WIND01 = BASE + 281;
-			public final static int ENTRIE_AIRVOL_WIND02 = BASE + 282;
-			public final static int ENTRIE_AIRVOL_WIND03 = BASE + 283;
-
-
-			public final static int LOUVER_TITLE = BASE + 290;
-			public final static int LOUVER_MODE = BASE + 291;
-		}
-
-		public static final class text {
-			public final static int UNIT_TITLE_01 = BASE + 300;
-			public final static int UNIT_TITLE_02 = BASE + 301;
-			public final static int UNIT_TITLE_03 = BASE + 302;
-			public final static int UNIT_TITLE_04 = BASE + 303;
-			public final static int UNIT_TITLE_05 = BASE + 304;
-			public final static int UNIT_TITLE_06 = BASE + 305;
-			public final static int OUTSIDE_DEVICE_TITLE = BASE + 305;
-
-			public final static int UNIT_MODE_01 = BASE + 310;
-			public final static int UNIT_MODE_02 = BASE + 311;
-			public final static int UNIT_MODE_03 = BASE + 312;
-			public final static int UNIT_MODE_04 = BASE + 313;
-			public final static int UNIT_MODE_05 = BASE + 314;
-			public final static int UNIT_MODE_06 = BASE + 315;
-
-			public final static int UNIT_CURRENT_TEMPER_01 = BASE + 320;
-			public final static int UNIT_CURRENT_TEMPER_02 = BASE + 321;
-			public final static int UNIT_CURRENT_TEMPER_03 = BASE + 322;
-			public final static int UNIT_CURRENT_TEMPER_04 = BASE + 323;
-			public final static int UNIT_CURRENT_TEMPER_05 = BASE + 324;
-			public final static int UNIT_CURRENT_TEMPER_06 = BASE + 325;
-
-			public final static int UNIT_SET_TEMPER_01 = BASE + 330;
-			public final static int UNIT_SET_TEMPER_02 = BASE + 331;
-			public final static int UNIT_SET_TEMPER_03 = BASE + 332;
-			public final static int UNIT_SET_TEMPER_04 = BASE + 333;
-			public final static int UNIT_SET_TEMPER_05 = BASE + 334;
-			public final static int UNIT_SET_TEMPER_06 = BASE + 335;
-
-			public final static int PAGE_TEXT = BASE + 336;
-
-			public final static int TITLE = BASE + 340;
-			public final static int ALL_MODE = BASE + 341;
-			public final static int ALL_VOLUME = BASE + 342;
-			public final static int WAIT_TITLE = BASE + 343;
-		}
-	}
-
-	public static final class SystemAirconPopup {
-		public final static int BASE = screen.SystemAirconPopupScreen;
-
-		public final static String BR_AIRCON = BR_ACTION_BASE + "AIRCON_POPUP" + "(" + BASE + ")";
-
-		public static final class LAYOUT {
-		}
-
-		public static final class IMG {
-			public final static int BACKGROUND = BASE + 10;
-			public final static int TITLE = BASE + 11;
-			public final static int BOX_BG = BASE + 12;
-			public final static int SETTING_BG = BASE + 13;
-			public final static int MODE = BASE + 14;
-		}
-
-		public static final class BTN {
-			public final static int EXIT = BASE + 20;
-			public final static int UNIT_PREVIOUS = BASE + 21;
-			public final static int UNIT_NEXT = BASE + 22;
-			public final static int TOGGLE_POWER = BASE + 23;
-			public final static int TOGGLE_AIRSWING = BASE + 24;
-			public final static int MANUAL = BASE + 26;
-			public final static int MODE_AUTO = BASE + 30;
-			public final static int MODE_COLD = BASE + 31;
-			public final static int MODE_DEHUMIDIFY = BASE + 32;
-			public final static int MODE_FAN = BASE + 33;
-			public final static int MODE_HEAT = BASE + 34;
-			public final static int AIRVOL_UP = BASE + 40;
-			public final static int AIRVOL_DOWN = BASE + 41;
-			public final static int SETTEMPER_UP = BASE + 42;
-			public final static int SETTEMPER_DOWN = BASE + 43;
-		}
-
-		public static final class TXT {
-			public final static int TITLE_UNIT = BASE + 50;
-			public final static int MODE = BASE + 51;
-			public final static int CURRENT_TEMPER = BASE + 52;
-			public final static int SET_TEMPER = BASE + 53;
-			public final static int TITLE_AIRSWING = BASE + 54;
-			public final static int TITLE_AIRVOLUME = BASE + 55;
-			public final static int TITLE_TEMPER = BASE + 56;
-		}
-	}
-
-	// Tab Default
-	public static final class PurityMain {
-		final static int BASE = screen.PurityMainScreen;
-
-		public final static String BR_PURITY = BR_ACTION_BASE + "PURITY_MAIN" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 100;
-			public final static int ROOM_BACKGROUND_1 = BASE + 110;
-			public final static int ROOM_BACKGROUND_2 = BASE + 111;
-			public final static int ROOM_BACKGROUND_3 = BASE + 112;
-			public final static int ROOM_BACKGROUND_4 = BASE + 113;
-			public final static int ROOM_BACKGROUND_5 = BASE + 114;
-			public final static int ROOM_BACKGROUND_6 = BASE + 115;
-			public final static int ROOM_DUST = BASE + 120;
-			public final static int ROOM_FINE_DUST = BASE + 140;
-			public final static int ROOM_CO2 = BASE + 160;
-		}
-
-		public static final class button {
-			public final static int ALL_ON = BASE + 200;
-			public final static int ALL_OFF = BASE + 201;
-
-			public final static int ROOM_TITLE_1 = BASE + 210;
-			public final static int ROOM_TITLE_2 = BASE + 211;
-			public final static int ROOM_TITLE_3 = BASE + 212;
-			public final static int ROOM_TITLE_4 = BASE + 213;
-			public final static int ROOM_TITLE_5 = BASE + 214;
-			public final static int ROOM_TITLE_6 = BASE + 215;
-			public final static int ROOM_TITLE_7 = BASE + 216;
-			public final static int ROOM_TITLE_8 = BASE + 217;
-			public final static int ROOM_TITLE_9 = BASE + 218;
-
-			public final static int ROOM_ONOFF_1 = BASE + 220;
-			public final static int ROOM_ONOFF_2 = BASE + 221;
-			public final static int ROOM_ONOFF_3 = BASE + 222;
-			public final static int ROOM_ONOFF_4 = BASE + 223;
-			public final static int ROOM_ONOFF_5 = BASE + 224;
-			public final static int ROOM_ONOFF_6 = BASE + 225;
-			public final static int ROOM_ONOFF_7 = BASE + 226;
-			public final static int ROOM_ONOFF_8 = BASE + 227;
-			public final static int ROOM_ONOFF_9 = BASE + 228;
-
-			public final static int LEFT_MOVE_BTN = BASE + 236;
-			public final static int RIGHT_MOVE_BTN = BASE + 237;
-
-			public final static int ALL_MODE_PREV = BASE + 240;
-			public final static int ALL_MODE_NEXT = BASE + 241;
-
-			public final static int PURITY_MODE = BASE + 260;
-			public final static int VENTI_MODE = BASE + 261;
-			public final static int AI_MODE = BASE + 262;
-		}
-
-		public static final class text {
-			public final static int ROOM_TITLE_1 = BASE + 300;
-			public final static int ROOM_TITLE_2 = BASE + 301;
-			public final static int ROOM_TITLE_3 = BASE + 302;
-			public final static int ROOM_TITLE_4 = BASE + 303;
-			public final static int ROOM_TITLE_5 = BASE + 304;
-			public final static int ROOM_TITLE_6 = BASE + 305;
-
-			public final static int ROOM_MODE_1 = BASE + 310;
-			public final static int ROOM_MODE_2 = BASE + 311;
-			public final static int ROOM_MODE_3 = BASE + 312;
-			public final static int ROOM_MODE_4 = BASE + 313;
-			public final static int ROOM_MODE_5 = BASE + 314;
-			public final static int ROOM_MODE_6 = BASE + 315;
-
-			public final static int ROOM_NOWTEMP_1 = BASE + 320;
-			public final static int ROOM_NOWTEMP_2 = BASE + 321;
-			public final static int ROOM_NOWTEMP_3 = BASE + 322;
-			public final static int ROOM_NOWTEMP_4 = BASE + 323;
-			public final static int ROOM_NOWTEMP_5 = BASE + 324;
-			public final static int ROOM_NOWTEMP_6 = BASE + 325;
-			public final static int ROOM_SETTEMP_1 = BASE + 330;
-			public final static int ROOM_SETTEMP_2 = BASE + 331;
-			public final static int ROOM_SETTEMP_3 = BASE + 332;
-			public final static int ROOM_SETTEMP_4 = BASE + 333;
-			public final static int ROOM_SETTEMP_5 = BASE + 334;
-			public final static int ROOM_SETTEMP_6 = BASE + 335;
-
-			public final static int PAGE_TEXT = BASE + 336;
-			public final static int ALARM_TEXT = BASE + 337;
-
-			public final static int TITLE = BASE + 340;
-			public final static int ALL_MODE = BASE + 341;
-			public final static int ALL_VOLUME = BASE + 342;
-			public final static int WAIT_TITLE = BASE + 343;
-		}
-	}
-
-	// Tab Sleep
-	public static final class PurityPopup {
-		public final static int BASE = screen.PurityPopupScreen;
-
-		public final static String BR_PURITY = BR_ACTION_BASE + "PURITY_POPUP" + "(" + BASE + ")";
-
-		public static final class layout {
-		}
-
-		public static final class image {
-			public final static int BACKGROUND = BASE + 10;
-			public final static int TITLE = BASE + 11;
-			public final static int BOX_BG = BASE + 12;
-			public final static int SETTING_BG = BASE + 13;
-			public final static int MODE = BASE + 14;
-		}
-
-		public static final class button {
-			public final static int EXIT = BASE + 20;
-			public final static int ROOM_PREV = BASE + 21;
-			public final static int ROOM_NEXT = BASE + 22;
-			public final static int ONOFF = BASE + 23;
-			public final static int SLEEP_SET = BASE + 24;
-			public final static int MANUAL = BASE + 26;
-			public final static int MODE_1 = BASE + 30;
-			public final static int MODE_2 = BASE + 31;
-			public final static int MODE_3 = BASE + 32;
-			public final static int MODE_4 = BASE + 33;
-			public final static int MODE_5 = BASE + 34;
-			public final static int VOLUME_DEC = BASE + 40;
-			public final static int VOLUME_ENC = BASE + 41;
-			public final static int MODE_DEC = BASE + 42;
-			public final static int MODE_ENC = BASE + 43;
-			public final static int ADD_DEC = BASE + 44;
-			public final static int ADD_ENC = BASE + 45;
-		}
-
-		public static final class text {
-			public final static int TITLE = BASE + 50;
-			public final static int MODE = BASE + 51;
-		}
-	}
-
-
-}
+package kr.co.icontrols.wallpadhomectrl.declare;
+
+
+public final class ID
+{
+	public final static String  BR_ACTION_BASE = "kr.co.icontrols.wallpadhomectrl.BR_";
+
+	/**
+	 * 월패드 메인화면에서 서브화면을 호출할때 전달되어야할 데이터 리스트
+	 */
+    
+	/* ==========================================================================
+	 * screen
+	 * ========================================================================== */
+	public static final class screen
+	{
+		public final static int MainActivity	= 1000;
+		public final static int PopupActivity	= 2000;
+
+		public final static int LightHdcLivMainScreen                         = 3000;
+		public final static int LightEtcEachMainScreen                        = 3100;
+		public final static int LightEtcEachPopupRoomScreen                   = 3200;
+		public final static int LightEtcLivMainScreen                         = 3300;
+		public final static int LightEtcLivPopupRoomScreen                    = 3400;
+		public final static int LightHdcLivKnxMainScreen                      = 3500;
+		public final static int LightKnxMainScreen 							  = 3600;
+		public final static int LightKnxPopupRoomScreen 					  = 3700;
+		public final static int LightHdcNEachMainScreen						  = 3800;
+		public final static int LightHdcLivPopupScreen						  = 3900;
+
+		public final static int VentiMainScreen			                      = 4000;
+		public final static int VentiPopupReservationScreen					  = 4100;        // 환기 - 팝업 - 예약
+		public final static int VentiPopupAlarmScreen           			  = 4200;        // 환기 - 팝업 - 알림
+		public final static int VentiPopupServiceScreen           			  = 4300;        // 환기 케어 서비스 팝업
+		public final static int VentilationMainScreen			                      = 4400;   // 지능형 환기 화면
+
+		public final static int GasMainScreen			                      = 5000;
+		public final static int CookTopConcentMainScreen			             = 5100;
+		public final static int DoorLockMainScreen							  = 6000;
+
+		public final static int HeatingV1MainScreen             			  = 7000;        // 난방V1 - 메인
+		public final static int HeatingV1PauseScreen            			  = 7100;        // 난방V1 - 전체방 난방 일시정지화면
+		public final static int HeatingV1PopupScreen            			  = 7200;        // 난방V1 - 팝업
+		public final static int HeatingV1PopupAlarmScreen       			  = 7300;        // 난방V1 - 팝업알람
+
+		public final static int HeatingV2MainScreen             			  = 7500;        // 난방V2 - 메인
+		public final static int HeatingV2PopupScreen            			  = 7600;        // 난방V2 - 팝업 (기본,예약,취침)
+		public final static int HeatingV2PopupBoilerScreen      			  = 7700;        // 난방V2 - 보일러팝업
+
+		public final static int AirQualityMainScreen						  = 8000;		 // 실내 공기질 - 메인
+		public final static int DustInfoScreen								  = 8100;		 // 미세먼지 정보
+
+		public final static int AsCallPopupScreen                             = 20000;
+
+		// [Concent]
+		public final static int ConcentMainScreen               			  = 30000;        // 대기콘센트 - 메인
+		public final static int ConcentPopupScreen              			  = 31000;        // 대기콘센트 - 팝업 (개별제어, 차단값설정)
+		public final static int ConcentPopupScreenWithCutOffAPI  			  = 32000;        // 대기콘센트 - 팝업 (개별제어, 차단값설정)
+
+		// [KnxConcent]
+		public final static int ConcentKnxMainScreen = 32000;        // KNX콘센트 - 메인
+		public final static int ConcentKnxPopupScreen = 33000;        // KNX콘센트 - 팝업 (개별제어, 차단값설정)
+
+		public final static int ElectricRangeScreen              			  = 40000;        // 전기레인지 - 메인
+
+		// [System Aircon]
+		public final static int SystemAirconMainScreen = 50000;          // 시스템에어컨 - 메인
+		public final static int SystemAirconPopupScreen = 51000;          // 시스템에어컨 - 팝업
+		public final static int PurityMainScreen = 60000;          // 청정환기 - 메인
+		public final static int PurityPopupScreen = 61000;          // 청정환기 - 팝업
+
+		public final static int HybridCookTopMainScreen             			  = 62000;
+		public final static int CurTainV1MainScreen             			  = 63000; // 하이브리드쿡탑
+	}
+
+	/* ==========================================================================
+	 * MainActivity
+	 * ========================================================================== */
+	public static final class main
+	{
+		final static int BASE = screen.MainActivity;
+
+		public final static String  BR_KCC_DIM = BR_ACTION_BASE + "KCC_DIM" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+			public final static int ALL  		= BASE + 1;
+			public final static int TOP  		= BASE + 2;
+			public final static int MENU  		= BASE + 3;
+			public final static int SCREEN      = BASE + 4;
+			public final static int MENU_ITEM   = BASE + 5;
+		}
+		public static final class image
+		{
+			public final static int TOP_BACKGROUND	= BASE + 100;
+			public final static int TOP_TITLE		= BASE + 101;
+			public final static int TAB_BACKGROUND	= BASE + 110;
+
+			public final static int SCREEN_BACKGROUND   = BASE + 120;
+		}
+		public static final class button
+		{
+			public final static int HOME		= BASE + 200;
+			public final static int BACK		= BASE + 201;
+			public final static int MENU        = BASE + 202;
+			public final static int MENUCLOSE   = BASE + 203;
+			public final static int BOILER   	= BASE + 204;
+			public final static int AIRQBACK   	= BASE + 205;
+			public final static int VENTILBACK   	= BASE + 206;
+
+			public final static int DIMM_NORMAL   	= BASE + 207;
+			public final static int DIMM_STUDY   	= BASE + 208;
+			public final static int DIMM_SENSI   	= BASE + 209;
+			public final static int DIMM_REST   	= BASE + 210;
+
+			public final static int MANUAL   	= BASE + 211;
+
+			public final static int HIDE1       = BASE + 220;
+			public final static int HIDE2       = BASE + 221;
+		}
+		public static final class text
+		{
+			public final static int TITLE      = BASE + 300;
+		}
+		public static final class liveview
+		{
+			public final static int lv        = BASE + 400;
+			public final static int tv_1      = BASE + 410;
+		}
+	}
+
+
+
+	/* ==========================================================================
+	 * PopupActivity
+	 * ========================================================================== */
+	public static final class popup
+	{
+		final static int BASE = screen.PopupActivity;
+
+		public static final class layout
+		{
+			public final static int ALL  = BASE + 1;
+		}
+		public static final class image
+		{
+		}
+		public static final class button
+		{
+			public final static int OK			= BASE + 100;
+			public final static int EXIT		= BASE + 200;
+		}
+		public static final class text
+		{
+		}
+	}
+
+
+	/* ==========================================================================
+	 * LightHdcLivMainScreenID
+	 * ========================================================================== */
+	public static final class LightHdcLivMainScreenID
+	{
+		final static int BASE = screen.LightHdcLivMainScreen;
+        public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	    = BASE + 100;
+			public final static int BG_SEEKBAR	    = BASE + 101;
+
+		}
+		public static final class button
+		{
+			public final static int ONOFF_1          = BASE + 210;
+			public final static int ONOFF_2          = BASE + 211;
+			public final static int ONOFF_3          = BASE + 212;
+			public final static int ONOFF_4          = BASE + 213;
+			public final static int ONOFF_5          = BASE + 214;
+			public final static int ONOFF_6          = BASE + 215;
+			public final static int ONOFF_7          = BASE + 216;
+			public final static int ONOFF_8          = BASE + 217;
+
+			public final static int DIMMING          = BASE + 220;
+			public final static int COLOR            = BASE + 221;
+
+			public final static int SeekBar 		 = BASE + 230;
+		}
+		public static final class text
+		{
+			public final static int TITLE            = BASE + 300;
+			public final static int LIMITMENT        = BASE + 301;
+
+            public final static int ONOFF_1          = BASE + 310;
+            public final static int ONOFF_2          = BASE + 311;
+            public final static int ONOFF_3          = BASE + 312;
+            public final static int ONOFF_4          = BASE + 313;
+            public final static int ONOFF_5          = BASE + 314;
+            public final static int ONOFF_6          = BASE + 315;
+            public final static int ONOFF_7          = BASE + 316;
+            public final static int ONOFF_8          = BASE + 317;
+		}
+	}
+	/* ==========================================================================
+	 * LightHdcLivKnxMainScreenID
+	 * ========================================================================== */
+	public static final class LightHdcLivKnxMainScreenID
+	{
+		final static int BASE = screen.LightHdcLivKnxMainScreen;
+        public final static String  BR_LIGHT_KNXLIV = BR_ACTION_BASE + "LIGHT_KNXLIV" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	    = BASE + 100;
+			public final static int BG_SEEKBAR	    = BASE + 101;
+
+		}
+		public static final class button
+		{
+			public final static int ONOFF_1          = BASE + 210;
+			public final static int ONOFF_2          = BASE + 211;
+			public final static int ONOFF_3          = BASE + 212;
+			public final static int ONOFF_4          = BASE + 213;
+			public final static int ONOFF_5          = BASE + 214;
+			public final static int ONOFF_6          = BASE + 215;
+			public final static int ONOFF_7          = BASE + 216;
+			public final static int ONOFF_8          = BASE + 217;
+
+			public final static int DIMMING          = BASE + 220;
+			public final static int COLOR            = BASE + 221;
+
+			public final static int SeekBar 		 = BASE + 230;
+		}
+		public static final class text
+		{
+			public final static int TITLE            = BASE + 300;
+			public final static int LIMITMENT        = BASE + 301;
+
+            public final static int ONOFF_1          = BASE + 310;
+            public final static int ONOFF_2          = BASE + 311;
+            public final static int ONOFF_3          = BASE + 312;
+            public final static int ONOFF_4          = BASE + 313;
+            public final static int ONOFF_5          = BASE + 314;
+            public final static int ONOFF_6          = BASE + 315;
+            public final static int ONOFF_7          = BASE + 316;
+            public final static int ONOFF_8          = BASE + 317;
+		}
+	}
+
+	/**
+	 * 조명 대외 거실형
+	 */
+	public static final class lightEtcLivMain
+	{
+		final static int BASE = screen.LightEtcLivMainScreen;
+
+		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+		public final static String  BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND      = BASE + 100;
+
+			public final static int NUM_1           = BASE + 110;
+			public final static int NUM_2           = BASE + 111;
+			public final static int NUM_3           = BASE + 112;
+			public final static int NUM_4           = BASE + 113;
+			public final static int NUM_5           = BASE + 114;
+			public final static int NUM_6           = BASE + 115;
+		}
+		public static final class button
+		{
+			public final static int LIGHT_1          = BASE + 200;
+			public final static int LIGHT_2          = BASE + 201;
+			public final static int LIGHT_3          = BASE + 202;
+			public final static int LIGHT_4          = BASE + 203;
+			public final static int LIGHT_5          = BASE + 204;
+			public final static int LIGHT_6          = BASE + 205;
+			public final static int LIGHT_7          = BASE + 206;
+			public final static int LIGHT_8          = BASE + 207;
+
+			public final static int ONOFF_1          = BASE + 210;
+			public final static int ONOFF_2          = BASE + 211;
+			public final static int ONOFF_3          = BASE + 212;
+			public final static int ONOFF_4          = BASE + 213;
+			public final static int ONOFF_5          = BASE + 214;
+			public final static int ONOFF_6          = BASE + 215;
+			public final static int ONOFF_7          = BASE + 216;
+			public final static int ONOFF_8          = BASE + 217;
+
+			public final static int BATCHOFF_ENABLE  = BASE + 230;
+			public final static int BATCHOFF_DISABLE = BASE + 231;
+		}
+		public static final class text
+		{
+			public final static int LIGHT_1          = BASE + 300;
+			public final static int LIGHT_2          = BASE + 301;
+			public final static int LIGHT_3          = BASE + 302;
+			public final static int LIGHT_4          = BASE + 303;
+			public final static int LIGHT_5          = BASE + 304;
+			public final static int LIGHT_6          = BASE + 305;
+			public final static int LIGHT_7          = BASE + 306;
+			public final static int LIGHT_8          = BASE + 307;
+		}
+	}
+
+
+	/**
+	 * 조명 대외 각실형
+	 */
+	public static final class LightEtcEachMainScreenID
+	{
+		final static int BASE = screen.LightEtcEachMainScreen;
+
+		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+		public final static String  BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND      = BASE + 100;
+
+			public final static int ROOM_BG1      	= BASE + 110;
+			public final static int ROOM_BG2      	= BASE + 111;
+			public final static int ROOM_BG3      	= BASE + 112;
+			public final static int ROOM_BG4      	= BASE + 113;
+			public final static int ROOM_BG5      	= BASE + 114;
+			public final static int ROOM_BG6      	= BASE + 115;
+			public final static int ROOM_BG7      	= BASE + 116;
+			public final static int ROOM_BG8      	= BASE + 117;
+		}
+		public static final class button
+		{
+			public final static int LIGHT_1          = BASE + 200;
+			public final static int LIGHT_2          = BASE + 201;
+			public final static int LIGHT_3          = BASE + 202;
+			public final static int LIGHT_4          = BASE + 203;
+			public final static int LIGHT_5          = BASE + 204;
+			public final static int LIGHT_6          = BASE + 205;
+			public final static int LIGHT_7          = BASE + 206;
+			public final static int LIGHT_8          = BASE + 207;
+
+			public final static int ROOM_1           = BASE + 210;
+			public final static int ROOM_2           = BASE + 211;
+			public final static int ROOM_3           = BASE + 212;
+			public final static int ROOM_4           = BASE + 213;
+			public final static int ROOM_5           = BASE + 214;
+			public final static int ROOM_6           = BASE + 215;
+			public final static int ROOM_7           = BASE + 216;
+			public final static int ROOM_8           = BASE + 217;
+
+			public final static int BATCHOFF_ENABLE  = BASE + 230;
+			public final static int BATCHOFF_DISABLE = BASE + 231;
+		}
+		public static final class text
+		{
+			public final static int ROOM_1           = BASE + 300;
+			public final static int ROOM_2           = BASE + 301;
+			public final static int ROOM_3           = BASE + 302;
+			public final static int ROOM_4           = BASE + 303;
+			public final static int ROOM_5           = BASE + 304;
+			public final static int ROOM_6           = BASE + 305;
+			public final static int ROOM_7           = BASE + 306;
+			public final static int ROOM_8           = BASE + 307;
+		}
+	}
+
+	/**
+	 * 현산향일체형조명일괄소등병합형_멀티스위치
+	 */
+	public static final class LightHdcEachMainScreenID {
+		final static int BASE = screen.LightHdcNEachMainScreen;
+
+		public final static String BR_HDCLIVINGLIGHT = "kr.co.icontrols.wallpadglobalscreen.BR_HDCLIVINGLIGHT";
+		public final static String BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+		public final static String BR_ALLLIGHT = BR_ACTION_BASE + "ALLLIGHT" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+
+			public final static int ROOM_BG1 = BASE + 110;
+			public final static int ROOM_BG2 = BASE + 111;
+			public final static int ROOM_BG3 = BASE + 112;
+			public final static int ROOM_BG4 = BASE + 113;
+			public final static int ROOM_BG5 = BASE + 114;
+			public final static int ROOM_BG6 = BASE + 115;
+			public final static int ROOM_BG7 = BASE + 116;
+			public final static int ROOM_BG8 = BASE + 117;
+			public final static int ROOM_LIV = BASE + 118;
+		}
+
+		public static final class button {
+			public final static int LIGHT_1 = BASE + 200;
+			public final static int LIGHT_2 = BASE + 201;
+			public final static int LIGHT_3 = BASE + 202;
+			public final static int LIGHT_4 = BASE + 203;
+			public final static int LIGHT_5 = BASE + 204;
+			public final static int LIGHT_6 = BASE + 205;
+			public final static int LIGHT_7 = BASE + 206;
+			public final static int LIGHT_8 = BASE + 207;
+			public final static int LIGHT_LIV = BASE + 208;
+
+			public final static int ROOM_1 = BASE + 210;
+			public final static int ROOM_2 = BASE + 211;
+			public final static int ROOM_3 = BASE + 212;
+			public final static int ROOM_4 = BASE + 213;
+			public final static int ROOM_5 = BASE + 214;
+			public final static int ROOM_6 = BASE + 215;
+			public final static int ROOM_7 = BASE + 216;
+			public final static int ROOM_8 = BASE + 217;
+			public final static int ROOM_LIV = BASE + 218;
+
+			public final static int LIVING_P1 = BASE + 220;
+			public final static int LIVING_P2 = BASE + 221;
+
+			public final static int BATCHOFF_ENABLE = BASE + 230;
+			public final static int BATCHOFF_DISABLE = BASE + 231;
+		}
+
+		public static final class text {
+			public final static int ROOM_1 = BASE + 300;
+			public final static int ROOM_2 = BASE + 301;
+			public final static int ROOM_3 = BASE + 302;
+			public final static int ROOM_4 = BASE + 303;
+			public final static int ROOM_5 = BASE + 304;
+			public final static int ROOM_6 = BASE + 305;
+			public final static int ROOM_7 = BASE + 306;
+			public final static int ROOM_8 = BASE + 307;
+			public final static int ROOM_LIV = BASE + 308;
+		}
+	}
+
+	/**
+	 * 현산향일체형조명일괄소등병합형
+	 */
+	public static final class LightHdcLivPopupScreenID {
+		final static int BASE = screen.LightEtcEachMainScreen;
+
+		public final static String BR_HDCLIVINGLIGHT = "kr.co.icontrols.wallpadglobalscreen.BR_HDCLIVINGLIGHT";
+
+		public static final class layout {
+			public final static int LIGHT = BASE + 1;
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+
+			public final static int ROOM_BG1 = BASE + 110;
+			public final static int ROOM_BG2 = BASE + 111;
+			public final static int ROOM_BG3 = BASE + 112;
+			public final static int ROOM_BG4 = BASE + 113;
+			public final static int ROOM_BG5 = BASE + 114;
+			public final static int ROOM_BG6 = BASE + 115;
+			public final static int ROOM_BG7 = BASE + 116;
+			public final static int ROOM_BG8 = BASE + 117;
+		}
+
+		public static final class button {
+			public final static int LIGHT_LIV1 = BASE + 200;
+			public final static int LIGHT_LIV2 = BASE + 201;
+			public final static int LIGHT_LIV3 = BASE + 202;
+			public final static int LIGHT_LIV4 = BASE + 203;
+			public final static int LIGHT_LIV5 = BASE + 204;
+			public final static int LIGHT_LIV6 = BASE + 205;
+
+			public final static int PRESET1 = BASE + 210;
+			public final static int PRESET2 = BASE + 211;
+			public final static int SAVE_P1 = BASE + 212;
+			public final static int SAVE_P2 = BASE + 213;
+
+			public final static int EXIT = BASE + 220;
+			public final static int MANUAL = BASE + 230;
+		}
+
+		public static final class text {
+			public final static int TITLE = BASE + 300;
+		}
+	}
+
+	/* ==========================================================================
+	 * Knx Light
+	 * ========================================================================== */
+	public static final class KnxLight {
+		final static int BASE = screen.LightKnxMainScreen;
+
+		public final static String BR_SMARTDISTRIBUTION = BR_ACTION_BASE + "SMARTDISTRIBUTION" + "(" + BASE + ")";
+		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
+		public final static String BR_LIV_ENERGYMETER = BR_ACTION_BASE + "LIVENERGYMETER" + "(" + BASE + ")";
+		public final static String BR_DC_APU = BR_ACTION_BASE + "DCAPU" + "(" + BASE + ")";
+
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+			public final static int MENT_WARNING = BASE + 101;
+			public final static int MENT_WARNING_ELEC = BASE + 102;
+
+			public final static int Room_BACKGROUND_1 = BASE + 110;
+			public final static int Room_BACKGROUND_2 = BASE + 111;
+			public final static int Room_BACKGROUND_3 = BASE + 112;
+			public final static int Room_BACKGROUND_4 = BASE + 113;
+			public final static int Room_BACKGROUND_5 = BASE + 114;
+			public final static int Room_BACKGROUND_6 = BASE + 115;
+			public final static int Room_BACKGROUND_7 = BASE + 116;
+			public final static int Room_BACKGROUND_8 = BASE + 117;
+			public final static int Room_BACKGROUND_9 = BASE + 118;
+			public final static int Room_BACKGROUND_10 = BASE + 119;
+
+			public final static int Led_Converter = BASE + 120;
+
+		}
+
+		public static final class button {
+			public final static int Room_TITLE_1 = BASE + 210;
+			public final static int Light_Btn_1 = BASE + 250;
+			public final static int Prev_Button = BASE + 290;
+			public final static int Next_Button = BASE + 291;
+			public final static int ALL_EXECUTION = BASE + 292;
+			public final static int ALL_RELEASE = BASE + 293;
+
+		}
+
+		public static final class text {
+			public final static int Room_TITLE_1 = BASE + 310;
+			public final static int Room_TITLE_2 = BASE + 311;
+			public final static int Room_TITLE_3 = BASE + 312;
+			public final static int Room_TITLE_4 = BASE + 313;
+			public final static int Room_TITLE_5 = BASE + 314;
+			public final static int Room_TITLE_6 = BASE + 315;
+			public final static int Room_TITLE_7 = BASE + 316;
+			public final static int Room_TITLE_8 = BASE + 317;
+			public final static int Room_TITLE_9 = BASE + 318;
+
+			public final static int CONCENT_ELEC1_1 = BASE + 310;
+			public final static int CONCENT_ELEC1_2 = BASE + 311;
+			public final static int CONCENT_ELEC1_3 = BASE + 312;
+			public final static int CONCENT_ELEC2_1 = BASE + 313;
+			public final static int CONCENT_ELEC2_2 = BASE + 314;
+			public final static int CONCENT_ELEC2_3 = BASE + 315;
+			public final static int CONCENT_ELEC3_1 = BASE + 316;
+			public final static int CONCENT_ELEC3_2 = BASE + 317;
+			public final static int CONCENT_ELEC3_3 = BASE + 318;
+			public final static int CONCENT_ELEC4_1 = BASE + 319;
+			public final static int CONCENT_ELEC4_2 = BASE + 320;
+			public final static int CONCENT_ELEC4_3 = BASE + 321;
+			public final static int CONCENT_ELEC5_1 = BASE + 321;
+			public final static int CONCENT_ELEC5_2 = BASE + 322;
+			public final static int CONCENT_ELEC5_3 = BASE + 323;
+			public final static int CONCENT_ELEC6_1 = BASE + 324;
+			public final static int CONCENT_ELEC6_2 = BASE + 325;
+			public final static int CONCENT_ELEC6_3 = BASE + 326;
+			public final static int CONCENT_ELEC7_1 = BASE + 327;
+			public final static int CONCENT_ELEC7_2 = BASE + 328;
+			public final static int CONCENT_ELEC7_3 = BASE + 329;
+			public final static int CONCENT_ELEC8_1 = BASE + 330;
+			public final static int CONCENT_ELEC8_2 = BASE + 331;
+			public final static int CONCENT_ELEC8_3 = BASE + 332;
+			public final static int CONCENT_ELEC9_1 = BASE + 333;
+			public final static int CONCENT_ELEC9_2 = BASE + 334;
+			public final static int CONCENT_ELEC9_3 = BASE + 335;
+
+			public final static int PAGE_NUM_TEXT = BASE + 340;
+		}
+	}
+
+
+	/**
+	 * 조명 대외 각실형 - 각방팝업
+	 */
+	public static final class lightEtcEachPopupRoom
+	{
+		final static int BASE = screen.LightEtcEachPopupRoomScreen;
+
+		public final static String  BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+			public final static int LIGHT               = BASE + 1;
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND          = BASE + 100;
+			public final static int ICON_DIM          = BASE + 101;
+		}
+		public static final class button
+		{
+			public final static int EXIT                = BASE + 200;
+
+			public final static int ROOMSEL_LEFT        = BASE + 201;
+			public final static int ROOMSEL_RIGHT       = BASE + 202;
+
+			public final static int LIGHT_1             = BASE + 210;
+			public final static int LIGHT_2             = BASE + 211;
+			public final static int LIGHT_3             = BASE + 212;
+			public final static int LIGHT_4             = BASE + 213;
+			public final static int LIGHT_5             = BASE + 214;
+			public final static int LIGHT_6             = BASE + 215;
+			public final static int LIGHT_7             = BASE + 216;
+			public final static int LIGHT_8             = BASE + 217;
+
+			public final static int ALL_ON              = BASE + 220;
+			public final static int ALL_OFF             = BASE + 221;
+			public final static int ALL_ON_DIM              = BASE + 222;
+			public final static int ALL_OFF_DIM             = BASE + 223;
+			public final static int DIM_DOWN              = BASE + 224;
+			public final static int DIM_UP             = BASE + 225;
+
+			public final static int MANUAL			 	= BASE + 226;
+		}
+		public static final class text
+		{
+			public final static int TITLE               = BASE + 300;
+			public final static int DIM_LELVEL               = BASE + 301;
+		}
+	}
+
+	/**
+	 * 조명 대외 각실형 - 각방팝업
+	 */
+	public static final class lightKnxPopupRoom {
+		final static int BASE = screen.LightKnxPopupRoomScreen;
+
+		public final static String BR_LIGHT = BR_ACTION_BASE + "LIGHT" + "(" + BASE + ")";
+
+		public static final class layout {
+			public final static int LIGHT = BASE + 1;
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+			public final static int BG_SEEKBAR = BASE + 101;
+		}
+
+		public static final class button {
+			public final static int EXIT = BASE + 200;
+
+			public final static int ROOMSEL_LEFT = BASE + 201;
+			public final static int ROOMSEL_RIGHT = BASE + 202;
+
+			public final static int LIGHT_1 = BASE + 210;
+			public final static int LIGHT_2 = BASE + 211;
+			public final static int LIGHT_3 = BASE + 212;
+			public final static int LIGHT_4 = BASE + 213;
+			public final static int LIGHT_5 = BASE + 214;
+			public final static int LIGHT_6 = BASE + 215;
+			public final static int LIGHT_7 = BASE + 216;
+			public final static int LIGHT_8 = BASE + 217;
+
+			public final static int ALL_ON = BASE + 220;
+			public final static int ALL_OFF = BASE + 221;
+
+			public final static int MANUAL = BASE + 222;
+			public final static int SEEKBAR = BASE + 223;
+		}
+
+		public static final class text {
+			public final static int TITLE = BASE + 300;
+			public final static int TITLE_DIM = BASE + 301;
+		}
+	}
+
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * Concent
+	 * ==========================================================================
+	 * ========================================================================== */
+	/**
+	 * 콘센트 대외 각실형
+	 */
+	public static final class concentMain
+	{
+		final static int BASE = screen.ConcentMainScreen;
+
+		public final static String  BR_CONCENT = BR_ACTION_BASE + "CONCENT" + "(" + BASE + ")";
+		public final static String  BR_CUTOFF_CONCENT = BR_ACTION_BASE+"_CUTOFF" + "CONCENT" + "(" + BASE + ")";
+
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND       = BASE + 100;
+			public final static int MENT_IMG         = BASE + 101;
+
+			public final static int ROOM_1           = BASE + 110;
+			public final static int ROOM_2           = BASE + 111;
+			public final static int ROOM_3           = BASE + 112;
+			public final static int ROOM_4           = BASE + 113;
+			public final static int ROOM_5           = BASE + 114;
+			public final static int ROOM_6           = BASE + 115;
+		}
+		public static final class button
+		{
+			public final static int CONCENT_1        = BASE + 200;
+			public final static int CONCENT_2        = BASE + 201;
+			public final static int CONCENT_3        = BASE + 202;
+			public final static int CONCENT_4        = BASE + 203;
+			public final static int CONCENT_5        = BASE + 204;
+			public final static int CONCENT_6        = BASE + 205;
+			public final static int CONCENT_7        = BASE + 206;
+			public final static int CONCENT_8        = BASE + 207;
+
+			public final static int ROOM_1           = BASE + 210;
+			public final static int ROOM_2           = BASE + 211;
+			public final static int ROOM_3           = BASE + 212;
+			public final static int ROOM_4           = BASE + 213;
+			public final static int ROOM_5           = BASE + 214;
+			public final static int ROOM_6           = BASE + 215;
+			public final static int ROOM_7           = BASE + 216;
+			public final static int ROOM_8           = BASE + 217;
+
+			public final static int ALL_ON           = BASE + 220;
+			public final static int ALL_OFF          = BASE + 221;
+		}
+		public static final class text
+		{
+			public final static int ROOM_1           = BASE + 300;
+			public final static int ROOM_2           = BASE + 301;
+			public final static int ROOM_3           = BASE + 302;
+			public final static int ROOM_4           = BASE + 303;
+			public final static int ROOM_5           = BASE + 304;
+			public final static int ROOM_6           = BASE + 305;
+
+			public final static int WATT_1           = BASE + 310;
+			public final static int WATT_2           = BASE + 311;
+			public final static int WATT_3           = BASE + 312;
+			public final static int WATT_4           = BASE + 313;
+			public final static int WATT_5           = BASE + 314;
+			public final static int WATT_6           = BASE + 315;
+		}
+	}
+
+	public static final class ConcentPopup
+	{
+		final static int BASE = screen.ConcentPopupScreen;
+
+		public final static String  BR_CONCENT = BR_ACTION_BASE + "CONCENT" + "(" + BASE + ")";
+
+		public static final class layout {
+			public final static int LIGHT = BASE + 1;
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND         = BASE + 100;
+			public final static int BOX1               = BASE + 101;
+			public final static int BOX2               = BASE + 102;
+			public final static int TEXTIMG            = BASE + 103;
+
+			public final static int NOWBOX1            = BASE + 110;
+			public final static int NOWBOX2            = BASE + 111;
+
+			public final static int SETBOX1            = BASE + 120;
+			public final static int SETBOX2            = BASE + 121;
+
+			public final static int CONCENT1           = BASE + 130;
+			public final static int CONCENT2           = BASE + 131;
+			public final static int CONCENT3           = BASE + 132;
+			public final static int CONCENT4           = BASE + 133;
+		}
+		public static final class button
+		{
+			public final static int EXIT                = BASE + 200;
+
+			public final static int ROOMSEL_LEFT        = BASE + 201;
+			public final static int ROOMSEL_RIGHT       = BASE + 202;
+
+			public final static int PAGE_PREV		    = BASE + 203;
+			public final static int PAGE_NEXT		    = BASE + 204;
+
+			public final static int SET1                = BASE + 210;
+			public final static int SET2                = BASE + 211;
+			public final static int SET3                = BASE + 212;
+			public final static int SET4                = BASE + 213;
+
+			public final static int CONCENT1            = BASE + 220;
+			public final static int CONCENT2            = BASE + 221;
+			public final static int CONCENT3            = BASE + 222;
+			public final static int CONCENT4            = BASE + 223;
+
+			public final static int ENERGY1             = BASE + 230;
+			public final static int ENERGY2             = BASE + 231;
+			public final static int ENERGY3             = BASE + 232;
+			public final static int ENERGY4             = BASE + 233;
+
+			public final static int MODE1 = BASE + 240;
+			public final static int MODE2 = BASE + 241;
+			public final static int MODE3 = BASE + 242;
+			public final static int MODE4 = BASE + 243;
+
+			public final static int MANUAL = BASE + 250;
+		}
+		public static final class text
+		{
+			public final static int TITLE               = BASE + 300;
+
+			public final static int NOW1                = BASE + 301;
+			public final static int NOW2                = BASE + 302;
+			public final static int NOW3                = BASE + 303;
+			public final static int NOW4                = BASE + 304;
+
+			public final static int SET1                = BASE + 305;
+			public final static int SET2                = BASE + 306;
+			public final static int SET3                = BASE + 307;
+			public final static int SET4                = BASE + 308;
+		}
+	}
+
+	/* ==========================================================================
+	 * Knx Concent
+	 * ========================================================================== */
+	public static final class KnxConcent {
+		final static int BASE = screen.ConcentKnxMainScreen;
+
+		public final static String BR_SMARTDISTRIBUTION = BR_ACTION_BASE + "SMARTDISTRIBUTION" + "(" + BASE + ")";
+		public final static String BR_ENERGYMODULE = BR_ACTION_BASE + "ENERGYMODULE" + "(" + BASE + ")";
+		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
+		public final static String BR_CUTOFFCONCENT = BR_ACTION_BASE + "CUTOFFCONCENT" + "(" + BASE + ")";
+		public final static String BR_REALTIMEMETER = BR_ACTION_BASE + "REALTIMEMETER" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+			public final static int MENT_WARNING = BASE + 101;
+			public final static int MENT_WARNING2 = BASE + 102;
+
+			public final static int Room_BACKGROUND_1 = BASE + 110;
+			public final static int Room_BACKGROUND_2 = BASE + 111;
+			public final static int Room_BACKGROUND_3 = BASE + 112;
+			public final static int Room_BACKGROUND_4 = BASE + 113;
+			public final static int Room_BACKGROUND_5 = BASE + 114;
+			public final static int Room_BACKGROUND_6 = BASE + 115;
+			public final static int Room_BACKGROUND_7 = BASE + 116;
+			public final static int Room_BACKGROUND_8 = BASE + 117;
+			public final static int Room_BACKGROUND_9 = BASE + 118;
+			public final static int Room_BACKGROUND_10 = BASE + 119;
+
+			public final static int Concent_number1 = BASE + 120;
+			public final static int Concent_number2 = BASE + 121;
+			public final static int Concent_number3 = BASE + 122;
+
+			public final static int CONCENT_ELEC_1 = BASE + 130;
+			public final static int CONCENT_ELEC_2 = BASE + 131;
+			public final static int CONCENT_ELEC_3 = BASE + 132;
+		}
+
+		public static final class button {
+			public final static int Room_TITLE_1 = BASE + 210;
+			public final static int Room_TITLE_2 = BASE + 211;
+			public final static int Room_TITLE_3 = BASE + 212;
+			public final static int Room_TITLE_4 = BASE + 213;
+			public final static int Room_TITLE_5 = BASE + 214;
+			public final static int Room_TITLE_6 = BASE + 215;
+			public final static int Room_TITLE_7 = BASE + 216;
+			public final static int Room_TITLE_8 = BASE + 217;
+			public final static int Room_TITLE_9 = BASE + 218;
+			public final static int Room_TITLE_10 = BASE + 219;
+
+			public final static int Prev_Button = BASE + 250;
+			public final static int Next_Button = BASE + 251;
+
+			public final static int NOW_BUTTON = BASE + 260;
+			public final static int MONTH_BUTTON = BASE + 261;
+
+		}
+
+		public static final class text {
+			public final static int Room_TITLE_1 = BASE + 310;
+			public final static int Room_TITLE_2 = BASE + 311;
+			public final static int Room_TITLE_3 = BASE + 312;
+			public final static int Room_TITLE_4 = BASE + 313;
+			public final static int Room_TITLE_5 = BASE + 314;
+			public final static int Room_TITLE_6 = BASE + 315;
+			public final static int Room_TITLE_7 = BASE + 316;
+			public final static int Room_TITLE_8 = BASE + 317;
+			public final static int Room_TITLE_9 = BASE + 318;
+			public final static int Room_TITLE_10 = BASE + 319;
+
+			public final static int CONCENT_ELEC1_1 = BASE + 320;
+			public final static int CONCENT_ELEC1_2 = BASE + 321;
+			public final static int CONCENT_ELEC1_3 = BASE + 322;
+			public final static int CONCENT_ELEC2_1 = BASE + 323;
+			public final static int CONCENT_ELEC2_2 = BASE + 324;
+			public final static int CONCENT_ELEC2_3 = BASE + 325;
+			public final static int CONCENT_ELEC3_1 = BASE + 326;
+			public final static int CONCENT_ELEC3_2 = BASE + 327;
+			public final static int CONCENT_ELEC3_3 = BASE + 328;
+			public final static int CONCENT_ELEC4_1 = BASE + 329;
+			public final static int CONCENT_ELEC4_2 = BASE + 330;
+			public final static int CONCENT_ELEC4_3 = BASE + 331;
+			public final static int CONCENT_ELEC5_1 = BASE + 331;
+			public final static int CONCENT_ELEC5_2 = BASE + 332;
+			public final static int CONCENT_ELEC5_3 = BASE + 333;
+			public final static int CONCENT_ELEC6_1 = BASE + 334;
+			public final static int CONCENT_ELEC6_2 = BASE + 335;
+			public final static int CONCENT_ELEC6_3 = BASE + 336;
+			public final static int CONCENT_ELEC7_1 = BASE + 337;
+			public final static int CONCENT_ELEC7_2 = BASE + 338;
+			public final static int CONCENT_ELEC7_3 = BASE + 339;
+			public final static int CONCENT_ELEC8_1 = BASE + 340;
+			public final static int CONCENT_ELEC8_2 = BASE + 341;
+			public final static int CONCENT_ELEC8_3 = BASE + 342;
+			public final static int CONCENT_ELEC9_1 = BASE + 343;
+			public final static int CONCENT_ELEC9_2 = BASE + 344;
+			public final static int CONCENT_ELEC9_3 = BASE + 345;
+			public final static int CONCENT_ELEC10_1 = BASE + 346;
+			public final static int CONCENT_ELEC10_2 = BASE + 347;
+			public final static int CONCENT_ELEC10_3 = BASE + 348;
+
+			public final static int PAGE_NUM_TEXT = BASE + 350;
+		}
+	}
+
+	/* ==========================================================================
+	 * SmartDistributionWarningPopUp
+	 * ========================================================================== */
+	public static final class KnxConcentRoomPopUp {
+		final static int BASE = screen.ConcentKnxPopupScreen;
+		public final static String BR_ENERGYMETER = BR_ACTION_BASE + "ENERGYMETER" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+			public final static int IMAGE = BASE + 101;
+			public final static int WARN_IMAGE = BASE + 102;
+			public final static int EACH_CONCENT1 = BASE + 103;
+			public final static int EACH_CONCENT2 = BASE + 104;
+			public final static int EACH_CONCENT3 = BASE + 105;
+			public final static int EACH_CONCENT4 = BASE + 106;
+			public final static int WARN_IMAGE2 = BASE + 107;
+
+			public final static int CONCENT_AL1 = BASE + 110;
+			public final static int CONCENT_AL2 = BASE + 111;
+			public final static int CONCENT_AL3 = BASE + 112;
+			public final static int CONCENT_AL4 = BASE + 113;
+
+			public final static int EACH_CONNUM1 = BASE + 120;
+			public final static int EACH_CONNUM2 = BASE + 121;
+			public final static int EACH_CONNUM3 = BASE + 122;
+			public final static int EACH_CONNUM4 = BASE + 123;
+
+		}
+
+		public static final class button {
+			public final static int CLOSE = BASE + 200;
+			public final static int ROOM_NEXT = BASE + 201;
+			public final static int ROOM_PREV = BASE + 202;
+			public final static int NEXT = BASE + 203;
+
+			public final static int CONCENT_CUT1 = BASE + 220;
+			public final static int CONCENT_CUT2 = BASE + 221;
+			public final static int CONCENT_CUT3 = BASE + 222;
+			public final static int CONCENT_CUT4 = BASE + 223;
+
+			public final static int CUT_SET1 = BASE + 230;
+			public final static int CUT_SET2 = BASE + 231;
+			public final static int CUT_SET3 = BASE + 232;
+			public final static int CUT_SET4 = BASE + 233;
+
+			public final static int CUT_ACT1 = BASE + 240;
+			public final static int CUT_ACT2 = BASE + 241;
+			public final static int CUT_ACT3 = BASE + 242;
+			public final static int CUT_ACT4 = BASE + 243;
+		}
+
+		public static final class text {
+			public final static int ROOM_TITLE = BASE + 300;
+
+			public final static int CONCENT_AL1 = BASE + 310;
+			public final static int CONCENT_AL2 = BASE + 311;
+			public final static int CONCENT_AL3 = BASE + 312;
+			public final static int CONCENT_AL4 = BASE + 313;
+
+			public final static int CONCENT_CUT1 = BASE + 320;
+			public final static int CONCENT_CUT2 = BASE + 321;
+			public final static int CONCENT_CUT3 = BASE + 322;
+			public final static int CONCENT_CUT4 = BASE + 323;
+
+			public final static int CUT_SET1 = BASE + 330;
+			public final static int CUT_SET2 = BASE + 331;
+			public final static int CUT_SET3 = BASE + 332;
+			public final static int CUT_SET4 = BASE + 333;
+
+		}
+	}
+
+
+
+	/* ==========================================================================
+	 * VentiMainScreenID
+	 * ========================================================================== */
+	public static final class VentiMainScreenID
+	{
+		final static int BASE = screen.VentiMainScreen;
+		public final static String  BR_VENTI = BR_ACTION_BASE + "VENTI" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	      = BASE + 100;
+			public final static int BACKGROUND_SUB    = BASE + 101;
+
+			public final static int FAN               = BASE + 102;
+
+			public final static int LINE1             = BASE + 103;
+			public final static int LINE2             = BASE + 104;
+			public final static int RESERVATION       = BASE + 105;
+
+			public final static int WIND_TITLE        = BASE + 106;
+
+			public final static int TIMER_TITLE       = BASE + 107;
+			public final static int TIMER_BLANK       = BASE + 108;
+
+			public final static int FILLTER_CHANGE    = BASE + 109;
+
+			public final static int BYPASS_TITLE      = BASE + 110;
+			public final static int HEATER_TITLE      = BASE + 111;
+
+			public final static int ONOFF_TITLE       = BASE + 112;
+			public final static int RESERVATION_TITLE = BASE + 113;
+
+			public final static int AUTODRIVING_TITLE = BASE + 114;
+			public final static int BATHROOM_TITLE    = BASE + 115;
+
+			public final static int BACKGROUND_BOX    = BASE + 116;
+		}
+		public static final class button
+		{
+			public final static int RESERVATION_SET   = BASE + 200;
+			public final static int ONOFF             = BASE + 201;
+
+			public final static int WIND_1            = BASE + 202;
+			public final static int WIND_2            = BASE + 203;
+			public final static int WIND_3            = BASE + 204;
+
+			public final static int TIMER_LEFT        = BASE + 205;
+			public final static int TIMER_RIGHT       = BASE + 206;
+
+			public final static int BYPASS            = BASE + 207;
+			public final static int HEATER            = BASE + 208;
+
+			public final static int FILLTER_CHANGE    = BASE + 209;
+
+			public final static int AUTODRIVING       = BASE + 210;
+			public final static int BATHROOM          = BASE + 211;
+
+			public final static int INNERCYCLE        = BASE + 220;
+			public final static int OUTAIRCLEAN       = BASE + 221;
+
+			public final static int SLEEP	          = BASE + 222;
+			public final static int FILLTER_SERVICE    = BASE + 223;
+
+			public final static int VENTIBTN = BASE + 230;
+			public final static int VENTIFILTERBTN = BASE + 240;
+		}
+		public static final class text
+		{
+			public final static int TITLE             = BASE + 300;
+			public final static int HEATER_TIME       = BASE + 301;
+
+			public final static int ONOFF_TITLE       = BASE + 302;
+			public final static int RESERV_TITLE      = BASE + 303;
+			public final static int EXHAUSTION_TITLE  = BASE + 304;
+			public final static int WIND_POWER_TITLE  = BASE + 305;
+			public final static int BYPASS_TITLE      = BASE + 306;
+			public final static int TIMER_TITLE       = BASE + 307;
+			public final static int HEATER_TITLE      = BASE + 308;
+			public final static int TIMER_TEXT        = BASE + 309;
+			public final static int AUTODRIVING_TITLE = BASE + 310;
+			public final static int SLEEP_TITLE 	  = BASE + 311;
+			public final static int INNER_CYCLE_TITLE = BASE + 312;
+			public final static int OUTAIR_TITLE 	  = BASE + 313;
+
+			public final static int VENTI_TITLE = BASE + 320;
+			public final static int VENTI_ERROR = BASE + 330;
+		}
+	}
+
+	public static final class VentilationMainScreenID {
+		final static int BASE = screen.VentilationMainScreen;
+		public final static String  BR_VENTI = BR_ACTION_BASE + "VENTI" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class IMG {
+			public final static int BACKGROUND	      = BASE + 100;
+			public final static int BACKGROUND_SUB    = BASE + 101;
+			public final static int FAN               = BASE + 102;
+			public final static int LINE1             = BASE + 103;
+			public final static int LINE2             = BASE + 104;
+			public final static int RESERVATION       = BASE + 105;
+			public final static int WIND_TITLE        = BASE + 106;
+			public final static int TIMER_TITLE       = BASE + 107;
+			public final static int TIMER_BLANK       = BASE + 108;
+			public final static int FILLTER_CHANGE    = BASE + 109;
+			public final static int BYPASS_TITLE      = BASE + 110;
+			public final static int HEATER_TITLE      = BASE + 111;
+			public final static int ONOFF_TITLE       = BASE + 112;
+			public final static int RESERVATION_TITLE = BASE + 113;
+			public final static int AUTODRIVING_TITLE = BASE + 114;
+			public final static int BATHROOM_TITLE    = BASE + 115;
+			public final static int BACKGROUND_BOX    = BASE + 116;
+			public final static int AIRQUALITY_STATUS_PM10 = BASE + 117;
+			public final static int AIRQUALITY_STATUS_PM2p5 = BASE + 118;
+			public final static int AIRQUALITY_STATUS_CO2 = BASE + 119;
+		}
+
+		public static final class BTN {
+			public final static int RESERVATION_SET   = BASE + 200;
+			public final static int ONOFF_POWER = BASE + 201;
+			public final static int WIND_1            = BASE + 202;
+			public final static int WIND_2            = BASE + 203;
+			public final static int WIND_3            = BASE + 204;
+			public final static int TIMER_LEFT        = BASE + 205;
+			public final static int TIMER_RIGHT       = BASE + 206;
+			public final static int MODE_BYPASS = BASE + 207;
+			public final static int ONOFF_HEATER = BASE + 208;
+			public final static int FILLTER_CHANGE    = BASE + 209;
+			public final static int MODE_AUTODRIVING = BASE + 210;
+			public final static int BATHROOM          = BASE + 211;
+			public final static int MODE_INNERCYCLE = BASE + 220;
+			public final static int MODE_OUTAIRCLEAN = BASE + 221;
+			public final static int MODE_SLEEP = BASE + 222;
+			public final static int FILLTER_SERVICE    = BASE + 223;
+			public final static int MODE_NORMAL = BASE + 224;
+			public final static int ONOFF_AUTOCLEAN = BASE + 225;
+			public final static int ONOFF_RESERVATION = BASE + 226;
+		}
+
+		public static final class TXT {
+			public final static int TITLE             = BASE + 300;
+			public final static int TITLE_ONOFF_POWER = BASE + 301;
+			public final static int TITLE_ONOFF_AUTOCLEAN = BASE + 302;
+			public final static int TITLE_ONOFF_RESERVATION = BASE + 303;
+			public final static int TITLE_ONOFF_HEATER = BASE + 304;
+			public final static int TITLE_ONOFF_SLEEP = BASE + 305;
+			public final static int TITLE_ONOFF_MODE_AUTO = BASE + 306;
+			public final static int TITLE_VENTILMODE = BASE + 307;
+			public final static int TITLE_WINDVOL = BASE + 308;
+			public final static int TITLE_TIMER = BASE + 309;
+			public final static int HEATER_TIME = BASE + 320;
+			public final static int TIMER_VALUE = BASE + 321;
+			public final static int INSTRUCTION = BASE + 322;
+			public final static int ALARM_MESSAGE = BASE + 323;
+			public final static int AIRQUALITY_TITLE_PM10 	  = BASE + 350;
+			public final static int AIRQUALITY_TITLE_PM2p5 	  = BASE + 351;
+			public final static int AIRQUALITY_TITLE_CO2 	  = BASE + 352;
+			public final static int AIRQUALITY_STATUS_PM10 	  = BASE + 353;
+			public final static int AIRQUALITY_STATUS_PM2p5 	  = BASE + 354;
+			public final static int AIRQUALITY_STATUS_CO2 	  = BASE + 355;
+			public final static int AIRQUALITY_FIGURE_PM10 	  = BASE + 356;
+			public final static int AIRQUALITY_FIGURE_PM2p5 	  = BASE + 357;
+			public final static int AIRQUALITY_FIGURE_CO2 	  = BASE + 358;
+		}
+	}
+
+	public static final class VentiPopup_Reservation
+	{
+		final static int BASE = screen.VentiPopupReservationScreen;
+
+		public final static String  BR_VENTI_RESERVATION = BR_ACTION_BASE + "VENTI_RESERVATION" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	      = BASE + 100;
+			public final static int BOX1              = BASE + 101;
+			public final static int BOX2              = BASE + 102;
+			public final static int MAINTITLE         = BASE + 103;
+			public final static int SUBTITLE          = BASE + 104;
+		}
+		public static final class button
+		{
+			public final static int EXIT              = BASE + 200;
+
+			public final static int START_STOP        = BASE + 201;
+			public final static int AMPM              = BASE + 202;
+
+			public final static int TIME_1            = BASE + 203;
+			public final static int TIME_2            = BASE + 204;
+			public final static int TIME_3            = BASE + 205;
+			public final static int TIME_4            = BASE + 206;
+			public final static int TIME_5            = BASE + 207;
+			public final static int TIME_6            = BASE + 208;
+			public final static int TIME_7            = BASE + 209;
+			public final static int TIME_8            = BASE + 210;
+			public final static int TIME_9            = BASE + 211;
+			public final static int TIME_10           = BASE + 212;
+			public final static int TIME_11           = BASE + 213;
+			public final static int TIME_12           = BASE + 214;
+			public final static int MANUAL            = BASE + 215;
+		}
+		public static final class text
+		{
+			public final static int MAINTITLE		  = BASE + 300;
+			public final static int ONOFFTITLE		  = BASE + 301;
+
+		}
+	}
+
+	public static final class VentiPopup_Alarm {
+		final static int BASE = screen.VentiPopupAlarmScreen;
+
+		public static final class kind {
+			public final static int ReservationClear  = BASE + 1;
+			public final static int HeaterOn          = BASE + 2;
+			public final static int FilterReset       = BASE + 3;
+			public final static int SafeMode          = BASE + 4;
+			public final static int HDCAutoAirCleanOn = BASE + 5;
+			public final static int CancelHDCAutoAirCleanNRunReservation = BASE + 6;
+			public final static int CancelReservationNRunAutoAirClean = BASE + 7;
+			public final static int AirQualityFanWarning = BASE + 8;
+			public final static int TurnOnVentilPower = BASE + 9;
+			public final static int DeviceError = BASE + 10;
+		}
+
+		public static final class image {
+			public final static int BACKGROUND        = BASE + 100;
+			public final static int IMAGE             = BASE + 101;
+		}
+
+		public static final class button {
+			public final static int OK                = BASE + 200;
+			public final static int CANCEL            = BASE + 201;
+		}
+
+		public static final class text {
+			public final static int TEXT1             = BASE + 300;
+			public final static int TEXT2             = BASE + 301;
+			public final static int TEXT3             = BASE + 302;
+			public final static int TEXT4             = BASE + 303;
+
+		}
+	}
+
+	public static final class VentiPopup_Service
+	{
+		final static int BASE = screen.VentiPopupServiceScreen;
+
+		//public final static String  BR_VENTI_RESERVATION = BR_ACTION_BASE + "VENTI_RESERVATION" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	      = BASE + 100;
+			public final static int IMAGE             = BASE + 101;
+		}
+		public static final class button
+		{
+			public final static int OK				  = BASE + 200;
+		}
+		public static final class text
+		{
+			public final static int TEXT1			  = BASE + 300;
+			public final static int TEXT2			  = BASE + 301;
+		}
+	}
+	/* ==========================================================================
+	 * CookTopConcentMainScreenID
+	 * ========================================================================== */
+	public static final class CookTopConcentMainScreenID
+	{
+		final static int BASE = screen.CookTopConcentMainScreen;
+		public final static String  BR_CookTopConcent = BR_ACTION_BASE + "CookTopConcent" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	    = BASE + 100;
+			public final static int STATUS_IMG      = BASE + 101;
+		}
+		public static final class button
+		{
+			public final static int CLOSE			= BASE + 200;
+		}
+		public static final class text
+		{
+			public final static int TITLE             = BASE + 300;
+			public final static int STATUS            = BASE + 301;
+		}
+	}
+
+	/* ==========================================================================
+	 * CookTopConcentMainScreenID
+	 * ========================================================================== */
+
+
+    /* ==========================================================================
+     * GasMainScreenID
+     * ========================================================================== */
+    public static final class GasMainScreenID
+    {
+        final static int BASE = screen.GasMainScreen;
+        public final static String  BR_GAS = BR_ACTION_BASE + "GAS" + "(" + BASE + ")";
+
+        public static final class layout
+        {
+        }
+        public static final class image
+        {
+            public final static int BACKGROUND	    = BASE + 100;
+			public final static int STATUS_IMG      = BASE + 101;
+        }
+        public static final class button
+        {
+			public final static int CLOSE			= BASE + 200;
+        }
+        public static final class text
+        {
+            public final static int TITLE             = BASE + 300;
+			public final static int STATUS            = BASE + 301;
+        }
+    }
+
+	/* ==========================================================================
+	 * GasMainScreenID
+	 * ========================================================================== */
+	public static final class ElectricRangeMainScreenID
+	{
+		final static int BASE = screen.ElectricRangeScreen;
+		public final static String  BR_ELECTRIC_RANGE = BR_ACTION_BASE + "ELECTRIC_RANGE" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	    = BASE + 100;
+			public final static int RANGE_AREA	    = BASE + 101;
+			public final static int STATUS_IMG      = BASE + 102;
+
+			public final static int LEVEL_IMG_1      = BASE + 110;
+			public final static int LEVEL_IMG_2      = BASE + 111;
+			public final static int LEVEL_IMG_3      = BASE + 112;
+			public final static int LEVEL_IMG_4      = BASE + 113;
+			public final static int LEVEL_IMG_5      = BASE + 114;
+			public final static int LEVEL_IMG_6      = BASE + 115;
+			public final static int LEVEL_IMG_7      = BASE + 116;
+			public final static int LEVEL_IMG_8      = BASE + 117;
+			public final static int LEVEL_IMG_9      = BASE + 118;
+			public final static int LEVEL_IMG_T      = BASE + 119;
+
+			public final static int NUMBERING_IMG_1      = BASE + 120;
+			public final static int NUMBERING_IMG_2      = BASE + 121;
+			public final static int NUMBERING_IMG_3      = BASE + 122;
+			public final static int NUMBERING_IMG_4      = BASE + 123;
+			public final static int NUMBERING_IMG_5      = BASE + 124;
+			public final static int NUMBERING_IMG_6      = BASE + 125;
+		}
+		public static final class button
+		{
+			public final static int FIREHOLE_1			= BASE + 200;
+			public final static int FIREHOLE_2			= BASE + 201;
+			public final static int FIREHOLE_3			= BASE + 202;
+			public final static int FIREHOLE_4			= BASE + 203;
+			public final static int FIREHOLE_5			= BASE + 204;
+			public final static int FIREHOLE_6			= BASE + 205;
+
+			public final static int ALLOFF				= BASE + 210;
+		}
+		public static final class text
+		{
+			public final static int TITLE             = BASE + 300;
+			public final static int STATUS            = BASE + 301;
+
+			public final static int KIND_TEXT_1            = BASE + 310;
+			public final static int KIND_TEXT_2            = BASE + 311;
+			public final static int KIND_TEXT_3            = BASE + 312;
+			public final static int KIND_TEXT_4            = BASE + 313;
+			public final static int KIND_TEXT_5            = BASE + 314;
+			public final static int KIND_TEXT_6            = BASE + 315;
+
+			public final static int MODE_TEXT_1            = BASE + 320;
+			public final static int MODE_TEXT_2            = BASE + 321;
+			public final static int MODE_TEXT_3            = BASE + 322;
+			public final static int MODE_TEXT_4            = BASE + 323;
+			public final static int MODE_TEXT_5            = BASE + 324;
+			public final static int MODE_TEXT_6            = BASE + 325;
+
+			public final static int ONOFF_TEXT_1            = BASE + 330;
+			public final static int ONOFF_TEXT_2            = BASE + 331;
+			public final static int ONOFF_TEXT_3            = BASE + 332;
+			public final static int ONOFF_TEXT_4            = BASE + 333;
+			public final static int ONOFF_TEXT_5            = BASE + 334;
+			public final static int ONOFF_TEXT_6            = BASE + 335;
+
+			public final static int LEVEL_TEXT_1            = BASE + 340;
+			public final static int LEVEL_TEXT_2            = BASE + 341;
+			public final static int LEVEL_TEXT_3            = BASE + 342;
+			public final static int LEVEL_TEXT_4            = BASE + 343;
+			public final static int LEVEL_TEXT_5            = BASE + 344;
+			public final static int LEVEL_TEXT_6            = BASE + 345;
+
+			public final static int TIMER_TEXT_1            = BASE + 350;
+			public final static int TIMER_TEXT_2            = BASE + 351;
+			public final static int TIMER_TEXT_3            = BASE + 352;
+			public final static int TIMER_TEXT_4            = BASE + 353;
+			public final static int TIMER_TEXT_5            = BASE + 354;
+			public final static int TIMER_TEXT_6            = BASE + 355;
+
+			public final static int CTR_WARN_MENT           = BASE + 356;
+		}
+	}
+
+
+	/* ==========================================================================
+ 	* ==========================================================================
+ 	* DoorLock
+ 	* ==========================================================================
+ 	* ========================================================================== */
+	public static final class DoorLockMainScreenID
+	{
+		final static int BASE = screen.DoorLockMainScreen;
+
+		public final static String  BR_DOORLOCK = BR_ACTION_BASE + "DOORLOCK" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	    = BASE + 100;
+			public final static int STATUS_IMG      = BASE + 101;
+		}
+		public static final class button
+		{
+			public final static int OPEN			= BASE + 200;
+		}
+		public static final class text
+		{
+			public final static int STATUS		 	= BASE + 300;
+		}
+	}
+
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * COOKTOP
+	 * ==========================================================================
+	 * ========================================================================== */
+	public static final class HybridCookTopmain
+	{
+		final static int BASE = screen.HybridCookTopMainScreen;
+
+		public final static String  BR_COOKTOP = BR_ACTION_BASE + "HYBRIDCOOKTOP_MAIN" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND        = BASE + 100;
+
+			public final static int ROOM_BACKGROUND_1 = BASE + 110;
+			public final static int ROOM_BACKGROUND_2 = BASE + 111;
+			public final static int ROOM_BACKGROUND_3 = BASE + 112;
+			public final static int ROOM_BACKGROUND_4 = BASE + 113;
+			public final static int ROOM_BACKGROUND_5 = BASE + 114;
+			public final static int ROOM_BACKGROUND_6 = BASE + 115;
+
+			public final static int ROOM_FIRE_1       = BASE + 120;
+			public final static int ROOM_FIRE_2       = BASE + 121;
+			public final static int ROOM_FIRE_3       = BASE + 122;
+			public final static int ROOM_FIRE_4       = BASE + 123;
+			public final static int ROOM_FIRE_5       = BASE + 124;
+			public final static int ROOM_FIRE_6       = BASE + 125;
+		}
+		public static final class button
+		{
+			public final static int ALL_OFF         = BASE + 200;
+
+			public final static int ROOM_TITLE_1        = BASE + 210;
+			public final static int ROOM_TITLE_2        = BASE + 211;
+			public final static int ROOM_TITLE_3        = BASE + 212;
+			public final static int ROOM_TITLE_4        = BASE + 213;
+			public final static int ROOM_TITLE_5        = BASE + 214;
+			public final static int ROOM_TITLE_6        = BASE + 215;
+			public final static int ROOM_TITLE_7        = BASE + 216;
+			public final static int ROOM_TITLE_8        = BASE + 217;
+			public final static int ROOM_TITLE_9        = BASE + 210;
+			public final static int ROOM_TITLE_10        = BASE + 211;
+			public final static int ROOM_TITLE_11        = BASE + 212;
+			public final static int ROOM_TITLE_12        = BASE + 213;
+			public final static int ROOM_TITLE_13        = BASE + 214;
+			public final static int ROOM_TITLE_14        = BASE + 215;
+			public final static int ROOM_TITLE_15        = BASE + 216;
+
+			public final static int ROOM_ONOFF_1        = BASE + 220;
+			public final static int ROOM_ONOFF_2        = BASE + 221;
+			public final static int ROOM_ONOFF_3        = BASE + 222;
+			public final static int ROOM_ONOFF_4        = BASE + 223;
+			public final static int ROOM_ONOFF_5        = BASE + 224;
+			public final static int ROOM_ONOFF_6        = BASE + 225;
+			public final static int ROOM_ONOFF_7        = BASE + 226;
+			public final static int ROOM_ONOFF_8        = BASE + 227;
+			public final static int ROOM_ONOFF_9        = BASE + 228;
+			public final static int ROOM_ONOFF_10        = BASE + 229;
+			public final static int ROOM_ONOFF_11        = BASE + 230;
+			public final static int ROOM_ONOFF_12        = BASE + 231;
+			public final static int ROOM_ONOFF_13        = BASE + 232;
+			public final static int ROOM_ONOFF_14        = BASE + 233;
+			public final static int ROOM_ONOFF_15        = BASE + 234;
+
+			public final static int LEFT_MOVE_BTN     	= BASE + 235;
+			public final static int RIGHT_MOVE_BTN    	= BASE + 236;
+		}
+		public static final class text
+		{
+			public final static int TYPE_TITLE_1        = BASE + 300;
+			public final static int TYPE_TITLE_2        = BASE + 301;
+			public final static int TYPE_TITLE_3        = BASE + 302;
+			public final static int TYPE_TITLE_4        = BASE + 303;
+			public final static int TYPE_TITLE_5        = BASE + 304;
+			public final static int TYPE_TITLE_6        = BASE + 305;
+			public final static int TYPE_TITLE_7        = BASE + 306;
+			public final static int TYPE_TITLE_8        = BASE + 307;
+			public final static int TYPE_TITLE_9        = BASE + 308;
+			public final static int TYPE_TITLE_10        = BASE + 309;
+			public final static int TYPE_TITLE_11        = BASE + 310;
+			public final static int TYPE_TITLE_12        = BASE + 311;
+			public final static int TYPE_TITLE_13        = BASE + 312;
+			public final static int TYPE_TITLE_14        = BASE + 313;
+			public final static int TYPE_TITLE_15        = BASE + 314;
+
+			public final static int STATUS_1        = BASE + 315;
+			public final static int STATUS_2        = BASE + 316;
+			public final static int STATUS_3        = BASE + 317;
+			public final static int STATUS_4        = BASE + 318;
+			public final static int STATUS_5        = BASE + 319;
+			public final static int STATUS_6        = BASE + 320;
+			public final static int STATUS_7        = BASE + 321;
+			public final static int STATUS_8        = BASE + 322;
+			public final static int STATUS_9        = BASE + 323;
+			public final static int STATUS_10        = BASE + 324;
+			public final static int STATUS_11       = BASE + 325;
+			public final static int STATUS_12        = BASE + 326;
+			public final static int STATUS_13        = BASE + 327;
+			public final static int STATUS_14        = BASE + 328;
+			public final static int STATUS_15        = BASE + 329;
+
+			public final static int ERROR_1        = BASE + 340;
+			public final static int ERROR_2        = BASE + 341;
+			public final static int ERROR_3        = BASE + 342;
+			public final static int ERROR_4        = BASE + 343;
+			public final static int ERROR_5        = BASE + 344;
+			public final static int ERROR_6        = BASE + 345;
+			public final static int ERROR_7        = BASE + 346;
+			public final static int ERROR_8        = BASE + 347;
+			public final static int ERROR_9        = BASE + 348;
+			public final static int ERROR_10        = BASE + 349;
+			public final static int ERROR_11       = BASE + 350;
+			public final static int ERROR_12        = BASE + 351;
+			public final static int ERROR_13        = BASE + 352;
+			public final static int ERROR_14        = BASE + 353;
+			public final static int ERROR_15        = BASE + 354;
+
+
+			public final static int PAGE_TEXT		    = BASE + 340;
+		}
+	}
+
+
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * CurTain
+	 * ==========================================================================
+	 * ========================================================================== */
+	public static final class CurtainV1main
+	{
+		final static int BASE = screen.CurTainV1MainScreen;
+
+		public final static String  BR_COOKTOP = BR_ACTION_BASE + "CURTAINV1_MAIN" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND        = BASE + 100;
+			public final static int CURTAIN        = BASE + 101;
+		}
+		public static final class button
+		{
+			public final static int OFF         = BASE + 200;
+			public final static int ON        = BASE + 210;
+			public final static int STOP        = BASE + 211;
+			public final static int ISLIVINGROOM        = BASE + 212;
+			public final static int ISROOM       		= BASE + 213;
+		}
+		public static final class text
+		{
+			public final static int STATUS        		= BASE + 300;
+			public final static int ERROR        = BASE + 354;
+		}
+	}
+
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * HEATING
+	 * ==========================================================================
+	 * ========================================================================== */
+	public static final class heatingV1main
+	{
+		final static int BASE = screen.HeatingV1MainScreen;
+
+		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV1_MAIN" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND        = BASE + 100;
+
+			public final static int ROOM_BACKGROUND_1 = BASE + 110;
+			public final static int ROOM_BACKGROUND_2 = BASE + 111;
+			public final static int ROOM_BACKGROUND_3 = BASE + 112;
+			public final static int ROOM_BACKGROUND_4 = BASE + 113;
+			public final static int ROOM_BACKGROUND_5 = BASE + 114;
+			public final static int ROOM_BACKGROUND_6 = BASE + 115;
+
+			public final static int ROOM_FIRE_1       = BASE + 120;
+			public final static int ROOM_FIRE_2       = BASE + 121;
+			public final static int ROOM_FIRE_3       = BASE + 122;
+			public final static int ROOM_FIRE_4       = BASE + 123;
+			public final static int ROOM_FIRE_5       = BASE + 124;
+			public final static int ROOM_FIRE_6       = BASE + 125;
+		}
+		public static final class button
+		{
+			public final static int ALL_EXECUTION       = BASE + 200;
+
+			public final static int ROOM_TITLE_1        = BASE + 210;
+			public final static int ROOM_TITLE_2        = BASE + 211;
+			public final static int ROOM_TITLE_3        = BASE + 212;
+			public final static int ROOM_TITLE_4        = BASE + 213;
+			public final static int ROOM_TITLE_5        = BASE + 214;
+			public final static int ROOM_TITLE_6        = BASE + 215;
+
+			public final static int ROOM_ONOFF_1        = BASE + 220;
+			public final static int ROOM_ONOFF_2        = BASE + 221;
+			public final static int ROOM_ONOFF_3        = BASE + 222;
+			public final static int ROOM_ONOFF_4        = BASE + 223;
+			public final static int ROOM_ONOFF_5        = BASE + 224;
+			public final static int ROOM_ONOFF_6        = BASE + 225;
+			public final static int ALL_RELEASE 		= BASE + 226;
+		}
+		public static final class text
+		{
+			public final static int ROOM_TITLE_1        = BASE + 300;
+			public final static int ROOM_TITLE_2        = BASE + 301;
+			public final static int ROOM_TITLE_3        = BASE + 302;
+			public final static int ROOM_TITLE_4        = BASE + 303;
+			public final static int ROOM_TITLE_5        = BASE + 304;
+			public final static int ROOM_TITLE_6        = BASE + 305;
+
+			public final static int ROOM_MODE_1         = BASE + 310;
+			public final static int ROOM_MODE_2         = BASE + 311;
+			public final static int ROOM_MODE_3         = BASE + 312;
+			public final static int ROOM_MODE_4         = BASE + 313;
+			public final static int ROOM_MODE_5         = BASE + 314;
+			public final static int ROOM_MODE_6         = BASE + 315;
+
+			public final static int ROOM_NOWTEMP_1      = BASE + 320;
+			public final static int ROOM_NOWTEMP_2      = BASE + 321;
+			public final static int ROOM_NOWTEMP_3      = BASE + 322;
+			public final static int ROOM_NOWTEMP_4      = BASE + 323;
+			public final static int ROOM_NOWTEMP_5      = BASE + 324;
+			public final static int ROOM_NOWTEMP_6      = BASE + 325;
+
+			public final static int ROOM_SETTEMP_1      = BASE + 330;
+			public final static int ROOM_SETTEMP_2      = BASE + 331;
+			public final static int ROOM_SETTEMP_3      = BASE + 332;
+			public final static int ROOM_SETTEMP_4      = BASE + 333;
+			public final static int ROOM_SETTEMP_5      = BASE + 334;
+			public final static int ROOM_SETTEMP_6      = BASE + 335;
+		}
+	}
+
+
+	public static final class heatingV1Popup
+	{
+		public final static int BASE = screen.HeatingV2PopupScreen;
+
+		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND          = BASE + 10;
+			public final static int BACKGROUND_RESERV   = BASE + 11;
+			public final static int BACKGROUND_SLEEP    = BASE + 12;
+		}
+		public static final class button
+		{
+			public final static int EXIT                = BASE + 20;
+
+			public final static int ROOMSEL_LEFT        = BASE + 21;
+			public final static int ROOMSEL_RIGHT       = BASE + 22;
+
+			public final static int TAP_DEFAULT         = BASE + 23;
+			public final static int TAP_RESERVATION     = BASE + 24;
+			public final static int TAP_SLEEP           = BASE + 25;
+
+			public final static int MANUAL	            = BASE + 26;
+		}
+		public static final class text
+		{
+			public final static int TITLE               = BASE + 30;
+			public final static int TAB_DEFAULT         = BASE + 31;
+			public final static int TAB_RESERV          = BASE + 32;
+			public final static int TAB_SLEEP           = BASE + 33;
+		}
+
+		// Tab Default
+		public static final class tabDefault
+		{
+			public final static int BASE = heatingV2Popup.BASE + 100;
+
+			public static final class layout
+			{
+				public final static int ALL                 = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1                = BASE + 10;
+				public final static int BOX2                = BASE + 11;
+				public final static int BOXTEXT_1           = BASE + 12;
+				public final static int BOXTEXT_2           = BASE + 13;
+				public final static int NOWTEMP_BOX         = BASE + 14;
+				public final static int SETTEMP_BOX         = BASE + 15;
+				public final static int MODE_BOX            = BASE + 16;
+				public final static int FIRE                = BASE + 17;
+			}
+			public static final class button
+			{
+				public final static int ONOFF               = BASE + 20;
+
+				public final static int HEATING             = BASE + 21;
+				public final static int RESERVATION         = BASE + 22;
+				public final static int SLEEP               = BASE + 23;
+				public final static int OUTING              = BASE + 24;
+
+				public final static int TEMP_UP             = BASE + 25;
+				public final static int TEMP_DN             = BASE + 26;
+			}
+			public static final class text
+			{
+				public final static int DRV_MODE             = BASE + 30;
+
+				public final static int NOW_TEMP             = BASE + 31;
+				public final static int SET_TEMP             = BASE + 32;
+
+			}
+		}
+
+		// Tab Reserbation
+		public static final class tabReserbation
+		{
+			public final static int BASE = heatingV2Popup.BASE + 200;
+
+			public static final class layout
+			{
+				public final static int ALL               = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1              = BASE + 10;
+				public final static int BOXTEXT_1         = BASE + 11;
+			}
+			public static final class button
+			{
+				public final static int AMPM              = BASE + 20;
+
+				public final static int TIME_1            = BASE + 21;
+				public final static int TIME_2            = BASE + 22;
+				public final static int TIME_3            = BASE + 23;
+				public final static int TIME_4            = BASE + 24;
+				public final static int TIME_5            = BASE + 25;
+				public final static int TIME_6            = BASE + 26;
+				public final static int TIME_7            = BASE + 27;
+				public final static int TIME_8            = BASE + 28;
+				public final static int TIME_9            = BASE + 29;
+				public final static int TIME_10           = BASE + 30;
+				public final static int TIME_11           = BASE + 31;
+				public final static int TIME_12           = BASE + 32;
+			}
+			public static final class text
+			{
+			}
+		}
+
+		// Tab Sleep
+		public static final class tabSleep
+		{
+			public final static int BASE = heatingV2Popup.BASE + 300;
+
+			public static final class layout
+			{
+				public final static int ALL                 = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1                = BASE + 10;
+				public final static int BOX2                = BASE + 11;
+				public final static int BOXTEXT_1           = BASE + 12;
+				public final static int BOXTEXT_2           = BASE + 13;
+				public final static int BOXBLANK1           = BASE + 14;
+				public final static int BOXBLANK2           = BASE + 15;
+			}
+			public static final class button
+			{
+				public final static int TIME_LEFT           = BASE + 20;
+				public final static int TIME_RIGHT          = BASE + 21;
+				public final static int TEMP_LEFT           = BASE + 22;
+				public final static int TEMP_RIGHT          = BASE + 23;
+			}
+			public static final class text
+			{
+				public final static int TIME                = BASE + 30;
+				public final static int TEMP                = BASE + 31;
+			}
+		}
+	}
+
+	public static final class heatingV2main
+	{
+		final static int BASE = screen.HeatingV2MainScreen;
+
+		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_MAIN" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND        = BASE + 100;
+
+			public final static int ROOM_BACKGROUND_1 = BASE + 110;
+			public final static int ROOM_BACKGROUND_2 = BASE + 111;
+			public final static int ROOM_BACKGROUND_3 = BASE + 112;
+			public final static int ROOM_BACKGROUND_4 = BASE + 113;
+			public final static int ROOM_BACKGROUND_5 = BASE + 114;
+			public final static int ROOM_BACKGROUND_6 = BASE + 115;
+
+			public final static int ROOM_FIRE_1       = BASE + 120;
+			public final static int ROOM_FIRE_2       = BASE + 121;
+			public final static int ROOM_FIRE_3       = BASE + 122;
+			public final static int ROOM_FIRE_4       = BASE + 123;
+			public final static int ROOM_FIRE_5       = BASE + 124;
+			public final static int ROOM_FIRE_6       = BASE + 125;
+		}
+		public static final class button
+		{
+			public final static int ALL_EXECUTION       = BASE + 200;
+			public final static int ALL_RELEASE         = BASE + 201;
+			public final static int ALL_ON       = BASE + 202;
+			public final static int ALL_OFF         = BASE + 203;
+
+			public final static int ROOM_TITLE_1        = BASE + 210;
+			public final static int ROOM_TITLE_2        = BASE + 211;
+			public final static int ROOM_TITLE_3        = BASE + 212;
+			public final static int ROOM_TITLE_4        = BASE + 213;
+			public final static int ROOM_TITLE_5        = BASE + 214;
+			public final static int ROOM_TITLE_6        = BASE + 215;
+			public final static int ROOM_TITLE_7        = BASE + 216;
+			public final static int ROOM_TITLE_8        = BASE + 217;
+
+			public final static int ROOM_ONOFF_1        = BASE + 220;
+			public final static int ROOM_ONOFF_2        = BASE + 221;
+			public final static int ROOM_ONOFF_3        = BASE + 222;
+			public final static int ROOM_ONOFF_4        = BASE + 223;
+			public final static int ROOM_ONOFF_5        = BASE + 224;
+			public final static int ROOM_ONOFF_6        = BASE + 225;
+			public final static int ROOM_ONOFF_7        = BASE + 226;
+			public final static int ROOM_ONOFF_8        = BASE + 227;
+
+			public final static int LEFT_MOVE_BTN     	= BASE + 230;
+			public final static int RIGHT_MOVE_BTN    	= BASE + 231;
+		}
+		public static final class text
+		{
+			public final static int ROOM_TITLE_1        = BASE + 300;
+			public final static int ROOM_TITLE_2        = BASE + 301;
+			public final static int ROOM_TITLE_3        = BASE + 302;
+			public final static int ROOM_TITLE_4        = BASE + 303;
+			public final static int ROOM_TITLE_5        = BASE + 304;
+			public final static int ROOM_TITLE_6        = BASE + 305;
+			public final static int ROOM_TITLE_7        = BASE + 306;
+			public final static int ROOM_TITLE_8        = BASE + 307;
+
+			public final static int ROOM_MODE_1         = BASE + 310;
+			public final static int ROOM_MODE_2         = BASE + 311;
+			public final static int ROOM_MODE_3         = BASE + 312;
+			public final static int ROOM_MODE_4         = BASE + 313;
+			public final static int ROOM_MODE_5         = BASE + 314;
+			public final static int ROOM_MODE_6         = BASE + 315;
+			public final static int ROOM_MODE_7         = BASE + 316;
+			public final static int ROOM_MODE_8         = BASE + 317;
+
+			public final static int ROOM_NOWTEMP_1      = BASE + 320;
+			public final static int ROOM_NOWTEMP_2      = BASE + 321;
+			public final static int ROOM_NOWTEMP_3      = BASE + 322;
+			public final static int ROOM_NOWTEMP_4      = BASE + 323;
+			public final static int ROOM_NOWTEMP_5      = BASE + 324;
+			public final static int ROOM_NOWTEMP_6      = BASE + 325;
+			public final static int ROOM_NOWTEMP_7      = BASE + 326;
+			public final static int ROOM_NOWTEMP_8      = BASE + 327;
+
+			public final static int ROOM_SETTEMP_1      = BASE + 330;
+			public final static int ROOM_SETTEMP_2      = BASE + 331;
+			public final static int ROOM_SETTEMP_3      = BASE + 332;
+			public final static int ROOM_SETTEMP_4      = BASE + 333;
+			public final static int ROOM_SETTEMP_5      = BASE + 334;
+			public final static int ROOM_SETTEMP_6      = BASE + 335;
+			public final static int ROOM_SETTEMP_7      = BASE + 336;
+			public final static int ROOM_SETTEMP_8      = BASE + 337;
+
+			public final static int PAGE_TEXT		    = BASE + 340;
+		}
+	}
+
+	public static final class heatingV2Popup
+	{
+		public final static int BASE = screen.HeatingV2PopupScreen;
+
+		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND          = BASE + 10;
+			public final static int BACKGROUND_RESERV   = BASE + 11;
+			public final static int BACKGROUND_SLEEP    = BASE + 12;
+		}
+		public static final class button
+		{
+			public final static int EXIT                = BASE + 20;
+
+			public final static int ROOMSEL_LEFT        = BASE + 21;
+			public final static int ROOMSEL_RIGHT       = BASE + 22;
+
+			public final static int TAP_DEFAULT         = BASE + 23;
+			public final static int TAP_RESERVATION     = BASE + 24;
+			public final static int TAP_SLEEP           = BASE + 25;
+
+			public final static int MANUAL	            = BASE + 26;
+		}
+		public static final class text
+		{
+			public final static int TITLE               = BASE + 30;
+            public final static int TAB_DEFAULT         = BASE + 31;
+            public final static int TAB_RESERV          = BASE + 32;
+            public final static int TAB_SLEEP           = BASE + 33;
+		}
+
+		// Tab Default
+		public static final class tabDefault
+		{
+			public final static int BASE = heatingV2Popup.BASE + 100;
+
+			public static final class layout
+			{
+				public final static int ALL                 = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1                = BASE + 10;
+				public final static int BOX2                = BASE + 11;
+				public final static int BOXTEXT_1           = BASE + 12;
+				public final static int BOXTEXT_2           = BASE + 13;
+				public final static int NOWTEMP_BOX         = BASE + 14;
+				public final static int SETTEMP_BOX         = BASE + 15;
+				public final static int MODE_BOX            = BASE + 16;
+				public final static int FIRE                = BASE + 17;
+			}
+			public static final class button
+			{
+				public final static int ONOFF               = BASE + 20;
+
+				public final static int HEATING             = BASE + 21;
+				public final static int RESERVATION         = BASE + 22;
+				public final static int SLEEP               = BASE + 23;
+				public final static int OUTING              = BASE + 24;
+
+				public final static int TEMP_UP             = BASE + 25;
+				public final static int TEMP_DN             = BASE + 26;
+			}
+			public static final class text
+			{
+				public final static int DRV_MODE             = BASE + 30;
+
+				public final static int NOW_TEMP             = BASE + 31;
+				public final static int SET_TEMP             = BASE + 32;
+
+			}
+		}
+
+		// Tab Reserbation
+		public static final class tabReserbation
+		{
+			public final static int BASE = heatingV2Popup.BASE + 200;
+
+			public static final class layout
+			{
+				public final static int ALL               = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1              = BASE + 10;
+				public final static int BOXTEXT_1         = BASE + 11;
+			}
+			public static final class button
+			{
+				public final static int AMPM              = BASE + 20;
+
+				public final static int TIME_1            = BASE + 21;
+				public final static int TIME_2            = BASE + 22;
+				public final static int TIME_3            = BASE + 23;
+				public final static int TIME_4            = BASE + 24;
+				public final static int TIME_5            = BASE + 25;
+				public final static int TIME_6            = BASE + 26;
+				public final static int TIME_7            = BASE + 27;
+				public final static int TIME_8            = BASE + 28;
+				public final static int TIME_9            = BASE + 29;
+				public final static int TIME_10           = BASE + 30;
+				public final static int TIME_11           = BASE + 31;
+				public final static int TIME_12           = BASE + 32;
+			}
+			public static final class text
+			{
+			}
+		}
+
+		// Tab Sleep
+		public static final class tabSleep
+		{
+			public final static int BASE = heatingV2Popup.BASE + 300;
+
+			public static final class layout
+			{
+				public final static int ALL                 = BASE + 0;
+			}
+			public static final class image
+			{
+				public final static int BOX1                = BASE + 10;
+				public final static int BOX2                = BASE + 11;
+				public final static int BOXTEXT_1           = BASE + 12;
+				public final static int BOXTEXT_2           = BASE + 13;
+				public final static int BOXBLANK1           = BASE + 14;
+				public final static int BOXBLANK2           = BASE + 15;
+			}
+			public static final class button
+			{
+				public final static int TIME_LEFT           = BASE + 20;
+				public final static int TIME_RIGHT          = BASE + 21;
+				public final static int TEMP_LEFT           = BASE + 22;
+				public final static int TEMP_RIGHT          = BASE + 23;
+			}
+			public static final class text
+			{
+				public final static int TIME                = BASE + 30;
+				public final static int TEMP                = BASE + 31;
+			}
+		}
+	}
+
+	public static final class heatingV2Popup_Boiler
+	{
+		final static int BASE = screen.HeatingV2PopupBoilerScreen;
+
+		public final static String  BR_HEATING = BR_ACTION_BASE + "HEATINGV2_POPUP_BOILER" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	       = BASE + 100;
+
+			public final static int MAINTITLE          = BASE + 101;
+
+			public final static int BOX1               = BASE + 110;
+			public final static int BOX2               = BASE + 111;
+			public final static int BOX3               = BASE + 112;
+			public final static int BOX4               = BASE + 113;
+
+			public final static int BOXTEXT1           = BASE + 120;
+			public final static int BOXTEXT2           = BASE + 121;
+			public final static int BOXTEXT3           = BASE + 122;
+			public final static int BOXTEXT4           = BASE + 123;
+
+			public final static int BOXBLANK1          = BASE + 130;
+			public final static int BOXBLANK2          = BASE + 131;
+			public final static int BOXBLANK3          = BASE + 132;
+			public final static int BOXBLANK4          = BASE + 133;
+		}
+		public static final class button
+		{
+			public final static int EXIT                = BASE + 200;
+			public final static int HEATING_WATER_LEFT	= BASE + 201;
+			public final static int HEATING_WATER_RIGHT	= BASE + 202;
+			public final static int HOT_WATER_LEFT      = BASE + 203;
+			public final static int HOT_WATER_RIGHT     = BASE + 204;
+			public final static int MANUAL			    = BASE + 205;
+
+		}
+		public static final class text
+		{
+			public final static int HEATINGWATER        = BASE + 300;
+			public final static int HOTWATER            = BASE + 301;
+			public final static int FROSTPROTECTMODE    = BASE + 302;
+			public final static int ERRORCODE           = BASE + 303;
+			public final static int ASNOTI              = BASE + 304;
+			public final static int TITLE              	= BASE + 305;
+			public final static int HEATINGWATER_TITLE  = BASE + 306;
+			public final static int HOTWATER_TITLE      = BASE + 307;
+			public final static int FROST_TITLE      	= BASE + 308;
+			public final static int ERRCODE_TITLE 		= BASE + 309;
+		}
+	}
+
+
+	/* ==========================================================================
+	 * AirQualityMainScreenID
+	 * ========================================================================== */
+	public static final class AirQualityMainScreenID {
+		final static int BASE = screen.AirQualityMainScreen;
+		public final static String  BR_AIRQUALITY = BR_ACTION_BASE + "AIRQUALITY" + "(" + BASE + ")";
+
+		public static final class layout {
+
+		}
+
+		public static final class image {
+			public final static int BACKGROUND	   		 = BASE + 100;
+			public final static int BACKGROUND_LINE	 	 = BASE + 101;
+			public final static int STATUS_IMG_DUST      = BASE + 102;
+			public final static int STATUS_IMG_FINEDUST  = BASE + 103;
+			public final static int STATUS_IMG_CO2       = BASE + 104;
+		}
+
+		public static final class button {
+			public final static int DUST_INFO_BTN 		 = BASE + 200;
+			public final static int VENTI_RUN_BTN 		 = BASE + 201;
+			public final static int CTRL_LEDBRIGHTNESS 		 = BASE + 202;
+			public final static int CTRL_FANMODE 		 = BASE + 203;
+		}
+
+		public static final class text {
+			public final static int TITLE_DUST        		= BASE + 300;
+			public final static int TITLE_FINEDUST     		= BASE + 301;
+			public final static int TITLE_CO2            	= BASE + 302;
+			public final static int STATUS_DUST_TEXT        = BASE + 303;
+			public final static int STATUS_FINEDUST_TEXT    = BASE + 304;
+			public final static int STATUS_CO2_TEXT         = BASE + 305;
+			public final static int STATUS_DUST_VALUE       = BASE + 306;
+			public final static int STATUS_FINEDUST_VALUE   = BASE + 307;
+			public final static int STATUS_CO2_VALUE        = BASE + 308;
+		}
+	}
+
+	/* ==========================================================================
+	 * AirQualityMainScreenID
+	 * ========================================================================== */
+	public static final class DustInfoScreenID
+	{
+		final static int BASE = screen.AirQualityMainScreen;
+		public final static String  DustInfoScreen = BR_ACTION_BASE + "DUSTINFO" + "(" + BASE + ")";
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND	   		 = BASE + 100;
+
+			public final static int FACE_1		   		 = BASE + 101;
+			public final static int FACE_2		   		 = BASE + 102;
+			public final static int FACE_3		   		 = BASE + 103;
+			public final static int FACE_4		   		 = BASE + 104;
+			public final static int FACE_5		   		 = BASE + 105;
+			public final static int FACE_6		   		 = BASE + 106;
+			public final static int FACE_7		   		 = BASE + 107;
+			public final static int FACE_8		   		 = BASE + 108;
+
+		}
+		public static final class button
+		{
+		}
+		public static final class text
+		{
+			public final static int TEXT_DUST_BEST        		= BASE + 300;
+			public final static int TEXT_DUST_GOOD        		= BASE + 301;
+			public final static int TEXT_DUST_FINE        		= BASE + 302;
+			public final static int TEXT_DUST_NORMAL        	= BASE + 303;
+			public final static int TEXT_DUST_BAD        		= BASE + 304;
+			public final static int TEXT_DUST_QUITE_BAD    		= BASE + 305;
+			public final static int TEXT_DUST_WORSE        		= BASE + 306;
+			public final static int TEXT_DUST_WORST        		= BASE + 307;
+
+			public final static int TEXT_FINEDUST_BEST        	= BASE + 308;
+			public final static int TEXT_FINEDUST_GOOD        	= BASE + 309;
+			public final static int TEXT_FINEDUST_FINE        	= BASE + 310;
+			public final static int TEXT_FINEDUST_NORMAL        = BASE + 311;
+			public final static int TEXT_FINEDUST_BAD        	= BASE + 312;
+			public final static int TEXT_FINEDUST_QUITE_BAD     = BASE + 313;
+			public final static int TEXT_FINEDUST_WORSE        	= BASE + 314;
+			public final static int TEXT_FINEDUST_WORST        	= BASE + 315;
+
+			public final static int TEXT_CO2_BEST        		= BASE + 316;
+			public final static int TEXT_CO2_GOOD        		= BASE + 317;
+			public final static int TEXT_CO2_FINE        		= BASE + 318;
+			public final static int TEXT_CO2_NORMAL	        	= BASE + 319;
+			public final static int TEXT_CO2_BAD        		= BASE + 320;
+			public final static int TEXT_CO2_QUITE_BAD        	= BASE + 321;
+			public final static int TEXT_CO2_WORSE        		= BASE + 322;
+			public final static int TEXT_CO2_WORST        		= BASE + 323;
+
+			public final static int TEXT_DUST_STEP_TITLE   		= BASE + 324;
+			public final static int TEXT_MAIN_EXPLAIN   		= BASE + 325;
+			public final static int TEXT_SUB_EXPLAIN   			= BASE + 326;
+			public final static int TEXT_DUST   				= BASE + 327;
+			public final static int TEXT_FINEDUST  				= BASE + 328;
+			public final static int TEXT_CO2   					= BASE + 329;
+
+			public final static int TEXT_STEP_1					= BASE + 330;
+			public final static int TEXT_STEP_2					= BASE + 331;
+			public final static int TEXT_STEP_3					= BASE + 332;
+			public final static int TEXT_STEP_4					= BASE + 333;
+			public final static int TEXT_STEP_5					= BASE + 334;
+			public final static int TEXT_STEP_6					= BASE + 335;
+			public final static int TEXT_STEP_7					= BASE + 336;
+			public final static int TEXT_STEP_8					= BASE + 337;
+
+		}
+	}
+
+
+	/* ==========================================================================
+	 * AsCallPopupID
+	 * ========================================================================== */
+	public static final class AsCallPopupID
+	{
+		final static int BASE = screen.AsCallPopupScreen;
+
+		public static final class layout
+		{
+		}
+		public static final class image
+		{
+			public final static int BACKGROUND        = BASE + 100;
+		}
+		public static final class button
+		{
+		}
+		public static final class text
+		{
+			public final static int TITLE       = BASE + 300;
+		}
+	}
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * MANUAL
+	 * ==========================================================================
+	 * ========================================================================== */
+	public static final class MANUAL
+	{
+		public final static int MANUAL_HdcLivingLight      	= 51000;   	// 현산 거실조명 매뉴얼
+		public final static int MANUAL_HdcLivingGroup     	= 52000;   	// 거실조명 그룹설정 매뉴얼
+		public final static int MANUAL_EtcLivingLight      	= 53000;   	// 대외 거실스위치 매뉴얼
+		public final static int MANUAL_EtcMultiLight      	= 54000;   	// 대외 멀티스위치 매뉴얼
+		public final static int MANUAL_EtcMultiLightPop    	= 54500;   	// 대외 멀티스위치 팝업 매뉴얼
+		public final static int MANUAL_Heating      		= 55000;   	// 난방 매뉴얼
+		public final static int MANUAL_HeatingPop      		= 55400;   	// 난방 팝업 매뉴얼
+		public final static int MANUAL_HeatingBoilerPop		= 55700;   	// 난방 보일러 매뉴얼
+		public final static int MANUAL_Gas           		= 56000;   	// 가스 매뉴얼
+		public final static int MANUAL_CookTopConcent		=56500; //   쿡탑콘센트 메뉴얼
+		public final static int MANUAL_Doorlock         	= 57000;   	// 도어락 매뉴얼
+		public final static int MANUAL_Concent         		= 58000;   	// 콘센트(멀티스위치) 매뉴얼
+		public final static int MANUAL_ConcentPop      		= 58500;   	// 콘센트(멀티스위치) 매뉴얼
+		public final static int MANUAL_Venti     			= 59000;   	// 환기 매뉴얼
+		public final static int MANUAL_VentiPop    			= 59500;   	// 환기 매뉴얼
+		public final static int MANUAL_Easymode_Venti       = 63000;   	// 환기 간편모드 매뉴얼
+		public final static int MANUAL_Ventilation		    = 64000;    // 자동청정 환기 매뉴얼
+		public final static int MANUAL_InAirQual     		= 60000;   	// 실내공기질 매뉴얼
+		public final static int MANUAL_AirInfo     			= 61000;   	// 실내공기정보(기준) 매뉴얼
+		public final static int MANUAL_ElecRange     		= 62000;   	// 전기레인지 매뉴얼
+
+		public static final class HdcLivingLight_MANUAL
+		{
+			final static int BASE = MANUAL_HdcLivingLight;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND      = BASE + 100;
+
+					public final static int DIM_LINE   		= BASE + 101;
+					public final static int COR_LINE      	= BASE + 102;
+
+					public final static int MENU_LINE 		= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int JOG_INFO   		= BASE + 200;
+					public final static int DIM_INFO   		= BASE + 201;
+					public final static int COR_INFO      	= BASE + 202;
+
+					public final static int MENU_LINE 		= BASE + 203;
+				}
+			}
+		}
+
+		public static final class HdcLivingGroup_MANUAL
+		{
+			final static int BASE = MANUAL_HdcLivingGroup;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 		= BASE + 100;
+
+					public final static int GROUP_IMGE1 	= BASE + 101;
+
+					public final static int MENU_LINE 		= BASE + 102;
+				}
+
+				public static final class TEXT
+				{
+					public final static int GROUP_INFO1 	= BASE + 200;
+					public final static int GROUP_INFO2 	= BASE + 201;
+					public final static int GROUP_INFO3 	= BASE + 202;
+
+					public final static int MENU_LINE 		= BASE + 203;
+				}
+			}
+		}
+
+		public static final class EtcLivingLight_MANUAL
+		{
+			final static int BASE = MANUAL_EtcLivingLight;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND = BASE + 100;
+
+					public final static int LIGHT_ZONE_LINE = BASE + 101;
+					public final static int BATCH_ZONE_LINE = BASE + 102;
+					public final static int MENU_LINE 		= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int LIGHT_ZONE_LINE = BASE + 201;
+					public final static int BATCH_ZONE_LINE = BASE + 202;
+					public final static int EXPLAIN_LINE 	= BASE + 203;
+					public final static int MENU_LINE 		= BASE + 204;
+				}
+			}
+		}
+
+		public static final class EtcMultiLight_MANUAL
+		{
+			final static int BASE = MANUAL_EtcMultiLight;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND = BASE + 100;
+
+					public final static int LIGHT_ZONE_LINE 	= BASE + 101;
+					public final static int BATCH_ZONE_LINE 	= BASE + 102;
+					public final static int KCCDIM_ZONE_LINE 	= BASE + 103;
+					public final static int MENU_LINE 			= BASE + 104;
+				}
+
+				public static final class TEXT
+				{
+					public final static int LIGHT_ZONE_LINE 	= BASE + 201;
+					public final static int BATCH_ZONE_LINE 	= BASE + 202;
+					public final static int EXPLAIN_LINE 		= BASE + 203;
+					public final static int KCCDIM_ZONE_LINE 	= BASE + 204;
+					public final static int MENU_LINE 			= BASE + 205;
+				}
+			}
+		}
+
+		public static final class EtcMultiLightPop_MANUAL
+		{
+			final static int BASE = MANUAL_EtcMultiLightPop;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 		= BASE + 100;
+
+					public final static int LIGHT_ZONE_LINE = BASE + 101;
+					public final static int ALL_ON_LINE 	= BASE + 102;
+					public final static int ALL_OFF_LINE 	= BASE + 103;
+					public final static int MENU_LINE 		= BASE + 104;
+				}
+
+				public static final class TEXT
+				{
+					public final static int LIGHT_ZONE_LINE = BASE + 201;
+					public final static int ALL_ON_LINE 	= BASE + 202;
+					public final static int ALL_OFF_LINE 	= BASE + 203;
+					public final static int MENU_LINE 		= BASE + 204;
+				}
+			}
+		}
+
+		public static final class EtcConcent_MANUAL
+		{
+			final static int BASE = MANUAL_Concent;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 			= BASE + 100;
+
+					public final static int CONCENT_ROOM_LINE 	= BASE + 101;
+					public final static int BATCH_ZONE_LINE 	= BASE + 102;
+					public final static int MENU_LINE 			= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int CONCENT_ROOM_LINE 	= BASE + 200;
+					public final static int BATCH_ZONE_LINE 	= BASE + 201;
+					public final static int MENU_LINE 			= BASE + 202;
+				}
+			}
+		}
+
+		public static final class EtcConcentPop_MANUAL
+		{
+			final static int BASE = MANUAL_ConcentPop;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 			= BASE + 100;
+
+					public final static int CUT_ON_LINE 		= BASE + 101;
+					public final static int CUT_SETTING_LINE 	= BASE + 102;
+					public final static int MENU_LINE 			= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int CUT_ON_LINE 		= BASE + 201;
+					public final static int CUT_SETTING_LINE 	= BASE + 202;
+					public final static int MENU_LINE 			= BASE + 203;
+				}
+			}
+		}
+
+		public static final class Heating_MANUAL
+		{
+			final static int BASE = MANUAL_Heating;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 		= BASE + 100;
+
+					public final static int BATCH_ON 		= BASE + 101;
+					public final static int BATCH_OFF 		= BASE + 102;
+					public final static int BOILER_LINE 	= BASE + 103;
+					public final static int ROOMNAME_LINE 	= BASE + 104;
+					public final static int STATE_LINE 		= BASE + 105;
+					public final static int VALVE_LINE 		= BASE + 106;
+					public final static int ONOFF_LINE 		= BASE + 107;
+					public final static int NOWTEMP_LINE 	= BASE + 108;
+					public final static int SETTEMP_LINE 	= BASE + 109;
+
+					public final static int MENU_LINE 		= BASE + 110;
+				}
+
+				public static final class TEXT
+				{
+					public final static int BATCH_ON 		= BASE + 201;
+					public final static int BATCH_OFF 		= BASE + 202;
+					public final static int BOILER_LINE 	= BASE + 203;
+					public final static int ROOMNAME_LINE 	= BASE + 204;
+					public final static int STATE_LINE 		= BASE + 205;
+					public final static int VALVE_LINE 		= BASE + 206;
+					public final static int ONOFF_LINE 		= BASE + 207;
+					public final static int NOWTEMP_LINE 	= BASE + 208;
+					public final static int SETTEMP_LINE 	= BASE + 209;
+
+					public final static int MENU_LINE 		= BASE + 210;
+				}
+			}
+		}
+
+		public static final class HeatingPop_MANUAL
+		{
+			final static int BASE = MANUAL_HeatingPop;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 		= BASE + 100;
+
+					public final static int TITLE_LINE 		= BASE + 101;
+					public final static int VALVE_LINE 		= BASE + 102;
+					public final static int ONOFF_LINE 		= BASE + 103;
+					public final static int NOWTEMP_LINE 	= BASE + 104;
+					public final static int SETTEMP_LINE 	= BASE + 105;
+					public final static int SETCTR_LINE		= BASE + 106;
+					public final static int RESERVE_DN_LINE = BASE + 107;
+					public final static int RESERVE_TBOX 	= BASE + 108;
+					public final static int SLEEP_DRVTIME 	= BASE + 109;
+					public final static int SLEEP_SETTEMP 	= BASE + 110;
+				}
+
+				public static final class TEXT
+				{
+					public final static int TITLE_LINE 		= BASE + 201;
+					public final static int VALVE_LINE 		= BASE + 202;
+					public final static int ONOFF_LINE 		= BASE + 203;
+					public final static int NOWTEMP_LINE 	= BASE + 204;
+					public final static int SETTEMP_LINE 	= BASE + 205;
+					public final static int SETCTR_LINE		= BASE + 206;
+					public final static int RESERVE_DN_LINE	= BASE + 207;
+					public final static int RESERVE_TBOX	= BASE + 208;
+					public final static int SLEEP_DRVTIME	= BASE + 209;
+					public final static int SLEEP_SETTEMP	= BASE + 210;
+				}
+			}
+		}
+
+		public static final class HeatingBoilerPop_MANUAL
+		{
+			final static int BASE = MANUAL_HeatingBoilerPop;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 			= BASE + 100;
+
+					public final static int HEATWATER_LINE 		= BASE + 101;
+					public final static int HOTWATER_LINE 		= BASE + 102;
+					public final static int ANTI_FROZEN_LINE 	= BASE + 103;
+					public final static int ERRORCODE_LINE 		= BASE + 104;
+				}
+
+				public static final class TEXT
+				{
+					public final static int HEATWATER_LINE 		= BASE + 101;
+					public final static int HOTWATER_LINE 		= BASE + 102;
+					public final static int ANTI_FROZEN_LINE 	= BASE + 103;
+					public final static int ERRORCODE_LINE 		= BASE + 104;
+				}
+			}
+		}
+
+		public static final class Gas_MANUAL
+		{
+			final static int BASE = MANUAL_Gas;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int STATE_LINE 				= BASE + 101;
+					public final static int CLOSE_BTN_LINE 			= BASE + 102;
+					public final static int MENU_LINE 				= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int STATE_INFO 				= BASE + 201;
+					public final static int CLOSE_BTN_INFO 			= BASE + 202;
+					public final static int MENU_LINE 				= BASE + 203;
+				}
+			}
+		}
+
+		public static final class CookTopConcent_MANUAL
+		{
+			final static int BASE = MANUAL_CookTopConcent;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int STATE_LINE 				= BASE + 101;
+					public final static int CLOSE_BTN_LINE 			= BASE + 102;
+					public final static int MENU_LINE 				= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int STATE_INFO 				= BASE + 201;
+					public final static int CLOSE_BTN_INFO 			= BASE + 202;
+					public final static int MENU_LINE 				= BASE + 203;
+				}
+			}
+		}
+
+		public static final class Doorlock_MANUAL
+		{
+			final static int BASE = MANUAL_Doorlock;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int STATE_LINE 				= BASE + 101;
+					public final static int OPEN_BTN_LINE 			= BASE + 102;
+					public final static int MENU_LINE 				= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int STATE_INFO 				= BASE + 201;
+					public final static int OPEN_BTN_INFO 			= BASE + 202;
+					public final static int MENU_LINE 				= BASE + 203;
+				}
+			}
+		}
+
+		public static final class Venti_MANUAL
+	{
+		final static int BASE = MANUAL_Venti;
+
+		public static final class ELEMENT
+		{
+			public static final class IMAGE
+			{
+				public final static int BACKGROUND 				= BASE + 100;
+
+				public final static int RESERVE_BTN_LINE 		= BASE + 101;
+				public final static int WIND_POWER_LINE 		= BASE + 102;
+				public final static int TIEMR_LINE		 		= BASE + 103;
+				public final static int BYPASS_LINE 			= BASE + 104;
+				public final static int HEATER_LINE 			= BASE + 105;
+				public final static int MENU_LINE 				= BASE + 106;
+			}
+
+			public static final class TEXT
+			{
+				public final static int RESERVE_BTN_LINE 		= BASE + 201;
+				public final static int WIND_POWER_LINE 		= BASE + 202;
+				public final static int TIEMR_LINE		 		= BASE + 103;
+				public final static int BYPASS_LINE 			= BASE + 204;
+				public final static int HEATER_LINE 			= BASE + 205;
+				public final static int MENU_LINE 				= BASE + 206;
+			}
+		}
+	}
+
+		public static final class VentiPop_MANUAL
+		{
+			final static int BASE = MANUAL_VentiPop;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int AMPM_BTN_LINE			= BASE + 101;
+					public final static int TIME_BTN_LINE			= BASE + 102;
+					public final static int ONOFF_BTN_LINE			= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int AMPM_BTN_LINE			= BASE + 201;
+					public final static int TIME_BTN_LINE			= BASE + 202;
+					public final static int ONOFF_BTN_LINE			= BASE + 203;
+				}
+			}
+		}
+
+		public static final class VentiPop_Easymode_MANUAL
+		{
+			final static int BASE = MANUAL_Easymode_Venti;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int RESERVE_BTN_LINE 		= BASE + 101;
+					public final static int WIND_POWER_LINE 		= BASE + 102;
+					public final static int TIEMR_LINE		 		= BASE + 103;
+					public final static int BYPASS_LINE 			= BASE + 104;
+					public final static int HEATER_LINE 			= BASE + 105;
+					public final static int MENU_LINE 				= BASE + 106;
+				}
+
+				public static final class TEXT
+				{
+					public final static int RESERVE_BTN_LINE 		= BASE + 201;
+					public final static int WIND_POWER_LINE 		= BASE + 202;
+					public final static int TIEMR_LINE		 		= BASE + 103;
+					public final static int BYPASS_LINE 			= BASE + 204;
+					public final static int HEATER_LINE 			= BASE + 205;
+					public final static int MENU_LINE 				= BASE + 206;
+				}
+			}
+		}
+
+
+		public static final class Ventilation_MANUAL
+		{
+			final static int BASE = MANUAL_Ventilation;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+					public final static int MENU_LINE 				= BASE + 101;
+					public final static int PREV_BTN				= BASE + 102;
+					public final static int NEXT_BTN				= BASE + 103;
+
+					public final static int AIR_ANIMATE 			= BASE + 104;
+					public final static int CURRENT_STATE			= BASE + 105;
+					public final static int POWER_BTN				= BASE + 106;
+					public final static int RESERVE_BTN				= BASE + 107;
+					public final static int AUTO_BTN				= BASE + 108;
+					public final static int WIND_BTN				= BASE + 109;
+					public final static int TIMER_BTN				= BASE + 110;
+					public final static int FILTER_BTN				= BASE + 111;
+					public final static int MODE_INFO				= BASE + 112;
+				}
+
+				public static final class TEXT
+				{
+					public final static int MENU_LINE 				= BASE + 201;
+					public final static int PAGE_TEXT				= BASE + 202;
+					public final static int AIR_ANIMATE 			= BASE + 203;
+					public final static int CURRENT_STATE			= BASE + 204;
+					public final static int POWER_BTN				= BASE + 205;
+					public final static int RESERVE_BTN				= BASE + 206;
+					public final static int AUTO_BTN				= BASE + 207;
+					public final static int WIND_BTN				= BASE + 208;
+					public final static int TIMER_BTN				= BASE + 209;
+					public final static int FILTER_BTN				= BASE + 210;
+					public final static int MODE_INFO				= BASE + 211;
+				}
+			}
+		}
+
+
+		public static final class InAirQual_MANUAL
+		{
+			final static int BASE = MANUAL_InAirQual;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int INFO_BTN_LINE 			= BASE + 101;
+					public final static int VENTIRUN_BTN_LINE 		= BASE + 102;
+					public final static int MENU_LINE 				= BASE + 103;
+					public final static int LED_BRIGHT				= BASE + 104;
+					public final static int FANMODE					= BASE + 105;
+				}
+
+				public static final class TEXT
+				{
+					public final static int INFO_BTN_LINE 			= BASE + 201;
+					public final static int VENTIRUN_BTN_LINE 		= BASE + 202;
+					public final static int MENU_LINE 				= BASE + 203;
+					public final static int LED_BRIGHT				= BASE + 204;
+					public final static int FANMODE					= BASE + 205;
+				}
+			}
+		}
+
+		public static final class AirInfo_MANUAL
+		{
+			final static int BASE = MANUAL_AirInfo;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int TIMEZONE_LINE 			= BASE + 101;
+					public final static int OK_BTN_LINE 			= BASE + 102;
+					public final static int MENU_LINE 				= BASE + 103;
+				}
+
+				public static final class TEXT
+				{
+					public final static int TIMEZONE_INFO 			= BASE + 201;
+					public final static int OK_BTN_INFO 			= BASE + 202;
+					public final static int MENU_LINE 				= BASE + 203;
+				}
+			}
+		}
+
+		public static final class ElecRange_MANUAL
+		{
+			final static int BASE = MANUAL_ElecRange;
+
+			public static final class ELEMENT
+			{
+				public static final class IMAGE
+				{
+					public final static int BACKGROUND 				= BASE + 100;
+
+					public final static int FIREHOLE_LINE 			= BASE + 101;
+					public final static int HIGHLIGHT_EXPLAIN 		= BASE + 102;
+					public final static int INDUCTION_EXPLAIN 		= BASE + 103;
+					public final static int ALLOFF_BTN_LINE 		= BASE + 104;
+					public final static int MENU_LINE 				= BASE + 105;
+				}
+
+				public static final class TEXT
+				{
+					public final static int FIREHOLE_LINE 			= BASE + 201;
+					public final static int HIGHLIGHT_EXPLAIN 		= BASE + 202;
+					public final static int INDUCTION_EXPLAIN 		= BASE + 203;
+					public final static int ALLOFF_BTN_LINE 		= BASE + 204;
+					public final static int MENU_LINE 				= BASE + 205;
+				}
+			}
+		}
+	}
+
+
+	/* ==========================================================================
+	 * ==========================================================================
+	 * SYSTEM AIRCON
+	 * ==========================================================================
+	 * ========================================================================== */
+	public static final class SystemAirconMain {
+		final static int BASE = screen.SystemAirconMainScreen;
+
+		public final static String BR_AIRCON = BR_ACTION_BASE + "AIRCON_MAIN" + "(" + BASE + ")";
+		public final static String BR_LOUVER = BR_ACTION_BASE + "LOUVER_MAIN" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+
+			public final static int UNIT_BACKGROUND_01 = BASE + 110;
+			public final static int UNIT_BACKGROUND_02 = BASE + 111;
+			public final static int UNIT_BACKGROUND_03 = BASE + 112;
+			public final static int UNIT_BACKGROUND_04 = BASE + 113;
+			public final static int UNIT_BACKGROUND_05 = BASE + 114;
+			public final static int UNIT_BACKGROUND_06 = BASE + 115;
+
+			public final static int UNIT_AIRVOLUME_01 = BASE + 120;
+			public final static int UNIT_AIRVOLUME_02 = BASE + 121;
+			public final static int UNIT_AIRVOLUME_03 = BASE + 122;
+			public final static int UNIT_AIRVOLUME_04 = BASE + 123;
+			public final static int UNIT_AIRVOLUME_05 = BASE + 124;
+			public final static int UNIT_AIRVOLUME_06 = BASE + 125;
+
+			public final static int UNIT_AIRSWING_01 = BASE + 130;
+			public final static int UNIT_AIRSWING_02 = BASE + 131;
+			public final static int UNIT_AIRSWING_03 = BASE + 132;
+			public final static int UNIT_AIRSWING_04 = BASE + 133;
+			public final static int UNIT_AIRSWING_05 = BASE + 134;
+			public final static int UNIT_AIRSWING_06 = BASE + 135;
+		}
+
+		public static final class button {
+			public final static int ENTIRE_POWER = BASE + 200;
+
+			public final static int UNIT_TITLE_01 = BASE + 210;
+			public final static int UNIT_TITLE_02 = BASE + 211;
+			public final static int UNIT_TITLE_03 = BASE + 212;
+			public final static int UNIT_TITLE_04 = BASE + 213;
+			public final static int UNIT_TITLE_05 = BASE + 214;
+			public final static int UNIT_TITLE_06 = BASE + 215;
+			public final static int UNIT_TITLE_07 = BASE + 216;
+			public final static int UNIT_TITLE_08 = BASE + 217;
+			public final static int UNIT_TITLE_09 = BASE + 218;
+			public final static int UNIT_TITLE_10 = BASE + 219;
+			public final static int UNIT_TITLE_11 = BASE + 220;
+			public final static int UNIT_TITLE_12 = BASE + 221;
+			public final static int UNIT_TITLE_13 = BASE + 222;
+			public final static int UNIT_TITLE_14 = BASE + 223;
+			public final static int UNIT_TITLE_15 = BASE + 224;
+
+			public final static int UNIT_POWER_01 = BASE + 230;
+			public final static int UNIT_POWER_02 = BASE + 231;
+			public final static int UNIT_POWER_03 = BASE + 232;
+			public final static int UNIT_POWER_04 = BASE + 233;
+			public final static int UNIT_POWER_05 = BASE + 234;
+			public final static int UNIT_POWER_06 = BASE + 235;
+			public final static int UNIT_POWER_07 = BASE + 236;
+			public final static int UNIT_POWER_08 = BASE + 237;
+			public final static int UNIT_POWER_09 = BASE + 238;
+			public final static int UNIT_POWER_10 = BASE + 239;
+			public final static int UNIT_POWER_11 = BASE + 240;
+			public final static int UNIT_POWER_12 = BASE + 241;
+			public final static int UNIT_POWER_13 = BASE + 242;
+			public final static int UNIT_POWER_14 = BASE + 243;
+			public final static int UNIT_POWER_15 = BASE + 244;
+
+			public final static int LEFT_MOVE_BTN = BASE + 250;
+			public final static int RIGHT_MOVE_BTN = BASE + 251;
+
+			public final static int ALL_MODE_PREV = BASE + 252;
+			public final static int ALL_MODE_NEXT = BASE + 253;
+
+			public final static int ALL_VOLUME_PREV = BASE + 260;
+			public final static int ALL_VOLUME_NEXT = BASE + 261;
+
+			public final static int ENTIRE_MODE_AUTO = BASE + 270;
+			public final static int ENTIRE_MODE_COLD = BASE + 271;
+			public final static int ENTIRE_MODE_DEHUMIDIFY = BASE + 272;
+			public final static int ENTIRE_MODE_FAN = BASE + 273;
+			public final static int ENTIRE_MODE_HEAT = BASE + 274;
+
+			public final static int ENTRIE_AIRVOL_AUTO = BASE + 280;
+			public final static int ENTRIE_AIRVOL_WIND01 = BASE + 281;
+			public final static int ENTRIE_AIRVOL_WIND02 = BASE + 282;
+			public final static int ENTRIE_AIRVOL_WIND03 = BASE + 283;
+
+
+			public final static int LOUVER_TITLE = BASE + 290;
+			public final static int LOUVER_MODE = BASE + 291;
+		}
+
+		public static final class text {
+			public final static int UNIT_TITLE_01 = BASE + 300;
+			public final static int UNIT_TITLE_02 = BASE + 301;
+			public final static int UNIT_TITLE_03 = BASE + 302;
+			public final static int UNIT_TITLE_04 = BASE + 303;
+			public final static int UNIT_TITLE_05 = BASE + 304;
+			public final static int UNIT_TITLE_06 = BASE + 305;
+			public final static int OUTSIDE_DEVICE_TITLE = BASE + 305;
+
+			public final static int UNIT_MODE_01 = BASE + 310;
+			public final static int UNIT_MODE_02 = BASE + 311;
+			public final static int UNIT_MODE_03 = BASE + 312;
+			public final static int UNIT_MODE_04 = BASE + 313;
+			public final static int UNIT_MODE_05 = BASE + 314;
+			public final static int UNIT_MODE_06 = BASE + 315;
+
+			public final static int UNIT_CURRENT_TEMPER_01 = BASE + 320;
+			public final static int UNIT_CURRENT_TEMPER_02 = BASE + 321;
+			public final static int UNIT_CURRENT_TEMPER_03 = BASE + 322;
+			public final static int UNIT_CURRENT_TEMPER_04 = BASE + 323;
+			public final static int UNIT_CURRENT_TEMPER_05 = BASE + 324;
+			public final static int UNIT_CURRENT_TEMPER_06 = BASE + 325;
+
+			public final static int UNIT_SET_TEMPER_01 = BASE + 330;
+			public final static int UNIT_SET_TEMPER_02 = BASE + 331;
+			public final static int UNIT_SET_TEMPER_03 = BASE + 332;
+			public final static int UNIT_SET_TEMPER_04 = BASE + 333;
+			public final static int UNIT_SET_TEMPER_05 = BASE + 334;
+			public final static int UNIT_SET_TEMPER_06 = BASE + 335;
+
+			public final static int PAGE_TEXT = BASE + 336;
+
+			public final static int TITLE = BASE + 340;
+			public final static int ALL_MODE = BASE + 341;
+			public final static int ALL_VOLUME = BASE + 342;
+			public final static int WAIT_TITLE = BASE + 343;
+		}
+	}
+
+	public static final class SystemAirconPopup {
+		public final static int BASE = screen.SystemAirconPopupScreen;
+
+		public final static String BR_AIRCON = BR_ACTION_BASE + "AIRCON_POPUP" + "(" + BASE + ")";
+
+		public static final class LAYOUT {
+		}
+
+		public static final class IMG {
+			public final static int BACKGROUND = BASE + 10;
+			public final static int TITLE = BASE + 11;
+			public final static int BOX_BG = BASE + 12;
+			public final static int SETTING_BG = BASE + 13;
+			public final static int MODE = BASE + 14;
+		}
+
+		public static final class BTN {
+			public final static int EXIT = BASE + 20;
+			public final static int UNIT_PREVIOUS = BASE + 21;
+			public final static int UNIT_NEXT = BASE + 22;
+			public final static int TOGGLE_POWER = BASE + 23;
+			public final static int TOGGLE_AIRSWING = BASE + 24;
+			public final static int MANUAL = BASE + 26;
+			public final static int MODE_AUTO = BASE + 30;
+			public final static int MODE_COLD = BASE + 31;
+			public final static int MODE_DEHUMIDIFY = BASE + 32;
+			public final static int MODE_FAN = BASE + 33;
+			public final static int MODE_HEAT = BASE + 34;
+			public final static int AIRVOL_UP = BASE + 40;
+			public final static int AIRVOL_DOWN = BASE + 41;
+			public final static int SETTEMPER_UP = BASE + 42;
+			public final static int SETTEMPER_DOWN = BASE + 43;
+		}
+
+		public static final class TXT {
+			public final static int TITLE_UNIT = BASE + 50;
+			public final static int MODE = BASE + 51;
+			public final static int CURRENT_TEMPER = BASE + 52;
+			public final static int SET_TEMPER = BASE + 53;
+			public final static int TITLE_AIRSWING = BASE + 54;
+			public final static int TITLE_AIRVOLUME = BASE + 55;
+			public final static int TITLE_TEMPER = BASE + 56;
+		}
+	}
+
+	// Tab Default
+	public static final class PurityMain {
+		final static int BASE = screen.PurityMainScreen;
+
+		public final static String BR_PURITY = BR_ACTION_BASE + "PURITY_MAIN" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 100;
+			public final static int ROOM_BACKGROUND_1 = BASE + 110;
+			public final static int ROOM_BACKGROUND_2 = BASE + 111;
+			public final static int ROOM_BACKGROUND_3 = BASE + 112;
+			public final static int ROOM_BACKGROUND_4 = BASE + 113;
+			public final static int ROOM_BACKGROUND_5 = BASE + 114;
+			public final static int ROOM_BACKGROUND_6 = BASE + 115;
+			public final static int ROOM_DUST = BASE + 120;
+			public final static int ROOM_FINE_DUST = BASE + 140;
+			public final static int ROOM_CO2 = BASE + 160;
+		}
+
+		public static final class button {
+			public final static int ALL_ON = BASE + 200;
+			public final static int ALL_OFF = BASE + 201;
+
+			public final static int ROOM_TITLE_1 = BASE + 210;
+			public final static int ROOM_TITLE_2 = BASE + 211;
+			public final static int ROOM_TITLE_3 = BASE + 212;
+			public final static int ROOM_TITLE_4 = BASE + 213;
+			public final static int ROOM_TITLE_5 = BASE + 214;
+			public final static int ROOM_TITLE_6 = BASE + 215;
+			public final static int ROOM_TITLE_7 = BASE + 216;
+			public final static int ROOM_TITLE_8 = BASE + 217;
+			public final static int ROOM_TITLE_9 = BASE + 218;
+
+			public final static int ROOM_ONOFF_1 = BASE + 220;
+			public final static int ROOM_ONOFF_2 = BASE + 221;
+			public final static int ROOM_ONOFF_3 = BASE + 222;
+			public final static int ROOM_ONOFF_4 = BASE + 223;
+			public final static int ROOM_ONOFF_5 = BASE + 224;
+			public final static int ROOM_ONOFF_6 = BASE + 225;
+			public final static int ROOM_ONOFF_7 = BASE + 226;
+			public final static int ROOM_ONOFF_8 = BASE + 227;
+			public final static int ROOM_ONOFF_9 = BASE + 228;
+
+			public final static int LEFT_MOVE_BTN = BASE + 236;
+			public final static int RIGHT_MOVE_BTN = BASE + 237;
+
+			public final static int ALL_MODE_PREV = BASE + 240;
+			public final static int ALL_MODE_NEXT = BASE + 241;
+
+			public final static int PURITY_MODE = BASE + 260;
+			public final static int VENTI_MODE = BASE + 261;
+			public final static int AI_MODE = BASE + 262;
+		}
+
+		public static final class text {
+			public final static int ROOM_TITLE_1 = BASE + 300;
+			public final static int ROOM_TITLE_2 = BASE + 301;
+			public final static int ROOM_TITLE_3 = BASE + 302;
+			public final static int ROOM_TITLE_4 = BASE + 303;
+			public final static int ROOM_TITLE_5 = BASE + 304;
+			public final static int ROOM_TITLE_6 = BASE + 305;
+
+			public final static int ROOM_MODE_1 = BASE + 310;
+			public final static int ROOM_MODE_2 = BASE + 311;
+			public final static int ROOM_MODE_3 = BASE + 312;
+			public final static int ROOM_MODE_4 = BASE + 313;
+			public final static int ROOM_MODE_5 = BASE + 314;
+			public final static int ROOM_MODE_6 = BASE + 315;
+
+			public final static int ROOM_NOWTEMP_1 = BASE + 320;
+			public final static int ROOM_NOWTEMP_2 = BASE + 321;
+			public final static int ROOM_NOWTEMP_3 = BASE + 322;
+			public final static int ROOM_NOWTEMP_4 = BASE + 323;
+			public final static int ROOM_NOWTEMP_5 = BASE + 324;
+			public final static int ROOM_NOWTEMP_6 = BASE + 325;
+			public final static int ROOM_SETTEMP_1 = BASE + 330;
+			public final static int ROOM_SETTEMP_2 = BASE + 331;
+			public final static int ROOM_SETTEMP_3 = BASE + 332;
+			public final static int ROOM_SETTEMP_4 = BASE + 333;
+			public final static int ROOM_SETTEMP_5 = BASE + 334;
+			public final static int ROOM_SETTEMP_6 = BASE + 335;
+
+			public final static int PAGE_TEXT = BASE + 336;
+			public final static int ALARM_TEXT = BASE + 337;
+
+			public final static int TITLE = BASE + 340;
+			public final static int ALL_MODE = BASE + 341;
+			public final static int ALL_VOLUME = BASE + 342;
+			public final static int WAIT_TITLE = BASE + 343;
+		}
+	}
+
+	// Tab Sleep
+	public static final class PurityPopup {
+		public final static int BASE = screen.PurityPopupScreen;
+
+		public final static String BR_PURITY = BR_ACTION_BASE + "PURITY_POPUP" + "(" + BASE + ")";
+
+		public static final class layout {
+		}
+
+		public static final class image {
+			public final static int BACKGROUND = BASE + 10;
+			public final static int TITLE = BASE + 11;
+			public final static int BOX_BG = BASE + 12;
+			public final static int SETTING_BG = BASE + 13;
+			public final static int MODE = BASE + 14;
+		}
+
+		public static final class button {
+			public final static int EXIT = BASE + 20;
+			public final static int ROOM_PREV = BASE + 21;
+			public final static int ROOM_NEXT = BASE + 22;
+			public final static int ONOFF = BASE + 23;
+			public final static int SLEEP_SET = BASE + 24;
+			public final static int MANUAL = BASE + 26;
+			public final static int MODE_1 = BASE + 30;
+			public final static int MODE_2 = BASE + 31;
+			public final static int MODE_3 = BASE + 32;
+			public final static int MODE_4 = BASE + 33;
+			public final static int MODE_5 = BASE + 34;
+			public final static int VOLUME_DEC = BASE + 40;
+			public final static int VOLUME_ENC = BASE + 41;
+			public final static int MODE_DEC = BASE + 42;
+			public final static int MODE_ENC = BASE + 43;
+			public final static int ADD_DEC = BASE + 44;
+			public final static int ADD_ENC = BASE + 45;
+		}
+
+		public static final class text {
+			public final static int TITLE = BASE + 50;
+			public final static int MODE = BASE + 51;
+		}
+	}
+
+
+}

+ 591 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_curtain/CurTainV1MainScreen.java

@@ -0,0 +1,591 @@
+package kr.co.icontrols.wallpadhomectrl.screen.screen_curtain;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.RelativeLayout;
+
+import com.artncore.WallPadDataMgr.WallpadDeviceSet;
+import com.artncore.commons.DataClasses;
+import com.artncore.wallpadapi.CooktopAPI;
+import com.artncore.wallpadapi.CurtainAPI;
+import com.artncore.wallpadapi.WallPadAPI;
+import com.artncore.wallpadapi.WallPadDevAPI;
+import com.util.LogUtil;
+
+import kr.co.icontrols.wallpadhomectrl.MainActivity;
+import kr.co.icontrols.wallpadhomectrl.R;
+import kr.co.icontrols.wallpadhomectrl.declare.Common;
+import kr.co.icontrols.wallpadhomectrl.declare.ID;
+import kr.co.icontrols.wallpadhomectrl.declare.TransactionDisplay;
+import kr.co.icontrols.wallpadsupport.Version;
+import kr.co.icontrols.wallpadsupport.WpadImageView;
+import kr.co.icontrols.wallpadsupport.WpadScreen;
+import kr.co.icontrols.wallpadsupport.WpadSound;
+import kr.co.icontrols.wallpadsupport.WpadTextView;
+
+public class CurTainV1MainScreen extends WpadScreen {
+
+    private final String TAG = "HybridCookTopMainScreen";
+
+    private boolean isNoUseData = true;
+    private final boolean DEBUG_LOG_ON = true;
+    private void DebugLogOutput(String s) { if(DEBUG_LOG_ON) Log.d(TAG, s); }
+
+    // =================================================================================================
+    // [[ Declaration ]] region
+    // =================================================================================================
+    // [Image]
+    //private WpadImageView BACKGROUND;
+    private WpadImageView CurrentCurtainImg;
+
+    // [Button]
+    private WpadImageView BTN_ON;      // 열림
+    private WpadImageView BTN_OFF;      // 닫힘
+    private WpadImageView BTN_STOP;      // 멈춤
+    private WpadImageView BTN_LIVINGROOM;
+    private WpadImageView BTN_ROOM;
+
+    private boolean isLivingRoom = true;
+    // [Text]
+    private WpadTextView StatusText;
+
+    int nDistributionPanelType = Version.DISTRIBUTION_MODEL.OTHER;
+
+    public int mDeviceCount = 0;
+
+    private String[] mKNXDefaultRoomNameList = new String[]{"거실", "침실4", "침실1", "파우더룸", "침실2", "주방1", "침실3",
+            "복도1", "욕실1", "욕실2","보조주방","욕실3","욕실4","욕실5","복도2", "현관", "신발장", "창고", "주방2", "간이주방"};
+
+
+    // [Variables]
+    private int OPERATION_MODE = -1;                    // 동작모드
+    private CurtainAPI.Data mData = null;                          // 데이터
+
+    // [API]
+    private CurtainAPI curtainAPI;       // 커튼 API
+    private TransactionDisplay transactionDisplay = null;
+
+    public String Heating_Manual_Str = "";
+
+    // =================================================================================================
+    // [[ Create & Close ]] region
+    // =================================================================================================
+    /**
+     * HeatingV1MainScreen 클래스 생성자
+     *
+     * @param context - 부모 context
+     * @param layout  - 사용할 main layout
+     * @param wpapi   - 상속받은 WallPadAPI
+     * @param operationMode - 동작모드
+     */
+    public CurTainV1MainScreen(Context context, RelativeLayout layout, WallPadAPI wpapi, int operationMode) {
+        super(context, layout);
+        Log.i(TAG, "[START - Screen] --------------------------------------------");
+
+        // 1. Data Create
+        DebugLogOutput("[HeatingV2MainScreen] - Step1 : Data Create");
+        OPERATION_MODE = operationMode;
+        WallpadDeviceSet wds = new WallpadDeviceSet(getContext());
+        nDistributionPanelType = wds.Get_DistributionPannelType_Info();
+        wds.closeDB();
+
+       // UX_MODE = ((MainActivity) context).GetEasyModeUXUse() ? Common.UX_EASY_MODE : Common.UX_NORMAL_MODE;
+      //  Log.d(TAG, "[HeatingV2MainScreen] UX_MODE [" + UX_MODE + "]");
+        /*
+        if (UX_MODE == Common.UX_NORMAL_MODE) {
+            ROOM_CNT = ROOM_CNT_NORMAL;
+        }
+        else if (UX_MODE == Common.UX_EASY_MODE) {
+            ROOM_CNT = ROOM_CNT_EASYMODE;
+        }
+        else {
+            Log.e(TAG, "UX_MODE : " + UX_MODE + " Out of range !!!");
+        }*/
+
+        // 2. Device API Load & Update
+        DebugLogOutput("[HeatingV2MainScreen] - Step2 : Device API Load & Update");
+        if (OPERATION_MODE == Common.MODE_NOMAL) {
+            DebugLogOutput("OPERATION_MODE = MODE_NOMAL");
+            if (Device_ApiLoad(wpapi) >= 0) {
+                Device_Update(false, Common.INDEX_ALL);
+            }
+        }
+        else {
+            Log.e(TAG, "OPERATION_MODE : " + OPERATION_MODE + " Out of range !!!");
+        }
+
+        // 임시로 샘플 데이터를 통해 화면에 출력하도록 한다.
+        //Sample_DataDefaultSetting();
+
+        // 3. Image Create
+        DebugLogOutput("[HybridCookTopMainScreen] - Step3 : Image Create");
+
+
+        //BACKGROUND = new WpadImageView(context, WpadImageView.TOUCH_KIND.NONE, 820, 534, R.drawable.bg_1, 0, ID.CurtainV1main.image.BACKGROUND);
+        //ViewRegistration(layout, BACKGROUND, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(169));
+
+
+
+        int nImgID_LivingRoom_Normal = R.drawable.tab_r1_normal;
+        int nImgID_LivingRoom_Pressed = R.drawable.tab_r1_pressed;
+        int[] mLIVINGROOMPos = {192, 119};
+        BTN_LIVINGROOM = new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 310, 50, nImgID_LivingRoom_Normal, nImgID_LivingRoom_Pressed, ID.CurtainV1main.button.ISLIVINGROOM);
+        ViewRegistration(layout, BTN_LIVINGROOM, Common.ImgPosion.GetX(mLIVINGROOMPos[0]), Common.ImgPosion.GetY(mLIVINGROOMPos[1]));
+        BTN_LIVINGROOM.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+        BTN_LIVINGROOM.setImageResource(R.drawable.tab_r1_selected);
+
+        int nImgID_Room_Normal = R.drawable.tab_r2_normal;
+        int nImgID_Room_Pressed = R.drawable.tab_r2_pressed;
+        int[] mROOMPos = {506, 119};
+        BTN_ROOM = new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 310, 50, nImgID_Room_Normal, nImgID_Room_Pressed, ID.CurtainV1main.button.ISROOM);
+        ViewRegistration(layout, BTN_ROOM, Common.ImgPosion.GetX(mROOMPos[0]), Common.ImgPosion.GetY(mROOMPos[1]));
+        BTN_ROOM.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+
+        CurrentCurtainImg = new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.NONE, 822, 544, R.drawable.bg_curtain_3, 0, ID.CurtainV1main.image.CURTAIN);
+        ViewRegistration(getLayout(), CurrentCurtainImg, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(179));
+
+        // 4. Button Create
+        DebugLogOutput("[HybridCookTopMainScreen] - Step4 : Button Create");
+
+        int nImgID_Off_Normal = R.drawable.btn_close_normal;
+        int nImgID_Off_Pressed = R.drawable.btn_close_pressed;
+
+        int[] mOffPos = {957, 360};
+        BTN_OFF = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 230, 182, nImgID_Off_Normal, nImgID_Off_Pressed, ID.CurtainV1main.button.OFF);
+        ViewRegistration(layout, BTN_OFF, Common.ImgPosion.GetX(mOffPos[0]), Common.ImgPosion.GetY(mOffPos[1]));
+        BTN_OFF.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+
+        int nImgID_On_Normal = R.drawable.btn_open_normal;
+        int nImgID_On_Pressed = R.drawable.btn_open_pressed;
+        int[] mOnPos = {957, 179};
+        BTN_ON = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 230, 181, nImgID_On_Normal, nImgID_On_Pressed, ID.CurtainV1main.button.ON);
+        ViewRegistration(layout, BTN_ON, Common.ImgPosion.GetX(mOnPos[0]), Common.ImgPosion.GetY(mOnPos[1]));
+        BTN_ON.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+
+        int nImgID_Stop_Normal = R.drawable.btn_stop_normal;
+        int nImgID_Stop_Pressed = R.drawable.btn_stop_pressed;
+        int[] mStopPos = {957, 542};
+        BTN_STOP = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 230, 181, nImgID_Stop_Normal, nImgID_Stop_Pressed, ID.CurtainV1main.button.STOP);
+        ViewRegistration(layout, BTN_STOP, Common.ImgPosion.GetX(mStopPos[0]), Common.ImgPosion.GetY(mStopPos[1]));
+        BTN_STOP.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+
+
+
+        StatusText = new WpadTextView(context, false, 150, 46, Gravity.START, Color.WHITE, Common.fontsize._36, true, ID.CurtainV1main.text.STATUS);
+        ViewRegistration(layout, StatusText, Common.ImgPosion.GetX(429), Common.ImgPosion.GetY(613));
+
+        drawCurrentPage(curtainAPI.data);
+
+        //     6.3. update
+        try {
+            Draw_Update();
+        } catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+        }
+        catch (Exception e) {
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+
+        DebugLogOutput("[HybridCookTopMainScreen] Draw_Update ---");
+
+        if (curtainAPI != null) {
+            registerDeviceBR(true);
+            if (MainActivity.getHideMenuOn()) transactionDisplay = new TransactionDisplay(true, (WallPadDevAPI) curtainAPI, (WpadScreen) this);
+        }
+    }
+
+    protected void ModeChange(boolean _isLivingRoom)
+    {
+        isLivingRoom = _isLivingRoom;
+        if(isLivingRoom)
+        {
+            BTN_LIVINGROOM.setImageResource(R.drawable.tab_r1_selected);
+            BTN_ROOM.setImageResource(R.drawable.tab_r2_normal);
+        }
+        else
+        {
+            BTN_LIVINGROOM.setImageResource(R.drawable.tab_r1_normal);
+            BTN_ROOM.setImageResource(R.drawable.tab_r2_selected);
+        }
+        Device_Update(false, Common.INDEX_ALL);
+        Draw_Update();
+        drawCurrentPage(mData);
+    }
+
+
+    /**
+     * 본 스크린 종료시 호출됨
+     */
+    @Override
+    protected void onClose() {
+        super.onClose();
+
+        // 등록된 BR 을 해제 한다.
+        if (curtainAPI != null) {
+            registerDeviceBR(false);
+            if (MainActivity.getHideMenuOn()) { if (transactionDisplay != null) transactionDisplay.Close(); }
+        }
+
+        Log.i(TAG, "[END   - Screen] ********************************************");
+    }
+
+
+    // =================================================================================================
+    // [[ BroadcastReceiver ]] region
+    // =================================================================================================
+    /**
+     * 부모 Activity 에서 BroadcastReceiver 을 수신받을시 호출됨
+     */
+    @Override
+    protected void onBrReceive(Intent intent) {
+        super.onBrReceive(intent);
+
+        String ActionName = intent.getAction();
+
+        DebugLogOutput("[[[[ onBrReceive ]]]]  ActionName = " + ActionName);
+        if (ActionName.equals(ID.HybridCookTopmain.BR_COOKTOP)) {
+            DebugLogOutput("onBrReceive - BR_COOKTOP");
+
+            byte index = intent.getByteExtra("STATUS", (byte)0xF0);
+            DebugLogOutput("RoomIdx : " + String.format("%02x", index) );
+            if (index != (byte)0xF0) {
+                if(Device_Update(false, Common.INDEX_ALL) >= 0)
+                    Draw_Update();
+            }
+        }
+    }
+
+
+    // =================================================================================================
+    // [[ Touch & Key Event ]] region
+    // =================================================================================================
+    /**
+     * 본 클래스에서 등록한 [WpadImageView] [WpadTextView] 의 TouchEvent 가 있을시 호출됨
+     */
+    @Override
+    protected void onTouchEvent(View v, MotionEvent event) {
+        super.onTouchEvent(v, event);
+
+        int TargetId = v.getId();
+        int MoveEvent = event.getAction();
+
+        if (MoveEvent == MotionEvent.ACTION_UP) {
+//            Log.e(TAG, "[onTouchEvent] TargetId -> " + TargetId);
+           if (TargetId == ID.CurtainV1main.button.ON) {
+                Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
+                DeviceStatus(isLivingRoom, (byte)1);
+            }
+            else if (TargetId == ID.CurtainV1main.button.OFF) {
+                Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
+                DeviceStatus(isLivingRoom, (byte)0);
+            }
+            else if (TargetId == ID.CurtainV1main.button.STOP) {
+                Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
+                DeviceStatus(isLivingRoom, (byte)2);
+            }
+            else if(TargetId == ID.CurtainV1main.button.ISLIVINGROOM)
+           {
+               Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
+               ModeChange(true);
+           }
+            else if(TargetId == ID.CurtainV1main.button.ISROOM)
+           {
+               Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
+               ModeChange(false);
+           }
+        }
+    }
+
+
+
+
+    private int DeviceStatus(boolean isLivingRoom, byte status)
+    {
+        DebugLogOutput("[AllGasClose] - Start");
+
+        if(curtainAPI == null)
+        {
+            Log.e(TAG, "[AllGasClose] - gasApi unload !!!");
+            return -1;
+        }
+        int ret = curtainAPI.setUnitCurtainStatus(isLivingRoom, (byte) 0, status); // @@@@@@@@@@@@@@
+        if(ret < 0)
+        {
+            Log.e(TAG, "[DeviceStatus] - Status (" + status + ")   index = " + 0 + ", isLivingRoom : " + isLivingRoom);
+            return -2;
+        }
+
+        DebugLogOutput("[DeviceStatus] - OK");
+
+        return 0;
+    }
+
+    // =================================================================================================
+    // [[ Draw ]] region
+    // =================================================================================================
+
+    /**
+     * 업데이트
+     */
+    private void Draw_Update() {
+        if(mData == null) return;
+        if(mData.Device == null) return;
+
+        int OnCount = 0;
+        boolean isLivingRoomData = true;
+        if(mData.Device[0].curtain.getCurtainGroupID() == 0x80)
+        {
+            isLivingRoomData = true;
+        }
+        else if(mData.Device[0].curtain.getCurtainGroupID() == 0x90)
+        {
+            isLivingRoomData = false;
+        }
+        drawModeChange(isLivingRoomData, mData.Device[0].curtain.getCurtainStatus());
+    }
+
+    private void drawCurrentPage(CurtainAPI.Data data) {
+        try {
+            boolean isLivingRoomData = true;
+            if(0x80 == data.Device[0].curtain.getCurtainGroupID())
+            {
+                isLivingRoomData = true;
+            }
+            else if(0x90 == data.Device[0].curtain.getCurtainGroupID())
+            {
+                isLivingRoomData = false;
+            }
+            else
+            {
+                return;
+            }
+
+            if(isLivingRoom!=isLivingRoomData)
+            {
+                return;
+            }
+
+            Log.d(TAG, "[drawCurrentPage]   isLivingRoom [" + isLivingRoomData + "]");
+            drawModeChange(isLivingRoom, mData.Device[0].curtain.getCurtainStatus());
+
+        } catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+        }
+        catch (Exception e) {
+            Log.e(TAG, "[Exception] drawCurrentPage(HeatingV2.Info info, int startIdx)");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+    }
+
+
+    private void drawModeChange(boolean isLivingRoom, byte mode) {
+        try {
+            Log.d("","isLivingRoom ==================== :" + isLivingRoom);
+            if(mode == 0x00)
+            {
+                CurrentCurtainImg.setImageResource(R.drawable.bg_curtain_3);
+                StatusText.setText("닫힘");
+            }
+            else if(mode == 0x01)
+            {
+                CurrentCurtainImg.setImageResource(R.drawable.bg_curtain_1);
+                StatusText.setText("열림");
+            }
+            else if(mode == 0x02 || mode == 0x03)
+            {
+                CurrentCurtainImg.setImageResource(R.drawable.bg_curtain_2);
+                StatusText.setText("동작중");
+            }
+        } catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+        }
+        catch (Exception e) {
+            Log.e(TAG, "[Exception] drawModeChange(int index, boolean valve, byte mode)");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+    }
+
+
+    private int Device_ApiLoad(WallPadAPI wpapi) {
+        // 1. Mode Check
+        if(OPERATION_MODE != Common.MODE_NOMAL) return -1;
+
+        DebugLogOutput("[Device_ApiLoad] - Start");
+
+        // 2. wpapi Check
+        if(wpapi == null)
+        {
+            Log.e(TAG, "[Device_ApiLoad] - wpapi is null");
+            return -2;
+        }
+
+        //////////////////////////////////////////////////////////////////////////////
+        // MultiSwitch
+        //////////////////////////////////////////////////////////////////////////////
+
+        // 3. Load API (Light)
+        DebugLogOutput("[Device_ApiLoad] - Step1 : MultiSwitchAPI API Load...");
+        try
+        {
+            curtainAPI = wpapi.Get_CurTainController();
+        }
+        catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+            return -100;
+        }
+        catch (Exception e)
+        {
+            Log.e(TAG, "[Device_ApiLoad] - [Exception Error] wpapi.Get_CurTainController");
+            Log.e(TAG, "[Device_ApiLoad] - " + e.toString());
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -100;
+        }
+        if(curtainAPI == null)
+        {
+            Log.e(TAG, "[Device_ApiLoad] - curtainAPI is null");
+            return -4;
+        }
+
+        DebugLogOutput("[Device_ApiLoad] - OK");
+
+        return 0;
+    }
+
+    /**
+     * 디바이스에 알림 BR 을 등록한다.
+     *
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    private int registerDeviceBR(boolean OnOff) {
+        DebugLogOutput("[registerDeviceBR] - Start (OnOff:" + OnOff + ")");
+
+        String BR_NAME = ID.HybridCookTopmain.BR_COOKTOP;
+
+        // 1. Api Load Check
+        if (curtainAPI == null) {
+            Log.e(TAG, "[registerDeviceBR] - heatingV2API unload !!!");
+            return -1;
+        }
+
+        if (OnOff) {
+            try {
+                curtainAPI.regChangedBR(BR_NAME);
+            } catch (RuntimeException re) {
+                LogUtil.errorLogInfo("", TAG, re);
+                return -101;
+            } catch (Exception e) {
+                Log.e(TAG, "[registerDeviceBR] - [Exception Error] heatingV2API.regChangedBR");
+                Log.e(TAG, "[registerDeviceBR] - " + e.toString());
+                //e.printStackTrace();
+                LogUtil.errorLogInfo("", TAG, e);
+                return -101;
+            }
+            super.addBrActionFilter(BR_NAME);
+        }
+        else {
+            try {
+                //DebugLogOutput("[Device_BrRegistration] - unregChangedBR START");
+                curtainAPI.unregChangedBR(BR_NAME);
+                //DebugLogOutput("[Device_BrRegistration] - unregChangedBR END");
+            } catch (RuntimeException re) {
+                LogUtil.errorLogInfo("", TAG, re);
+                return -102;
+            } catch (Exception e) {
+                Log.e(TAG, "[registerDeviceBR] - [Exception Error] heatingV2API.unregChangedBR");
+                Log.e(TAG, "[registerDeviceBR] - " + e.toString());
+                //e.printStackTrace();
+                LogUtil.errorLogInfo("", TAG, e);
+                return -102;
+            }
+            super.removeBrActionFilter(BR_NAME);
+        }
+
+        return 0;
+    }
+
+
+    /**
+     * 제어기 상태 업데이트
+     * @param real 싱크 인지 NoSINCK 구분
+     * @param index 서브 아이디
+     * @return (int) - >=0 : 성공, <0 : 실패
+     */
+    private int Device_Update(boolean real, byte index) {
+        DebugLogOutput("[Device_Update] - Start   (real : " + real + ", index:" + index + ")");
+
+        // 1. Api Load Check
+        if(curtainAPI == null)
+        {
+            Log.e(TAG, "[Device_Update] cooktopAPI unload !!!");
+            return -1;
+        }
+
+        // 2. reflash
+        try
+        {
+            int ret = curtainAPI.Refresh(isLivingRoom, index, real);
+
+            if(ret < 0)
+            {
+                Log.e(TAG, "[Device_Update] Refresh(" + index + ", " + real + ")  ret = " + ret + " / ErrorCode = " + curtainAPI.ErrorCode.ErrStr());
+                return -2;
+            }
+        }
+        catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+            return -100;
+        }
+        catch (Exception e)
+        {
+            Log.e(TAG, "[Device_Update] - [Exception Error] multiSwitchAPI.Refresh(index:" + index + ", real:" + real + ")");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+            return -100;
+        }
+
+        // 3. Range Check
+
+
+        // 4. Data Copy
+        mData = curtainAPI.data;
+
+        if(isNoUseData)
+        {
+            mData = new CurtainAPI.Data();
+            mData.Device = new DataClasses.CurtainCtrl[1];
+            mData.Device[0] = new DataClasses.CurtainCtrl();
+            mData.Device[0].info = new DataClasses.CurtainCtrl.Info();
+            mData.Device[0].info.bInstall = true;
+            mData.Device[0].curtain.setCurtainGroupID((byte) 0x80);
+            mData.Device[0].curtain.setCurtainID((byte) 1);
+            mData.Device[0].curtain.setCurtainStatus((byte) 0);
+        }
+
+
+
+        if(mData == null) return -1;
+
+        // 5. Debug Msg
+        DebugLogOutput("---------------------------------------");
+        DebugLogOutput("[Device_Update]");
+        DebugLogOutput("---------------------------------------");
+        //sub정보
+        DebugLogOutput(mData.Device[0].curtain.ToDebugString((byte)0));
+        DebugLogOutput("---------------------------------------");
+
+        DebugLogOutput("[Device_Update] - OK");
+
+        return 0;
+    }
+
+
+}

BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_1.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_2.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/bg_curtain_3.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_disabled.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_normal.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_close_pressed.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_disabled.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_normal.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_open_pressed.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_disabled.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_normal.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/btn_stop_pressed.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_disabled.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_normal.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_pressed.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r1_selected.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_disabled.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_normal.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_pressed.png


BIN
WallPadHomeCtrl/src/main/res/drawable-hdpi/tab_r2_selected.png


+ 4 - 0
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java

@@ -6626,6 +6626,10 @@ public class MainActivity extends WpadActivity {
             else if (nIconID == ID.ICONS.MENUS.CTRL_HEATING.getID()) {
                 m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.Heating_V1);
             }
+            //커튼 추가(전동커튼)
+            else if (nIconID == ID.ICONS.MENUS.CTRL_CURTAIN.getID()) {
+                m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.Curtain);
+            }
             else if (nIconID == ID.ICONS.MENUS.CTRL_GAS.getID()) {
                 m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.Gas);
             }

+ 1 - 1
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/screen/SUB_02.java

@@ -40,7 +40,7 @@ public class SUB_02 extends WpadScreen {
 
     int SUBSCREEN_INDEX = 2;
     int SCREEN_ICON_START = 0;
-    int SCREEN_ICON_CNT = 24;
+    int SCREEN_ICON_CNT = 25;
 
     WpadImageView [] BTN_SHORTCUT_ICON = new WpadImageView[SCREEN_ICON_CNT];
     WpadTextView [] TXT_SHORTCUT_NAME = new WpadTextView[SCREEN_ICON_CNT];

+ 5 - 0
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/IconManager.java

@@ -388,6 +388,11 @@ public class IconManager {
                         R.drawable.icon_ctrl_eleccooktop_normal, R.drawable.icon_ctrl_eleccooktop_pressed, R.drawable.icon_ctrl_eleccooktop_pressed, R.drawable.icon_ctrl_eleccooktop_pressed);
             }
 
+            //전동커튼
+            mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_CURTAIN.getID(), ID.ICONS.MENUS.CTRL_CURTAIN.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.Curtain,
+                    R.drawable.icon_curtain_normal, R.drawable.icon_curtain_pressed, R.drawable.icon_curtain_pressed, R.drawable.icon_curtain_pressed);
+
+
             /*
             부가 App
              */

BIN
WallPadMain/src/main/res/drawable-mdpi/icon_curtain_normal.png


BIN
WallPadMain/src/main/res/drawable-mdpi/icon_curtain_pressed.png