Custom widget
- 
 how do I get all decimals? I'd like the Temperature to show for example "23.45°C" I guess it is limitation of http://bernii.github.io/gauge.js/dist/gauge.min.js or we may have some option to show decimal points. Kindly refer http://bernii.github.io/gauge.js 
- 
 Nope, Gauge handles decimals and negative values just fine. See here: 
 http://jsfiddle.net/berni/smNjl/
- 
 Can you try this line gauge.set(${temperatureSen.value}); // set actual valuewith this, gauge.set(parseFloat(${temperatureSen.value})); // set actual value
- 
 @jkandasa said: gauge.set(parseFloat(${temperatureSen.value})); Solution was little more complicated: <div id="wrapper" style="text-align: center"> <canvas id="my-gauge-${uuid}" style="display: inline-block;"></canvas> <div style="font-size:21px" id="textfield--${uuid}"></div> </div> <script> var CustomTextRenderer = function(el){ this.el = el; this.render = function(gauge) { this.el.innerHTML = gauge.displayedValue.toPrecision(3); } } CustomTextRenderer.prototype = new TextRenderer(); var cs = new CustomTextRenderer(document.getElementById("textfield--${uuid}")); var opts = { lines: 32, angle: 0, lineWidth: 0.24, pointer: { length: 0.9, strokeWidth: 0.035, color: '#000066' }, limitMax: 'false', percentColors: [[0.0, "#2B31CF" ], [0.60, "#37CF32"], [1.0, "#ff0000"]], strokeColor: '#E0E0E0', generateGradient: true }; var target = document.getElementById('my-gauge-${uuid}'); var gauge = new Gauge(target).setOptions(opts); gauge.animationSpeed = 3; gauge.maxValue = 40.0; gauge.setMinValue(-30.0); gauge.setTextField(new CustomTextRenderer(document.getElementById("textfield--${uuid}"))) gauge.set(${temperatureSen.value}); </script>
- 
 Hi all, 
 Brilliant program @jkandasa , I'm having some issues with the gauge display, I don't see the gauge when I test the template. I'm using Firefox, cleared the history and cache. even tried it with Microsoft Edge, but my gauge does not display. Rebooted the RaspBerry PI as well, I don't see any errors in the logs etc, could someone point me in the right direction please, see screenshots below
 Regards     
- 
 The location of the gauge.min.js 
  
- 
 @esawyja You have to add gauge.min.jsas mentioned here,
 . Once done, reload your browser. 
- 
 Hi 
 Sorry yes I did, I just forgot to include the screenshot, still not seeing the gauge, any other suggestions please 
- 
 @esawyja can you post your gauge HTML template and javaScript code? 
- 
 Sure, see below 
  Below is the template file <div id="wrapper" style="text-align: center"> <canvas id="my-gauge-${uuid}" style="display: inline-block;"></canvas> <div style="font-size:21px" id="textfield--${uuid}"></div> </div> <script> var CustomTextRenderer = function(el){ this.el = el; this.render = function(gauge) { this.el.innerHTML = gauge.displayedValue.toPrecision(3); } } CustomTextRenderer.prototype = new TextRenderer(); var cs = new CustomTextRenderer(document.getElementById("textfield--${uuid}")); var opts = { lines: 32, angle: 0, lineWidth: 0.24, pointer: { length: 0.9, strokeWidth: 0.035, color: '#000066' }, limitMax: 'false', percentColors: [[0.0, "#2B31CF" ], [0.60, "#37CF32"], [1.0, "#ff0000"]], strokeColor: '#E0E0E0', generateGradient: true }; var target = document.getElementById('my-gauge-${uuid}'); var gauge = new Gauge(target).setOptions(opts); gauge.animationSpeed = 3; gauge.maxValue = 40.0; gauge.setMinValue(-30.0); gauge.setTextField(new CustomTextRenderer(document.getElementById("textfield--${uuid}"))) gauge.set(${temperatureSen.value}); </script>
- 
 @esawyja I use this lib and works as expected for your script, https://cdnjs.cloudflare.com/ajax/libs/gauge.js/1.2.1/gauge.min.js 
- 
 mmmh ok, then it must be something else 
  Still getting nothing 
  Even using Microsoft edge after clearing browser cache, history etc 
  
- 
 This is how I clear the cache  
- 
 @esawyja I have updated this script on our demo server too. You can have a look at http://demo.mycontroller.org/#/dashboard, you can see a dashboard named esawyjaSteps: - Create UID tag for your temperature sensor
- Create Javascript to return value to HTML template
- Create HTML template
- Add you javaScript on script files, reload MC server page on your browser
- Create custom widget with template(step#3) and script(step#2), done!  
 IMPORTANT: I believe you are with latest SNAPSHOT version. 
- 
 aaah ok, so it is something on my computer locally, do you need any external programs etc to display this, I don't see the gauge on the demo server either  
- 
 @esawyja Yes, I see the issue with firefox. I am most of the time with google chrome, hence did not notice this issue. Thank you for your patience. I will check why this is not happening in FF browser. 
- 
 No thank you for the wonderful support, let me download Chrome and see what happens 
- 
 Ok confirmed, issue is with FF, works with Chrome  
- 
 @esawyja Created a ticket to track this issue https://github.com/mycontroller-org/mycontroller/issues/338 
- 
 Thank you!!!