Below I have outlined the overview of what is going on:
I have a service on a Thing (weather_thing) that is triggered at regular intervals via a scheduler.
This service gets a JSON from a URL, parses it, and then assigns the information to multiple properties on the weather_thing.
Those property values are displayed in widgets, on a mashup, via the GetProperties service (I have checked the "Automatically update values when able" option).
The issue is that the widgets with the properties values assigned to them do not update automatically, but only when I manually refresh the mashup webpage.
If I go to the thing (weather_thing) and edit the value of a property, click save, then the values do update on the mashup without having to refresh.
Could anyone offer some insight into why these values don't update on their own?
Solved! Go to Solution.
Yes, it would appear the system doesn't see an addition of a new row to an Info table as a change...
The workaround was in the script, and to create a duplicate/copy of the infotable > add the row to the duplicate > set the duplicate inftable to the original. This then registers the change.
Pretty sure I've answered a similar question before, but I think perhaps the system isn't recognizing the json update as a datachange.
Try setting the datachange aspect of the property to Always and see if that helps.
else you may have to use just the 'autoupdate' approach or perhaps use a mechanism that updates a different let's say incrementing property each update which is pushed to then trigger a service call to retrieve the latest values.
Yes, it would appear the system doesn't see an addition of a new row to an Info table as a change...
The workaround was in the script, and to create a duplicate/copy of the infotable > add the row to the duplicate > set the duplicate inftable to the original. This then registers the change.