If you use standard TW subscriptions it will preserve timestamps if you send it on property updates.
If you use you own services to send data back to the platform, you can leverage "Add"+baseType+"ValueStreamEntry" service in order to add historical data ( but if you have subscriptions that depend on this past time DataChange event it won't be thrown ).
Just my two cents, I don't know if it helps.
Hi mustafa bereket,
As per my understanding you can create your own custom service which takes infotable as input parameter. Then iterate through all the rows and use UpdatePropertyValues service to update values in system. UpdatePropertyValues service takes timestamp as one of the input so we can use the same timestamp when the property was generated and make it look like it was inserted without any delay.
I hope it helps.
Thanks for your help, I was curious to see if there is anyway of updating a property with a specific timestamp data.
Like, I have a "Thing", that thing has "temp" attribute,
When I only update [MyThing][temp] in real time, everything is perfect like following;
operation 1: [MyThing][temp] = 25;
operation 2: [MyThing][temp] = 26;
operation 3: [MyThing][temp] = 27;
operation 4: [MyThing][temp] = 28;
But then, I receive another update package stating it is for the past (offline- data collected during internet outage) , then I will need to stick following data, before operation 1
operation -3: [MyThing][temp] = 19;
operation -2: [MyThing][temp] = 11;
operation -1: [MyThing][temp] = 20;
operation 0: [MyThing][temp] = 16;
I am not sure if it is possible but if I somehow can manage to do that just by using ThingWorx generic services, that would be great.
Because this way, I can just use "QueryNumberPropertyHistory" service, and keep generating my reports.
PS: I can definitely provide timestamps for offline data stream.