| | |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.base.CustomBaseActivity; |
| | | import com.hdl.photovoltaic.bean.PageNumberObject; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.databinding.ActivityDeviceSearchBinding; |
| | | import com.hdl.photovoltaic.enums.ShowErrorMode; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | |
| | | import com.hdl.photovoltaic.ui.adapter.DeviceInfoAdapter; |
| | | import com.hdl.photovoltaic.ui.adapter.SearchDeviceAdapter; |
| | | import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.uni.HDLUniMP; |
| | | import com.hdl.photovoltaic.utils.URLEncodingUtils; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.config.HDLLinkConfig; |
| | | import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | |
| | | SearchDeviceAdapter searchDeviceAdapter;//设备适配器 |
| | | SearchHistoryAdapter searchHistoryAdapter;//历史记录适配器 |
| | | |
| | | private List<DeviceBean> deviceList = new ArrayList<>(); |
| | | private List<CloudInverterDeviceBean> deviceList = new ArrayList<>(); |
| | | |
| | | private int currentHouseListPage = 0; // 当前电站列表页码 |
| | | private int currentHouseListTotal = 0; // 电站列表总页码 |
| | |
| | | //设备点击是事件 |
| | | searchDeviceAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() { |
| | | @Override |
| | | public void onClick(int position, DeviceBean deviceBean) { |
| | | GatewayBean gatewayBean = new GatewayBean(); |
| | | gatewayBean.setCategorySecondName(deviceBean.getCategorySecondName()); |
| | | gatewayBean.setDevice_mac(deviceBean.getOsn()); |
| | | gatewayBean.setDevice_model(deviceBean.getOmodel()); |
| | | gatewayBean.setOid(deviceBean.getOid()); |
| | | gatewayBean.setGatewayId(deviceBean.getGatewayId()); |
| | | gatewayBean.setAddresses(deviceBean.getAddresses()); |
| | | gatewayBean.setSid(deviceBean.getSid()); |
| | | gatewayBean.setDeviceId(deviceBean.getDeviceId()); |
| | | gatewayBean.setDevice_name(deviceBean.getName()); |
| | | gatewayBean.setDeviceStatus(deviceBean.getDeviceStatus()); |
| | | gatewayBean.setHomeId(deviceBean.getHomeId()); |
| | | gatewayBean.setDeviceType(deviceBean.getDeviceType()); |
| | | String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(gatewayBean)); |
| | | String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption; |
| | | HdlUniLogic.getInstance().openUniMP(path, null); |
| | | public void onClick(int position, CloudInverterDeviceBean deviceBean) { |
| | | //配置本地通信的信息 |
| | | HDLLinkConfig.getInstance().setHomeId(deviceBean.getHomeId()); |
| | | HDLLinkConfig.getInstance().setLocalSecret(deviceBean.getLocalSecret()); |
| | | List<CloudInverterDeviceBean> newList = new ArrayList<>(); |
| | | newList.add(deviceBean); |
| | | //目的是为了获取拿到网关ID,mqtt通讯秘钥等信息,缓存本地逆变器列表里面,发送数据数据时自动去缓存列表里面去查找; |
| | | HdlDeviceLogic.getInstance().setDeviceRemoteInfo(newList, deviceBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> obj) { |
| | | GatewayBean newGatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(deviceBean.getOsn()); |
| | | String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(newGatewayBean)); |
| | | String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption; |
| | | HdlUniLogic.getInstance().openUniMP(path, null); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | |
| | | } |
| | | |
| | | //获取云端上设备列表 |
| | | HdlDeviceLogic.getInstance().getPowerStationDeviceList(currSearchText, pageNo, 20, new CloudCallBeak<PageNumberObject<DeviceBean>>() { |
| | | HdlDeviceLogic.getInstance().getPowerStationDeviceList(currSearchText, pageNo, 20, new CloudCallBeak<PageNumberObject<CloudInverterDeviceBean>>() { |
| | | @Override |
| | | public void onSuccess(PageNumberObject<DeviceBean> deviceClass) { |
| | | public void onSuccess(PageNumberObject<CloudInverterDeviceBean> deviceClass) { |
| | | HdlThreadLogic.runMainThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | |
| | | } |
| | | } |
| | | |
| | | public void setDeviceList(List<DeviceBean> list) { |
| | | public void setDeviceList(List<CloudInverterDeviceBean> list) { |
| | | if (list == null || list.size() == 0) { |
| | | return; |
| | | } |
| | |
| | | * |
| | | * @param deviceBean -设备对象 |
| | | */ |
| | | public void setSingleDevice(DeviceBean deviceBean) { |
| | | public void setSingleDevice(CloudInverterDeviceBean deviceBean) { |
| | | try { |
| | | if (deviceBean == null) { |
| | | return; |