What is the right way to configure XMR on CMS and Player?


I recently dig into XMR feature to send some commands to the player.
This is new feature in CMS 1.8.

But when i configured the XMR Public address on CMS : tcp:://
Then went to Display profile for Android added this : tcp:://
And i also tried to use instead but no lucky.

This Player is not configured or ready to receive push commands over XMR. Please contact your administrator.

So I assume you already had a look here? http://xibo.org.uk/manual-tempel/en/xmr.html

What client (type and version) were you using in your tests?

Hi Peter,
Thats right.

I tested on Android(V1.7_R60) and Windows(V1.7.6)
CMS is 1.8a3

There isn’t a version of the Android player that supports XMR yet. We have one in testing at the moment, but we are not yet ready to release.

If you would like to become a tester, please email Spring Signage directly and let us know what your licence pool is so that we can provide you with the necessary APK / documentation.

You will also need XMR running - I assume you’ve got that configured?

For windows testing, you will need 1.8.0-alpha2 or later.

Thanks Dan,
I will do it

1 Like


I still have some problems when trying to make XMR work.
The XMR has been installed successfully in my UBUNTU box.

I change the XMR Public Address in CMS and check the config.json again but config.json did not change.

I tried to use netstat to check port open for XMR but nothing shown.

So, went i send a command in CMS , the CMS keep waiting

XMR listens for messages from the CMS and publishes messages to players. XMR can be run on the same box as the CMS or a different box - they are separate services.

You configure XMR first by selecting the ports you want it to listen and publish on and editing the config.json file accordingly. You must then run XMR - which you can do via php xmr.phar.

The CMS configuration must then match your XMR service (which is now running). The private address is the listenOn address and the public address is the publishOn address.

The CMS sends private messages to XMR and the players get published messages from XMR.

If you have XMR running in a terminal window you should see messages get logged as they go past :slight_smile:

1 Like

Thanks Dan,

XMR is running now as you can see :slight_smile:

But what happen when i send out a command to my Windows Client :slight_smile:

The windows box still running althought i send out a Shutdown command.

P/S : I also have problem when configuring XMR listen on just 1 port instead of port range in the config.json
xmr.ERROR: Invalid argument supplied for foreach() [] []

When you have just one, it should look like:

"pubOn": ["tcp://"]

I.e. it is still in an array, but just with one element.

The messages you see logged in that window would indicate that something is happening :slight_smile: - the channel part of the string identifies the display, the rest some encrypted data.

The next thing to look at is the status window on the player to see what the XMR connection message says at the bottom (it is possible for XMR to broadcast, but nothing to be listening)

Its difficult for me to find out what going on is ?.

I keep send out commands and also schedule command to display but nothing happen

Well it seems to be connected and receiving messages from XMR - you could try requesting a screenshot to see if that comes through OK?

You could also enable auditing in the display settings profile to see if you get any other interesting messages logged in the status window.

Hi Dan,

Sorry, it does not work with Sreen Shot Request

I received “Expired Message” only .

P/S : I am wondering is that possible to send out a keyevent to Android Box via Command feature ?
ex: I would like to send out “input keyevent XXX”


If you can get a key event processing via a BAT file on the player, then you can call that BAT file.

This might be a bug then - do you have a difference between your CMS and Player time zones?


I still not able to make a command work with this beta verion.
I sent out a command to Windows Client and saw that the client has received the command but client could not execute it.
The commands i used is :

  • shutdown.exe -s -t 00
  • shutdown -h now
  • shutdown /s

How do you have that set up in the CMS?

Are you sure that your display settings profile has those commands configured?

The previous problem - was that related to the timezone?

The shutdown command is an administrative command. User Account Control may be blocking the command from being preformed. I would suggest disabling that if it is not.

1 Like

Hi Dan,

I am sure that the previous problem was not related to the timezone.

I created these commands via “Display > Commands > Add Command”

And then come to the Display and send a command directly

(P/S : this CMS does not show the Current Layout, i think maybe a bug)
I dont know what the purpose of “Command” tab in Display profile is ?

You’ve not got that quite right - please read the instructions again: http://xibo.org.uk/manual-tempel/en/displays_commands.html

Your “code” needs to be a short one word code and your command string needs to be set on any display settings profile you want to use that command on.

Is “Notify Current Layout” enabled in Display Settings?

Thanks for pointing me the right way here.
I have already taken a glance at that guide at the first time but the “Code” field makes me confused.So i did a wrong way( or maybe the CMS make me think a wrong way at first time)

Although i can send some commands out now and relized that commands has been received by clients(Windows and Android) but i still no lucky to make it works.
I am going to figure out what the reason is.

The Notify Current Layout is a new feature so i I did not paying attention on this.

1 Like

Sure, you aren’t the first person to find the “code” field confusing, perhaps we need to rename it as “Reference” or something like that?

Also perhaps a note on the edit form to suggest that you need to configure the final command string on each Display Profile.

I’ll take these points on board and create a bug for it.