Unable to get change event over the network

Hi all,

I am trying to subscribe change event of attribute of C++ device server using python device server which is running on different Tango Host (different machine). I am facing a problem while subscribing the event.


import PyTango
import time
class B1():
	def __init__(self):
		pyds = PyTango.DeviceProxy("hostname:10000/x/y/z")
		idEvent = pyds.subscribe_event("responseField",PyTango.EventType.CHANGE_EVENT,self.DisplayEvent)
		i = raw_input("wait")
		#pyds.unsubscribe_event(idEvent)


	
	def DisplayEvent(self,event):
		print "Change Event Occur :\n ",event.attr_value



if __name__ == "__main__":
    import sys
    MainWindow = B1()
   

If the same is done on same hostname(same machine), then it is working properly.

I am attaching the screenshot showing the error.
Please guide me.

Thanks,
tgmrt
Regards,
TCS_GMRT
Hi,

can you give more details on the version of TANGO and on which platforms you are using. Have you tested events with jive and atkpanel?

Andy
Hi Vika,

we have (at last) had a look at your log files and the code you sent us. From the log files we see that your client is receiving events from the server i.e. the events are received by the client. But when the Tango library tries to trigger the callback it fails to find it in the map of registered callbacks (this is part of the internals of Tango). We are not sure why this is but we did notice that you are using the following syntax "host:port/d/f/m" syntax for fully qualified device name (FQDN) when you subscribe. The event which is sent back has the syntax "tango://host:port/d/f/m" - notice the "tango://" in front. Can you try to use the FQDN with "tango://" added in front of the device name when subscribing in your client? Alternatively you could try leaving the host:port away if it is the same as the value in TANGO_HOST.

Let us know if this changes anything.

Andy + Manu
Hi Vika,

We just has a kind of similar issue here. Could you remind us which release of PyTango you are using?
In the meantime, could you try on PC2 to define the environment variable TANGO_HOST to 01hw272055:10000
and to use the classical name in your python script (eg LMC/C01/GAB)

Regards

Emmanuel
Hey Manu,

Thaks for looking into the issue that we are facing.
We are using PyTango-8.1.5 and Tango-8.1.2.
system - fedora 19

Regards,
tgmrt
Regards,
TCS_GMRT
Dear All,
We could able to get the change events over the network by setting TANGO_HOST environment variable to other host as suggested.
But what should be done in the scenario in which, there are device servers running on the multiple hosts, and a PyTango client program listening to change events of those servers?

Thanks,
tgmrt
Regards,
TCS_GMRT
 
Register or login to create to post a reply.