Commit e10462fe0fb19f48bd161aff377c9606f7b60a07

Authored by lijianfa_14810364212
1 parent d024ac85

fix:解决边端向云端推送事件,云端设备不上线问题

... ... @@ -271,6 +271,7 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
271 271 }
272 272 log.trace("[{}] on Device Activity [{}], lastReportedActivity [{}]", tenantId.getId(), deviceId.getId(), lastReportedActivity);
273 273 final DeviceStateData stateData = getOrFetchDeviceStateData(deviceId);
  274 + System.out.println("State : "+stateData.getState().isActive());
274 275 if (lastReportedActivity > 0 && lastReportedActivity > stateData.getState().getLastActivityTime()) {
275 276 updateActivityState(deviceId, stateData, lastReportedActivity);
276 277 }
... ... @@ -292,8 +293,9 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
292 293 //thingkit function
293 294 String tenantId = stateData.getTenantId().getId().toString();
294 295 String tbDeviceId = deviceId.getId().toString();
295   - tkDeviceService.updateDeviceStateByTbDeviceId(tenantId,tbDeviceId,
296   - org.thingsboard.server.common.data.yunteng.enums.DeviceState.ONLINE);
  296 +// tkDeviceService.updateDeviceStateByTbDeviceId(tenantId,tbDeviceId,
  297 +// org.thingsboard.server.common.data.yunteng.enums.DeviceState.ONLINE);
  298 +
297 299 //ThingsKit
298 300 saveDeviceStateLog(tenantId,tbDeviceId, FastIotConstants.StateValue.ONLINE);
299 301 }
... ... @@ -602,6 +604,7 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
602 604 saveDeviceStateLog(tenantId,tbDeviceId, FastIotConstants.StateValue.OFFLINE);
603 605 //thingskit update tkDevice state
604 606 channelService.updateVideoChannelState(deviceId.getId().toString(), StatusEnum.OFFLINE);
  607 + state.setActive(false);
605 608 }
606 609 } else {
607 610 cleanupEntity(deviceId);
... ... @@ -689,13 +692,14 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
689 692
690 693 private ListenableFuture<DeviceStateData> fetchDeviceState(Device device) {
691 694 ListenableFuture<DeviceStateData> future;
692   - if (persistToTelemetry) {
693   - ListenableFuture<List<TsKvEntry>> tsData = tsService.findLatest(TenantId.SYS_TENANT_ID, device.getId(), PERSISTENT_ATTRIBUTES);
694   - future = Futures.transform(tsData, extractDeviceStateData(device), MoreExecutors.directExecutor());
695   - } else {
  695 + //thingskit code因为我们的设备在线逻辑总是从attribute取数据,所以这里也总是从attribute取数据
  696 +// if (persistToTelemetry) {
  697 +// ListenableFuture<List<TsKvEntry>> tsData = tsService.findLatest(TenantId.SYS_TENANT_ID, device.getId(), PERSISTENT_ATTRIBUTES);
  698 +// future = Futures.transform(tsData, extractDeviceStateData(device), MoreExecutors.directExecutor());
  699 +// } else {
696 700 ListenableFuture<List<AttributeKvEntry>> attrData = attributesService.find(TenantId.SYS_TENANT_ID, device.getId(), SERVER_SCOPE, PERSISTENT_ATTRIBUTES);
697 701 future = Futures.transform(attrData, extractDeviceStateData(device), MoreExecutors.directExecutor());
698   - }
  702 +// }
699 703 return transformInactivityTimeout(future);
700 704 }
701 705
... ...