| | |
| | | import com.hdl.photovoltaic.ui.bean.MemberBean; |
| | | import com.hdl.photovoltaic.ui.bean.NotRunBean; |
| | | import com.hdl.photovoltaic.ui.bean.OidBean; |
| | | import com.hdl.photovoltaic.ui.bean.QrcodeUrlBean; |
| | | import com.hdl.photovoltaic.ui.bean.StaffBean; |
| | | import com.hdl.photovoltaic.ui.bean.UnCountBean; |
| | | import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; |
| | |
| | | break; |
| | | //逆变器以太网配置 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ETHERNET_SET: { |
| | | uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_EDIT, callback); |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, "", callback); |
| | | } |
| | | //uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_EDIT, callback); |
| | | } |
| | | break; |
| | | //逆变器以太网获取 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ETHERNET_GET: { |
| | | uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_GET, callback); |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, "", callback); |
| | | } |
| | | //uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_GET, callback); |
| | | } |
| | | break; |
| | | |
| | |
| | | public void onSuccess(String obj) { |
| | | try { |
| | | Gson g = new Gson(); |
| | | JsonObject jObject = g.fromJson(obj, JsonObject.class); |
| | | String deliveryUrl = jObject.get("deliveryUrl").toString(); |
| | | uniSuccessCallback(type, deliveryUrl, callback); |
| | | QrcodeUrlBean qrcodeUrlBean = g.fromJson(obj, QrcodeUrlBean.class); |
| | | uniSuccessCallback(type, qrcodeUrlBean.getDeliveryUrl(), callback); |
| | | } catch (Exception ignored) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | |
| | | //ACCESS_COARSE_LOCATION 允许使用WIFI热点或基站来获取粗略的定位 |
| | | if (ActivityCompat.checkSelfPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { |
| | | geolocation.setResult(-2); |
| | | geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_no_location_information_permission)); |
| | | geolocation.setDes(HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_no_location_information_permission)); |
| | | uniSuccessCallback(type, geolocation, callback); |
| | | return; |
| | | } |
| | | // 判断设备是否支持定位功能 |
| | | if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { |
| | | geolocation.setResult(-1); |
| | | geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_the_location_function_is_not_enabled)); |
| | | geolocation.setDes(HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_the_location_function_is_not_enabled)); |
| | | //todo 提示用户打开定位功能或者引导用户去系统设置页面打开定位功能 |
| | | uniSuccessCallback(type, geolocation, callback); |
| | | return; |
| | |
| | | Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); |
| | | if (location == null) { |
| | | geolocation.setResult(-3); |
| | | geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_unable_location_move10_meters_later)); |
| | | geolocation.setDes(HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_unable_location_move10_meters_later)); |
| | | uniSuccessCallback(type, geolocation, callback); |
| | | return; |
| | | } |
| | | geolocation.setResult(0); |
| | | geolocation.setDes(HDLApp.getInstance().getString(R.string.succeed)); |
| | | geolocation.setDes(HDLApp.getInstance().getAppLocaleContext().getString(R.string.succeed)); |
| | | BigDecimal latitude = BigDecimal.valueOf(location.getLatitude());//经度 |
| | | BigDecimal longitude = BigDecimal.valueOf(location.getLongitude());//纬度 |
| | | double lat = latitude.setScale(6, RoundingMode.HALF_DOWN).doubleValue(); |
| | |
| | | } |
| | | |
| | | if (isBoolean) { |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getString(R.string.writing_firmware_upgrade_memory_succeeded), callback); |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getAppLocaleContext().getString(R.string.writing_firmware_upgrade_memory_succeeded), callback); |
| | | } else { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.download_firmware_upgrade_file_failed), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.download_firmware_upgrade_file_failed), callback); |
| | | } |
| | | } |
| | | }); |
| | |
| | | String firmwarePathFileName = HdlFileLogic.getInstance().getFirmwarePathFileName(imageId, version); |
| | | byte[] data = HdlFileLogic.getInstance().readFileByte(firmwarePathFileName); |
| | | if (data == null || data.length == 0) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.found_locally_firmware_upgrade_file), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.found_locally_firmware_upgrade_file), callback); |
| | | return; |
| | | } |
| | | String md5 = HDLMD5Utils.encodeMD5(data);//网关固件需要 |
| | |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.notify_gateway_firmware_upgrade_failed), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.notify_gateway_firmware_upgrade_failed), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onServiceDisconnected(ComponentName name) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.local_service_fails), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.local_service_fails), callback); |
| | | } |
| | | }); |
| | | } else { |
| | |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() != 3) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() != 3) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | |
| | | HdlFileLogic.getInstance().deleteFile(drivePathFileName);//下载失败,删除不完整驱动文件; |
| | | } |
| | | if (isBoolean) { |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getString(R.string.writing_drive_memory_succeeded), callback); |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getAppLocaleContext().getString(R.string.writing_drive_memory_succeeded), callback); |
| | | } else { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.download_drive_file_failed), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.download_drive_file_failed), callback); |
| | | } |
| | | } |
| | | }); |
| | |
| | | String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version); |
| | | byte[] data = HdlFileLogic.getInstance().readFileByte(drivePathFileName); |
| | | if (data == null || data.length == 0) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.found_locally_drive_file), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.found_locally_drive_file), callback); |
| | | return; |
| | | } |
| | | String md5 = HDLMD5Utils.encodeMD5(data);//网关驱动需要 |
| | |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.notify_gateway_drive_failed), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.notify_gateway_drive_failed), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onServiceDisconnected(ComponentName name) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getString(R.string.local_service_fails), callback); |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.local_service_fails), callback); |
| | | } |
| | | }); |
| | | } else { |
| | |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() != 3) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | |
| | | public void onSuccess(CloudInverterDeviceBean cloudInverterDeviceBean) { |
| | | //1:连接中,2:故障,3:运行,4:离线,6:逆变器连不上云(自定义) |
| | | if (cloudInverterDeviceBean == null) { |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | if (cloudInverterDeviceBean.getDeviceStatus() != 3) { |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); |
| | | return; |
| | | } |
| | | //4:运行 |
| | |
| | | */ |
| | | private void uniCancelDownloadingUpgradeFile(String type, Object data, DCUniMPJSCallback callback) { |
| | | HdlOtaLogic.getInstance().stopDownloadUpgradeFile(); |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getString(R.string.cancel_download_successfully), callback); |
| | | uniCallbackData(type, null, 0, HDLApp.getInstance().getAppLocaleContext().getString(R.string.cancel_download_successfully), callback); |
| | | } |
| | | |
| | | /** |
| | |
| | | public String getDeviceStatusString(int deviceStatus) { |
| | | switch (deviceStatus) { |
| | | case 1: { |
| | | return HDLApp.getInstance().getString(R.string.my_power_station_connecting); |
| | | return HDLApp.getInstance().getAppLocaleContext().getString(R.string.my_power_station_connecting); |
| | | } |
| | | case 2: { |
| | | return HDLApp.getInstance().getString(R.string.my_power_station_malfunction); |
| | | return HDLApp.getInstance().getAppLocaleContext().getString(R.string.my_power_station_malfunction); |
| | | } |
| | | case 4: { |
| | | return HDLApp.getInstance().getString(R.string.my_power_station_off_line); |
| | | return HDLApp.getInstance().getAppLocaleContext().getString(R.string.my_power_station_off_line); |
| | | } |
| | | default: |
| | | return ""; |
| | |
| | | public void onSuccess(Boolean obj) { |
| | | GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac); |
| | | if (gatewayBean == null) { |
| | | uniCallbackData(type, null, -100, HDLApp.getInstance().getString(R.string.The_gateway_cannot_be_found_locally), callback); |
| | | uniCallbackData(type, null, -100, HDLApp.getInstance().getAppLocaleContext().getString(R.string.The_gateway_cannot_be_found_locally), callback); |
| | | |
| | | return; |
| | | } |
| | |
| | | }.getType(); |
| | | List<GatewayBean> list = gson.fromJson(devices, typeOfT); |
| | | if (list == null || list.size() == 0) { |
| | | uniCallbackData(type, null, -100, HDLApp.getInstance().getString(R.string.The_gateway_cannot_be_found_locally), callback); |
| | | uniCallbackData(type, null, -100, HDLApp.getInstance().getAppLocaleContext().getString(R.string.The_gateway_cannot_be_found_locally), callback); |
| | | return; |
| | | } |
| | | //记录条数 |
| | |
| | | //HdlLogLogic.print("uni---发送---ModBus---" + Arrays.toString(modBusBean.getData()), true); |
| | | //发送modbus协议 |
| | | long startTime = System.currentTimeMillis(); |
| | | HDLModBusConnect.getInstance().Send(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { |
| | | HDLModBusConnect.getInstance().asyncSend(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { |
| | | @Override |
| | | public void onSuccess(int[] data) { |
| | | uniSuccessCallback(type, data, callback); |