Facility Control

 View Only
  • 1.  Take scene offline when Dashboard clock reaches 00:00

    Posted 11-20-2023 04:39

    Hi everyone

    I have a dashboard panel with 4 timers being used for rugby yellow card sin-bin timing.  I have a scene containing a text object that receives the clock information from Dashboard (NOT an internal XPression clock).  I am using XPression PRIME Go.  The clock comes on via the main scene director, with a pause, followed by a "take offline" event. So, the timer comes on, and I then need the scene director to resume (or play on) once the timer reaches 00:00.  I am struggling to get the visual logic to work. I've tried String Compare using the clocktimer text object and a string value block.  Doesn't work. I've tried various other methods, both using numeric values and string values, and have come up empty every time. I'm running out of time, so if anybody has the secret knowledge, please share?

    Here is a screenshot of my visual logic. The String Value is 00:00. Regardless of the clock's value, I'm getting a boolean of 1 all the time, even when the 2 are different. 

    Thanks!

    Ilana



    ------------------------------
    Ilana Gordon
    ------------------------------


  • 2.  RE: Take scene offline when Dashboard clock reaches 00:00

    Posted 11-20-2023 09:44

    Hi Ilana

    This looks like you are using the XPresssion Visual Logic. You'll want to post in their community page for that team to see your question and provide you some help.

    If you'd like options for how to handle this in DashBoard (for example, have DashBoard's Visual Logic send a RossTalk message to XPression when the counter is done), here is a quick example that will achieve this:

    <abs contexttype="opengear" gridsize="20" keepalive="true">
       <meta>
          <lookup id="hosts">
             <entry key="myxpression.scriptport">true</entry>
             <entry key="myxpression.color">-1145302</entry>
             <entry key="myxpression.rtsystem">rosstalk</entry>
             <entry key="myxpression.port">params.getValue('myxpression_RossTalkPort', 0)</entry>
             <entry key="myxpression.xport">params.getValue('myxpression_RossTalkExPort', 0)</entry>
             <entry key="myxpression.host">params.getValue('myxpression_IPAddress', 0)</entry>
             <entry key="myxpression.scripthost">true</entry>
             <entry key="myxpression.scriptrosstalkex port">true</entry>
             <entry key="myxpression.devicetype">XPression</entry>
          </lookup>
          <params>
             <param access="1" maxlength="0" name="timer-display" oid="timerdisplay" type="STRING" value="00:00" widget="label"/>
             <param access="1" maxlength="0" name="myxpression_IPAddress" oid="myxpression_IPAddress" type="STRING" value="localhost" widget="0"/>
             <param access="1" maxlength="0" name="myxpression_RossTalkExPort" oid="myxpression_RossTalkExPort" type="STRING" value="8020" widget="0"/>
             <param access="1" maxlength="0" name="myxpression_RossTalkPort" oid="myxpression_RossTalkPort" type="STRING" value="7788" widget="0"/>
          </params>
       </meta>
       <timer autostart="false" id="my-timer" pattern="mm:ss" rate="500" start="00:10" stop="00:00">
          <timertask tasktype="ogparamset">params.setValue('timerdisplay', 0, event.getDisplay());</timertask>
       </timer>
       <param expand="true" height="80" left="100" oid="timerdisplay" style="style:timerLabel;" top="60" width="260">
          <task tasktype="ogscript">
    
    
    /*! block id=1001,1000,1003,1002 !*/
    if (params.getValue('timerdisplay', 0)  ==  "00:00")
    {
    	ogscript.debug("Taking Graphic Out");
    	rosstalk.sendMessage(params.getValue('myxpression_IPAddress', 0), params.getValue('myxpression_RossTalkPort', 0), "SEQO " + 1)
    } else {
    	
    }
    /*!!
     &lt;block id="1001" type="if" x="358" y="128" w="268" INPUT1="ID:1000" OPERATION="equals" INPUT2="00:00" TRUE="ID:1003" FALSE="" IGNORE="" /&gt;
    &lt;block id="1000" type="param__top&amp;amp;timer-display (timerdisplay)[0]" x="72" y="139" w="243" SET="" /&gt;
    &lt;block id="1003" type="ogscript_debug" x="697" y="295" w="243" MESSAGE="Taking Graphic Out"  next="ID:1002" /&gt;
    &lt;block id="1002" type="myxpression_xpression_seqo" x="691" y="395" w="243" color="#ee862a" TAKEID="1" /&gt;
    !!*/
    /*!!&lt;checksum&gt;61cf8474fbde2b4793bb0fedbfcd1591&lt;/checksum&gt;!!*/</task>
       </param>
       <simplegrid height="80" left="80" rows="1" top="160" width="300">
          <button buttontype="push" name="Start">
             <task tasktype="timercontrol">ogscript.getTimerManager().getTimer('my-timer').startTimer(false);</task>
          </button>
          <button buttontype="push" name="Stop">
             <task tasktype="timercontrol">ogscript.getTimerManager().getTimer('my-timer').stopTimer(false);</task>
          </button>
          <button buttontype="push" name="Start">
             <task tasktype="timercontrol">ogscript.getTimerManager().getTimer('my-timer').resetTimer();</task>
          </button>
       </simplegrid>
    </abs>
    

    The DashBoard Visual Logic script looks like this:

    Cheers

    James



    ------------------------------
    James Peltzer
    Ross Video
    ------------------------------



  • 3.  RE: Take scene offline when Dashboard clock reaches 00:00

    Posted 11-20-2023 10:00

    Hi James.

    Thanks for the quick answer. I'd like to build this in Visual Logic in dashboard, but I can't seem to find the SEQO block. Where is it hiding?

    Thanks

    Ilana



    ------------------------------
    Ilana Gordon
    ------------------------------



  • 4.  RE: Take scene offline when Dashboard clock reaches 00:00

    Posted 11-20-2023 10:02

    On the left side of Visual Logic, you need to add an Xpression to your panel - once it is there, you can select the seqo block.



    ------------------------------
    James Peltzer
    Ross Video
    ------------------------------