Bläddra i källkod

전기차 충전 관련 수정. 에너지 생산량 관련 수정.

jslee(madeinlab) 3 år sedan
förälder
incheckning
b45dce9ab7

BIN
WallPadAPI/jar/WallPadAPI.jar


+ 9 - 1
WallPadAPI/src/main/java/com/artncore/wallpadimap/WallPadiMAPClient.java

@@ -62,6 +62,7 @@ public class WallPadiMAPClient {
 	int Status = COMM_NONE;
 
 	boolean Ireceive = false;
+	boolean nonSSL = false;
 	Document doc;
 
 	boolean LogSW = true;
@@ -135,6 +136,13 @@ public class WallPadiMAPClient {
 		return SendXMLDoc(ServerIP,  SvrPort, XML, receive);
 	}
 
+	//bSSL 통신 여부
+	public int SendXMLDoc(String XML, boolean receive, boolean nonSSL) {
+		Ireceive = receive;
+		this.nonSSL = nonSSL;
+		return SendXMLDoc(ServerIP,  SvrPort, XML, receive);
+	}
+
 	protected void ProcComplite() {
 	}
 
@@ -230,7 +238,7 @@ public class WallPadiMAPClient {
 				//                   사용중일 경우 암호화 소켓을 생성한다.
 				/////////////////////////////////////////////////////////////////////
 				Log.i(TAG, "[socketThread.run()] bNewDanjiServer [" + bNewDanjiServer + "]");
-				if (!bNewDanjiServer) {
+				if (!bNewDanjiServer||nonSSL) {
 					Log.i(TAG, "[socketThread.run()] Normal Client > Target [" + SoIPa + ":" + SoIPport + "]");
 					isock = new Socket();
 					isock.setSoLinger(true, 3000);

BIN
WallPadAddService/libs/WallPadAPI.jar


+ 2 - 3
WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/imap/iMAPElecCarChargerInfo.java

@@ -24,7 +24,6 @@ public class iMAPElecCarChargerInfo extends WallPadiMAPClient {
     WallpadStatusData DBMGR = null;
 
     String ServerIP = "10.0.1.1";
-    //String ServerIP = "10.2.8.11";
     int SvrPort = 10000;
 
     public iMAPElecCarChargerInfo(Context ctx) {
@@ -116,9 +115,9 @@ public class iMAPElecCarChargerInfo extends WallPadiMAPClient {
     public void DoWork(int type) {
         SetServerIPConfig(ServerIP, SvrPort);
         if (type == 1) {
-            SendXMLDoc(GetXMLGetInfo("near"), true);
+            SendXMLDoc(GetXMLGetInfo("near"), true,true);
         } else if (type == 2) {
-            SendXMLDoc(GetXMLGetInfo("all"), true);
+            SendXMLDoc(GetXMLGetInfo("all"), true, true);
         }
     }
 

+ 1 - 1
WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/imap/iMAPElecCarChargingInfo.java

@@ -104,7 +104,7 @@ public class iMAPElecCarChargingInfo extends WallPadiMAPClient {
 
     public void DoWork() {
         SetServerIPConfig(ServerIP, SvrPort);
-        SendXMLDoc(GetXMLGetInfo(), true);
+        SendXMLDoc(GetXMLGetInfo(), true, true);
     }
 
     private void Get_DBInfo_ElecCarServerIp(Context context) {

+ 7 - 4
WallPadAddService/src/main/java/kr/co/icontrols/wallpadaddservice/screen/VIPElecCarMainScreen.java

@@ -491,15 +491,17 @@ public class VIPElecCarMainScreen extends WpadScreen {
                 MakeContentPage3_Image();
             } else {
                 LoadDataFromServerCharging();
-                //Thread.sleep(10000);
-                LoadDataFromServerCharger();
+                new Handler().postDelayed(new Runnable()  {
+                    public void run() {
+                        LoadDataFromServerCharger();
+                    }
+                }, 1000); // 0.5초후
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
-
     void LoadSampleData_Page1() {
         Car_Charging_Info = new CAR_CHARGING_INFO(6, "This is Test Message");
         Car_Charging_Info.inputArrayMethod(
@@ -622,7 +624,7 @@ public class VIPElecCarMainScreen extends WpadScreen {
                     }
                     imapElecCarChargingInfo.SetItem("message");
                     Car_Charging_Info.message = imapElecCarChargingInfo.GetItemVal(0);
-
+                    MakeContentPage1_Image();
                 } catch (RuntimeException re) {
                     LogUtil.errorLogInfo("", TAG, re);
                 } catch (Exception e) {
@@ -731,6 +733,7 @@ public class VIPElecCarMainScreen extends WpadScreen {
                     }
                     imapElecCarChargerInfo.SetItem("message");
                     Charger_Info.message = imapElecCarChargerInfo.GetItemVal(0);
+                    MakeContentPage3_Image();
                 } catch (RuntimeException re) {
                     LogUtil.errorLogInfo("", TAG, re);
                 } catch (Exception e) {

BIN
WallPadEnergyCtrl/libs/WallPadAPI.jar


+ 41 - 2
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/imap/iMAPRemotemeter.java

@@ -235,6 +235,30 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
 
         return retXML;
     }
+    private String GetXMLGetRemoteMeterVIP_RealTime(boolean kepco, boolean eleccar, boolean photovoltaics, boolean fuelcell)
+    {
+        String retXML = null;
+
+        String kepco_String = null;
+        String eleccar_String = null;
+        String photovoltaics_String = null;
+        String fuelcell_String = null;
+
+        kepco_String = kepco==true?"yes":"no";
+        eleccar_String = eleccar==true?"yes":"no";
+        photovoltaics_String = photovoltaics==true?"yes":"no";
+        fuelcell_String = fuelcell==true?"yes":"no";
+
+        retXML = XMLHeader +
+                "   <service type = \"request\" name= \"get_realtime_metering\">\r\n"
+                +" <kepco>\""+kepco_String+"\"</kepco>\r\n"
+                +" <photovoltaics>\""+photovoltaics_String+"\"</photovoltaics>\r\n"
+                +" <fuelcell>\""+fuelcell_String+"\"</fuelcell>\r\n"
+                +" <eleccar>\""+eleccar_String+"\"</eleccar>\r\n"+
+                "   </service>\r\n</imap>";
+
+        return retXML;
+    }
     public void SetServerIPcfg(String IPa, int port)
     {
         ServerIP = IPa;
@@ -267,7 +291,8 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
                                         return;
                                     }
                                 }
-                            } else if (isDistinguishYear_String!=null && isDistinguishYear_String.equalsIgnoreCase("month")) {
+                            }
+                            else if (isDistinguishYear_String!=null && isDistinguishYear_String.equalsIgnoreCase("month")) {
                                 String distinguish = GetAttributeVal(0, "distinguish");
                                 if (distinguish!=null && distinguish.equalsIgnoreCase(
                                         "month")) {
@@ -278,7 +303,8 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
                                 }
                             }
                         }
-                    } else if ((name!=null && name.equalsIgnoreCase("get_elec_metering"))
+                    }
+                    else if ((name!=null && name.equalsIgnoreCase("get_elec_metering"))
                             && (type!=null && type.equalsIgnoreCase("reply"))) {
                         if (SetItem("guidemap") == 1) {
                             if (isDistinguishYear_String!=null && isDistinguishYear_String.equalsIgnoreCase("year")) {
@@ -302,6 +328,13 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
                             }
                         }
                     }
+                    else if ((name!=null && name.equalsIgnoreCase("get_realtime_metering"))
+                            && (type!=null && type.equalsIgnoreCase("reply"))) {
+                        if (SetItem("photovoltaics") > 0 || SetItem("fuelcell")>0) {
+                            Proc.ProcSuccess();
+                            return;
+                        }
+                    }
                 }
             } 
         }
@@ -324,4 +357,10 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
         SetServerIPConfig(ServerIP, SvrPort);
         SendXMLDoc(GetXMLGetRemoteMeterVIP(isDistinguishYear, kepco, eleccar, photovoltaics, fuelcell, year, month), true);
     }
+
+    public void DoWDoWorkVIP_RealTime(boolean kepco, boolean eleccar, boolean photovoltaics, boolean fuelcell)
+    {
+        SetServerIPConfig(ServerIP, SvrPort);
+        SendXMLDoc(GetXMLGetRemoteMeterVIP_RealTime(kepco, eleccar, photovoltaics, fuelcell), true);
+    }
 }

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

@@ -148,7 +148,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
     WpadImageView RealTimeData_bg2;
     WpadTextView RealTimeData; //실시간 사용량 데이터
     double RealTimeData_Double = 0;
-    double EnergyMax_Double = 18;
+    double EnergyMax_Double = 100;
     WpadTextView CalorieUnit1, CalorieUnit2; //난방 단위
     // WpadTextView RealtimeMeter_Marking1, RealtimeMeter_Marking2, RealtimeMeter_Marking3,
     //        RealtimeMeter_Marking4, RealtimeMeter_Marking5, RealtimeMeter_Marking6, RealtimeMeter_Marking7;
@@ -186,6 +186,8 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
     ArrayList<DayEnergyDataClass> arrayListDayEnergyData = new ArrayList<DayEnergyDataClass>();
 
+    DayEnergyDataClass realTimeEnergyData;
+
     class DayEnergyDataClass {
         private int Year;
         private int Month;
@@ -381,7 +383,6 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
         ViewRegistration(layout, RealTimeData, getPos.Get(ID.IcEnergyMgrID.text.REALTIMEMETER_DATA).x, getPos.Get(ID.IcEnergyMgrID.text.REALTIMEMETER_DATA).y);
 
 
-
         // 4. Draw_Update
         DebugLogOutput("[Create] - Step4 : Draw_Update");
 
@@ -461,8 +462,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             UsedData_Unit = new WpadTextView(getContext(), false, getPos.Get(ID.IcEnergyMgrID.UsedData_MaxData_textView.UsedData_Unit).width, getPos.Get(ID.IcEnergyMgrID.UsedData_MaxData_textView.UsedData_Unit).height, Gravity.RIGHT, Color.parseColor("#969696"), ContentsFontSize, false, ID.IcEnergyMgrID.text.REALTIMEMETER_DATA);
             ViewRegistration(getLayout(), UsedData_Unit, getPos.Get(ID.IcEnergyMgrID.UsedData_MaxData_textView.UsedData_Unit).x, getPos.Get(ID.IcEnergyMgrID.UsedData_MaxData_textView.UsedData_Unit).y);
 
-        }
-        else {
+        } else {
             if (RealtimeMeterCountFromDB == 3) {
                 // 실시간 검침 DB값 3종일 경우
 
@@ -496,8 +496,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
         if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
             SampleDatainsert_MonthTableData();
-        }
-        else {
+        } else {
             ShowMonthGraph();
             if (RealtimeMeterUse == true) {
                 RemoveUsedData();
@@ -510,6 +509,13 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
                     }
                 }, 300);
 
+                new Handler().postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        ShowRealTimeDataGraph_DayVersion();
+                    }
+                }, 1000);
+
                 ShowDayGraph();
             }
         }
@@ -517,6 +523,31 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
         Log.d(TAG, "[End - Screen] -------------------------------------------- ");
     }
 
+    private void ShowRealTimeDataGraph_DayVersion() {
+        // 사용량추이
+        nowCal = Calendar.getInstance();
+
+        CalendarYear = nowCal.get(Calendar.YEAR);
+        CalendarMonth = nowCal.get(Calendar.MONTH);
+
+        if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
+            if (arrayListDayEnergyData.size() == 0) {
+                arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 3, 2, 3, 22, 34));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 3, 1, 4, 23, 35));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 28, 5, 24, 36));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 27, 6, 25, 37));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 26, 7, 26, 38));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 25, 8, 27, 39));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 24, 9, 28, 40));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 23, 9, 29, 41));
+                //arrayListDayEnergyData.add(new DayEnergyDataClass(2015, 2, 22, 6, 30, 42));
+            }
+            ShowDayGraph();
+        } else {
+            LoadRemotemeterDataFromServer(2, CalendarYear, CalendarMonth, ShowNowEnergyIndex);
+        }
+    }
+
     private void ShowUsedDataGraph_DayVersion() {
         // 사용량추이
         nowCal = Calendar.getInstance();
@@ -641,7 +672,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             }
         }
 
-        int size = arrayListDayEnergyData.size()>9?9:arrayListDayEnergyData.size();
+        int size = arrayListDayEnergyData.size() > 9 ? 9 : arrayListDayEnergyData.size();
 
         //그리기
         float[] tempFloatArray = new float[size];
@@ -651,22 +682,22 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
         switch (NowShowEnergyKind) {
             case ID.IcEnergyMgrID.DataKind.KEPCO:
-                for (int i = (size-1) ; i >= 0; i--) {
-                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size()- j).getKepco_used();
+                for (int i = (size - 1); i >= 0; i--) {
+                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size() - j).getKepco_used();
                     j++;
                 }
                 break;
 
             case ID.IcEnergyMgrID.DataKind.SOLAR:
-                for (int i = (size-1) ; i >= 0; i--) {
-                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size()- j).getSolar_used();
+                for (int i = (size - 1); i >= 0; i--) {
+                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size() - j).getSolar_used();
                     j++;
                 }
                 break;
 
             case ID.IcEnergyMgrID.DataKind.FUEL:
-                for (int i = (size-1) ; i >= 0; i--) {
-                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size()- j).getFuel_used();
+                for (int i = (size - 1); i >= 0; i--) {
+                    tempFloatArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size() - j).getFuel_used();
                     j++;
                 }
                 break;
@@ -712,13 +743,13 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
         //하단 날짜 출력, 에너지 데이터 삽입
         for (int i = 0; i < size; i++) {
             //if(i>=arrayListDayEnergyData.size()-1) break;
-            tempintArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size()-size+i).getDay();
+            tempintArray[i] = arrayListDayEnergyData.get(arrayListDayEnergyData.size() - size + i).getDay();
         }
 
         //int배열을 역순으로
         //tempintArray = reverseArrayint(tempintArray);
 
-        for (int i = size-1; i >= 0; i--) {
+        for (int i = size - 1; i >= 0; i--) {
             DayMarking[i].setText(String.valueOf(tempintArray[i]) + "일");
         }
 
@@ -727,7 +758,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
         UsedData_Yesterday_AfterCalc = tempFloatArray;
 
         //Yesterday 그래프그리기
-        for (int i = 0; i <size ; i++) {
+        for (int i = 0; i < size; i++) {
             if (i < 2) {
                 ArrayDot_Yesterday[0][i] = getPos.Get(ID.IcEnergyMgrID.Graph.x_1, i).x; // x좌표
             } else if (i == 2) {
@@ -736,7 +767,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
                 ArrayDot_Yesterday[0][i] = getPos.Get(ID.IcEnergyMgrID.Graph.x_3, i).x; // x좌표
             }
 
-            int index = UsedData_Yesterday_AfterCalc.length - size + i ;
+            int index = UsedData_Yesterday_AfterCalc.length - size + i;
 
             if (Float.isNaN((getPos.Get(ID.IcEnergyMgrID.Graph.y_MAX, i).y - (getPos.Get(ID.IcEnergyMgrID.Graph.y_1, i).y * (UsedData_Yesterday_AfterCalc[index]) / UsedData_MaxData[3])))) {
                 ArrayDot_Yesterday[1][i] = getPos.Get(ID.IcEnergyMgrID.Graph.y_MAX, i).y;
@@ -750,7 +781,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             // DebugLogOutput("ArrayDot_Yesterday["+i+"] = "+ArrayDot_Yesterday[0][i]+", "+ArrayDot_Yesterday[1][i]);
         }
 
-        drawLines[0] = new DrawLine(getContext(), ArrayDot_Yesterday, size-1, 0);
+        drawLines[0] = new DrawLine(getContext(), ArrayDot_Yesterday, size - 1, 0);
         if (getLayout() != null) getLayout().addView(drawLines[0]);
 
         for (int i = 0; i < size; i++) {
@@ -765,7 +796,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
                 ViewRegistration(getLayout(), DayEnergyMarking[i], ArrayDot_Yesterday[0][i] - (38 / 2) + 4, ArrayDot_Yesterday[1][i] - 19);
             }
 
-            int index = UsedData_Yesterday_AfterCalc.length - size + i ;
+            int index = UsedData_Yesterday_AfterCalc.length - size + i;
 
             DayEnergyMarking[i].setText(Convter2_DoubleTOStr_CutPoint2((double) UsedData_Yesterday_AfterCalc[index]));
         }
@@ -1254,7 +1285,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
                         NowShowEnergyKind = ID.IcEnergyMgrID.DataKind.KEPCO;
                         if (RealtimeMeterUse == false) {
                             // 실시간 검침 사용하지 않음
-                            EnergyMax_Double = 18;
+                            EnergyMax_Double = 100;
                             if (RealTimeData != null) RealTimeData.setText("0 kWh");
                         } else {
                             EnergyMax_Double = 3000;
@@ -1274,7 +1305,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
                         if (RealtimeMeterUse == false) {
                             // 실시간 검침 사용하지 않음
-                            EnergyMax_Double = 18;
+                            EnergyMax_Double = 100;
                             if (RealTimeData != null) RealTimeData.setText("0 kWh");
                         } else {
                             EnergyMax_Double = 3000;
@@ -1293,7 +1324,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
                         if (RealtimeMeterUse == false) {
                             // 실시간 검침 사용하지 않음
-                            EnergyMax_Double = 18;
+                            EnergyMax_Double = 100;
                             if (RealTimeData != null) RealTimeData.setText("0 kWh");
                         } else {
                             EnergyMax_Double = 3000;
@@ -1477,16 +1508,19 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             if ((arrayListDayEnergyData.size() != 0) && (arrayListDayEnergyData.isEmpty() != true)) {
                 switch (NowShowEnergyKind) {
                     case ID.IcEnergyMgrID.DataKind.KEPCO:
-                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.KEPCO, arrayListDayEnergyData.get(arrayListDayEnergyData.size()-1).getKepco_used());
+                        //Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.KEPCO, arrayListDayEnergyData.get(arrayListDayEnergyData.size() - 1).getKepco_used());
+                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.KEPCO, realTimeEnergyData.getKepco_used());
                         break;
 
                     case ID.IcEnergyMgrID.DataKind.SOLAR:
-                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.SOLAR, arrayListDayEnergyData.get(arrayListDayEnergyData.size()-1).getSolar_used());
+                        //Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.SOLAR, arrayListDayEnergyData.get(arrayListDayEnergyData.size() - 1).getSolar_used());
+                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.KEPCO, realTimeEnergyData.getSolar_used());
                         CircleGraph.setImageResource(CircleGraph_bg[0]);
                         break;
 
                     case ID.IcEnergyMgrID.DataKind.FUEL:
-                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.FUEL, arrayListDayEnergyData.get(arrayListDayEnergyData.size()-1).getFuel_used());
+                        //Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.FUEL, arrayListDayEnergyData.get(arrayListDayEnergyData.size() - 1).getFuel_used());
+                        Draw_TextValueWrite(ID.IcEnergyMgrID.DataKind.KEPCO, realTimeEnergyData.getFuel_used());
                         break;
 
                     default:
@@ -2991,7 +3025,7 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             DebugLogOutput("Draw Month Graph");
             //Kepco_HomeUse.setText(monthTableClass[0].Use);
             //목표량이 없으므로, Goal 값은 USE 값을 이용해서 구한다.
-            double goal = (double) (Double.valueOf(monthTableClass[1].Use))+(Double.valueOf(monthTableClass[2].Use)) ;
+            double goal = (double) (Double.valueOf(monthTableClass[1].Use)) + (Double.valueOf(monthTableClass[2].Use));
             //drawRect[1].ReDraw(CalcGraphWidth(monthTableClass[0].Use, goal + ""), mNumberOfEnergy);
 
             Photovoltaics_HomeUse.setText(monthTableClass[1].Use);
@@ -3003,8 +3037,8 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             drawRect[7].ReDraw(CalcGraphWidth(monthTableClass[2].Use, goal + ""), mNumberOfEnergy);
 
             //if (RealtimeMeterUse == false) {
-                // 실시간 검침 사용하지 않음
-                //ShowUsedDataGraph_DayVersion();
+            // 실시간 검침 사용하지 않음
+            //ShowUsedDataGraph_DayVersion();
             //}
 
         } catch (RuntimeException re) {
@@ -3040,7 +3074,12 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
                 case 1: //일별
                     //imapRemotemeter.DoWork(false, true, true, true, true, true, false, false, year, month);
-                    imapRemotemeter.DoWorkVIP(false, false, false, true, true, year, month);
+                    imapRemotemeter.DoWorkVIP(false, true, true, true, true, year, month);
+                    break;
+
+                case 2: //Real Time
+                    //imapRemotemeter.DoWork(false, true, true, true, true, true, false, false, year, month);
+                    imapRemotemeter.DoWDoWorkVIP_RealTime(false, false, true, true);
                     break;
 
                 default:
@@ -3149,7 +3188,6 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
                             case 1: // 일별
 
                                 int NumberOfValuelist1 = imapRemotemeter.SetItem("valuelist");
-
                                 if (NumberOfValuelist1 != 0) {
                                     DebugLogOutput("nowCal.get(Calendar.DATE):" + nowCal.get(Calendar.DATE));
                                     if ((NumberOfValuelist1 + 1) == nowCal.get(Calendar.DATE)) {
@@ -3234,6 +3272,57 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
 
                                 break;
 
+                            case 2: // realtime
+                                float TempKepco = 0;
+                                float TempSolar = 0;
+                                float TempFuel = 0;
+                                int photovoltaicsValue = imapRemotemeter.SetItem("photovoltaics");
+                                if (photovoltaicsValue != 0) {
+                                    try {
+                                        // 한전
+                                        //TempString = imapRemotemeter.GetAttributeVal(i, "kepco_used");
+                                        //DebugLogOutput("TempString elect " + TempString);
+                                        //if (TempString!=null&&TempString.equals("1000000") == false) {
+                                        //    TempKepco = Float.parseFloat(TempString);
+                                        //}
+                                        //DebugLogOutput("TempElect " + TempElect);
+
+                                        // 태양광
+                                        TempString = imapRemotemeter.GetItemVal(0);
+                                        TempSolar = Float.parseFloat(TempString);
+                                    } catch (RuntimeException re) {
+                                        Log.e(TAG, "exception : " + re);
+                                    } catch (Exception e) {
+                                        //e.printStackTrace();
+                                        LogUtil.errorLogInfo("", TAG, e);
+                                    }
+                                }
+
+                                int fuelcellValue = imapRemotemeter.SetItem("fuelcell");
+                                if (fuelcellValue != 0) {
+                                    try {
+                                        // 한전
+                                        //TempString = imapRemotemeter.GetAttributeVal(i, "kepco_used");
+                                        //DebugLogOutput("TempString elect " + TempString);
+                                        //if (TempString!=null&&TempString.equals("1000000") == false) {
+                                        //    TempKepco = Float.parseFloat(TempString);
+                                        //}
+                                        //DebugLogOutput("TempElect " + TempElect);
+
+                                        // 태양광
+                                        TempString = imapRemotemeter.GetItemVal(0);
+                                        TempFuel = Float.parseFloat(TempString);
+                                    } catch (RuntimeException re) {
+                                        Log.e(TAG, "exception : " + re);
+                                    } catch (Exception e) {
+                                        //e.printStackTrace();
+                                        LogUtil.errorLogInfo("", TAG, e);
+                                    }
+                                }
+                                realTimeEnergyData = new DayEnergyDataClass(0, 0, 0, 0, TempSolar, TempFuel);
+                                Draw_Update();
+
+                                break;
                             default:
                                 break;
                         }

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

@@ -179,10 +179,10 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
     int ShowNowEnergyIndex = 0;
     String[] ShowListEnergyType_String = {
-            "전기차1 kWh",
-            "전기차2 kWh",
-            "태양광 kWh",
-            "연료전지 kWh"
+            "전기차1 사용량",
+            "전기차2 사용량",
+            "태양광 생산량",
+            "연료전지 생산량"
     };
     //메뉴화면 글자 조정을 위함. 한글: 36p, 단위:20p
     int ShowEnergyIndex = 0;
@@ -1253,7 +1253,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
         }
         //한글
-        mShowListEnergyTypeText = new WpadTextView(getContext(), false, 200, 55, Gravity.LEFT, Color.WHITE, Common.fontsize._30, true, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
+        mShowListEnergyTypeText = new WpadTextView(getContext(), false, 200, 55, Gravity.LEFT, Color.WHITE, Common.fontsize._26_DEFAULT, true, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
         ViewRegistration(getLayout(), mShowListEnergyTypeText,
                 Common.ImgPosion.GetX(100),
                 Common.ImgPosion.GetY(132));