Facility Control

 View Only
  • 1.  Dashboards talking to each other

    Posted 02-20-2018 14:10
    Hi
    I have a couple of standalone Dashboard projects that now need to share data. I have the JSON sharing method up and running just fine, and can access parameters from one panel to the next. What I want to avoid is when hitting F5 on the master panel that others link too, it has the effect of htting F5 on the slave panels as well. Is there a way to prevent this action?

    Also, I add in connection to the master panel in the slave Dashboard by adding a new TCP/IP Dashboard connection, entering in the IP address etc. What I'd like to be able to do, is rather than have to burn in the connection parameters to the slave panel, have it reference the name I give it in Dashboard, so that the grid file can move between my dev environment and the client's machine without having to change a whole bunch of stuff, providing I have named the conneciton to the master panel the same of course.

    Thanks
    Simon


  • 2.  RE: Dashboards talking to each other

    Posted 02-20-2018 19:43

    Hi Simon.
    There is no way to avoid the panel refresh when you refresh your server panel. Refreshing the server panel destroys all info about the panel/device and reloads it - whenever a panel's data source is reloaded, the panel is refreshed as DashBoard has no other way of know what has changed. Perhaps there is a way to achieve what you're looking for without doing refreshes on your full server panel?

    "‹As for the connection between the client panel and the server panel, as long as you are adding a manual connection to your server panel, you should be able to move it around from machine to machine without changing any connection settings provided that the IP address of the server remains the same.

    There is also a way to manually-inject the server IP address if it does need to change.

    <abs contexttype="opengear">
       <meta>
          <params>
             <param access="1" maxlength="0" name="Server Panel IP" oid="Server_Panel_IP" type="STRING" value="192.168.1.100" widget="text"/>
             <param access="1" constraint="0.0;65535.0;0.0;65535.0;1" constrainttype="INT_STEP_RANGE" name="Server Port" oid="Server_Port" precision="0" type="INT32" value="5254" widget="spinner"/>
          </params>
       </meta>
       <param expand="true" height="37" left="19" oid="Server_Panel_IP" top="18" width="152">
          <task tasktype="ogscript">ogscript.reload('client-data');</task>
       </param>
       <abs bottom="0" contexttype="opengear" id="client-data" left="0" objectid="%value['Server_Panel_IP'][0]%:%value['Server_Port'][0]%&lt;br&gt;Slot 0&lt;br&gt;MFC-8320-N" objecttype="MFC-8320-N" right="0" top="75">
          <label height="78" left="41" name="Test" style="txt-align:west" top="30" width="172"/>
       </abs>
       <param expand="true" height="38" left="180" oid="Server_Port" top="17" width="84">
          <task tasktype="ogscript">ogscript.reload('client-data');</task>
       </param>
    </abs>

     

    The important part here is the inner-abs where we replace the hard-coded IP and Port at the start of the device identifier with a reference to the IP/Port parameters in our panel:

    <abs contexttype="opengear" id="client-data" objectid="%value['Server_Panel_IP'][0]%:%value['Server_Port'][0]%&lt;br&gt;Slot 0&lt;br&gt;MFC-8320-N" objecttype="MFC-8320-N">

    #DashBoard