mac
2024-03-26 c7c07eaa32ca7b137b1ac028d17beee0ebcf9a0b
app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -8,17 +8,12 @@
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.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;
@@ -28,12 +23,9 @@
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
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;
@@ -71,11 +63,10 @@
     */
    private void initView() {
        String homeId = "测试住宅ID=" + UserConfigManage.getInstance().getHomeId();
        String homeName = "测试住宅名称=" + UserConfigManage.getInstance().getHomeName();
        String homeId = "homeId=" + UserConfigManage.getInstance().getHomeId();
        String homeName = "homeName=" + UserConfigManage.getInstance().getHomeName();
        viewBinding.homeIdTv.setText(homeId);
        viewBinding.homeNameTv.setText(homeName);
    }
@@ -93,14 +84,20 @@
                    TipDialog("请先选择住宅进行测试,否则无法进行逆变器指令测试.", null);
                    return;
                }
                GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway(UserConfigManage.getInstance().getHomeId());
                if (gatewayBean == null && !title.equals("搜索逆变器列表(0)") && !title.equals("搜索【住宅】逆变器列表(1)")) {
                    // TODO: 10/30/23 找不到住宅的主逆变器,请先确认是否绑定逆变器,再进行逆变器指令测试;
                List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
                if (list == null && !title.equals("搜索【所有】逆变器列表(0)") && !title.equals("搜索【住宅】逆变器列表(1)")) {
                    // TODO: 10/30/23 找不到住宅的主逆变器,请先确认是否绑定逆变器,再进行逆变器指令测试
                    TipDialog("找不到住宅的【主逆变器】,请先确认是否绑定过逆变器,再进行逆变器指令测试.", null);
                    return;
                }
                if (list.size() == 0 && !title.equals("搜索【所有】逆变器列表(0)") && !title.equals("搜索【住宅】逆变器列表(1)")) {
                    // TODO: 10/30/23 找不到住宅的主逆变器,请先确认是否绑定逆变器,再进行逆变器指令测试
                    TipDialog("找不到住宅的【主逆变器】,请先确认是否绑定过逆变器,再进行逆变器指令测试.", null);
                    return;
                }
                showLoading();
                startRequest(position, gatewayBean);
                startRequest(position, list.get(0));
            }
        });
    }
@@ -116,6 +113,9 @@
        } else if (id == viewBinding.clickCommandTv.getId()) {
        } else if (id == viewBinding.clickSelectDeviceTv.getId()) {
//            selectDevice();
        }
    }
@@ -126,7 +126,7 @@
     */
    private List<String> getTitleList() {
        List<String> s = new ArrayList<>();
        s.add("搜索逆变器列表(0)");
        s.add("搜索【所有】逆变器列表(0)");
        s.add("搜索【住宅】逆变器列表(1)");
        s.add("获取逆变器oid列表(2)");
        s.add("读取逆变器详情(3)");
@@ -134,7 +134,7 @@
        s.add("上传oid列表给云端(5)");
        s.add("获取逆变器下挂设备列表(6)");
        s.add("获取逆变器的信息(7)");
//        s.add("解绑逆变器(8)");
        s.add("恢复出厂设置(8)");
        return s;
    }
@@ -146,8 +146,8 @@
    private void startRequest(int position, GatewayBean gatewayBean) {
        String title = getTitleList().get(position);
        switch (title) {
            case "搜索逆变器列表(0)": {
                HdlDeviceLogic.getInstance().searchAllGateway(new GatewayCallBack() {
            case "搜索【所有】逆变器列表(0)": {
                HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() {
                    @Override
                    public void onSuccess(List<GatewayBean> gatewayBeanList) {
                        List<GatewayBean> newGatewayBeanList = new ArrayList<>();
@@ -290,15 +290,15 @@
                });
            }
            break;
            case "解绑逆变器(8)": {
                HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
            case "恢复出厂设置(8)": {
                HdlDeviceLogic.getInstance().initializeGateway("0B37BA09F722EEF0", new LinkCallBack<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onFailure(HDLException e) {
                    public void onError(HDLLinkException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
@@ -377,6 +377,26 @@
        });
    }
    /**
     * 选择逆变器调试
     */
    public void selectDevice(String homeId) {
        showLoading();
        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() {
            @Override
            public void onSuccess(List<GatewayBean> obj) {
                hideLoading();
            }
            @Override
            public void onFailure(HDLException e) {
                hideLoading();
            }
        });
    }
    public interface Listener {
        void Confirmation();
    }