ソースを参照

난방, 에어컨 방이름 변경. 버젼명 변경

jslee(madeinlab) 3 年 前
コミット
5d9a3bc121

+ 1 - 1
WallPadAPI/build.gradle

@@ -40,7 +40,7 @@ android {
             java {
                 //WallPadAPI jar생성시에는 아래 코드 주석처리하고 exportJar 수행
                 //WallPadDevice용 jar생성시에는 아래 코드 주석 해제하고 exportServiceJar 실행
-                //exclude "**/wallpadapi/**"
+//                exclude "**/wallpadapi/**"
             }
         }
     }

BIN
WallPadAPI/jar/WallPadAPI.jar


+ 220 - 123
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/wallpaddbmgr.java

@@ -163,6 +163,50 @@ public class wallpaddbmgr {
             {"1", "1", define.DEVICE_ID_DISTRIBUTION_KIND, define.DEVICE_ENABLE, "종류(스마트분전반)"},
     };
 
+
+
+    private static String[][] iHND101_K_DevicesSettingInitData = new String[][] {
+            {"1", "1", define.DEVICE_ID_KAKAO, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_GAS, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_ELECTRIC_RANGE, define.DEVICE_DISABLE, ""},
+            {"1", "1", define.DEVICE_ID_DOORLOCK, define.DEVICE_ENABLE, "종류(무선)"},
+            {"1", "4", define.DEVICE_ID_THERMO, define.DEVICE_ENABLE, ""},
+            {"1", "2", define.DEVICE_ID_LIGHT, define.DEVICE_ENABLE, "종류(현산향일체형조명일괄소등병합형)"},
+            {"1", "5", define.DEVICE_ID_REALTIMEMETER, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_BATCHLIGHT, define.DEVICE_ENABLE, "종류(현산향LCD스마트스위치)L1설정(2)L2설정(3)"},
+            {"1", "1", define.DEVICE_ID_REMOTECON, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_DOORCAM, define.DEVICE_ENABLE, "종류(스마트IOT현관카메라)"},
+            {"1", "1", define.DEVICE_ID_VENTIL, define.DEVICE_ENABLE, "종류(기본)"},
+
+            {"1", "1", define.DEVICE_ID_ENERGY_DEVICES, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_IDLE_POWER_SAVING_SWITCH, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_ENERGY_MODULE, define.DEVICE_DISABLE, ""},
+            {"1", "5", define.DEVICE_ID_REMOTE_METER, define.DEVICE_ENABLE, "EMS(사용함)요금테이블(사용안함)"},
+            {"1", "1", define.DEVICE_ID_SENSOR, define.DEVICE_ENABLE, "외부동체사용(사용함)내부동체사용(사용안함)외부동체를내부동체로사용(사용안함))"},
+            {"1", "1", define.DEVICE_ID_EMERGENGY_LEDDER, define.DEVICE_DISABLE, ""},
+
+            {"1", "1", define.DEVICE_ID_GUARDCALL_VIDEO_ON, define.DEVICE_DISABLE, ""},
+            {"1", "1", define.DEVICE_ID_KITCHEN_TV_PSTN_CALL, define.DEVICE_DISABLE, ""},
+            {"1", "1", define.DEVICE_ID_BATH_TV_PSTN_CALL, define.DEVICE_DISABLE, ""},
+            {"1", "1", define.DEVICE_ID_BATH_PSTN_CALL, define.DEVICE_ENABLE, ""},
+
+            {"1", "1", define.DEVICE_ID_MOOD_LIGHT, define.DEVICE_DISABLE, "종류(하단등)"}, //17.11.02 사용안함으로 변경(현정배CJ 요청)
+
+            {"1", "1", define.DEVICE_ID_PARKING, define.DEVICE_DISABLE, "종류(아이콘트롤스)IP(10.0.1.10:10000)"},
+            {"1", "1", define.DEVICE_ID_ELECTRIC_CAR, define.DEVICE_DISABLE, "IP(10.0.1.1:10000)"},
+            {"1", "1", define.DEVICE_ID_ENERGY_SERVER_CONNECT, define.DEVICE_DISABLE, "IP(10.0.1.1:10000)검침일사용자설정(사용안함)"},
+            {"1", "1", define.DEVICE_ID_BLE_SMARTKEY, define.DEVICE_DISABLE, ""},
+            {"1", "1", define.DEVICE_ID_SUBPHONE_BAUDRATE, define.DEVICE_ENABLE, "종류(9600)"},
+            {"1", "1", define.DEVICE_ID_MAIN_GUI_SELECT, define.DEVICE_ENABLE, "종류(기본)"},
+            {"1", "1", define.DEVICE_ID_SMART_LIGHT_ALARM_SET, define.DEVICE_ENABLE,
+                    "EM전압상한값(3.0)EM전압하한값(5.0)EM온도(60)LED전압상한값(2.0)LED전압하한값(7.0)LED온도(80)" +
+                            "DCAPU전력일괄(425)DCAPU전력개별1(0)DCAPU전력개별2(0)누적전력초기화(0)"},
+            {"1", "1", define.DEVICE_ID_GATEWAY_MODEL_KIND, define.DEVICE_ENABLE, "종류(IGW300)"},
+            {"1", "1", define.DEVICE_ID_ESCAPELADDER_DOWN_SEND, define.DEVICE_ENABLE, "종류(윗집)"},
+            {"1", "1", define.DEVICE_ID_MOBILEAPP_AUTH_USE, define.DEVICE_ENABLE, ""},
+            {"1", "1", define.DEVICE_ID_DISTRIBUTION_KIND, define.DEVICE_ENABLE, "종류(스마트분전반)"},
+    };
+
     // 첫번째 - 기기개수(기본 1로 입력), 두번째 - 회로수(방개수 등), 세번째 - 디바이스 이름, 네번째 - 사용여부, 다섯번째 - 기타정보
     private static String[][] iHN1010_DevicesSettingInitData = new String[][] {
 
@@ -1064,6 +1108,10 @@ public class wallpaddbmgr {
             insertWallPADDB(WallpadStatusData.REMOTECALL_USER_POPUP_RUN, "0");
             ret_data =  "";
         }
+        else if (name.equals(WallpadStatusData.HSPLATFORM_CERTIF_POPUP_RUN)) {
+            insertWallPADDB(WallpadStatusData.HSPLATFORM_CERTIF_POPUP_RUN, "0");
+            ret_data =  "";
+        }
         else if (name.equals(WallpadStatusData.SOUND_OUTPUT_EVENT_ALARM)) {
             insertWallPADDB(WallpadStatusData.SOUND_OUTPUT_EVENT_ALARM, "true");
             ret_data =  "true";
@@ -1236,70 +1284,51 @@ public class wallpaddbmgr {
         //원격검침 끝
 
         //통화관련
-        else if (name.equals(WallpadStatusData.CALL_DOORCAM_SOUND_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_DOORCAM_SOUND_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_DOORCAM_SOUND_VALUE, WallpadStatusData.CALL_DOORCAM_SOUND_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_DOORCAM_SOUND_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_LOBBY_SOUND_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_LOBBY_SOUND_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_LOBBY_SOUND_VALUE, WallpadStatusData.CALL_LOBBY_SOUND_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_LOBBY_SOUND_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_GUARD_SOUND_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_GUARD_SOUND_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_GUARD_SOUND_VALUE, WallpadStatusData.CALL_GUARD_SOUND_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_GUARD_SOUND_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_NEIGHBOR_SOUND_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_NEIGHBOR_SOUND_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_NEIGHBOR_SOUND_VALUE, WallpadStatusData.CALL_NEIGHBOR_SOUND_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_NEIGHBOR_SOUND_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_PSTN_SOUND_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_PSTN_SOUND_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_PSTN_SOUND_VALUE, WallpadStatusData.CALL_PSTN_SOUND_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_PSTN_SOUND_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_DOORCAM_BRIGHTNESS_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_DOORCAM_BRIGHTNESS_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_DOORCAM_BRIGHTNESS_VALUE, WallpadStatusData.CALL_DOORCAM_BRIGHTNESS_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_DOORCAM_BRIGHTNESS_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.CALL_DOORCAM_CONTRAST_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CALL_DOORCAM_CONTRAST_VALUE)) {
             insertWallPADDB(WallpadStatusData.CALL_DOORCAM_CONTRAST_VALUE, WallpadStatusData.CALL_DOORCAM_CONTRAST_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CALL_DOORCAM_CONTRAST_VALUE_DEFAULT;
         }
-
-        else if (name.equals(WallpadStatusData.LIVING_LIGHT_GROUP))
-        {
+        else if (name.equals(WallpadStatusData.LIVING_LIGHT_GROUP)) {
             insertWallPADDB(WallpadStatusData.LIVING_LIGHT_GROUP, WallpadStatusData.LIVING_LIGHT_GROUP_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVING_LIGHT_GROUP_VALUE_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.DEV_SMARTLIGHT_STATUS))
-        {
+        else if (name.equals(WallpadStatusData.DEV_SMARTLIGHT_STATUS)) {
             insertWallPADDB(WallpadStatusData.DEV_SMARTLIGHT_STATUS, WallpadStatusData.SMARTLIGHT_STATUS_DEFAULT);
             ret_data = WallpadStatusData.SMARTLIGHT_STATUS_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.DEV_SMARTLIGHT_DEVICE))
-        {
+        else if (name.equals(WallpadStatusData.DEV_SMARTLIGHT_DEVICE)) {
             insertWallPADDB(WallpadStatusData.DEV_SMARTLIGHT_DEVICE, WallpadStatusData.SMARTLIGHT_DEVICE_DEFAULT);
             ret_data = WallpadStatusData.SMARTLIGHT_DEVICE_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.DEV_KNXDEVICE_STATUS))
-        {
+        else if (name.equals(WallpadStatusData.DEV_KNXDEVICE_STATUS)) {
             insertWallPADDB(WallpadStatusData.DEV_KNXDEVICE_STATUS, WallpadStatusData.KNXDEVICE_STATUS_DEFAULT);
             ret_data = WallpadStatusData.KNXDEVICE_STATUS_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.DEV_KNXDEVICE_CAUSE))
-        {
+        else if (name.equals(WallpadStatusData.DEV_KNXDEVICE_CAUSE)) {
             insertWallPADDB(WallpadStatusData.DEV_KNXDEVICE_CAUSE, WallpadStatusData.KNXDEVICE_CAUSE_DEFAULT);
             ret_data = WallpadStatusData.KNXDEVICE_CAUSE_DEFAULT;
         }
@@ -1307,255 +1336,286 @@ public class wallpaddbmgr {
         ////////////////////////////////////icontrols //////////////////////////////////////////////////////
 
         ////////////////////////////////////icontrols //////////////////////////////////////////////////////
-        else if (name.equals(WallpadStatusData.DEVICE_ROOM))
-        {
+        else if (name.equals(WallpadStatusData.DEVICE_ROOM)) {
             insertWallPADDB(WallpadStatusData.DEVICE_ROOM, WallpadStatusData.DEVICE_ROOM_DEFAULT);
             ret_data =  WallpadStatusData.DEVICE_ROOM_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.NOTICECNT))
-        {
+        else if (name.equals(WallpadStatusData.NOTICECNT)) {
             insertWallPADDB(WallpadStatusData.NOTICECNT, WallpadStatusData.NOTICECNTDEFAULT);
             ret_data = WallpadStatusData.NOTICECNTDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.NOTICE_VER))
-        {
+        else if (name.equals(WallpadStatusData.NOTICE_VER)) {
             insertWallPADDB(WallpadStatusData.NOTICE_VER, WallpadStatusData.NOTICE_VER_DEFAULT);
             ret_data = WallpadStatusData.NOTICE_VER_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.SETSYSTEMUPDATE))
-        {
+        else if (name.equals(WallpadStatusData.SETSYSTEMUPDATE)) {
             insertWallPADDB(WallpadStatusData.SETSYSTEMUPDATE, WallpadStatusData.SETSYSTEMUPDATEDEFAULT);
             ret_data = WallpadStatusData.SETSYSTEMUPDATEDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.ENERGYDATA))
-        {
+        else if (name.equals(WallpadStatusData.ENERGYDATA)) {
             insertWallPADDB(WallpadStatusData.ENERGYDATA, WallpadStatusData.ENERGYDATADEFAULT);
             ret_data = WallpadStatusData.ENERGYDATADEFAULT;
         }
-        else if (name.equals(WallpadStatusData.LAST_STATUSBEAT))
-        {
+        else if (name.equals(WallpadStatusData.LAST_STATUSBEAT)) {
             insertWallPADDB(WallpadStatusData.LAST_STATUSBEAT, WallpadStatusData.LAST_STATUSBEAT_DEFAULT);
             ret_data = WallpadStatusData.LAST_STATUSBEAT_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.ENERGYMONDATA ))
-        {
+        else if (name.equals(WallpadStatusData.ENERGYMONDATA )) {
             insertWallPADDB(WallpadStatusData.ENERGYMONDATA   , WallpadStatusData.ENERGYMONDATADEFAULT   );
             ret_data = WallpadStatusData.ENERGYMONDATADEFAULT;
         }
-        else if (name.equals(WallpadStatusData.LASTCHECKENERGY))
-        {
+        else if (name.equals(WallpadStatusData.LASTCHECKENERGY)) {
             insertWallPADDB(WallpadStatusData.LASTCHECKENERGY, WallpadStatusData.LASTCHECKENERGYDEFAULT   );
             ret_data = WallpadStatusData.LASTCHECKMONENERGYDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.LASTCHECKMONENERGY ))
-        {
+        else if (name.equals(WallpadStatusData.LASTCHECKMONENERGY )) {
             insertWallPADDB(WallpadStatusData.LASTCHECKMONENERGY , WallpadStatusData.LASTCHECKMONENERGYDEFAULT);
             ret_data = WallpadStatusData.LASTCHECKENERGYDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.LASTTIMESYNC))
-        {
+        else if (name.equals(WallpadStatusData.LASTTIMESYNC)) {
             insertWallPADDB(WallpadStatusData.LASTTIMESYNC, WallpadStatusData.LASTTIMESYNCDEFAULT);
             ret_data = WallpadStatusData.LASTTIMESYNCDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.UPGRADESTATE))
-        {
+        else if (name.equals(WallpadStatusData.UPGRADESTATE)) {
             insertWallPADDB(WallpadStatusData.UPGRADESTATE, WallpadStatusData.UPGRADESTATEDEFAULT);
             ret_data = WallpadStatusData.UPGRADESTATEDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.ELEVATORSTATUS))
-        {
+        else if (name.equals(WallpadStatusData.ELEVATORSTATUS)) {
             insertWallPADDB(WallpadStatusData.ELEVATORSTATUS, WallpadStatusData.ELEVATORSTATUSDEFAULT);
             ret_data = WallpadStatusData.ELEVATORSTATUSDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.ELEVATORCALLDN))
-        {
+        else if (name.equals(WallpadStatusData.ELEVATORCALLDN)) {
             insertWallPADDB(WallpadStatusData.ELEVATORCALLDN, WallpadStatusData.ELEVATORCALLDNDEFAULT);
             ret_data = WallpadStatusData.ELEVATORCALLDNDEFAULT;
         }
-        else if (name.equals(WallpadStatusData.ELEVATORCALLUP))
-        {
+        else if (name.equals(WallpadStatusData.ELEVATORCALLUP)) {
             insertWallPADDB(WallpadStatusData.ELEVATORCALLUP, WallpadStatusData.ELEVATORCALLUPDEFAULT);
             ret_data = WallpadStatusData.ELEVATORCALLUPDEFAULT;
         }
         //엘리베이터 위젯 복구기능
-        else if (name.equals(WallpadStatusData.ELEVATOR_WIDGET_RESTORE))
-        {
+        else if (name.equals(WallpadStatusData.ELEVATOR_WIDGET_RESTORE)) {
             insertWallPADDB(WallpadStatusData.ELEVATOR_WIDGET_RESTORE, WallpadStatusData.ELEVATOR_WIDGET_RESTORE_VALUE_DEFAULT);
             ret_data = WallpadStatusData.ELEVATOR_WIDGET_RESTORE_VALUE_DEFAULT;
         }
-        else if (name.equals(WallpadStatusData.DEVICE_ROOM_LIGHT))
-        {
+        else if (name.equals(WallpadStatusData.DEVICE_ROOM_LIGHT)) {
             insertWallPADDB(WallpadStatusData.DEVICE_ROOM_LIGHT, WallpadStatusData.DEVICE_ROOM_DEFAULT_LIGHT);
             ret_data = WallpadStatusData.DEVICE_ROOM_DEFAULT_LIGHT;
         }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_LIGHT)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_LIGHT, WallpadStatusData.ROOM_NAME_DEFAULT_NORMAL);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_NORMAL;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CONCENT)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CONCENT, WallpadStatusData.ROOM_NAME_DEFAULT_NORMAL);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_NORMAL;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_HEATING)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_HEATING, WallpadStatusData.ROOM_NAME_DEFAULT_HEATING);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_HEATING;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_SYSTEMAIRCON)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_SYSTEMAIRCON, WallpadStatusData.ROOM_NAME_DEFAULT_AIRCON);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_AIRCON;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_PURITY)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_PURITY, WallpadStatusData.ROOM_NAME_DEFAULT_PURITY);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_PURITY;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_SHADING)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_SHADING, WallpadStatusData.ROOM_NAME_DEFAULT_SHADING);
+            ret_data = WallpadStatusData.ROOM_NAME_DEFAULT_SHADING;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_LIGHT_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_LIGHT_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_LIGHT);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_LIGHT;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_CONCENT_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_CONCENT_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_CONCENT);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_CONCENT;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_HEATING_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_HEATING_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_HEATING);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_HEATING;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_SYSTEMAIRCON_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_SYSTEMAIRCON_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SYSTEMAIRCON);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SYSTEMAIRCON;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_PURITY_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_PURITY_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_PURITY);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_PURITY;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_SHADING_USER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_SHADING_USER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SHADING);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SHADING;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_LIGHT_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_LIGHT_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_LIGHT);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_LIGHT;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_CONCENT_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_CONCENT_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_CONCENT);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_CONCENT;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_HEATING_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_HEATING_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_HEATING);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_HEATING;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_SYSTEMAIRCON_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_SYSTEMAIRCON_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SYSTEMAIRCON);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SYSTEMAIRCON;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_PURITY_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_PURITY_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_PURITY);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_PURITY;
+        }
+        else if (name.equals(WallpadStatusData.ROOM_NAME_CHANGE_SHADING_MANAGER)) {
+            insertWallPADDB(WallpadStatusData.ROOM_NAME_CHANGE_SHADING_MANAGER, WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SHADING);
+            ret_data = WallpadStatusData.DEVICE_ROOM_NAME_CHANGE_DEFAULT_SHADING;
+        }
 
         //근접 센서 민감도
-        else if(name.equals(WallpadStatusData.CLOSE_SENSOR_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CLOSE_SENSOR_VALUE)) {
             insertWallPADDB(WallpadStatusData.CLOSE_SENSOR_VALUE, WallpadStatusData.CLOSE_SENSOR_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CLOSE_SENSOR_VALUE_DEFAULT;
         }
 
         //현재 화면 ID
-        else if(name.equals(WallpadStatusData.CURRENT_SCREEN_ID_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.CURRENT_SCREEN_ID_VALUE)) {
             insertWallPADDB(WallpadStatusData.CURRENT_SCREEN_ID_VALUE, WallpadStatusData.CURRENT_SCREEN_ID_VALUE_DEFAULT);
             ret_data = WallpadStatusData.CURRENT_SCREEN_ID_VALUE_DEFAULT;
         }
 
         // 현재/월누적 선택
-        else if(name.equals(WallpadStatusData.NOW_MONTH_SELECT))
-        {
+        else if (name.equals(WallpadStatusData.NOW_MONTH_SELECT)) {
             insertWallPADDB(WallpadStatusData.NOW_MONTH_SELECT, WallpadStatusData.NOW_MONTH_SELECT_DEFAULT);
             ret_data = WallpadStatusData.NOW_MONTH_SELECT_DEFAULT;
         }
 
         // 실시간검침기 전력 - 누적전력사용량 저장
-        else if(name.equals(WallpadStatusData.REALTIMEMETER__ELEC_ACC))
-        {
+        else if (name.equals(WallpadStatusData.REALTIMEMETER__ELEC_ACC)) {
             insertWallPADDB(WallpadStatusData.REALTIMEMETER__ELEC_ACC, "0");
             ret_data = "0";
         }
 
         // 메인 GUI 선택
-        else if(name.equals(WallpadStatusData.MAIN_GUI_SELECT))
-        {
+        else if (name.equals(WallpadStatusData.MAIN_GUI_SELECT)) {
             insertWallPADDB(WallpadStatusData.MAIN_GUI_SELECT, WallpadStatusData.MAIN_GUI_SELECT_DEFAULT);
             ret_data = WallpadStatusData.MAIN_GUI_SELECT_DEFAULT;
         }
 
         // 재실센서 시나리오 기본모드1 사용여부
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1, WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_DEFAULT;
         }
 
         // 재실센서 시나리오 기본모드2 사용여부
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2, WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_DEFAULT;
         }
 
         // 재실센서 시나리오 사용자 설정모드 사용여부
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET, WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_DEFAULT;
         }
 
         // 재실센서 시나리오 전기레인지 안전모드 사용여부
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE, WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_DEFAULT;
         }
 
         // 재실센서 시나리오 - 기본모드1 설정
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_INFO))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_INFO)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_INFO, WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_INFO_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL1_INFO_DEFAULT;
         }
+
         // 재실센서 시나리오 - 기본모드2 설정
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_INFO))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_INFO)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_INFO, WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_INFO_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_NORMAL2_INFO_DEFAULT;
         }
+
         // 재실센서 시나리오 - 사용자모드 설정
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_INFO))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_INFO)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_INFO, WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_INFO_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_USERSET_INFO_DEFAULT;
         }
+
         // 재실센서 시나리오 - 전기레인지 안전모드 설정
-        else if(name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_INFO))
-        {
+        else if (name.equals(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_INFO)) {
             insertWallPADDB(WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_INFO, WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_INFO_DEFAULT);
             ret_data = WallpadStatusData.INROOMDETECT_SCENARIO_ELECRANGE_SAFE_INFO_DEFAULT;
         }
 
         // 층간소음 팝업 발생 유무
-        else if(name.equals(WallpadStatusData.INTERLAYER_NOISE_POPUP_USE))
-        {
+        else if (name.equals(WallpadStatusData.INTERLAYER_NOISE_POPUP_USE)) {
             insertWallPADDB(WallpadStatusData.INTERLAYER_NOISE_POPUP_USE, WallpadStatusData.INTERLAYER_NOISE_POPUP_USE_DEFAULT);
             ret_data = WallpadStatusData.INTERLAYER_NOISE_POPUP_USE_DEFAULT;
         }
 
         // 층간소음 장비 상태
-        else if(name.equals(WallpadStatusData.INTERLAYER_NOISE_SENSOR_STATUS))
-        {
+        else if (name.equals(WallpadStatusData.INTERLAYER_NOISE_SENSOR_STATUS)) {
             insertWallPADDB(WallpadStatusData.INTERLAYER_NOISE_SENSOR_STATUS, WallpadStatusData.INTERLAYER_NOISE_SENSOR_STATUS_DEFAULT);
             ret_data = WallpadStatusData.INTERLAYER_NOISE_SENSOR_STATUS_DEFAULT;
         }
 
         // 웰컴조명 선택된 조명등 여부
-        else if(name.equals(WallpadStatusData.WELCOMELIGHT_SELECT_ITEMS))
-        {
+        else if (name.equals(WallpadStatusData.WELCOMELIGHT_SELECT_ITEMS)) {
             insertWallPADDB(WallpadStatusData.WELCOMELIGHT_SELECT_ITEMS, WallpadStatusData.WELCOMELIGHT_SELECT_ITEMS_DEFAULT);
             ret_data = WallpadStatusData.WELCOMELIGHT_SELECT_ITEMS_DEFAULT;
         }
 
         // 거실조명 모드제어
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_00))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_00)) {
             // 전체 제어시
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_00, WallpadStatusData.LIVINGLIGHT_PRESET_00_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_00_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_01))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_01)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_01, WallpadStatusData.LIVINGLIGHT_PRESET_01_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_01_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_02))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_02)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_02, WallpadStatusData.LIVINGLIGHT_PRESET_02_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_02_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_03))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_03)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_03, WallpadStatusData.LIVINGLIGHT_PRESET_03_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_03_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_04))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_04)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_04, WallpadStatusData.LIVINGLIGHT_PRESET_04_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_04_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_05))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_05)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_05, WallpadStatusData.LIVINGLIGHT_PRESET_05_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_05_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_06))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_06)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_06, WallpadStatusData.LIVINGLIGHT_PRESET_06_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_06_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_07))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_07)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_07, WallpadStatusData.LIVINGLIGHT_PRESET_07_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_07_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_08))
-        {
+        else if (name.equals(WallpadStatusData.LIVINGLIGHT_PRESET_08)) {
             insertWallPADDB(WallpadStatusData.LIVINGLIGHT_PRESET_08, WallpadStatusData.LIVINGLIGHT_PRESET_08_VALUE_DEFAULT);
             ret_data = WallpadStatusData.LIVINGLIGHT_PRESET_08_VALUE_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.MULTISWITCH_CONCENT_USE))
-        {
+        else if (name.equals(WallpadStatusData.MULTISWITCH_CONCENT_USE)) {
             insertWallPADDB(WallpadStatusData.MULTISWITCH_CONCENT_USE, WallpadStatusData.MULTISWITCH_CONCENT_USE_DEFAULT);
             ret_data = WallpadStatusData.MULTISWITCH_CONCENT_USE_DEFAULT;
         }
-
         else if (name.equals(WallpadStatusData.RELIEFCALL_DEGREE)) {
             insertWallPADDB(WallpadStatusData.RELIEFCALL_DEGREE, WallpadStatusData.RELIEFCALL_DEGREE_DEFAULT_VALUE);
             ret_data = WallpadStatusData.RELIEFCALL_DEGREE_DEFAULT_VALUE;
         }
-
         else if (name.equals(WallpadStatusData.REMOTECALL_REGISTRATION)) {
             insertWallPADDB(WallpadStatusData.REMOTECALL_REGISTRATION, WallpadStatusData.REMOTECALL_REGISTRATION_DEFAULT_VALUE);
             ret_data = WallpadStatusData.REMOTECALL_REGISTRATION_DEFAULT_VALUE;
@@ -1564,7 +1624,6 @@ public class wallpaddbmgr {
             insertWallPADDB(WallpadStatusData.REMOTECALL_USERCNT, WallpadStatusData.REMOTECALL_USERCNT_DEFAULT_VALUE);
             ret_data = WallpadStatusData.REMOTECALL_USERCNT_DEFAULT_VALUE;
         }
-
         else if (name.equals(WallpadStatusData.SMARTIOT_RECORDING_STRANGER_ONOFF)) {
             insertWallPADDB(WallpadStatusData.SMARTIOT_RECORDING_STRANGER_ONOFF, WallpadStatusData.SMARTIOT_RECORDING_STRANGER_ONOFF_USE_DEFAULT);
             ret_data = WallpadStatusData.SMARTIOT_RECORDING_STRANGER_ONOFF_USE_DEFAULT;
@@ -1605,14 +1664,12 @@ public class wallpaddbmgr {
             insertWallPADDB(WallpadStatusData.CAMERA_ENCODING_ERROR, WallpadStatusData.CAMERA_ENCODING_ERROR_DEFAULT);
             ret_data = WallpadStatusData.CAMERA_ENCODING_ERROR_DEFAULT;
         }
-        else if(name.equals(WallpadStatusData.DOORLOCK_OPENDELAY_VALUE))
-        {
+        else if (name.equals(WallpadStatusData.DOORLOCK_OPENDELAY_VALUE)) {
             insertWallPADDB(WallpadStatusData.DOORLOCK_OPENDELAY_VALUE, WallpadStatusData.DOORLOCK_OPENDELAY_VALUE_DEFAULT);
             ret_data = WallpadStatusData.DOORLOCK_OPENDELAY_VALUE_DEFAULT;
         }
         //미세먼지
-        else if(name.equals(WallpadStatusData.AIR_DATA))
-        {
+        else if (name.equals(WallpadStatusData.AIR_DATA)) {
             insertWallPADDB(WallpadStatusData.AIR_DATA, WallpadStatusData.AIR_DATA_DEFAULT);
             ret_data = WallpadStatusData.AIR_DATA_DEFAULT;
         }
@@ -2049,7 +2106,6 @@ public class wallpaddbmgr {
             }
         }
         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_D101_I_OCF)
         {
             for (int i = 0; i < iHND101_DevicesSettingInitData.length; i++) {
@@ -2091,6 +2147,47 @@ public class wallpaddbmgr {
                 }
             }
         }
+        else if ( mModelType == Version.MODEL_TYPE.IHN_D101K || mModelType == Version.MODEL_TYPE.IHN_D101K_I)
+        {
+            for (int i = 0; i < iHND101_K_DevicesSettingInitData.length; i++) {
+                Log.d(TAG, mModelType+"_DevicesSettingInitData! "+i);
+                if ((iHND101_K_DevicesSettingInitData[i][2].endsWith(define.DEVICE_ID_KITCHEN_TV_PSTN_CALL) == true)
+                        || (iHND101_K_DevicesSettingInitData[i][2].endsWith(define.DEVICE_ID_BATH_TV_PSTN_CALL) == true)
+                        || (iHND101_K_DevicesSettingInitData[i][2].endsWith(define.DEVICE_ID_BATH_PSTN_CALL) == true))
+                {   //욕실폰, 욕실TV, 주방TV 국선전화 연동 시 "1(1:국선(사용함))" 으로 저장하기 위함.
+                    InsertinitDeviceData("subdev_list"
+                            , iHND101_K_DevicesSettingInitData[i][2]
+                            , 0
+                            , iHND101_K_DevicesSettingInitData[i][0]+
+                                    "("
+                                    +iHND101_K_DevicesSettingInitData[i][1]+
+                                    ":"
+                                    +"국선"+
+                                    "("+
+                                    iHND101_K_DevicesSettingInitData[i][3]+
+                                    ")"+
+                                    iHND101_K_DevicesSettingInitData[i][4]+
+                                    ")"
+                    );
+                }
+                else {
+                    InsertinitDeviceData("subdev_list"
+                            , iHND101_K_DevicesSettingInitData[i][2]
+                            , 0
+                            , iHND101_K_DevicesSettingInitData[i][0]+
+                                    "("
+                                    +iHND101_K_DevicesSettingInitData[i][1]+
+                                    ":"
+                                    +iHND101_K_DevicesSettingInitData[i][2]+
+                                    "("+
+                                    iHND101_K_DevicesSettingInitData[i][3]+
+                                    ")"+
+                                    iHND101_K_DevicesSettingInitData[i][4]+
+                                    ")"
+                    );
+                }
+            }
+        }
         else if (mModelType == Version.MODEL_TYPE.IHN_1010 || mModelType == Version.MODEL_TYPE.IHN_1010_I) {
             for (int i = 0; i < iHN1010_DevicesSettingInitData.length; i++) {
                 Log.d(TAG, mModelType+"_DevicesSettingInitData! "+i);

BIN
WallPadHomeCtrl/libs/WallPadAPI.jar


+ 6 - 8
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java

@@ -1883,7 +1883,7 @@ public class MainActivity extends WpadActivity {
 					}
 					else {
 						SetTitleText(API_Menu.SubMenuCtrl.Name_Concent);
-						concentMainScreen = new ConcentMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mDefaultRoomNameList_Light);
+						concentMainScreen = new ConcentMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Concent);
 						super.setCurrentScreen(concentMainScreen);
 						setManualBtnVisible(getManualUse(), 1019);
 					}
@@ -1896,7 +1896,7 @@ public class MainActivity extends WpadActivity {
 
 				case API_Menu.SubMenuCtrl.HDCLivingNEach_Concent:
 					SetTitleText(API_Menu.SubMenuCtrl.Name_Concent);
-					concentHdcNEachMainScreen = new ConcentHdcNEachMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Light);
+					concentHdcNEachMainScreen = new ConcentHdcNEachMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Concent);
 					super.setCurrentScreen(concentHdcNEachMainScreen);
 					setTopBoilerBtnVisible(false);
 					setAIRBackBtnVisible(false);
@@ -1932,11 +1932,11 @@ public class MainActivity extends WpadActivity {
 					SetTitleText(API_Menu.SubMenuCtrl.Name_SystemAircon);
 					 if (nDistributionPanelType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
 						// KNX 분전반
-						knxSystemAirconMainScreen = new KnxSystemAirconMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mDefaultRoomNameList);
+						knxSystemAirconMainScreen = new KnxSystemAirconMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_SystemAircon);
 						super.setCurrentScreen(knxSystemAirconMainScreen);
 
 					 }else {
-						 systemAirconMainScreen = new SystemAirconMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mDefaultRoomNameList);
+						 systemAirconMainScreen = new SystemAirconMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_SystemAircon);
 						 super.setCurrentScreen(systemAirconMainScreen);
 					 }
 					setTopBoilerBtnVisible(false);
@@ -2043,12 +2043,12 @@ public class MainActivity extends WpadActivity {
 					super.setCurrentScreen(knxSystemAirconMainTestScreen);
 					result = true;
 					break;
-				case ID.screen.LightKnxMainTestScreen: // sub - 공지사항 내용
+				case ID.screen.LightKnxMainTestScreen: // 조명
 					LightKnxMainTestScreen lightKnxMainTestScreen = new LightKnxMainTestScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Light);
 					super.setCurrentScreen(lightKnxMainTestScreen);
 					result = true;
 					break;
-				case ID.screen.HeatingV2TestScreen: // sub - 공지사항 내용
+				case ID.screen.HeatingV2TestScreen: // 난방
 					HeatingV2TestScreen heatingV2TestScreen = new HeatingV2TestScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Heating);
 					super.setCurrentScreen(heatingV2TestScreen);
 					mCurrentMultiScreenId = ID.screen.HeatingV2TestScreen;
@@ -3087,8 +3087,6 @@ public class MainActivity extends WpadActivity {
 	 * @param Enabled - true : 활성화,  false : 비활성화
 	 * @return (boolean) true : 성공,  false : 실패
 	 */
-
-	
     public void setMultiBtnVisible(boolean Enabled) {
 		for (int i = 0; i < MultiBtn.length; i++) {
 			if (Enabled == true) {

+ 43 - 15
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconMainScreen.java

@@ -18,6 +18,7 @@ import com.artncore.WallPadDataMgr.WallpadDeviceSet;
 import com.artncore.WallPadDataMgr.WallpadStatusData;
 import com.artncore.commons.DataClasses;
 import com.artncore.commons.DataClasses.KnxSystemAircon;
+import com.artncore.commons.define;
 import com.artncore.wallpadapi.KnxSystemAirconAPI;
 import com.artncore.wallpadapi.LouverAPI;
 import com.artncore.wallpadapi.KnxSystemAirconAPI;
@@ -44,6 +45,8 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
         if (DEBUG_LOG_ON) Log.d(TAG, s);
     }
 
+    Context mContext;
+
     // =================================================================================================
     // [[ Declaration ]] region
     // =================================================================================================
@@ -291,17 +294,17 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
         Log.i(TAG, "[START - Screen] --------------------------------------------");
 
         // 1. Data Create
+        mContext = context;
         DebugLogOutput("[Create] - Step1 : Data Create");
         OPERATION_MODE = operationMode;
+        //for test
         //OPERATION_MODE = Common.MODE_BUSINESS_SAMPLE;
-        //조명/콘센트와 방명칭 정보가 일치하지 않아, 조명/콘센트에 맞춰서 방명칭 수정.
-        mRoomNameList = mDefaultRoomNameList;
-        //mRoomNameList = roomNameList;
+        //
+        if (roomNameList==null) mRoomNameList = mDefaultRoomNameList;
+        else mRoomNameList = roomNameList;
+
         mData = new Data();
         mDataLouver = new DataLouver();
-
-        //madeinLab-- UX_MODE 필요 시 적용.
-        //UX_MODE = ((MainActivity) context).GetEasyModeUXUse() ? Common.UX_EASY_MODE : Common.UX_NORMAL_MODE;
         inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
         // 2. Device API Load & Update
@@ -318,22 +321,14 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
         String[] strValue = devSet.GetSettingData("UI순서");
         devSet.closeDB();
 
-        // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
+        //서버에서 설정된 UI 순서를 이용하도록 한다.
         if( strValue != null ) {
-            //String strLight = strValue[1].substring( (strValue[1].indexOf("조명(") + 3) , (strValue[1].indexOf(")난방(")));
-            //String strHeating = strValue[1].substring( (strValue[1].indexOf("난방(") + 3) , (strValue[1].indexOf(")에어컨(")));
             String strAircon = strValue[1].substring( (strValue[1].indexOf("에어컨(") + 4) , (strValue[1].indexOf("))")));
-            //DebugLogOutput("[Create] - room name strlight "  + strLight);
-            //DebugLogOutput("[Create] - room name strHeating "  + strHeating);
-            //DebugLogOutput("[Create] - room name strAircon "  + strAircon);
-
             int strAirconCount = Integer.valueOf(strAircon.substring(0, strAircon.indexOf(":")));
-
             if(strAirconCount==mData.systemAircon.Device.info.InsideAirconCount){
                 //개수가 일치하는 경우에 적용
                 strAircon = strAircon.substring(strAircon.indexOf(":")+1);
                 String[] strDataSeq = strAircon.split("_");
-
                 for (int i = 0; i < strDataSeq.length; i++) {
                     ROOM_POS[i] = Integer.valueOf(strDataSeq[i])-1;
                 }
@@ -600,6 +595,33 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
         super.Close();
     }
 
+    /**
+     * 팝업종료시 데이터가 있을시 호출됨
+     */
+    @Override
+    protected void onPopupResult(Intent intent) {
+        if (intent != null) {
+            int Screen = intent.getIntExtra("SCREEN", -1);
+            if (Screen == ID.screen.SystemAirconPopupScreen) {
+                boolean bRefresh = intent.getBooleanExtra("REFRESH", false);
+                if (bRefresh) {
+                    WallpadStatusData wallpadStatusData = new WallpadStatusData(getContext().getApplicationContext());
+                    boolean bChangeUser = wallpadStatusData.GetRoomNameChangeByUser(define.ROOM_NAME_SYSTEMAIRCON);
+                    boolean bChangeManager = wallpadStatusData.GetRoomNameChangeByManager(define.ROOM_NAME_SYSTEMAIRCON);
+                    if (bChangeUser || bChangeManager) {
+                        mRoomNameList = wallpadStatusData.GetDevRoomNameList(define.ROOM_NAME_SYSTEMAIRCON);
+                        wallpadStatusData.closeDB();
+                        for (int i = 0; i < mRoomNameList.length; i++) {
+//                            Log.d(TAG, "[onPopupResult] astrRoomTitle [" + i + "] = " + astrRoomTitle[i]);
+                            Draw_TitleUpdate(i);
+                        }
+                        ((MainActivity)mContext).mRoomNameList_SystemAircon = mRoomNameList;
+                    }
+                }
+            }
+        }
+    }
+
     // =================================================================================================
     // [[ Touch & Key Event ]] region
     // =================================================================================================
@@ -1227,6 +1249,12 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
     {
         if(!Draw_RangeChecker(index)) return;
         roomView[index].TitleText.setText(value);
+        roomView[index].TitleText.setTextSize(0, Common.fontsize._30);
+        if(value.length() == 6)
+        {
+            roomView[index].TitleText.setTextSize(0, Common.fontsize._26_DEFAULT);
+        }
+
     }
 
     // =================================================================================================

+ 144 - 6
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconPopupScreen.java

@@ -3,21 +3,31 @@ package kr.co.icontrols.wallpadhomectrl.screen.screen_aircon;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
+import android.text.InputFilter;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.EditText;
 import android.widget.RelativeLayout;
+import android.widget.Toast;
 
 import com.artncore.WallPadDataMgr.WallpadDeviceSet;
+import com.artncore.WallPadDataMgr.WallpadStatusData;
 import com.artncore.commons.DataClasses.KnxSystemAircon;
+import com.artncore.commons.define;
 import com.artncore.wallpadapi.KnxSystemAirconAPI;
 import com.artncore.wallpadapi.WallPadAPI;
 
+import kr.co.icontrols.wallpadhomectrl.MainActivity;
+import kr.co.icontrols.wallpadhomectrl.PopupActivity;
 import kr.co.icontrols.wallpadhomectrl.R;
 import kr.co.icontrols.wallpadhomectrl.declare.Common;
 import kr.co.icontrols.wallpadhomectrl.declare.ID;
 import kr.co.icontrols.wallpadsupport.WpadImageView;
+import kr.co.icontrols.wallpadsupport.WpadScale;
 import kr.co.icontrols.wallpadsupport.WpadScreen;
 import kr.co.icontrols.wallpadsupport.WpadSound.SND;
 import kr.co.icontrols.wallpadsupport.WpadTextView;
@@ -49,6 +59,8 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
     private WpadImageView TempEncBtn;
     private WpadImageView TempDecBtn;
     private WpadImageView ManualBtn;                                       // 매뉴얼 버튼
+    private WpadImageView EditBtn;                                        // 방명칭 편집 버튼
+    private EditText nameEditText; 									       // 방명칭 편집 에디트박스
 
 
     private WpadTextView TitleText;                                        // 방이름
@@ -79,6 +91,24 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
     private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
     //private final int[] ROOM_POS = {4,3,2,1,0,5,6,7,8,9,10,11,12,13,14,15};
 
+    //방명칭 변경 관련
+    WallpadStatusData wallpadStatusData = null;
+    private InputMethodManager inputMethodManager;
+    private String originRoomName = "";
+
+    private EDIT_STATE edit_state = EDIT_STATE.Normal;
+
+    public enum EDIT_STATE {
+        Normal(0),
+        Edit(1),
+        Other(100);
+        private int mIdx;
+
+        private EDIT_STATE(int idx) {
+            this.mIdx = idx;
+        }
+    }
+
 
     // =================================================================================================
     // [[ Create & Close ]] region
@@ -91,11 +121,14 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
         DebugLogOutput("[Create] - Step1 : Data Create");
         OPERATION_MODE = operationMode;
 
-        //madeinLab for test
+        //for test
         //OPERATION_MODE = Common.MODE_BUSINESS_SAMPLE;
+        //
 
         mData = new Data();
 
+        if (wallpadStatusData == null) wallpadStatusData = new WallpadStatusData(context);
+
         // 2. Device API Load & Update
         DebugLogOutput("[Create] - Step2 : Device API Load & Update");
         if (OPERATION_MODE == Common.MODE_NOMAL) {
@@ -113,17 +146,14 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
         String[] strValue = devSet.GetSettingData("UI순서");
         devSet.closeDB();
 
-        // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
+        //서버에서 설정된 UI 순서를 이용하도록 한다.
         if( strValue != null ) {
             String strAircon = strValue[1].substring( (strValue[1].indexOf("에어컨(") + 4) , (strValue[1].indexOf("))")));
-
             int strAirconCount = Integer.valueOf(strAircon.substring(0, strAircon.indexOf(":")));
-
             if(strAirconCount==mData.airconData.Device.info.InsideAirconCount){
                 //개수가 일치하는 경우에 적용
                 strAircon = strAircon.substring(strAircon.indexOf(":")+1);
                 String[] strDataSeq = strAircon.split("_");
-
                 for (int i = 0; i < strDataSeq.length; i++) {
                     ROOM_POS[i] = Integer.valueOf(strDataSeq[i])-1;
                 }
@@ -145,6 +175,7 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
             RoomNameArray = intent.getStringArrayExtra("ROOM_NAME_ARRAY");
             if (RoomNameArray != null) {
                 mRoomNameList = RoomNameArray;
+                originRoomName = mRoomNameList[mCurrentRoomIndex];
             }
 
             if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
@@ -250,6 +281,31 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
         SetTempText = new WpadTextView(context, false, 174, 60, Gravity.CENTER, Color.parseColor("#ff7d00"), Common.fontsize._50, true, ID.KNxSystemAirconPopup.text.SET_TEMP);
         ViewRegistration(getLayout(), SetTempText, Common.PopupNomalMarginLEFT(732), Common.PopupNomalMarginTOP(582));
 
+        if (MainActivity.bRoomNameEditUse) {
+            nameEditText = new EditText(context);
+            RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WpadScale.getWidth(282), WpadScale.getHeight(59));
+            params.setMargins(WpadScale.getWidth(Common.PopupNomalMarginLEFT(482)), WpadScale.getHeight(Common.PopupNomalMarginTOP(79)), 0, 0);
+            nameEditText.setLayoutParams(params);
+            nameEditText.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER);
+            nameEditText.setTextSize(TypedValue.COMPLEX_UNIT_PX, (float) Common.fontsize._26_DEFAULT);
+            nameEditText.setTextColor(Color.BLACK);
+            nameEditText.setSingleLine(true);
+
+            int maxLength = 6;
+            InputFilter[] filterArray = new InputFilter[1];
+            filterArray[0] = new InputFilter.LengthFilter(maxLength);
+            nameEditText.setFilters(filterArray);
+            layout.addView(nameEditText);
+            nameEditText.setVisibility(View.INVISIBLE);
+
+            EditBtn = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 78, 78, R.drawable.btn_edit_normal, R.drawable.btn_edit_pressed, ID.heatingV2Popup.button.EDIT);
+            int leftMargin = Common.PopupAlarmMarginLEFT(153);
+            if (PopupActivity.getManualUse()) leftMargin = Common.PopupAlarmMarginLEFT(269);
+            ViewRegistration(layout, EditBtn, leftMargin, Common.PopupNomalMarginTOP(68));
+
+            inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
+        }
+
         // 4. Draw_Update
         DebugLogOutput("[Create] - Step7 : Draw_Update");
         Draw_TitleChange(mCurrentRoomIndex);
@@ -268,9 +324,10 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
         // 등록된 BR을 해제 한다.
         if (airconAPI != null) {
             Device_BrRegistration(false);
-
         }
 
+        if (wallpadStatusData != null) wallpadStatusData.closeDB();
+
         // (노말모드) 설정온도 변경이 있었을 경우 설정온도 셋팅 //maidinLab 온도뿐 아니라 다른 설정도 close시에 적용되도록 한다.
         if (OPERATION_MODE == Common.MODE_NOMAL) {
             Device_NowAllSet();
@@ -288,6 +345,7 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
 
         // (영업샘플모드) 변경 데이터 전달
         if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) Sample_setPopupResult();
+        if (edit_state == EDIT_STATE.Normal) setPopupResult();
     }
 
     // =================================================================================================
@@ -308,10 +366,14 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
             if (nTargetId == ID.KNxSystemAirconPopup.button.EXIT) {
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) Sample_setPopupResult();
+                if (edit_state == EDIT_STATE.Normal) setPopupResult();
                 super.finish();
             } else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_PREV) {
                 DebugLogOutput("onTouchEvent [ROOM_PREV] BUTTON !!!");
                 Sound().Play(SND.effect.TOUCH_LATCHED);
+                edit_state = EDIT_STATE.Normal;
+                setEditStatus();
+
                 mCurrentOriginRoomIndex--;
                 if (mCurrentOriginRoomIndex < 0)
                     mCurrentOriginRoomIndex = (int) (mData.airconData.Device.info.InsideAirconCount - 1);
@@ -321,6 +383,9 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
             } else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_NEXT) {
                 DebugLogOutput("onTouchEvent [ROOM_PREV] BUTTON !!!");
                 Sound().Play(SND.effect.TOUCH_LATCHED);
+                edit_state = EDIT_STATE.Normal;
+                setEditStatus();
+
                 mCurrentOriginRoomIndex++;
                 if (mCurrentOriginRoomIndex >= (int) mData.airconData.Device.info.InsideAirconCount)
                     mCurrentOriginRoomIndex = 0;
@@ -363,10 +428,73 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 Data_SetTempUpDn(false);
                 Draw_Update((byte) mCurrentRoomIndex);
+            } else if (nTargetId == ID.heatingV2Popup.button.EDIT) {
+                Log.d(TAG, "[onTouchEvent] EDIT BUTTON");
+                Sound().Play(SND.effect.TOUCH_LATCHED);
+                editRoomName();
             }
         }
     }
 
+    /**
+     * 룸 명칭을 편집한다.
+     */
+    private void editRoomName() {
+        Log.d(TAG, "[editRoomName] edit_state [" + edit_state + "]");
+        if (edit_state == EDIT_STATE.Normal) {
+            edit_state = EDIT_STATE.Edit;
+            setEditStatus();
+        } else if (edit_state == EDIT_STATE.Edit) {
+
+            String editNameRoom = nameEditText.getText().toString();
+            if (editNameRoom.equals("")) {
+                Sound().Play(SND.effect.TOUCH_UNLATCHED);
+                Toast.makeText(getContext(), "방 명칭을 정확히 입력하세요.", Toast.LENGTH_SHORT).show();
+            } else {
+                edit_state = EDIT_STATE.Normal;
+                setEditStatus();
+                if (!editNameRoom.equals(originRoomName)) {
+                    if (!wallpadStatusData.GetRoomNameChangeByUser(define.ROOM_NAME_SYSTEMAIRCON))
+                        wallpadStatusData.SetRoomNameChangeByUser(1, define.ROOM_NAME_SYSTEMAIRCON); // 사용자에 의해 방명칭 수정시 1로 저장 (추후 방명칭 변경 여부 판단 기준)
+                }
+                mRoomNameList[mCurrentRoomIndex] = editNameRoom;
+                if (wallpadStatusData.SetDevRoomNameList(mRoomNameList, define.ROOM_NAME_SYSTEMAIRCON) < 0) {
+                    wallpadStatusData.GetDevRoomNameList(define.ROOM_NAME_SYSTEMAIRCON);
+                    int nRet = wallpadStatusData.SetDevRoomNameList(mRoomNameList, define.ROOM_NAME_SYSTEMAIRCON);
+                    Log.d(TAG, "[editRoomName] nRet [" + nRet + "]");
+                }
+                TitleText.setText(editNameRoom);
+                setPopupResult();
+                inputMethodManager.hideSoftInputFromWindow(nameEditText.getWindowToken(), 0);
+
+            }
+        } else {
+            Log.w(TAG, "[editRoomName] Not invalid EDIT_STATE [" + edit_state + "]");
+        }
+    }
+
+    private void setEditStatus() {
+        Log.d(TAG, "[setEditStatus] edit_state [" + edit_state + "]");
+        if (edit_state == EDIT_STATE.Normal) {
+            if (EditBtn != null) EditBtn.setImageChange(R.drawable.btn_edit_normal, R.drawable.btn_edit_pressed);
+            if (nameEditText != null) nameEditText.setVisibility(View.INVISIBLE);
+            if (TitleText != null) {
+                TitleText.setVisibility(View.VISIBLE);
+                TitleText.bringToFront();
+            }
+        } else if (edit_state == EDIT_STATE.Edit) {
+            if (EditBtn != null) EditBtn.setImageChange(R.drawable.btn_edit_ok_normal, R.drawable.btn_edit_ok_pressed);
+            if (nameEditText != null) {
+                nameEditText.setText(TitleText.getText().toString());
+                nameEditText.setVisibility(View.VISIBLE);
+                nameEditText.bringToFront();
+            }
+            if (TitleText != null) TitleText.setVisibility(View.INVISIBLE);
+        } else {
+            Log.w(TAG, "[setEditStatus] Not invalid EDIT_STATE [" + edit_state + "]");
+        }
+    }
+
     // =================================================================================================
     // [[ Draw ]] region
     // =================================================================================================
@@ -887,6 +1015,16 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
             if (roomData.SetTemp <= minRange) roomData.SetTemp = minRange;
         }
     }
+    private void setPopupResult() {
+        Intent data = new Intent();
+
+        // SCREEN
+        data.putExtra("SCREEN", ID.screen.SystemAirconPopupScreen);
+        data.putExtra("REFRESH", true);
+
+        super.setPopupResult(data);
+    }
+
 
     // =================================================================================================
     // [[ Sample ]] region

+ 7 - 6
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2MainScreen.java

@@ -354,7 +354,7 @@ public class HeatingV2MainScreen extends WpadScreen {
         nDistributionPanelType = wds.Get_DistributionPannelType_Info();
         wds.closeDB();
 
-        if (nDistributionPanelType == Version.DISTRIBUTION_MODEL.KNX_DIST) astrRoomTitle = mKNXDefaultRoomNameList;
+        if (roomNameList==null) astrRoomTitle = mKNXDefaultRoomNameList;
         else astrRoomTitle = roomNameList;
 
         Log.i(TAG, "[HeatingV2MainScreen] astrRoomTitle: " + Arrays.toString(astrRoomTitle));
@@ -645,7 +645,7 @@ public class HeatingV2MainScreen extends WpadScreen {
                         wallpadStatusData.closeDB();
                         for (int i = 0; i < astrRoomTitle.length; i++) {
 //                            Log.d(TAG, "[onPopupResult] astrRoomTitle [" + i + "] = " + astrRoomTitle[i]);
-                            drawRoomTitle(i, astrRoomTitle[i]);
+                            drawEntireRoomTitle(i);
                         }
                         ((MainActivity)mContext).mRoomNameList_Heating = astrRoomTitle;
                     }
@@ -822,11 +822,12 @@ public class HeatingV2MainScreen extends WpadScreen {
                 data.putExtra("ROOM_NAME_ARRAY", astrRoomTitle);
 
                 if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
-                    data.putExtra("ROOM_COUNT", mData.heatingV2.Device.info.RoomCount);
+                    int nRoomCount =  mData.heatingV2.Device.info.RoomCount;
+                    data.putExtra("ROOM_COUNT", nRoomCount);
 
-                    double [] CurTempArray = new double [] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-                    double [] SetTempArray = new double [] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-                    byte   [] ModeArray    = new byte   [] { 0, 0, 0, 0, 0, 0 };
+                    double [] CurTempArray = new double [nRoomCount];
+                    double [] SetTempArray = new double [nRoomCount];
+                    byte   [] ModeArray    = new byte   [nRoomCount];
 
                     for (int i=0 ; i<mData.heatingV2.Device.info.RoomCount ; i++) {
                         CurTempArray[i] = mData.heatingV2.Device.Room[i].NowTemp;

+ 101 - 28
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2PopupScreen.java

@@ -271,14 +271,12 @@ public class HeatingV2PopupScreen extends WpadScreen {
             RoomNameArray = intent.getStringArrayExtra("ROOM_NAME_ARRAY");
             if (RoomNameArray != null) {
                 mRoomNameList = RoomNameArray;
+                originRoomName = mRoomNameList[mCurrentRoomIndex];
             }
             Log.d(TAG, "[HeatingV2PopupScreen] mRoomNameList.length [" + mRoomNameList.length + "]");
-            for (int i = 0; i < mRoomNameList.length; i++) {
-                Log.i(TAG, "[HeatingV2PopupScreen] mRoomNameList[" + i + "]: " + mRoomNameList[i]);
-            }
 
             if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
-                byte RoomCNT = intent.getByteExtra("ROOM_COUNT", (byte) 0);
+                int RoomCNT = intent.getIntExtra("ROOM_COUNT", 0);
 
                 Sample_DataDefaultSetting(RoomCNT);        // 0 대외, 1 현산
                 double[] CurTempArray = intent.getDoubleArrayExtra("CURTEMP_ARRAY");
@@ -731,7 +729,7 @@ public class HeatingV2PopupScreen extends WpadScreen {
                     DebugLogOutput("onTouchEvent [EXIT] BUTTON !!!");
                     Sound().Play(SND.effect.TOUCH_LATCHED);
 
-                    if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) Sample_setPopupResult();
+                    //if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) Sample_setPopupResult();
                     if (edit_state == EDIT_STATE.Normal) setPopupResult();
                     super.finish();
                 }
@@ -2030,44 +2028,119 @@ public class HeatingV2PopupScreen extends WpadScreen {
      *
      * @param RoomCnt - (int) 설정할 Room 개수
      */
-    private void Sample_DataDefaultSetting(byte RoomCnt) {
-        mData.heatingV2.Device.SetRoomCount(RoomCnt);
+    private void Sample_DataDefaultSetting(int RoomCnt) {
+        mData.heatingV2 = new HeatingV2API.Data();
+        byte RoomCount = (byte) RoomCnt;
+        mData.heatingV2.Device.SetRoomCount(RoomCount);
+
         HeatingV2.Info info = mData.heatingV2.Device.info;
         if (Version.getGatewayUsage()) {
+            // 현산향 (게이트웨이 사용)
             info.Support.SetTempPoint05 = true;           // 설정온도단위 (true:0.5도 , false:1도)
-            info.Support.Outing = false;          // 외출 : 난방모드 외출 기능 지원여부 (true:지원, false:미지원)
-            info.Support.Sleep = true;           // 취침 : 취침 관련 프로토콜 지원여부 (true:지원, false:미지원)
-            info.Support.Reservation = true;           // 예약 : 24시간예약 관련 프로토콜 지원여부
-            info.Support.Pause = true;           // 일시정지 : 난방모드 일시정지 기능 지원여부
+            info.Support.Outing         = false;          // 외출 : 난방모드 외출 기능 지원여부 (true:지원, false:미지원)
+            info.Support.Sleep          = true;           // 취침 : 취침 관련 프로토콜 지원여부 (true:지원, false:미지원)
+            info.Support.Reservation    = true;           // 예약 : 24시간예약 관련 프로토콜 지원여부
+            info.Support.Pause          = true;           // 일시정지 : 난방모드 일시정지 기능 지원여부
 
-            info.Support.AI = true;           // 인공지능 : 난방운전방식중 인공지능 설정 기능 지원여부
+            info.Support.AI             = true;           // 인공지능 : 난방운전방식중 인공지능 설정 기능 지원여부
             info.Support.OutsideTempUse = true;           // 외기온도 : 외기온도 사용여부
-            info.Support.Boiler = true;           // 보일러지원 : 보일러 지원여부
+            info.Support.Boiler         = true;           // 보일러지원 : 보일러 지원여부
 
-            info.Support.MinSetTemp = 5;              // 지원하는 최저설정온도
-            info.Support.MaxSetTemp = 40;             // 지원하는 최대설정온도
+            info.Support.MinSetTemp     = 5;              // 지원하는 최저설정온도
+            info.Support.MaxSetTemp     = 40;             // 지원하는 최대설정온도
         }
         else {
+            // 대외향 (게이트웨이 미사용)
             info.Support.SetTempPoint05 = true;           // 설정온도단위 (true:0.5도 , false:1도)
-            info.Support.Outing = true;           // 외출 : 난방모드 외출 기능 지원여부 (true:지원, false:미지원)
-            info.Support.Sleep = false;          // 취침 : 취침 관련 프로토콜 지원여부 (true:지원, false:미지원)
-            info.Support.Reservation = false;          // 예약 : 24시간예약 관련 프로토콜 지원여부
-            info.Support.Pause = false;          // 일시정지 : 난방모드 일시정지 기능 지원여부
+            info.Support.Outing         = true;           // 외출 : 난방모드 외출 기능 지원여부 (true:지원, false:미지원)
+            info.Support.Sleep          = false;          // 취침 : 취침 관련 프로토콜 지원여부 (true:지원, false:미지원)
+            info.Support.Reservation    = false;          // 예약 : 24시간예약 관련 프로토콜 지원여부
+            info.Support.Pause          = false;          // 일시정지 : 난방모드 일시정지 기능 지원여부
 
-            info.Support.AI = false;          // 인공지능 : 난방운전방식중 인공지능 설정 기능 지원여부
+            info.Support.AI             = false;          // 인공지능 : 난방운전방식중 인공지능 설정 기능 지원여부
             info.Support.OutsideTempUse = false;          // 외기온도 : 외기온도 사용여부
-            info.Support.Boiler = false;          // 보일러지원 : 보일러 지원여부
+            info.Support.Boiler         = false;          // 보일러지원 : 보일러 지원여부
 
-            info.Support.MinSetTemp = 5;              // 지원하는 최저설정온도
-            info.Support.MaxSetTemp = 40;             // 지원하는 최대설정온도
+            info.Support.MinSetTemp     = 5;              // 지원하는 최저설정온도
+            info.Support.MaxSetTemp     = 40;             // 지원하는 최대설정온도
         }
 
-        for (byte i = 0; i < info.RoomCount; i++) {
-            mData.heatingV2.Device.Room[i].Sleep.setTemp((byte) 1);
-            mData.heatingV2.Device.Room[i].Sleep.setTime((byte) 1);
-        }
+        for (byte i = 0; i < mData.heatingV2.Device.info.RoomCount; i++) {
+            boolean ON = false;
+            HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[i];
+            switch (i) {
+                case 0:
+                case 7:
+                    roomData.Mode = HeatingV2.MODE.HeatingON;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    ON = true;
+                    break;
+
+                case 1:
+                case 8:
+                    roomData.Mode = HeatingV2.MODE.HeatingON;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    ON = true;
+                    break;
+
+                case 2:
+                case 9:
+                    if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) roomData.Mode = HeatingV2.MODE.Pause;
+                    else roomData.Mode = HeatingV2.MODE.Outing;
+
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+
+                    break;
+
+                case 3:
+                case 10:
+                    roomData.Mode = HeatingV2.MODE.HeatingOFF;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    break;
 
-        //mData.heatingV2.Device.info = info;
+                case 4:
+                case 11:
+                    if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) roomData.Mode = HeatingV2.MODE.Sleep;
+                    else roomData.Mode = HeatingV2.MODE.HeatingON;
+
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    ON = true;
+                    break;
+
+                case 5:
+                case 12:
+                    if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) {
+                        roomData.Mode = HeatingV2.MODE.Reservation;
+                        ON = true;
+                    }
+                    else {
+                        roomData.Mode = HeatingV2.MODE.HeatingOFF;
+                    }
+
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    break;
+
+                case 6:
+                case 13:
+                    roomData.Mode = HeatingV2.MODE.HeatingON;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
+                    ON = true;
+                    break;
+            }
+
+            if (ON) {
+                if (roomData.NowTemp < roomData.SetTemp) roomData.bValveStatus = true;
+                else roomData.bValveStatus = false;
+            }
+            else roomData.bValveStatus = false;
+        }
     }
 
     /**

+ 2 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupTestScreen.java

@@ -691,6 +691,8 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
      */
     @Override
     protected void onOutSideTouchExit() {
+        Intent data = new Intent();
+        super.setPopupResult(data);
         super.onOutSideTouchExit();
     }
 

+ 3 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/KnxSystemAirconMainTestScreen.java

@@ -396,7 +396,6 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
                 int[] mPageFontSize = {Common.fontsize._36, Common.fontsize._44};
                 PageNumText = new WpadTextView(getContext(), false, 264, 110, Gravity.CENTER, Color.WHITE, mPageFontSize[UX_MODE], false, ID.KnxSystemAirconMain.text.PAGE_TEXT);
                 ViewRegistration(getLayout(), PageNumText, Common.ImgPosion.GetX(372), Common.ImgPosion.GetY(670));
-                PageNumText.setText(CurrentPageNum + "/" + TotalPageNum);
 
                 AlarmText = new WpadTextView(getContext(), false, 880, 110, Gravity.CENTER, Color.WHITE, mPageFontSize[UX_MODE], false, ID.PurityMain.text.ALARM_TEXT);
                 ViewRegistration(getLayout(), AlarmText, Common.ImgPosion.GetX(60), Common.ImgPosion.GetY(375));
@@ -405,6 +404,8 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
                 roomView = new KnxSystemAirconMainTestScreen.RoomView[info.InsideAirconCount];
 
                 CurrentPageNum = 1;
+
+                PageNumText.setText(CurrentPageNum + "/" + TotalPageNum);
             }
             Draw_CurrentPage(info, (CurrentPageNum - 1) * ROOM_CNT);
             Draw_Update(Common.INDEX_ALL);
@@ -483,7 +484,7 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
                                     updateData();
                                 }
                             };
-                            timer.schedule(TT, 500, 2000); //Timer 실행
+                            timer.schedule(TT, 500, 9500); //Timer 실행
                         }
                         else if(resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.

+ 1 - 1
WallPadMain/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="kr.co.icontrols.wallpadmain"
     android:versionCode="17"
-    android:versionName="2021.08.09.02">
+    android:versionName="2021.11.15.01">
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>