| | |
| | | |
| | | |
| | | import android.Manifest; |
| | | import android.bluetooth.BluetoothDevice; |
| | | import android.bluetooth.le.ScanResult; |
| | | import android.content.ComponentName; |
| | | import android.content.Context; |
| | | import android.content.Intent; |
| | |
| | | import android.content.pm.PackageManager; |
| | | import android.location.Location; |
| | | import android.location.LocationManager; |
| | | import android.net.Uri; |
| | | import android.os.IBinder; |
| | | import android.os.SystemClock; |
| | | import android.provider.Settings; |
| | |
| | | import com.hdl.photovoltaic.config.AppConfigManage; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.enums.LogoutType; |
| | | import com.hdl.photovoltaic.enums.PowerStationType; |
| | | import com.hdl.photovoltaic.internet.HttpClient; |
| | | import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; |
| | | import com.hdl.photovoltaic.internet.TcpClient; |
| | |
| | | import com.hdl.photovoltaic.ui.bean.CUserInfo; |
| | | import com.hdl.photovoltaic.ui.bean.ChatMessageBean; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.CustomBluetoothBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceInfoBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; |
| | | import com.hdl.photovoltaic.ui.bean.Geolocation; |
| | |
| | | import com.hdl.photovoltaic.ui.newC.PowerStationsListActivity; |
| | | import com.hdl.photovoltaic.uni.HDLUniMP; |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.BleWifiConfiguratorUtils; |
| | | import com.hdl.photovoltaic.utils.NetworkUtils; |
| | | import com.hdl.photovoltaic.utils.PermissionUtils; |
| | | import com.hdl.photovoltaic.utils.SharedPreUtils; |
| | |
| | | //设备定位 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_GET_DEVICE_LOCATION: { |
| | | this.uniGetDeviceFind(mode_type, data, TopicApi.DELETING_GATEWAY_FIND, callback); |
| | | ; |
| | | } |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | } |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_MODEL.equals(topic)) { |
| | | //蓝牙模块 |
| | | switch (type) { |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_PERMISSION: { |
| | | //请求蓝牙权限 |
| | | boolean isGranted = HdlBluetoothLogic.getInstance().getMissingPermissions(); |
| | | uniSuccessCallback(mode_type, isGranted, callback); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_OPEN_SETTING: { |
| | | //前往蓝牙设置页 |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); |
| | | Uri uri = Uri.fromParts("package", HDLApp.getInstance().getPackageName(), null); |
| | | intent.setData(uri); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_LIST: { |
| | | //搜索/停止蓝牙(startSearch,stopSearch) |
| | | String startSearch = getKeyValue("operateType", getKeyValue("data", data)); |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | if (!HdlBluetoothLogic.getInstance().checkBluetoothEnabled()) { |
| | | uniCallbackData(mode_type, 1, -2, HDLApp.getInstance().getString(R.string.bluetooth_not_enabled), callback); |
| | | } |
| | | if (startSearch.equals("startSearch")) { |
| | | HdlBluetoothLogic.getInstance().scanDevices(new BleWifiConfiguratorUtils.ScanListener() { |
| | | @Override |
| | | public void onDeviceFound(BluetoothDevice device, int rssi, byte[] scanRecord, ScanResult result) { |
| | | try { |
| | | // |
| | | if (result.getScanRecord().getDeviceName() == null || !result.getScanRecord().getDeviceName().startsWith("BMS")) { |
| | | return; |
| | | } |
| | | // 检查 MAC 地址是否匹配 |
| | | String deviceAddress = device.getAddress(); |
| | | if (!TextUtils.isEmpty(mac) && !deviceAddress.equals(mac)) { |
| | | // 如果指定了 MAC 地址且不匹配,直接返回 |
| | | return; |
| | | } |
| | | //创建并推送设备信息 |
| | | CustomBluetoothBean customBluetoothBean = new CustomBluetoothBean(); |
| | | customBluetoothBean.setBluetoothName(result.getScanRecord().getDeviceName()); |
| | | customBluetoothBean.setBluetoothMac(device.getAddress()); |
| | | // customBluetoothBean.setUuid(result.getScanRecord()); |
| | | HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_find_bluetooth_device); |
| | | uniCallBackBaseBean.setData(customBluetoothBean); |
| | | HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); |
| | | Log.d("HdlUniLogic", "onDeviceFound: " + new Gson().toJson(customBluetoothBean)); |
| | | |
| | | |
| | | } catch (Exception ignored) { |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onScanFailed(int errorCode) { |
| | | Log.d("HdlUniLogic", "onScanFailed: " + errorCode); |
| | | // uniCallbackData(mode_type, errorCode, -2, "Bluetooth is not enabled.", callback); |
| | | } |
| | | }); |
| | | } else { |
| | | HdlBluetoothLogic.getInstance().stopScan(); |
| | | // uniSuccessCallback(mode_type, true, callback); |
| | | Log.d("HdlUniLogic", "stopScan: "); |
| | | } |
| | | uniSuccessCallback(mode_type, true, callback); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Connect: { |
| | | //先停止吧,再连接 |
| | | HdlBluetoothLogic.getInstance().stopScan(); |
| | | //连接蓝牙 |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlBluetoothLogic.getInstance().connect(mac, new BleWifiConfiguratorUtils.ConnectListener() { |
| | | @Override |
| | | public void onConnected() { |
| | | Log.d("HdlUniLogic", "onConnected: "); |
| | | uniSuccessCallback(mode_type, true, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onDisconnected() { |
| | | Log.d("HdlUniLogic", "onDisconnected: "); |
| | | uniCallbackData(type, null, -2, "disconnected", callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onConnectionFailed(String reason) { |
| | | Log.d("HdlUniLogic", "onConnectionFailed: " + reason); |
| | | uniCallbackData(type, null, -2, "connectionFailed " + reason, callback); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Disconnect: { |
| | | //断开蓝牙设备 |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlBluetoothLogic.getInstance().disconnect(mac); |
| | | Log.d("HdlUniLogic", "断开蓝牙设备: "); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Send: { |
| | | //发送数据给设备 |
| | | String objString = getKeyValue("data", data); |
| | | HdlBluetoothLogic.getInstance().sendConfig(objString, new BleWifiConfiguratorUtils.WriteListener() { |
| | | @Override |
| | | public void onWriteSuccess() { |
| | | Log.d("HdlUniLogic", "onWriteSuccess: "); |
| | | } |
| | | |
| | | @Override |
| | | public void onWriteComplete(boolean success) { |
| | | Log.d("HdlUniLogic", "onWriteComplete: " + success); |
| | | } |
| | | |
| | | @Override |
| | | public void onWriteFailed(int status) { |
| | | Log.d("HdlUniLogic", "onWriteFailed: " + status); |
| | | uniCallbackData(type, status, -2, HDLApp.getInstance().getString(R.string.write_failed), callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onDeviceResponse(String response) { |
| | | Log.d("HdlUniLogic", "onDeviceResponse: " + response); |
| | | uniSuccessCallback(mode_type, response, callback); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_status_check: { |
| | | //检查蓝牙连接状态 |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | boolean status = HdlBluetoothLogic.getInstance().bluetoothStatusCheck(mac); |
| | | uniSuccessCallback(mode_type, status, callback); |
| | | Log.d("HdlUniLogic", "bluetoothStatusCheck: " + status); |
| | | |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Release: { |
| | | //释放蓝牙设备资源 |
| | | HdlBluetoothLogic.getInstance().release(); |
| | | Log.d("HdlUniLogic", "释放蓝牙设备资源: "); |
| | | |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Bms_Device_Bluetooth_Get: { |
| | | //获取蓝牙状态(BMS设备) |
| | | this.uniGetOrSetDeviceBluetooth(mode_type, data, TopicApi.GATEWAY_Bluetooth_Get, callback); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Bms_Device_Bluetooth_Set: { |
| | | //蓝牙设置开启/关闭(BMS设备) |
| | | this.uniGetOrSetDeviceBluetooth(mode_type, data, TopicApi.GATEWAY_Bluetooth_Set, callback); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | HdlLogLogic.print("uni---发送---" + e.getMessage(), true); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取设备蓝牙状态,设置蓝牙开开启或者关闭 |
| | | * |
| | | * @param callback - |
| | | */ |
| | | private void uniGetOrSetDeviceBluetooth(String type, Object data, String TopicApi, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | JsonArray jsonArray = new JsonArray(); |
| | | JsonObject jObject = null; |
| | | String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); |
| | | if (!TextUtils.isEmpty(attribute_data)) { |
| | | try { |
| | | jObject = new Gson().fromJson(attribute_data, JsonObject.class); |
| | | } catch (Exception ignored) { |
| | | jObject = new JsonObject(); |
| | | } |
| | | } |
| | | jsonArray.add(jObject); |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, true, TopicApi, jsonArray, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String s) { |
| | | if (callback != null) { |
| | | try { |
| | | if (s.startsWith("{")) { |
| | | uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback); |
| | | } else if (s.startsWith("[")) { |
| | | uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback); |
| | | } else { |
| | | uniSuccessCallback(type, s, callback); |
| | | } |
| | | } catch (Exception e) { |
| | | uniSuccessCallback(type, s, callback); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | if (callback != null) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | |
| | | jsonObject.addProperty("homeId", houseIdBean.getHomeId()); |
| | | jsonObject.addProperty("homeName", houseIdBean.getHomeName()); |
| | | jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus() + ""); |
| | | jsonObject.addProperty("powerStationType", houseIdBean.getPowerStationType()); |
| | | HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS); |
| | | uniCallBackBaseBean.setData(jsonObject); |
| | |
| | | }); |
| | | } else { |
| | | HdlLogLogic.print("在线升级---", true); |
| | | //远程升级需要检测在逆变器有没有连接上云 |
| | | HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | //2026年03月31日14:59:10 云端会校验设备状态 |
| | | HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | | HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | // //远程升级需要检测在逆变器有没有连接上云 |
| | | // HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, plantType, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | // @Override |
| | | // public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | // //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | // if (cloudInverterDeviceBean == null) { |
| | | // uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | // uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // //4:运行 |
| | | // HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | // @Override |
| | | // public void onSuccess(Boolean obj) { |
| | | // uniSuccessCallback(type, obj, callback); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | // |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HdlLogLogic.print("在线升级---", true); |
| | | //远程升级需要检测在逆变器有没有连接上云 |
| | | HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | //2026年03月31日14:59:10 云端会校验设备状态 |
| | | HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | | HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | // //远程升级需要检测在逆变器有没有连接上云 |
| | | // HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, plantType, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | // @Override |
| | | // public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | // //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | // if (cloudInverterDeviceBean == null) { |
| | | // uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | // uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // //4:运行 |
| | | // HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { |
| | | // @Override |
| | | // public void onSuccess(Boolean obj) { |
| | | // uniSuccessCallback(type, obj, callback); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | // |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | } |
| | | }); |
| | | |
| | |
| | | private void uniUpgradeGatewayDriver(String type, Object data, DCUniMPJSCallback callback) { |
| | | |
| | | String homeId = UserConfigManage.getInstance().getHomeId(); |
| | | String plantType = getKeyValue("plantType", getKeyValue("data", data)); |
| | | String deviceMac = getKeyValue("mac", getKeyValue("data", data));//逆变器设备mac(查找socket) |
| | | String deviceOid = getKeyValue("oid", getKeyValue("data", data));//逆变器设备oid |
| | | String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id |
| | |
| | | }); |
| | | } else { |
| | | HdlLogLogic.print("在线升级---", true); |
| | | //远程升级需要【检测】在逆变器有没有连接上云 |
| | | HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | //2026年03月31日14:59:10 云端会校验设备状态 |
| | | HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | | HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | // //远程升级需要【检测】在逆变器有没有连接上云 |
| | | // HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, plantType, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | // @Override |
| | | // public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | // //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | // if (cloudInverterDeviceBean == null) { |
| | | // uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | // uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // //4:运行 |
| | | // HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | // @Override |
| | | // public void onSuccess(Boolean obj) { |
| | | // uniSuccessCallback(type, obj, callback); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | // |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HdlLogLogic.print("在线升级---", true); |
| | | //远程升级需要【检测】在逆变器有没有连接上云 |
| | | HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | //2026年03月31日14:59:10 云端会校验设备状态 |
| | | HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | | HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | |
| | | public void onSuccess(Boolean obj) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | |
| | | @Override |
| | |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | // //远程升级需要【检测】在逆变器有没有连接上云 |
| | | // HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, plantType, new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | // @Override |
| | | // public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | // //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | // if (cloudInverterDeviceBean == null) { |
| | | // uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { |
| | | // uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | // return; |
| | | // } |
| | | // //4:运行 |
| | | // HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { |
| | | // @Override |
| | | // public void onSuccess(Boolean obj) { |
| | | // uniSuccessCallback(type, obj, callback); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | // |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // } |
| | | // }); |
| | | } |
| | | }); |
| | | |
| | |
| | | */ |
| | | private void uniGetCurrentHomeLocalAndCloudGatewayList(String type, Object data, DCUniMPJSCallback callback) { |
| | | String homeId = getKeyValue("homeId", getKeyValue("data", data)); |
| | | String plantType = getKeyValue("plantType", getKeyValue("data", data)); |
| | | // UserConfigManage.getInstance().setHomeId(homeId); |
| | | HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() { |
| | | HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, plantType, new CloudCallBeak<List<GatewayBean>>() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> list) { |
| | | List<GatewayBean> newList = sortLogic(list); |