dashboard-sensor1
Teste ajeitando label do componente gauge
[{"id":"f6f2187d.f17ca8","type":"tab","label":"Dashboard","disabled":false,"info":""},{"id":"7940526a1543c4e2","type":"mqtt in","z":"f6f2187d.f17ca8","name":"","topic":"sensor/distancia","qos":"2","datatype":"auto-detect","broker":"65e9674962a32748","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":140,"wires":[["370b7a67bdbfe671","e8a5077e91ceda53","d43654e51e480f41"]]},{"id":"d43654e51e480f41","type":"ui_chart","z":"f6f2187d.f17ca8","name":"","group":"3fcd3d7cb2b477a3","order":1,"width":0,"height":0,"label":"Histórico da Distância","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"30","removeOlderPoints":"","removeOlderUnit":"1","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#86b0cc","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":400,"y":140,"wires":[[]]},{"id":"370b7a67bdbfe671","type":"ui_gauge","z":"f6f2187d.f17ca8","name":"","group":"a6b397b9420c33b0","order":3,"width":0,"height":0,"gtype":"gage","title":"Distância Atual","label":"Distância Atual (cm)","format":"{{value}}","min":0,"max":"400","colors":["#004c6d","#6996b3","#c1e7ff"],"seg1":"20","seg2":"100","diff":false,"className":"","x":380,"y":60,"wires":[]},{"id":"e8a5077e91ceda53","type":"function","z":"f6f2187d.f17ca8","name":"média móvel","func":"// Tamanho da janela\nconst windowSize = 50;\n\n// Inicializa contexto\nlet values = context.get('values') || [];\n\n// Teste se novo valor é um número\nlet newValue = Number(msg.payload);\nif (isNaN(newValue)) return null;\n\n// Adciona um novo valor ao vetor\nvalues.push(newValue);\n\n// Mantém ultimos N valores que estão na janela\nif (values.length > windowSize) {\n values.shift();\n}\n\n// Salva valores devolta no contexo\ncontext.set('values', values);\n\n// Calcula média\nlet sum = values.reduce((a, b) => a + b, 0);\nlet avg = sum / values.length;\n\n// Retorna média\nmsg.payload = avg;\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":220,"wires":[["4e9631d0b4bfee54"]]},{"id":"4e9631d0b4bfee54","type":"ui_chart","z":"f6f2187d.f17ca8","name":"","group":"33d5e77483beb8ca","order":1,"width":0,"height":0,"label":"Média Móvel da Distância","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"30","removeOlderPoints":"","removeOlderUnit":"1","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#86b0cc","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":590,"y":220,"wires":[[]]},{"id":"65e9674962a32748","type":"mqtt-broker","name":"testmqtt","broker":"test.mosquitto.org","port":1883,"clientid":"","autoConnect":true,"usetls":false,"protocolVersion":4,"keepalive":60,"cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"3fcd3d7cb2b477a3","type":"ui_group","name":"Gráfico 1","tab":"033a7733a015ed24","order":2,"disp":false,"width":"7","collapse":false,"className":""},{"id":"a6b397b9420c33b0","type":"ui_group","name":"Medida Central","tab":"033a7733a015ed24","order":1,"disp":false,"width":"14","collapse":false,"className":""},{"id":"33d5e77483beb8ca","type":"ui_group","name":"Gráfico 2","tab":"033a7733a015ed24","order":3,"disp":false,"width":"7","collapse":false,"className":""},{"id":"033a7733a015ed24","type":"ui_tab","name":"Dashboard","icon":"dashboard","disabled":false,"hidden":false}]