Procházet zdrojové kódy

[WallPadHomeCtrl]
1. 에너지 미터 대기콘센트
- 팝업 화면 연결
- 대기전력 차단 모드 추가
- 전체 콘센트 제어 추가
- WallPadAPI 추가

jglee před 2 roky
rodič
revize
eb4d6a69fd

binární
WallPadHomeCtrl/libs/WallPadAPI.jar


+ 21 - 3
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java

@@ -52,6 +52,7 @@ import kr.co.icontrols.wallpadhomectrl.declare.ID;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_aircon.SystemAirconMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_airquality.AirQualityMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_airquality.DustInfoScreen;
+import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentEnergyMeterScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentHdcNEachMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentKnxMainScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentMainScreen;
@@ -198,6 +199,7 @@ public class MainActivity extends WpadActivity {
 	private DustInfoScreen dustInfoScreen = null;
 	private ConcentMainScreen concentMainScreen = null;
 	private ConcentKnxMainScreen concentKnxMainScreen = null;
+	private ConcentEnergyMeterScreen concentEnergyMeterScreen = null;
 
 	private HybridCookTopMainScreen hybridCookTopMainScreen = null;
 	
@@ -265,6 +267,7 @@ public class MainActivity extends WpadActivity {
 //	int SmartDistUse = -1;
 //	boolean KnxDistUse = false;
 	public static int nDistributionPanelType = Version.DISTRIBUTION_MODEL.OTHER;
+	public static int nEnergyProductionUse;
 
 	private VentiAPI mVentilAPI = null;
 	private KnxVentiAPI mKnxVentilAPI = null;
@@ -504,6 +507,7 @@ public class MainActivity extends WpadActivity {
 		WallpadDeviceSet wds = new WallpadDeviceSet(getContext());
 		int gateway = wds.GetGatewayModelKindInfo();
 		nDistributionPanelType = wds.Get_DistributionPannelType_Info();
+		nEnergyProductionUse = wds.Get_Energy_Devices_Info(); //에너지 제품군
 		wds.closeDB();
 
 		if (gateway == Version.GATEWAY_MODEL.IGW_200) {
@@ -1731,7 +1735,9 @@ public class MainActivity extends WpadActivity {
 						super.setCurrentScreen(concentKnxMainScreen);
 						setManualBtnVisible(false, 1019);
 					}
-					else {
+
+					else
+					{
 						SetTitleText(API_Menu.SubMenuCtrl.Name_Concent);
 						concentMainScreen = new ConcentMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mDefaultRoomNameList_Light);
 						super.setCurrentScreen(concentMainScreen);
@@ -1746,8 +1752,20 @@ 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);
-					super.setCurrentScreen(concentHdcNEachMainScreen);
+					//여기서 에너지 미터 사용 여부 체크해서 사용하면 에너지 미터 화면을 가져다가 사용하도록 함
+					if(nEnergyProductionUse == WallpadDeviceSet.DO_USE)
+					{
+
+						concentEnergyMeterScreen = new ConcentEnergyMeterScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mDefaultRoomNameList_Light);
+						super.setCurrentScreen(concentEnergyMeterScreen);
+					}
+					else
+					{
+						concentHdcNEachMainScreen = new ConcentHdcNEachMainScreen(this, ScreenLayout, wpapi, OPERATION_MODE, mRoomNameList_Light);
+						super.setCurrentScreen(concentHdcNEachMainScreen);
+					}
+
+
 					setTopBoilerBtnVisible(false);
 					setAIRBackBtnVisible(false);
 					setKccDimmBtnVisible(false);

+ 7 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/PopupActivity.java

@@ -27,6 +27,7 @@ import android.widget.RelativeLayout;
 import kr.co.icontrols.wallpadhomectrl.declare.Common;
 import kr.co.icontrols.wallpadhomectrl.declare.ID;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_aircon.SystemAirconPopupScreen;
+import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentEnergyMeterPopupScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentHdcLivPopupScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentKnxPopupScreen;
 import kr.co.icontrols.wallpadhomectrl.screen.screen_concent.ConcentPopupScreen;
@@ -95,6 +96,7 @@ public class PopupActivity extends WpadActivity
     private LightHdcNEachEnergyMeterPopupScreen lightHdcNEachEnergyMeterPopupScreen;
     private ConcentPopupScreen concentPopupScreen;
     private ConcentKnxPopupScreen concentKnxPopupScreen;
+    private ConcentEnergyMeterPopupScreen concentEnergyMeterPopupScreen;
     private SystemAirconPopupScreen systemAirconPopupScreen;
     private PurityPopupScreen purityPopupScreen;
 	private VentiPopupServiceScreen ventiPopupServiceScreen;
@@ -571,6 +573,11 @@ public class PopupActivity extends WpadActivity
                     super.setCurrentScreen(concentPopupScreen);
                     break;
 
+                case ID.screen.ConcentEnergyMeterPopupScreen:
+                    concentEnergyMeterPopupScreen = new ConcentEnergyMeterPopupScreen(mContext, AllLayout, wpapi, OPERATION_MODE);
+                    super.setCurrentScreen(concentEnergyMeterPopupScreen);
+                    break;
+
                 case ID.screen.ConcentPopupScreenWithCutOffAPI:
                     concentHdcLivPopupScreen = new ConcentHdcLivPopupScreen(mContext, AllLayout, wpapi, OPERATION_MODE);
                     super.setCurrentScreen(concentHdcLivPopupScreen);

+ 1 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_concent/ConcentEnergyMeterPopupScreen.java

@@ -1322,7 +1322,7 @@ public class ConcentEnergyMeterPopupScreen extends WpadScreen {
 
         // 3. Control
         try {
-            int ret = EnergyMeterAPI.SetConcentOnOff(RoomIdx, ConcentIdx, OnOff);
+            int ret = EnergyMeterAPI.SetConcentCutoffMode(RoomIdx, OnOff);
             if (ret < 0) {
                 Log.e(TAG, "[Device_SetConcentMode] - [Return Error] EnergyMeterAPI.SetConcentMode(Index:" + RoomIdx + ", ConcentIdx:" + ConcentIdx + ", OnOff:" + OnOff + ")");
                 Log.e(TAG, "[Device_SetConcentMode] - Error (" + ret + ")   ErrorCode = " + EnergyMeterAPI.ErrorCode.ErrStr());

+ 6 - 5
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_concent/ConcentEnergyMeterScreen.java

@@ -277,7 +277,7 @@ public class ConcentEnergyMeterScreen extends WpadScreen
         {
             // 영업샘플모드에서 팝업 데이터 처리
             int Screen = intent.getIntExtra("SCREEN", -1);
-            if(Screen == ID.screen.ConcentPopupScreen)
+            if(Screen == ID.screen.ConcentEnergyMeterPopupScreen)
             {
                 // ConcentData
                 String  ConcentData = intent.getStringExtra("ConcentData");
@@ -498,7 +498,7 @@ public class ConcentEnergyMeterScreen extends WpadScreen
                     data.putExtra("ConcentData", ConcentData);
                 }
 
-                ((MainActivity)(getContext())).StartPopup(ID.screen.ConcentPopupScreen, data);
+                ((MainActivity)(getContext())).StartPopup(ID.screen.ConcentEnergyMeterPopupScreen, data);
             }
             else if(TargetId == ID.ConcentEnergyMeterScreen.button.ALL_ON)
             {
@@ -895,7 +895,8 @@ public class ConcentEnergyMeterScreen extends WpadScreen
         // 3. Control
         try
         {
-            int ret = energyMeterAPI.SetConcentOnOff(index, define.DEVICE_ALL_OR_NOTHING, OnOff);
+
+            int ret = energyMeterAPI.SetConcentAllOnOff(index, define.DEVICE_ALL_OR_NOTHING, OnOff);
             if(ret < 0)
             {
                 Log.e(TAG, "[Device_SetConcentOnOff] - [Return Error] energyMeterAPI.SetConcentOnOff(Index:" + index + ", ConcentIdx:0xFF, OnOff:" + OnOff + ")");
@@ -928,13 +929,13 @@ public class ConcentEnergyMeterScreen extends WpadScreen
         {
             if(msg.what == 0)
             {
-                int ret = Device_SetConcentOnOff(Common.INDEX_ALL, false);
+                int ret = Device_SetConcentOnOff((byte)0, false);
                 if(ret >= 0) Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
                 else Sound().Play(WpadSound.SND.effect.TOUCH_UNLATCHED);
             }
             else if(msg.what == 1)
             {
-                int ret= Device_SetConcentOnOff(Common.INDEX_ALL, true);
+                int ret= Device_SetConcentOnOff((byte)0, true);
                 if(ret >= 0) Sound().Play(WpadSound.SND.effect.TOUCH_LATCHED);
                 else Sound().Play(WpadSound.SND.effect.TOUCH_UNLATCHED);
             }