Question / Possible Issue with Meta Data Source Not Updating
I have an issue where a data point in a Meta Data Source is not updating as it should (or as I understand it should.) It may be my mis-understanding, but wanted to see for sure...
The overview view is that I have a Meta Data Source that uses the Slave Monitor to Update Context, and pulls its stats to see what percent of time over the past minute have been a 1 or 0 to give us an idea of the comms with the modbus device.
I have this setup working on a test instance:
- Virtual data source (Updates every second) housing the Slave Monitor that I update manually
- Meta data source/data point updates every second as well, and all is good when I test. The meta data point gives the correct % for time the slave value is 1.
- I also tested knocking the virtual data source updates to every 30 seconds and the meta data source and point updated every 30 seconds as well, which seems expected.
In Prod we have a similar setup, but it doesn't seem to be working
- Modbus data source (updates every 3 seconds) using the Slave Monitor point with actual readings
- Meta data source does not update really at all; only when the Slave Monitor value changes which doesn't give an accurate % of time the slave is at 1. I have to force a poll to get it to update the value.
Based on the behavior I see in test with the virtual data source, I was expecting the meta data point to update every 3 seconds in Prod, but it isn't. Is there something else I need to do to make this happen?
As a workaround, I followed Phil's advice on this post: https://forum.mango-os.com/topic/4214/unable-to-add-meta-point-as-context-to-itself/4 and added the command to force the update within a Scripting data source that runs every 3 seconds.
I don't really care for this solution though. It seems like the Meta Data point should be updating. Any help/advice is appreciated.
MattFox last edited by
Meta data source does not update really at all; only when the Slave Monitor value changes which doesn't give an accurate % of time the slave is at 1. I have to force a poll to get it to update the value.
So is it the slave monitor used as the context point?
And have you got the meta point firing on update, or on change?
We do have the Slave Monitor as the context point. The Context event type is Update.
terrypacker last edited by
@cmusselm The Modbus slave monitor points only update if the status of the slave changes. They are not set to true on every successful poll.
I would play around with not updating on context but instead run the meta point every minute.
Thanks, Terry, that's great info, I'll try that out!