Hi,
I had the problem that sometimes my Homey would lose the MQTT connection, which is why the dashboard would stop working. This would not be immediately visible, so I created a status indicator.
Just sharing the example here:

The signal symbol is orange if all is OK, it blinks orange/grey if no mqtt message was received in the past 30 seconds or longer, and turn red if no message was received for more than 2 minutes.
Here’s the flow:
Have fun with the code:
[{"id":"9bfbfc38.0bb22","type":"switch","z":"7a3033ea.2f403c","name":"","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"homeypro","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":390,"y":1840,"wires":[["8e52f2a5.94fe8"]]},{"id":"8e52f2a5.94fe8","type":"function","z":"7a3033ea.2f403c","name":"","func":"var nu = Date.now();\n\nglobal.set(\"LaatsteMQTTBerichtOntvangen\",nu);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":1840,"wires":[[]]},{"id":"5dc5699.2d93198","type":"inject","z":"7a3033ea.2f403c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":380,"y":1880,"wires":[["3782d33a.022c4c"]]},{"id":"3782d33a.022c4c","type":"function","z":"7a3033ea.2f403c","name":"","func":"\nvar nu= msg.payload;\nvar meesteRecenteBerichtTimestamp = global.get(\"LaatsteMQTTBerichtOntvangen\");\n\nvar millis = nu - meesteRecenteBerichtTimestamp;\n\nverschilInSeconden = Math.floor(millis / 1000);\n\nvar icnColor=\"#888888\";\nvar pl = \"\";\nvar icon=\"\";\n\nif (verschilInSeconden<31)\n{\n icnColor=\"#FFAA00\"; \n icon=\"fa fa-signal\";\n}\nelse if (verschilInSeconden<121)\n{\n if (verschilInSeconden % 2)\n {\n icnColor=\"#FFAA00\"; \n } else\n {\n icnColor=\"#888888\"; \n }\n icon=\"fa fa-signal\";\n}\nelse\n{\n icnColor=\"#FF4444\"; \n icon=\"fa fa-signal\";\n}\npl = \"MQTT data\";\n\nmsg = {payload:pl, Iconcolor:icnColor, IconShape:icon};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":1880,"wires":[["63732e86.2e011"]]},{"id":"63732e86.2e011","type":"ui_template","z":"7a3033ea.2f403c","group":"f0c86728.497088","name":"mqttReceivingIndicator","order":6,"width":5,"height":1,"format":"<span style=\"vertical-align:middle; font-size:25px; color: rgb(255, 255, 255); text-align: left; \" class=\"fr-class-transparency\">\n <i style=\"color:{{msg.Iconcolor}}!important;\" class={{msg.IconShape}} aria-hidden=\"true\"></i> \n <span>{{msg.payload}}</span>\n</span>","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":true,"templateScope":"local","x":750,"y":1880,"wires":[[]]},{"id":"f0c86728.497088","type":"ui_group","name":"Energie Vandaag","tab":"9184a885.936cb8","order":1,"disp":true,"width":"18","collapse":false},{"id":"9184a885.936cb8","type":"ui_tab","name":"Energie","icon":"dashboard","order":3,"disabled":false,"hidden":false}]