Skip to content
Snippets Groups Projects
dashboard.json 12 KiB
Newer Older
Emanuele Laface's avatar
Emanuele Laface committed
{
	"version": 1,
	"header_image": "",
Emanuele Laface's avatar
Emanuele Laface committed
	"allow_edit": false,
Emanuele Laface's avatar
Emanuele Laface committed
	"plugins": [],
	"panes": [
		{
			"width": 1,
			"row": {
				"1": 1,
				"2": 1,
				"3": 1,
				"4": 1,
				"5": 1,
				"6": 1
Emanuele Laface's avatar
Emanuele Laface committed
			},
			"col": {
				"1": 1,
				"2": 1,
				"3": 1,
				"4": 1,
				"5": 1,
				"6": 1
Emanuele Laface's avatar
Emanuele Laface committed
			},
			"col_width": 6,
Emanuele Laface's avatar
Emanuele Laface committed
			"widgets": [
				{
					"type": "html",
					"settings": {
						"html": "let clock = datasources[\"Clock\"][\"numeric_value\"]; // trick to trigger the update\nlet cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\ndocument.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = \"\";\n\nvar title = \"\";\nif (datasources[\"gwhealth\"][\"gwstatus\"] == \"OK\") {\n\ttitle = \"Public Operations Screen\"; // Change this title. Try not to exceed the 30 chars\n}\nif (datasources[\"gwhealth\"][\"gwstatus\"] == \"KO\") {\n\ttitle = \"Public Operations Screen [Offline]\"; // Change this title. Try not to exceed the 30 chars\n}\n\nlet fontsize = Math.round((-0.66486486*title.length+66.67567568)*cols/4);\nlet lmargin = Math.round((0.43918919*title.length-4.05405405)+3.75*cols*cols-34.75*cols+79.75);\nlet width = 100-lmargin;\n\nvar text = `<div style=\\\"position: relative; margin-top: -15px; text-align: left;\\\">\n\t\t\t<div style=\\\"position: relative;\\\">\n\t\t\t\t<img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"></img>\n\t\t\t</div>\n<div class=\\\"tw-value\\\" style=\\\"font-size: `+String(fontsize)+`px; color:#ffffff !important; position: absolute; left: `+String(lmargin)+`%; width: `+String(width)+`%; height: 100%; justify-content: center; display: flex; align-items: center;\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\">\n\t\t\t\t`+title+`\n\t\t\t</div>\n\t\t</div>`;\n\nif (cols == 1){\n    text = \"<div style=\\\"position: static; margin-top: -15px;\\\"><img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"><div class=\\\"tw-value\\\" style=\\\"font-size: 30px; color:#ffffff !important; position: relative; bottom: 55px; left: 30px;\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"></div></img></div>\";\n    document.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = title;\n}\n\nreturn text;",
Emanuele Laface's avatar
Emanuele Laface committed
						"height": 2
					}
				}
			]
		},
Emanuele Laface's avatar
Emanuele Laface committed
		{
			"width": 1,
			"row": {
Emanuele Laface's avatar
Emanuele Laface committed
				"1": 7,
				"2": 7,
				"3": 7,
				"4": 7,
				"5": 7,
				"7": 7,
				"14": 7
Emanuele Laface's avatar
Emanuele Laface committed
			},
			"col": {
				"1": 1,
				"2": 1,
				"3": 1,
				"4": 1,
				"7": 1,
Emanuele Laface's avatar
Emanuele Laface committed
				"14": 1
Emanuele Laface's avatar
Emanuele Laface committed
			"col_width": 6,
			"widgets": [
				{
Emanuele Laface's avatar
Emanuele Laface committed
					"type": "html",
					"settings": {
Emanuele Laface's avatar
Emanuele Laface committed
						"html": "<center><h1>Cooldown</h1></center>",
						"height": 1
Emanuele Laface's avatar
Emanuele Laface committed
			"title": "SCL Temperature",
			"width": 1,
			"row": {
Emanuele Laface's avatar
Emanuele Laface committed
				"1": 11,
				"2": 11,
				"3": 11,
				"4": 11,
				"5": 11,
				"6": 7,
				"7": 17,
				"9": 17,
				"11": 17,
				"14": 17
Emanuele Laface's avatar
Emanuele Laface committed
			},
			"col": {
				"1": 1,
				"2": 1,
				"3": 1,
				"4": 1,
Emanuele Laface's avatar
Emanuele Laface committed
				"5": 1,
Emanuele Laface's avatar
Emanuele Laface committed
				"6": 1,
				"7": 1,
				"9": 1,
				"11": 1,
Emanuele Laface's avatar
Emanuele Laface committed
				"14": 1
Emanuele Laface's avatar
Emanuele Laface committed
			},
Emanuele Laface's avatar
Emanuele Laface committed
			"col_width": 6,
Emanuele Laface's avatar
Emanuele Laface committed
			"widgets": [
				{
Emanuele Laface's avatar
Emanuele Laface committed
					"type": "flot_extended_plugin",
Emanuele Laface's avatar
Emanuele Laface committed
					"settings": {
Emanuele Laface's avatar
Emanuele Laface committed
						"plot_type": "bar",
						"legend": true,
						"height": 8,
						"value": "let spokeTemperatures = [[1, datasources[\"Temperature\"][\"Spk-010Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[2, datasources[\"Temperature\"][\"Spk-020Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[3, datasources[\"Temperature\"][\"Spk-030Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[4, datasources[\"Temperature\"][\"Spk-040Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[5, datasources[\"Temperature\"][\"Spk-050Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[6, datasources[\"Temperature\"][\"Spk-060Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[7, datasources[\"Temperature\"][\"Spk-070Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[8, datasources[\"Temperature\"][\"Spk-080Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[9, datasources[\"Temperature\"][\"Spk-090Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[10, datasources[\"Temperature\"][\"Spk-100Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[11, datasources[\"Temperature\"][\"Spk-110Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[12, datasources[\"Temperature\"][\"Spk-120Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[13, datasources[\"Temperature\"][\"Spk-130Crm:Cryo-TT-004:MeasValue\"][\"value\"]]];\n\nlet mediumBetaTemperatures = [[14, datasources[\"Temperature\"][\"MBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[15, datasources[\"Temperature\"][\"MBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[16, datasources[\"Temperature\"][\"MBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[17, datasources[\"Temperature\"][\"MBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[18, datasources[\"Temperature\"][\"MBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[19, datasources[\"Temperature\"][\"MBL-060Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[20, datasources[\"Temperature\"][\"MBL-070Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[21, datasources[\"Temperature\"][\"MBL-080Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[22, datasources[\"Temperature\"][\"MBL-090Crm:Cryo-TT-019:MeasValue\"][\"value\"]]];\n\nlet highBetaTemperatures = [[23, datasources[\"Temperature\"][\"HBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[24, datasources[\"Temperature\"][\"HBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[25, datasources[\"Temperature\"][\"HBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[26, datasources[\"Temperature\"][\"HBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[27, datasources[\"Temperature\"][\"HBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]]];\n\n/*\nvar outerSpace=[];\nfor (i=1; i<=27; i+=1) {\n    outerSpace.push([i,2.726]);\n}\n\nlet data = [{data: spokeTemperatures, color: \"lime\", label:\"Spokes\"},\n            {data: mediumBetaTemperatures, color: \"yellow\", label:\"Medium β\"},\n            {data: highBetaTemperatures, color: \"navy\", label:\"High β\"},\n            {data: outerSpace, color: \"black\", label:\"Outer Space\"}];\n*/\nlet data = [{data: spokeTemperatures, color: \"lime\", label:\"Spokes\"},\n            {data: mediumBetaTemperatures, color: \"yellow\", label:\"Medium β\"},\n            {data: highBetaTemperatures, color: \"navy\", label:\"High β\"}];\n\nreturn data;\n",
Emanuele Laface's avatar
Emanuele Laface committed
						"xticks": "let clock = datasources[\"Clock\"][\"numeric_value\"]; // trick to trigger the update\nlet cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\n\nvar xticks = [[1, \"01 <br><center>← Source</center>\"],\n               [2, \"02\"],\n               [3, \"03\"],\n               [4, \"04\"],\n               [5, \"05\"],\n               [6, \"06\"],\n               [7, \"07\"],\n               [8, \"08\"],\n               [9, \"09\"],\n               [10, \"10\"],\n               [11, \"11\"],\n               [12, \"12\"],\n               [13, \"13\"],\n             [14, \"01\"],\n             [15, \"02\"],\n             [16, \"03\"],\n             [17, \"04\"],\n             [18, \"05\"],\n             [19, \"06\"],\n             [20, \"07\"],\n             [21, \"08\"],\n             [22, \"09\"],\n             [23, \"01\"],\n             [24, \"02\"],\n             [25, \"03\"],\n             [26, \"04\"],\n             [27, \"05<br><center>Target →</center>\"]];\n\nif (cols == 1) {\n\nvar xticks = [[1, \"1\"],\n               [2, \"2\"],\n               [3, \"3\"],\n               [4, \"4\"],\n               [5, \"5\"],\n               [6, \"6\"],\n               [7, \"7\"],\n               [8, \"8\"],\n               [9, \"9\"],\n               [10, \"1<br>0\"],\n               [11, \"1<br>1\"],\n               [12, \"1<br>2\"],\n               [13, \"1<br>3\"],\n             [14, \"1\"],\n             [15, \"2\"],\n             [16, \"3\"],\n             [17, \"4\"],\n             [18, \"5\"],\n             [19, \"6\"],\n             [20, \"7\"],\n             [21, \"8\"],\n             [22, \"9\"],\n             [23, \"1\"],\n             [24, \"2\"],\n             [25, \"3\"],\n             [26, \"4\"],\n             [27, \"5\"]];\n}\n\nreturn xticks;",
Emanuele Laface's avatar
Emanuele Laface committed
						"yticks": "let maxtemp = Math.max(datasources[\"Temperature\"][\"Spk-010Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-020Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-030Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-040Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-050Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-060Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-070Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-080Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-090Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-100Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-110Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-120Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-130Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-060Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-070Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-080Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-090Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]);\n                                   \nlet step=maxtemp/10;\n                                  \nvar yticks=[];\nfor (i=0; i<=maxtemp+step; i+=step) {\n    yticks.push([i,i.toFixed(1).toString()]);\n}\n\nyticks[yticks.length-1] = [yticks[yticks.length-1][0],\"T [K]\"]; \n\nreturn yticks;\n",
						"points": false,
						"zoom": "xy"
Emanuele Laface's avatar
Emanuele Laface committed
					}
				}
			]
Emanuele Laface's avatar
Emanuele Laface committed
		}
	],
	"datasources": [
		{
			"name": "Clock",
			"type": "clock",
			"settings": {
Emanuele Laface's avatar
Emanuele Laface committed
		},
		{
Emanuele Laface's avatar
Emanuele Laface committed
			"name": "Temperature",
			"type": "JSON",
			"settings": {
Emanuele Laface's avatar
Emanuele Laface committed
				"url": "/data/api/v2/pvget/Spk-010Crm:Cryo-TT-004:MeasValue,Spk-020Crm:Cryo-TT-004:MeasValue,Spk-030Crm:Cryo-TT-004:MeasValue,Spk-040Crm:Cryo-TT-004:MeasValue,Spk-050Crm:Cryo-TT-004:MeasValue,Spk-060Crm:Cryo-TT-004:MeasValue,Spk-070Crm:Cryo-TT-004:MeasValue,Spk-080Crm:Cryo-TT-004:MeasValue,Spk-090Crm:Cryo-TT-004:MeasValue,Spk-100Crm:Cryo-TT-004:MeasValue,Spk-110Crm:Cryo-TT-004:MeasValue,Spk-120Crm:Cryo-TT-004:MeasValue,Spk-130Crm:Cryo-TT-004:MeasValue,MBL-010Crm:Cryo-TT-019:MeasValue,MBL-020Crm:Cryo-TT-019:MeasValue,MBL-030Crm:Cryo-TT-019:MeasValue,MBL-040Crm:Cryo-TT-019:MeasValue,MBL-050Crm:Cryo-TT-019:MeasValue,MBL-060Crm:Cryo-TT-019:MeasValue,MBL-070Crm:Cryo-TT-019:MeasValue,MBL-080Crm:Cryo-TT-019:MeasValue,MBL-090Crm:Cryo-TT-019:MeasValue,HBL-010Crm:Cryo-TT-019:MeasValue,HBL-020Crm:Cryo-TT-019:MeasValue,HBL-030Crm:Cryo-TT-019:MeasValue,HBL-040Crm:Cryo-TT-019:MeasValue,HBL-050Crm:Cryo-TT-019:MeasValue",
				"use_thingproxy": true,
				"refresh": 10,
Emanuele Laface's avatar
Emanuele Laface committed
				"method": "GET",
				"name": "Temperature"
			}
		},
		{
			"name": "gwhealth",
			"type": "JSON",
			"settings": {
				"url": "/data/-/gwhealth/NSO:Ops:SID",
				"use_thingproxy": true,
				"refresh": 10,
				"method": "GET"
Emanuele Laface's avatar
Emanuele Laface committed
		}
	],
Emanuele Laface's avatar
Emanuele Laface committed
}