Quellcode durchsuchen

콘센트 설정 추가, 사용안함으로 할 경우 아이콘 나오지 않게 하고 모바일에 디바이스 정보 전달하지 않음.
DB Close 되지 않은 부분 처리. 주차출입문 아이콘 처리.

jslee(madeinlab) vor 3 Jahren
Ursprung
Commit
731bf0776d
29 geänderte Dateien mit 181 neuen und 91 gelöschten Zeilen
  1. BIN
      ManagerSetting/libs/WallPadAPI.jar
  2. 7 0
      ManagerSetting/src/main/java/com/artncore/managersetting/dao/MainDatabaseManager.java
  3. 1 0
      ManagerSetting/src/main/java/com/artncore/managersetting/domain/Const.java
  4. 32 0
      ManagerSetting/src/main/java/com/artncore/managersetting/ui/fragments/SettingControllerFragment.java
  5. 1 0
      ManagerSetting/src/main/res/values/strings.xml
  6. BIN
      WallPadAPI/jar/WallPadAPI.jar
  7. 31 0
      WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/WallpadDeviceSet.java
  8. 1 0
      WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/screen/MemoMakeAudio.java
  9. 1 14
      WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/screen/MemoMakeVideo.java
  10. 1 15
      WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/MainActivity.java
  11. 1 1
      WallPadConfig/src/main/java/kr/co/icontrols/wallpadconfig/screen/ConfigCleanLcdMainScreen.java
  12. 1 1
      WallPadEmergency/src/main/java/kr/co/icontrols/wallpademergency/screen/EmergencyMainScreen.java
  13. 3 3
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPIcEnergyMgrScreen.java
  14. 2 2
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPRemoteMeterMainScreen.java
  15. 5 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java
  16. 1 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxMainScreen.java
  17. 1 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/KnxSystemAirconMainTestScreen.java
  18. BIN
      WallPadMain/libs/WallPadAPI.jar
  19. 3 0
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java
  20. 2 0
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/declare/ID.java
  21. 1 1
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/popup/MorningCall.java
  22. 12 3
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/IconManager.java
  23. 12 6
      WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/iMapServer.java
  24. BIN
      WallPadMain/src/main/res/drawable-ldpi/icon_gargae_normal.png
  25. BIN
      WallPadMain/src/main/res/drawable-ldpi/icon_gargae_pressed.png
  26. BIN
      WallPadMultiControlService/libs/WallPadAPI.jar
  27. 60 41
      WallPadMultiControlService/src/main/java/kr/co/icontrols/wallpadmulticontrolservice/DataSenderService.java
  28. 1 1
      WallPadOutmodeRun/src/main/java/kr/co/icontrols/wallpadoutmoderun/screen/OutModeSecurityRun.java
  29. 1 1
      WallPadSecurity/src/main/java/kr/co/icontrols/wallpadsecurity/manual/SetLinkCtr_Manual.java

BIN
ManagerSetting/libs/WallPadAPI.jar


+ 7 - 0
ManagerSetting/src/main/java/com/artncore/managersetting/dao/MainDatabaseManager.java

@@ -175,6 +175,7 @@ public class MainDatabaseManager {
     public static final int SETTING_ITEM_SUB_DEVICE_VENTI_RESERVATION           = SETTING_ITEM_TYPE_BASE + 230; //환기예약설정
     public static final int SETTING_ITEM_SUB_DEVICE_ROOMNAME_EDIT_USE           = SETTING_ITEM_TYPE_BASE + 231; //방명칭수정
     public static final int SETTING_ITEM_SUB_DEVICE_SHADING                     = SETTING_ITEM_TYPE_BASE + 232; //차광제어기
+    public static final int SETTING_ITEM_SUB_DEVICE_CONCENT                     = SETTING_ITEM_TYPE_BASE + 233; //콘센트
 
 
     public static final String[] SUB_DEVICE_ITEM_ID = {
@@ -311,6 +312,7 @@ public class MainDatabaseManager {
             , "환기예약설정"
             , "방명칭수정"
             , "차광제어기"
+            , "콘센트"
     };
 
 
@@ -1394,6 +1396,7 @@ public class MainDatabaseManager {
             case SETTING_ITEM_SUB_DEVICE_VENTI_RESERVATION:
             case SETTING_ITEM_SUB_DEVICE_ROOMNAME_EDIT_USE:
             case SETTING_ITEM_SUB_DEVICE_SHADING:
+            case SETTING_ITEM_SUB_DEVICE_CONCENT:
                 result = SUB_DEVICE_ITEM_ID[itemType - SETTING_ITEM_SUB_DEVICE_GAS];
                 break;
         }
@@ -2112,6 +2115,10 @@ public class MainDatabaseManager {
                         devInfo = "1(1:차광제어기(사용안함))";
                         break;
 
+                    case SETTING_ITEM_SUB_DEVICE_CONCENT:
+                        devInfo = "1(1:콘센트(사용안함))";
+                        break;
+
                 }
             }
         }

+ 1 - 0
ManagerSetting/src/main/java/com/artncore/managersetting/domain/Const.java

@@ -321,6 +321,7 @@ public class Const {
     public static final int CONTROLLER_TYPE_KITCHEN_EM_CTRL_OPTION = CONTROLLER_TYPE_CTRL_USE + 345; // 각실EM제어옵션
 
     public static final int CONTROLLER_TYPE_SHADING = CONTROLLER_TYPE_CTRL_USE + 346; // 차광제어기
+    public static final int CONTROLLER_TYPE_CONCENT = CONTROLLER_TYPE_CTRL_USE + 347; // 콘센트
 
    public static final String CONTENTS_ROOT = "/storage/emulated/0/wallpaddata/";
     //public static final String CONTENTS_ROOT = "/storage/sdcard0/wallpaddata";

+ 32 - 0
ManagerSetting/src/main/java/com/artncore/managersetting/ui/fragments/SettingControllerFragment.java

@@ -221,6 +221,8 @@ public class SettingControllerFragment extends Fragment implements ControllerLis
 
             //차광제어기
             addControllerVO(Const.CONTROLLER_TYPE_SHADING);
+            //콘센트
+            addControllerVO(Const.CONTROLLER_TYPE_CONCENT);
         }
     }
 
@@ -1234,6 +1236,26 @@ public class SettingControllerFragment extends Fragment implements ControllerLis
             }
             break;
 
+            //콘센트 사용여부
+            case Const.CONTROLLER_TYPE_CONCENT:
+            {
+                int concentCount = Const.CONTROLLER_ONOFF_COUNT;
+
+                int concentCurrent = Const.CONTROLLER_SETTING_DO_NOT_USED_INDEX;
+                if (mMainDatabaseManager.isUsedSettingDataSubDev(MainDatabaseManager.SETTING_ITEM_SUB_DEVICE_CONCENT) == false)
+                    concentCurrent = Const.CONTROLLER_SETTING_DO_NOT_USED_INDEX;
+                else
+                    concentCurrent = Const.CONTROLLER_SETTING_DO_USED_INDEX;
+
+                String controllerName = mActivity.getString(R.string.contoller_concent);
+                controllerVO = new ControllerVO(type
+                        , controllerName
+                        , concentCount
+                        , concentCurrent
+                );
+            }
+            break;
+
         }
 
         if (controllerVO != null)
@@ -2065,6 +2087,12 @@ public class SettingControllerFragment extends Fragment implements ControllerLis
             }
             break;
 
+            case Const.CONTROLLER_TYPE_CONCENT:
+            {
+                mMainDatabaseManager.updateSetUsedToSubDeviceOnOff(MainDatabaseManager.SETTING_ITEM_SUB_DEVICE_CONCENT, position);
+            }
+            break;
+
             default:
                 break;
         }
@@ -2239,6 +2267,10 @@ public class SettingControllerFragment extends Fragment implements ControllerLis
                 updateSetUsedToSubDevice(type, position, itemName);
                 break;
 
+            case Const.CONTROLLER_TYPE_CONCENT:
+                updateSetUsedToSubDevice(type, position, itemName);
+                break;
+
             default:
                 break;
         }

+ 1 - 0
ManagerSetting/src/main/res/values/strings.xml

@@ -663,6 +663,7 @@
     -->
 
     <string name="contoller_shading">차광제어기</string>
+    <string name="contoller_concent">콘센트</string>
 
 
     <string name="detail_function_shaindg_group_edit_use">차광제어기 방설정</string>

BIN
WallPadAPI/jar/WallPadAPI.jar


+ 31 - 0
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/WallpadDeviceSet.java

@@ -1333,6 +1333,37 @@ public class WallpadDeviceSet extends wallpaddbmgr {
 		}
 	}
 
+	public int Get_Concent_Info()
+	{
+		String[] GetData = GetSettingData("콘센트");
+
+		int returnData = 1;
+		try
+		{
+			if (GetData == null) return returnData;
+
+			if (GetData[1].indexOf("사용함") > 0) returnData = 1;
+			else
+			{
+				returnData = 0;
+				return returnData;
+			}
+
+			return returnData;
+		}
+		catch (RuntimeException re) {
+			LogUtil.errorLogInfo("", TAG, re);
+			returnData = 1;
+			return  returnData;
+		}
+		catch (Exception e) {
+			//e.printStackTrace();
+			LogUtil.errorLogInfo("", TAG, e);
+			returnData = 1;
+			return  returnData;
+		}
+	}
+
 	public int Get_Thermo_Info()
 	{
 		String[] GetData = GetSettingData("온도조절기");

+ 1 - 0
WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/screen/MemoMakeAudio.java

@@ -191,6 +191,7 @@ public class MemoMakeAudio extends WpadScreen {
             LogUtil.errorLogInfo("", TAG, e);
         }
 
+        mWallpadDeviceSet.closeDB();
         return result;
     }
 

+ 1 - 14
WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/screen/MemoMakeVideo.java

@@ -174,19 +174,6 @@ public class MemoMakeVideo extends WpadScreen {
         } catch (Exception e) {
             Log.d(TAG, "[Exception] MakeMemoVideo");
         }
-
-        try
-        {
-            boolean isUseKakao = getKakaoHomeCheck();
-            if(isUseKakao)
-            {
-                mContext.sendBroadcast(new Intent("com.kakao.i.hdc.notuse"));
-            }
-        }
-        catch (Exception e)
-        {
-
-        }
     }
 
     public boolean getKakaoHomeCheck()
@@ -201,7 +188,7 @@ public class MemoMakeVideo extends WpadScreen {
         {
             LogUtil.errorLogInfo("", TAG, e);
         }
-
+        mWallpadDeviceSet.closeDB();
         return result;
     }
 

+ 1 - 15
WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/MainActivity.java

@@ -578,11 +578,7 @@ public class MainActivity extends WpadActivity {
                 menuListDataClass = LoadDefaultMenuList();
             }
 
-            boolean isUseKakao = getKakaoHomeCheck();
-            if(isUseKakao)
-            {
-                mContext.sendBroadcast(new Intent("com.kakao.i.hdc.notuse"));
-            }
+//            enableKaKaoiFunction(false);
 
             //     6-2. 시작 화면을 main APP으로 부터 받아서 처리한다.
             mMenu = StartMenuSetting();
@@ -728,16 +724,6 @@ public class MainActivity extends WpadActivity {
         notifyAppFinish();
 //        setCallAppRunning(false);
 
-        boolean isUseKakao = getKakaoHomeCheck();
-        if(isUseKakao)
-        {
-            WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
-            boolean bKakaoShow = devSet.Get_KakaoShow();
-            if(bKakaoShow)
-                mContext.sendBroadcast(new Intent("com.kakao.i.hdc.use"));
-            devSet.closeDB();
-        }
-
         Log.i(TAG, "*************************************************************");
         Log.i(TAG, "******************* [END   - MainActivity] ******************");
         Log.i(TAG, "*************************************************************");

+ 1 - 1
WallPadConfig/src/main/java/kr/co/icontrols/wallpadconfig/screen/ConfigCleanLcdMainScreen.java

@@ -113,7 +113,7 @@ public class ConfigCleanLcdMainScreen extends WpadScreen{
 		{
 			LogUtil.errorLogInfo("", TAG, e);
 		}
-
+		mWallpadDeviceSet.closeDB();
 		return result;
 	}
 

+ 1 - 1
WallPadEmergency/src/main/java/kr/co/icontrols/wallpademergency/screen/EmergencyMainScreen.java

@@ -355,7 +355,7 @@ public class EmergencyMainScreen extends WpadScreen{
 		{
 			LogUtil.errorLogInfo("", TAG, e);
 		}
-
+		mWallpadDeviceSet.closeDB();
 		return result;
 	}
 

+ 3 - 3
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPIcEnergyMgrScreen.java

@@ -3045,16 +3045,16 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             DebugLogOutput("Draw Month Graph");
             Kepco_HomeUse.setText(monthTableClass[0].Use);
             //목표량이 없으므로, Goal 값은 USE 값을 이용해서 구한다.
-            int goal = (int) (Integer.valueOf(monthTableClass[0].Use) * 1.2);
+            double goal = (double) (Double.valueOf(monthTableClass[0].Use) * 1.2);
             drawRect[1].ReDraw(CalcGraphWidth(monthTableClass[0].Use, goal + ""), mNumberOfEnergy);
 
             Solar_HomeUse.setText(monthTableClass[1].Use);
-            goal = (int) (Integer.valueOf(monthTableClass[1].Use) * 1.2);
+            goal = (double) (Double.valueOf(monthTableClass[1].Use) * 1.2);
             drawRect[7].ReDraw(CalcGraphWidth(monthTableClass[1].Use, goal + ""), mNumberOfEnergy);
 
 
             Fuel_HomeUse.setText(monthTableClass[2].Use);
-            goal = (int) (Integer.valueOf(monthTableClass[2].Use) * 1.2);
+            goal = (double) (Double.valueOf(monthTableClass[2].Use) * 1.2);
             drawRect[9].ReDraw(CalcGraphWidth(monthTableClass[2].Use, goal + ""), mNumberOfEnergy);
 
             if (RealtimeMeterUse == false) {

+ 2 - 2
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPRemoteMeterMainScreen.java

@@ -1484,12 +1484,12 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     private void ShowMonthEnergyDataCenter(int Margin_x, int Margin_y) {
         String kepcoMonthItem = "";
         String fuelcellMonthItem = "";
-        int total = 0;
+        double total = 0;
         int TempMargin_y_ForEnergyNum2 = 0;
         kepcoMonthItem = monthTableClassRight[0].Use;
         fuelcellMonthItem = monthTableClassRight[3].Use;
 
-        total = Integer.valueOf(kepcoMonthItem) + Integer.valueOf(fuelcellMonthItem);
+        total = Double.valueOf(kepcoMonthItem) + Double.valueOf(fuelcellMonthItem);
 
         Show_MonthTable_Item_Use_Text_CENTER[0] = new WpadTextView(getContext(), false, 273, Margin_x, Gravity.CENTER, Color.WHITE, Common.fontsize._26_DEFAULT, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
         ViewRegistration(getLayout(), Show_MonthTable_Item_Use_Text_CENTER[0],

+ 5 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java

@@ -1501,6 +1501,11 @@ public class MainActivity extends WpadActivity {
 					ret = true;
 					break;
 
+				case API_Menu.SubMenuCtrl.ParkingDoor:
+					SetTitleText(API_Menu.SubMenuCtrl.Name_ParkingDoor);
+					ret = true;
+					break;
+
 				default:
 					Log.e(TAG, "[Error] setTitleName - nScreenId Not found!!! (" + mCurrentScreenId + ")");
 					//mCurrentScreenId = -1;

+ 1 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxMainScreen.java

@@ -359,7 +359,7 @@ public class LightKnxMainScreen extends WpadScreen {
 
             int strLightCount = Integer.valueOf(strLight.substring(0, strLight.indexOf(":")));
 
-            if(strLightCount==(mData.MasterController.Info.Bad_EnergyMeterCount + mData.MasterController.Info.Liv_EnergyMeterCount)){
+            if(strLightCount==(mData.MasterController.Info.Light_SwitchCount + mData.MasterController.Info.Bad_EnergyMeterCount + mData.MasterController.Info.Liv_EnergyMeterCount)){
                 //개수가 일치하는 경우에 적용
                 strLight = strLight.substring(strLight.indexOf(":")+1);
                 String[] strDataSeq = strLight.split("_");

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

@@ -484,7 +484,7 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
                                     updateData();
                                 }
                             };
-                            timer.schedule(TT, 500, 9500); //Timer 실행
+                            timer.schedule(TT, 500, 4000); //Timer 실행
                         }
                         else if(resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.

BIN
WallPadMain/libs/WallPadAPI.jar


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

@@ -7725,6 +7725,9 @@ public class MainActivity extends WpadActivity {
             else if (nIconID == ID.ICONS.MENUS.CTRL_ELECCOOKTOP.getID()) {
                 m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.ElecCooktop);
             }
+            else if (nIconID == ID.ICONS.MENUS.CTRL_PARKINGDOOR.getID()) {
+                m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.ParkingDoor);
+            }
             else if (nIconID == ID.ICONS.MENUS.CTRL_COOKTOPOUTLET.getID()) {
                 m_CallSubMenuScreen.callStartHomeCtrlAPK(ID.LINKEDSCREEN.SubMenuCtrl.CooktopOutlet);
             }

+ 2 - 0
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/declare/ID.java

@@ -1585,6 +1585,7 @@ public final class ID {
             CTRL_COOKTOPOUTLET(MENU_CTRL + 10, "쿡탑콘센트", "Cooktop\noutlet"),
             CTRL_CURTAIN(MENU_CTRL + 11, "커튼", "Curtain"),
             CTRL_SYSTEMAIRCON(MENU_CTRL + 12, "시스템\n에어컨", "System\naircon"),
+            CTRL_PARKINGDOOR(MENU_CTRL + 13, "주차출입문", "ParkingDoor"),
 
             ADD_NOTICE(MENU_ADD + 1, "공지사항", "Notice"),
             ADD_WEATHER(MENU_ADD + 2, "날씨", "Weather"),
@@ -1692,6 +1693,7 @@ public final class ID {
             public final static int AirQualty = BASE + 91;				 // 공기질 센서
             public final static int ElecCooktop = BASE + 101;				 // 전기레인지
             public final static int CooktopOutlet = BASE + 111;				 // 쿡탑콘센트
+            public final static int ParkingDoor = BASE + 131;				 // 주차출입문
 
         }
 

+ 1 - 1
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/popup/MorningCall.java

@@ -112,7 +112,7 @@ public class MorningCall extends WpadScreen {
         {
             LogUtil.errorLogInfo("", TAG, e);
         }
-
+        mWallpadDeviceSet.closeDB();
         return result;
     }
 

+ 12 - 3
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/IconManager.java

@@ -41,6 +41,7 @@ public class IconManager {
     int nInterFloorNoiseSensorEnable = WallpadDeviceSet.DO_NOT_USE;   // 층간소음 센서
     boolean bCookTopOutletEnable = false;   // 쿡탑콘센트
     int nSystemAirconEnable = WallpadDeviceSet.DO_NOT_USE;    // 시스템에어컨
+    int nConcentEnable = WallpadDeviceSet.DO_NOT_USE;    // 콘센트
 
     // 에너지 기기
     boolean bRemoteMeterEnable = false;   // 원격검침
@@ -176,6 +177,7 @@ public class IconManager {
             bCookTopOutletEnable = mWallpadDeviceSet.Get_CookTopConcent_Use();   // 쿡탑콘센트 사용 유무
             nSystemAirconEnable = mWallpadDeviceSet.Get_AirCON_Info();   // 시스템에어컨 사용 유무
             bCtrlUse = mWallpadDeviceSet.Get_MainGUICtrlUse();
+            nConcentEnable = mWallpadDeviceSet.Get_Concent_Info();   // 콘센트 사용 유무
 
             // 에너지
             bRemoteMeterEnable = mWallpadDeviceSet.Get_RemoteMeter_Use();   // 원격검침
@@ -210,7 +212,7 @@ public class IconManager {
 
             strElevEnable = Common.getSubDevListItem(mContext, Common.SETTING_ITEM_SUB_DEVICE_ELEVATOR);   // 엘리베이터
 
-            Log.i(TAG, "[getSettingInfofromDB] bCtrlUse [" + bCtrlUse + "]");
+            Log.i(TAG, "[getSettingInfofromDB] bCtrlUse [" + bCtrlUse + "], nConcentEnable [" + nConcentEnable +"]");
             Log.i(TAG, "[getSettingInfofromDB] nThermostatEnable [" + nThermostatEnable + "], nGasValveEnable [" + nGasValveEnable + "], bElecCooktopEnable [" + bElecCooktopEnable + "], nMoodLightEnable [" + nMoodLightEnable + "], nAirQualityEnable [" + nAirQualityEnable + "]");
             Log.i(TAG, "[getSettingInfofromDB] nInterFloorNoiseSensorEnable [" + nInterFloorNoiseSensorEnable + "], bRemoteMeterEnable [" + bRemoteMeterEnable + "], nDistributionPanelType [" + nDistributionPanelType + "], nParkingLocationEnable [" + nParkingLocationEnable + "], nCCTVMonitoringEnable [" + nCCTVMonitoringEnable + "]");
             Log.i(TAG, "[getSettingInfofromDB] nElecVehicleChargingEnable [" + nElecVehicleChargingEnable + "], naKeyType [" + naKeyType + "], strElevEnable [" + strElevEnable + "]");
@@ -415,6 +417,7 @@ public class IconManager {
                         R.drawable.icon_ctrl_doorlock_normal, R.drawable.icon_ctrl_doorlock_pressed, R.drawable.icon_ctrl_doorlock_pressed, R.drawable.icon_ctrl_doorlock_pressed);
             }
 
+
             // 환기
             if (naVentilEnable != null && naVentilEnable[0] == WallpadDeviceSet.DO_USE) {
                 mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_VENT.getID(), ID.ICONS.MENUS.CTRL_VENT.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.ChangAir_Normal,
@@ -433,6 +436,10 @@ public class IconManager {
                         R.drawable.icon_ctrl_eleccooktop_normal, R.drawable.icon_ctrl_eleccooktop_pressed, R.drawable.icon_ctrl_eleccooktop_pressed, R.drawable.icon_ctrl_eleccooktop_pressed);
             }
 
+            // 주차출입문
+            mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_PARKINGDOOR.getID(), ID.ICONS.MENUS.CTRL_PARKINGDOOR.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.ParkingDoor,
+                    R.drawable.icon_gargae_normal, R.drawable.icon_gargae_pressed, R.drawable.icon_gargae_pressed, R.drawable.icon_gargae_pressed);
+
             /*
             부가 App
              */
@@ -554,8 +561,10 @@ public class IconManager {
             else if (nDistributionPanelType == Version.DISTRIBUTION_MODEL.KNX_DIST) {
                 // KNX 분전반 연동
                 // 콘센트
-                mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_OUTLET.getID(), ID.ICONS.MENUS.CTRL_OUTLET.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.Concent,
-                        R.drawable.icon_energy_smartoutlet_normal, R.drawable.icon_energy_smartoutlet_pressed, R.drawable.icon_energy_smartoutlet_pressed, R.drawable.icon_energy_smartoutlet_pressed);
+                if (nConcentEnable == WallpadDeviceSet.DO_USE) {
+                    mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_OUTLET.getID(), ID.ICONS.MENUS.CTRL_OUTLET.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.Concent,
+                            R.drawable.icon_energy_smartoutlet_normal, R.drawable.icon_energy_smartoutlet_pressed, R.drawable.icon_energy_smartoutlet_pressed, R.drawable.icon_energy_smartoutlet_pressed);
+                }
             }
 
             // 원격검침

+ 12 - 6
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/iMapServer.java

@@ -5512,19 +5512,25 @@ public class iMapServer extends Service {
 
             Log.i(TAG, "[iCMDProcDevList] bLightCMDUseAsSmartLight: " + bLightCMDUseAsSmartLight);
 
+            WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(getApplicationContext());
+            int nResultPanelType = mWallpadDeviceSet.Get_DistributionPannelType_Info();
+            String[] strDeviceSeqValue = mWallpadDeviceSet.GetSettingData("UI순서");
+            int nConcentEnable = mWallpadDeviceSet.Get_Concent_Info();   // 콘센트 사용 유무
+            mWallpadDeviceSet.closeDB();
+
             WallpadiCMDParser DevListCMD = new WallpadiCMDParser(ele);
-            String[] devlist = {"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "electric", "smartlight", "cooktop", "sysaircon"};
+            String[] devlist;
+            if(nConcentEnable==1){
+                devlist = new String[]{"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "electric", "smartlight", "cooktop", "sysaircon"};
+            } else {
+                devlist = new String[]{"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "smartlight", "cooktop", "sysaircon"};
+            }
             strResult += "\"ok\">\r\n";
             strResult += "      <target name=\"" + DevListCMD.target + "\" id=\"" + DevListCMD.tid + "\" msg_no=\"" + DevListCMD.msgno + "\"/>\r\n";
             strResult += "         <devlist total_count=\"" + (devlist.length * 3 + 6) + "\"/>\r\n";
             //strResult += "         <devlist total_count=\""+devlist.length+"\"/>\r\n";
             WallpadDeviceSet devSet = new WallpadDeviceSet(getApplicationContext());
 
-            WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(getApplicationContext());
-            int nResultPanelType = mWallpadDeviceSet.Get_DistributionPannelType_Info();
-            String[] strDeviceSeqValue = mWallpadDeviceSet.GetSettingData("UI순서");
-            mWallpadDeviceSet.closeDB();
-
             String strLight = strDeviceSeqValue[1].substring( (strDeviceSeqValue[1].indexOf("조명(") + 3) , (strDeviceSeqValue[1].indexOf(")난방(")));
             String strHeating = strDeviceSeqValue[1].substring( (strDeviceSeqValue[1].indexOf("난방(") + 3) , (strDeviceSeqValue[1].indexOf(")에어컨(")));
             String strAircon = strDeviceSeqValue[1].substring( (strDeviceSeqValue[1].indexOf("에어컨(") + 4) , (strDeviceSeqValue[1].indexOf("))")));

BIN
WallPadMain/src/main/res/drawable-ldpi/icon_gargae_normal.png


BIN
WallPadMain/src/main/res/drawable-ldpi/icon_gargae_pressed.png


BIN
WallPadMultiControlService/libs/WallPadAPI.jar


+ 60 - 41
WallPadMultiControlService/src/main/java/kr/co/icontrols/wallpadmulticontrolservice/DataSenderService.java

@@ -1423,22 +1423,26 @@ public class DataSenderService extends Service {
             return null;
         }
 
-        WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
-        String[] strValue = devSet.GetSettingData("UI순서");
-        devSet.closeDB();
+        try {
+            WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
+            String[] strValue = devSet.GetSettingData("UI순서");
+            devSet.closeDB();
 
-        // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
-        if( strValue != null ) {
-            strLight = strValue[1].substring( (strValue[1].indexOf("조명(") + 3) , (strValue[1].indexOf(")난방(")));
+            // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
+            if (strValue != null) {
+                strLight = strValue[1].substring((strValue[1].indexOf("조명(") + 3), (strValue[1].indexOf(")난방(")));
 
-            int strLightCount = Integer.valueOf(strLight.substring(0, strLight.indexOf(":")));
+                int strLightCount = Integer.valueOf(strLight.substring(0, strLight.indexOf(":")));
 
-            if(strLightCount==(1 + bedDataCount)){
-                //개수가 일치하는 경우에 적용
-                strLight = strLight.substring(strLight.indexOf(":")+1);
-            }else{
-                strLight = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                if (strLightCount == (1 + bedDataCount)) {
+                    //개수가 일치하는 경우에 적용
+                    strLight = strLight.substring(strLight.indexOf(":") + 1);
+                } else {
+                    strLight = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
 
         JSONObject responseObject = new JSONObject();
@@ -1523,23 +1527,28 @@ public class DataSenderService extends Service {
     private JSONObject updateHeating(int kind, int pos) {
         String strHeating = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
         int roomCount = mHeatingV2API.data.Device.info.RoomCount;
-        WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
-        String[] strValue = devSet.GetSettingData("UI순서");
-        devSet.closeDB();
+        try {
+            WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
+            String[] strValue = devSet.GetSettingData("UI순서");
+            devSet.closeDB();
 
-        // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
-        if( strValue != null ) {
-            strHeating = strValue[1].substring( (strValue[1].indexOf("난방(") + 3) , (strValue[1].indexOf(")에어컨(")));
+            // 현대건설 더 펜트하우스 서버에서 설정된 UI 순서를 이용하도록 한다.
+            if (strValue != null) {
+                strHeating = strValue[1].substring((strValue[1].indexOf("난방(") + 3), (strValue[1].indexOf(")에어컨(")));
 
-            int strHeatingCount = Integer.valueOf(strHeating.substring(0, strHeating.indexOf(":")));
+                int strHeatingCount = Integer.valueOf(strHeating.substring(0, strHeating.indexOf(":")));
 
-            if(strHeatingCount==roomCount){
-                //개수가 일치하는 경우에 적용
-                strHeating = strHeating.substring(strHeating.indexOf(":")+1);
-            }else{
-                strHeating = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                if (strHeatingCount == roomCount) {
+                    //개수가 일치하는 경우에 적용
+                    strHeating = strHeating.substring(strHeating.indexOf(":") + 1);
+                } else {
+                    strHeating = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                }
             }
+        }catch (Exception e) {
+            e.printStackTrace();
         }
+
         JSONObject jsonObject = new JSONObject();
         try {
             jsonObject.accumulate("type", "updateResponse");
@@ -1675,23 +1684,26 @@ public class DataSenderService extends Service {
     private JSONObject updateKnxAircon(int kind, int pos) {
         String strAircon = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
         int roomCount = mKnxSystemAirconAPI.data.Device.info.InsideAirconCount;
+        try {
+            WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
+            String[] strValue = devSet.GetSettingData("UI순서");
+            devSet.closeDB();
 
-        WallpadDeviceSet devSet = new WallpadDeviceSet(this.getContext());
-        String[] strValue = devSet.GetSettingData("UI순서");
-        devSet.closeDB();
-
-        // 서버에서 설정된 UI 순서를 이용하도록 한다.
-        if( strValue != null ) {
-            strAircon = strValue[1].substring( (strValue[1].indexOf("에어컨(") + 4) , (strValue[1].indexOf("))")));
+            // 서버에서 설정된 UI 순서를 이용하도록 한다.
+            if (strValue != null) {
+                strAircon = strValue[1].substring((strValue[1].indexOf("에어컨(") + 4), (strValue[1].indexOf("))")));
 
-            int strAirconCount = Integer.valueOf(strAircon.substring(0, strAircon.indexOf(":")));
+                int strAirconCount = Integer.valueOf(strAircon.substring(0, strAircon.indexOf(":")));
 
-            if(strAirconCount==roomCount){
-                //개수가 일치하는 경우에 적용
-                strAircon = strAircon.substring(strAircon.indexOf(":")+1);
-            }else{
-                strAircon = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                if (strAirconCount == roomCount) {
+                    //개수가 일치하는 경우에 적용
+                    strAircon = strAircon.substring(strAircon.indexOf(":") + 1);
+                } else {
+                    strAircon = "1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17_18_19_20";
+                }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
 
         JSONObject jsonObject = new JSONObject();
@@ -1938,6 +1950,7 @@ public class DataSenderService extends Service {
         try {
             WallpadDeviceSet devSet = new WallpadDeviceSet(getApplicationContext());
             int nResultPanelType = devSet.Get_DistributionPannelType_Info();
+            int nConcentEnable = devSet.Get_Concent_Info();   // 콘센트 사용 유무
             String[] strDeviceSeqValue = devSet.GetSettingData("UI순서");
 
             String strLight = strDeviceSeqValue[1].substring( (strDeviceSeqValue[1].indexOf("조명(") + 3) , (strDeviceSeqValue[1].indexOf(")난방(")));
@@ -1947,7 +1960,13 @@ public class DataSenderService extends Service {
             strLight = (strLight.substring(strLight.indexOf(":")+1)).replaceAll("_","/");
             strHeating = (strHeating.substring(strHeating.indexOf(":")+1)).replaceAll("_","/");
             strAircon = (strAircon.substring(strAircon.indexOf(":")+1)).replaceAll("_","/");
-            String[] devlist = {"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "electric", "smartlight", "cooktop", "sysaircon"};
+
+            String[] devlist;
+            if(nConcentEnable==1){
+                devlist = new String[]{"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "electric", "smartlight", "cooktop", "sysaircon"};
+            } else {
+                devlist = new String[]{"gas", "livinglight", "doorlock", "light", "ventil", "thermostat", "smartlight", "cooktop", "sysaircon"};
+            }
 
             for (int i = 0; i < devlist.length; i++) {
                 if (devlist[i].equals("cooktop")) {
@@ -2223,10 +2242,10 @@ public class DataSenderService extends Service {
     int AllEMcount;
 
     public void deviceApiLoadLight() {
-        WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
-        int nDPType = wds.Get_DistributionPannelType_Info();
-        wds.closeDB();
         try {
+            WallpadDeviceSet wds = new WallpadDeviceSet(mContext);
+            int nDPType = wds.Get_DistributionPannelType_Info();
+            wds.closeDB();
             if (mWallPadAPI.Check_Connect()) {
                 if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I
                         || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K_I

+ 1 - 1
WallPadOutmodeRun/src/main/java/kr/co/icontrols/wallpadoutmoderun/screen/OutModeSecurityRun.java

@@ -160,7 +160,7 @@ public class OutModeSecurityRun extends WpadScreen{
         {
             LogUtil.errorLogInfo("", TAG, e);
         }
-
+        mWallpadDeviceSet.closeDB();
         return result;
     }
 

+ 1 - 1
WallPadSecurity/src/main/java/kr/co/icontrols/wallpadsecurity/manual/SetLinkCtr_Manual.java

@@ -58,7 +58,7 @@ public class SetLinkCtr_Manual extends WpadScreen {
                     "난방일시정지/외출 해제 : 체크하시면 외출 복귀 시 난방이 평상시 상태로 복귀됩니다." + "\r\n" +
                     "환기동작 : 체크하시면 외출 복귀 시 환기가 동작됩니다." + "\r\n";
 
-            if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I
+            if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I
                     || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K_I
                     || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_OCF)
             {