Original Message:
Sent: 08-28-2024 13:27
From: James Peltzer
Subject: Dashboard Tally Service
The jsonport attribute essentially runs a copy of the proxy server pointed to the virtual device that contains the custom panel's parameters. This example panel uses port 5260 to share its data:
<abs contexttype="opengear" jsonport="5260"> <meta> <params> <param access="1" maxlength="0" name="Parameter One" oid="Parameter_One" type="STRING" value="First Value" widget="text"/> <param access="1" maxlength="0" name="Parameter Two" oid="Parameter_Two" type="STRING" value="Second Value" widget="text"/> <param access="1" maxlength="0" name="Device Name" oid="0x105" type="STRING" value="My Data Source" widget="default"/> </params> </meta> <param expand="true" height="94" left="30" oid="Parameter_One" showlabel="false" top="35" width="431"/> <param expand="true" height="90" left="30" oid="Parameter_Two" showlabel="false" top="144" width="434"/></abs>
You can then go to your client DashBoard and add a manual TCP/IP Dashboard Connect/openGear Frame pointed to the IP/Port of your server DashBoard and the panel's parameters will appear:
After this, you can add parameters from your host/server panel to your client panels just like you did with the parameters from the proxied tally device.
------------------------------
James Peltzer
Ross Video
Original Message:
Sent: 08-28-2024 12:44
From: Evan Aaron
Subject: Dashboard Tally Service
Oh interesting, that could work! I have not used the jsonport attribute, can you give a quick example of how to implement it?
------------------------------
Evan Aaron
Engineer
Game Creek Video
Original Message:
Sent: 08-28-2024 11:55
From: James Peltzer
Subject: Dashboard Tally Service
Another option would be to create a custom panel on the 'proxy server' DashBoard instance that has all of the parameters you want to share/monitor (you can even include their styling) and use the 'jsonport' attribute at the top of the panel to share the panel's parameters as a virtual device you can connect to from your other DashBoard instances. This way all of your logic and formatting live in one spot on the server instead of in all of the client DashBoards and you're only sharing what you need instead of the entire tally device.
You can use a String parameter with OID 0x105 to assign a name to the panel-based device and make it easier to identify in the client DashBoards.
------------------------------
James Peltzer
Ross Video
Original Message:
Sent: 08-28-2024 11:37
From: Evan Aaron
Subject: Dashboard Tally Service
Copy that. So yes you are correct, the memory is doing the saw-tooth behavior, but every time the memory drops down, the panel UI flashes very quickly-- and to clarify this is on the 'user' side, not the proxy server side.
To add some more color. We are trying to use the TSL data to get the source name and tally state for Cobalt 9905 UDX paths from our routing system, and then take that data to update the "Custom Path Name" parameter on the 9905 (OID 0x1302,1303,1304,1305), and then change the display style of the label in a .grid based on the red tally.
I have this function below as a api function, which is being called by a task on a parameter object in the .grid for each custom path name. Is there a better way to do this?
The memory issues I am seeing are only with 4 of these path name params (4 paths on 1 9905 Card). The hope is to be able to scale this to systems with 90+ 9905 cards.
function get9905tally(path, tallyid){ var pathname = params.getParam("DB-Tally-Service.1", 'params.simpletally.tally' + tallyid.toString() + '.text', 0).getValue(); var textstate = params.getParam("DB-Tally-Service.1", 'params.simpletally.tally' + tallyid.toString() + '.text_state', 0).getValue(); var left = params.getParam("DB-Tally-Service.1", 'params.simpletally.tally' + tallyid.toString() + '.left', 0).getValue(); params.setValue('0x130' + (path + 2).toString(), 0, pathname);if (textstate == 1){ ogscript.setStyle('pathname_'+ (path).toString(), 'size:Biggest;font:default;txt-align:center;bg#FF0000;'); } else{ ogscript.setStyle('pathname_'+ (path).toString(), 'size:Biggest;font:default;txt-align:center;bg#tableheader;'); }}
<param expand="true" id="pathname_0" mid="88" oid="0x1302" runtasksonload="true" showlabel="false" style="size:Biggest;font:default;txt-align:center;"> <task tasktype="ogscript">get9905tally(0, 0);</task> </param>
------------------------------
Evan Aaron
Engineer
Game Creek Video
Original Message:
Sent: 08-28-2024 11:23
From: James Peltzer
Subject: Dashboard Tally Service
Hi Evan
No, you cannot use the tallyservice ogScript calls with a Tally Service device shared via the proxy server - the device and the script calls are 2 views into the cached tally data but when you share the device it just appears to DashBoard like any other OGP device and not specifically related to tally information.
I would be a little concerned with connections to the tally service proxy device being very memory intensive. Is the proxy server's memory bar going up to 1gb and then eventually hanging the application or is it reaching 1gb and then bouncing back and forth a little bit? Bouncing would be normal for a properly-functioning Java application and is called the 'saw tooth' garbage collection signature. Running out of memory entirely/having the application hang would indicate an incorrect behaviour happening somewhere either in the panels or in the DashBoard code.
------------------------------
James Peltzer
Ross Video
Original Message:
Sent: 08-26-2024 20:18
From: Evan Aaron
Subject: Dashboard Tally Service
Hey @James Peltzer, working on using Dashboard Tally Service data as a Shared Device via Dashboard Proxy server.
The idea is for our routing system to send TSL 5.0 Data (tally, umd name) to our Dashboard proxy server, where we can then point our multiple user Dashboard .grids to access that data to be less taxing on the routing system.
I see this makes the Tally Service show up more like a device, rather than 'tallyservice' above
For example, adding this 'tally' device in visual editor and dropping the block in gives me :
params.getParam("DB-Tally-Service.1", 'params.simpletally.tally0.text', 0).getValue()
I have this working, but it is rather memory intensive. Is there a way to get the listener you described above to work with a proxy tally device?
------------------------------
Evan Aaron
Engineer
Game Creek Video
Original Message:
Sent: 01-18-2017 16:05
From: James Peltzer
Subject: Dashboard Tally Service
If you are in the ogScript editor (not the "Visual Logic" editor) and the text area has focus, you should see the palette (if the checkbox is checked).
#DashBoard