diff --git a/lib/plugins/bgnow.js b/lib/plugins/bgnow.js index b57796d10f2..35b96c024b4 100644 --- a/lib/plugins/bgnow.js +++ b/lib/plugins/bgnow.js @@ -166,6 +166,11 @@ function init (ctx) { delta.mean5MinsAgo = delta.interpolated ? recent.mean - delta.absolute / delta.elapsedMins * 5 : recent.mean - delta.absolute; + delta.times = { + recent: recent.mills + , previous: previous.mills + }; + delta.mgdl = Math.round(recent.mean - delta.mean5MinsAgo); delta.scaled = sbx.settings.units === 'mmol' ? @@ -254,6 +259,31 @@ function init (ctx) { }); }; + function virtAsstDelta(next, slots, sbx) { + var delta = sbx.properties.delta; + + next( + translate('virtAsstTitleDelta') + , translate(delta.interpolated ? 'virtAsstDeltaEstimated' : 'virtAsstDelta' + , { + params: [ + delta.display == '+0' ? '0' : delta.display + , moment(delta.times.recent).from(moment(sbx.time)) + , moment(delta.times.previous).from(moment(sbx.time)) + ] + } + ) + ); + } + + bgnow.virtAsst = { + intentHandlers: [{ + intent: "MetricNow" + , metrics: ["delta"] + , intentHandler: virtAsstDelta + }] + }; + return bgnow; } diff --git a/lib/plugins/virtAsstBase.js b/lib/plugins/virtAsstBase.js index 781f56969cf..591bc5a24b9 100644 --- a/lib/plugins/virtAsstBase.js +++ b/lib/plugins/virtAsstBase.js @@ -58,26 +58,6 @@ function init(env, ctx) { callback(translate('virtAsstTitleCurrentBG'), status); }); }, ['bg', 'blood glucose', 'number']); - - // blood sugar delta - configuredPlugin.configureIntentHandler('MetricNow', function (callback, slots, sbx) { - if (sbx.properties.delta && sbx.properties.delta.display) { - entries.list({count: 2}, function(err, records) { - callback( - translate('virtAsstTitleDelta'), - translate('virtAsstDelta', { - params: [ - sbx.properties.delta.display == '+0' ? '0' : sbx.properties.delta.display, - moment(records[0].date).from(moment(sbx.time)), - moment(records[1].date).from(moment(sbx.time)) - ] - }) - ); - }); - } else { - callback(translate('virtAsstTitleDelta'), translate('virtAsstUnknown')); - } - }, ['delta']); }; virtAsstBase.setupVirtAsstHandlers = function (configuredPlugin) { diff --git a/translations/en/en.json b/translations/en/en.json index 5a54777cc9f..1d649d57455 100644 --- a/translations/en/en.json +++ b/translations/en/en.json @@ -612,6 +612,7 @@ ,"virtAsstCGMBattOne":"Your CGM battery was %1 volts as of %2." ,"virtAsstCGMBattTwo":"Your CGM battery levels were %1 volts and %2 volts as of %3." ,"virtAsstDelta":"Your delta was %1 between %2 and %3." + ,"virtAsstDeltaEstimated": "Your estimated delta was %1 between %2 and %3." ,"virtAsstUnknownIntentTitle":"Unknown Intent" ,"virtAsstUnknownIntentText":"I'm sorry, I don't know what you're asking for." ,"Fat [g]":"Fat [g]"