Preface: This is on Ignition 8.1.32 Perspective.
I have been stumped by this for a while now, so im hoping someone might be able to give me a bit more insight into why this si happening. I have a group of 3 projects (named AzND, AzNN and AzSiON) that communicate by saving data into a database and then using system.util.sendMessage()
to refresh query bindings on the other projects.
For example AzND saves data to the database and then sends a message to AzNN and AzSiON. The session message handlers then send a message using system.perspective.sendMessage()
to the component to update its bindings using self.refreshBinding()
.
This system works, the binding ARE being updated and new data is pulled from the database, however for some ungodly reason the gateway log seems to think no such message handlers exist:
Gateway script MessageHandlerException, project 'AzND', message handler 'session refresh table': com.inductiveautomation.ignition.common.script.message.MessageHandlerException: The message handler "session refresh table" could not be found! Check your event script message handlers.
I would appreciate if someone could point me in the right direction.
For clarification here is the exact code, though I dont think there is issue with the code at all.
AzND sends a message:
system.util.sendMessage("AzSiON", "session refresh table")
AzSiON message handler sends message to component:
def handleMessage(session, payload):
system.perspective.sendMessage(messageType="Refresh Table", scope="session")
Message handler on component:
def onMessageReceived(self, payload):
self.props.selection.selectedColumn = None
self.props.selection.selectedRow = None
self.refreshBinding("props.data")