iSpindel Dashboard

Monitor your iSpindel temperature, gravity and battery level with node-red.

This simple flow listen to Spindel at a TCP port (8000 for this example) and format the data to a simple monitoring dashboard.

Advantages is the possibility to monitor your iSpindel localhost (with a Raspberry Pi for instance) and from there save/route your data to a myriad of possible outputs in node-red (mysql, influxdb/grafana, sqlite) and IOT services like ubidots that is very used by iSpindel users.

[{"id":"7b32672b.c8f9c8","type":"tcp in","z":"5fb06585.b18e3c","name":"","server":"server","host":"","port":"8000","datamode":"single","datatype":"utf8","newline":",","topic":"ispindel","base64":false,"x":260,"y":180,"wires":[["5437273d.655108"]]},{"id":"5437273d.655108","type":"json","z":"5fb06585.b18e3c","name":"","property":"payload","action":"","pretty":false,"x":410,"y":180,"wires":[["23e907e9.499f88"]]},{"id":"cc8a9348.c37fc","type":"ui_chart","z":"5fb06585.b18e3c","name":"","group":"3c56cab6.f8daa6","order":1,"width":"19","height":"9","label":"Gravity ºP and Temperature ºC","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#e53b3c","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":990,"y":300,"wires":[[],[]]},{"id":"23e907e9.499f88","type":"function","z":"5fb06585.b18e3c","name":"Split data","func":"\nvar keys = Object.keys(msg.payload);\n\nvar msgs = keys.map(function(key) {\n    return { topic: key, payload: msg.payload[key] };\n});\nreturn [msgs];\n","outputs":1,"noerr":0,"x":560,"y":180,"wires":[["42bd2d4d.d55214","619061d6.b0969"]]},{"id":"42bd2d4d.d55214","type":"switch","z":"5fb06585.b18e3c","name":"router","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"angle","vt":"str"},{"t":"eq","v":"temperature","vt":"str"},{"t":"eq","v":"gravity","vt":"str"},{"t":"eq","v":"battery","vt":"str"},{"t":"eq","v":"RSSI","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":610,"y":320,"wires":[["e48fcfc2.bf7cb"],["cc8a9348.c37fc"],["cc8a9348.c37fc"],["a76627f8.b9ce08"],[]]},{"id":"a76627f8.b9ce08","type":"ui_gauge","z":"5fb06585.b18e3c","name":"","group":"3c56cab6.f8daa6","order":2,"width":"5","height":"4","gtype":"gage","title":"Battery","label":"V","format":"{{value | number:2}}","min":0,"max":"4.2","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":920,"y":360,"wires":[]},{"id":"196034f0.b827db","type":"inject","z":"5fb06585.b18e3c","name":"Clean Dashboard","topic":"","payload":"[]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":580,"y":400,"wires":[["cc8a9348.c37fc","a76627f8.b9ce08"]]},{"id":"619061d6.b0969","type":"debug","z":"5fb06585.b18e3c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":930,"y":180,"wires":[]},{"id":"e48fcfc2.bf7cb","type":"ui_gauge","z":"5fb06585.b18e3c","name":"","group":"3c56cab6.f8daa6","order":2,"width":"5","height":"4","gtype":"gage","title":"Angle","label":"V","format":"{{value | number:2}}","min":0,"max":"90","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":910,"y":240,"wires":[]},{"id":"3c56cab6.f8daa6","type":"ui_group","z":"","name":"Ispindel","tab":"54c830f4.f2f9d","disp":true,"width":"24","collapse":false},{"id":"54c830f4.f2f9d","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]

Flow Info

Created 6 years, 6 months ago
Updated 5 years, 11 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • debug (x1)
  • function (x1)
  • inject (x1)
  • json (x1)
  • switch (x1)
  • tcp in (x1)
Other
  • ui_chart (x1)
  • ui_gauge (x2)
  • ui_group (x1)
  • ui_tab (x1)

Tags

  • iSpindel
  • beer
  • brewing
  • gravity
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option