Changed hardcoded alarm colors to classes
This commit is contained in:
parent
a1203b24da
commit
543c430448
@ -692,7 +692,22 @@
|
||||
"children": [
|
||||
{
|
||||
"custom": {
|
||||
"rawData": []
|
||||
"rawData": [
|
||||
{
|
||||
"style": {
|
||||
"classes": "Alarms-Styles/Low"
|
||||
},
|
||||
"value": {
|
||||
"Description": "MCM01 Hello world",
|
||||
"Duration": "00:01:14",
|
||||
"EventTimestamp": "2025-06-20 21:11:53",
|
||||
"Location": "MCM01",
|
||||
"NumberID": 42,
|
||||
"Priority": "Low",
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"meta": {
|
||||
"name": "Table"
|
||||
@ -732,7 +747,7 @@
|
||||
},
|
||||
"onChange": {
|
||||
"enabled": null,
|
||||
"script": "\tfrom system import date\n\t\n\ttag_provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n\n\t# Helper: format row for table\n\tdef testRow(eventTimeStamp, duration, location, priority, description, tag, color, numberId):\n\t\treturn {\n\t\t \"value\": {\n\t\t \"NumberID\": numberId,\n\t\t \"EventTimestamp\": eventTimeStamp,\n\t\t \"Duration\": duration,\n\t\t \"Priority\": priority,\n\t\t \"Location\": location,\n\t\t \"Description\": description,\n\t\t \"Tag\": tag,\n\t\t },\n\t\t \"style\": {\n\t\t \"backgroundColor\": color,\n\t\t }\n\t\t}\n\t\n\t# Query active alarms\n\tresults \u003d system.alarm.queryStatus(state\u003d[\"ActiveUnacked\", \"ActiveAcked\"])\n\t\n\t# Build rows\n\tdata \u003d []\n\tcolor \u003d \"\"\n\tnumberID \u003d \"\"\n\tlcoation \u003d \"\"\n\t\n\tif(results \u003d\u003d0):\n\t\treturn\n\t\n\tfor i, alarm in enumerate(results):\n\t\tactiveTime \u003d alarm.eventTime\n\t\tmyTag \u003d alarm.myTag\n\t\tOPCItemTag \u003d system.tag.read(tag_provider + myTag + \".OpcItemPath\").value\n\t\tif(OPCItemTag):\t\t\n\t\t\tparts \u003d OPCItemTag.split(\".\")\n\t\t\ttag \u003d str(alarm.displayPath) +\".\" + parts[1] + \".\" + parts[2]\n\t\telse:\n\t\t\ttag \u003d \"Unknown tag\"\n\t\t\n\t\ttag_parts \u003d myTag.split(\"/\")\n\t\tif(tag_parts):\n\t\t\tlocation \u003d tag_parts[1] \n\t\telse:\n\t\t\tlocation \u003d \"Unknown Location\"\n\t\t\n\t\t\n\t\ttry:\n\t\t query \u003d system.db.runQuery(\"SELECT id, eventtime FROM alarm_events WHERE eventid \u003d \" + \"\u0027\" + str(alarm.id) + \"\u0027\",\"MariaDB\")\n\t\t if(query):\n\t\t \tnumberID \u003d query[0][0]\n\t\t durationSeconds \u003d date.secondsBetween(activeTime, date.now())\n\t\t durationStr \u003d date.format(date.addSeconds(date.midnight(date.now()), durationSeconds), \"HH:mm:ss\")\n\t\t \n\t\t priority \u003d alarm.priority.toString()\n\t\t if priority \u003d\u003d \"High\":\n\t\t color \u003d \"#f45d56\"\n\t\t elif priority \u003d\u003d \"Medium\":\n\t\t color \u003d \"#d32f2f\"\n\t\t elif priority \u003d\u003d \"Low\":\n\t\t color \u003d \"#ffeb3b\"\n\t\t elif priority \u003d\u003d \"Diagnostic\":\n\t\t color \u003d \"#2196f3\"\n\t\t elif priority \u003d\u003d \"Critical\":\n\t\t color \u003d \"#b71c1c\"\n\t\t else:\n\t\t color \u003d \"#ffffff\"\n\t\t \n\t\n\t\t data.append(testRow(\n\t\t eventTimeStamp \u003d date.format(activeTime, \"yyyy-MM-dd HH:mm:ss\"),\n\t\t duration \u003d durationStr,\n\t\t location \u003d location,\n\t\t numberId \u003d numberID,\n\t\t priority \u003d priority,\n\t\t description \u003d alarm.myLocation + \" \" + alarm.name,\n\t\t tag \u003d tag,\n\t\t color \u003d color,\n\t\t ))\n\t\texcept:\n\t\t\tpass\n\t\n\tself.custom.rawData \u003d data"
|
||||
"script": "\tfrom system import date\n\t\n\ttag_provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n\n\t# Helper: format row for table\n\tdef testRow(eventTimeStamp, duration, location, priority, description, tag, className, numberId):\n\t\treturn {\n\t\t \"value\": {\n\t\t \"NumberID\": numberId,\n\t\t \"EventTimestamp\": eventTimeStamp,\n\t\t \"Duration\": duration,\n\t\t \"Priority\": priority,\n\t\t \"Location\": location,\n\t\t \"Description\": description,\n\t\t \"Tag\": tag,\n\t\t },\n\t\t \"style\": {\n\t\t \"classes\": className,\n\t\t }\n\t\t}\n\t\n\t# Query active alarms\n\tresults \u003d system.alarm.queryStatus(state\u003d[\"ActiveUnacked\", \"ActiveAcked\"])\n\t\n\t# Build rows\n\tdata \u003d []\n\tnumberID \u003d \"\"\n\tlcoation \u003d \"\"\n\tclassName \u003d \"\"\n\tif(results \u003d\u003d0):\n\t\treturn\n\t\n\tfor i, alarm in enumerate(results):\n\t\tactiveTime \u003d alarm.eventTime\n\t\tmyTag \u003d alarm.myTag\n\t\tOPCItemTag \u003d system.tag.read(tag_provider + myTag + \".OpcItemPath\").value\n\t\tif(OPCItemTag):\t\t\n\t\t\tparts \u003d OPCItemTag.split(\".\")\n\t\t\ttag \u003d str(alarm.displayPath) +\".\" + parts[1] + \".\" + parts[2]\n\t\telse:\n\t\t\ttag \u003d \"Unknown tag\"\n\t\t\n\t\ttag_parts \u003d myTag.split(\"/\")\n\t\tif(tag_parts):\n\t\t\tlocation \u003d tag_parts[1] \n\t\telse:\n\t\t\tlocation \u003d \"Unknown Location\"\n\t\t\n\t\t\n\t\ttry:\n\t\t query \u003d system.db.runQuery(\"SELECT id, eventtime FROM alarm_events WHERE eventid \u003d \" + \"\u0027\" + str(alarm.id) + \"\u0027\",\"MariaDB\")\n\t\t if(query):\n\t\t \tnumberID \u003d query[0][0]\n\t\t durationSeconds \u003d date.secondsBetween(activeTime, date.now())\n\t\t durationStr \u003d date.format(date.addSeconds(date.midnight(date.now()), durationSeconds), \"HH:mm:ss\")\n\t\t \n\t\t priority \u003d alarm.priority.toString()\n\t\t if priority \u003d\u003d \"High\":\n\t\t color \u003d \"Alarms-Styles/High\"\n\t\t elif priority \u003d\u003d \"Medium\":\n\t\t className \u003d \"Alarms-Styles/Medium\"\n\t\t elif priority \u003d\u003d \"Low\":\n\t\t className \u003d \"Alarms-Styles/Low\"\n\t\t elif priority \u003d\u003d \"Diagnostic\":\n\t\t className \u003d \"Alarms-Styles/Diagnostic\"\n\t\t else:\n\t\t className \u003d \"Alarms-Styles/NoAlarm\"\n\t\t \n\t\n\t\t data.append(testRow(\n\t\t eventTimeStamp \u003d date.format(activeTime, \"yyyy-MM-dd HH:mm:ss\"),\n\t\t duration \u003d durationStr,\n\t\t location \u003d location,\n\t\t numberId \u003d numberID,\n\t\t priority \u003d priority,\n\t\t description \u003d alarm.myLocation + \" \" + alarm.name,\n\t\t tag \u003d tag,\n\t\t className \u003d className,\n\t\t ))\n\t\texcept:\n\t\t\tpass\n\t\n\tself.custom.rawData \u003d data"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1391,8 +1406,20 @@
|
||||
"filter": {
|
||||
"enabled": true,
|
||||
"results": {
|
||||
"data": [
|
||||
{
|
||||
"Description": "MCM01 Hello world",
|
||||
"Duration": "00:01:14",
|
||||
"EventTimestamp": "2025-06-20 21:11:53",
|
||||
"Location": "MCM01",
|
||||
"NumberID": 42,
|
||||
"Priority": "Low",
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"text": " "
|
||||
},
|
||||
"selection": {
|
||||
"mode": "multiple interval"
|
||||
@ -1432,7 +1459,7 @@
|
||||
"component": {
|
||||
"onActionPerformed": {
|
||||
"config": {
|
||||
"script": "\ttry:\n\t # Get dataset from table\n\t data \u003d self.parent.parent.getChild(\"FlexContainer_0\").getChild(\"AlarmsTable\").props.data\n\t\n\t # CSV header\n\t csv_content \u003d \"First Timestamp,Last Timestamp,Count,Duration,Priority,Location,Description,Tag\\n\"\n\t\n\t if data and data.getRowCount() \u003e 0:\n\t for i in range(data.getRowCount()):\n\t duration_raw \u003d data.getValueAt(i, \"Duration\")\n\t duration_str \u003d str(duration_raw) if duration_raw is not None else \"\"\n\t row_data \u003d [\n\t str(data.getValueAt(i, \"FirstTimestamp\") or \"\"),\n\t str(data.getValueAt(i, \"LastTimestamp\") or \"\"),\n\t str(data.getValueAt(i, \"Count\") or \"\"),\n\t duration_str,\n\t str(data.getValueAt(i, \"Priority\") or \"\"),\n\t str(data.getValueAt(i, \"Location\") or \"\"),\n\t str(data.getValueAt(i, \"Description\") or \"\"),\n\t str(data.getValueAt(i, \"Tag\") or \"\")\n\t ]\n\t\n\t # Escape commas for CSV safety\n\t row_data \u003d [field.replace(\",\", \";\") for field in row_data]\n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Error during CSV export: \" + str(e))\n\t csv_content \u003d \"Error exporting alarm data\\n\"\n\t\n\t# Convert to bytes and trigger download\n\tcsv_bytes \u003d csv_content.encode(\u0027utf-8\u0027)\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)\n "
|
||||
"script": "\tfrom datetime import datetime\n\t\n\ttry:\n\t data \u003d self.parent.parent.getChild(\"FlexContainer_0\").getChild(\"AlarmsTable\").props.data\n\t\n\t column_order \u003d [\n\t \"FirstTimestamp\",\n\t \"LastTimestamp\", \n\t \"Count\",\n\t \"Duration\",\n\t \"Priority\",\n\t \"Location\",\n\t \"Description\",\n\t \"Tag\"\n\t ]\n\t\n\t csv_content \u003d \",\".join(column_order) + \"\\n\"\n\t \t\n\t def unwrap(v):\n\t\t\tif hasattr(v, \u0027value\u0027):\n\t\t\t\treturn str(v.value)\n\t \t\n\t\t\treturn v\n\t \t\n\t if data and len(data) \u003e 0:\n\t for item in data:\n\t row_data \u003d []\n\t \n\t for col in column_order:\n\t # Look for the column in the current item\n\t if col in item:\n\t cell \u003d item[col]\n\t # Extract the value from the nested structure\n\t if isinstance(cell, dict) and \"value\" in cell:\n\t raw_value \u003d cell[\"value\"]\n\t else:\n\t raw_value \u003d cell\n\t else:\n\t raw_value \u003d \"\"\n\t \n\t # Process and clean the value\n\t processed_value \u003d unwrap(raw_value).replace(\",\", \";\")\n\t row_data.append(processed_value)\n\t \n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Export Error: \" + str(e))\n\t csv_content \u003d \"Export failed\\n\"\n\t\n\tcsv_bytes \u003d csv_content.encode(\"utf-8\")\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)"
|
||||
},
|
||||
"scope": "G",
|
||||
"type": "script"
|
||||
@ -1503,13 +1530,13 @@
|
||||
"config": {
|
||||
"polling": {
|
||||
"enabled": true,
|
||||
"rate": "5"
|
||||
"rate": "3"
|
||||
},
|
||||
"queryPath": "GetAlarmsWithCount"
|
||||
},
|
||||
"transforms": [
|
||||
{
|
||||
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"] \n\n\t\t# Determine style based on priority\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fd6059\"}\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fafa6c\"}\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#5da0f9\"}\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fca25f\"}\n\t\telif priority \u003d\u003d \"Critical\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#c86462\"}\n\t\telse:\n\t\t\tstyle \u003d {\"backgroundColor\": \"\"}\n\n\t\t# Apply style to all columns in this row\n\t\trow_dict \u003d {col: {\"value\": row[col], \"style\": style} for col in column_names}\n\t\tdata.append(row_dict)\n\n\treturn data\n",
|
||||
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n",
|
||||
"type": "script"
|
||||
}
|
||||
],
|
||||
@ -2272,7 +2299,13 @@
|
||||
}
|
||||
},
|
||||
"filter": {
|
||||
"enabled": true
|
||||
"enabled": true,
|
||||
"results": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"pager": {
|
||||
"activeOption": 5
|
||||
},
|
||||
"selection": {
|
||||
"enableRowSelection": false,
|
||||
@ -2415,17 +2448,17 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991104
|
||||
1750436956149
|
||||
],
|
||||
"$ts": 1750428991104
|
||||
"$ts": 1750436956149
|
||||
},
|
||||
"startDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991104
|
||||
1750436956149
|
||||
],
|
||||
"$ts": 1750414591104
|
||||
"$ts": 1750435156149
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
@ -2598,7 +2631,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Jun 20, 2025 2:16 PM",
|
||||
"formattedValue": "Jun 20, 2025 7:59 PM",
|
||||
"style": {
|
||||
"margin": 15
|
||||
}
|
||||
@ -2683,7 +2716,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Jun 20, 2025 6:16 PM",
|
||||
"formattedValue": "Jun 20, 2025 8:29 PM",
|
||||
"maxDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
@ -2699,9 +2732,9 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991104
|
||||
1750436956149
|
||||
],
|
||||
"$ts": 1750428991104
|
||||
"$ts": 1750436956149
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
@ -2891,17 +2924,17 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991105
|
||||
1750436956154
|
||||
],
|
||||
"$ts": 1750414591104
|
||||
"$ts": 1750435156149
|
||||
},
|
||||
"time_to_filter": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991105
|
||||
1750436956154
|
||||
],
|
||||
"$ts": 1750428991104
|
||||
"$ts": 1750436956149
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
@ -2956,7 +2989,7 @@
|
||||
},
|
||||
"transforms": [
|
||||
{
|
||||
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"] \n\n\t\t# Determine style based on priority\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fd6059\"}\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fafa6c\"}\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#5da0f9\"}\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#fca25f\"}\n\t\telif priority \u003d\u003d \"Critical\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#c86462\"}\n\t\telse:\n\t\t\tstyle \u003d {\"backgroundColor\": \"\"}\n\n\t\t# Apply style to all columns in this row\n\t\trow_dict \u003d {col: {\"value\": row[col], \"style\": style} for col in column_names}\n\t\tdata.append(row_dict)\n\n\treturn data",
|
||||
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data",
|
||||
"type": "script"
|
||||
}
|
||||
],
|
||||
@ -3707,518 +3740,6 @@
|
||||
"filter": {
|
||||
"enabled": true,
|
||||
"results": {
|
||||
"data": [
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:32",
|
||||
"EndTimestamp": 1750427866000,
|
||||
"ID": 39,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750427834000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "02:49:21",
|
||||
"EndTimestamp": 1750427784000,
|
||||
"ID": 35,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417623000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "02:49:21",
|
||||
"EndTimestamp": 1750427784000,
|
||||
"ID": 36,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417623000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 29,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 30,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 29,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 30,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 29,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 30,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 29,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:06",
|
||||
"EndTimestamp": 1750417622000,
|
||||
"ID": 30,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417616000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 25,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 26,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 25,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 26,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 25,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 26,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 25,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:16",
|
||||
"EndTimestamp": 1750417611000,
|
||||
"ID": 26,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417595000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 21,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 22,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 21,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 22,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 21,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 22,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 21,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417592000,
|
||||
"ID": 22,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417585000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 17,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 18,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 17,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 18,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 17,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 18,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 17,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "MCM01 - Hello world",
|
||||
"Duration": "00:00:05",
|
||||
"EndTimestamp": 1750417582000,
|
||||
"ID": 18,
|
||||
"Location": "MCM01",
|
||||
"Priority": "Low",
|
||||
"StartTimestamp": 1750417577000,
|
||||
"Tag": "MCM01.HMI.Beacon_Light"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 11,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 12,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 11,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 12,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 11,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 12,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 11,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:07",
|
||||
"EndTimestamp": 1750417555000,
|
||||
"ID": 12,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417548000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 5,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 6,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 5,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 6,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 5,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 6,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 5,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
},
|
||||
{
|
||||
"Description": "FL2078_2_VFD1 - Alarm",
|
||||
"Duration": "00:00:25",
|
||||
"EndTimestamp": 1750417544000,
|
||||
"ID": 6,
|
||||
"Location": "MCM01",
|
||||
"Priority": "High",
|
||||
"StartTimestamp": 1750417519000,
|
||||
"Tag": "FL2078_2_VFD1.HMI.Voltage"
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
@ -4351,17 +3872,17 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991105
|
||||
1750436956154
|
||||
],
|
||||
"$ts": 1750414591104
|
||||
"$ts": 1750435156149
|
||||
},
|
||||
"time_to_filter": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1750428991105
|
||||
1750436956154
|
||||
],
|
||||
"$ts": 1750428991104
|
||||
"$ts": 1750436956149
|
||||
},
|
||||
"type_filters": null
|
||||
},
|
||||
@ -4618,7 +4139,6 @@
|
||||
"contentStyle": {
|
||||
"classes": "Background-Styles/Grey-Background"
|
||||
},
|
||||
"currentTabIndex": 2,
|
||||
"menuType": "modern",
|
||||
"style": {
|
||||
"classes": "Background-Styles/Grey-Background"
|
||||
@ -4651,7 +4171,7 @@
|
||||
},
|
||||
"tabs": [
|
||||
"Active Alarms",
|
||||
"ALarm Hit List",
|
||||
"Alarm Hit List",
|
||||
"Historical"
|
||||
]
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user