public void OnTimeSyncResponse(long device_send_time, long server_recv_time, long server_send_time) { long device_recv_time = Convert.ToInt64(IotUtil.GetTimeStamp()); long now = (server_recv_time + server_send_time + device_recv_time - device_send_time) / 2; Console.WriteLine("now is " + StampToDatetime(now)); }
/// <summary> /// 设备侧删除子设备 /// </summary> /// <param name="devicesId">待删除的子设备(设备id)列表,单次删除最大不超过50个设备</param> public void ReportDeleteSubDevice(List <string> devicesId) { DeviceEvent deviceEvent = new DeviceEvent(); deviceEvent.serviceId = "$sub_device_manager"; deviceEvent.eventTime = IotUtil.GetTimeStamp(); deviceEvent.eventType = "delete_sub_device_request"; Dictionary <string, object> para = new Dictionary <string, object>(); para.Add("devices", devicesId); deviceEvent.paras = para; GetClient().ReportEvent(deviceEvent); }
/// <summary> /// 批量上报子设备状态 /// </summary> /// <param name="statuses">子设备状态列表</param> public void ReportSubDeviceStatus(List <DeviceStatus> statuses) { DeviceEvent deviceEvent = new DeviceEvent(); deviceEvent.serviceId = "$sub_device_manager"; deviceEvent.eventTime = IotUtil.GetTimeStamp(); deviceEvent.eventType = "sub_device_update_status"; Dictionary <string, object> para = new Dictionary <string, object>(); para.Add("device_statuses", statuses); deviceEvent.paras = para; GetClient().ReportEvent(deviceEvent); }
/// <summary> /// 向平台请求同步子设备信息 /// </summary> protected void SyncSubDevices() { Log.Info("start to syncSubDevices, local version is " + subDevicesPersistence.GetVersion()); DeviceEvent deviceEvent = new DeviceEvent(); deviceEvent.eventType = "sub_device_sync_request"; deviceEvent.serviceId = "sub_device_manager"; deviceEvent.eventTime = IotUtil.GetTimeStamp(); Dictionary <string, object> para = new Dictionary <string, object>(); para.Add("version", subDevicesPersistence.GetVersion()); deviceEvent.paras = para; GetClient().ReportEvent(deviceEvent); }
public void RequestTimeSync() { Dictionary <string, object> node = new Dictionary <string, object>(); node.Add("device_send_time", IotUtil.GetTimeStamp()); DeviceEvent deviceEvent = new DeviceEvent(); deviceEvent.eventType = "time_sync_request"; deviceEvent.paras = node; deviceEvent.serviceId = "$time_sync"; deviceEvent.eventTime = IotUtil.GetEventTime(); iotDevice.GetClient().messagePublishListener = this; iotDevice.GetClient().ReportEvent(deviceEvent); }