wjc
2025-05-07 b9cc7390e8e8ce64c41c26fb369c98ce669d660c
app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -5,35 +5,37 @@
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
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.bean.InverterBean;
import com.hdl.photovoltaic.bean.PageNumberObject;
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;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.ui.test.adapters.HomeAdapter;
import com.hdl.photovoltaic.ui.test.dialogs.DialogDeviceList;
import com.hdl.photovoltaic.ui.test.dialogs.DialogHomeList;
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;
@@ -45,8 +47,14 @@
    private ActivityTestMainBinding viewBinding;
    private TestTitleAdapter testTitleAdapter;
    private List<HouseIdBean> mHouseIdBeanList = new ArrayList<>();
    private List<OidBean> mOidList;
    private GatewayBean mGatewayBean;
    private String s = "";
    private String mHomeId;
    private String mHomeName;
    @Override
    public Object getContentView() {
@@ -63,49 +71,37 @@
        viewBinding.listItemRl.setAdapter(testTitleAdapter);
        initView();
        initEvent();
        readData();
    }
    private void readData() {
        loadNextPageHouseList(true);
    }
    /**
     * 初始化
     */
    private void initView() {
        String homeId = "测试住宅ID=" + UserConfigManage.getInstance().getHomeId();
        String homeName = "测试住宅名称=" + UserConfigManage.getInstance().getHomeName();
        this.mHomeId = UserConfigManage.getInstance().getHomeId();
        this.mHomeName = UserConfigManage.getInstance().getHomeName();
        String homeId = "测试电站Id=" + this.mHomeId;
        String homeName = "测试电站名称=" + this.mHomeName;
        viewBinding.homeIdTv.setText(homeId);
        viewBinding.homeNameTv.setText(homeName);
    }
    private void initEvent() {
        viewBinding.topBackBtn.setOnClickListener(this);
        viewBinding.topBackLl.setOnClickListener(this);
        viewBinding.topLogBtn.setOnClickListener(this);
        viewBinding.clickCommandTv.setOnClickListener(this);
        viewBinding.clickSelectHomeTv.setOnClickListener(this);
        viewBinding.clickSelectDeviceTv.setOnClickListener(this);
        testTitleAdapter.setItemOnClickListener(new TestTitleAdapter.OnClickListener() {
            @Override
            public void OnClick(int position, String title) {
                if (TextUtils.isEmpty(UserConfigManage.getInstance().getHomeId())) {
                    // TODO: 10/30/23 请先选择住宅进行测试,否则无法进行逆变器指令测试;
                    TipDialog("请先选择住宅进行测试,否则无法进行逆变器指令测试.", null);
                    return;
                }
                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, list.get(0));
                startRequest(position, mGatewayBean);
            }
        });
    }
@@ -114,12 +110,18 @@
    @Override
    public void onClick(View v) {
        int id = v.getId();
        if (id == viewBinding.topBackBtn.getId()) {
        if (id == viewBinding.topBackLl.getId()) {
            finish();
        } else if (id == viewBinding.topLogBtn.getId()) {
            startActivity(TestLogActivity.class);
        } else if (id == viewBinding.clickCommandTv.getId()) {
        } else if (id == viewBinding.clickSelectHomeTv.getId()) {
            selectHome();
        } else if (id == viewBinding.clickSelectDeviceTv.getId()) {
            selectDevice();
        }
    }
@@ -139,7 +141,7 @@
        s.add("上传oid列表给云端(5)");
        s.add("获取逆变器下挂设备列表(6)");
        s.add("获取逆变器的信息(7)");
//        s.add("恢复出厂设置(8)");
        s.add("恢复出厂设置(8)");
        return s;
    }
@@ -149,176 +151,258 @@
     * @param position 索引值
     */
    private void startRequest(int position, GatewayBean gatewayBean) {
        String title = getTitleList().get(position);
        switch (title) {
            case "搜索【所有】逆变器列表(0)": {
                HdlDeviceLogic.getInstance().searchAllNetworkGateway(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));
        try {
            String title = getTitleList().get(position);
            switch (title) {
                case "搜索【所有】逆变器列表(0)": {
                    showLoading();
                    HdlDeviceLogic.getInstance().searchAllNetworkGateway(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);
                        }
                        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);
                    }
                    @Override
                    public void onError(HDLLinkException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            break;
            case "获取逆变器oid列表(2)": {
                HdlDeviceLogic.getInstance().getInverterOidList(gatewayBean.getDevice_mac(), new LinkCallBack<List<OidBean>>() {
                    @Override
                    public void onSuccess(List<OidBean> obj) {
                        mOidList = obj;
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onError(HDLLinkException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            break;
            case "读取逆变器详情(3)": {
                HdlDeviceLogic.getInstance().getGatewayInfo(gatewayBean.getDevice_mac(), new LinkCallBack<GatewayBean>() {
                    @Override
                    public void onSuccess(GatewayBean obj) {
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onError(HDLLinkException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            break;
            case "解绑逆变器(4)": {
                TipDialog("一旦清除掉逆变器住宅id,逆变器需要重新绑定住宅,否则无法测试逆变器指令;", new Listener() {
                    @Override
                    public void Confirmation() {
                        HdlDeviceLogic.getInstance().clearInverterHomeId(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
                            @Override
                            public void onSuccess(Boolean obj) {
                                s += "解绑【本地】成功--->";
                                HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
                                    @Override
                                    public void onSuccess(Boolean obj) {
                                        s += "解绑【云端】成功";
                                        gsonConvertJsonStr(s);
                                    }
                                    @Override
                                    public void onFailure(HDLException e) {
                                        setError(e.getMsg(), e.getCode());
                                    }
                                });
                            }
                            @Override
                            public void onError(HDLLinkException e) {
                                setError(e.getMsg(), e.getCode());
                            }
                        });
                    }
                });
            }
            break;
            case "上传oid列表给云端(5)": {
                if (this.mOidList == null || this.mOidList.size() == 0) {
                    hideLoading();
                    HdlThreadLogic.toast(this, "没有oid列表数据,请先获取逆变器oid列表数据,再重新上传.");
                    return;
                        @Override
                        public void onError(HDLLinkException e) {
                            setError(e.getMsg(), e.getCode());
                        }
                    });
                }
                HdlDeviceLogic.getInstance().fullUpdateOid(UserConfigManage.getInstance().getHomeId(), this.mOidList, new CloudCallBeak<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            break;
            case "获取逆变器下挂设备列表(6)": {
                HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(UserConfigManage.getInstance().getHomeId(), gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterChildDeviceBean> obj) {
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            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 "恢复出厂设置(8)": {
                HdlDeviceLogic.getInstance().initializeGateway("0B37BA09F722EEF0", new LinkCallBack<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        gsonConvertJsonStr(obj);
                    }
                    @Override
                    public void onError(HDLLinkException e) {
                        setError(e.getMsg(), e.getCode());
                    }
                });
            }
            break;
            default: {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        hideLoading();
                    }
                }, this, ShowErrorMode.YES);
                break;
            }
                case "搜索【住宅】逆变器列表(1)": {
                    if (TextUtils.isEmpty(this.mHomeId)) {
                        // TODO: 10/30/23 请先选择住宅进行测试,否则无法进行逆变器指令测试;
                        TipDialog("请选择一个【电站】进行测试,否则无法进行指令测试.", null);
                        return;
                    }
                    showLoading();
                    List<GatewayBean> gatewayBeanList = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(this.mHomeId, null);
                    gsonConvertJsonStr(gatewayBeanList);
                }
                break;
                case "获取逆变器oid列表(2)": {
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    showLoading();
                    HdlDeviceLogic.getInstance().getInverterOidList(gatewayBean.getDevice_mac(), new LinkCallBack<List<OidBean>>() {
                        @Override
                        public void onSuccess(List<OidBean> obj) {
                            mOidList = obj;
                            gsonConvertJsonStr(obj);
                        }
                        @Override
                        public void onError(HDLLinkException e) {
                            setError(e.getMsg(), e.getCode());
                        }
                    });
                }
                break;
                case "读取逆变器详情(3)": {
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    showLoading();
                    HdlDeviceLogic.getInstance().getGatewayInfo(gatewayBean.getDevice_mac(), new LinkCallBack<InverterBean>() {
                        @Override
                        public void onSuccess(InverterBean obj) {
                            gsonConvertJsonStr(obj);
                        }
                        @Override
                        public void onError(HDLLinkException e) {
                            setError(e.getMsg(), e.getCode());
                        }
                    });
                }
                break;
                case "解绑逆变器(4)": {
                    if (TextUtils.isEmpty(this.mHomeId)) {
                        // TODO: 10/30/23 请先选择住宅进行测试,否则无法进行逆变器指令测试;
                        TipDialog("请在电站列表里面选择一个【电站】进行测试,否则无法进行指令测试.", null);
                        return;
                    }
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    TipDialog("一旦清除掉逆变器住宅id,逆变器需要重新绑定住宅,否则无法测试指令;", new Listener() {
                        @Override
                        public void Confirmation() {
                            showLoading();
                            HdlDeviceLogic.getInstance().clearInverterHomeId(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
                                @Override
                                public void onSuccess(Boolean obj) {
                                    s += "解绑【本地】成功--->";
                                    HdlDeviceLogic.getInstance().delInverterDevice(mHomeId, gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
                                        @Override
                                        public void onSuccess(Boolean obj) {
                                            s += "解绑【云端】成功";
                                            gsonConvertJsonStr(s);
                                        }
                                        @Override
                                        public void onFailure(HDLException e) {
                                            setError(e.getMsg(), e.getCode());
                                        }
                                    });
                                }
                                @Override
                                public void onError(HDLLinkException e) {
                                    setError(e.getMsg(), e.getCode());
                                }
                            });
                        }
                    });
                }
                break;
                case "上传oid列表给云端(5)": {
                    if (TextUtils.isEmpty(this.mHomeId)) {
                        // TODO: 10/30/23 请先选择住宅进行测试,否则无法进行逆变器指令测试;
                        TipDialog("请选择一个【电站】进行测试,否则无法进行指令测试.", null);
                        return;
                    }
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    if (this.mOidList == null || this.mOidList.size() == 0) {
                        hideLoading();
                        HdlThreadLogic.toast(this, "没有oid列表数据,请先获取逆变器oid列表数据,再重新上传.");
                        return;
                    }
                    showLoading();
                    HdlDeviceLogic.getInstance().fullUpdateOid(this.mHomeId, this.mOidList, new CloudCallBeak<Boolean>() {
                        @Override
                        public void onSuccess(Boolean obj) {
                            gsonConvertJsonStr(obj);
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            setError(e.getMsg(), e.getCode());
                        }
                    });
                }
                break;
                case "获取逆变器下挂设备列表(6)": {
                    if (TextUtils.isEmpty(this.mHomeId)) {
                        // TODO: 10/30/23 请先选择住宅进行测试,否则无法进行逆变器指令测试;
                        TipDialog("请选择一个【电站】进行测试,否则无法进行指令测试.", null);
                        return;
                    }
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    showLoading();
                    HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(this.mHomeId, gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
                        @Override
                        public void onSuccess(List<CloudInverterChildDeviceBean> obj) {
                            gsonConvertJsonStr(obj);
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            setError(e.getMsg(), e.getCode());
                        }
                    });
                }
                break;
                case "获取逆变器的信息(7)": {
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    if (TextUtils.isEmpty(mGatewayBean.getAddresses())) {
                        TipDialog("逆变器addresses地址为null.", null);
                        return;
                    }
                    showLoading();
                    TcpClient.getInstance().sendModBusDataToLinkGateway(gatewayBean.getDevice_mac(), mGatewayBean.getAddresses(), 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 "恢复出厂设置(8)": {
                    if (mGatewayBean == null) {
                        TipDialog("请在设备列表里面选择一个【逆变器】,再进行指令测试.", null);
                        return;
                    }
                    ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
                    confirmationCancelDialog.show();
                    confirmationCancelDialog.setTitle("提示!");
                    confirmationCancelDialog.setContent("是否要解绑\"" + mGatewayBean.getDevice_name() + "\"?");
                    confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                        @Override
                        public void Confirm() {
                            confirmationCancelDialog.dismiss();
                            showLoading("解绑中...");
                            HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
                                @Override
                                public void onSuccess(Boolean obj) {
                                    hideLoading();
                                    gsonConvertJsonStr(obj);
                                    if (!TextUtils.isEmpty(mHomeId)) {
                                        HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToMac(mHomeId, mGatewayBean.getDevice_mac());
                                        HdlDeviceLogic.getInstance().delInverterDevice(mHomeId, mGatewayBean.getDeviceId(), null);
                                    } else {
                                        Toast.makeText(_mActivity, "电站ID为null,解绑云端上逆变器失败", Toast.LENGTH_SHORT).show();
                                    }
                                }
                                @Override
                                public void onError(HDLLinkException e) {
                                    hideLoading();
                                    setError(e.getMsg(), e.getCode());
                                }
                            });
                        }
                    });
                    confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
                        @Override
                        public void Cancel() {
                            hideLoading();
                            confirmationCancelDialog.dismiss();
                        }
                    });
                }
                break;
                default: {
                    HdlThreadLogic.runMainThread(new Runnable() {
                        @Override
                        public void run() {
                            hideLoading();
                        }
                    }, this, ShowErrorMode.YES);
                    break;
                }
            }
        } catch (Exception e) {
        }
    }
@@ -350,6 +434,48 @@
        }, this, ShowErrorMode.YES);
    }
    /**
     * 刷新UI(电站)
     *
     * @param isRefreshing 表示是下拉刷新的
     */
    private void loadNextPageHouseList(boolean isRefreshing) {
        if (isRefreshing) {
            showLoading(getString(R.string.device_loading));
        }
        //获取住宅(电站)ID列表
        HdlResidenceLogic.getInstance().getResidenceIdList("", "", "", "", "", "", 1, 200, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
            @Override
            public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        if (isRefreshing) {
                            hideLoading();
                        }
                        mHouseIdBeanList.clear();
                        //更新缓存
                        mHouseIdBeanList.addAll(houseBeanClass.getList());
                    }
                }, _mActivity, ShowErrorMode.NO);
            }
            @Override
            public void onFailure(HDLException e) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        if (isRefreshing) {
                            hideLoading();
                        }
                    }
                }, _mActivity, ShowErrorMode.NO);
            }
        });
    }
    /**
     * @param s 错误信息
@@ -382,6 +508,57 @@
        });
    }
    /**
     * 选择逆变器调试
     */
    public void selectDevice() {
        List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(this.mHomeId, null);
        DialogDeviceList dialogDeviceList = new DialogDeviceList(_mActivity, list);
        dialogDeviceList.show();
        dialogDeviceList.DeviceOnclickListener(new DialogDeviceList.OnclickListener() {
            @Override
            public void onClick(int position, GatewayBean gatewayBean) {
                dialogDeviceList.dismiss();
                if (gatewayBean == null) {
                    return;
                }
                mGatewayBean = gatewayBean;
                String str = "逆变器名称=" + gatewayBean.getDevice_name() + "_" + gatewayBean.getDevice_mac();
                viewBinding.deviceNameTv.setText(str);
            }
        });
    }
    /**
     * 选择电站调试
     */
    public void selectHome() {
//        List<HouseIdBean> list = HdlResidenceLogic.getInstance().getHouseIdList();
        List<HouseIdBean> list = this.mHouseIdBeanList;
        DialogHomeList dialogHomeList = new DialogHomeList(_mActivity, list);
        dialogHomeList.show();
        dialogHomeList.DeviceOnclickListener(new HomeAdapter.OnclickListener() {
            @Override
            public void onClick(int position, HouseIdBean houseIdBean) {
                dialogHomeList.dismiss();
                if (houseIdBean == null) {
                    return;
                }
                String homeId = "电站Id=" + houseIdBean.getHomeId();
                String homeName = "电站名称=" + houseIdBean.getHomeName();
                viewBinding.homeIdTv.setText(homeId);
                viewBinding.homeNameTv.setText(homeName);
                mGatewayBean = null;
                String str = "逆变器名称=null";
                viewBinding.deviceNameTv.setText(str);
            }
        });
    }
    public interface Listener {
        void Confirmation();
    }