Newer
Older
"plugins": [],
"panes": [
{
"width": 1,
"row": {
"1": 1,
"2": 1,
"3": 1,
"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;",
"1": 7,
"2": 7,
"3": 7,
"4": 7,
"5": 7,
"7": 7,
"14": 7
},
"col": {
"1": 1,
"2": 1,
"3": 1,
"4": 1,
"1": 11,
"2": 11,
"3": 11,
"4": 11,
"5": 11,
"6": 7,
"7": 17,
"9": 17,
"11": 17,
"14": 17
"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",
"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;",
"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"
{
"name": "Clock",
"type": "clock",
"settings": {
"refresh": 1,
"name": "Clock"
"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",
}
},
{
"name": "gwhealth",
"type": "JSON",
"settings": {
"url": "/data/-/gwhealth/NSO:Ops:SID",
"use_thingproxy": true,
"refresh": 10,
"method": "GET"