\n
\n
widgets.system-info.cpu
\n
\n
\n
\n ${gwProcessCpuUsage:1}%\n | 1 core\n
\n
",
+ "markdownTextFunction": "return '# Some title\\n - Entity name: ' + data[0]['entityName'];",
+ "applyDefaultMarkdownStyle": false,
+ "markdownCss": ".tb-card-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.tb-card-title {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 1.5rem;\n}\n\n.tb-status {\n width: 24px;\n height: 24px;\n position: relative;\n}\n\n.tb-status.status-ok {\n background: #F3F6FA;\n border-radius: 4px;\n}\n\n.tb-status:after {\n position: absolute;\n top: 2px;\n left: 2px;\n font-family: 'Material Icons Round';\n font-size: 20px;\n line-height: 1;\n}\n\n.tb-status.status-ok:after {\n content: \"check\";\n color: #198038;\n font-weight: 600;\n}\n\n.tb-status.status-warn:after {\n content: \"warning\";\n color: #FAA405;\n}\n\n.tb-status.status-critical:after {\n content: \"warning\";\n color: #D12730;\n}\n\n.tb-value-container {\n user-select: none;\n}\n\n.tb-count {\n font-style: normal;\n font-weight: 500;\n font-size: 26px;\n line-height: 36px;\n}\n\n.tb-total {\n padding-left: 4px;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.54);\n}\n\n@media screen and (min-width: 960px) and (max-width: 1819px) {\n .tb-status {\n width: 1.25rem;\n height: 1.25rem;\n }\n .tb-status:after {\n font-size: 1rem;\n }\n .tb-count {\n font-size: 1.25rem;\n line-height: 24px;\n }\n .tb-total {\n font-size: 11px;\n line-height: 16px;\n }\n}"
+ },
+ "title": "Markdown/HTML Card",
+ "showTitleIcon": false,
+ "iconColor": "rgba(0, 0, 0, 0.87)",
+ "iconSize": "24px",
+ "titleTooltip": "",
+ "dropShadow": true,
+ "enableFullscreen": false,
+ "widgetStyle": {},
+ "titleStyle": {
+ "fontSize": "16px",
+ "fontWeight": 400
+ },
+ "showLegend": false,
+ "useDashboardTimewindow": true,
+ "displayTimewindow": true,
"borderRadius": "5px",
- "iconSize": "0px",
+ "widgetCss": "",
+ "pageSize": 1024,
+ "noDataDisplayMessage": "",
"enableDataExport": false
},
"row": 0,
"col": 0,
- "id": "7543e668-35b7-bb97-2f14-163399f8d038"
+ "id": "7f3ebf9f-d967-44fe-fbe4-4667a2abcf88"
},
- "7f3ebf9f-d967-44fe-fbe4-4667a2abcf88": {
+ "ea75a492-d149-9a53-b45f-840a0ce42a40": {
"typeFullFqn": "system.cards.markdown_card",
"type": "latest",
"sizeX": 5,
@@ -7862,7 +7594,7 @@
{
"name": "machineStats",
"type": "timeseries",
- "label": "gwProcessCpuUsage",
+ "label": "gwMemory",
"color": "#4caf50",
"settings": {},
"_hash": 0.635089967416214,
@@ -7871,7 +7603,7 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "return value ? (JSON.parse(value)?.gwProcessCpuUsage ?? 0) : 0;"
+ "postFuncBody": "return value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;"
},
{
"name": "machineStats",
@@ -7885,7 +7617,7 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwProcessCpuUsage ?? 0) : 0;\nlet status = 'status-ok';\nif (usage > 85) {\n status = 'status-critical';\n} else if (usage > 75) {\n status = 'status-warn';\n}\nreturn status;"
+ "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;\nlet status = 'status-ok';\nif (usage > 85) {\n status = 'status-critical';\n} else if (usage > 75) {\n status = 'status-warn';\n}\nreturn status;"
},
{
"name": "machineStats",
@@ -7899,7 +7631,21 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwProcessCpuUsage ?? 0) : 0;\nlet text = '';\nif (usage > 85) {\n text = '{{ \\'widgets.system-info.cpu-critical-text\\' | translate }}';\n} else if (usage > 75) {\n text = '{{ \\'widgets.system-info.cpu-warning-text\\' | translate }}';\n}\nreturn text;"
+ "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;\nlet text = '';\nif (usage > 85) {\n text = '{{ \\'widgets.system-info.ram-critical-text\\' | translate }}';\n} else if (usage > 75) {\n text = '{{ \\'widgets.system-info.ram-warning-text\\' | translate }}';\n}\nreturn text;"
+ },
+ {
+ "name": "totalMemory",
+ "type": "attribute",
+ "label": "totalMemory",
+ "color": "#ffc107",
+ "settings": {},
+ "_hash": 0.4893025210001585,
+ "aggregationType": null,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": true,
+ "postFuncBody": "return value || '0G';"
}
],
"alarmFilterConfig": {
@@ -7946,7 +7692,7 @@
"padding": "16px",
"settings": {
"useMarkdownTextFunction": false,
- "markdownTextPattern": "\n
\n
widgets.system-info.cpu
\n
\n
\n
\n ${gwProcessCpuUsage:1}%\n | 1 core\n
\n
",
+ "markdownTextPattern": "\n
\n
widgets.system-info.ram
\n
\n
\n
\n ${gwMemory:1}%\n | ${totalMemory}\n
\n
",
"markdownTextFunction": "return '# Some title\\n - Entity name: ' + data[0]['entityName'];",
"applyDefaultMarkdownStyle": false,
"markdownCss": ".tb-card-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.tb-card-title {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 1.5rem;\n}\n\n.tb-status {\n width: 24px;\n height: 24px;\n position: relative;\n}\n\n.tb-status.status-ok {\n background: #F3F6FA;\n border-radius: 4px;\n}\n\n.tb-status:after {\n position: absolute;\n top: 2px;\n left: 2px;\n font-family: 'Material Icons Round';\n font-size: 20px;\n line-height: 1;\n}\n\n.tb-status.status-ok:after {\n content: \"check\";\n color: #198038;\n font-weight: 600;\n}\n\n.tb-status.status-warn:after {\n content: \"warning\";\n color: #FAA405;\n}\n\n.tb-status.status-critical:after {\n content: \"warning\";\n color: #D12730;\n}\n\n.tb-value-container {\n user-select: none;\n}\n\n.tb-count {\n font-style: normal;\n font-weight: 500;\n font-size: 26px;\n line-height: 36px;\n}\n\n.tb-total {\n padding-left: 4px;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.54);\n}\n\n@media screen and (min-width: 960px) and (max-width: 1819px) {\n .tb-status {\n width: 1.25rem;\n height: 1.25rem;\n }\n .tb-status:after {\n font-size: 1rem;\n }\n .tb-count {\n font-size: 1.25rem;\n line-height: 24px;\n }\n .tb-total {\n font-size: 11px;\n line-height: 16px;\n }\n}"
@@ -7974,9 +7720,9 @@
},
"row": 0,
"col": 0,
- "id": "7f3ebf9f-d967-44fe-fbe4-4667a2abcf88"
+ "id": "ea75a492-d149-9a53-b45f-840a0ce42a40"
},
- "ea75a492-d149-9a53-b45f-840a0ce42a40": {
+ "13b57ab5-e5ed-701c-4c67-5bb1198e9a53": {
"typeFullFqn": "system.cards.markdown_card",
"type": "latest",
"sizeX": 5,
@@ -7991,7 +7737,7 @@
{
"name": "machineStats",
"type": "timeseries",
- "label": "gwMemory",
+ "label": "diskUsage",
"color": "#4caf50",
"settings": {},
"_hash": 0.635089967416214,
@@ -8000,7 +7746,7 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "return value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;"
+ "postFuncBody": "return value ? (JSON.parse(value)?.diskUsage ?? 0) : 0;"
},
{
"name": "machineStats",
@@ -8014,7 +7760,7 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;\nlet status = 'status-ok';\nif (usage > 85) {\n status = 'status-critical';\n} else if (usage > 75) {\n status = 'status-warn';\n}\nreturn status;"
+ "postFuncBody": "const usage = value ? (JSON.parse(value)?.diskUsage ?? 0) : 0;\nlet status = 'status-ok';\nif (usage > 85) {\n status = 'status-critical';\n} else if (usage > 75) {\n status = 'status-warn';\n}\nreturn status;"
},
{
"name": "machineStats",
@@ -8028,15 +7774,15 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "const usage = value ? (JSON.parse(value)?.gwMemory ?? 0) : 0;\nlet text = '';\nif (usage > 85) {\n text = '{{ \\'widgets.system-info.ram-critical-text\\' | translate }}';\n} else if (usage > 75) {\n text = '{{ \\'widgets.system-info.ram-warning-text\\' | translate }}';\n}\nreturn text;"
+ "postFuncBody": "const usage = value ? (JSON.parse(value)?.diskUsage ?? 0) : 0;\nlet text = '';\nif (usage > 85) {\n text = '{{ \\'widgets.system-info.disk-critical-text\\' | translate }}';\n} else if (usage > 75) {\n text = '{{ \\'widgets.system-info.disk-warning-text\\' | translate }}';\n}\nreturn text;"
},
{
- "name": "totalMemory",
+ "name": "totalDisk",
"type": "attribute",
- "label": "totalMemory",
+ "label": "totalDisk",
"color": "#ffc107",
"settings": {},
- "_hash": 0.4893025210001585,
+ "_hash": 0.6337011250870808,
"aggregationType": null,
"units": null,
"decimals": null,
@@ -8089,7 +7835,7 @@
"padding": "16px",
"settings": {
"useMarkdownTextFunction": false,
- "markdownTextPattern": "\n
\n
widgets.system-info.ram
\n
\n
\n
\n ${gwMemory:1}%\n | ${totalMemory}\n
\n
",
+ "markdownTextPattern": "\n
\n
widgets.system-info.disk
\n
\n
\n
\n ${diskUsage:1}%\n | ${totalDisk}\n
\n
",
"markdownTextFunction": "return '# Some title\\n - Entity name: ' + data[0]['entityName'];",
"applyDefaultMarkdownStyle": false,
"markdownCss": ".tb-card-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.tb-card-title {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 1.5rem;\n}\n\n.tb-status {\n width: 24px;\n height: 24px;\n position: relative;\n}\n\n.tb-status.status-ok {\n background: #F3F6FA;\n border-radius: 4px;\n}\n\n.tb-status:after {\n position: absolute;\n top: 2px;\n left: 2px;\n font-family: 'Material Icons Round';\n font-size: 20px;\n line-height: 1;\n}\n\n.tb-status.status-ok:after {\n content: \"check\";\n color: #198038;\n font-weight: 600;\n}\n\n.tb-status.status-warn:after {\n content: \"warning\";\n color: #FAA405;\n}\n\n.tb-status.status-critical:after {\n content: \"warning\";\n color: #D12730;\n}\n\n.tb-value-container {\n user-select: none;\n}\n\n.tb-count {\n font-style: normal;\n font-weight: 500;\n font-size: 26px;\n line-height: 36px;\n}\n\n.tb-total {\n padding-left: 4px;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.54);\n}\n\n@media screen and (min-width: 960px) and (max-width: 1819px) {\n .tb-status {\n width: 1.25rem;\n height: 1.25rem;\n }\n .tb-status:after {\n font-size: 1rem;\n }\n .tb-count {\n font-size: 1.25rem;\n line-height: 24px;\n }\n .tb-total {\n font-size: 11px;\n line-height: 16px;\n }\n}"
@@ -8106,86 +7852,273 @@
"fontSize": "16px",
"fontWeight": 400
},
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
+ "showLegend": false,
+ "useDashboardTimewindow": true,
+ "displayTimewindow": true,
+ "borderRadius": "5px",
+ "widgetCss": "",
+ "pageSize": 1024,
+ "noDataDisplayMessage": "",
+ "enableDataExport": false
+ },
+ "row": 0,
+ "col": 0,
+ "id": "13b57ab5-e5ed-701c-4c67-5bb1198e9a53"
+ },
+ "867613d5-9440-fac1-9156-cd8773df5c97": {
+ "typeFullFqn": "system.cards.markdown_card",
+ "type": "latest",
+ "sizeX": 5,
+ "sizeY": 3.5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": "",
+ "dataKeys": []
+ }
+ ],
+ "timewindow": {
+ "displayValue": "",
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 1,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": {
+ "startTimeMs": 1733234218432,
+ "endTimeMs": 1733320618432
+ },
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "AVG",
+ "limit": 25000
+ }
+ },
+ "showTitle": false,
+ "backgroundColor": "#fff",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0",
+ "settings": {
+ "useMarkdownTextFunction": false,
+ "markdownTextPattern": "\n
\n
widgets.system-info.disk
\n
\n
\n
\n ${diskUsage:1}%\n | ${totalDisk}\n
\n
",
- "markdownTextFunction": "return '# Some title\\n - Entity name: ' + data[0]['entityName'];",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": ".tb-card-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.tb-card-title {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 1.5rem;\n}\n\n.tb-status {\n width: 24px;\n height: 24px;\n position: relative;\n}\n\n.tb-status.status-ok {\n background: #F3F6FA;\n border-radius: 4px;\n}\n\n.tb-status:after {\n position: absolute;\n top: 2px;\n left: 2px;\n font-family: 'Material Icons Round';\n font-size: 20px;\n line-height: 1;\n}\n\n.tb-status.status-ok:after {\n content: \"check\";\n color: #198038;\n font-weight: 600;\n}\n\n.tb-status.status-warn:after {\n content: \"warning\";\n color: #FAA405;\n}\n\n.tb-status.status-critical:after {\n content: \"warning\";\n color: #D12730;\n}\n\n.tb-value-container {\n user-select: none;\n}\n\n.tb-count {\n font-style: normal;\n font-weight: 500;\n font-size: 26px;\n line-height: 36px;\n}\n\n.tb-total {\n padding-left: 4px;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.54);\n}\n\n@media screen and (min-width: 960px) and (max-width: 1819px) {\n .tb-status {\n width: 1.25rem;\n height: 1.25rem;\n }\n .tb-status:after {\n font-size: 1rem;\n }\n .tb-count {\n font-size: 1.25rem;\n line-height: 24px;\n }\n .tb-total {\n font-size: 11px;\n line-height: 16px;\n }\n}"
+ "cardHtml": "