Jump to content
Light-O-Rama Forums

Control Panel API


ItsMeBobO

Recommended Posts

@MattBrown     Thank you so much for adding the API.   I have worked with it a lot to get miip going for S6.     I have successfully reordered the songs for show.    Almost there. 

 

There are still a few issues I am hoping to resolve.    The control panel shuts off  play and cant be turned back on!     As you know,  miip allows the display owner to upload their list of sequences to the miip server and to arrange them into shows and set the times for those shows.   All the various shows are seen by the lor show player as the same .lss file named  MiipShow.lss.    The problem is the player and API can only reorder the songs it knows about based on the contents of the miipshow.lss when the player is started.    Which means if miip trys to play a show containing sequence 1,2,3 for an hour and then play show with sequence 4,5,6  It cant.  While miipshow.lss has been over written to contain the new list,  the player still has the old list in memory.  Same for when the show is over.   In prior LOR versions an empty show file could be played.   S6 now detects an empty order of sequences list and shuts off.     The API doesn't respond with the player off.   No show list to rearrange the order and no end point to turn it on.

 

For anyone who is interested in this API topic.   You can check out the API calls and responses using a free program called  Postman

Then dl the calls and globals files and import them into postman. 

Edited by ItsMeBobO
clarity
Link to comment
Share on other sites

I will fix the message about the Rest API not being turned on so it is more obvious.    A message box does not auto close so I put the message on the connect tab. 

Link to comment
Share on other sites

That sounds about right. This is what I did to get it running. Looks like at the moment you have to do this every time you want miip to run.

Started CP, No shows in create.

Started MIIP, added show and schedule covering current time,

Imported miipshow.lss  into  CP (top right of Create window). Sequence section is blank.

Added any single sequence to the show and added a schedule same as in miip.

Save, Activate the show and the single sequence will play repeatedly.

Shutdown CP and restart. miip should take over and continues to run. Vote in works.

Link to comment
Share on other sites

On 8/23/2023 at 11:53 PM, ItsMeBobO said:

@MattBrown     Thank you so much for adding the API.   I have worked with it a lot to get miip going for S6.     I have successfully reordered the songs for show.    Almost there. 

 

There are still a few issues I am hoping to resolve.    The control panel shuts off  play and cant be turned back on!     As you know,  miip allows the display owner to upload their list of sequences to the miip server and to arrange them into shows and set the times for those shows.   All the various shows are seen by the lor show player as the same .lss file named  MiipShow.lss.    The problem is the player and API can only reorder the songs it knows about based on the contents of the miipshow.lss when the player is started.    Which means if miip trys to play a show containing sequence 1,2,3 for an hour and then play show with sequence 4,5,6  It cant.  While miipshow.lss has been over written to contain the new list,  the player still has the old list in memory.  Same for when the show is over.   In prior LOR versions an empty show file could be played.   S6 now detects an empty order of sequences list and shuts off.     The API doesn't respond with the player off.   No show list to rearrange the order and no end point to turn it on.

 

For anyone who is interested in this API topic.   You can check out the API calls and responses using a free program called  Postman

Then dl the calls and globals files and import them into postman. 

Glad to hear you are making progress! Using your example, why not create miipshow.lss with all of the sequences that could possibly play for that evening? Then miip could actively manage the queue to ensure only 1,2,3 play for the first half, and 4,5,6 play for the second half? And if there are times when no sequence should be played then issue a "pause after song" command?

Link to comment
Share on other sites

unattended resets are needed arent they?   Sequence lists and schedules get adjusted a lot.  I am always adding one more sequence after season starts.   When I say adding a sequence, i mean adding to miip because miip tells CP what to play without having to mouse click the interface.   Yes  I can build a broad list, but to inform CP of a broad list revision we have the unwanted process of shutting down CP with a mouse click stopping all to know the .lss has been loaded.

 

Link to comment
Share on other sites

I removed this post addressed to Matt after I discovered I had not set up my test correctly. 

Edited by ItsMeBobO
Removed. Inaccurate.
  • Like 1
Link to comment
Share on other sites

After a hiccup, I now have the pause when empty and resume when a show starts working as well as confirmation that miip can set not just the order, but the number of songs in the list.  And can drop those and add new ones as long as they are named in the loaded .lss.   This is important to miip to allow the early kids jingle bells show followed by the TSO show or Pop show. 

 

@MattBrown  The put volumeLevel, put dimmingLevel, and put isMuted are returning 400.    Do you want me to create a ticket for those?

Link to comment
Share on other sites

Hey, Bob..

Just to let you know that I ran a test today with two shows back to back. Seemed to work OK. Started up both times with no intervention. You've worked wonders in the last week.

Link to comment
Share on other sites

On 8/30/2023 at 6:59 PM, ItsMeBobO said:

The put volumeLevel, put dimmingLevel, and put isMuted are returning 400.    Do you want me to create a ticket for those?

No need for a ticket. We found it and it will be fixed in the next release.

Link to comment
Share on other sites

@ItsMeBobO  Sounds like more progress has been made. Assuming the PUT commands are fixed, is there anything else you need in the Control Panel to allow MIIP to work?

Link to comment
Share on other sites

Thanks Matt.  I really appreciate you asking.   

Jim and Phil have been testing for me this last week and all the major issues have been fixed.   

 

Miip is doing the following

Creating a .lss with all the known sequences.

Creating a 24/7 schedule for the miipshow.lss

Informing the miip site if CP is not running or Rest is not responding when S6 is detected.

Pulling the itemIds and filenames and matching to the filenames stored in miip. 

Putting to CP the ItemIds in the miip determined order 10 seconds before a playing song ends. 

At miip show end pausing the play and at miip show start resuming the play. 

 

Issues we are seeing.  

At initial start up the miipshow.lss will start with the first song of the full list and play that song to the end. 

Miipclient is not in control until after the first song. 

on the fly adjustments to sequences are working.  But if a new song is defined we have to stop play and close CP.  Then close Miip.  Restart miip to create a new full list .lss.  Restart CP to get the new .lss loaded and then manually prepare.   Then start play.  

I am noticing that if play is stopped, the days schedule goes away as if it CP thinks its time for the day is over.   I need to click the play on the next days schedule to start.  
 

 

 

Link to comment
Share on other sites

What if we added a new startup option for shows that would cause the show to immediately be paused after starting? The work-around of course would be to have a dummy sequence at the top of the show.

20 hours ago, ItsMeBobO said:

I am noticing that if play is stopped, the days schedule goes away as if it CP thinks its time for the day is over.   I need to click the play on the next days schedule to start.

That is the expected behavior. A show will only be started once per day per schedule line.

Link to comment
Share on other sites

42 minutes ago, MattBrown said:

What if we added a new startup option for shows that would cause the show to immediately be paused after starting? The work-around of course would be to have a dummy sequence at the top of the show.

That is the expected behavior. A show will only be started once per day per schedule line.

get mainSequences doesn't respond until after the show starts.   Which seems to be part of loading and assigning new itemIds.   If a start paused option is doable that would be very helpful. 

Only be started once per day per schedule line,  per launch of CP.      Its shown/starts again and the .lss is loaded fresh again now containing the externally created sequence list.

Link to comment
Share on other sites

  • 1 month later...

@MattBrown I have been asking for a REST API for so long!! thank you!

I have been playing with this and I would like to use the triggers if possible. I have been using Swagger and Postman to test these commands. I have a show setup with a number of different sequences on different triggers. I know that if I physically 'short' the pins on my Input PUP the song plays. That was just my physical test to make sure that the show was setup correctly. I send a trigger to the CP like:

'PUT' http://192.168.x.x:8001/v1/player/trigger/1-03-1

(Where 03 is the hex address my input PUP normally resides on. )

I get a 200 response but the CP doesn't react, no sequence plays. The correct show is currently active. And I can trigger with physical connections and it will react. 

Are there any nuances or 'things I should know' about getting triggers to work via the REST API?

Link to comment
Share on other sites

@MattBrown last question, I hope.

I notice that in the /overrides/ response there is a JSON node for 'lightsOffAtEnd'. For overrides this seems to always be True, and there does not seem to be a way to change this in the GUI. Is there/Will there be a way to change this?

Link to comment
Share on other sites

@MattBrown sorry for the additional question: is there any rate limiting on the API? If not, do you have any recommendations about the max amount of calls per second/minute is recommended?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...