| | |
| | | import android.location.Location; |
| | | import android.location.LocationManager; |
| | | import android.os.IBinder; |
| | | import android.os.SystemClock; |
| | | import android.provider.Settings; |
| | | import android.text.TextUtils; |
| | | |
| | |
| | | import com.google.gson.JsonArray; |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hdl.link.error.HDLLinkCode; |
| | | import com.hdl.linkpm.sdk.core.exception.HDLException; |
| | | import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; |
| | |
| | | import com.hdl.linkpm.sdk.utils.HDLMD5Utils; |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.bean.InverterBean; |
| | | import com.hdl.photovoltaic.bean.LocalResponse; |
| | | import com.hdl.photovoltaic.bean.ModBusBean; |
| | | import com.hdl.photovoltaic.bean.PageNumberObject; |
| | | import com.hdl.photovoltaic.config.AppConfigManage; |
| | |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.NetworkUtils; |
| | | import com.hdl.photovoltaic.utils.WifiUtils; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkCode; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | |
| | | case HDLUniMP.UNI_EVENT_REPLY_HOME_ADD: { |
| | | String url = getKeyValue("url", getKeyValue("data", data)); |
| | | //EventBus事件分发 |
| | | HdlCommonLogic.getInstance().postEventBusSticky( |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, |
| | | url); |
| | | HdlCommonLogic.getInstance().postEventBusSticky(HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, url); |
| | | |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, null, callback); |
| | |
| | | //创建电站 |
| | | case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { |
| | | //EventBus事件分发 |
| | | HdlCommonLogic.getInstance().postEventBus( |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, |
| | | getKeyValue("data", data)); |
| | | HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, getKeyValue("data", data)); |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, null, callback); |
| | | } |
| | |
| | | //住宅【电站】编辑 |
| | | case HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT: { |
| | | //EventBus事件分发 |
| | | HdlCommonLogic.getInstance().postEventBus( |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, |
| | | HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, |
| | | getKeyValue("data", data)); |
| | | HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, getKeyValue("data", data)); |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, null, callback); |
| | | } |
| | |
| | | this.uniSetDeviceStartup(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //获取设备详情 |
| | | //获取设备详情(云端设备) |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_info: { |
| | | this.uniGetDeviceInfo(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //获取逆变器详情(物理设备) |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_gateway_info: { |
| | | this.uniGetGatewayInfo(mode_type, data, callback); |
| | | } |
| | | break; |
| | | } |
| | |
| | | String localSecret = HDLLinkConfig.getInstance().getLocalSecret(); |
| | | JsonObject jsonObject = new JsonObject(); |
| | | jsonObject.addProperty("local_encrypt", localSecret); |
| | | HdlLogLogic.print("uni---log---本地密钥获取---" + localSecret, true); |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, jsonObject, callback); |
| | | } |
| | | HdlLogLogic.print("uni---log---" + localSecret, true); |
| | | |
| | | } |
| | | break; |
| | | //本地密钥设置 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOCAL_ENCRYPT_SET: { |
| | | String local_encrypt = getKeyValue("local_encrypt", getKeyValue("data", data)); |
| | | //重新设置本地通讯秘钥 |
| | | UserConfigManage.getInstance().setLocalSecret(local_encrypt); |
| | | UserConfigManage.getInstance().Save(); |
| | | //配置本地通信的信息 |
| | | HDLLinkConfig.getInstance().setLocalSecret(local_encrypt); |
| | | HdlLogLogic.print("uni---log---" + local_encrypt, true); |
| | | |
| | | if (!TextUtils.isEmpty(local_encrypt)) { |
| | | //重新设置本地通讯秘钥 |
| | | UserConfigManage.getInstance().setLocalSecret(local_encrypt); |
| | | UserConfigManage.getInstance().Save(); |
| | | //配置本地通信的信息 |
| | | HDLLinkConfig.getInstance().setLocalSecret(local_encrypt); |
| | | HdlLogLogic.print("uni---log---本地密钥设置---" + local_encrypt, true); |
| | | } |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, true, callback); |
| | | } |
| | | } |
| | | break; |
| | | //link进行密码验证 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_Password_verifiy: { |
| | | uniCheckPasswordVerification(mode_type, data, callback); |
| | | } |
| | | break; |
| | | } |
| | |
| | | //region ******uni接口方法****** |
| | | |
| | | /** |
| | | * link进行密码验证 |
| | | */ |
| | | private void uniCheckPasswordVerification(String type, Object data, DCUniMPJSCallback callback) { |
| | | String password = getKeyValue("password", getKeyValue("data", data)); |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlDeviceLogic.getInstance().getPasswordVerification(mac, password, new LinkCallBack<LocalResponse>() { |
| | | @Override |
| | | public void onSuccess(LocalResponse obj) { |
| | | |
| | | if (callback != null) { |
| | | uniCallbackData(type, obj.getObjects(), obj.getCode(), obj.getMsg(), callback); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | |
| | | if (callback != null) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 电站删除 |
| | | */ |
| | | private void uniGetDelResidence(String type, Object data, DCUniMPJSCallback callback) { |
| | |
| | | HdlUniLogic.getInstance().openUniMP(path, null); |
| | | } else { |
| | | HouseIdBean houseIdBean = HouseIdList.get(0);//默认拿第一个 |
| | | HdlResidenceLogic.getInstance().switchHouse(houseIdBean); |
| | | HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true); |
| | | JsonObject jsonObject = new JsonObject(); |
| | | jsonObject.addProperty("homeId", houseIdBean.getHomeId()); |
| | | jsonObject.addProperty("homeName", houseIdBean.getHomeName()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取设备详情 |
| | | * 获取设备详情(云端) |
| | | * |
| | | * @param type 类型 |
| | | * @param data uni请求数据 |
| | |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取逆变器详情 |
| | | * |
| | | * @param type 类型 |
| | | * @param data uni请求数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | public void uniGetGatewayInfo(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlDeviceLogic.getInstance().getGatewayInfo(mac, new LinkCallBack<InverterBean>() { |
| | | @Override |
| | | public void onSuccess(InverterBean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 发送modbus协议数据 |