Jelajahi Sumber

QA 이슈 수정, 메뉴명 변경,

jslee(madeinlab) 3 tahun lalu
induk
melakukan
c76e9ed4cc

TEMPAT SAMPAH
WallPadAPI/jar/WallPadAPI.jar


+ 4 - 3
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/wallpaddbmgr.java

@@ -2637,9 +2637,10 @@ public class wallpaddbmgr {
             InsertinitWidgetData(3, define.ICONS.MENUS.TALK_VISITORPIC.getID());
             InsertinitWidgetData(4, define.ICONS.MENUS.SETTING_CLREANSCREEN.getID());
             InsertinitWidgetData(5, define.ICONS.MENUS.SETTING_CONFIG.getID());
-            InsertinitWidgetData(6, define.ICONS.MENUS.SETTING_PWCHANGE.getID());
-            InsertinitWidgetData(7, define.ICONS.MENUS.SETTING_CALENDAR.getID());
-            InsertinitWidgetData(8, define.ICONS.MENUS.ADD_WEATHER.getID());
+            InsertinitWidgetData(6, define.ICONS.MENUS.SETTING_CALENDAR.getID());
+            InsertinitWidgetData(7, define.ICONS.MENUS.ADD_WEATHER.getID());
+            InsertinitWidgetData(8, define.ICONS.MENUS.ENERGY_REMOTEMETER.getID());
+            InsertinitWidgetData(9, define.ICONS.MENUS.ENERGY_ENERGYCONSUMPTION.getID());
         }
         else if (mModelType == Version.MODEL_TYPE.IHN_HS101 || mModelType == Version.MODEL_TYPE.IHN_HS101_I) {
             InsertinitWidgetData(0, define.ICONS.MENUS.MAIN_CALRENDAR.getID());   // 달력/시계

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

@@ -89,7 +89,7 @@ public final class API_Menu
         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_EnergyMgr = "에너지 생산량";              //에너지 사용량-> 생산량
         public final static String Name_RemoteMeter       = "전기 에너지 현황"; //원격검침 ->
         public final static String Name_EachRoomEnergy = "각방 에너지"; // I에너지 -> 각방 에너지
         public final static String Name_CostTable         = "요금 테이블";

+ 2 - 2
WallPadAPI/src/main/java/com/artncore/commons/define.java

@@ -591,8 +591,8 @@ public class define {
 			SECURITY_VISITORVIDEO(MENU_SECURITY + 5, "방문자영상", "Visitor video"),
 
 			ENERGY_ENERGYMETER(MENU_ENERGY + 1, "에너지미터", "Energy meter"),
-			ENERGY_REMOTEMETER(MENU_ENERGY + 2, "원격검침", "Remote meter"),
-			ENERGY_ENERGYCONSUMPTION(MENU_ENERGY + 3, "에너지 사용향", "Energy consumption"),
+			ENERGY_REMOTEMETER(MENU_ENERGY + 2, "전기 에너지\n현황", "Remote meter"),
+			ENERGY_ENERGYCONSUMPTION(MENU_ENERGY + 3, "에너지\n생산량", "Energy consumption"),
 			ENERGY_ENERGYCOSTTABLE(MENU_ENERGY + 4, "에너지 요금제", "Cost table"),
 			ENERGY_SMARTPANEL(MENU_ENERGY + 5, "스마트 분전반", "Smart Panel"),   // Distribution Panel Board
 			ENERGY_SMARTLIGHT(MENU_ENERGY + 6, "스마트 조명", "Smart Light"),

+ 3 - 1
WallPadConfig/src/main/java/kr/co/icontrols/wallpadconfig/MainActivity.java

@@ -342,7 +342,9 @@ public class MainActivity extends WpadActivity
         mChildList = new ArrayList<Integer>();
         mChildList.add(API_Menu.SubMenuConfig.Configuration);
         mChildList.add(API_Menu.SubMenuConfig.CleanLcd);
-        mChildList.add(API_Menu.SubMenuConfig.PassWordChange);
+        if (Version.getModelType() != Version.MODEL_TYPE.IHN_1010_I_LX2) {
+            mChildList.add(API_Menu.SubMenuConfig.PassWordChange);
+        }
         //mChildList.add(API_Menu.SubMenuConfig.SkinChange);
         //mChildList.add(API_Menu.SubMenuConfig.MorningCall);
         mChildList.add(API_Menu.SubMenuConfig.TimeSetting);

+ 2 - 4
WallPadDevService/src/main/java/com/artncore/wallpaddevservice/driver/Cooktop_Controller.java

@@ -1542,7 +1542,6 @@ public class Cooktop_Controller extends DeviceManager {
         CooktopCtrl.Circuit[] OldCircuit = mDriver.Device[deviceIdx].circuit;
 
         while (true) {
-
             // Count
             if (OldCircuit.length != circuit.length) {
                 Log.w(TAG, "[updateVariables] Device Change !!! Circuit Cnt is different!!!");
@@ -1551,7 +1550,6 @@ public class Cooktop_Controller extends DeviceManager {
                 break;
             }
 
-
             // 변화체크
             for (byte i = 0; i < OldCircuit.length; i++) {
                 if(OldCircuit[i]== null){bChanged = true;break;}
@@ -1562,11 +1560,10 @@ public class Cooktop_Controller extends DeviceManager {
             }
 
             if (bChanged) break;
-
             break;
         }
 
-
+        /* 가스누출, 화재발생 알람 막음.
         // 이상상태 체크
         for (byte i = 0; i < circuit.length; i++) {
 
@@ -1668,6 +1665,7 @@ public class Cooktop_Controller extends DeviceManager {
             }
 
         }
+        */
 
 
         if (bChanged || bNotify) {

+ 68 - 31
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupTestScreen.java

@@ -167,6 +167,7 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
     public String ReserveUse = "";
 
     private final int DEVICE_CMD_TEMP_CHANGE = 10000;
+    private final int DRAW_CMD_DELAY_CHANGE = 10000;
 
     HeatingData heatingData;
 
@@ -175,9 +176,26 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
     // =================================================================================================
 
     /**
-     * 제어함수 시작
+     * 화면갱신이 응답 딜레이로 인해 늦게 반영되는 경우를 막기위해 반복적으로 응답이 오는 경우 스킵함
+     *
+     * @return (boolean) true : 성공 , false : 실패
      */
+    private boolean drawSetDelayed(int delayTime) {
+        // 1. 핸들러 null 체크
+        if (mDrawSetHandler == null) return false;
+
+        // 2. 이전 기록이 있을 경우 메시지를 삭제한다.
+        mDrawSetHandler.removeMessages(DRAW_CMD_DELAY_CHANGE);
+
+        // 4. 핸들러에 메시지 전송
+        mDrawSetHandler.sendEmptyMessageDelayed(DRAW_CMD_DELAY_CHANGE, delayTime);
 
+        return true;
+    }
+
+    /**
+     * 제어함수 시작
+     */
     private void makeDeviceData(JSONObject jsonObject) {
         try {
             Gson gson = new Gson();
@@ -214,7 +232,6 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
             info.Support.OutsideTempUse = heatingData.getSupportOutSideTempUse();
             info.Support.Boiler = heatingData.getSupportBoiler();
 
-            DebugLogOutput("[Sample_DataDefaultSetting] info.RoomCount [" + mData.heatingV2.Device.info.RoomCount + "]");
             for (byte i = 0; i < mData.heatingV2.Device.info.RoomCount; i++) {
                 DataClasses.HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[i];
                 HeatingArrayData heatingArrayData = gson.fromJson(jsonArray.get(i).toString(), HeatingArrayData.class);
@@ -234,7 +251,7 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
         } catch (Exception e) {
-            Log.e(TAG, "[Exception] Sample_DataDefaultSetting()");
+            Log.e(TAG, "[Exception] makeDeviceData()");
             //e.printStackTrace();
             LogUtil.errorLogInfo("", TAG, e);
         }
@@ -263,7 +280,6 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
             timer.purge();
     }
 
-
     private void requestMultiCommand(int kind, int reason, int position, String category, int number, int state) {
         resetTimer();
         position = ROOM_POS[position];
@@ -295,6 +311,8 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
     Timer timer;
     TimerTask TT;
 
+    static int delayTime = 800;
+
     @SuppressLint("HandlerLeak")
     final Handler handler = new Handler() {
         Gson gson = new Gson();
@@ -310,9 +328,10 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
                         ResultData resultData = gson.fromJson(jsonObject.toString(), ResultData.class);
                         if (resultData.getType().equals("controlResponse") && resultData.getResult().equals("ok")) {
                             //제어 명령을 내리고 제대로 응답이 오면 상태를 다시 조회해서 UI 갱신하도록 한다.
-                            Sound().Play(SND.effect.TOUCH_LATCHED);
+                            //Sound().Play(SND.effect.TOUCH_LATCHED);
                             //startRefreshTimer(500);
-                            updateData();
+                            //updateData();
+                            drawSetDelayed(delayTime);
                         } else if (resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
                             makeDeviceData(jsonObject);
@@ -834,72 +853,66 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
             ////////////////////////////////////////////////////
             if (MoveEvent == MotionEvent.ACTION_UP) {
                 if (TargetId == ID.heatingV2Popup.tabDefault.button.ONOFF) {
-                    DebugLogOutput("onTouchEvent [DefaultTab-ONOFF] BUTTON !!!");
-
-
                     byte ChangeMode = HeatingV2.MODE.HeatingOFF;
                     if (!Data_DriveModeConverterOnOff((byte) this.mCurrentRoomIndex))
                         ChangeMode = HeatingV2.MODE.HeatingON;
                     //난방 개별 제어.
+                    delayTime = 100;
                     requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, this.mCurrentRoomIndex, "set_mode", 0, ChangeMode);
                     //Sample_ControlMode((byte) this.mCurrentRoomIndex, ChangeMode);
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.HEATING) {
-                    DebugLogOutput("onTouchEvent [DefaultTab-HEATING] BUTTON !!!");
-
-
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.HEATING) {
                     if (Data_getDriveMode((byte) mCurrentRoomIndex) != HeatingV2.MODE.HeatingON) {
 
                         byte ChangeMode = HeatingV2.MODE.HeatingON;
                         //난방 개별 제어.
+                        delayTime = 100;
                         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, this.mCurrentRoomIndex, "set_mode", 0, ChangeMode);
                         //Sample_ControlMode((byte) this.mCurrentRoomIndex, ChangeMode);
                     }
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.RESERVATION) {
-                    DebugLogOutput("onTouchEvent [DefaultTab-RESERVATION] BUTTON !!!");
-
-
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.RESERVATION) {
                     if (Data_getDriveMode((byte) mCurrentRoomIndex) != HeatingV2.MODE.Reservation) {
                         byte ChangeMode = HeatingV2.MODE.Reservation;
 
                         //난방 개별 제어.
+                        delayTime = 100;
                         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, this.mCurrentRoomIndex, "set_mode", 0, ChangeMode);
                         //Sample_ControlMode((byte) this.mCurrentRoomIndex, ChangeMode);
                     }
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.SLEEP) {
-                    DebugLogOutput("onTouchEvent [DefaultTab-SLEEP] BUTTON !!!");
-
-
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.SLEEP) {
                     if (Data_getDriveMode((byte) mCurrentRoomIndex) != HeatingV2.MODE.Sleep) {
                         byte ChangeMode = HeatingV2.MODE.Sleep;
 
                         //난방 개별 제어.
+                        delayTime = 100;
                         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, this.mCurrentRoomIndex, "set_mode", 0, ChangeMode);
                         //Sample_ControlMode((byte) this.mCurrentRoomIndex, ChangeMode);
                     }
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.OUTING) {
-                    DebugLogOutput("onTouchEvent [DefaultTab-OUTING] BUTTON !!!");
-
-
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.OUTING) {
                     if (Data_getDriveMode((byte) mCurrentRoomIndex) != HeatingV2.MODE.Outing) {
                         byte ChangeMode = HeatingV2.MODE.Outing;
                         //난방 개별 제어.
+                        delayTime = 100;
                         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, this.mCurrentRoomIndex, "set_mode", 0, ChangeMode);
                         //Sample_ControlMode((byte) this.mCurrentRoomIndex, ChangeMode);
                     }
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.TEMP_UP) {
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.TEMP_UP) {
                     DebugLogOutput("onTouchEvent [DefaultTab-TEMP_UP(short)] BUTTON !!!");
                     //Sound().Play(SND.effect.TOUCH_LATCHED);
                     Data_TempUpDn(true);
                     Device_TempSetDelayed(10);
-                    //Sample_ChangeValveReflect();
-                    //drawUpdate((byte) mCurrentRoomIndex);
-                } else if (TargetId == ID.heatingV2Popup.tabDefault.button.TEMP_DN) {
+                    drawUpdate((byte) mCurrentRoomIndex);
+                }
+                else if (TargetId == ID.heatingV2Popup.tabDefault.button.TEMP_DN) {
                     DebugLogOutput("onTouchEvent [DefaultTab-TEMP_DN(short)] BUTTON !!!");
                     //Sound().Play(SND.effect.TOUCH_LATCHED);
                     Data_TempUpDn(false);
                     Device_TempSetDelayed(10);
-                    //Sample_ChangeValveReflect();
-                    //drawUpdate((byte) mCurrentRoomIndex);
+                    drawUpdate((byte) mCurrentRoomIndex);
                 }
             } else if (MoveEvent == MotionEvent.ACTION_POINTER_DOWN) {
                 if (TargetId == ID.heatingV2Popup.tabDefault.button.TEMP_UP) {
@@ -1408,6 +1421,7 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
     private void Device_ControlTemp(byte RoomIdx, double setTemp) {
         DebugLogOutput("[Device_ControlTemp] - (RoomIdx:" + RoomIdx + ", setTemp:" + setTemp + ")");
         //난방 개별 제어.
+        delayTime = 800;
         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, RoomIdx, "set_temp", 0, setTemp);
         //return Device_SetEachRoomStatus(RoomIdx, HeatingV2.MODE.Idle, setTemp);
     }
@@ -1456,6 +1470,27 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         }
     }
 
+    /**
+     * 화면 갱신을 일정시간 이후 제어할수 있도록 만드는 핸들러
+     */
+    private Handler mDrawSetHandler = new Handler() {
+        @SuppressLint("HandlerLeak")
+        @Override
+        public void handleMessage(Message msg) {
+            try {
+                if (msg.what == DRAW_CMD_DELAY_CHANGE) {
+                    Sound().Play(SND.effect.TOUCH_LATCHED);
+                    updateData();
+                }
+            } catch (RuntimeException re) {
+                LogUtil.errorLogInfo("", TAG, re);
+            } catch (Exception e) {
+                Log.w(TAG, "[mDrawSetHandler] - Exception");
+                LogUtil.errorLogInfo("", TAG, e);
+            }
+        }
+    };
+
     /**
      * 설정온도제어를 일정시간 이후 제어할수 있도록 만드는 핸들러
      */
@@ -1565,6 +1600,7 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         int newIndex = ROOM_POS[mCurrentRoomIndex];
 
         //난방 개별 제어.
+        delayTime = 100;
         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, mCurrentRoomIndex, "set_reservation", 0,
                 mData.heatingV2.Device.Room[newIndex].Reservation.getInt());
         //Device_SetReservation((byte) mCurrentRoomIndex,
@@ -1592,6 +1628,7 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         mData.ChangeSleepTime = false;
 
         //난방 개별 제어.
+        delayTime = 100;
         requestMultiCommand(JSON.KIND.Individual, JSON.REASON.Control, mCurrentRoomIndex, "set_sleep", SetTime, SetTemp);
 
         //Device_SetSleep((byte) mCurrentRoomIndex, SetTemp, SetTime);

+ 25 - 15
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/KnxSystemAirconPopupTestScreen.java

@@ -96,6 +96,8 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
 
     AirconData airconData;
 
+    boolean bTouchButton = false;
+
 
     /**
      * 제어함수 시작
@@ -387,9 +389,7 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
     protected void onClose() {
 
         // (노말모드) 설정온도 변경이 있었을 경우 설정온도 셋팅 //maidinLab 온도뿐 아니라 다른 설정도 close시에 적용되도록 한다.
-        if (OPERATION_MODE == Common.MODE_NOMAL) {
-            Device_NowAllSet();
-        } else {
+        if (OPERATION_MODE == Common.MODE_NOMAL && bTouchButton) {
             Device_NowAllSet();
         }
 
@@ -432,7 +432,8 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
                 if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) Sample_setPopupResult();
                 setPopupResult();
                 super.finish();
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_PREV) {
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_PREV) {
                 DebugLogOutput("onTouchEvent [ROOM_PREV] BUTTON !!!");
                 //Sound().Play(SND.effect.TOUCH_LATCHED);
                 Device_NowAllSet();  //방이동시 변경사항 적용.
@@ -442,7 +443,8 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
                 mCurrentRoomIndex = ROOM_POS[mCurrentOriginRoomIndex];
                 Draw_TitleChange(mCurrentRoomIndex);
                 Draw_Update((byte) mCurrentRoomIndex);
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_NEXT) {
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.ROOM_NEXT) {
                 DebugLogOutput("onTouchEvent [ROOM_PREV] BUTTON !!!");
                 //Sound().Play(SND.effect.TOUCH_LATCHED);
                 Device_NowAllSet();  //방이동시 변경사항 적용.
@@ -452,8 +454,10 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
                 mCurrentRoomIndex = ROOM_POS[mCurrentOriginRoomIndex];
                 Draw_TitleChange(mCurrentRoomIndex);
                 Draw_Update((byte) mCurrentRoomIndex);
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.ONOFF) {
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.ONOFF) {
                 // 각방 ON/OFF 클릭
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 byte hOnOff = mData.systemAircon.Device.Aircon[mCurrentRoomIndex].OnOff;
                 if (hOnOff == KnxSystemAircon.ONOFF.AirconOFF)
@@ -463,29 +467,35 @@ public class KnxSystemAirconPopupTestScreen extends WpadScreen {
                 KnxSystemAircon.AirData roomData = mData.systemAircon.Device.Aircon[mCurrentRoomIndex];
                 roomData.OnOff = hOnOff;
                 Draw_OnOffChange((byte) hOnOff); // 운전모드 표시
-            } else if ((nTargetId >= ID.KNxSystemAirconPopup.button.MODE_1) && (nTargetId <= ID.KNxSystemAirconPopup.button.MODE_5)) {
+            }
+            else if ((nTargetId >= ID.KNxSystemAirconPopup.button.MODE_1) && (nTargetId <= ID.KNxSystemAirconPopup.button.MODE_5)) {
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 int index = nTargetId - ID.KNxSystemAirconPopup.button.MODE_1;
                 Data_ModeChange(nTargetId);
                 DebugLogOutput("[onTouchEvent] MODE_" + (index + 1) + " BUTTON !!!");
 
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.VOLUME_ENC) {
-                DebugLogOutput("[onTouchEvent] VOLUME UP BUTTON !!!");
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.VOLUME_ENC) {
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 Data_VolumeUpDn(true);
                 Draw_Update((byte) mCurrentRoomIndex);
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.VOLUME_DEC) {
-                DebugLogOutput("[onTouchEvent] VOLUME DOWN BUTTON !!!");
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.VOLUME_DEC) {
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 Data_VolumeUpDn(false);
                 Draw_Update((byte) mCurrentRoomIndex);
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.TEMP_ENC) {
-                DebugLogOutput("[onTouchEvent] TEMP UP BUTTON !!!");
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.TEMP_ENC) {
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 Data_SetTempUpDn(true);
                 Draw_Update((byte) mCurrentRoomIndex);
-            } else if (nTargetId == ID.KNxSystemAirconPopup.button.TEMP_DEC) {
-                DebugLogOutput("[onTouchEvent] TEMP DOWN BUTTON !!!");
+            }
+            else if (nTargetId == ID.KNxSystemAirconPopup.button.TEMP_DEC) {
+                bTouchButton = true;
                 Sound().Play(SND.effect.TOUCH_LATCHED);
                 Data_SetTempUpDn(false);
                 Draw_Update((byte) mCurrentRoomIndex);

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

@@ -552,7 +552,8 @@ public class VentilationMainTestScreen extends WpadScreen {
                         ResultData resultData = gson.fromJson(jsonObject.toString(), ResultData.class);
                         if (resultData.getType().equals("controlResponse") && resultData.getResult().equals("ok")) {
                             //제어 명령을 내리고 제대로 응답이 오면 상태를 다시 조회해서 UI 갱신하도록 한다.
-                            startRefreshTimer(500);
+                            Sound().Play(SND.effect.TOUCH_LATCHED);
+                            startRefreshTimer(800);
                         } else if (resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
                             if(timer!=null) {
@@ -620,7 +621,7 @@ public class VentilationMainTestScreen extends WpadScreen {
                     updateData();
                 }
             };
-            timer.schedule(TT, delay, 3000); //Timer 실행
+            timer.schedule(TT, delay, 2500); //Timer 실행
         }catch (Exception e){}
     }
 

+ 22 - 9
WallPadMultiControlService/src/main/java/kr/co/icontrols/wallpadmulticontrolservice/DataSenderService.java

@@ -2028,6 +2028,9 @@ public class DataSenderService extends Service {
                         }
                     } else if (mWallPadAPI.GetGasKind() == 2) {
                         // 하이브리드 쿡탑
+                        strResult += "         <devinfo name=\"gas\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
+                        strResult += "         <devinfo name=\"cooktop\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
+                        /*
                         if (mCooktopAPI != null) {
                             int nGas = 0;
                             int nOutlet = 0;
@@ -2040,11 +2043,13 @@ public class DataSenderService extends Service {
                             strResult += "         <devinfo name=\"gas\" value=\"" + nGas + "\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                             strResult += "         <devinfo name=\"cooktop\" value=\"" + nOutlet + "\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                         }
+                         */
                     } else {
                         strResult += "         <devinfo name=\"gas\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                         strResult += "         <devinfo name=\"cooktop\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("doorlock")) {
+                }
+                else if (devlist[i].equals("doorlock")) {
                     try {
                         if ((DoorLockInfo[0] == 1) && (DoorLockInfo[1] == WallpadDeviceSet.DOORLOCK_TYPE_NORMAL)) {
                             strResult += "         <devinfo name=\"doorlock\" value=\"1\" order=\"1\" floor=\"" + index + "\"/>\r\n";
@@ -2059,7 +2064,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"doorlock\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("light")) {
+                }
+                else if (devlist[i].equals("light")) {
                     try {
                         if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_LX2
                                 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K_I
@@ -2074,7 +2080,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"light\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("livinglight")) {
+                }
+                else if (devlist[i].equals("livinglight")) {
                     try {
 
                         if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_LX2
@@ -2091,7 +2098,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"livinglight\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("ventil")) {
+                }
+                else if (devlist[i].equals("ventil")) {
                     try {
                         if (Ventilinfo[0] == 0)
                             strResult += "    <devinfo name=\"ventil\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
@@ -2105,7 +2113,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"ventil\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("thermostat")) {
+                }
+                else if (devlist[i].equals("thermostat")) {
                     try {
                         byte RoomCount = 0;
                         if (mHeatingV2API != null) {
@@ -2124,7 +2133,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"thermostat\" value=\"0\" order=\"" + strHeating + "\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("curtain")) {
+                }
+                else if (devlist[i].equals("curtain")) {
                     try {
                         if (Curtaininfo[0] == 0)
                             strResult += "         <devinfo name=\"curtain\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
@@ -2138,7 +2148,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"curtain\" value=\"0\" order=\"1\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("electric")) {
+                }
+                else if (devlist[i].equals("electric")) {
                     try {
                         // 콘센트 처리
                         int BadConcentCount = 0;
@@ -2164,7 +2175,8 @@ public class DataSenderService extends Service {
                         LogUtil.errorLogInfo("", TAG, e);
                         strResult += "         <devinfo name=\"electric\" value=\"0\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("smartlight")) {
+                }
+                else if (devlist[i].equals("smartlight")) {
                     // KNX 조명 처리
                     try {
                         if (mKnxAPI != null) {
@@ -2186,7 +2198,8 @@ public class DataSenderService extends Service {
                     } catch (Exception ek) {
                         strResult += "         <devinfo name=\"smartlight\" value=\"" + 0 + "\" order=\"" + strLight + "\" floor=\"" + index + "\"/>\r\n";
                     }
-                } else if (devlist[i].equals("sysaircon")) {
+                }
+                else if (devlist[i].equals("sysaircon")) {
                     // 에어컨 처리
                     KnxSystemAirconAPI airconAPI = mWallPadAPI.Get_KnxAirconController();
                     if (airconAPI != null) {