If you like, you can still use tiles... CSS is your friend for shaping them. It may not be the best for your situation but I wanted to make sure others who find this know how CSS classes can (somewhat) easily customize built-in widgets.
[
{
"id": "de34d0275741fe5c",
"type": "ui-gauge",
"z": "14b49a9c9496432b",
"name": "tile 2",
"group": "efbce469212daff6",
"order": 2,
"value": "payload",
"valueType": "msg",
"width": "1",
"height": "2",
"gtype": "gauge-tile",
"gstyle": "needle",
"title": "Tile 2",
"alwaysShowTitle": false,
"floatingTitlePosition": "top-left",
"units": "units",
"icon": "",
"prefix": "",
"suffix": "",
"segments": [
{
"from": "0",
"color": "#5cd65c",
"text": "",
"textType": "label"
},
{
"from": "4",
"color": "#ffc800",
"text": "",
"textType": "label"
},
{
"from": "7",
"color": "#ea5353",
"text": "",
"textType": "label"
}
],
"min": 0,
"max": 10,
"sizeThickness": 16,
"sizeGap": 4,
"sizeKeyThickness": 8,
"styleRounded": true,
"styleGlow": false,
"className": "rounded-tile",
"x": 490,
"y": 480,
"wires": [
[]
]
},
{
"id": "c39f8cf7c63c5374",
"type": "ui-gauge",
"z": "14b49a9c9496432b",
"name": "tile 1",
"group": "efbce469212daff6",
"order": 1,
"value": "payload",
"valueType": "msg",
"width": "1",
"height": "2",
"gtype": "gauge-tile",
"gstyle": "needle",
"title": "Tile 1",
"alwaysShowTitle": false,
"floatingTitlePosition": "top-left",
"units": "units",
"icon": "",
"prefix": "",
"suffix": "",
"segments": [
{
"from": "0",
"color": "#5cd65c",
"text": "",
"textType": "label"
},
{
"from": "4",
"color": "#ffc800",
"text": "",
"textType": "label"
},
{
"from": "7",
"color": "#ea5353",
"text": "",
"textType": "label"
}
],
"min": 0,
"max": 10,
"sizeThickness": 16,
"sizeGap": 4,
"sizeKeyThickness": 8,
"styleRounded": true,
"styleGlow": false,
"className": "rounded-tile",
"x": 490,
"y": 440,
"wires": [
[]
]
},
{
"id": "99044c78c25adcf7",
"type": "inject",
"z": "14b49a9c9496432b",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "1",
"payloadType": "num",
"x": 290,
"y": 420,
"wires": [
[
"c39f8cf7c63c5374"
]
]
},
{
"id": "fc6a1dfda7765f2b",
"type": "inject",
"z": "14b49a9c9496432b",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "4",
"payloadType": "num",
"x": 290,
"y": 480,
"wires": [
[
"de34d0275741fe5c"
]
]
},
{
"id": "d8d36b2c0c022c20",
"type": "ui-template",
"z": "14b49a9c9496432b",
"group": "",
"page": "",
"ui": "01cb2bb666191bef",
"name": "css",
"order": 0,
"width": 0,
"height": 0,
"head": "",
"format": ".rounded-tile div {\n border-radius: 50%;\n height: 80px;\n width: 80px;\n}",
"storeOutMessages": true,
"passthru": true,
"resendOnRefresh": true,
"templateScope": "site:style",
"className": "",
"x": 410,
"y": 280,
"wires": [
[]
]
},
{
"id": "9c86cc294dae11c3",
"type": "ui-gauge",
"z": "14b49a9c9496432b",
"name": "tile 3",
"group": "efbce469212daff6",
"order": 3,
"value": "payload",
"valueType": "msg",
"width": "1",
"height": "2",
"gtype": "gauge-tile",
"gstyle": "needle",
"title": "Tile 3",
"alwaysShowTitle": false,
"floatingTitlePosition": "top-left",
"units": "units",
"icon": "",
"prefix": "",
"suffix": "",
"segments": [
{
"from": "0",
"color": "#5cd65c",
"text": "",
"textType": "label"
},
{
"from": "4",
"color": "#ffc800",
"text": "",
"textType": "label"
},
{
"from": "7",
"color": "#ea5353",
"text": "",
"textType": "label"
}
],
"min": 0,
"max": 10,
"sizeThickness": 16,
"sizeGap": 4,
"sizeKeyThickness": 8,
"styleRounded": true,
"styleGlow": false,
"className": "rounded-tile",
"x": 490,
"y": 520,
"wires": [
[]
]
},
{
"id": "2a6f646ff2951070",
"type": "inject",
"z": "14b49a9c9496432b",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "7",
"payloadType": "num",
"x": 290,
"y": 540,
"wires": [
[
"9c86cc294dae11c3"
]
]
},
{
"id": "efbce469212daff6",
"type": "ui-group",
"name": "Group 1",
"page": "9b525f55b1e35863",
"width": 6,
"height": 1,
"order": 1,
"showTitle": true,
"className": "",
"visible": true,
"disabled": false,
"groupType": "default"
},
{
"id": "01cb2bb666191bef",
"type": "ui-base",
"name": "My Dashboard",
"path": "/dashboard",
"appIcon": "",
"includeClientData": true,
"acceptsClientConfig": [
"ui-notification",
"ui-control"
],
"showPathInSidebar": false,
"headerContent": "page",
"navigationStyle": "default",
"titleBarStyle": "default",
"showReconnectNotification": true,
"notificationDisplayTime": 1,
"showDisconnectNotification": true,
"allowInstall": false
},
{
"id": "9b525f55b1e35863",
"type": "ui-page",
"name": "Page 1",
"ui": "01cb2bb666191bef",
"path": "/page1",
"icon": "home",
"layout": "grid",
"theme": "370f48f6497327e6",
"breakpoints": [
{
"name": "Default",
"px": 0,
"cols": 3
},
{
"name": "Tablet",
"px": 576,
"cols": 6
},
{
"name": "Small Desktop",
"px": 768,
"cols": 9
},
{
"name": "Desktop",
"px": 1024,
"cols": 12
}
],
"order": 1,
"className": "",
"visible": "true",
"disabled": "false"
},
{
"id": "370f48f6497327e6",
"type": "ui-theme",
"name": "Default Theme",
"colors": {
"surface": "#ffffff",
"primary": "#0094CE",
"bgPage": "#eeeeee",
"groupBg": "#ffffff",
"groupOutline": "#cccccc"
},
"sizes": {
"density": "default",
"pagePadding": "12px",
"groupGap": "12px",
"groupBorderRadius": "4px",
"widgetGap": "12px"
}
},
{
"id": "39466a3280681199",
"type": "global-config",
"env": [],
"modules": {
"@flowfuse/node-red-dashboard": "1.30.2"
}
}
]