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

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.

P.s:
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.

@dan
Do you know when a XMR enabled Android client might be released?

I’ll drop you a link to get a private beta of it.

Hi All,
I’d like to run XMR in the vagrant VM but PHP isn’t available in the VM machine…
So when I try to run
>php xmr.phar
I get this error:
The program 'php' is currently not installed. To run 'php' please ask your administrator to install the package 'php5-cli'
Which is the right way to do that?

Thank you in advance!

If you are using our dev vagrantfile, then XMR is already running for you and available within the vagrant machine - you can see which containers you have running by doing

docker ps -a

You should see:

  • cms-db
  • cms-web
  • cms-xmr

The public XMR port of 9505 is mapped into vagrant for you and the cms-web container is linked with cms-xmr on port 50001 (the private XMR port).

So your CMS configuration should be

Make sense?

1 Like

Hi Dan and thanks for your patience (as usual :slight_smile: ).
This make sense and add a bit to my knowledge base :slight_smile:
I have all 3 services up and running…
Now I’ve some problem Player side… I can’t understand how to setup XMR ip in the windows player…
Can you help me again? :blush:

1 Like

So the players will get the XMR IP address sent to them in their display configuration (which gets sent when they Register). It is taken from the public XMR address unless you’ve specified an alternative address in the active Display Settings Profile for that Display.

I’ve just realised I mad a boo-boo in my previous message - those URL’s aren’t http:// addresses, they are tcp:// addresses!

That might be your problem.

The XMR address and status is shown on the player information screen (i on keyboard when the player is running). The player will also need to send some crypto information back to the CMS. You can check it has done that by showing the “XMR Registered” column on the Display grid in the CMS - if it has registered OK it will be a tick.

Ok, Dan. Now XMR address is configured.
But Win Player throw this exception:

XmrSubscriber|10/08/2016 16:16:08|Error|XmrSubscriber - Run|Unable to Subscribe to XMR: La lunghezza non può essere minore di zero.
Nome parametro: length

Thrown on this line of code in XmrSubscriber class:

socket.Connect(ApplicationSettings.Default.XmrNetworkAddress);

ApplicationSettings.Default.XmrNetworkAddress has “192.168.1.116” value that is my vagrant machine…

Ok. Solved connection exception…

Yeah, sorry that was my fault putting http, its a habit! The socket wouldn’t have connected over HTTP - but its working over TCP?

1 Like

Now is connected and Player is correctly running inside the infinite heartbeat loop but seems that any command from CMS reaches the Win Player…

Do you have any advice on how go more in deep inside xmr module? console trace, log, etc…

Is the player receiving heartbeats?

This is a great question - there should be, but I am having trouble :smile:


@alex - should it be possible to modify the config.json file for XMR inside the docker container? Each time I modify that file and restart the containers (to restart XMR) the file is overwritten again.

This is what I am doing:

docker ps -a

Note the container name - cms-xmr in my case

docker exec -it cms-xmr bash

In container:

cd /opt/xmr
apt-get install nano
export TERM=xterm
nano config.json

Edit debug: true, save

exit

Back in host

docker stop cms-xmr
docker start cms-xmr

The debug property is back to false.

About every 30 seconds, player is receiving hearthbeat…
What I can do to try to go on?

I’ve found this log on CMS:

107	c4bece7	2016-08-10 18:53	WEB	POST	ERROR		/schedule	Unable to Process Queue of Player actions due to 1 of 1 player actions failed
106	c4bece7	2016-08-10 18:53	WEB	POST	ERROR		/schedule	Player action connection failed.
105	c4bece7	2016-08-10 18:53	WEB	POST	DEBUG		/schedule	Player Action Service is looking to send 1 actions

Any idea?

OK - so the CMS is trying to communicate with XMR on the private address - it basically sends the encrypted action to XMR, which then forwards it to a PUB/SUB queue for it to arrive at the appropriate player.

That means that tcp://cms-xmr:50001/ is not resolvable from within the cms-web container. Did you also change this address to be tcp ?

It would be best to check that the cms-web container can ping the cms-xmr container:

docker exec -it cms-web bash
ping cms-xmr
1 Like

Solved this too!!! Great! :sunny: :sunny: :sunny:

Now message pushing seems working properly!

Many thanks Dan!

What was the problem in the end?

:fireworks: excellent!

1 Like

I forgot to set XMR private address properly! :sob:

1 Like