It is currently April 25th, 2024, 5:03 am

dexcom glucose skin.

Get help with creating, editing & fixing problems with skins
mitafax
Posts: 9
Joined: September 13th, 2013, 2:12 am

dexcom glucose skin.

Post by mitafax »

i recently came across a skin that will display your glucose values here:

https://www.reddit.com/r/diabetes/comments/hbxmza/rainmeter_dexcom_sugarmate_desktop_skin/

i was able to make a pretty decent mod to what i wanted and almost finished my customization. the problem is sugarmate changed from a sort of simple JSON to an API page that i'm not even sure contains the information i want.
i.e. glucose reading/trend/delta/ blah blah etc.( a few more details.)
the original skin from turtledave had a reg exp like this.

RegExp=(?siU)value":(.*),.*time":(.*),.*trend":(.*),.*trend_symbol":(.*),.*delta":(.*),.*units":(.*),.*reading":(.*)

my plan was to use the webparse to generate my webparser dump to find this on the api site and just modify mine as needed for bangs to show/hide the arrow.png's and text like the current blood sugar reading.

The problem is i can't find any of the terms in this new site parser dump. I am totally noob with this but if someone can look at the text dump and tell me if this api will have the same usable data or point me to another command if necessary, it would be a heck of a start. if you want to check out the actual site i don't know if you can generate a webparser dump without having a dexcom (gluecose sensor) though. If you need tho the site is:

https://sugarmate.io/nightstand

for me it generates this page. (attached new api site ex.jpg)
You do not have the required permissions to view the files attached to this post.
mitafax
Posts: 9
Joined: September 13th, 2013, 2:12 am

Re: dexcom glucose skin.

Post by mitafax »

sorry the webparser dump didn't load.
mitafax
Posts: 9
Joined: September 13th, 2013, 2:12 am

Re: dexcom glucose skin.

Post by mitafax »

ok i will put the webparser text dump in here if it works.

Code: Select all

<!DOCTYPE html>
<html>
<head>
<script>window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"cdebffb89d","applicationID":"48723384","transactionName":"cAxWTBRbXV4AQBhXWlYCSlkIV1RtCkRSRkRaB10XFVFCQQxdWUcZXQZP","queueTime":3,"applicationTime":11,"agent":""}</script>
<script>(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"cdebffb89d",applicationID:"48723384"};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var i=e[n]={exports:{}};t[n][0].call(i.exports,function(e){var i=t[n][1][e];return r(i||e)},i,i.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var i=0;i<n.length;i++)r(n[i]);return r}({1:[function(t,e,n){function r(){}function i(t,e,n,r){return function(){return s.recordSupportability("API/"+e+"/called"),o(t+e,[u.now()].concat(c(arguments)),n?null:this,r),n?void 0:this}}var o=t("handle"),a=t(10),c=t(11),f=t("ee").get("tracer"),u=t("loader"),s=t(4),d=NREUM;"undefined"==typeof window.newrelic&&(newrelic=d);var p=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",v=l+"ixn-";a(p,function(t,e){d[e]=i(l,e,!0,"api")}),d.addPageAction=i(l,"addPageAction",!0),d.setCurrentRouteName=i(l,"routeName",!0),e.exports=newrelic,d.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(t,e){var n={},r=this,i="function"==typeof e;return o(v+"tracer",[u.now(),t,n],r),function(){if(f.emit((i?"":"no-")+"fn-start",[u.now(),r,i],n),i)try{return e.apply(this,arguments)}catch(t){throw f.emit("fn-err",[arguments,this,t],n),t}finally{f.emit("fn-end",[u.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){m[e]=i(v,e)}),newrelic.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),s.recordSupportability("API/noticeError/called"),o("err",[t,u.now(),!1,e])}},{}],2:[function(t,e,n){function r(t){if(NREUM.init){for(var e=NREUM.init,n=t.split("."),r=0;r<n.length-1;r++)if(e=e[n[r]],"object"!=typeof e)return;return e=e[n[n.length-1]]}}e.exports={getConfiguration:r}},{}],3:[function(t,e,n){var r=!1;try{var i=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(o){}e.exports=function(t){return r?{passive:!0,capture:!!t}:!!t}},{}],4:[function(t,e,n){function r(t,e){var n=[a,t,{name:t},e];return o("storeMetric",n,null,"api"),n}function i(t,e){var n=[c,t,{name:t},e];return o("storeEventMetrics",n,null,"api"),n}var o=t("handle"),a="sm",c="cm";e.exports={constants:{SUPPORTABILITY_METRIC:a,CUSTOM_METRIC:c},recordSupportability:r,recordCustom:i}},{}],5:[function(t,e,n){function r(){return c.exists&&performance.now?Math.round(performance.now()):(o=Math.max((new Date).getTime(),o))-a}function i(){return o}var o=(new Date).getTime(),a=o,c=t(12);e.exports=r,e.exports.offset=a,e.exports.getLastTimestamp=i},{}],6:[function(t,e,n){function r(t){return!(!t||!t.protocol||"file:"===t.protocol)}e.exports=r},{}],7:[function(t,e,n){function r(t,e){var n=t.getEntries();n.forEach(function(t){"first-paint"===t.name?p("timing",["fp",Math.floor(t.startTime)]):"first-contentful-paint"===t.name&&p("timing",["fcp",Math.floor(t.startTime)])})}function i(t,e){var n=t.getEntries();if(n.length>0){var r=n[n.length-1];if(f&&f<r.startTime)return;p("lcp",[r])}}function o(t){t.getEntries().forEach(function(t){t.hadRecentInput||p("cls",[t])})}function a(t){if(t instanceof g&&!y){var e=Math.round(t.timeStamp),n={type:t.type};e<=l.now()?n.fid=l.now()-e:e>l.offset&&e<=Date.now()?(e-=l.offset,n.fid=l.now()-e):e=l.now(),y=!0,p("timing",["fi",e,n])}}function c(t){"hidden"===t&&(f=l.now(),p("pageHide",[f]))}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var f,u,s,d,p=t("handle"),l=t("loader"),v=t(9),m=t(3),g=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){u=new PerformanceObserver(r);try{u.observe({entryTypes:["paint"]})}catch(h){}s=new PerformanceObserver(i);try{s.observe({entryTypes:["largest-contentful-paint"]})}catch(h){}d=new PerformanceObserver(o);try{d.observe({type:"layout-shift",buffered:!0})}catch(h){}}if("addEventListener"in document){var y=!1,w=["click","keydown","mousedown","pointerdown","touchstart"];w.forEach(function(t){document.addEventListener(t,a,m(!1))})}v(c)}},{}],8:[function(t,e,n){function r(t,e){if(!i)return!1;if(t!==i)return!1;if(!e)return!0;if(!o)return!1;for(var n=o.split("."),r=e.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var i=null,o=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var c=navigator.userAgent,f=c.match(a);f&&c.indexOf("Chrome")===-1&&c.indexOf("Chromium")===-1&&(i="Safari",o=f[1])}e.exports={agent:i,version:o,match:r}},{}],9:[function(t,e,n){function r(t){function e(){t(c&&document[c]?document[c]:document[o]?"hidden":"visible")}"addEventListener"in document&&a&&document.addEventListener(a,e,i(!1))}var i=t(3);e.exports=r;var o,a,c;"undefined"!=typeof document.hidden?(o="hidden",a="visibilitychange",c="visibilityState"):"undefined"!=typeof document.msHidden?(o="msHidden",a="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(o="webkitHidden",a="webkitvisibilitychange",c="webkitVisibilityState")},{}],10:[function(t,e,n){function r(t,e){var n=[],r="",o=0;for(r in t)i.call(t,r)&&(n[o]=e(r,t[r]),o+=1);return n}var i=Object.prototype.hasOwnProperty;e.exports=r},{}],11:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(i<0?0:i);++r<i;)o[r]=t[e+r];return o}e.exports=r},{}],12:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(t,e,n){function r(){}function i(t){function e(t){return t&&t instanceof r?t:t?u(t,f,a):a()}function n(n,r,i,o,a){if(a!==!1&&(a=!0),!l.aborted||o){t&&a&&t(n,r,i);for(var c=e(i),f=m(n),u=f.length,s=0;s<u;s++)f[s].apply(c,r);var p=d[w[n]];return p&&p.push([b,n,r,c]),c}}function o(t,e){y[t]=m(t).concat(e)}function v(t,e){var n=y[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function m(t){return y[t]||[]}function g(t){return p[t]=p[t]||i(n)}function h(t,e){l.aborted||s(t,function(t,n){e=e||"feature",w[n]=e,e in d||(d[e]=[])})}var y={},w={},b={on:o,addEventListener:o,removeEventListener:v,emit:n,get:g,listeners:m,context:e,buffer:h,abort:c,aborted:!1};return b}function o(t){return u(t,f,a)}function a(){return new r}function c(){(d.api||d.feature)&&(l.aborted=!0,d=l.backlog={})}var f="nr@context",u=t("gos"),s=t(10),d={},p={},l=e.exports=i();e.exports.getOrSetContext=o,l.backlog=d},{}],gos:[function(t,e,n){function r(t,e,n){if(i.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(o){}return t[e]=r,r}var i=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){i.buffer([t],r),i.emit(t,e,n)}var i=t("ee").get("handle");e.exports=r,r.ee=i},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,o,function(){return i++})}var i=1,o="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!T++){var t=P.info=NREUM.info,e=g.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return u.abort();f(O,function(e,n){t[e]||(t[e]=n)});var n=a();c("mark",["onload",n+P.offset],null,"api"),c("timing",["load",n]);var r=g.createElement("script");0===t.agent.indexOf("http://")||0===t.agent.indexOf("https://")?r.src=t.agent:r.src=v+"://"+t.agent,e.parentNode.insertBefore(r,e)}}function i(){"complete"===g.readyState&&o()}function o(){c("mark",["domContent",a()+P.offset],null,"api")}var a=t(5),c=t("handle"),f=t(10),u=t("ee"),s=t(8),d=t(6),p=t(2),l=t(3),v=p.getConfiguration("ssl")===!1?"http":"https",m=window,g=m.document,h="addEventListener",y="attachEvent",w=m.XMLHttpRequest,b=w&&w.prototype,E=!d(m.location);NREUM.o={ST:setTimeout,SI:m.setImmediate,CT:clearTimeout,XHR:w,REQ:m.Request,EV:m.Event,PR:m.Promise,MO:m.MutationObserver};var x=""+location,O={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1212.min.js"},M=w&&b&&b[h]&&!/CriOS/.test(navigator.userAgent),P=e.exports={offset:a.getLastTimestamp(),now:a,origin:x,features:{},xhrWrappable:M,userAgent:s,disabled:E};if(!E){t(1),t(7),g[h]?(g[h]("DOMContentLoaded",o,l(!1)),m[h]("load",r,l(!1))):(g[y]("onreadystatechange",i),m[y]("onload",r)),c("mark",["firstbyte",a.getLastTimestamp()],null,"api");var T=0}},{}],"wrap-function":[function(t,e,n){function r(t,e){function n(e,n,r,f,u){function nrWrapper(){var o,a,s,p;try{a=this,o=d(arguments),s="function"==typeof r?r(o,a):r||{}}catch(l){i([l,"",[o,a,f],s],t)}c(n+"start",[o,a,f],s,u);try{return p=e.apply(a,o)}catch(v){throw c(n+"err",[o,a,v],s,u),v}finally{c(n+"end",[o,a,p],s,u)}}return a(e)?e:(n||(n=""),nrWrapper[p]=e,o(e,nrWrapper,t),nrWrapper)}function r(t,e,r,i,o){r||(r="");var c,f,u,s="-"===r.charAt(0);for(u=0;u<e.length;u++)f=e[u],c=t[f],a(c)||(t[f]=n(c,s?f+r:r,i,f,o))}function c(n,r,o,a){if(!v||e){var c=v;v=!0;try{t.emit(n,r,o,e,a)}catch(f){i([f,n,r,o],t)}v=c}}return t||(t=s),n.inPlace=r,n.flag=p,n}function i(t,e){e||(e=s);try{e.emit("internal-error",t)}catch(n){}}function o(t,e,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(t);return r.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(o){i([o],n)}for(var a in t)l.call(t,a)&&(e[a]=t[a]);return e}function a(t){return!(t&&t instanceof Function&&t.apply&&!t[p])}function c(t,e){var n=e(t);return n[p]=t,o(t,n,s),n}function f(t,e,n){var r=t[e];t[e]=c(r,n)}function u(){for(var t=arguments.length,e=new Array(t),n=0;n<t;++n)e[n]=arguments[n];return e}var s=t("ee"),d=t(11),p="nr@original",l=Object.prototype.hasOwnProperty,v=!1;e.exports=r,e.exports.wrapFunction=c,e.exports.wrapInPlace=f,e.exports.argsToArray=u},{}]},{},["loader"]);</script>
  <!-- /u/sugarmate-app is an official Reddit account -->
  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-141185930-1"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-141185930-1');    

    function trackEmbed(action, deviceCode) { gtag('event', action, { 'event_category': 'Embed: ' + deviceCode, 'event_label': 'Sugarmate: ' + action, 'value': 1 }); }
  </script>


    
  <link rel="stylesheet" media="screen" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css" />
  <link rel="stylesheet" media="screen" href="/packs/css/stylesheets-bfa6db13.css" />  
  <meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="hbu6XyTBfW/aYB+uUMQS3tn7fqf4RermI6PPzKZ3CZVJj6kcnlGMcM8KobfrYg0DW3TPCAs894lEriF+R0eKrQ==" />
  <meta name="action-cable-url" content="wss://sugarmate.io/cable" />
  
  <link id="favicon" rel="icon" type="image/png" sizes="96x96" href="/favicon.png">
  <meta name="viewport" content="initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,width=device-width,user-scalable=no,viewport-fit=cover,minimal-ui" />

  <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="Sugarmate">
<meta name="theme-color" content="#212121">

<link rel="manifest" href="/manifest.json">

<link rel="apple-touch-icon" href="/webicon.png"> 

<!-- 12.9" iPad Pro (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/2048x2692.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- 12.9" iPad Pro (landscape) -->
<link href="/launch/2732x2048.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- 10.5" iPad Pro (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/1668x2184.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- 10.5" iPad Pro (landscape) -->
<link href="/launch/2224x1668.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- 9.7" iPad (portrait) -->
<!-- 7.9" iPad mini 4 (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/1536x2008.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- 9.7" iPad (landscape) -->
<!-- 7.9" iPad mini 4 (landscape) -->
<link href="/launch/2048x1536.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 8 Plus (portrait) -->
<!-- 20pt, 60px -->
<link href="/launch/1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 8 Plus (landscape) -->
<link href="/launch/2208x1242.png" media="(device-width: 414px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 8 (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 8 (landscape) -->
<link href="/launch/1334x750.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 7 Plus (portrait) -->
<!-- 20pt, 60px -->
<link href="/launch/1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 7 Plus (landscape) -->
<link href="/launch/2208x1242.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 7 (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 7 (landscape) -->
<link href="/launch/1334x750.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 6s Plus (portrait) -->
<!-- 20pt, 60px -->
<link href="/launch/1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 6s Plus (landscape) --> 
<link href="/launch/2208x1242.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone 6s (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone 6s (landscape) -->
<link href="/launch/1334x750.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- iPhone SE (portrait) -->
<!-- 20pt, 40px -->
<link href="/launch/640x1096.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone SE (landscape) -->
<link href="/launch/1136x640.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image">

<!-- TBD -->

<!-- iPhone X (portrait) -->
<!-- 44pt notch, 132px -->
<link href="/launch/1125x2304.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image">

<!-- iPhone X (landscape) -->
<!-- adjust width? -->
<link href="/launch/2436x1125.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image">

  <title>Sugarmate</title>


    <meta property="og:site_name" content="sugarmate" />
    <link rel="canonical" href="https://sugarmate.io/" />
    <meta property="og:url" content="https://sugarmate.io/" />
    <meta property="og:image" content="https://sugarmate.io/packs/media/images/logo-7d491f527908a2d50467bdbad815ab96.png" />
    <meta property="og:image:secure_url" content="https://sugarmate.io/packs/media/images/logo-7d491f527908a2d50467bdbad815ab96.png" /> 
    <meta property="og:image:type" content="image/png" />
    <meta property="og:image:width" content="1200" /> 
    <meta property="og:image:height" content="630" />
    
    <meta name="google-site-verification" content="fyosHzKitsMkm0HeYenEnnjfv1hGXd0qmuspZXkqIUk" />
    
    <meta name="turbolinks-cache-control" content="no-preview">
     
    <meta name="description" content="Sugarmate: a companion app for users of the Dexcom G5/G6 continuous glucose monitoring (CGM) system, featuring Apple Watch integration, nutritional information lookup, new alerts, and more." />

    <meta name="keywords" content="dexcom,g6,g5,g4,share,follow,nightscout,cgm,diabetes,monitor,blood sugar,glucose monitor,glucose monitoring,glucose,sugar,apple watch,nutrition" />
    
    <meta name="twitter:description" content="Sugarmate: a companion app for users of the Dexcom G5/G6 continuous glucose monitoring (CGM) system, featuring Apple Watch integration, nutritional information lookup, new alerts, and more." />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:site" content="@SugarmateApp" />
    <meta name="twitter:creator" content="@SugarmateApp" />
    <meta name="twitter:title" content="Sugarmate" />
    <meta name="twitter:image" content="https://sugarmate.io/packs/media/images/logo-7d491f527908a2d50467bdbad815ab96.png" />  

    <meta property="og:title" content="Sugarmate" />
    <meta property="og:description" content="Sugarmate: a companion app for users of the Dexcom G5/G6 continuous glucose monitoring (CGM) system, featuring Apple Watch integration, nutritional information lookup, new alerts, and more." />
    <meta property="og:image" content="https://sugarmate.io/packs/media/images/logo-7d491f527908a2d50467bdbad815ab96.png" />    
    <meta property="og:type" content="website" />    
</head>
<body class="    clearance_override_sessions-new">
  

  <div id="header">
    <div class="inner">
        <span class="header-button header-left"></span>

      <div id="reading">
        <a class="logo-wrap" href="/?_">
          <img class="logo" src="/packs/media/images/sugarmate-4e5f44612e452d4efa53658ca6373e04.png" />
          <h1>sugarmate</h1>
</a>      </div>

        <div class="signin header-button header-right"></div>
    </div>

  </div>
  <div id="lower-header"></div>

  <div class="innerBody">
    <script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script><script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="//cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script>
<link href="//cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css" type="text/css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js" type="text/javascript" charset="utf-8"></script>

<script>
  hideMenu = function() {
    $("#hamburger-menu").animate({ left: '-1000px'}, 200);
    $("#click-bg").hide();
  }

  showMenu = function() {
    $("#hamburger-menu").animate({ left: '0px'}, 200);
    $("#click-bg").show();
  }

  showLoading = function(item) {          
    $(item).after($("<span class='submit_loading'><span><span class='glyphicon glyphicon-refresh spinning'></span></span></span>"));    
    $(item).hide();

    setTimeout(function() {
      $(item).closest('form').submit();
    }, 200);
  }

  getTimezoneInt = function() {
    var tz = moment().format("Z").split(":");
    return ( Math.abs(parseInt(tz[0])) + (parseInt(tz[1])/60) ) * (parseInt(tz[0]) > 0 ? 1 : -1);
  }

  triggerResize = function(id) {
    var event = new MouseEvent('resize', {
      'view': window,
      'bubbles': true,
      'cancelable': true
    });

    return $('.innerBody')[0].dispatchEvent(event);
  }

  loadStandaloneCookies = function() {
    if (!!localStorage && window.navigator.standalone) {
      if (Object.keys(Cookies.get()).length == 0) {      
        var cookies = JSON.parse(localStorage.getItem('cookies'));
        if (Object.keys(cookies).length > 0) {
          $.each(Object.keys(cookies), function(i, key) {
            saveCookie(key, cookies[key]);
          });
          window.location.href = "/home";
        }
      }
    }    
  }

  macResize = function(height) {
    try {
      webkit.messageHandlers.callbackHandler.postMessage({ action: 'window-size', data: { type: 'show', height: height } });
    } catch(err) {
    };
  }
  
  $("#hamburger-button").on('click', function() { showMenu(); });
  $("#click-bg").on("click", function() {
    hideMenu();
  });
</script>



<script>
  loadStandaloneCookies();
</script>

<div id="clearance" class="sign-in">
  <h2>Sign in</h2>

  <div id="flash">
  </div>

  <script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script><script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="//cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script>
<link href="//cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css" type="text/css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js" type="text/javascript" charset="utf-8"></script>

<script>
  hideMenu = function() {
    $("#hamburger-menu").animate({ left: '-1000px'}, 200);
    $("#click-bg").hide();
  }

  showMenu = function() {
    $("#hamburger-menu").animate({ left: '0px'}, 200);
    $("#click-bg").show();
  }

  showLoading = function(item) {          
    $(item).after($("<span class='submit_loading'><span><span class='glyphicon glyphicon-refresh spinning'></span></span></span>"));    
    $(item).hide();

    setTimeout(function() {
      $(item).closest('form').submit();
    }, 200);
  }

  getTimezoneInt = function() {
    var tz = moment().format("Z").split(":");
    return ( Math.abs(parseInt(tz[0])) + (parseInt(tz[1])/60) ) * (parseInt(tz[0]) > 0 ? 1 : -1);
  }

  triggerResize = function(id) {
    var event = new MouseEvent('resize', {
      'view': window,
      'bubbles': true,
      'cancelable': true
    });

    return $('.innerBody')[0].dispatchEvent(event);
  }

  loadStandaloneCookies = function() {
    if (!!localStorage && window.navigator.standalone) {
      if (Object.keys(Cookies.get()).length == 0) {      
        var cookies = JSON.parse(localStorage.getItem('cookies'));
        if (Object.keys(cookies).length > 0) {
          $.each(Object.keys(cookies), function(i, key) {
            saveCookie(key, cookies[key]);
          });
          window.location.href = "/home";
        }
      }
    }    
  }

  macResize = function(height) {
    try {
      webkit.messageHandlers.callbackHandler.postMessage({ action: 'window-size', data: { type: 'show', height: height } });
    } catch(err) {
    };
  }
  
  $("#hamburger-button").on('click', function() { showMenu(); });
  $("#click-bg").on("click", function() {
    hideMenu();
  });
</script>



<form action="/sessions" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="JxSf5Vemb1bs/I9wxt+MXcIOBoKqeqjIK7jdpYbwiYPclCmdP8YWLKZuPuA+zmmv32iiZ9iRgccMroqvkCdzKg==" />
  <div class="text-field">
    <input type="email" placeholder="email address" name="session[email]" id="session_email" />
  </div>

  <div class="password-field">
    <input placeholder="password" type="password" name="session[password]" id="session_password" />
  </div>

  <input type="hidden" name="session[tz]" id="session_tz" />
  
  <div class="other-links">
      <a href="/sign_up">Sign up</a>
    <a href="/passwords/new">Forgot password?</a>
  </div>

  <div class="submit-field">
    <input type="submit" name="commit" value="Next" onclick="showLoading(this); return false;" data-disable-with="Next" />
  </div>  
</form><script>
  $(document).ready(function() {
    $('input[type=email]').focus();
    $("#session_tz").val(getTimezoneInt());
  });
</script>
</div>

  </div> <!-- end of innerBody -->

  <script src="/packs/js/application-ad0c6956bfe511bf81c9.js"></script>
</body>
</html>
Last edited by eclectic-tech on December 13th, 2021, 4:01 am, edited 1 time in total.
Reason: Please use the code tag </> when posting long codes.
364def49db
Posts: 9
Joined: December 19th, 2021, 3:12 am

Re: dexcom glucose skin.

Post by 364def49db »

I'm finding that Sugarmate will simply not work anymore since using the new Dexcom Web API. I believe they have cut off and want to limit the way you are able to access the data. I am by no means a programmer, but I have thought about looking into the Dexcom Web API to see about building something with Rainmeter.

However, if you are running Nightscout, I have found a way to display you glucose back on your computer. Its in its real early stages as I want to add some color features as well as some time checks but you can find it at https://github.com/MrJordanRoth/NS2Win/blob/main/NS2Win.ini if you wanted to take a peek.

P.S. The biggest issue I'm running into is how to subtract two epoch times and display the difference = say 5 mins etc.
mitafax
Posts: 9
Joined: September 13th, 2013, 2:12 am

Re: dexcom glucose skin.

Post by mitafax »

i will definitely check out nightscout and your link. This skin was a life changer for me too bad they did away with the data.

thank you very much!
364def49db
Posts: 9
Joined: December 19th, 2021, 3:12 am

Re: dexcom glucose skin.

Post by 364def49db »

You're welcome, I will be updating the code as I get some time too.
364def49db
Posts: 9
Joined: December 19th, 2021, 3:12 am

Re: dexcom glucose skin.

Post by 364def49db »

I've updated the Skin, and the latest is on GitHub.