From dcb7088c2dca789074f8f48597dca3c55f3ab6f1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 01 二月 2024 19:37:09 +0800 Subject: [PATCH] 2024年02月01日19:37:00 --- app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java | 103 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 89 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java index 8a4bd8e..a6a8c98 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java @@ -2,19 +2,23 @@ import androidx.recyclerview.widget.LinearLayoutManager; -import android.content.Context; import android.os.Bundle; import android.text.TextUtils; -import android.util.Log; import android.view.View; + import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; -import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityTestMainBinding; import com.hdl.photovoltaic.enums.ShowErrorMode; +import com.hdl.photovoltaic.internet.HttpClient; +import com.hdl.photovoltaic.internet.TcpClient; +import com.hdl.photovoltaic.internet.api.TopicApi; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; import com.hdl.photovoltaic.other.HdlDeviceLogic; @@ -22,11 +26,14 @@ import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; -import com.hdl.photovoltaic.widget.ConfirmationExceptionDialog; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; +import com.hdl.sdk.link.core.bean.response.BaseLocalResponse; import com.hdl.sdk.link.core.callback.GatewayCallBack; +import com.hdl.sdk.link.core.callback.HDLLinkCallBack; +import com.hdl.sdk.link.core.callback.ModbusCallBack; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; @@ -39,6 +46,7 @@ private TestTitleAdapter testTitleAdapter; private List<OidBean> mOidList; + private String s = ""; @Override public Object getContentView() { @@ -74,6 +82,7 @@ private void initEvent() { viewBinding.topBackBtn.setOnClickListener(this); viewBinding.topLogBtn.setOnClickListener(this); + viewBinding.clickCommandTv.setOnClickListener(this); testTitleAdapter.setItemOnClickListener(new TestTitleAdapter.OnClickListener() { @Override public void OnClick(int position, String title) { @@ -84,8 +93,8 @@ TipDialog("璇峰厛閫夋嫨浣忓畢杩涜娴嬭瘯,鍚﹀垯鏃犳硶杩涜閫嗗彉鍣ㄦ寚浠ゆ祴璇�.", null); return; } - GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway(); - if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�")) { + GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway(UserConfigManage.getInstance().getHomeId()); + if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)") && !title.equals("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)")) { // TODO: 10/30/23 鎵句笉鍒颁綇瀹呯殑涓婚�嗗彉鍣�,璇峰厛纭鏄惁缁戝畾閫嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�; TipDialog("鎵句笉鍒颁綇瀹呯殑銆愪富閫嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null); return; @@ -105,6 +114,8 @@ } else if (id == viewBinding.topLogBtn.getId()) { startActivity(TestLogActivity.class); + } else if (id == viewBinding.clickCommandTv.getId()) { + } } @@ -115,12 +126,15 @@ */ private List<String> getTitleList() { List<String> s = new ArrayList<>(); - s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�(1)"); + s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)"); + s.add("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)"); s.add("鑾峰彇閫嗗彉鍣╫id鍒楄〃(2)"); s.add("璇诲彇閫嗗彉鍣ㄨ鎯�(3)"); - s.add("娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)"); + s.add("瑙g粦閫嗗彉鍣�(4)"); s.add("涓婁紶oid鍒楄〃缁欎簯绔�(5)"); s.add("鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)"); + s.add("鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)"); +// s.add("瑙g粦閫嗗彉鍣�(8)"); return s; } @@ -132,8 +146,28 @@ private void startRequest(int position, GatewayBean gatewayBean) { String title = getTitleList().get(position); switch (title) { - case "鎼滅储閫嗗彉鍣ㄥ垪琛�(1)": { - HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() { + case "鎼滅储閫嗗彉鍣ㄥ垪琛�(0)": { + HdlDeviceLogic.getInstance().searchAllGateway(new GatewayCallBack() { + @Override + public void onSuccess(List<GatewayBean> gatewayBeanList) { + List<GatewayBean> newGatewayBeanList = new ArrayList<>(); + for (int i = 0; i < gatewayBeanList.size(); i++) { + if (HdlDeviceLogic.getInstance().isGatewaySpk(gatewayBeanList.get(i).getGatewayType())) { + newGatewayBeanList.add(gatewayBeanList.get(i)); + } + } + gsonConvertJsonStr(newGatewayBeanList); + } + + @Override + public void onError(HDLLinkException e) { + setError(e.getMsg(), e.getCode()); + } + }); + } + break; + case "鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)": { + HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() { @Override public void onSuccess(List<GatewayBean> gatewayBeanList) { gsonConvertJsonStr(gatewayBeanList); @@ -177,14 +211,27 @@ }); } break; - case "娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)": { + case "瑙g粦閫嗗彉鍣�(4)": { TipDialog("涓�鏃︽竻闄ゆ帀閫嗗彉鍣ㄤ綇瀹卛d,閫嗗彉鍣ㄩ渶瑕侀噸鏂扮粦瀹氫綇瀹咃紝鍚﹀垯鏃犳硶娴嬭瘯閫嗗彉鍣ㄦ寚浠�;", new Listener() { @Override public void Confirmation() { + HdlDeviceLogic.getInstance().clearInverterHomeId(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { - gsonConvertJsonStr(obj); + s += "瑙g粦銆愭湰鍦般�戞垚鍔�--->"; + HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + s += "瑙g粦銆愪簯绔�戞垚鍔�"; + gsonConvertJsonStr(s); + } + + @Override + public void onFailure(HDLException e) { + setError(e.getMsg(), e.getCode()); + } + }); } @Override @@ -202,7 +249,7 @@ HdlThreadLogic.toast(this, "娌℃湁oid鍒楄〃鏁版嵁锛岃鍏堣幏鍙栭�嗗彉鍣╫id鍒楄〃鏁版嵁锛屽啀閲嶆柊涓婁紶."); return; } - HdlDeviceLogic.getInstance().fullUpdateOid(this.mOidList, new CloudCallBeak<Boolean>() { + HdlDeviceLogic.getInstance().fullUpdateOid(UserConfigManage.getInstance().getHomeId(), this.mOidList, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { gsonConvertJsonStr(obj); @@ -216,7 +263,7 @@ } break; case "鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)": { - HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() { + HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(UserConfigManage.getInstance().getHomeId(), gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() { @Override public void onSuccess(List<CloudInverterChildDeviceBean> obj) { gsonConvertJsonStr(obj); @@ -229,6 +276,34 @@ }); } break; + case "鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)": { + TcpClient.getInstance().sendModBusDataToLinkGateway(gatewayBean.getDevice_mac(), "0000001A", TcpClient.FunctionCode.ReadMultipleRegisters, 550, "8", new ModbusCallBack() { + @Override + public void onSuccess(int[] data) { + gsonConvertJsonStr(data); + } + + @Override + public void onError(HDLLinkException e) { + setError(e.getMsg(), e.getCode()); + } + }); + } + break; + case "瑙g粦閫嗗彉鍣�(8)": { + HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + gsonConvertJsonStr(obj); + } + + @Override + public void onFailure(HDLException e) { + setError(e.getMsg(), e.getCode()); + } + }); + } + break; default: { HdlThreadLogic.runMainThread(new Runnable() { @Override -- Gitblit v1.8.0