Aakash, what is updating the infotable? Can you not create an Event/Alert on that? In a crude and straight forward way you can simply create a Timer thing which subscribes to the Timer which fires every few seconds (you can configure as you feel). And in that Timer you can create a subscription which listens to itself. Under this subscription you can add your code to count the rows of the infotable and this way you have current state of the rows in the Infotable. For e.g. i added this code snippet in the Subscription like this and writes to a property GetCurrentTotalValue in DemoThing
result = Things["demothing"].infotableProp.getRowCount(); Things["demothing"].GetCurrentTotalValue = result;
This is how my subscription looks like:
This timer fires every second and gets me the current row which I then store in a property in a Thing which contains a property persisting the infotable looks something like this. The GetCurrentTotalValue property below gets updated everytime the Timer thing is fired (which is every second) and updates the value
Hope this helps.
I need mainly to capture the data change event of GetCurrentTotalValue as new and old value based on timeline(datachange event) and determine whether the new item is added to it or removed from it.
If you have worked with datachange event in subscription it would be really helpful for me.
Thanks in advance
Aakash, I think your requirement to track the change of a single property isn't very different from the title of your question. Whether its a property or an infotable you are trying to track periodically. You just need an Alert/Event fired to which you can subscribe. That's how the Event - Subscription model works. So if your requirement is to simply track the change in property value then you can create a Subscription on that property which uses an OOTB Event called DataChange on GetCurrentTotalValue property and that's it. Here's how it would look when you'll configure it
Once enabled this subscription will execute the code you'll put in whenever there's a DataChange Event fired on Property GetCurrentTotalValue
Yes Sushant Pandey
As per my Title i need the timer event to get count periodically as well as the datachange of GetcurrentTotalValue must also be used to compare the timeline of datachange and generate the result whether item is added or removed from it.
Thanks for your reply
The complete Usecase of mine is to count the entries of infotable at frequent interval and notify the user if any entry is either added to it or deleted from it.
I hope you could get it now.
Is it possible to combine value stream and timer?
I'm not sure what you mean with combining value stream and timer these are two different things, sorry I don't want to confuse you with too many options. I just want to say that you can meet your requirement described above by using the Events and Subscription model. I hope it's clear how you can use them with the screenshot and description above. Else you can also refer to the Thing Events and Thing Subscription for more detail.